:root{--color-primary: #FF8A65;--color-primary-50: #FFF0EA;--color-primary-100: #FFD7C4;--color-primary-500: #FF8A65;--color-primary-600: #F4704B;--color-primary-700: #D85A36;--color-secondary: #4FC3F7;--color-secondary-50: #E8F6FC;--color-secondary-500: #4FC3F7;--color-secondary-600: #2FA8DE;--color-secondary-700: #1F8BC0;--color-accent: #FFD54F;--color-accent-soft: #FFE9A8;--color-accent-strong: #F9A825;--color-success: #81C784;--color-success-strong: #4CAF50;--color-warning: #FFB74D;--color-danger: #EF5350;--color-danger-strong: #D32F2F;--neutral-50: #FFFDF6;--neutral-100: #FFF7E6;--neutral-200: #F6EAD0;--neutral-300: #E6D2AE;--neutral-400: #C9AE83;--neutral-500: #A38961;--neutral-600: #7C6544;--neutral-700: #55432B;--neutral-800: #3B2D1A;--neutral-900: #2D1B00;--text-primary: var(--neutral-900);--text-secondary: var(--neutral-600);--text-muted: var(--neutral-500);--text-inverse: #FFFFFF;--text-gold: #B8860B;--bg-app: linear-gradient(165deg, #FFF8E1 0%, #FFEFD0 40%, #FFE0B2 100%);--bg-card: rgba(255, 255, 255, .94);--bg-card-solid: #FFFDF6;--bg-elevated: #FFFFFF;--bg-modal-backdrop: rgba(45, 27, 0, .72);--bg-glass: rgba(255, 255, 255, .82);--bg-glass-strong: rgba(255, 255, 255, .92);--border-default: rgba(45, 27, 0, .08);--border-strong: rgba(45, 27, 0, .16);--border-accent: rgba(255, 183, 77, .45);--border-primary: rgba(255, 138, 101, .45);--shadow-xs: 0 1px 2px rgba(45, 27, 0, .06);--shadow-sm: 0 2px 8px rgba(45, 27, 0, .08);--shadow-md: 0 6px 18px rgba(45, 27, 0, .12);--shadow-lg: 0 16px 40px rgba(45, 27, 0, .22);--shadow-xl: 0 28px 64px rgba(45, 27, 0, .28);--shadow-glow: 0 0 24px rgba(255, 213, 79, .55);--shadow-primary: 0 8px 22px rgba(255, 138, 101, .35);--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-2xl: 28px;--radius-pill: 9999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--text-xs: 11px;--text-sm: 12px;--text-base: 14px;--text-lg: 16px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 32px;--text-4xl: 42px;--weight-regular: 500;--weight-medium: 600;--weight-bold: 800;--weight-black: 900;--leading-tight: 1.15;--leading-normal: 1.4;--leading-relaxed: 1.6;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-fast: .14s;--dur-normal: .22s;--dur-slow: .36s;--font-display: "Quicksand", "Pretendard Variable", "Pretendard", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Noto Sans KR", system-ui, sans-serif;--font-body: "Pretendard Variable", "Pretendard", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Noto Sans KR", system-ui, sans-serif;--font-numeric: var(--font-body);--color-tropical: #00BFA5;--color-tropical-soft: rgba(0, 191, 165, .12);--color-tropical-glow: rgba(0, 191, 165, .35);--surface-card: #FFF8EC;--surface-elevated: #FFFDF8;--z-canvas: 1;--z-hud: 20;--z-hud-badge: 30;--z-pause: 35;--z-cinematic: 60;--z-overlay-effect: 70;--z-modal: 1000;--z-toast: 2000;--z-tutorial: 800}html,body,#app,.scene,button,input{font-family:var(--font-display);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.text-h1{font-size:var(--text-4xl);font-weight:var(--weight-black);line-height:var(--leading-tight);letter-spacing:-.035em;color:var(--text-primary);margin:0}.text-h2{font-size:var(--text-3xl);font-weight:var(--weight-black);line-height:var(--leading-tight);letter-spacing:-.025em;color:var(--text-primary);margin:0}.text-h3{font-size:var(--text-2xl);font-weight:var(--weight-black);line-height:var(--leading-tight);letter-spacing:-.02em;color:var(--text-primary);margin:0}.text-body{font-size:var(--text-base);font-weight:var(--weight-medium);line-height:var(--leading-normal);color:var(--text-primary)}.text-caption{font-size:var(--text-sm);font-weight:var(--weight-bold);line-height:var(--leading-normal);color:var(--text-secondary)}.text-micro{font-size:var(--text-xs);font-weight:var(--weight-bold);line-height:var(--leading-normal);color:var(--text-muted);letter-spacing:.02em}.text-overline{font-size:var(--text-xs);font-weight:var(--weight-black);line-height:1;letter-spacing:.24em;text-transform:uppercase;color:var(--text-muted)}.text-tabular{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" on,"lnum" on}.text-gradient-primary{color:var(--color-primary-700)}.btn-v2{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:44px;padding:0 var(--space-4);border-radius:var(--radius-md);border:1.5px solid transparent;background:transparent;color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--weight-black);letter-spacing:-.01em;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out),filter var(--dur-fast) var(--ease-out);user-select:none;white-space:nowrap}.btn-v2:focus-visible{box-shadow:0 0 0 3px #ff8a6559}.btn-v2:active:not(:disabled){transform:scale(.97);filter:brightness(.96)}.btn-v2:disabled{opacity:.5;cursor:default;filter:saturate(.6)}.btn-v2--primary{background:var(--color-primary);color:var(--text-inverse);border-color:var(--color-primary-700);box-shadow:0 4px 12px #ff8a654d,0 2px 0 var(--color-primary-700)}.btn-v2--secondary{background:var(--color-secondary-500);color:var(--text-inverse);border-color:var(--color-secondary-700);box-shadow:0 4px 12px #4fc3f74d,0 2px 0 var(--color-secondary-700)}.btn-v2--success{background:var(--color-success-strong);color:var(--text-inverse);border-color:#2e7d32;box-shadow:0 4px 12px #4caf504d,0 2px #2e7d32}.btn-v2--accent{background:var(--color-accent-strong);color:var(--text-primary);border-color:#c17900;box-shadow:0 4px 12px #f9a8254d,0 2px #c17900}.btn-v2--ghost{background:#ffffffb3;color:var(--text-primary);border-color:var(--border-default);box-shadow:var(--shadow-xs)}.btn-v2--ghost:hover:not(:disabled){background:#ffffffe6}.btn-v2--outline{background:transparent;color:var(--color-primary-700);border-color:var(--color-primary)}.btn-v2--outline:hover:not(:disabled){background:var(--color-primary-50)}.btn-v2--danger{background:var(--color-danger);color:var(--text-inverse);border-color:var(--color-danger-strong);box-shadow:0 4px 12px #ef53504d,0 2px 0 var(--color-danger-strong)}.btn-v2--lg{height:56px;padding:0 var(--space-5);font-size:var(--text-xl);border-radius:var(--radius-lg)}.btn-v2--sm{height:34px;padding:0 var(--space-3);font-size:var(--text-sm);border-radius:var(--radius-sm)}.btn-v2--block{width:100%}.btn-v2--icon{width:40px;height:40px;padding:0;border-radius:var(--radius-md)}.card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-default);padding:var(--space-4);box-shadow:var(--shadow-sm);transition:transform var(--dur-normal) var(--ease-out),box-shadow var(--dur-normal) var(--ease-out)}.card--elevated{box-shadow:var(--shadow-md)}.card--elevated:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card--glass{background:#ffffffeb;border:1px solid rgba(255,255,255,.6)}.card--accent{border:1.5px solid var(--border-accent);box-shadow:var(--shadow-md),var(--shadow-glow)}.card--gradient-warm{background:linear-gradient(150deg,#fff5e0,#ffe8c8 60%,#ffd9a8);border:1.5px solid rgba(255,183,77,.45)}.card--gradient-cool{background:linear-gradient(150deg,#e8f6fc,#cdebf9);border:1.5px solid rgba(79,195,247,.35)}.card--gradient-purple{background:linear-gradient(150deg,#f2e6fa,#e1bee7 65%,#ce93d8);border:1.5px solid rgba(255,255,255,.55);color:#fff}.result-modal-wrap{position:absolute;inset:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.modal-v2-backdrop{position:fixed;inset:0;background:var(--bg-modal-backdrop);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:var(--space-5) var(--space-4);padding-top:calc(var(--nav-height, 0px) + var(--space-5));z-index:var(--z-modal);opacity:0;animation:modalBackdropIn var(--dur-normal) var(--ease-out) forwards}.modal-v2-panel{position:relative;width:100%;max-width:420px;max-height:90vh;background:#fffdf6;border:1.5px solid rgba(255,255,255,.7);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;overflow:hidden;opacity:0;transform:translateY(18px) scale(.98);animation:modalPanelIn var(--dur-slow) var(--ease-out) forwards;animation-delay:40ms}.modal-v2-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-5) var(--space-3) var(--space-5);position:relative;flex-shrink:0}.modal-v2-header__icon{font-size:34px;line-height:1;filter:drop-shadow(0 4px 10px rgba(255,138,101,.25))}.modal-v2-header__title{flex:1;min-width:0;font-size:var(--text-2xl);font-weight:var(--weight-black);color:var(--text-primary);letter-spacing:-.025em;line-height:1.1}.modal-v2-header__subtitle{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--text-secondary);margin-top:2px;letter-spacing:0}.modal-v2-header__close{display:none}.modal-v2-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 var(--space-5) var(--space-4) var(--space-5)}.modal-v2-body::-webkit-scrollbar{width:6px}.modal-v2-body::-webkit-scrollbar-thumb{background:#2d1b002e;border-radius:3px}.modal-v2-footer{flex-shrink:0;padding:var(--space-3) var(--space-5) var(--space-5) var(--space-5);display:flex;gap:var(--space-2);border-top:1px solid var(--border-default);background:#fff6}@keyframes modalBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes modalPanelIn{0%{opacity:0;transform:translateY(22px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--weight-black);line-height:1.3;background:var(--bg-glass);color:var(--text-primary);border:1px solid var(--border-default)}.badge--gold{background:#ffb300;color:#3d2c00;border-color:#ffb30080}.badge--silver{background:#b0bec5;color:#2d3240;border-color:#9fa8b880}.badge--bronze{background:#a1887f;color:#fff;border-color:#a25d3580}.chip{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:var(--radius-pill);background:#ffffffe0;border:1px solid var(--border-accent);font-size:var(--text-xs);font-weight:var(--weight-black);color:var(--text-primary);font-variant-numeric:tabular-nums;box-shadow:var(--shadow-xs)}.chip--accent{background:#fff3c4;border-color:#f9a82566;color:#7a4a00}.chip--success{background:#dcedc8;border-color:#689f3866;color:#1b5e20}.chip--danger{background:#ffcdd2;border-color:#c6282866;color:#8e1b1b}.chip--primary{background:#ffe0d4;border-color:#f4704b66;color:#7a2a10}.chip--cool{background:#e1f5fe;border-color:#2196f359;color:#0b3e66}.progress{width:100%;height:8px;border-radius:var(--radius-pill);background:#2d1b0014;overflow:hidden}.progress__fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-accent),var(--color-accent-strong));transition:width var(--dur-normal) var(--ease-out)}.progress__fill--primary{background:linear-gradient(90deg,var(--color-primary),var(--color-primary-700))}.progress__fill--success{background:linear-gradient(90deg,#A5D6A7,var(--color-success-strong))}.main-menu-v2{background:radial-gradient(circle at 50% -10%,rgba(255,213,79,.35),transparent 55%),linear-gradient(170deg,#fffdf6,#fff7e6 38%,#ffe8c8 75%,#ffd9a8)}.menu-topbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-4) var(--space-2);flex-shrink:0}.menu-brand{display:flex;align-items:center;gap:6px;font-weight:var(--weight-black);font-size:var(--text-sm);color:var(--text-secondary);letter-spacing:-.01em}.menu-brand__logo{font-size:18px}.menu-body{flex:1;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-2) var(--space-4) var(--space-5);overflow-y:auto;-webkit-overflow-scrolling:touch}.menu-hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:var(--space-3)}.menu-hero__logo{font-size:78px;line-height:1;filter:drop-shadow(0 14px 30px rgba(255,138,101,.4));animation:menuFloat 3.6s var(--ease-in-out) infinite;margin-bottom:var(--space-2)}.menu-hero__title{color:var(--text-primary);font-size:42px;letter-spacing:-.04em}.menu-hero__subtitle{margin-top:2px;color:var(--text-muted)}@keyframes menuFloat{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-8px) rotate(2deg)}}.menu-stats{display:flex;gap:var(--space-2);justify-content:center;flex-wrap:wrap}.menu-today{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-xl)}.menu-today__header{display:flex;align-items:center;justify-content:space-between}.menu-today__title{font-size:var(--text-base);font-weight:var(--weight-black);color:var(--text-primary)}.menu-today__tag{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--text-muted)}.menu-today__row{display:flex;align-items:flex-start;gap:var(--space-3)}.menu-today__icon{font-size:26px;line-height:1;flex-shrink:0;margin-top:2px;filter:drop-shadow(0 4px 8px rgba(255,138,101,.18))}.menu-today__content{flex:1;min-width:0}.menu-today__label{font-size:var(--text-sm);font-weight:var(--weight-black);color:var(--text-primary);display:flex;align-items:center;gap:6px}.menu-today__sub{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--text-secondary);margin-top:2px;line-height:var(--leading-normal)}.menu-today__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-top:8px}.menu-today__counter{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--text-muted)}.menu-today__done{color:var(--color-success-strong);font-size:10px}.menu-today__divider{height:1px;background:linear-gradient(90deg,transparent,rgba(45,27,0,.1),transparent)}.menu-chain{display:flex;gap:4px;margin-top:6px}.menu-chain__dot{flex:1;height:6px;border-radius:var(--radius-pill);background:#2d1b0014;transition:background var(--dur-normal) var(--ease-out)}.menu-chain__dot.is-on{background:linear-gradient(90deg,var(--color-accent),var(--color-accent-strong));box-shadow:0 0 8px #f9a82580}.menu-cta{display:flex;flex-direction:column;gap:var(--space-2)}.exit-confirm-wrap{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding-top:var(--nav-height, 0px);background:#00000080;z-index:var(--z-modal, 1000);animation:fadeIn .2s ease}.exit-confirm-card{background:var(--surface-card, #fff8ec);border-radius:20px;padding:28px 24px 20px;max-width:280px;width:80%;text-align:center;box-shadow:0 16px 48px #0000004d}.exit-confirm-card__title{font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:20px}.exit-confirm-card__buttons{display:flex;gap:10px}.exit-confirm-card__btn{flex:1;padding:12px;border-radius:14px;border:none;font-family:var(--font-display);font-size:14px;font-weight:700;cursor:pointer}.exit-confirm-card__btn--cancel{background:#f9a825;color:var(--text-primary)}.exit-confirm-card__btn--exit{background:#0000000f;color:var(--text-muted)}.menu-sound-bar{display:flex;gap:8px;animation:heroReveal .6s var(--ease-out) .5s both}.menu-sound-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 8px;border:1.5px solid var(--border-default);border-radius:var(--radius-md);background:#fff9;color:var(--text-muted);font-family:var(--font-display);font-size:12px;font-weight:700;cursor:pointer;transition:all .15s ease;-webkit-tap-highlight-color:transparent}.menu-sound-btn.is-on{background:#ffffffe6;color:var(--text-primary);border-color:var(--color-tropical, #00BFA5);box-shadow:0 2px 8px #00bfa526}.menu-sound-btn:active{transform:scale(.96)}.menu-sound-btn__icon{font-size:16px}.menu-sound-btn__label{font-size:11px}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.menu-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:var(--space-3) var(--space-2);min-height:78px;background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-xs);font-weight:var(--weight-black);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out);box-shadow:var(--shadow-xs)}.menu-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);background:var(--bg-glass-strong)}.menu-tile:active{transform:scale(.96)}.menu-tile__icon{font-size:26px;line-height:1;filter:drop-shadow(0 3px 6px rgba(255,138,101,.25))}.menu-tile__label{font-size:var(--text-xs);color:var(--text-secondary)}.shop-list{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-2)}.shop-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.shop-item__icon{font-size:30px;width:44px;text-align:center;flex-shrink:0}.shop-item__text{flex:1;min-width:0;text-align:left}.shop-item__name{font-size:var(--text-base);font-weight:var(--weight-black);color:var(--text-primary)}.shop-item__owned{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--text-muted);margin-left:4px}.shop-item__desc{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--text-secondary);margin-top:2px}.ach-list{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-2)}.ach-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md)}.ach-row.is-unlocked{background:linear-gradient(135deg,#fff3c4,#ffe082);border-color:#f9a82566}.ach-row__icon{width:36px;height:36px;border-radius:var(--radius-pill);background:#2d1b0014;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.ach-row.is-unlocked .ach-row__icon{background:var(--color-accent)}.ach-row__text{flex:1;min-width:0;text-align:left}.ach-row__name{font-size:var(--text-sm);font-weight:var(--weight-black);color:var(--text-primary)}.ach-row__desc{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-secondary);margin-top:2px}.ach-row__reward{font-size:var(--text-xs);font-weight:var(--weight-black);color:var(--color-accent-strong);flex-shrink:0}.ach-row__bar{margin-top:6px;height:6px;background:#00000014;border-radius:3px;overflow:hidden}.ach-row__bar-fill{height:100%;background:linear-gradient(90deg,#ffd54f,#f9a825);border-radius:3px;transition:width .3s ease}.ach-row__bar-text{font-size:10px;font-weight:700;color:var(--text-secondary);margin-top:2px;font-variant-numeric:tabular-nums}.recipe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2);padding-top:var(--space-2)}.recipe-card{display:flex;flex-direction:column;align-items:center;padding:var(--space-3) 6px;background:var(--bg-card);border:1.5px solid var(--border-accent);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-xs)}.recipe-card--locked{background:#ffffff8c;border-color:var(--border-default);opacity:.75}.recipe-card__emoji{font-size:30px;line-height:1;margin-bottom:6px}.recipe-card--locked .recipe-card__emoji{width:44px;height:44px;border-radius:var(--radius-pill);background:var(--neutral-300);color:var(--text-inverse);display:flex;align-items:center;justify-content:center;font-size:22px;filter:grayscale(1)}.recipe-card__name{font-size:var(--text-xs);font-weight:var(--weight-black);color:var(--text-primary);line-height:1.2}.recipe-card__meta{font-size:9px;font-weight:var(--weight-medium);color:var(--text-muted);margin-top:3px;line-height:1.3}.recipe-card__reward{font-size:9px;font-weight:var(--weight-bold);color:var(--color-accent-strong);margin-top:3px}.recipe-card__mastery{font-size:8px;font-weight:var(--weight-bold);color:var(--text-muted);margin-top:2px}.skin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);padding:var(--space-2) 0}.skin-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--space-4) var(--space-2);background:var(--bg-card);border:1.5px solid var(--border-default);border-radius:var(--radius-lg);color:var(--text-primary);font-family:var(--font-display);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out)}.skin-card:active:not(:disabled){transform:scale(.97)}.skin-card.is-active{background:linear-gradient(145deg,var(--color-accent) 0%,var(--color-accent-strong) 100%);border-color:var(--color-accent-strong);box-shadow:var(--shadow-glow)}.skin-card.is-locked{opacity:.55;cursor:default}.skin-card__icon{font-size:32px;line-height:1}.skin-card__name{font-size:var(--text-sm);font-weight:var(--weight-black)}.skin-card__status{font-size:10px;font-weight:var(--weight-bold);color:var(--text-muted)}.skin-card.is-active .skin-card__status{color:#7a4a00}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);padding-top:var(--space-2)}.stat-card{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-xs)}.stat-card__icon{font-size:22px;flex-shrink:0}.stat-card__text{flex:1;min-width:0}.stat-card__label{font-size:10px;font-weight:var(--weight-bold);color:var(--text-muted);letter-spacing:.02em}.stat-card__value{font-size:var(--text-base);font-weight:var(--weight-black);color:var(--text-primary)}.stat-top{margin-top:var(--space-3);padding:var(--space-3);background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg)}.stat-top__header{font-size:var(--text-xs);font-weight:var(--weight-black);color:var(--text-secondary);margin-bottom:8px;letter-spacing:.02em}.stat-top__row{display:flex;align-items:center;gap:8px;padding:4px 0}.stat-top__rank{width:20px;text-align:center;font-size:var(--text-sm);font-weight:var(--weight-black);color:var(--color-accent-strong)}.stat-top__emoji{font-size:18px}.stat-top__name{flex:1;font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--text-primary)}.stat-top__count{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--text-muted)}.diff-list{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-2) 0}.diff-card{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);background:var(--bg-card);border:2px solid var(--diff-color, var(--border-default));border-radius:var(--radius-lg);text-align:left;font-family:var(--font-display);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);box-shadow:0 4px 14px #0000000f;width:100%}.diff-card:hover{border-width:3px;box-shadow:0 8px 22px #0000001f;transform:translateY(-2px)}.diff-card:active{transform:scale(.98)}.diff-card:focus-visible{outline:3px solid var(--diff-color);outline-offset:2px}.diff-card__icon{width:48px;height:48px;border-radius:var(--radius-pill);background:var(--diff-color);color:var(--text-inverse);display:flex;align-items:center;justify-content:center;font-size:26px;flex-shrink:0;box-shadow:0 4px 10px #00000026}.diff-card__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.diff-card__title{font-size:var(--text-lg);font-weight:var(--weight-black);color:var(--text-primary)}.diff-card__subtitle{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-secondary)}.diff-card__stats{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.diff-card__chip{font-size:10px;font-weight:var(--weight-bold);color:var(--diff-color);background:color-mix(in srgb,var(--diff-color) 12%,transparent);border:1px solid color-mix(in srgb,var(--diff-color) 35%,transparent);padding:3px 8px;border-radius:var(--radius-pill);letter-spacing:.02em;font-variant-numeric:tabular-nums}.level-select-header{display:flex;align-items:center;gap:6px;padding:10px 12px;border-bottom:1px solid rgba(210,180,140,.25);background:#ffffffeb;flex-wrap:nowrap;overflow-x:auto}.level-select-header__title{color:var(--text-primary);font-size:15px;font-weight:var(--weight-black);letter-spacing:.5px;white-space:nowrap;margin:0 8px}.level-select-header__meta{display:flex;gap:4px;align-items:center;flex-shrink:0}.level-select-header__star{color:#daa520;font-size:12px;font-weight:800;background:#ffd7001a;padding:6px 8px;border-radius:12px;border:1px solid rgba(255,215,0,.18);white-space:nowrap;flex-shrink:0}.level-select-header__gold{color:#b8860b;font-size:12px;font-weight:800;background:#ffc10724;padding:6px 8px;border-radius:12px;border:1px solid rgba(255,193,7,.22);white-space:nowrap;flex-shrink:0}.level-select-header__diff{display:inline-flex;align-items:center;gap:3px;padding:6px 8px;border-radius:12px;border:1.5px solid var(--diff-color, #ff9800);background:color-mix(in srgb,var(--diff-color, #ff9800) 12%,transparent);color:var(--diff-color, #ff9800);font-size:11px;font-weight:900;cursor:pointer;transition:transform .15s ease,background .15s ease;white-space:nowrap;flex-shrink:0}.level-select-header__diff:active{transform:scale(.96)}.level-select-header__diff-icon{font-size:13px}.level-select-header__diff-label{letter-spacing:.02em}.level-select-header__diff-edit{margin-left:2px;padding:1px 6px;border-radius:8px;background:#ffffff8c;color:var(--text-secondary, #8b7355);font-size:9px;font-weight:800}.level-select-list{flex:1;overflow-y:auto;padding:12px 14px 24px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.chapter-block{margin-bottom:20px}.chapter-header{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding:14px 16px;background:#ffffffe0;border-radius:18px;border:1.5px solid rgba(255,183,77,.25);box-shadow:0 8px 32px #0000000f}.chapter-header__icon{font-size:28px}.chapter-header__body{flex:1}.chapter-header__name{color:var(--text-primary);font-size:16px;font-weight:var(--weight-black)}.chapter-header__meta{color:#8b7355;font-size:10px;margin-top:2px;font-weight:600;letter-spacing:.5px}.chapter-header__check{width:30px;height:30px;border-radius:15px;background:linear-gradient(135deg,#4caf50,#2e7d32);display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px;font-weight:900}.level-cell--boss{background:linear-gradient(150deg,#fff3e0,#ffe0b2,#ffcc80);border-color:#f57c008c;box-shadow:0 0 0 2px #ff980040,0 6px 16px #f57c0033}.level-cell__medal{position:absolute;top:4px;left:4px;font-size:14px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.level-cell__boss{position:absolute;top:4px;right:4px;font-size:14px}.level-cell__diff{position:absolute;bottom:4px;right:4px;font-size:8px;font-weight:900;color:#fff;padding:1px 4px;border-radius:6px;letter-spacing:.5px}.level-cell__diff--hard{background:#d32f2f}.level-cell__diff--easy{background:#388e3c}.hud-panel{position:absolute;top:6px;left:8px;right:8px;display:flex;flex-direction:column;gap:4px;z-index:var(--z-hud);pointer-events:none}.hud-panel__row-top{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}.hud-panel__row-order{display:flex;justify-content:center;pointer-events:none}.hud-panel__pause{flex:0 0 auto;width:34px;height:34px;border-radius:10px;background:#2d1b00d1;color:#fff;border:none;font-size:15px;cursor:pointer;pointer-events:auto}.hud-panel__left{display:flex;flex-direction:row;align-items:center;gap:5px;flex:1;min-width:0;overflow:hidden}.hud-panel__right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;min-width:90px;flex-shrink:0;overflow:visible}.hud-panel__center{display:flex;justify-content:center;min-width:0}.hud-chip{background:#2d1b008c;color:#fff;padding:5px 10px;border-radius:12px;font-size:11px;font-weight:900;box-shadow:0 4px 12px #0003;font-variant-numeric:tabular-nums;letter-spacing:.02em;white-space:nowrap}.hud-chip--chapter{background:var(--chapter-accent, #ff7043);color:#fff}.hud-chip--timer{font-size:12px}.hud-chip--gold{color:#ffd54f}.hud-chip--hearts{padding:4px 8px;font-size:12px;letter-spacing:1px}.menu-hero-v2{display:flex;flex-direction:column;align-items:center;gap:16px;padding:8px 0 4px;animation:heroReveal .6s var(--ease-out) both}@keyframes heroReveal{0%{opacity:0;transform:translateY(-18px) scale(.95)}to{opacity:1;transform:none}}.menu-hero-v2__brand{display:flex;align-items:center;gap:16px}.menu-hero-v2__logo{font-size:56px;filter:drop-shadow(0 8px 20px rgba(255,107,53,.35));animation:logoBounce 2s ease-in-out infinite}@keyframes logoBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.menu-hero-v2__text{display:flex;flex-direction:column}.menu-hero-v2__title{font-family:var(--font-display);font-size:36px;font-weight:700;color:var(--text-primary);letter-spacing:-.03em;line-height:1;color:var(--color-primary-700)}.menu-hero-v2__sub{font-family:var(--font-display);font-size:13px;font-weight:600;color:var(--text-muted);letter-spacing:.15em;text-transform:uppercase;margin-top:2px}.xp-bar-v2{width:100%;background:#fff9;border:1px solid rgba(0,0,0,.05);border-radius:var(--radius-lg);padding:10px 14px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:heroReveal .6s var(--ease-out) .15s both}.xp-bar-v2--claimable{border-color:var(--color-accent-strong);box-shadow:0 0 0 2px #f9a82533}.xp-bar-v2__info{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:11px;font-weight:700}.xp-bar-v2__level{color:var(--color-tropical, #00BFA5);font-family:var(--font-display);font-weight:700}.xp-bar-v2__title-badge{background:var(--color-tropical-soft, rgba(0, 191, 165, .12));color:var(--color-tropical, #00BFA5);padding:2px 8px;border-radius:var(--radius-pill);font-size:10px}.xp-bar-v2__xp{margin-left:auto;color:var(--text-muted);font-variant-numeric:tabular-nums}.xp-bar-v2__track{height:6px;background:#0000000f;border-radius:3px;overflow:hidden}.xp-bar-v2__fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--color-tropical, #00BFA5),#4DD0E1);transition:width .4s var(--ease-out)}.xp-bar-v2__claim{display:block;width:100%;margin-top:8px;padding:8px;border:none;border-radius:var(--radius-md);background:linear-gradient(135deg,#ffd54f,#f9a825);color:var(--text-primary);font-family:var(--font-display);font-size:12px;font-weight:700;cursor:pointer;animation:claimPulse 1.5s ease infinite}@keyframes claimPulse{0%,to{box-shadow:0 4px 12px #f9a8254d}50%{box-shadow:0 4px 20px #f9a82599}}.menu-stats{animation:heroReveal .6s var(--ease-out) .25s both}.menu-today{animation:heroReveal .6s var(--ease-out) .35s both}.menu-cta{animation:heroReveal .6s var(--ease-out) .45s both}.menu-grid{animation:heroReveal .6s var(--ease-out) .55s both}.card--glass{background:#ffffffb8!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.5);box-shadow:0 8px 32px #0000000f,inset 0 1px #fffc}.intro-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:var(--z-cinematic, 60);pointer-events:none;opacity:0;transition:opacity .25s ease}.intro-title{font-size:52px;font-weight:900;color:#fff;text-shadow:0 6px 20px rgba(0,0,0,.6);letter-spacing:2px;animation:introSlide .7s ease}.intro-title--boss{font-size:44px;color:#ff5252;animation:levelIntroPulse .8s ease infinite alternate}@keyframes introSlide{0%{transform:translateY(-30px) scale(.8);opacity:0}40%{opacity:1}to{transform:translateY(0) scale(1);opacity:1}}.intro-sub{font-size:16px;font-weight:800;color:#fff;margin-top:10px;text-shadow:0 2px 8px rgba(0,0,0,.5)}.intro-countdown{font-size:80px;font-weight:900;color:#fff;text-shadow:0 8px 28px rgba(0,0,0,.7);will-change:transform,opacity}.intro-countdown--pop{animation:countdownPop .55s cubic-bezier(.22,1.2,.36,1) forwards}@keyframes screenShakeHard{0%,to{transform:translate(0)}10%{transform:translate(-6px,4px)}30%{transform:translate(5px,-3px)}50%{transform:translate(-4px,5px)}70%{transform:translate(3px,-4px)}90%{transform:translate(-2px,2px)}}@keyframes countdownPop{0%{transform:scale(0);opacity:0}30%{transform:scale(1.4);opacity:1}70%{transform:scale(.95);opacity:1}to{transform:scale(1);opacity:.6}}.center-pop{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%) scale(0);font-size:36px;font-weight:900;letter-spacing:2px;text-shadow:0 4px 16px rgba(0,0,0,.55);z-index:var(--z-overlay-effect, 70);pointer-events:none;animation-name:centerPopAnim;animation-timing-function:cubic-bezier(.22,1.2,.36,1);animation-fill-mode:forwards;will-change:transform,opacity}@keyframes centerPopAnim{0%{transform:translate(-50%,-50%) scale(0);opacity:0}20%{transform:translate(-50%,-60%) scale(1.3);opacity:1}70%{transform:translate(-50%,-62%) scale(1);opacity:1}to{transform:translate(-50%,-80%) scale(.85);opacity:0}}.menu-cta{display:flex;flex-direction:column;gap:10px;padding:4px 0}.menu-cta-hero{display:flex;align-items:center;gap:14px;width:100%;padding:18px 20px;border:none;border-radius:20px;background:linear-gradient(135deg,#ffb347,#ff7043 55%,#ff5252);color:#fff;box-shadow:0 10px 28px #ff572259;cursor:pointer;text-align:left;transition:transform .15s ease,box-shadow .15s ease;font-family:inherit}.menu-cta-hero:active{transform:scale(.98);box-shadow:0 6px 18px #ff57224d}.menu-cta-hero__icon{font-size:28px;width:52px;height:52px;display:inline-flex;align-items:center;justify-content:center;background:#ffffff38;border-radius:16px;flex-shrink:0}.menu-cta-hero__body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.menu-cta-hero__label{font-size:18px;font-weight:900;letter-spacing:.02em;text-shadow:0 2px 6px rgba(0,0,0,.18)}.menu-cta-hero__sub{font-size:12px;font-weight:700;opacity:.88}.menu-cta-hero__chevron{font-size:28px;font-weight:900;opacity:.8}.menu-cta-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.menu-cta-row--single{grid-template-columns:1fr}.menu-cta-chip{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 12px;border:1.5px solid rgba(0,0,0,.08);border-radius:16px;background:#ffffffd1;color:var(--text-primary, #2d1b00);font-family:inherit;font-size:14px;font-weight:900;cursor:pointer;box-shadow:0 6px 14px #0000000f;transition:transform .15s ease,background .15s ease}.menu-cta-chip:active{transform:scale(.97)}.menu-cta-chip__icon{font-size:18px}.result-modal-v2__card{background:var(--surface-card, #fff8ec);border-radius:22px;padding:24px 22px;max-width:320px;width:86%;text-align:center;box-shadow:0 18px 48px #00000061}.result-modal-v2__title{font-size:22px;font-weight:900;color:var(--text-primary, #2d1b00);margin-bottom:14px;letter-spacing:.02em}.result-modal-v2__lines{color:var(--text-secondary, #5d4037);font-size:13px;line-height:1.7;margin-bottom:18px}.result-modal-v2__btn{display:block;width:100%;padding:13px;border-radius:14px;font-family:inherit;font-size:14px;font-weight:900;cursor:pointer;margin-bottom:8px;transition:transform .12s ease,box-shadow .12s ease}.result-modal-v2__btn:last-child{margin-bottom:0}.result-modal-v2__btn:active{transform:scale(.97)}.result-modal-v2__btn--primary{border:none;background:linear-gradient(145deg,#ffd54f,#f9a825);color:#2d1b00;box-shadow:0 8px 18px #f9a82559}.result-modal-v2__btn--secondary{border:1.5px solid rgba(0,0,0,.12);background:transparent;color:var(--text-secondary, #5d4037);font-size:13px}.result-modal-v2__btn--tertiary{border:none;background:transparent;color:var(--text-muted, #8b7355);font-size:12px;padding:10px}.game-wrapper{position:relative}.game-wrapper:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 #ef535000;transition:box-shadow .3s ease;z-index:var(--z-overlay-effect, 70);border-radius:inherit}.game-wrapper.is-danger:after{animation:dangerVignettePulse 1.1s ease-in-out infinite}@keyframes dangerVignettePulse{0%,to{box-shadow:inset 0 0 30px 4px #ef535059}50%{box-shadow:inset 0 0 55px 10px #ef535099}}.hud-life-stack{display:flex;flex-direction:column;gap:4px;align-items:flex-end;pointer-events:none}.hud-life{display:inline-flex;align-items:center;gap:5px;background:#2d1b00d1;color:#fff;padding:4px 9px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.02em;box-shadow:0 4px 12px #0003;border:1.5px solid transparent;transition:border-color .2s ease,transform .2s ease}.hud-life--miss{border-color:#4fc3f78c}.hud-life--wrong{border-color:#ef53508c}.hud-life--danger{animation:hudLifePulse .9s ease infinite}@keyframes hudLifePulse{0%,to{transform:scale(1);box-shadow:0 4px 12px #ef53504d}50%{transform:scale(1.05);box-shadow:0 4px 16px #ef5350b3}}.hud-life__icon{font-size:11px}.hud-life__label{font-size:10px;opacity:.85;min-width:22px}.hud-life__pips{display:inline-flex;gap:3px;align-items:center}.hud-life__pip{display:inline-block;width:8px;height:8px;border-radius:50%;background:#ffd54f;box-shadow:0 0 3px #ffd54fb3}.hud-life--miss .hud-life__pip{background:#4fc3f7;box-shadow:0 0 3px #4fc3f7b3}.hud-life--wrong .hud-life__pip{background:#ef5350;box-shadow:0 0 3px #ef5350b3}.hud-life__pip--lost{background:#ffffff2e!important;box-shadow:none!important}.hud-life__count{font-size:11px;font-variant-numeric:tabular-nums}.hud-order-card{position:relative;background:#ffffff8c;border:1.5px solid rgba(255,183,77,.35);border-radius:18px;padding:14px 20px;min-width:280px;max-width:360px;box-shadow:0 2px 8px #0000000f;font-size:15px;color:#2d1b00;font-weight:800;text-align:center;pointer-events:none}.hud-order-card__special{display:inline-block;margin-left:4px;font-size:11px;color:#f9a825;font-weight:900}@keyframes orderCardPop{0%{transform:scale(.85);opacity:0}50%{transform:scale(1.04);opacity:1}to{transform:scale(1);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.hud-order-card__bubble{position:absolute;left:50%;bottom:-14px;transform:translate(-50%);background:#fff;color:#2d1b00;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:900;box-shadow:0 4px 12px #0000002e;pointer-events:none;white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis}.hud-hh-badge{display:inline-flex;align-items:center;margin-top:6px;background:linear-gradient(90deg,#ff006e,#ffbe0b,#8338ec,#3a86ff,#06ffa5);background-size:300% 100%;color:#fff;padding:5px 12px;border-radius:14px;font-size:11px;font-weight:900;letter-spacing:1px;text-shadow:0 2px 4px rgba(0,0,0,.3);box-shadow:0 4px 12px #ff006e66;opacity:0;transition:opacity .3s ease;pointer-events:none;animation:hhGradient 2s linear infinite}.drag-hint{position:absolute;bottom:80px;left:50%;transform:translate(-50%);background:#2d1b00e0;color:#fff8ec;padding:10px 18px;border-radius:14px;font-size:13px;font-weight:800;letter-spacing:.5px;box-shadow:0 6px 20px #00000059;z-index:var(--z-cinematic);pointer-events:none;animation:dragHintPulse 1.1s ease-in-out infinite alternate}@keyframes dragHintPulse{0%{transform:translate(-50%) scale(1);opacity:.92}to{transform:translate(-50%,-4px) scale(1.04);opacity:1}}.result-stars{display:flex;justify-content:center;gap:10px;font-size:40px;margin-bottom:12px}.result-stars__item{color:#d2beaa66;text-shadow:none;transition:transform .3s var(--ease-out)}.result-stars__item--on{color:gold;text-shadow:0 0 12px rgba(255,215,0,.7);animation:resultStarPop .5s var(--ease-out) both}.result-stars__item--on:nth-child(2){animation-delay:.15s}.result-stars__item--on:nth-child(3){animation-delay:.3s}@keyframes resultStarPop{0%{transform:scale(.2) rotate(-40deg);opacity:0}70%{transform:scale(1.2) rotate(8deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.result-medal{text-align:center;font-size:30px;margin-bottom:8px}.result-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0 18px}.result-stat{background:#fff8ecb3;border:1px solid rgba(210,180,140,.3);border-radius:12px;padding:8px 10px;text-align:center}.result-stat__label{font-size:10px;color:#8b7355;font-weight:700;letter-spacing:.5px}.result-stat__value{font-size:16px;color:#2d1b00;font-weight:900;font-variant-numeric:tabular-nums;margin-top:2px}.result-gold{text-align:center;font-size:15px;font-weight:900;color:#daa520;background:#ffd7001f;border:1px solid rgba(255,193,7,.3);border-radius:12px;padding:8px 12px;margin-bottom:14px}.result-reason{text-align:center;font-size:12px;color:#c62828;font-weight:800;margin-bottom:12px}.menu-today__row--weekly{background:linear-gradient(135deg,#ffc1071f,#ff572214);border-radius:14px;padding:10px;position:relative}.menu-today__active-tag{position:absolute;top:6px;right:8px;font-size:9px;font-weight:900;color:#fff;background:linear-gradient(90deg,#ff9800,#f44336);padding:3px 8px;border-radius:10px;letter-spacing:.5px;box-shadow:0 3px 10px #f4433659}.xp-hero{margin-top:12px;padding:12px 14px;background:linear-gradient(135deg,#ffd54f2e,#ff8a6524);border:1.5px solid rgba(255,183,77,.4);border-radius:16px;box-shadow:var(--shadow-sm)}.xp-hero--claimable{box-shadow:0 0 20px #ffd54f99;animation:xpGlow 1.8s ease-in-out infinite alternate;cursor:pointer}@keyframes xpGlow{0%{box-shadow:0 0 12px #ffd54f66}to{box-shadow:0 0 28px #ffd54fd9}}.xp-hero__top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.xp-hero__level{font-size:14px;font-weight:900;color:var(--text-primary);letter-spacing:.5px}.xp-hero__title{font-size:11px;font-weight:800;color:var(--text-gold);background:#ffd7002e;padding:3px 8px;border-radius:10px;border:1px solid rgba(255,193,7,.35)}.xp-hero__bar{position:relative;height:10px;background:#2d1b001f;border-radius:6px;overflow:hidden}.xp-hero__fill{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,#ffc107,#ff9800,#ff7043);border-radius:6px;transition:width .4s var(--ease-out)}.xp-hero__text{margin-top:4px;font-size:11px;font-weight:800;color:var(--text-secondary);font-variant-numeric:tabular-nums;text-align:right}.xp-hero__claim{display:inline-block;margin-top:6px;padding:4px 10px;background:linear-gradient(145deg,#ffd54f,#f9a825);color:#2d1b00;border:none;border-radius:10px;font-size:11px;font-weight:900;cursor:pointer}.menu-today__quests{display:flex;flex-direction:column;gap:6px;margin-top:6px}.quest-row{display:flex;align-items:center;gap:8px;padding:6px 8px;background:#ffffff80;border-radius:10px;border:1px solid rgba(210,180,140,.25)}.quest-row__body{flex:1;min-width:0}.quest-row__label{font-size:11px;font-weight:800;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quest-row__bar{position:relative;height:5px;background:#2d1b001a;border-radius:3px;margin-top:3px;overflow:hidden}.quest-row__fill{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,#4caf50,#81c784);border-radius:3px;transition:width .35s var(--ease-out)}.quest-row__counter{font-size:10px;color:var(--text-muted);font-weight:800;font-variant-numeric:tabular-nums;margin-top:2px}.quest-row__action{flex:0 0 auto;font-size:10px;font-weight:900;padding:5px 9px;border-radius:10px;border:none;background:linear-gradient(145deg,#ffd54f,#f9a825);color:#2d1b00;cursor:pointer}.quest-row__action[disabled]{background:#2d1b001a;color:#2d1b0080;cursor:default}.menu-today__row--special{background:linear-gradient(135deg,#ffd7002e,#ffc10714);border:1px dashed rgba(255,193,7,.55);border-radius:12px;padding:8px 10px}.level-cell__master{position:absolute;top:4px;left:4px;font-size:10px;font-weight:900;padding:1px 5px;border-radius:6px;background:linear-gradient(145deg,#ffd54f,#f57c00);color:#2d1b00;box-shadow:0 2px 6px #f57c0080}.level-cell__master--cleared{background:linear-gradient(145deg,#ffe082,#ffb300);color:#3e2723;box-shadow:0 0 10px #ffb300cc}.mode-pick-wrap{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:20px}.mode-pick-card{background:#fff8ec;border-radius:22px;padding:22px 20px;max-width:320px;width:100%;text-align:center;box-shadow:0 16px 48px #00000059}.mode-pick-card__title{font-size:18px;font-weight:900;color:var(--text-primary);margin-bottom:14px}.mode-pick-btn{display:block;width:100%;margin-bottom:10px;border-radius:14px;border:none;font-size:14px;font-weight:900;cursor:pointer;text-align:left;padding:14px 14px 14px 18px}.mode-pick-btn--normal{background:linear-gradient(145deg,#64b5f6,#1976d2);color:#fff}.mode-pick-btn--master{background:linear-gradient(145deg,#ff6e40,#c62828);color:#fff}.mode-pick-btn__sub{display:block;font-size:11px;font-weight:700;opacity:.9;margin-top:3px}.mode-pick-card__cancel{display:block;width:100%;padding:10px;border:1.5px solid rgba(0,0,0,.12);background:transparent;color:#5d4037;font-size:12px;font-weight:800;border-radius:12px;cursor:pointer}.title-scene-wrap{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:20px}.title-scene-card{background:#fff8ec;border-radius:22px;padding:18px 16px;max-width:380px;width:100%;max-height:82vh;display:flex;flex-direction:column;box-shadow:0 16px 48px #00000059}.title-scene-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.title-scene-card__title{font-size:18px;font-weight:900;color:var(--text-primary)}.title-scene-card__close{display:none}.title-scene-card__body{overflow-y:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:4px}.title-cell{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;background:#ffffffa6;border:1px solid rgba(210,180,140,.3);border-radius:12px;cursor:pointer;text-align:left;transition:transform .15s ease}.title-cell:hover{transform:translateY(-2px)}.title-cell--locked{opacity:.45;filter:grayscale(.8);cursor:default}.title-cell--active{border:1.5px solid #f9a825;background:linear-gradient(145deg,#ffd54f40,#ffb74d26);box-shadow:0 4px 14px #ffb74d59}.title-cell__name{font-size:13px;font-weight:900;color:var(--text-primary)}.title-cell__desc{font-size:10px;color:var(--text-muted);font-weight:700}.main-menu-v3{background:linear-gradient(170deg,#fffdf6,#fff5e6,#ffecd4);display:flex;flex-direction:column}.menu-topbar-v3{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5) var(--space-2);flex-shrink:0}.menu-topbar-v3__brand{font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--weight-black);color:var(--neutral-700);letter-spacing:-.02em}.menu-topbar-v3__gold{font-family:var(--font-display);font-size:var(--text-sm);font-weight:var(--weight-black);color:var(--color-accent-strong);background:var(--color-accent-soft);padding:4px 12px;border-radius:var(--radius-pill)}.menu-body-v3{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-5);padding:var(--space-3) var(--space-5);overflow-y:auto;-webkit-overflow-scrolling:touch}.menu-body-v3>*{opacity:0;transform:translateY(12px);animation:menuReveal .4s var(--ease-out) forwards}.menu-body-v3>*:nth-child(1){animation-delay:.05s}.menu-body-v3>*:nth-child(2){animation-delay:.12s}.menu-body-v3>*:nth-child(3){animation-delay:.2s}.menu-body-v3>*:nth-child(4){animation-delay:.3s}@keyframes menuReveal{to{opacity:1;transform:translateY(0)}}.menu-hero-v3{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.menu-hero-v3__tomato{width:96px;height:96px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#ff6b4a,#e53935);box-shadow:inset -8px -8px 16px #b41e1466,inset 4px 4px 8px #ffc8a080,0 8px 24px #e539354d;position:relative;animation:heroFloat 3s ease-in-out infinite}.menu-hero-v3__tomato:before{content:"";position:absolute;top:-8px;left:50%;transform:translate(-50%);width:20px;height:14px;background:#4caf50;border-radius:50% 50% 20% 20%;box-shadow:inset 0 -2px 4px #0050004d}.menu-hero-v3__tomato:after{content:"";position:absolute;top:20px;left:22px;width:16px;height:12px;background:#ffffff59;border-radius:50%;transform:rotate(-25deg)}@keyframes heroFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.menu-hero-v3__info{display:flex;align-items:center;gap:var(--space-2)}.menu-hero-v3__level{font-size:var(--text-sm);font-weight:var(--weight-black);color:var(--text-primary)}.menu-hero-v3__title-badge{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--text-secondary)}.menu-hero-v3__xp-track{width:140px;height:4px;border-radius:var(--radius-pill);background:#2d1b0014;overflow:hidden}.menu-hero-v3__xp-fill{height:100%;border-radius:inherit;background:var(--color-primary);transition:width var(--dur-normal) var(--ease-out)}.menu-hero-v3__xp-claim{font-family:var(--font-display);font-size:var(--text-xs);font-weight:var(--weight-black);color:var(--text-inverse);background:var(--color-primary);border:none;border-radius:var(--radius-pill);padding:4px 14px;cursor:pointer;margin-top:2px}.menu-stats-v3{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--text-muted)}.menu-stat-v3__dot{width:3px;height:3px;border-radius:50%;background:var(--neutral-400)}.menu-play-v3{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);width:100%}.menu-play-v3__btn{width:160px;height:160px;border-radius:50%;border:none;background:radial-gradient(circle at 40% 35%,#66bb6a,#43a047,#2e7d32);color:var(--text-inverse);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;box-shadow:0 8px 32px #2e7d3266,0 2px #1b5e20,inset 0 2px 4px #ffffff40;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);-webkit-tap-highlight-color:transparent;font-family:var(--font-display);animation:playPulse 2s ease-in-out infinite}.menu-play-v3__btn:active{transform:scale(.95);box-shadow:0 4px 16px #2e7d3266,0 1px #1b5e20}.menu-play-v3__label{font-size:36px;font-weight:var(--weight-black);letter-spacing:.06em;text-shadow:0 2px 4px rgba(0,0,0,.2)}.menu-play-v3__sub{font-size:var(--text-xs);font-weight:var(--weight-bold);opacity:.85}@keyframes playPulse{0%,to{box-shadow:0 8px 32px #2e7d3266,0 2px #1b5e20,inset 0 2px 4px #ffffff40}50%{box-shadow:0 12px 40px #2e7d328c,0 2px #1b5e20,inset 0 2px 4px #ffffff40,0 0 0 8px #4caf501f}}.menu-play-v3__modes{display:flex;gap:var(--space-2)}.menu-mode-v3{font-family:var(--font-display);font-size:var(--text-xs);font-weight:var(--weight-black);color:var(--text-secondary);background:#ffffffb3;border:1px solid var(--border-default);border-radius:var(--radius-pill);padding:8px 16px;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out);-webkit-tap-highlight-color:transparent}.menu-mode-v3:active{background:#fffffff2;color:var(--text-primary)}.menu-mode-v3__badge{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:999px;background:linear-gradient(145deg,#ffd54f,#f9a825);color:#2d1b00;font-size:9px;font-weight:900;vertical-align:middle}.menu-today-v3{width:100%}.menu-today-v3__summary{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 14px;background:#fff9;border:1px solid var(--border-default);border-radius:var(--radius-md);font-family:var(--font-display);font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background var(--dur-fast) var(--ease-out)}.menu-today-v3__summary.has-reward{background:#ffd54f26;border-color:#f9a8254d;color:var(--color-accent-strong)}.menu-today-v3__arrow{font-size:16px;font-weight:var(--weight-black);transition:transform var(--dur-fast) var(--ease-out)}.menu-today-v3__detail{margin-top:var(--space-2);background:#ffffffb3;border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.menu-today-v3__detail[hidden]{display:none}.menu-today-v3__section{display:flex;align-items:center;gap:var(--space-2);min-height:28px}.menu-today-v3__label{flex:1;font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--text-primary)}.menu-today-v3__tag{font-size:10px;font-weight:var(--weight-black);color:var(--color-success-strong);background:#4caf501a;padding:2px 8px;border-radius:var(--radius-pill)}.menu-today-v3__chain{display:flex;gap:3px}.menu-today-v3__dot{width:14px;height:4px;border-radius:var(--radius-pill);background:#2d1b0014}.menu-today-v3__dot.on{background:var(--color-accent-strong)}.menu-today-v3__claim{flex-shrink:0;font-family:var(--font-display);font-size:var(--text-xs);font-weight:var(--weight-black);color:var(--text-inverse);background:var(--color-accent-strong);border:none;border-radius:var(--radius-pill);padding:4px 12px;cursor:pointer}.menu-today-v3__claim--big{width:100%;padding:8px;text-align:center}.menu-nav-v3{flex-shrink:0;display:flex;align-items:center;justify-content:space-around;height:56px;background:#ffffffeb;border-top:1px solid var(--border-default);opacity:0;animation:navSlideUp .35s var(--ease-out) .35s forwards}@keyframes navSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.menu-nav-v3__item{display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:none;font-family:var(--font-display);cursor:pointer;-webkit-tap-highlight-color:transparent;padding:4px 12px;transition:opacity var(--dur-fast) var(--ease-out)}.menu-nav-v3__item:active{opacity:.6}.menu-nav-v3__icon{width:28px;height:28px;border-radius:var(--radius-sm);background:var(--neutral-200);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:var(--weight-black);color:var(--neutral-600)}.menu-nav-v3__lbl{font-size:10px;font-weight:var(--weight-bold);color:var(--text-muted)}.menu-more-v3{position:absolute;bottom:56px;left:0;right:0;background:#fffdf6f7;border-top:1px solid var(--border-default);padding:var(--space-3) var(--space-4);box-shadow:0 -4px 16px #0000000f;z-index:var(--z-hud)}.menu-more-v3[hidden]{display:none}.menu-more-v3__grid{display:flex;flex-wrap:wrap;gap:var(--space-2)}.menu-more-v3__item{flex:1 0 calc(33.3% - 6px);min-width:0;padding:10px 4px;background:#fffc;border:1px solid var(--border-default);border-radius:var(--radius-md);font-family:var(--font-display);font-size:var(--text-xs);font-weight:var(--weight-black);color:var(--text-primary);text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent}.menu-more-v3__item:active{background:#fff}:root{--safe-top: max(env(safe-area-inset-top, 48px), 48px);--color-text-dim: rgba(255, 255, 255, .6);--nav-height: 0px}#app{font-family:var(--font-display)}.scene{width:100%;max-width:390px;height:100%;max-height:700px;position:relative;overflow:hidden;border-radius:var(--radius-lg);background:linear-gradient(170deg,#fffdf6,#fff7e6 40%,#ffe8c8 75%,#ffd9a8);display:flex;flex-direction:column}@media (max-width: 420px){.scene{max-width:100%;max-height:100%;border-radius:0}}.btn{font-family:inherit;cursor:pointer;border:none;outline:none;-webkit-tap-highlight-color:transparent;transition:transform .12s ease,filter .12s ease,box-shadow .12s ease;font-weight:900;letter-spacing:.5px}.btn:active{transform:scale(.96) translateY(2px);filter:brightness(.95)}.btn-primary{background:#4caf50;color:#fff;border:2px solid #2E7D32;border-radius:31px;height:62px;width:270px;font-size:20px;box-shadow:0 4px 16px #4caf504d,0 2px #2e7d32;margin-bottom:14px}.btn-blue{background:#2196f3;color:#fff;border:2px solid #1565C0;border-radius:31px;height:62px;width:270px;font-size:20px;box-shadow:0 4px 16px #2196f34d,0 2px #1565c0}.btn-back{background:#ffffffb3;border:1.5px solid rgba(0,0,0,.06);border-radius:24px;color:#2d1b00;font-size:13px;font-weight:700;padding:8px 14px;box-shadow:0 2px 8px #0000000a;white-space:nowrap;flex-shrink:0}.game-wrapper{position:relative;width:100%;max-width:390px;height:100%;max-height:700px;display:flex;align-items:center;justify-content:center}.game-canvas{max-width:390px;max-height:700px;aspect-ratio:390 / 700;border-radius:16px;cursor:pointer;touch-action:none;-webkit-touch-callout:none}@media (max-width: 420px){.game-wrapper{max-width:100%;max-height:100%}.game-canvas{max-width:100%;max-height:100%;border-radius:0}}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:#0000008c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:1000;padding-top:var(--nav-height, 0px)}.modal-card{background:#fffdf5;border-radius:28px;padding:36px 28px 28px;text-align:center;border:1.5px solid rgba(255,255,255,.6);box-shadow:0 24px 64px #0003,0 8px 24px #00000014;max-width:310px;width:88%}.app-toast{position:fixed;bottom:80px;left:50%;transform:translate(-50%);background:#2d1b00e6;color:#fff;padding:12px 22px;border-radius:22px;font-size:14px;font-weight:700;z-index:2000;pointer-events:none;opacity:0;transition:opacity .3s ease}.app-toast.show{opacity:1}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-8px) rotate(3deg)}}@keyframes twinkle{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}@keyframes popIn{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes timerCriticalPulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.timer-critical{color:#ff1744!important;font-weight:900!important;text-shadow:0 0 8px rgba(255,23,68,.55),0 0 14px rgba(255,23,68,.35);animation:timerCriticalPulse .6s ease-in-out infinite}.level-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.level-cell{border-radius:18px;padding:14px 6px 12px;display:flex;flex-direction:column;align-items:center;gap:3px;background:#ffffffe0;border:1.5px solid rgba(255,183,77,.25);box-shadow:0 2px 10px #0000000a;cursor:pointer;font-family:inherit;transition:transform .12s ease,box-shadow .12s ease;-webkit-tap-highlight-color:transparent}.level-cell:not(.locked):active{transform:scale(.95);box-shadow:0 1px 4px #00000014}.level-cell.locked{opacity:.35;cursor:default}.level-cell.cleared{background:#e8f5e9;border-color:#4caf5066}.level-cell .level-num{font-size:26px;font-weight:900;color:#2d1b00;line-height:1}.level-cell .level-name{font-size:11px;font-weight:600;color:#6b553d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.level-cell .stars{font-size:15px;letter-spacing:2px;line-height:1}.level-cell .star-on{color:gold;text-shadow:0 0 8px rgba(255,215,0,.5)}.level-cell .star-off{color:#d2beaa66}.tutorial-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;z-index:800;pointer-events:none}.tutorial-dim{position:absolute;background:#000000a6;pointer-events:auto}.tutorial-highlight-ring{position:absolute;border:3px solid var(--color-accent, #ffc107);border-radius:8px;box-shadow:0 0 16px #ffc10780,inset 0 0 8px #ffc10726;pointer-events:none;transition:all .35s ease;animation:tutorial-ring-pulse 1.5s ease-in-out infinite}@keyframes tutorial-ring-pulse{0%,to{box-shadow:0 0 16px #ffc10780,inset 0 0 8px #ffc10726}50%{box-shadow:0 0 28px #ffc107cc,inset 0 0 12px #ffc10740}}.tutorial-bubble{position:absolute;background:#fff;border:2px solid #FFD54F;border-radius:20px;padding:20px 24px;width:min(320px,calc(100vw - 32px));text-align:center;pointer-events:none;box-shadow:0 8px 32px #00000040;z-index:810}.tutorial-bubble-enter{animation:tutorial-bubble-pop .3s ease-out}@keyframes tutorial-bubble-pop{0%{transform:translate(-50%) scale(.8);opacity:0}to{transform:translate(-50%) scale(1);opacity:1}}.tutorial-bubble-icon{font-size:18px;font-weight:900;color:#2d1b00;margin-bottom:6px;white-space:nowrap}.tutorial-bubble-text{font-size:15px;font-weight:700;color:#2d1b00;line-height:1.5;white-space:pre-line}.tutorial-bubble-step{font-size:11px;color:#999;margin-top:10px}.tutorial-skip{position:fixed;top:calc(var(--safe-top, 0px) + 8px);right:12px;background:#00000080;color:var(--color-text-dim, rgba(255,255,255,.5));border:1px solid rgba(255,255,255,.15);border-radius:20px;padding:6px 16px;font-size:13px;pointer-events:auto;cursor:pointer;z-index:820;transition:background .2s}.tutorial-skip:active{background:#ffffff26}.tutorial-progress{position:fixed;bottom:calc(var(--nav-height, 56px) + 16px);left:50%;transform:translate(-50%);display:flex;gap:6px;pointer-events:none;z-index:810}.tutorial-dot{width:8px;height:8px;border-radius:50%;background:#fff3;transition:all .3s ease}.tutorial-dot.done{background:var(--color-primary, #4caf50)}.tutorial-dot.active{background:var(--color-accent, #ffc107);box-shadow:0 0 6px #ffc10799;transform:scale(1.3)}.tutorial-fade-out{animation:tutorial-fadeout .4s ease-out forwards}@keyframes tutorial-fadeout{to{opacity:0}}.tutorial-complete-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:linear-gradient(135deg,#1b5e20,#2e7d32);border:2px solid var(--color-accent, #ffc107);border-radius:20px;padding:28px 36px;text-align:center;z-index:900;box-shadow:0 8px 32px #000000b3;animation:tutorial-complete-in .5s ease-out}@keyframes tutorial-complete-in{0%{transform:translate(-50%,-50%) scale(.5);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.tutorial-complete-icon{font-size:48px;margin-bottom:8px}.tutorial-complete-title{font-size:24px;font-weight:900;color:gold;margin-bottom:4px}.tutorial-complete-desc{font-size:15px;color:#fff}.tutorial-complete-fade{animation:tutorial-fadeout .5s ease-out forwards}body.modal-open .tutorial-overlay{display:none}
