.site-header{display:contents}.site-header .language-short,.site-header .header-nav-icon{display:none}.site-header[data-layout=browse]{--header-text: var(--yg-warm-white);--header-muted: var(--yg-muted);--header-accent: var(--yg-lime);--header-cyan: var(--yg-lime);position:fixed;z-index:var(--z-hud);inset-block-start:calc(18px + env(safe-area-inset-top));inset-inline:max(24px,env(safe-area-inset-left)) max(24px,env(safe-area-inset-right));max-width:1440px;margin-inline:auto;display:grid;grid-template-columns:minmax(160px,1fr) auto minmax(220px,1fr);align-items:center;gap:22px;padding:13px 18px;border:1px solid var(--yg-border);border-radius:22px;background:#111316eb;box-shadow:0 12px 40px #00000038,inset 0 1px #ffffff0d;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:transform .24s cubic-bezier(.22,1,.36,1),opacity .2s ease}.site-header[data-layout=browse][data-scroll-hidden=true]{transform:translateY(calc(-100% - 24px - env(safe-area-inset-top)));opacity:0;pointer-events:none}.site-header[data-layout=browse]:after{content:"";position:absolute;inset-block-end:-1px;inset-inline:18%;height:1px;background:linear-gradient(90deg,transparent,rgba(226,255,57,.45),transparent);pointer-events:none}.site-header[data-layout=browse] :is(.brand,.main-nav,.hud){position:static;inset:auto;transform:none;min-width:0}.site-header[data-layout=browse] .brand{gap:11px;letter-spacing:normal;text-transform:none}.site-header[data-layout=browse] .brand-mark{flex:0 0 auto;width:46px;height:46px;padding:6px;border:1px solid var(--yg-border);border-radius:14px;background:var(--yg-surface-raised)}.site-header[data-layout=browse] .brand-text{min-width:0}.site-header[data-layout=browse] .brand-text strong{font-family:var(--theme-display);font-size:18px;font-weight:700;letter-spacing:-.045em;color:var(--header-text);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.site-header[data-layout=browse] .brand-text span{margin-block-start:3px;color:var(--header-muted);font-size:9px;letter-spacing:.04em;white-space:nowrap}.site-header[data-layout=browse] .main-nav{display:flex;gap:3px;padding:4px;border:1px solid var(--yg-border);border-radius:14px;background:#090a0c66;backdrop-filter:none;-webkit-backdrop-filter:none}.site-header[data-layout=browse] .main-nav button{display:flex;align-items:center;justify-content:center;position:relative;gap:7px;min-height:42px;padding:10px 12px;border:1px solid transparent;border-radius:10px;font-family:var(--font-body);font-size:12px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--header-muted);transition:color .18s,background .18s,border-color .18s,transform .18s}.site-header[data-layout=browse] .header-nav-icon{display:block;flex-shrink:0;opacity:.75}.site-header[data-layout=browse] .main-nav button:hover{color:var(--header-text);background:#e2ff3914;transform:translateY(-1px)}.site-header[data-layout=browse] .main-nav button[aria-current=page]{color:var(--header-text);border-color:#e2ff3947;background:#e2ff391a;box-shadow:inset 0 1px #ffffff12}.site-header[data-layout=browse] .main-nav button[aria-current=page] .header-nav-icon{color:var(--header-accent);opacity:1}.site-header[data-layout=browse] .main-nav button[aria-current=page]:after{content:"";position:absolute;inset-block-end:-5px;inset-inline:28%;height:2px;border-radius:3px;background:var(--header-accent)}.site-header[data-layout=browse] .hud{justify-self:end}.site-header[data-layout=browse] .lang-switch{gap:1px;padding:4px;border-radius:12px;border-color:var(--yg-border);background:#f4f1e806;backdrop-filter:none;-webkit-backdrop-filter:none}.site-header[data-layout=browse] .lang-switch button{min-height:36px;padding:7px 9px;border-radius:8px;color:var(--header-muted);font-size:11px}.site-header[data-layout=browse] .lang-switch button[aria-pressed=true]{background:#e2ff391f;color:var(--header-cyan);box-shadow:inset 0 0 0 1px #e2ff3940}.site-header[data-layout=browse] button:focus-visible{outline:2px solid var(--header-cyan);outline-offset:3px}body[data-header-layout=browse] .hero-slide{padding-block-start:max(124px,calc(108px + env(safe-area-inset-top)))}body[data-header-layout=browse] .worlds-page{padding-block-start:72px}@media(max-width:1180px){.site-header[data-layout=browse]{grid-template-columns:minmax(0,1fr) auto;gap:10px 18px;padding:12px 16px}.site-header[data-layout=browse] .main-nav{grid-column:1 / -1;grid-row:2;justify-content:center;border:0;border-block-start:1px solid var(--yg-border);border-radius:0;background:none;padding:8px 0 0}.site-header[data-layout=browse] .hud{grid-column:2;grid-row:1}body[data-header-layout=browse] .hero-slide{padding-block-start:calc(180px + env(safe-area-inset-top))}body[data-header-layout=browse] :is(.worlds-page,.how-page,.features-page,.about-page){padding-block-start:100px}body[data-header-layout=browse] .worlds-page{padding-block-start:124px}}@media(max-width:600px){.site-header[data-layout=browse]{inset-block-start:calc(10px + env(safe-area-inset-top));inset-inline:max(10px,env(safe-area-inset-left)) max(10px,env(safe-area-inset-right));gap:8px;padding:10px 11px;border-radius:18px;backdrop-filter:none;-webkit-backdrop-filter:none}.site-header[data-layout=browse] .brand{gap:7px}.site-header[data-layout=browse] .brand-mark{width:34px;height:34px;padding:4px;border-radius:10px}.site-header[data-layout=browse] .brand-text strong{font-size:14px}.site-header[data-layout=browse] .brand-text span{font-size:8px;letter-spacing:0}.site-header[data-layout=browse] .lang-switch{padding:3px}.site-header[data-layout=browse] .lang-switch button{min-width:31px;min-height:34px;padding:5px 6px;font-size:10px}.site-header[data-layout=browse] .language-name{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.site-header[data-layout=browse] .language-short{display:inline}.site-header[data-layout=browse][data-scroll-hidden=true]{transform:none;opacity:1;pointer-events:auto}.site-header[data-layout=browse] .main-nav{position:fixed;inset-block:auto 0;inset-inline:0;z-index:var(--z-hud);display:flex;justify-content:space-around;align-items:stretch;gap:0;max-width:none;margin:0;padding:6px max(6px,env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-right));border:0;border-block-start:1px solid var(--yg-border);border-radius:0;background:linear-gradient(180deg,#111316f0,#090a0cfa);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);overflow:visible}.site-header[data-layout=browse] .main-nav button{flex:1 1 0;flex-direction:column;gap:4px;min-height:54px;padding:6px 4px;border-radius:12px;font-size:10px}.site-header[data-layout=browse] .header-nav-icon{width:21px;height:21px}.site-header[data-layout=browse] .main-nav button[aria-current=page]:after{display:none}body[data-header-layout=browse] .hero-slide{padding-block-start:calc(150px + env(safe-area-inset-top));padding-block-end:calc(80px + env(safe-area-inset-bottom))}body[data-header-layout=browse] .featured-slide{padding-block-end:calc(80px + env(safe-area-inset-bottom))}body[data-header-layout=browse] :is(.worlds-page,.how-page,.features-page,.about-page){padding-block-start:110px;padding-block-end:calc(80px + env(safe-area-inset-bottom))}}@media(max-width:360px){.site-header[data-layout=browse] .brand-text span{display:none}.site-header[data-layout=browse] .brand-text strong{font-size:12px}.site-header[data-layout=browse] .brand-mark{width:30px;height:30px}}[dir=rtl] .site-header[data-layout=browse] :is(.brand-text span,button){font-family:var(--font-arabic);letter-spacing:0}@media(prefers-reduced-motion:reduce){.site-header[data-layout=browse],.site-header[data-layout=browse] *,.site-header[data-layout=browse] *:after{animation:none;transition:none}}.avatar-picker{--avatar-gold: #e1bb69;display:flex;flex-direction:column;min-width:0;min-height:0;width:100%;gap:12px}.avatar-stage{display:flex;align-items:center;gap:18px;padding:22px 18px 14px;border:1px solid #c89c4630;border-radius:16px;flex-shrink:0;background:radial-gradient(ellipse at 18% 55%,#b27c2026,transparent 65%),#111016}.avatar-preview{flex:0 0 auto;display:grid;place-items:center;padding-top:5px}.avatar-preview-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.avatar-preview-copy strong{color:#f3e4c4;font-size:18px}.avatar-preview-detail{color:#b0a69c;font-size:12px;line-height:1.5}.avatar-surprise{display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px;border-radius:12px;border:1px solid #e1bb693d;background:#e1bb690a;color:#e1bb69;font-size:28px}.avatar-surprise span{font-size:10px;max-width:65px}.avatar-surprise:hover{background:#e1bb691c}.avatar-surprise:disabled{opacity:.35;cursor:not-allowed}.avatar-tabs{display:flex;gap:4px;flex-shrink:0;background:#08090e;border:1px solid #e1bb6926;padding:4px;border-radius:12px}.avatar-tabs button{flex:1;border-radius:8px;padding:10px 4px;display:flex;justify-content:center;align-items:center;gap:9px;color:#ada8a2;font-size:13px}.avatar-tabs button[aria-selected=true]{color:#f3d794;background:linear-gradient(130deg,#a8782c30,#e1bb6910);box-shadow:inset 0 0 0 1px #e1bb6933}.avatar-tabs button span{font-size:10px;background:#ffffff0a;border-radius:6px;padding:2px 5px}.avatar-tabs button:disabled{opacity:.35;cursor:not-allowed}.avatar-tabs button:focus-visible,.avatar-surprise:focus-visible{outline:2px solid #e1bb69;outline-offset:2px}.avatar-picker-panel{display:flex;min-height:0;flex:1 1 auto}.avatar-picker-panel[hidden]{display:none}.avatar-picker .char-grid{width:100%;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;max-height:330px;min-height:0;padding:7px 5px}.avatar-picker .char-tile{padding:12px 3px 9px;background:#111016;border-color:#d0ae6230}.avatar-picker .char-tile:hover:not(:disabled){border-color:#e1bb6980;background:#e1bb6912}.avatar-picker .char-tile[aria-checked=true]{border-color:#e1bb69;background:#e1bb691c}.avatar-picker .char-tile[aria-checked=true]:after{background:#e1bb69}.avatar-picker .char-tile:focus-visible{outline-color:#e1bb69}.avatar-picker .char-tile-name{letter-spacing:.02em;font-size:10px;text-transform:none}.avatar-picker .avatar--tile{width:100%;max-width:64px;height:auto;aspect-ratio:1}.avatar.avatar{position:relative;overflow:visible;border-color:#c59a504d;isolation:isolate}.avatar-face{position:absolute;inset:0;overflow:hidden;border-radius:50%;display:grid;place-items:center;background:#0c0b0e}.avatar-face img.avatar-atlas{position:absolute;max-width:none;object-fit:fill}.avatar-accessory{pointer-events:none;overflow:visible;filter:drop-shadow(0 .7px .45px #0007)}.avatar>.avatar-accessory{position:absolute;inset:0;z-index:1;width:100%;height:100%}.accessory-icon{width:100%;height:64px;display:grid;place-items:center}.accessory-icon .avatar-accessory{width:64px;max-width:100%;height:64px}.accessory-icon .avatar>.avatar-accessory{width:100%;height:100%}.avatar-picker .accessory-tile{padding-top:18px}.avatar-picker .accessory-tile .char-tile-name{width:100%;white-space:normal;overflow:visible;text-overflow:clip;min-height:2.6em;line-height:1.3;display:grid;place-items:center}.accessory-none{font-size:36px;font-weight:300;color:#baab94}.host-setup-panel:has(.avatar-picker){width:min(580px,100%);max-width:580px}#joinSetupCharacters>.avatar-picker{flex:1 1 auto}#joinSetupView #joinSetupCharacters{height:auto;flex:1 1 0;overflow:hidden}#joinSetupView .field:has(#joinSetupCharacters){overflow:hidden}#joinSetupView>:not(.field:has(#joinSetupCharacters)){flex-shrink:0}#joinSetupCharacters .avatar-picker-panel .char-grid{max-height:none}@media(max-width:560px){.avatar-picker{gap:8px}.avatar-stage{gap:12px;padding:20px 12px 12px}.avatar-preview .avatar{--avatar-size: 76px !important}.avatar-preview-copy strong{font-size:16px}.avatar-preview-detail{font-size:11px}.avatar-surprise{padding:7px}.avatar-picker .char-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.avatar-picker .char-tile-name{font-size:9px}.avatar-tabs button{font-size:12px;padding:9px 3px}}@media(max-height:740px){#joinSetupView.active-view{padding-top:64px;gap:8px}#joinSetupView .join-setup-header .display{font-size:26px;margin:2px 0}#joinSetupView .join-setup-header .muted{display:none}.join-setup .avatar-stage{padding-top:12px;padding-bottom:8px}.join-setup .avatar-preview .avatar{--avatar-size: 56px !important}.join-setup .avatar-preview-copy strong{font-size:14px}}:root{--yg-black: #090a0c;--yg-surface: #111316;--yg-surface-raised: #181b1f;--yg-lime: #e2ff39;--yg-warm-white: #f4f1e8;--yg-coral: #ff5a47;--yg-muted: #9a9da3;--yg-border: rgba(244, 241, 232, .12);--bg-void: var(--yg-black);--bg-deep: var(--yg-surface);--text-primary: var(--yg-warm-white);--text-muted: var(--yg-muted);--border-faint: var(--yg-border);--surface-glass: rgba(244, 241, 232, .03);--surface-blur: blur(16px) saturate(140%);--theme-bg: var(--yg-black);--theme-accent: var(--yg-lime);--theme-glow: var(--yg-lime);--theme-primary-bg: var(--yg-lime);--theme-surface: var(--surface-glass);--theme-display: "Archivo Black", "Manrope", "Inter", system-ui, sans-serif;--theme-display-tracking: 0;--theme-display-transform: none;--motion-scene-duration: .7s;--motion-scene-easing: cubic-bezier(.22, 1, .36, 1);--motion-ui-duration: .15s;--motion-ui-easing: cubic-bezier(.4, 0, .2, 1);--motion-snappy: .25s;--motion-flow: .6s;--motion-cinematic: .9s;--ease-out-expo: cubic-bezier(.22, 1, .36, 1);--motion-fast: .16s;--motion-base: .28s;--motion-slow: .6s;--motion-hero: .9s;--ease-brand: cubic-bezier(.16, .8, .24, 1);--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--s-8: 64px;--s-9: 96px;--s-10: 128px;--type-xs: 12px;--type-sm: 14px;--type-base: 16px;--type-lg: 20px;--type-xl: 28px;--type-2xl: 40px;--type-3xl: 56px;--type-4xl: 84px;--z-atmosphere: 0;--z-bg-panel: 10;--z-surface: 20;--z-hud: 50;--z-overlay: 100;--font-body: "Manrope", "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--font-arabic: "Noto Sans Arabic", system-ui, sans-serif}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}button,input{font:inherit;color:inherit}button{background:none;border:0;cursor:pointer}a{color:inherit;text-decoration:none}html{background:var(--bg-void);color:var(--text-primary);font-family:var(--font-body);font-size:var(--type-base);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{min-height:100vh;position:relative;overflow-x:hidden}:lang(ar),:lang(ku){font-family:var(--font-arabic)}[dir=rtl] .mega-subtitle,[dir=rtl] .hero-tagline,[dir=rtl] .hero-body,[dir=rtl] .hero-hint,[dir=rtl] .hero-badge,[dir=rtl] .cta-create,[dir=rtl] .cta-join,[dir=rtl] .cta-local-text strong,[dir=rtl] .cta-local-text span,[dir=rtl] .cta-local-tag,[dir=rtl] .feat-text strong,[dir=rtl] .feat-text span,[dir=rtl] .main-nav button,[dir=rtl] .lang-switch button,[dir=rtl] .shelf-eyebrow,[dir=rtl] .shelf-card-kicker,[dir=rtl] .shelf-card-title,[dir=rtl] .shelf-card-desc,[dir=rtl] .shelf-card-enter,[dir=rtl] .shelf-back-top,[dir=rtl] .shelf-footer-title,[dir=rtl] .shelf-footer-sub,[dir=rtl] .book-kicker,[dir=rtl] .book-title,[dir=rtl] .book-tagline,[dir=rtl] .create-picker-eyebrow,[dir=rtl] .create-picker-option-text strong,[dir=rtl] .create-picker-option-text span,[dir=rtl] .create-picker-cancel,[dir=rtl] .gi-back,[dir=rtl] .gi-eyebrow,[dir=rtl] .gi-slogan,[dir=rtl] .gi-description,[dir=rtl] .gi-tag,[dir=rtl] .gi-cta,[dir=rtl] .gi-hint,[dir=rtl] .gi-section-eyebrow,[dir=rtl] .gi-section-title,[dir=rtl] .gi-stat-label,[dir=rtl] .gi-stat-value,[dir=rtl] .gi-step-title,[dir=rtl] .gi-step-desc,[dir=rtl] .gi-role-name,[dir=rtl] .gi-role-desc,[dir=rtl] .gi-role-badge,[dir=rtl] .gi-bottom-title,[dir=rtl] .gi-bottom-sub,[dir=rtl] .gi-about-body,[dir=rtl] .gi-about-briefing,[dir=rtl] .gi-category-title,[dir=rtl] .gi-category-diff,[dir=rtl] .gi-categories-stats,[dir=rtl] .gi-setup-group-title,[dir=rtl] .shelf-title,[dir=rtl] .scroll-hint{letter-spacing:normal;text-transform:none}[dir=rtl] .gi-title,[dir=rtl] .gi-section-title,[dir=rtl] .gi-bottom-title,[dir=rtl] .shelf-title,[dir=rtl] .mega-title,[dir=rtl] .book-title{letter-spacing:0;text-transform:none}[dir=rtl] .gi-tag,[dir=rtl] .gi-stat-label,[dir=rtl] .gi-role-badge,[dir=rtl] .gi-category-diff,[dir=rtl] .gi-step-title{letter-spacing:0}[dir=rtl] .hero-body,[dir=rtl] .gi-description,[dir=rtl] .gi-about-body,[dir=rtl] .gi-step-desc,[dir=rtl] .gi-role-desc{text-align:start}.atmosphere{position:fixed;inset:0;z-index:var(--z-atmosphere);pointer-events:none;background:var(--theme-bg);transition:background .6s var(--motion-scene-easing)}.atmosphere:before,.atmosphere:after{content:"";position:absolute;inset:0;pointer-events:none}.shell{position:relative;z-index:var(--z-surface);min-height:100vh;display:flex;flex-direction:column}.hud{position:fixed;z-index:var(--z-hud);top:calc(var(--s-4) + env(safe-area-inset-top));right:calc(var(--s-4) + env(safe-area-inset-right));display:flex;gap:var(--s-2);align-items:center}.lang-switch{display:flex;gap:var(--s-1);background:var(--theme-surface);backdrop-filter:var(--surface-blur);-webkit-backdrop-filter:var(--surface-blur);padding:var(--s-1);border-radius:999px;border:1px solid var(--border-faint)}.lang-switch button{padding:6px 12px;border-radius:999px;font-size:var(--type-xs);color:var(--text-muted);transition:color var(--motion-ui-duration) var(--motion-ui-easing),background var(--motion-ui-duration) var(--motion-ui-easing)}.lang-switch button:hover,.lang-switch button[aria-current=true]{color:var(--text-primary);background:#ffffff0d}.main-nav{position:fixed;z-index:var(--z-hud);top:var(--s-4);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:4px;padding:6px;background:#08060e8c;backdrop-filter:var(--surface-blur);-webkit-backdrop-filter:var(--surface-blur);border:1px solid var(--border-faint);border-radius:999px}.main-nav button{padding:8px 16px;border-radius:999px;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);background:transparent;border:0;cursor:pointer;transition:color var(--motion-ui-duration) var(--motion-ui-easing),background var(--motion-ui-duration) var(--motion-ui-easing);white-space:nowrap}.main-nav button:hover{color:var(--yg-lime);background:#e2ff391a}.main-nav button[aria-current=true]{color:var(--yg-lime);background:#e2ff3924}.main-nav button:focus-visible{outline:2px solid var(--yg-lime);outline-offset:2px}@media(max-width:1080px){.main-nav{display:none}}.brand{position:fixed;z-index:var(--z-hud);top:calc(var(--s-4) + env(safe-area-inset-top));left:calc(var(--s-4) + env(safe-area-inset-left));display:flex;align-items:center;gap:var(--s-2);color:var(--text-primary);font-family:var(--theme-display);letter-spacing:var(--theme-display-tracking);text-transform:var(--theme-display-transform)}.brand-mark{width:42px;height:42px;object-fit:contain;background:transparent;border:0;animation:yg-logo-arrive .72s var(--ease-out-expo) both}@keyframes yg-logo-arrive{0%{opacity:0;transform:translateY(6px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}.brand-text strong{display:block;font-size:var(--type-sm);font-weight:600;letter-spacing:.08em}.brand-text span{display:block;font-size:var(--type-xs);color:var(--text-muted);letter-spacing:.04em}.view{display:none;flex:1;padding:var(--s-9) var(--s-5) var(--s-7);max-width:1200px;margin:0 auto;width:100%}.view.active-view{display:flex;flex-direction:column;gap:var(--s-6);animation:scene-in var(--motion-scene-duration) var(--motion-scene-easing)}@keyframes scene-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);padding:14px 28px;border-radius:12px;font-family:var(--font-body);font-size:var(--type-base);font-weight:600;letter-spacing:.02em;border:1px solid transparent;transition:transform var(--motion-ui-duration) var(--motion-ui-easing),background var(--motion-ui-duration) var(--motion-ui-easing),box-shadow var(--motion-ui-duration) var(--motion-ui-easing)}.btn-primary{background:var(--theme-primary-bg, var(--theme-accent));color:var(--bg-void);box-shadow:0 0 0 0 var(--theme-glow)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 22px -10px var(--theme-glow);filter:brightness(1.06)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--theme-surface);backdrop-filter:var(--surface-blur);-webkit-backdrop-filter:var(--surface-blur);color:var(--text-primary);border-color:var(--border-faint)}.btn-secondary:hover{border-color:var(--theme-accent);color:var(--theme-glow)}.btn-ghost{background:transparent;color:var(--text-muted);padding:8px 16px}.btn-ghost:hover{color:var(--text-primary)}.btn-danger{background:#b4323c26;border-color:#b4323c66;color:#ff8080}input,select,textarea{font-size:max(16px,1em)}:focus-visible{outline:2px solid var(--theme-glow);outline-offset:2px;border-radius:6px}.toast{position:fixed;z-index:var(--z-overlay);bottom:var(--s-7);left:50%;transform:translate(-50%);padding:var(--s-3) var(--s-5);border-radius:999px;background:#111316eb;backdrop-filter:var(--surface-blur);-webkit-backdrop-filter:var(--surface-blur);border:1px solid var(--border-faint);color:var(--text-primary);font-size:var(--type-sm);opacity:1;transition:opacity .3s ease-out}.toast.hidden{opacity:0;pointer-events:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.1s!important}.atmosphere:before,.atmosphere:after{animation:none!important}}.app-footer{position:relative;z-index:var(--z-surface);padding:var(--s-5) var(--s-4) calc(var(--s-5) + env(safe-area-inset-bottom));background:linear-gradient(180deg,transparent,rgba(0,0,0,.55));text-align:center;pointer-events:auto}.app-footer-text{margin:0;display:inline-flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:6px;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;color:var(--text-muted)}.app-footer-mark{color:var(--yg-lime)}.app-footer-brand{color:var(--text-primary);font-family:var(--theme-display);font-size:12px;letter-spacing:.04em;text-transform:none}body:has(#joinView.active-view) .app-footer,body:has(#adminView.active-view) .app-footer,body:has(#pendingView.active-view) .app-footer,body:has(#playerRoomView.active-view) .app-footer{display:none}.spy-hud,.theme-fx .hud-text,.theme-fx .code-col{display:none}[data-theme=spy-game] .theme-fx .hud-text,[data-theme=spy-game] .theme-fx .code-col{display:block}img[loading=lazy]{opacity:0;background-color:#0a0a1299;transition:opacity .32s cubic-bezier(.22,1,.36,1)}img[loading=lazy].lazy-loaded,img[loading=lazy].loaded{opacity:1}@media(prefers-reduced-motion:reduce){img[loading=lazy]{transition:none}}body[data-perf=low] .atmosphere:before,body[data-perf=low] .atmosphere:after{animation:none!important;opacity:.55}body[data-perf=low] .atmosphere,body[data-perf=low] .atmosphere:before,body[data-perf=low] .atmosphere:after{filter:none!important}@media(max-width:600px){:root{--surface-blur: none}}body[data-perf=low]{--surface-blur: none}body[data-perf=low] *,body[data-perf=low] *:before,body[data-perf=low] *:after{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}@media(max-width:600px){.local-play-content,.local-play #localPlayBack,.home-stage .cta-local{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}@media(max-width:600px){.glow-breathe,.atmosphere:before,.atmosphere:after{animation:none!important}}@media(prefers-contrast:more){:root{--border-faint: rgba(255, 255, 255, .18);--text-muted: #b0b0b8}}.home .hero{text-align:center;padding:var(--s-7) 0 var(--s-6)}.eyebrow{display:inline-block;font-family:var(--font-mono);font-size:var(--type-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);padding:6px 12px;border:1px solid var(--border-faint);border-radius:999px;margin-bottom:var(--s-4)}.display{font-family:var(--theme-display);font-weight:700;font-size:clamp(var(--type-2xl),6vw,var(--type-4xl));letter-spacing:var(--theme-display-tracking);text-transform:var(--theme-display-transform);line-height:1.05;margin:0 0 var(--s-3)}.lede{font-size:var(--type-lg);color:var(--text-muted);max-width:60ch;margin:0 auto;line-height:1.55}.games-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--s-5);margin-top:var(--s-6)}.game-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--s-3);padding:var(--s-7) var(--s-5) var(--s-5);border-radius:20px;background:var(--surface-glass);backdrop-filter:var(--surface-blur);-webkit-backdrop-filter:var(--surface-blur);border:1px solid var(--border-faint);cursor:pointer;transition:transform .3s var(--motion-scene-easing),box-shadow .3s var(--motion-scene-easing),border-color .3s var(--motion-scene-easing);isolation:isolate;overflow:hidden}.game-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,var(--card-glow, transparent) 0%,transparent 65%);opacity:.3;transition:opacity .3s ease-out;z-index:-1}.game-card:hover{transform:translateY(-6px);border-color:var(--card-glow, var(--border-faint));box-shadow:0 16px 48px -16px var(--card-glow, transparent)}.game-card:hover:before{opacity:.7}.game-card[data-theme=vampire-village]{--card-glow: #e4002b;--card-accent: #e4002b}.game-card[data-theme=mafia-classic]{--card-glow: #ff6b35;--card-accent: #ff6b35}.game-card[data-theme=spy-game]{--card-glow: #22d3ee;--card-accent: #22d3ee}.game-card[data-theme=football-player-guess]{--card-glow: #22c55e;--card-accent: #22c55e}.game-card[data-theme=who-am-i]{--card-glow: #fbbf24;--card-accent: #fbbf24}.game-card[data-theme=most-likely-to]{--card-glow: #f0c257;--card-accent: #d4af37}.game-icon{font-size:64px;line-height:1;filter:drop-shadow(0 4px 16px rgba(0,0,0,.4))}.game-card strong{font-family:var(--theme-display);font-size:var(--type-xl);font-weight:700}.game-card .muted{color:var(--text-muted);font-size:var(--type-sm);text-align:center;max-width:24ch}.join-shortcut{margin-top:var(--s-6);display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);padding:var(--s-4) var(--s-5);border-radius:16px;background:var(--surface-glass);backdrop-filter:var(--surface-blur);-webkit-backdrop-filter:var(--surface-blur);border:1px solid var(--border-faint)}.join-shortcut strong{display:block;font-weight:600}.join-shortcut span{display:block;color:var(--text-muted);font-size:var(--type-sm)}@media(max-width:640px){.join-shortcut{flex-direction:column;align-items:stretch;text-align:center}}.view.game-info{max-width:none;padding:0;width:100%}.view.game-info.active-view{display:block;padding:0;gap:0}.gi-page{position:relative;width:100%;display:flex;flex-direction:column;background:linear-gradient(180deg,#050308,#0a0a14);color:var(--text-primary)}.gi-back{position:absolute;top:calc(clamp(96px,9vh,120px) + env(safe-area-inset-top));left:clamp(var(--s-4),4vw,var(--s-6));z-index:10;display:inline-flex;align-items:center;gap:var(--s-2);padding:8px 16px;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;background:#08060e9e;border:1px solid var(--theme-accent, rgba(212, 175, 55, .35));color:var(--theme-glow, #f3d77a);border-radius:999px;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform var(--motion-snappy),border-color var(--motion-snappy),box-shadow var(--motion-snappy)}.gi-back:hover{transform:translate(-2px);border-color:var(--theme-glow, #f3d77a);box-shadow:0 0 24px color-mix(in srgb,var(--theme-glow, #f3d77a) 35%,transparent)}.gi-back:focus-visible{outline:2px solid var(--theme-glow, #f3d77a);outline-offset:3px}.gi-back-arrow{font-size:14px;line-height:1}.gi-hero{position:relative;isolation:isolate;padding:clamp(140px,18vh,200px) clamp(var(--s-5),6vw,96px) clamp(var(--s-6),5vh,var(--s-7));overflow:hidden}.gi-hero-bg{position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse at 70% 40%,color-mix(in srgb,var(--theme-glow, #d4af37) 18%,transparent) 0%,transparent 55%),radial-gradient(ellipse at 25% 90%,color-mix(in srgb,var(--theme-accent, #8b1538) 14%,transparent) 0%,transparent 60%),linear-gradient(180deg,#08050e,#02010a)}.gi-hero--has-image .gi-hero-bg{background:linear-gradient(180deg,rgba(5,3,10,.45) 0%,transparent 18%,transparent 64%,rgba(5,3,10,.55) 86%,rgba(5,3,10,.92) 100%),linear-gradient(90deg,#020206e0,#0202068c 28%,#0202062e 52%,#0202064d 82%,#020206a6),var(--gi-hero-bg-image, none) center/cover no-repeat;background-color:#050308}@media(max-width:768px){.gi-hero--has-image .gi-hero-bg{background-image:linear-gradient(180deg,rgba(5,3,10,.45) 0%,transparent 18%,transparent 64%,rgba(5,3,10,.55) 86%,rgba(5,3,10,.92) 100%),linear-gradient(90deg,#020206e0,#0202068c 28%,#0202062e 52%,#0202064d 82%,#020206a6),var(--gi-hero-bg-image-mobile, var(--gi-hero-bg-image, none))}}.gi-hero-bg:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,color-mix(in srgb,var(--theme-glow, #d4af37) 8%,transparent) 0%,transparent 40%),repeating-linear-gradient(115deg,transparent 0 80px,rgba(255,255,255,.012) 80px 81px);pointer-events:none}.gi-hero--has-image .gi-hero-vignette:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 25% 80%,color-mix(in srgb,var(--theme-accent, #8b1538) 18%,transparent),transparent 55%),radial-gradient(ellipse at 75% 30%,color-mix(in srgb,var(--theme-glow, #d4af37) 10%,transparent),transparent 50%);filter:blur(36px);animation:gi-mist-drift 18s ease-in-out infinite;pointer-events:none}@keyframes gi-mist-drift{0%,to{transform:translate(0);opacity:.7}50%{transform:translate(2%,-1.5%);opacity:1}}.gi-hero-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 100%,color-mix(in srgb,var(--theme-accent, #8b1538) 18%,transparent) 0%,transparent 55%),radial-gradient(ellipse at 50% 50%,transparent 30%,rgba(0,0,0,.55) 100%);pointer-events:none;z-index:1}.gi-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(var(--s-5),4vw,var(--s-9));align-items:center}.gi-hero-copy{display:flex;flex-direction:column;gap:var(--s-3)}.gi-title-row{display:flex;align-items:center;gap:var(--s-3)}.gi-theme-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--theme-accent, #c41e3a);filter:drop-shadow(0 0 12px color-mix(in srgb,var(--theme-accent, #c41e3a) 65%,transparent)) drop-shadow(0 0 4px color-mix(in srgb,var(--theme-glow, #d4af37) 35%,transparent))}.gi-theme-icon--glyph{font-size:22px;line-height:1;color:var(--theme-glow, #f3d77a);text-shadow:0 0 14px color-mix(in srgb,var(--theme-glow, #d4af37) 55%,transparent);filter:none}.gi-theme-icon--svg{width:30px;height:14px;display:block}.gi-eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:color-mix(in srgb,var(--theme-glow, #d4af37) 70%,var(--text-muted));margin:0}.gi-title{font-family:var(--theme-display, "Cinzel"),serif;font-weight:800;font-size:clamp(48px,6vw,88px);letter-spacing:.05em;line-height:.96;margin:0;background:linear-gradient(180deg,#ffffff 0%,color-mix(in srgb,var(--theme-glow, #d4af37) 90%,white) 55%,var(--theme-accent, #8b1538) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 36px color-mix(in srgb,var(--theme-accent, #8b1538) 30%,transparent));text-transform:uppercase}.gi-slogan{font-family:var(--theme-display, "Cinzel"),serif;font-weight:700;font-size:clamp(16px,1.4vw,22px);letter-spacing:.32em;text-transform:uppercase;color:var(--theme-glow, #f3d77a);margin:0;text-shadow:0 0 18px color-mix(in srgb,var(--theme-glow, #d4af37) 45%,transparent)}.gi-description{color:#e8dec6c7;font-size:14px;line-height:1.7;max-width:56ch;margin:0}.gi-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--s-2)}.gi-tag{display:inline-flex;align-items:center;padding:6px 14px;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:color-mix(in srgb,var(--theme-glow, #d4af37) 70%,var(--text-primary));background:#08060e8c;border:1px solid color-mix(in srgb,var(--theme-accent, #d4af37) 35%,transparent);border-radius:999px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.gi-actions{display:flex;flex-wrap:wrap;gap:var(--s-3);margin-top:var(--s-3)}.gi-actions-center{justify-content:center}.gi-cta{display:inline-flex;align-items:center;gap:10px;padding:14px 26px;font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;border-radius:6px;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:transform var(--motion-snappy),box-shadow var(--motion-snappy),background var(--motion-snappy),border-color var(--motion-snappy)}.gi-cta-primary{background:linear-gradient(180deg,var(--theme-accent, #8b1538) 0%,color-mix(in srgb,var(--theme-accent, #8b1538) 65%,#000) 100%);color:#fff1e0;border-color:color-mix(in srgb,var(--theme-glow, #d4af37) 35%,transparent);box-shadow:0 0 24px color-mix(in srgb,var(--theme-accent, #8b1538) 50%,transparent),inset 0 1px #ffffff2e}.gi-cta-primary:hover{transform:translateY(-2px);box-shadow:0 0 36px color-mix(in srgb,var(--theme-accent, #8b1538) 85%,transparent),inset 0 1px #ffffff47;border-color:var(--theme-glow, #d4af37)}.gi-cta-secondary{background:#06040a9e;color:var(--text-primary);border-color:color-mix(in srgb,var(--theme-accent, #8b1538) 55%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.gi-cta-secondary:hover{transform:translateY(-2px);border-color:var(--theme-accent, #8b1538);box-shadow:0 0 24px color-mix(in srgb,var(--theme-accent, #8b1538) 38%,transparent)}.gi-cta-ghost{background:#120c048c;color:color-mix(in srgb,var(--theme-glow, #d4af37) 75%,var(--text-primary));border-color:color-mix(in srgb,var(--theme-glow, #d4af37) 30%,transparent)}.gi-cta-ghost:hover{color:var(--theme-glow, #f3d77a);border-color:color-mix(in srgb,var(--theme-glow, #d4af37) 60%,transparent);background:#1c1204a6;box-shadow:0 0 22px color-mix(in srgb,var(--theme-glow, #d4af37) 25%,transparent)}.gi-cta:focus-visible{outline:2px solid var(--theme-glow, #d4af37);outline-offset:3px}.gi-cta-icon{font-size:14px;line-height:0;font-weight:800}.gi-hint{display:inline-flex;align-items:center;gap:var(--s-2);color:var(--text-muted);font-size:11px;letter-spacing:.06em;margin:0}.gi-hint-icon{color:color-mix(in srgb,var(--theme-glow, #d4af37) 75%,transparent);font-size:13px}.gi-poster{display:grid;place-items:center}.gi-poster-frame{position:relative;width:min(440px,90%);aspect-ratio:2 / 3;overflow:hidden;border-radius:8px;padding:8px;background:linear-gradient(180deg,color-mix(in srgb,var(--theme-accent, #8b1538) 18%,#0a0610),#050308);isolation:isolate;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--theme-glow, #d4af37) 55%,transparent),inset 0 0 0 3px #000000c7,inset 0 0 0 4px color-mix(in srgb,var(--theme-glow, #d4af37) 70%,transparent),0 30px 70px -20px #000000e6,0 0 48px color-mix(in srgb,var(--theme-accent, #8b1538) 25%,transparent);animation:gi-poster-breathe 5s ease-in-out infinite}@keyframes gi-poster-breathe{0%,to{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--theme-glow, #d4af37) 55%,transparent),inset 0 0 0 3px #000000c7,inset 0 0 0 4px color-mix(in srgb,var(--theme-glow, #d4af37) 70%,transparent),0 30px 70px -20px #000000e6,0 0 48px color-mix(in srgb,var(--theme-accent, #8b1538) 25%,transparent)}50%{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--theme-glow, #d4af37) 80%,transparent),inset 0 0 0 3px #000000c7,inset 0 0 0 4px color-mix(in srgb,var(--theme-glow, #d4af37) 95%,transparent),0 30px 70px -20px #000000e6,0 0 64px color-mix(in srgb,var(--theme-accent, #8b1538) 45%,transparent)}}.gi-poster-image{width:100%;height:100%;object-fit:cover;object-position:center top;border-radius:4px;filter:contrast(1.06) brightness(.92) saturate(1.05);display:block}.gi-poster-frame .theme-fx{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.5;mix-blend-mode:screen}.gi-section,.gi-about,.gi-bottom{position:relative;padding:clamp(var(--s-6),5.5vh,72px) clamp(var(--s-5),6vw,96px);isolation:isolate;overflow:hidden}.gi-sections-wrap{position:relative;isolation:isolate}.gi-sections-wrap--has-image{background:linear-gradient(180deg,#05030ad9,#05030a59 8%,#05030a33,#05030a66 92%,#05030ad9),var(--gi-sections-bg-image, none) center / cover no-repeat fixed;background-color:#050308}@media(max-width:768px){.gi-sections-wrap--has-image{background-image:linear-gradient(180deg,#05030ad9,#05030a59 8%,#05030a33,#05030a66 92%,#05030ad9),var(--gi-sections-bg-image-mobile, var(--gi-sections-bg-image, none));background-attachment:scroll}}.gi-sections-wrap--has-image:before{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse at 20% 30%,color-mix(in srgb,var(--theme-accent, #8b1538) 14%,transparent),transparent 55%),radial-gradient(ellipse at 80% 70%,color-mix(in srgb,var(--theme-glow, #d4af37) 10%,transparent),transparent 60%);filter:blur(28px);pointer-events:none;animation:gi-sections-mist 22s ease-in-out infinite}@keyframes gi-sections-mist{0%,to{transform:translate(0);opacity:.7}50%{transform:translate(1.5%,-1%);opacity:1}}.gi-sections-wrap--has-image .gi-section,.gi-sections-wrap--has-image .gi-about{background:transparent}.gi-section:before,.gi-about:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 18% 30%,color-mix(in srgb,var(--theme-accent, #8b1538) 10%,transparent),transparent 55%),radial-gradient(ellipse at 82% 80%,color-mix(in srgb,var(--theme-glow, #d4af37) 8%,transparent),transparent 60%),linear-gradient(180deg,#02020666,#05030a99);pointer-events:none}.gi-sections-wrap--has-image .gi-section:before,.gi-sections-wrap--has-image .gi-about:before{background:radial-gradient(ellipse at 18% 30%,color-mix(in srgb,var(--theme-accent, #8b1538) 10%,transparent),transparent 55%),radial-gradient(ellipse at 82% 80%,color-mix(in srgb,var(--theme-glow, #d4af37) 8%,transparent),transparent 60%)}.gi-section:after,.gi-about:after{content:"";position:absolute;inset:12%;z-index:-1;background:radial-gradient(ellipse at 50% 0%,color-mix(in srgb,var(--theme-accent, #8b1538) 6%,transparent),transparent 65%);filter:blur(30px);pointer-events:none;animation:gi-section-pulse 14s ease-in-out infinite}@keyframes gi-section-pulse{0%,to{transform:translate(0);opacity:.85}50%{transform:translate(1%,-1.5%);opacity:1}}.gi-section-eyebrow,.gi-about .gi-section-eyebrow{display:inline-flex;align-items:center;gap:var(--s-3);font-family:var(--font-mono);font-size:10px;letter-spacing:.45em;text-transform:uppercase;color:color-mix(in srgb,var(--theme-glow, #d4af37) 70%,var(--text-muted));margin:0}.gi-section-eyebrow:before,.gi-section-eyebrow:after{content:"";width:clamp(40px,5vw,80px);height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--theme-glow, #d4af37) 60%,transparent))}.gi-section-eyebrow:after{background:linear-gradient(90deg,color-mix(in srgb,var(--theme-glow, #d4af37) 60%,transparent),transparent)}.gi-ornament{color:var(--theme-glow, #d4af37);font-size:13px;text-shadow:0 0 12px color-mix(in srgb,var(--theme-glow, #d4af37) 60%,transparent)}.gi-section-title{font-family:var(--theme-display, "Cinzel"),serif;font-weight:800;font-size:clamp(28px,4vw,48px);letter-spacing:.05em;line-height:1;margin:var(--s-2) 0 0;text-transform:uppercase;background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--theme-glow, #d4af37) 92%,white) 60%,color-mix(in srgb,var(--theme-glow, #d4af37) 50%,var(--theme-accent, #8b1538)));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.gi-section-header{display:flex;flex-direction:column;align-items:center;gap:var(--s-2);text-align:center;margin-bottom:var(--s-5)}.gi-about-panel{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(var(--s-5),4vw,var(--s-7));padding:clamp(var(--s-5),4vw,var(--s-6));border-radius:22px;background:linear-gradient(180deg,#120a10c7,#08040ad9),radial-gradient(ellipse at 20% 50%,color-mix(in srgb,var(--theme-accent, #8b1538) 10%,transparent),transparent 60%);border:1px solid color-mix(in srgb,var(--theme-glow, #d4af37) 22%,rgba(255,255,255,.05));backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);box-shadow:inset 0 1px #ffffff0a,inset 0 0 0 1px color-mix(in srgb,var(--theme-accent, #8b1538) 18%,transparent),0 24px 60px -24px #000000d9;position:relative;z-index:1}.gi-about-panel:before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(ellipse at 100% 100%,color-mix(in srgb,var(--theme-glow, #d4af37) 8%,transparent),transparent 55%);pointer-events:none;z-index:0}.gi-about-left{display:flex;flex-direction:column;gap:var(--s-3);position:relative;z-index:1}.gi-divider{width:96px;height:2px;margin:var(--s-2) 0;background:linear-gradient(90deg,var(--theme-glow, #d4af37) 0%,var(--theme-accent, #8b1538) 100%);border-radius:999px;box-shadow:0 0 14px color-mix(in srgb,var(--theme-glow, #d4af37) 45%,transparent)}.gi-about-body{font-size:15px;line-height:1.75;color:#e8dec6c7;max-width:62ch;margin:0}.gi-stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3);position:relative;z-index:1}.gi-stat{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-4);background:#0a0812a6;border:1px solid color-mix(in srgb,var(--theme-glow, #d4af37) 22%,rgba(255,255,255,.05));border-radius:14px;backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%);box-shadow:0 12px 24px -16px #000c;transition:border-color var(--motion-snappy),transform var(--motion-snappy)}.gi-stat:hover{transform:translateY(-2px);border-color:var(--theme-glow, #d4af37)}.gi-stat-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:radial-gradient(circle at 50% 30%,color-mix(in srgb,var(--theme-glow, #d4af37) 25%,transparent),transparent 70%),linear-gradient(180deg,#281c0880,#080402a6);color:var(--theme-glow, #f3d77a);font-size:17px;font-weight:700;flex-shrink:0;border:1px solid color-mix(in srgb,var(--theme-glow, #d4af37) 45%,transparent);box-shadow:0 0 16px color-mix(in srgb,var(--theme-glow, #d4af37) 22%,transparent)}.gi-stat-text{display:flex;flex-direction:column;gap:2px;min-width:0}.gi-stat-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--text-muted)}.gi-stat-value{font-family:var(--theme-display, "Cinzel"),serif;font-size:17px;font-weight:700;color:var(--text-primary)}.gi-steps{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:stretch;gap:var(--s-3)}.gi-step{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:var(--s-5) var(--s-4) var(--s-4);text-align:center;background:linear-gradient(180deg,#120a10c7,#080408d9),radial-gradient(ellipse at 50% 0%,color-mix(in srgb,var(--theme-accent, #8b1538) 12%,transparent),transparent 65%);border:1px solid color-mix(in srgb,var(--theme-glow, #d4af37) 24%,rgba(255,255,255,.05));border-radius:16px;backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%);box-shadow:inset 0 1px #ffffff0a,0 14px 28px -16px #000000bf;transition:transform var(--motion-snappy),border-color var(--motion-snappy),box-shadow var(--motion-snappy)}.gi-step:hover{transform:translateY(-6px);border-color:var(--theme-glow, #d4af37);box-shadow:inset 0 1px #ffffff14,0 22px 40px -16px color-mix(in srgb,var(--theme-glow, #d4af37) 40%,transparent),0 0 28px color-mix(in srgb,var(--theme-accent, #8b1538) 22%,transparent)}.gi-step-symbol{font-family:var(--theme-display, "Cinzel"),serif;font-size:15px;line-height:1;color:var(--theme-glow, #f3d77a);text-shadow:0 0 10px color-mix(in srgb,var(--theme-glow, #d4af37) 50%,transparent);margin-top:2px}.gi-step-number{width:52px;height:52px;margin:0 auto;display:grid;place-items:center;border-radius:50%;font-family:var(--theme-display, "Cinzel"),serif;font-weight:800;font-size:18px;letter-spacing:.04em;color:var(--theme-glow, #f3d77a);background:radial-gradient(circle at 50% 30%,color-mix(in srgb,var(--theme-glow, #d4af37) 25%,transparent),transparent 70%),linear-gradient(180deg,#281c0899,#080402bf);border:1px solid color-mix(in srgb,var(--theme-glow, #d4af37) 55%,transparent);box-shadow:0 0 20px color-mix(in srgb,var(--theme-glow, #d4af37) 30%,transparent)}.gi-step-title{font-family:var(--theme-display, "Cinzel"),serif;font-weight:700;font-size:16px;letter-spacing:.04em;color:var(--text-primary);margin:0}.gi-step-desc{font-size:12.5px;line-height:1.55;color:#e8dec6b3;margin:0}.gi-step-arrow{display:grid;place-items:center;color:color-mix(in srgb,var(--theme-glow, #d4af37) 65%,transparent);font-size:22px;font-weight:700;text-shadow:0 0 14px color-mix(in srgb,var(--theme-accent, #8b1538) 40%,transparent);animation:gi-arrow-pulse 3s ease-in-out infinite}@keyframes gi-arrow-pulse{0%,to{opacity:.6;transform:translate(0)}50%{opacity:1;transform:translate(4px)}}.gi-roles{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--s-4)}.gi-role{position:relative;display:grid;grid-template-columns:96px minmax(0,1fr);grid-template-rows:auto auto;column-gap:18px;row-gap:6px;align-items:start;padding:var(--s-4);background:linear-gradient(180deg,#120a0eb3,#080408c7),var(--badge-bg, rgba(0, 0, 0, .35));border:1px solid var(--badge-border, rgba(255, 255, 255, .08));border-radius:18px;backdrop-filter:blur(10px) saturate(130%);-webkit-backdrop-filter:blur(10px) saturate(130%);box-shadow:inset 0 1px #ffffff0a,0 14px 28px -16px #000c;transition:transform var(--motion-snappy),border-color var(--motion-snappy),box-shadow var(--motion-snappy);isolation:isolate;min-width:0}.gi-role[data-badge=evil]{--badge-color: #ff5470;--badge-border: rgba(255, 84, 112, .45);--badge-bg: rgba(196, 30, 58, .16)}.gi-role[data-badge=village]{--badge-color: #5ddc8d;--badge-border: rgba(93, 220, 141, .4);--badge-bg: rgba(50, 160, 92, .16)}.gi-role[data-badge=special]{--badge-color: #5dc7ff;--badge-border: rgba(93, 199, 255, .45);--badge-bg: rgba(63, 184, 175, .16)}.gi-role[data-badge=citizen]{--badge-color: #f3d77a;--badge-border: rgba(212, 175, 55, .45);--badge-bg: rgba(212, 175, 55, .16)}.gi-role:before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,var(--badge-color) 0%,transparent 60%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.45;pointer-events:none}.gi-role:hover{transform:translateY(-4px);border-color:var(--badge-color);box-shadow:0 20px 40px -18px color-mix(in srgb,var(--badge-color) 45%,transparent)}.gi-role-icon{grid-row:span 2;grid-column:1;width:96px;height:96px;display:grid;place-items:center;border-radius:16px;font-size:38px;line-height:1;background:radial-gradient(circle at 50% 30%,color-mix(in srgb,var(--badge-color) 18%,transparent),transparent 65%),var(--badge-bg, rgba(0, 0, 0, .4));border:1px solid var(--badge-border);box-shadow:inset 0 0 16px #00000080,0 0 26px color-mix(in srgb,var(--badge-color) 32%,transparent);filter:drop-shadow(0 0 6px rgba(0,0,0,.6));position:relative;isolation:isolate;overflow:hidden;flex-shrink:0}.gi-role-icon--glyph{font-family:var(--theme-display, "Cinzel"),serif;font-size:40px;color:var(--badge-color, var(--theme-glow));text-shadow:0 0 18px color-mix(in srgb,var(--badge-color, var(--theme-glow)) 50%,transparent)}.gi-role-icon--image{padding:0;font-size:0}.gi-role-image{width:100%;height:100%;object-fit:cover;object-position:center 22%;display:block;filter:contrast(1.06) brightness(.96) saturate(1.05);transition:transform var(--motion-flow) var(--ease-out-expo),filter var(--motion-snappy)}.gi-role:hover .gi-role-image{transform:scale(1.05);filter:contrast(1.12) brightness(1) saturate(1.12)}.gi-role-icon--image:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 30%,transparent 35%,rgba(0,0,0,.45) 100%);pointer-events:none}.gi-role-body{grid-column:2;grid-row:1;display:flex;flex-direction:column;gap:4px;min-width:0;overflow:hidden}.gi-role-name{font-family:var(--theme-display, "Cinzel"),serif;font-weight:700;font-size:18px;letter-spacing:.04em;color:var(--badge-color);margin:0;text-shadow:0 0 12px color-mix(in srgb,var(--badge-color) 35%,transparent)}.gi-role-desc{font-size:13px;line-height:1.55;color:#e8dec6bf;margin:0}.gi-role-badge{grid-column:2;grid-row:2;justify-self:start;align-self:end;display:inline-flex;margin-top:var(--s-1);padding:4px 10px;font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--badge-color);background:var(--badge-bg);border:1px solid var(--badge-border);border-radius:999px}.gi-categories{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--s-3)}.gi-category{position:relative;display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);background:linear-gradient(180deg,#1c0e289e,#0c0616c7);border:1px solid color-mix(in srgb,var(--theme-accent, #a380ff) 28%,rgba(255,255,255,.05));border-radius:14px;backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%);box-shadow:inset 0 1px #ffffff0a,0 10px 22px -14px #000000bf;transition:transform var(--motion-snappy),border-color var(--motion-snappy),box-shadow var(--motion-snappy);isolation:isolate;min-width:0}.gi-category:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,color-mix(in srgb,var(--theme-accent, #a380ff) 50%,transparent) 0%,transparent 50%,color-mix(in srgb,var(--theme-glow, #f3d77a) 45%,transparent) 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.7;transition:opacity var(--motion-snappy)}.gi-category:hover{transform:translateY(-3px);border-color:var(--theme-accent, #a380ff);box-shadow:inset 0 1px #ffffff14,0 18px 32px -14px color-mix(in srgb,var(--theme-accent, #a380ff) 45%,transparent),0 0 22px color-mix(in srgb,var(--theme-glow, #f3d77a) 22%,transparent)}.gi-category:hover:before{opacity:1}.gi-category-icon{width:50px;height:50px;display:grid;place-items:center;flex-shrink:0;border-radius:12px;color:var(--gi-cat-icon, var(--theme-glow, #f3d77a));background:radial-gradient(circle at 50% 30%,color-mix(in srgb,var(--gi-cat-icon, var(--theme-accent)) 24%,transparent),transparent 65%),linear-gradient(180deg,#0e0618b3,#06020ce0);border:1px solid color-mix(in srgb,var(--gi-cat-icon, var(--theme-accent)) 45%,transparent);box-shadow:inset 0 0 10px color-mix(in srgb,var(--gi-cat-icon, var(--theme-accent)) 22%,transparent),0 0 14px color-mix(in srgb,var(--gi-cat-icon, var(--theme-glow)) 22%,transparent);transition:color var(--motion-snappy),border-color var(--motion-snappy),box-shadow var(--motion-snappy)}.gi-category-icon svg{width:22px;height:22px;display:block;stroke:currentColor;fill:none}.gi-category[data-difficulty=easy],.gi-category[data-difficulty=kids],.gi-category[data-difficulty=quick]{--gi-cat-icon: #6fe9df}.gi-category[data-difficulty=medium],.gi-category[data-difficulty=long]{--gi-cat-icon: #f3d77a}.gi-category[data-difficulty=hard]{--gi-cat-icon: #ff7da8}.gi-category[data-difficulty=expert]{--gi-cat-icon: #ff5470}.gi-category[data-difficulty=adults]{--gi-cat-icon: #d28cff}.gi-category:hover .gi-category-icon{box-shadow:inset 0 0 12px color-mix(in srgb,var(--gi-cat-icon, var(--theme-accent)) 35%,transparent),0 0 22px color-mix(in srgb,var(--gi-cat-icon, var(--theme-glow)) 40%,transparent)}.gi-category-text{display:flex;flex-direction:column;gap:4px;min-width:0}.gi-category-title{font-family:var(--theme-display, "Cinzel"),serif;font-weight:700;font-size:14px;letter-spacing:.04em;color:var(--text-primary);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gi-category-diff{font-family:var(--font-mono);font-size:9px;letter-spacing:.28em;text-transform:uppercase;font-weight:700;align-self:flex-start;padding:3px 8px;border-radius:999px;border:1px solid currentColor}.gi-category[data-difficulty=easy] .gi-category-diff{color:#6fe9df}.gi-category[data-difficulty=medium] .gi-category-diff{color:var(--theme-glow, #f3d77a)}.gi-category[data-difficulty=hard] .gi-category-diff{color:#ff7da8}.gi-category[data-difficulty=expert] .gi-category-diff{color:#ff5470}.gi-category[data-difficulty=kids] .gi-category-diff{color:#a3ffd6}.gi-category[data-difficulty=adults] .gi-category-diff{color:#d28cff}.gi-category[data-difficulty=quick] .gi-category-diff{color:#6fe9df}.gi-category[data-difficulty=long] .gi-category-diff{color:var(--theme-glow, #f3d77a)}.gi-categories--preview{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));max-width:920px;margin:0 auto}.gi-categories-stats{margin:var(--s-4) auto 0;padding:10px 20px;max-width:720px;text-align:center;font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:lowercase;color:#e8dec6a6;border:1px solid color-mix(in srgb,var(--theme-glow, #f3d77a) 18%,rgba(255,255,255,.04));border-radius:999px;background:#08060e66;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.gi-categories-stats strong{color:var(--theme-glow, #f3d77a);font-weight:800;font-size:14px;letter-spacing:.06em}.gi-cta-choose-cats{align-self:center;margin:var(--s-4) auto 0}.gi-setup-overlay{position:fixed;inset:0;z-index:var(--z-overlay);background:#020206b3;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:grid;grid-template-rows:minmax(0,1fr);align-items:safe center;justify-items:center;padding:calc(var(--s-5) + env(safe-area-inset-top)) var(--s-5) calc(var(--s-5) + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;opacity:0;transition:opacity var(--motion-snappy) ease-out}.gi-setup-overlay.visible{opacity:1}.gi-setup-panel{position:relative;width:min(960px,100%);max-height:100%;display:flex;flex-direction:column;gap:var(--s-5);padding:var(--s-6) clamp(var(--s-4),3vw,var(--s-6));border-radius:20px;background:linear-gradient(180deg,#120a1cf5,#08040ef5);border:1px solid color-mix(in srgb,var(--theme-glow, #f3d77a) 26%,rgba(255,255,255,.05));box-shadow:inset 0 1px #ffffff0d,0 32px 80px -24px #000000e6;transform:translateY(12px) scale(.98);opacity:0;transition:transform var(--motion-flow) var(--ease-out-expo),opacity var(--motion-flow) ease-out}.gi-setup-overlay.visible .gi-setup-panel{transform:translateY(0) scale(1);opacity:1}.gi-setup-header{display:flex;flex-direction:column;align-items:center;gap:var(--s-2);text-align:center;flex-shrink:0}.gi-setup-groups{display:flex;flex-direction:column;gap:var(--s-5);min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-right:var(--s-2);scrollbar-width:thin;scrollbar-color:rgba(212,175,55,.25) transparent}.gi-setup-groups::-webkit-scrollbar{width:6px}.gi-setup-groups::-webkit-scrollbar-thumb{background:#d4af3740;border-radius:999px}.gi-setup-group-title{display:inline-flex;align-items:center;gap:var(--s-2);margin:0 0 var(--s-3);font-family:var(--theme-display, "Cinzel"),serif;font-size:16px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--theme-glow, #f3d77a)}.gi-categories--setup{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--s-2)}.gi-setup-footer{display:flex;justify-content:center;gap:var(--s-3);padding-top:var(--s-3);border-top:1px solid color-mix(in srgb,var(--theme-glow, #f3d77a) 14%,transparent);flex-shrink:0}@media(max-width:640px){.gi-setup-panel{padding:var(--s-5) var(--s-3)}.gi-categories--setup{grid-template-columns:1fr}.gi-setup-footer{flex-direction:column-reverse}}.gi-bottom{position:relative;overflow:hidden;isolation:isolate;padding:clamp(40px,6vh,80px) clamp(16px,3vw,48px) clamp(48px,8vh,100px)}.gi-bottom-bg{position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse at 50% 50%,color-mix(in srgb,var(--theme-accent, #8b1538) 14%,transparent) 0%,transparent 60%),linear-gradient(180deg,#0a0612,#02010a)}.gi-bottom-bg:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 100%,color-mix(in srgb,var(--theme-glow, #d4af37) 10%,transparent),transparent 55%),radial-gradient(ellipse at 30% 80%,color-mix(in srgb,var(--theme-accent, #8b1538) 10%,transparent),transparent 55%);pointer-events:none}.gi-bottom-panel{position:relative;z-index:1;width:min(1280px,calc(100% - 96px));max-width:none;margin:0 auto;padding:clamp(48px,8vh,72px) clamp(28px,5vw,48px);min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-4);text-align:center;border-radius:28px;border:1px solid color-mix(in srgb,var(--theme-glow, #d4af37) 32%,rgba(255,255,255,.04));background:linear-gradient(90deg,#060306c7,#06030680,#06030640,#06030680,#060306c7),radial-gradient(ellipse at 50% 38%,color-mix(in srgb,var(--theme-accent, #8b1538) 16%,transparent),transparent 60%);box-shadow:inset 0 1px #ffffff0d,inset 0 0 0 1px color-mix(in srgb,var(--theme-accent, #8b1538) 22%,transparent),inset 0 0 100px #00000080,0 30px 70px -24px #000000e6;overflow:hidden;isolation:isolate}.gi-bottom--has-image .gi-bottom-panel{background:linear-gradient(90deg,#060306b8,#0603066b,#06030633,#0603066b,#060306b8),radial-gradient(ellipse at 50% 38%,color-mix(in srgb,var(--theme-accent, #8b1538) 14%,transparent),transparent 60%),var(--gi-bottom-bg-image, none) center / cover no-repeat}@media(max-width:768px){.gi-bottom--has-image .gi-bottom-panel{background-image:linear-gradient(90deg,#060306b8,#0603066b,#06030633,#0603066b,#060306b8),radial-gradient(ellipse at 50% 38%,color-mix(in srgb,var(--theme-accent, #8b1538) 14%,transparent),transparent 60%),var(--gi-bottom-bg-image-mobile, var(--gi-bottom-bg-image, none))}}.gi-bottom-panel:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,color-mix(in srgb,var(--theme-glow, #d4af37) 60%,transparent) 0%,transparent 45%,color-mix(in srgb,var(--theme-accent, #8b1538) 65%,transparent) 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:1}.gi-bottom-panel:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 18% 80%,color-mix(in srgb,var(--theme-accent, #8b1538) 18%,transparent),transparent 55%),radial-gradient(ellipse at 82% 30%,color-mix(in srgb,var(--theme-glow, #d4af37) 10%,transparent),transparent 55%);filter:blur(24px);pointer-events:none;animation:gi-bottom-mist 16s ease-in-out infinite;z-index:0}@keyframes gi-bottom-mist{0%,to{transform:translate(0);opacity:.7}50%{transform:translate(2%,-1%);opacity:1}}.gi-bottom-panel>*{position:relative;z-index:2}@media(max-width:768px){.gi-bottom-panel{width:calc(100% - 32px);padding:clamp(40px,6vh,56px) clamp(20px,4vw,32px);min-height:280px;border-radius:20px}}[data-theme=spy-game] .gi-about-panel{background:repeating-linear-gradient(0deg,transparent 0 39px,rgba(93,199,255,.045) 39px 40px),repeating-linear-gradient(90deg,transparent 0 39px,rgba(93,199,255,.045) 39px 40px),linear-gradient(180deg,#080e1cd1,#040810eb),radial-gradient(ellipse at 20% 50%,rgba(63,184,175,.12),transparent 60%);border-color:#5dc7ff52;box-shadow:inset 0 1px #5dc7ff14,inset 0 0 0 1px #3fb8af38,0 0 36px #3fb8af2e,0 24px 60px -24px #000000d9}[data-theme=spy-game] .gi-about-panel:before{background:radial-gradient(ellipse at 100% 100%,rgba(93,199,255,.08),transparent 55%)}[data-theme=spy-game] .gi-about-panel:after{content:"";position:absolute;inset:8px;pointer-events:none;z-index:0;--bk: rgba(93, 199, 255, .6);--bs: 22px;--bt: 1.5px;background:linear-gradient(var(--bk),var(--bk)) top left / var(--bs) var(--bt) no-repeat,linear-gradient(var(--bk),var(--bk)) top left / var(--bt) var(--bs) no-repeat,linear-gradient(var(--bk),var(--bk)) top right / var(--bs) var(--bt) no-repeat,linear-gradient(var(--bk),var(--bk)) top right / var(--bt) var(--bs) no-repeat,linear-gradient(var(--bk),var(--bk)) bottom left / var(--bs) var(--bt) no-repeat,linear-gradient(var(--bk),var(--bk)) bottom left / var(--bt) var(--bs) no-repeat,linear-gradient(var(--bk),var(--bk)) bottom right / var(--bs) var(--bt) no-repeat,linear-gradient(var(--bk),var(--bk)) bottom right / var(--bt) var(--bs) no-repeat;filter:drop-shadow(0 0 6px rgba(93,199,255,.55))}.gi-about-briefing{display:inline-flex;align-items:center;gap:8px;padding:4px 12px;font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.4em;text-transform:uppercase;color:#c1e8f5f2;background:#041220b3;border:1px solid rgba(93,199,255,.55);border-radius:4px;align-self:flex-start;position:relative;z-index:1}.gi-about-briefing-dot{width:6px;height:6px;border-radius:50%;background:#6fe9df;box-shadow:0 0 10px #6fe9df;animation:spy-briefing-pulse 1.4s ease-in-out infinite}@keyframes spy-briefing-pulse{0%,to{opacity:1}50%{opacity:.25}}[data-theme=spy-game] .gi-stat{background:repeating-linear-gradient(0deg,transparent 0 7px,rgba(93,199,255,.025) 7px 8px),linear-gradient(180deg,#0a101cc7,#04080ee0);border:1px solid rgba(63,184,175,.32);border-top:2px solid rgba(93,199,255,.55);box-shadow:inset 0 0 0 1px #5dc7ff0f,0 12px 24px -16px #000c,0 0 18px #3fb8af1a}[data-theme=spy-game] .gi-stat:hover{border-color:#5dc7ffb3;border-top-color:#6fe9dfe6;box-shadow:inset 0 0 0 1px #5dc7ff1f,0 14px 28px -14px #5dc7ff59,0 0 28px #3fb8af40}[data-theme=spy-game] .gi-stat-icon{background:radial-gradient(circle at 50% 30%,rgba(93,199,255,.28),transparent 65%),linear-gradient(180deg,#041220a6,#020810d9);border-color:#5dc7ff8c;color:#6fe9df;box-shadow:inset 0 0 8px #3fb8af38,0 0 16px #5dc7ff47}[data-theme=spy-game] .gi-stat-value{color:#cfeefd}[data-theme=spy-game] .gi-step{background:repeating-linear-gradient(45deg,transparent 0 18px,rgba(93,199,255,.025) 18px 19px),linear-gradient(180deg,#0a101cd1,#04080eeb),radial-gradient(ellipse at 50% 0%,rgba(93,199,255,.1),transparent 65%);border:1px solid rgba(63,184,175,.3);box-shadow:inset 0 1px #5dc7ff0f,0 14px 28px -16px #000000bf}[data-theme=spy-game] .gi-step:after{content:"";position:absolute;inset:6px;pointer-events:none;--bk: rgba(93, 199, 255, .5);--bs: 14px;--bt: 1px;background:linear-gradient(var(--bk),var(--bk)) top left / var(--bs) var(--bt) no-repeat,linear-gradient(var(--bk),var(--bk)) top left / var(--bt) var(--bs) no-repeat,linear-gradient(var(--bk),var(--bk)) top right / var(--bs) var(--bt) no-repeat,linear-gradient(var(--bk),var(--bk)) top right / var(--bt) var(--bs) no-repeat,linear-gradient(var(--bk),var(--bk)) bottom left / var(--bs) var(--bt) no-repeat,linear-gradient(var(--bk),var(--bk)) bottom left / var(--bt) var(--bs) no-repeat,linear-gradient(var(--bk),var(--bk)) bottom right / var(--bs) var(--bt) no-repeat,linear-gradient(var(--bk),var(--bk)) bottom right / var(--bt) var(--bs) no-repeat}[data-theme=spy-game] .gi-step:hover{border-color:#5dc7ff99;box-shadow:inset 0 1px #5dc7ff1f,0 18px 36px -16px #5dc7ff59,0 0 28px #3fb8af38}[data-theme=spy-game] .gi-step-number{background:radial-gradient(circle at 50% 30%,rgba(93,199,255,.32),transparent 65%),linear-gradient(180deg,#041220a6,#020810d9);border-color:#5dc7ff99;color:#6fe9df;box-shadow:inset 0 0 10px #3fb8af38,0 0 24px #5dc7ff59}[data-theme=spy-game] .gi-step-symbol{color:#9fdcff;text-shadow:0 0 10px rgba(93,199,255,.6)}[data-theme=spy-game] .gi-step-arrow{color:#6fe9dfd9;font-size:26px;text-shadow:0 0 12px rgba(93,199,255,.7),0 0 22px rgba(63,184,175,.5)}[data-theme=spy-game] .gi-sections-wrap--has-image:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(93,199,255,.024) 3px 4px);pointer-events:none;z-index:0;mix-blend-mode:screen}[data-theme=spy-game] .gi-section .gi-section-header{position:relative}[data-theme=spy-game] .gi-section .gi-section-header:after{content:"";position:absolute;inset:-32px 30% auto;height:120px;background:radial-gradient(ellipse at 50% 0%,rgba(93,199,255,.18),transparent 70%);filter:blur(20px);pointer-events:none;z-index:-1}.gi-bottom-star{margin:0;font-size:26px;color:var(--theme-glow, #f3d77a);text-shadow:0 0 18px color-mix(in srgb,var(--theme-glow, #d4af37) 55%,transparent)}.gi-bottom-title{font-family:var(--theme-display, "Cinzel"),serif;font-weight:800;font-size:clamp(32px,4.2vw,52px);letter-spacing:.05em;line-height:1.1;margin:0;max-width:22ch;background:linear-gradient(180deg,#ffffff 0%,var(--theme-glow, #f3d77a) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 28px color-mix(in srgb,var(--theme-accent, #8b1538) 45%,transparent))}.gi-bottom-sub{font-family:var(--font-mono);font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:#e8dec6b3;margin:0}@media(max-width:900px){.gi-hero{padding:clamp(120px,14vh,160px) var(--s-4) var(--s-6)}.gi-hero-grid{grid-template-columns:1fr;gap:var(--s-5)}.gi-poster-frame{width:min(320px,80%)}.gi-about{grid-template-columns:1fr}.gi-stats{grid-template-columns:1fr 1fr}.gi-steps{grid-template-columns:1fr;gap:var(--s-3)}.gi-step-arrow{transform:rotate(90deg);height:24px}.gi-roles{grid-template-columns:1fr}.gi-title{font-size:clamp(40px,11vw,64px)}.gi-section{padding:var(--s-6) var(--s-4)}.gi-bottom{padding:var(--s-7) var(--s-4)}.gi-back{top:clamp(80px,10vh,110px);left:var(--s-3);padding:6px 12px;font-size:10px}}@media(max-width:560px){.gi-stats{grid-template-columns:1fr}.gi-cta{padding:12px 18px;font-size:11px}}.playbill .game-headline{text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--s-2)}.playbill .game-icon-big{font-size:72px;line-height:1;filter:drop-shadow(0 0 24px var(--theme-glow))}.playbill h2.display{color:var(--theme-glow);margin:0}.playbill .subtitle{color:var(--text-muted);max-width:56ch;font-size:var(--type-lg);line-height:1.55;text-align:center}.section-title{font-family:var(--theme-display);font-size:var(--type-xl);letter-spacing:var(--theme-display-tracking);text-transform:var(--theme-display-transform);border-bottom:1px solid var(--border-faint);padding-bottom:var(--s-2);margin:var(--s-4) 0 var(--s-3);color:var(--theme-accent)}.rules-list,.roles-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-3)}.rules-list li{position:relative;padding-left:var(--s-5);line-height:1.55;color:var(--text-primary)}.rules-list li:before{content:"";position:absolute;left:0;top:.7em;width:12px;height:1px;background:var(--theme-accent)}.roles-list li{display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto;column-gap:var(--s-3);align-items:start;padding:var(--s-3) 0;border-bottom:1px dashed var(--border-faint)}.roles-list li:last-child{border-bottom:0}.roles-list .role-icon{grid-row:span 2;font-size:28px;text-align:center;filter:drop-shadow(0 0 8px var(--theme-glow))}.roles-list strong{font-family:var(--theme-display);font-size:var(--type-lg);color:var(--theme-glow)}.roles-list .muted{color:var(--text-muted);font-size:var(--type-sm)}.cta-row{display:flex;justify-content:center;margin-top:var(--s-4)}.btn.full{width:100%}.join{padding-top:var(--s-7)}.join .backHome{align-self:flex-start;margin-bottom:var(--s-3)}.join-card{margin:0 auto;max-width:480px;width:100%;background:var(--surface-glass);backdrop-filter:var(--surface-blur);-webkit-backdrop-filter:var(--surface-blur);border:1px solid var(--border-faint);border-radius:20px;padding:var(--s-7) var(--s-6);display:flex;flex-direction:column;gap:var(--s-4);text-align:center}.join-card h2{margin:0 0 var(--s-3)}.field{display:flex;flex-direction:column;gap:var(--s-1);text-align:left}.field>span{font-size:var(--type-xs);color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase}.field input{width:100%;padding:14px 16px;background:#0000004d;border:1px solid var(--border-faint);border-radius:10px;color:var(--text-primary);font-size:var(--type-base);transition:border-color var(--motion-ui-duration) var(--motion-ui-easing),box-shadow var(--motion-ui-duration) var(--motion-ui-easing)}.field input:focus{outline:none;border-color:var(--text-primary);box-shadow:0 0 0 3px #ffffff14}.code-input{font-family:var(--font-mono);font-size:var(--type-2xl);letter-spacing:.4em;text-align:center;text-transform:uppercase}.code-input.locked{border-color:var(--text-primary);box-shadow:0 0 0 3px #ffffff1a}.message{color:#ff8080;font-size:var(--type-sm);padding:var(--s-2) var(--s-3);background:#b4323c1f;border:1px solid rgba(180,50,60,.3);border-radius:8px}.message.hidden{display:none}.admin-room{gap:var(--s-5)}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap}.admin-header-actions{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}.admin-header h2{margin:0;color:var(--theme-glow);font-size:clamp(var(--type-xl),4vw,var(--type-2xl))}.room-code-hero{display:flex;flex-direction:column;align-items:center;gap:var(--s-2);padding:var(--s-6) var(--s-5);border-radius:24px;background:var(--theme-surface);backdrop-filter:var(--surface-blur);-webkit-backdrop-filter:var(--surface-blur);border:1px solid var(--border-faint);text-align:center}.code-display{font-family:var(--font-mono);font-weight:700;font-size:clamp(48px,12vw,96px);letter-spacing:.18em;line-height:1;color:var(--theme-glow);text-shadow:0 0 32px var(--theme-glow)}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-4)}@media(max-width:768px){.admin-grid{grid-template-columns:1fr}}[hidden]{display:none!important}.panel{background:var(--theme-surface);backdrop-filter:var(--surface-blur);-webkit-backdrop-filter:var(--surface-blur);border:1px solid var(--border-faint);border-radius:20px;padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-3)}.panel-head{display:flex;align-items:center;justify-content:space-between}.panel-head h3{margin:0;font-family:var(--theme-display);font-size:var(--type-lg);color:var(--theme-accent);letter-spacing:var(--theme-display-tracking);text-transform:var(--theme-display-transform)}.list-count{font-family:var(--font-mono);font-size:var(--type-sm);padding:4px 10px;border-radius:999px;border:1px solid var(--border-faint);color:var(--text-muted)}.players-list{display:flex;flex-direction:column;gap:var(--s-2);min-height:120px}.players-list.empty{display:grid;place-items:center;color:var(--text-muted);font-style:italic;min-height:120px}.player-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);border-radius:10px;background:#0003;border:1px solid var(--border-faint);animation:row-in .35s var(--motion-scene-easing)}@keyframes row-in{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.player-row.off{opacity:.5}.player-row:before{content:"●";color:var(--theme-glow);font-size:10px}.player-row.off:before{content:"◌";color:var(--text-muted)}.player-row .player-name{font-weight:600}.player-row .player-role{color:var(--text-muted);font-size:var(--type-sm)}.player-row .kick-btn,.player-row .host-btn{width:26px;height:26px;line-height:1;border-radius:6px;border:1px solid var(--border-faint);background:transparent;color:var(--text-muted);cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.player-row .kick-btn:hover{color:#e05555;border-color:#e055558c;background:#e055551f}.settings{display:flex;flex-direction:column;gap:var(--s-3)}.settings label{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);font-size:var(--type-sm);color:var(--text-muted)}.settings input[type=number]{width:80px;padding:8px 12px;background:#0000004d;border:1px solid var(--border-faint);border-radius:8px;color:var(--text-primary);font-family:var(--font-mono);text-align:center}.settings input[type=checkbox]{width:20px;height:20px;accent-color:var(--theme-accent)}.settings input[type=text]{flex:1;min-width:0;padding:8px 12px;background:#0000004d;border:1px solid var(--border-faint);border-radius:8px;color:var(--text-primary)}.settings-categories{display:flex;flex-direction:column;gap:var(--s-2)}.settings-categories-label{font-size:var(--type-sm);color:var(--text-muted)}.settings-categories-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-2)}@media(max-width:420px){.settings-categories-grid{grid-template-columns:1fr}}.settings-category-chip{display:flex;align-items:center;gap:var(--s-2);padding:8px 12px;border:1px solid var(--border-faint);border-radius:8px;background:#00000042;color:var(--text-primary);font-size:var(--type-sm);cursor:pointer}.settings-category-chip input{width:18px;height:18px;accent-color:var(--theme-accent)}.button-row{display:flex;gap:var(--s-2);justify-content:flex-end}.admin-actions{display:flex;gap:var(--s-3);justify-content:center}.admin-actions .btn{min-width:180px}.btn-primary.curtain-fill{position:relative;overflow:hidden}.btn-primary.curtain-fill:after{content:"";position:absolute;inset:0;background:var(--theme-glow);transform:translate(-100%);animation:curtain .8s var(--motion-scene-easing) forwards;z-index:-1}@keyframes curtain{0%{transform:translate(-100%)}to{transform:translate(0)}}.player-room{align-items:center;justify-content:center;text-align:center;gap:var(--s-6)}.player-header h2.display{color:var(--theme-glow);margin:0;font-size:clamp(var(--type-xl),5vw,var(--type-3xl))}.player-header .eyebrow{margin-bottom:var(--s-3)}.role-card{position:relative;width:min(320px,80vw);aspect-ratio:3 / 4;border-radius:20px;transform-style:preserve-3d;perspective:1200px;display:grid}.role-card-back,.role-card-face{grid-area:1 / 1;border-radius:20px;backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-3);padding:var(--s-6);background:var(--theme-surface);backdrop-filter:var(--surface-blur);-webkit-backdrop-filter:var(--surface-blur);border:1px solid var(--border-faint);box-shadow:0 24px 64px -24px #0009}.role-card-back{background:repeating-linear-gradient(45deg,rgba(255,255,255,.02) 0 4px,transparent 4px 8px),var(--theme-surface);border-color:var(--theme-accent);transform:rotateY(0)}.role-card.revealed .role-card-back{transform:rotateY(180deg)}.role-card.revealed .role-card-face{transform:rotateY(0)}.role-card:not(.revealed) .role-card-face{transform:rotateY(-180deg)}.role-card-back:before{content:"?";font-size:120px;font-family:var(--theme-display);color:var(--theme-accent);opacity:.6;position:absolute;inset:0;display:grid;place-items:center}.role-card:not(.revealed):not(.assigned-once){animation:heartbeat 1.6s ease-in-out infinite}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.015)}}.role-card-face .role-glow{position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,var(--theme-glow) 0%,transparent 60%);opacity:.08;pointer-events:none}.role-card-face .role-lock{font-size:64px;color:var(--theme-accent);opacity:.5}.role-card-face .role-icon.big{font-size:96px;line-height:1;filter:drop-shadow(0 0 32px var(--theme-glow))}.role-card-face h3{font-family:var(--theme-display);font-size:var(--type-2xl);color:var(--theme-glow);margin:0;letter-spacing:var(--theme-display-tracking);text-transform:var(--theme-display-transform)}.role-card-face p{color:var(--text-muted);max-width:30ch;margin:0;line-height:1.55}.conn-indicator{display:flex;align-items:center;gap:var(--s-2);font-size:var(--type-sm);color:var(--text-muted)}.conn-indicator .dot{width:8px;height:8px;border-radius:50%;background:#4ade80;box-shadow:0 0 8px #4ade8099}.conn-indicator.off{color:#f0b429}.conn-indicator.off .dot{background:#f0b429;box-shadow:0 0 8px #f0b42999;animation:conn-pulse 1.4s ease-in-out infinite}@keyframes conn-pulse{0%,to{opacity:1}50%{opacity:.25}}.conn-banner{position:fixed;z-index:calc(var(--z-overlay) + 10);left:50%;bottom:calc(var(--s-5) + env(safe-area-inset-bottom));transform:translate(-50%,12px);max-width:min(90vw,420px);padding:10px 18px;border-radius:999px;font-size:var(--type-sm);font-weight:600;text-align:center;color:#f5d98a;background:#302208eb;border:1px solid rgba(240,180,41,.45);box-shadow:0 12px 30px -12px #000000e6;backdrop-filter:var(--surface-blur);-webkit-backdrop-filter:var(--surface-blur);opacity:0;pointer-events:none;transition:opacity var(--motion-snappy) ease-out,transform var(--motion-snappy) ease-out}.conn-banner.visible{opacity:1;transform:translate(-50%)}.conn-banner.ok{color:#b8f5c8;background:#0a2e18eb;border-color:#4ade8073}.reveal-overlay{position:fixed;inset:0;z-index:var(--z-overlay);background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:grid;place-items:center;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);opacity:0;transition:opacity .2s ease-out}.reveal-overlay.visible{opacity:1}.reveal-stage{position:relative;width:min(360px,90vw,68vh);aspect-ratio:3 / 4;display:grid;place-items:center}.reveal-burst{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,var(--theme-accent) 0%,transparent 60%);opacity:0;pointer-events:none;filter:blur(4px)}.reveal-card{position:relative;width:100%;height:100%;background:var(--theme-surface);border:1px solid var(--theme-glow);border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-3);padding:var(--s-6);backface-visibility:hidden;transform-style:preserve-3d;box-shadow:0 24px 64px -16px var(--theme-glow)}.reveal-player{margin:0;color:var(--text-muted);font-size:var(--type-xs, 11px);letter-spacing:.22em;text-transform:uppercase}.reveal-icon{font-size:88px;line-height:1;opacity:0;transform:translateY(8px)}.reveal-name{font-family:var(--theme-display);font-size:var(--type-2xl);color:var(--theme-glow);margin:0;opacity:0}.reveal-desc{color:var(--text-primary);max-width:30ch;text-align:center;margin:0;opacity:0;line-height:1.55}.reveal-close{position:absolute;bottom:var(--s-4);right:var(--s-4)}.reveal-dossier{position:relative;width:min(560px,92vw);overflow:hidden;font-family:var(--font-mono);background:linear-gradient(160deg,#101822fa,#090e16fa);border:1px solid color-mix(in srgb,var(--theme-glow) 65%,transparent);border-radius:14px;box-shadow:0 0 60px color-mix(in srgb,var(--theme-glow) 35%,transparent),inset 0 0 40px #0000008c}.reveal-dossier:before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(to bottom,transparent 0 3px,rgba(255,255,255,.018) 3px 4px)}.dossier-scanline{position:absolute;left:0;right:0;top:-30%;height:30%;pointer-events:none;background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--theme-glow) 10%,transparent),transparent);animation:dossier-scan 3.2s linear infinite}@keyframes dossier-scan{0%{transform:translateY(0)}to{transform:translateY(500%)}}.dossier-topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px dashed color-mix(in srgb,var(--theme-glow) 40%,transparent);color:var(--theme-glow);font-size:var(--type-xs, 11px);letter-spacing:.14em}.dossier-brand{font-weight:700}.dossier-status .typewriter{display:inline-block;border-right:2px solid var(--theme-glow);white-space:pre;animation:caret 1s steps(2) infinite}.dossier-status .typewriter.done{animation:none;border-right-color:transparent}@keyframes caret{50%{border-right-color:transparent}}.dossier-stamp{position:absolute;top:52px;right:18px;padding:6px 14px;border:3px solid #ff4d5a;border-radius:6px;color:#ff4d5a;font-weight:800;font-size:var(--type-sm);letter-spacing:.28em;text-transform:uppercase;transform:rotate(-8deg) scale(2.2);opacity:0;box-shadow:0 0 24px #ff4d5a59,inset 0 0 12px #ff4d5a33;mix-blend-mode:screen}.dossier-body{display:flex;flex-direction:column;gap:var(--s-4);padding:var(--s-5) var(--s-5) var(--s-4)}.dossier-row{display:flex;align-items:baseline;gap:var(--s-3)}.dossier-label{display:block;color:var(--text-muted);font-size:var(--type-xs, 11px);letter-spacing:.22em}.dossier-value{color:var(--text-primary);font-size:var(--type-lg);font-weight:700;letter-spacing:.06em}.dossier-identity{display:flex;align-items:center;gap:var(--s-4);padding:var(--s-4);border:1px solid color-mix(in srgb,var(--theme-glow) 35%,transparent);border-radius:10px;background:color-mix(in srgb,var(--theme-glow) 7%,transparent);opacity:0}.dossier-identity-icon{font-size:44px;line-height:1}.dossier-identity-name{margin:2px 0 0;color:var(--theme-glow);font-size:var(--type-2xl);letter-spacing:.08em;text-transform:uppercase;text-shadow:0 0 24px var(--theme-glow)}.reveal-dossier.is-spy .dossier-identity{border-color:#ff4d5a80;background:#ff4d5a12}.reveal-dossier.is-spy .dossier-identity-name{color:#ff5a66;text-shadow:0 0 24px rgba(255,90,102,.8)}.dossier-identity.glitch-in{animation:dossier-glitch .32s steps(6) both}@keyframes dossier-glitch{0%{transform:translate(-6px) skew(-8deg);filter:hue-rotate(40deg)}40%{transform:translate(4px) skew(5deg)}70%{transform:translate(-2px) skew(-2deg)}to{transform:translate(0) skew(0);filter:none}}.dossier-desc{margin:0;color:var(--text-primary);font-size:var(--type-base);line-height:1.65;opacity:0}.dossier-redactions{display:flex;flex-direction:column;gap:7px}.dossier-redactions .redact{height:10px;border-radius:2px;background:#ffffff1f}.dossier-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-top:1px dashed color-mix(in srgb,var(--theme-glow) 40%,transparent);color:var(--text-muted);font-size:var(--type-xs, 11px);letter-spacing:.18em}.dossier-barcode{width:120px;height:16px;background:repeating-linear-gradient(to right,rgba(255,255,255,.55) 0 2px,transparent 2px 5px,rgba(255,255,255,.35) 5px 6px,transparent 6px 10px)}@media(prefers-reduced-motion:reduce){.dossier-scanline{animation:none;opacity:0}.dossier-identity.glitch-in{animation:none}}.character-frame{position:relative;width:100%;aspect-ratio:3 / 4;border-radius:4px;overflow:hidden;background:#000;box-shadow:inset 0 0 60px #0009,0 0 30px #000c,0 0 0 1px var(--theme-glow);animation:char-idle-breathe 5s ease-in-out infinite;transform-origin:center center}@keyframes char-idle-breathe{0%,to{transform:scale(1);filter:brightness(.92) contrast(1.05)}50%{transform:scale(1.012);filter:brightness(.95) contrast(1.08)}}.character-frame img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;transition:transform .8s cubic-bezier(.22,1,.36,1),filter .6s ease-out;filter:contrast(1.05) brightness(.95)}.character-frame .spotlight{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 30%,transparent 0%,rgba(0,0,0,.4) 80%);pointer-events:none;mix-blend-mode:multiply;opacity:.6;transition:opacity .6s;z-index:2}.character-frame .face-glow{position:absolute;top:18%;left:50%;transform:translate(-50%);width:60%;height:30%;background:radial-gradient(ellipse,var(--theme-glow),transparent 70%);mix-blend-mode:screen;opacity:.25;pointer-events:none;animation:char-face-pulse 3s ease-in-out infinite;z-index:2}@keyframes char-face-pulse{0%,to{opacity:.2;transform:translate(-50%) scale(1)}50%{opacity:.4;transform:translate(-50%) scale(1.1)}}.character-frame .theme-fx{position:absolute;inset:0;pointer-events:none;z-index:3;overflow:hidden}.game-card .character-frame{max-width:280px;margin:0 auto}.game-card:hover .character-frame img{transform:scale(1.06);filter:contrast(1.15) brightness(1) saturate(1.1)}.game-card:hover .character-frame .spotlight{opacity:.25}.game-card:hover .character-frame .face-glow{opacity:.5;animation-duration:1.5s}.playbill .character-hero{max-width:360px;margin:0 auto var(--s-4)}.role-card.locked .character-frame img{filter:contrast(1.1) brightness(.25) saturate(0)}.role-card.locked .character-frame .face-glow{opacity:.1}.role-card.revealed .character-frame img{filter:contrast(1.1) brightness(1) saturate(1.1)}.role-card{width:min(360px,90vw);aspect-ratio:auto;height:auto;display:flex;flex-direction:column;align-items:center;gap:var(--s-4);border:none;background:transparent;transform:none;perspective:none;transform-style:flat;box-shadow:none}.role-card .character-frame{width:100%;max-width:320px}.role-card.locked .character-frame{animation:locked-pulse 2s ease-in-out infinite}@keyframes locked-pulse{0%,to{box-shadow:inset 0 0 60px #0009,0 0 30px #000c,0 0 0 1px var(--border-faint)}50%{box-shadow:inset 0 0 60px #0009,0 0 30px #000c,0 0 0 1px var(--theme-accent)}}.role-card-info{text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--s-2);padding:0 var(--s-3)}.role-card-info .role-lock{font-family:var(--theme-display);font-size:48px;color:var(--theme-accent);opacity:.6;line-height:1}.role-card-info .role-icon-small{font-size:40px;line-height:1;filter:drop-shadow(0 0 16px var(--theme-glow))}.role-card-info h3{font-family:var(--theme-display);font-size:var(--type-xl);color:var(--theme-glow);margin:0;letter-spacing:var(--theme-display-tracking);text-transform:var(--theme-display-transform)}.role-card-info p{color:var(--text-muted);max-width:30ch;margin:0;line-height:1.55;font-size:var(--type-sm)}.role-card.revealed .role-card-info h3{animation:revealed-fade .6s ease-out}@keyframes revealed-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.view .leave-btn,.view .backHome,.local-play #localPlayBack{position:sticky;top:calc(clamp(72px,9vh,104px) + env(safe-area-inset-top));z-index:20;align-self:flex-start;margin-bottom:var(--s-4);display:inline-flex;align-items:center;gap:var(--s-2);min-height:44px;padding:10px 22px;border-radius:999px;font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--theme-glow, #f3d77a);background:color-mix(in srgb,var(--theme-accent, #d4af37) 14%,rgba(8,6,14,.78));border:1px solid color-mix(in srgb,var(--theme-accent, #d4af37) 60%,transparent);box-shadow:0 10px 26px -14px #000000f2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform var(--motion-snappy),border-color var(--motion-snappy),background var(--motion-snappy)}.view .leave-btn:before,.view .backHome:before,.local-play #localPlayBack:before{content:"←";font-size:15px;line-height:1}[dir=rtl] .view .leave-btn:before,[dir=rtl] .view .backHome:before,[dir=rtl] .local-play #localPlayBack:before{content:"→"}.view .leave-btn:hover,.view .backHome:hover,.local-play #localPlayBack:hover{transform:translate(-3px);color:var(--theme-glow, #f3d77a);background:color-mix(in srgb,var(--theme-accent, #d4af37) 26%,rgba(8,6,14,.8));border-color:var(--theme-accent, #d4af37)}[dir=rtl] .view .leave-btn:hover,[dir=rtl] .view .backHome:hover,[dir=rtl] .local-play #localPlayBack:hover{transform:translate(3px)}.modal-close{position:absolute;top:12px;inset-inline-end:12px;z-index:5;width:40px;height:40px;display:grid;place-items:center;font-size:16px;line-height:1;border-radius:999px;color:var(--text-primary);background:#ffffff0f;border:1px solid var(--border-faint);transition:background var(--motion-snappy),border-color var(--motion-snappy),transform var(--motion-snappy)}.modal-close:hover{background:#ffffff24;border-color:color-mix(in srgb,var(--theme-accent, #d4af37) 55%,transparent)}.modal-close:active{transform:scale(.94)}.gi-back{position:fixed}.confirm-overlay{position:fixed;inset:0;z-index:calc(var(--z-overlay) + 20);background:#020206a8;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:grid;grid-template-rows:minmax(0,1fr);align-items:safe center;justify-items:center;padding:calc(var(--s-5) + env(safe-area-inset-top)) var(--s-5) calc(var(--s-5) + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;opacity:0;transition:opacity var(--motion-snappy) ease-out}.confirm-overlay.visible{opacity:1}.confirm-overlay.closing,.create-picker-overlay.closing,.gi-setup-overlay.closing{pointer-events:none}.confirm-panel{width:min(420px,100%);max-height:100%;overflow-y:auto;overscroll-behavior:contain;background:linear-gradient(180deg,#14101cf7,#08060ef7);border:1px solid var(--border-faint);border-radius:16px;padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-3);text-align:center;box-shadow:0 32px 80px -16px #000c;transform:translateY(10px) scale(.98);opacity:0;transition:transform var(--motion-flow) var(--ease-out-expo),opacity var(--motion-flow) ease-out}.confirm-overlay.visible .confirm-panel{transform:translateY(0) scale(1);opacity:1}.confirm-title{margin:0;font-size:clamp(18px,2.6vw,22px);font-weight:700;color:var(--text-primary)}.confirm-body{margin:0;color:var(--text-muted);font-size:var(--type-sm);line-height:1.55}.confirm-actions{display:flex;gap:var(--s-3);margin-top:var(--s-2)}.confirm-btn{flex:1 1 0;min-height:48px;padding:12px 16px;border-radius:999px;font-weight:600;font-size:var(--type-sm);border:1px solid var(--border-faint);background:#ffffff0a;color:var(--text-primary);transition:background var(--motion-snappy),border-color var(--motion-snappy),transform var(--motion-snappy)}.confirm-btn:hover{background:#ffffff17}.confirm-btn:active{transform:scale(.98)}.confirm-cancel{background:transparent;color:var(--text-muted)}.confirm-cancel:hover{color:var(--text-primary)}.confirm-ok{font-weight:700;color:var(--theme-glow, #f3d77a);border-color:color-mix(in srgb,var(--theme-accent, #d4af37) 70%,transparent);background:color-mix(in srgb,var(--theme-accent, #d4af37) 30%,transparent)}.confirm-ok:hover{background:color-mix(in srgb,var(--theme-accent, #d4af37) 42%,transparent)}.confirm-ok.danger{border-color:#e04c4c8c;background:#e04c4c2e}.view.lobby.active-view{gap:var(--s-3);height:100vh;height:100dvh;max-height:100dvh;padding-bottom:calc(var(--s-4) + env(safe-area-inset-bottom));overflow:hidden}.view.lobby.active-view .backHome{position:static;margin-bottom:0}.lobby-header{text-align:center}.lobby-header .display{margin:var(--s-1) 0}.lobby-header .muted{margin:0}.lobby-bar{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3)}.lobby-code-row{display:flex;gap:var(--s-2);align-items:stretch}.lobby-code-row .code-input{flex:1;min-width:0}.lobby-code-row .btn{flex-shrink:0}.lobby-list{display:flex;flex-direction:column;gap:var(--s-3);flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-inline:var(--s-1)}.lobby-list.empty{display:grid;place-items:center;min-height:160px}.lobby-empty{margin:0;color:var(--text-muted);font-style:italic;text-align:center}.lobby-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--s-3);padding:var(--s-3);border-radius:14px;border:1px solid var(--border-faint);background:#00000047;animation:row-in .32s var(--motion-scene-easing)}.lobby-row-art{display:grid;place-items:center;width:56px;height:56px;border-radius:10px;border:1px solid var(--border-faint);background:linear-gradient(160deg,#ffffff0f,#0006)}.lobby-row-icon{font-size:26px;line-height:1}.lobby-row-main{display:flex;flex-direction:column;gap:4px;min-width:0}.lobby-room-title{font-family:var(--theme-display);font-size:var(--type-md);color:var(--text-primary)}.lobby-room-host{font-size:var(--type-sm);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lobby-badges{display:flex;flex-wrap:wrap;gap:6px}.lobby-badge{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;border-radius:999px;border:1px solid var(--border-faint);color:var(--text-muted)}.lobby-badge.waiting{color:var(--theme-glow);border-color:color-mix(in srgb,var(--theme-glow) 40%,transparent)}.lobby-badge.running{color:var(--text-muted)}.lobby-row-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.lobby-count{font-size:var(--type-sm);color:var(--text-muted)}.lobby-code{font-family:var(--font-mono);font-size:var(--type-sm);letter-spacing:.2em;color:var(--theme-glow)}.lobby-join{padding:6px 18px}.lobby-actions{display:flex;justify-content:space-between;gap:var(--s-3)}.lobby-actions .btn{flex:1}.lobby-refresh-icon{margin-inline-end:6px}@media(max-width:560px){.view.lobby.active-view{padding-top:var(--s-8)}.lobby-header .eyebrow,.lobby-header .muted{display:none}.lobby-header .display{font-size:clamp(24px,7vw,32px)}.lobby-bar{grid-template-columns:1fr;gap:var(--s-2)}.lobby-bar .field>span{font-size:10px}.lobby-bar input{padding-block:10px}.lobby-row{padding:var(--s-2);gap:var(--s-2)}.lobby-row-art{width:44px;height:44px}.lobby-row-icon{font-size:20px}.lobby-room-title{font-size:var(--type-sm)}.lobby-row{grid-template-columns:auto 1fr;row-gap:var(--s-2)}.lobby-row-side{grid-column:1 / -1;flex-direction:row;align-items:center;justify-content:space-between}.lobby-join{padding:8px 22px}}.view.pending.active-view{display:grid;place-items:center;min-height:60vh}.pending-card{display:flex;flex-direction:column;align-items:center;gap:var(--s-3);text-align:center;max-width:420px;padding:var(--s-6) var(--s-5);border-radius:20px;border:1px solid var(--border-faint);background:var(--theme-surface);backdrop-filter:var(--surface-blur);-webkit-backdrop-filter:var(--surface-blur)}.pending-card .display,.pending-card .muted{margin:0}.pending-spinner{width:46px;height:46px;border-radius:50%;border:3px solid var(--border-faint);border-top-color:var(--theme-glow);animation:pending-spin 1s linear infinite}@keyframes pending-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.pending-spinner{animation-duration:3s}}.requests-list{display:flex;flex-direction:column;gap:var(--s-2)}.requests-list.empty{display:grid;place-items:center;min-height:56px}.requests-empty{margin:0;color:var(--text-muted);font-style:italic}.request-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-2) var(--s-3);border-radius:10px;border:1px solid color-mix(in srgb,var(--theme-glow) 30%,transparent);background:#00000040;animation:row-in .3s var(--motion-scene-easing)}.request-name{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.request-actions{display:flex;gap:var(--s-2);flex-shrink:0}.request-btn{padding:6px 14px;font-size:var(--type-sm)}.player-badge{margin-inline-start:6px;font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;padding:2px 6px;border-radius:999px;border:1px solid color-mix(in srgb,var(--theme-glow) 40%,transparent);color:var(--theme-glow)}.privacy-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3)}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-2) var(--s-3);border-radius:10px;border:1px solid var(--border-faint);background:#0003;cursor:pointer}.switch-row input[type=checkbox]{flex-shrink:0;width:20px;height:20px;accent-color:var(--theme-glow, #d4af37);cursor:pointer}@media(max-width:560px){.privacy-row{grid-template-columns:1fr}.request-row{flex-wrap:wrap}}.host-setup-overlay{position:fixed;inset:0;z-index:calc(var(--z-overlay) + 10);background:#020206a8;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:grid;grid-template-rows:minmax(0,1fr);align-items:safe center;justify-items:center;padding:calc(var(--s-5) + env(safe-area-inset-top)) var(--s-5) calc(var(--s-5) + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;opacity:0;transition:opacity var(--motion-snappy) ease-out}.host-setup-overlay.visible{opacity:1}.host-setup-overlay.closing{pointer-events:none}.host-setup-panel{width:min(460px,100%);max-height:100%;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:var(--s-4);padding:var(--s-5);border-radius:16px;border:1px solid var(--border-faint);background:linear-gradient(180deg,#14101cf7,#08060ef7);box-shadow:0 32px 80px -16px #000c;transform:translateY(10px) scale(.98);opacity:0;transition:transform var(--motion-flow) var(--ease-out-expo),opacity var(--motion-flow) ease-out}.host-setup-overlay.visible .host-setup-panel{transform:translateY(0) scale(1);opacity:1}.host-setup-title{margin:0;text-align:center;font-family:var(--theme-display, "Cinzel"),serif;font-size:var(--type-lg);color:var(--text-primary)}.host-setup-group{margin:0;padding:0;border:0;display:flex;flex-direction:column;gap:var(--s-2)}.host-setup-group legend{padding:0;font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted)}.field-hint{color:var(--text-muted);font-size:var(--type-sm)}.host-setup-error{margin:0;color:#ff8a8a;font-size:var(--type-sm)}.host-setup-actions{display:flex;flex-direction:column;gap:var(--s-2)}.avatar{--avatar-size: 32px;flex-shrink:0;display:inline-grid;place-items:center;width:var(--avatar-size);height:var(--avatar-size);border-radius:50%;overflow:hidden;border:1px solid color-mix(in srgb,var(--theme-glow, #d4af37) 32%,transparent);background:#00000080}.avatar img{width:100%;height:100%;object-fit:cover;display:block}.avatar--monogram{background:radial-gradient(circle at 30% 25%,color-mix(in srgb,var(--theme-glow, #d4af37) 22%,transparent),transparent 70%),#0000008c}.avatar-monogram{font-family:var(--theme-display, "Cinzel"),serif;font-weight:700;font-size:calc(var(--avatar-size) * .42);line-height:1;color:var(--theme-glow, #d4af37)}.char-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:var(--s-2);grid-auto-rows:max-content;align-content:start;max-height:46vh;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:4px;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--theme-glow, #d4af37) 30%,transparent) transparent}.char-grid::-webkit-scrollbar{width:6px}.char-grid::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--theme-glow, #d4af37) 30%,transparent);border-radius:999px}.char-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:var(--s-2) 4px;border:1px solid var(--border-faint);border-radius:12px;background:#0006;color:var(--text-muted);cursor:pointer;transition:border-color var(--motion-snappy),background var(--motion-snappy),color var(--motion-snappy)}.char-tile .avatar--tile{--avatar-size: 56px;border-width:2px}.char-tile-name{font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.char-tile:hover:not(:disabled){border-color:color-mix(in srgb,var(--theme-glow, #d4af37) 45%,transparent);background:color-mix(in srgb,var(--theme-glow, #d4af37) 8%,rgba(0,0,0,.4));color:var(--text-primary)}.char-tile:focus-visible{outline:2px solid var(--theme-glow, #d4af37);outline-offset:2px}.char-tile[aria-checked=true]{border-color:var(--theme-glow, #d4af37);background:color-mix(in srgb,var(--theme-glow, #d4af37) 14%,rgba(0,0,0,.4));color:var(--text-primary)}.char-tile[aria-checked=true]:after{content:"✓";position:absolute;inset-block-start:-6px;inset-inline-end:-6px;width:18px;height:18px;display:grid;place-items:center;font-size:10px;font-weight:700;color:#14100a;background:var(--theme-glow, #d4af37);border-radius:50%}.char-tile.is-taken{opacity:.3;cursor:not-allowed;filter:grayscale(1)}.view.join-setup.active-view{gap:var(--s-3);max-width:620px;height:100vh;height:100dvh;max-height:100dvh;padding-bottom:calc(var(--s-4) + env(safe-area-inset-bottom));overflow:hidden}#joinSetupBack{align-self:flex-start}.join-setup .field:has(#joinSetupCharacters){flex:1 1 auto;min-height:0}#joinSetupCharacters{height:100%;min-height:0;display:flex}#joinSetupCharacters .char-grid{flex:1 1 auto;max-height:none}#joinSetupSubmit{flex-shrink:0}.join-setup-header{text-align:center}.join-setup-header .display{margin:var(--s-1) 0}.join-setup-header .muted{margin:0}.join-setup-header .eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted);margin:0}.pending-avatar{display:grid;place-items:center}.pending-avatar .avatar{border-width:2px}#playerWelcome{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-3)}.player-row{grid-template-columns:auto auto 1fr auto auto auto}.request-row .avatar{margin-inline-end:2px}@media(max-width:560px){.char-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr))}.char-tile .avatar--tile{--avatar-size: 46px}.view.join-setup.active-view{padding-top:var(--s-8)}.join-setup-header .muted{display:none}.join-setup-header .display{font-size:clamp(22px,6vw,28px)}}.game-stage{position:fixed;inset:0;z-index:var(--z-overlay);display:grid;place-items:start center;overflow-y:auto;overscroll-behavior:contain;padding:calc(var(--s-6) + env(safe-area-inset-top)) calc(var(--s-4) + env(safe-area-inset-right)) calc(var(--s-6) + env(safe-area-inset-bottom)) calc(var(--s-4) + env(safe-area-inset-left));background:radial-gradient(ellipse at 50% 0%,rgba(255,255,255,.05),transparent 60%),var(--theme-bg, var(--bg-void))}body.stage-open{overflow:hidden}.mlt{width:100%;max-width:560px;display:flex;flex-direction:column;gap:var(--s-5);animation:scene-in var(--motion-snappy) var(--ease-out-expo) both}.mlt-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}.mlt-round{font-family:var(--font-mono);font-size:var(--type-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted)}.mlt-clock{font-family:var(--font-mono);font-size:var(--type-lg);font-weight:700;min-width:2.5ch;text-align:center;padding:var(--s-1) var(--s-3);border-radius:10px;border:1px solid var(--border-faint);background:var(--theme-surface);color:var(--theme-glow);font-variant-numeric:tabular-nums}.mlt-clock.urgent{color:#ff8080;border-color:#ff808080;animation:mlt-tick 1s ease-in-out infinite}@keyframes mlt-tick{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.mlt-question{margin:0;font-family:var(--theme-display);font-size:clamp(22px,6vw,32px);line-height:1.3;font-weight:700;text-wrap:balance;color:var(--text-primary)}.mlt-eyebrow{margin:0;font-size:var(--type-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--theme-accent)}.mlt-hint,.mlt-counter{margin:0;font-size:var(--type-sm);color:var(--text-muted)}.mlt-counter{font-variant-numeric:tabular-nums}.mlt-targets{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--s-3)}.mlt-target{display:flex;align-items:center;gap:var(--s-3);min-height:68px;padding:var(--s-3);border-radius:14px;border:1px solid var(--border-faint);background:var(--theme-surface);color:var(--text-primary);font-size:var(--type-base);font-weight:600;text-align:start;transition:transform var(--motion-ui-duration) var(--motion-ui-easing),border-color var(--motion-ui-duration) var(--motion-ui-easing)}.mlt-target:hover:not(:disabled){border-color:var(--theme-accent)}.mlt-target:active:not(:disabled){transform:scale(.98)}.mlt-target.chosen{border-color:var(--theme-accent);box-shadow:0 0 24px -8px var(--theme-glow)}.mlt-target:disabled{opacity:.45}.mlt-target.chosen:disabled{opacity:1}.mlt-target.off{opacity:.4}.mlt-target-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mlt-bars{display:flex;flex-direction:column;gap:var(--s-2)}.mlt-bar{display:grid;grid-template-columns:auto minmax(60px,1fr) 2fr auto;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);border-radius:12px;border:1px solid transparent}.mlt-bar.winner{border-color:var(--theme-accent);background:var(--theme-surface)}.mlt-bar-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.mlt-bar-track{height:10px;border-radius:999px;background:#ffffff12;overflow:hidden}.mlt-bar-fill{display:block;height:100%;border-radius:999px;background:var(--theme-accent);transition:width var(--motion-flow) var(--ease-out-expo)}.mlt-bar-count{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-muted)}.mlt-verdict{margin:0;font-size:var(--type-base);font-weight:600;color:var(--theme-accent);text-wrap:balance}.mlt-advance{width:100%}.mlt-custom-choices{display:flex;gap:var(--s-2)}.mlt-custom-choices .btn{flex:1}.mlt-custom-form{margin-top:var(--s-2)}@media(prefers-reduced-motion:reduce){.mlt,.mlt-clock.urgent{animation:none}.mlt-bar-fill{transition:none}}@media(max-width:400px){.mlt-targets{grid-template-columns:1fr}.mlt-bar{grid-template-columns:auto minmax(52px,1fr) 1.4fr auto}}.mlt-end{padding:6px 12px;font-size:var(--type-xs);letter-spacing:.08em;text-transform:uppercase}.mlt-bar-voters{grid-column:2 / -1;margin-top:2px;font-size:var(--type-xs);line-height:1.4;color:var(--text-muted)}.bluff-lie-row{display:flex;flex-direction:column;gap:var(--s-2)}.bluff-lie-input{width:100%;min-height:64px;padding:var(--s-3);border-radius:14px;border:1px solid var(--border-faint);background:var(--theme-surface);color:var(--text-primary);font-size:var(--type-base);font-family:inherit;resize:none}.bluff-lie-input:focus-visible{outline:2px solid var(--theme-glow);border-color:var(--theme-accent)}.bluff-lie-input:disabled{opacity:.6}.bluff-lie-counter{align-self:flex-end;font-size:var(--type-xs);font-variant-numeric:tabular-nums;color:var(--text-muted)}.bluff-lie-counter.limit{color:#ff8080}.bluff-submit{width:100%}.bluff-options{display:flex;flex-direction:column;gap:var(--s-2)}.bluff-option{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);min-height:56px;padding:var(--s-3);border-radius:14px;border:1px solid var(--border-faint);background:var(--theme-surface);color:var(--text-primary);font-size:var(--type-base);font-weight:600;text-align:start;opacity:0;animation:bluff-option-in var(--motion-ui-duration) var(--ease-out-expo) both;animation-delay:calc(var(--i, 0) * 60ms);transition:transform var(--motion-ui-duration) var(--motion-ui-easing),border-color var(--motion-ui-duration) var(--motion-ui-easing)}@keyframes bluff-option-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.bluff-option:hover:not(:disabled){border-color:var(--theme-accent)}.bluff-option:active:not(:disabled){transform:scale(.98)}.bluff-option-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bluff-option.chosen{border-color:var(--theme-accent);box-shadow:0 0 24px -8px var(--theme-glow)}.bluff-option:disabled{opacity:.45}.bluff-option.chosen:disabled{opacity:1}.bluff-option.own:disabled{opacity:.35}.bluff-reveal-list{display:flex;flex-direction:column;gap:var(--s-2)}.bluff-reveal-row{display:flex;flex-direction:column;gap:2px;padding:var(--s-3);border-radius:14px;border:1px solid var(--border-faint);background:var(--theme-surface);opacity:0;transform:translateY(8px);transition:opacity .42s var(--ease-out-expo),transform .42s var(--ease-out-expo),border-color .42s ease,box-shadow .42s ease}.bluff-reveal-row.shown{opacity:1;transform:translateY(0)}.bluff-reveal-row-text{font-size:var(--type-base);font-weight:600;color:var(--text-primary)}.bluff-reveal-row.lie.shown{border-color:color-mix(in srgb,var(--theme-accent) 45%,transparent)}.bluff-reveal-row.correct.shown{border-color:var(--theme-glow);box-shadow:0 0 28px -6px var(--theme-glow);animation:bluff-correct-flash .7s ease-out}@keyframes bluff-correct-flash{0%{background:color-mix(in srgb,var(--theme-glow) 55%,var(--theme-surface))}to{background:var(--theme-surface)}}.bluff-reveal-meta{font-size:var(--type-xs);line-height:1.4;color:var(--text-muted)}.bluff-reveal-badge{align-self:flex-start;margin-top:2px;padding:2px 8px;border-radius:999px;font-size:var(--type-xs);font-weight:600;color:var(--theme-glow);border:1px solid color-mix(in srgb,var(--theme-glow) 45%,transparent)}.bluff-scoreboard{display:flex;flex-direction:column;gap:var(--s-1);margin-top:var(--s-2)}.bluff-score-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-2) var(--s-3);border-radius:10px}.bluff-score-row.me{background:var(--theme-surface)}.bluff-score-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bluff-score-points{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--theme-accent);font-weight:700}@media(prefers-reduced-motion:reduce){.bluff-option{opacity:1;animation:none}.bluff-reveal-row{opacity:1;transform:none;transition:none}.bluff-reveal-row.correct.shown{animation:none}}.politician-board{display:flex;align-items:center;gap:var(--s-4)}.politician-track{display:flex;gap:5px}.politician-pip{width:14px;height:14px;border-radius:4px;border:1px solid var(--border-faint);background:transparent}.politician-pip.filled.good{background:#4f9d6e;border-color:#4f9d6e}.politician-pip.filled.bad{background:#b5454a;border-color:#b5454a}.politician-track-label{font-size:var(--type-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-inline-end:var(--s-1)}.politician-tracker{display:flex;align-items:center;gap:var(--s-2);margin-inline-start:auto}.politician-tracker .politician-pip{width:10px;height:10px;border-radius:999px}.politician-tracker .politician-pip.filled{background:var(--theme-accent);border-color:var(--theme-accent)}.politician-role-badge{padding:var(--s-4);border-radius:16px;border:1px solid var(--border-faint);background:var(--theme-surface);text-align:center}.politician-role-name{margin:0;font-family:var(--theme-display);font-size:clamp(24px,7vw,34px);font-weight:700;color:var(--theme-glow)}.politician-role-side{margin:var(--s-1) 0 0;font-size:var(--type-sm);color:var(--text-muted)}.politician-allies{display:flex;flex-direction:column;gap:var(--s-2)}.politician-ally-row{display:flex;align-items:center;justify-content:space-between;padding:var(--s-2) var(--s-3);border-radius:10px;background:var(--theme-surface);font-weight:600}.politician-ally-row .badge{font-size:var(--type-xs);color:var(--theme-glow)}.politician-summary{padding:var(--s-3);border-radius:12px;background:var(--theme-surface);font-size:var(--type-sm);color:var(--text-muted);line-height:1.5}.politician-roles-list{display:flex;flex-direction:column;gap:var(--s-2)}.politician-role-row{display:flex;align-items:center;justify-content:space-between;padding:var(--s-2) var(--s-3);border-radius:10px;border:1px solid var(--border-faint)}.politician-role-row .politician-role-tag{font-family:var(--font-mono);font-size:var(--type-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--theme-glow)}.politician-watching{opacity:.55}.player-row .host-btn:hover{color:var(--theme-glow);border-color:var(--theme-glow);background:transparent}.view.home-stage{max-width:none;padding:0;margin:0;width:100%;position:relative;height:100vh}.view.home-stage.active-view{height:100vh;gap:0;display:block;animation:none}.view.worlds-page,.view.how-page,.view.features-page,.view.about-page{max-width:none;padding:0;margin:0;width:100%}.home-stage .stage{position:absolute;inset:0;height:100vh;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth;z-index:0;scrollbar-width:none}.home-stage .stage::-webkit-scrollbar{display:none}.home-slide{position:relative;min-height:100vh;width:100%;overflow:hidden;isolation:isolate}.home-slide .center-fog{position:absolute;bottom:-20%;left:-10%;right:-10%;height:60%;background:radial-gradient(ellipse at 40% 100%,rgba(226,255,57,.07),transparent 60%),radial-gradient(ellipse at 60% 100%,rgba(255,90,71,.06),transparent 60%);filter:blur(40px);pointer-events:none;animation:center-fog-flow 15s ease-in-out infinite;z-index:1}@keyframes center-fog-flow{0%,to{transform:translate(0) scaleX(1);opacity:.7}50%{transform:translate(2%,-3%) scaleX(1.05);opacity:1}}.home-slide .center-particles{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:2}.home-slide .center-particle{position:absolute;width:2px;height:2px;background:#e2ff3973;border-radius:50%;box-shadow:0 0 4px #e2ff39b3;animation:particle-float 12s linear infinite}.home-slide .center-particle:nth-child(1){left:8%;animation-delay:0s}.home-slide .center-particle:nth-child(2){left:18%;animation-delay:-1.5s}.home-slide .center-particle:nth-child(3){left:28%;animation-delay:-3s}.home-slide .center-particle:nth-child(4){left:38%;animation-delay:-4.5s}.home-slide .center-particle:nth-child(5){left:48%;animation-delay:-6s}.home-slide .center-particle:nth-child(6){left:58%;animation-delay:-7.5s}.home-slide .center-particle:nth-child(7){left:68%;animation-delay:-9s}.home-slide .center-particle:nth-child(8){left:78%;animation-delay:-10.5s}.home-slide .center-particle:nth-child(9){left:88%;animation-delay:-1s}.home-slide .center-particle:nth-child(10){left:12%;animation-delay:-2.5s}.home-slide .center-particle:nth-child(11){left:62%;animation-delay:-8s}.home-slide .center-particle:nth-child(12){left:92%;animation-delay:-5.5s}@keyframes particle-float{0%{transform:translateY(100vh) translate(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(-10vh) translate(15px);opacity:0}}.hero-slide{background:linear-gradient(180deg,rgba(9,10,12,.2) 0%,transparent 30%,transparent 62%,rgba(9,10,12,.55) 88%,rgba(9,10,12,.92) 100%),url(/assets/backgrounds/yallagame-arena-background-animated.svg) center / cover no-repeat,#090a0c;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;padding:clamp(96px,9vh,120px) clamp(var(--s-5),5vw,96px) var(--s-5);gap:var(--s-4)}.hero-slide:after{content:"";position:absolute;left:0;right:0;bottom:0;height:220px;background:radial-gradient(ellipse at 50% 110%,rgba(226,255,57,.09),transparent 65%);filter:blur(14px);pointer-events:none;z-index:4}.hero-grid{position:relative;z-index:5;display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center;gap:clamp(var(--s-5),4vw,var(--s-9));align-items:center;flex:1}.hero-left{display:flex;flex-direction:column;align-items:center;gap:var(--s-3);max-width:720px;animation:hero-fade-in var(--motion-cinematic) var(--ease-out-expo) .1s backwards}.hero-left>.hero-brand-row{margin-bottom:var(--s-2)}.hero-left>.hero-tagline{margin-top:var(--s-2)}.hero-left>.hero-actions{margin-top:var(--s-3)}.hero-actions{display:inline-flex;flex-direction:column;align-items:center;gap:var(--s-3);max-width:520px;align-self:center}.hero-actions .cta-local,.hero-actions .cta-row{align-self:center}@keyframes hero-fade-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.hero-brand-row{display:flex;align-items:center;justify-content:center;gap:var(--s-3)}img.hero-brand-mark{width:84px;height:84px;object-fit:contain;background:transparent}.hero-slide .mega-title{font-family:var(--theme-display);font-weight:800;font-size:clamp(44px,5.6vw,88px);letter-spacing:.06em;line-height:.95;color:var(--yg-warm-white);margin:0;text-transform:uppercase}.hero-tagline{font-family:var(--theme-display);font-weight:700;font-size:clamp(18px,1.6vw,26px);letter-spacing:.02em;color:var(--yg-lime);margin:0}.hero-body{font-size:14px;line-height:1.65;color:var(--text-muted);max-width:52ch;margin:0}.cta-row{display:flex;gap:var(--s-3);margin-top:var(--s-3);flex-wrap:wrap}.hero-slide .cta-create,.hero-slide .cta-join{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;border-radius:6px;cursor:pointer;border:1px solid transparent;white-space:nowrap;transition:transform var(--motion-snappy),box-shadow var(--motion-snappy),background var(--motion-snappy),border-color var(--motion-snappy)}.hero-slide .cta-create{background:var(--yg-lime);color:var(--yg-black);box-shadow:inset 0 1px #ffffff40;border-color:transparent}.hero-slide .cta-create:hover{transform:translateY(-2px);filter:brightness(1.06);box-shadow:0 10px 22px -10px #e2ff3999,inset 0 1px #ffffff4d}.hero-slide .cta-create .cta-icon{font-size:18px;line-height:0;font-weight:800}.hero-slide .cta-join{background:#f4f1e80a;color:var(--yg-warm-white);border-color:var(--yg-border);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.hero-slide .cta-join:hover{transform:translateY(-2px);border-color:var(--yg-lime);color:var(--yg-lime)}.hero-slide .cta-join .cta-icon{font-size:14px}.hero-hint{display:inline-flex;align-items:center;gap:var(--s-2);color:var(--text-muted);font-size:11px;letter-spacing:.06em;margin:0}.hero-hint-icon{color:var(--yg-lime);font-size:13px}.hero-slide .cta-local{position:relative;display:inline-flex;align-items:center;gap:var(--s-3);padding:10px 14px 10px 10px;background:#181b1fb8;border:1px solid var(--yg-border);border-radius:14px;color:var(--text-primary);cursor:pointer;min-height:58px;backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);box-shadow:inset 0 1px #ffffff0f,0 12px 28px -14px #000000b3;transition:transform var(--motion-snappy),border-color var(--motion-snappy),box-shadow var(--motion-snappy)}.hero-slide .cta-local:hover{transform:translateY(-2px);border-color:#e2ff3973;box-shadow:inset 0 1px #ffffff14,0 14px 28px -12px #000000bf}.hero-slide .cta-local:hover .cta-local-icon{color:var(--yg-lime);box-shadow:inset 0 0 0 1px #e2ff3980}.hero-slide .cta-local:focus-visible{outline:2px solid var(--yg-lime);outline-offset:2px}.hero-slide .cta-local-icon{flex-shrink:0;width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--yg-surface-raised);color:var(--yg-warm-white);box-shadow:inset 0 0 0 1px var(--yg-border);transition:color var(--motion-snappy),box-shadow var(--motion-snappy)}.hero-slide .cta-local-icon svg{width:20px;height:20px;display:block}.hero-slide .cta-local-text{display:flex;flex-direction:column;text-align:left;line-height:1.2;gap:2px}.hero-slide .cta-local-text strong{font-family:var(--theme-display);font-size:13px;font-weight:700;letter-spacing:.08em;color:var(--yg-warm-white)}.hero-slide .cta-local-text span{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.28em;color:var(--yg-muted);text-transform:uppercase}.hero-slide .cta-local-tag{display:inline-flex;align-items:center;gap:6px;margin-left:var(--s-3);padding:4px 10px;border-radius:999px;background:#ff5a471a;border:1px solid rgba(255,90,71,.32);font-family:var(--font-mono);font-size:8.5px;font-weight:700;letter-spacing:.32em;text-transform:uppercase;color:var(--yg-warm-white)}.hero-slide .cta-local-tag-dot{width:6px;height:6px;border-radius:50%;background:var(--yg-coral);animation:local-tag-pulse 2s ease-in-out infinite}@keyframes local-tag-pulse{0%,to{opacity:.65}50%{opacity:1}}@media(max-width:560px){.hero-slide .cta-local{padding:10px 12px 10px 10px;min-height:62px}.hero-slide .cta-local-tag{display:none}}.feat-card{position:relative;display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3);background:#111316b8;border:1px solid var(--yg-border);border-radius:12px;backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%);box-shadow:0 12px 28px -16px #000000b3;transition:border-color var(--motion-snappy),transform var(--motion-snappy),box-shadow var(--motion-snappy)}.feat-card:hover{transform:translateY(-2px);border-color:#e2ff3959}.feat-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:999px;font-size:20px;flex-shrink:0;border:1px solid var(--yg-border);color:var(--yg-warm-white);background:var(--yg-surface-raised)}.feat-card[data-accent=violet] .feat-icon,.feat-card[data-accent=cyan] .feat-icon{color:var(--yg-lime);border-color:#e2ff3966}.feat-card[data-accent=gold] .feat-icon,.feat-card[data-accent=red] .feat-icon{color:var(--yg-coral);border-color:#ff5a4766}.feat-text{display:flex;flex-direction:column;gap:2px;min-width:0}.feat-text strong{font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--text-primary)}.feat-text span{font-size:11px;color:var(--text-muted);line-height:1.45}.shelf-slide{background:radial-gradient(ellipse 55% 40% at 15% 6%,rgba(226,255,57,.07),transparent 60%),linear-gradient(180deg,rgba(9,10,12,.92) 0%,rgba(9,10,12,.55) 4%,rgba(9,10,12,.2) 10%,transparent 22%,transparent 64%,rgba(9,10,12,.55) 88%,rgba(9,10,12,.92) 100%),#090a0c;display:flex;flex-direction:column;align-items:stretch;padding:clamp(var(--s-6),6vh,var(--s-7)) clamp(var(--s-4),4vw,var(--s-7));gap:var(--s-4)}.shelf-slide>.shelf-header:before{content:"";position:absolute;left:calc(-1*clamp(var(--s-4),4vw,var(--s-7)));right:calc(-1*clamp(var(--s-4),4vw,var(--s-7)));top:calc(-1*clamp(var(--s-6),6vh,var(--s-7)));height:220px;background:radial-gradient(ellipse at 50% 0%,rgba(226,255,57,.07),transparent 65%);filter:blur(14px);pointer-events:none;z-index:0}.shelf-slide:before{content:"";position:absolute;inset:30% 0 12%;background:radial-gradient(ellipse at 50% 100%,rgba(226,255,57,.05),transparent 60%);filter:blur(28px);pointer-events:none;z-index:1;animation:shelf-smoke-drift 22s ease-in-out infinite}@keyframes shelf-smoke-drift{0%,to{transform:translate(0);opacity:.7}50%{transform:translate(1.5%,-1%);opacity:1}}.shelf-header{position:relative;z-index:4;flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:var(--s-2);text-align:center;padding-top:var(--s-2);animation:shelf-fade-in var(--motion-cinematic) var(--ease-out-expo) backwards}@keyframes shelf-fade-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.shelf-eyebrow{display:inline-flex;align-items:center;gap:var(--s-3);font-family:var(--font-mono);font-size:11px;letter-spacing:.45em;text-transform:uppercase;color:#f4f1e8e6;margin:0}.shelf-eyebrow:before,.shelf-eyebrow:after{content:"";width:clamp(60px,8vw,110px);height:1px;background:linear-gradient(90deg,transparent 0%,rgba(226,255,57,.45) 50%,rgba(226,255,57,.7) 100%)}.shelf-eyebrow:after{background:linear-gradient(90deg,rgba(226,255,57,.7) 0%,rgba(226,255,57,.45) 50%,transparent 100%)}.shelf-ornament{color:var(--yg-lime);font-size:14px;line-height:1}.shelf-title{font-family:var(--theme-display);font-weight:800;font-size:clamp(40px,5.4vw,70px);letter-spacing:.07em;line-height:1;margin:var(--s-1) 0 0;color:var(--yg-warm-white);text-transform:uppercase}.shelf-subtitle{color:#f4f1e8bf;font-size:13px;max-width:56ch;line-height:1.6;margin:0;letter-spacing:.04em}.shelf-rail{position:relative;z-index:3;flex:1;min-height:0;display:grid;grid-template-columns:repeat(4,minmax(0,240px));align-items:end;align-content:start;justify-content:center;gap:clamp(var(--s-3),1.6vw,var(--s-5));row-gap:var(--s-7);overflow:visible;padding:var(--s-5) var(--s-3) 0;perspective:1600px;perspective-origin:50% 80%}.shelf-card{position:relative;flex:0 0 auto;width:100%;min-width:0;aspect-ratio:2 / 3;background:transparent;border:0;padding:0;margin:0;cursor:pointer;scroll-snap-align:center;isolation:isolate;transform-style:preserve-3d;opacity:0;transform:translateY(20px);animation:shelf-card-in var(--motion-cinematic) var(--ease-out-expo) forwards;transition:transform var(--motion-flow) var(--ease-out-expo),filter var(--motion-flow) ease-out,opacity var(--motion-flow) ease-out}.shelf-card:before{content:"";position:absolute;left:-3px;top:4px;bottom:4px;width:6px;background:linear-gradient(90deg,#000000f2,#141418d9,#f4f1e81f);border-radius:2px 0 0 2px;box-shadow:-2px 0 6px #0009,inset -1px 0 #f4f1e81a;z-index:0;transform:translate(-100%)}.shelf-card:after{content:"";position:absolute;left:8%;right:8%;bottom:-8px;height:14px;background:radial-gradient(ellipse at 50% 0%,rgba(0,0,0,.7) 0%,transparent 70%);filter:blur(4px);z-index:-1;transition:opacity var(--motion-flow) ease-out,transform var(--motion-flow) var(--ease-out-expo)}.shelf-card[data-position="0"]{animation-delay:.2s}.shelf-card[data-position="1"]{animation-delay:.32s}.shelf-card[data-position="2"]{animation-delay:.44s}.shelf-card[data-position="3"]{animation-delay:.56s}.shelf-card[data-position="4"]{animation-delay:.68s}.shelf-card[data-position="5"]{animation-delay:.8s}@keyframes shelf-card-in{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.shelf-card[data-theme=vampire-village]{--card-accent: #e4002b;--card-glow: #e4002b;--card-bg-from: #2a0510;--card-bg-to: #08020a}.shelf-card[data-theme=mafia-classic]{--card-accent: #ff6b35;--card-glow: #ff6b35;--card-bg-from: #2a1508;--card-bg-to: #08050a}.shelf-card[data-theme=spy-game]{--card-accent: #22d3ee;--card-glow: #22d3ee;--card-bg-from: #04222a;--card-bg-to: #02080c}.shelf-card[data-theme=football-player-guess]{--card-accent: #22c55e;--card-glow: #22c55e;--card-bg-from: #0a3120;--card-bg-to: #06130f}.book-frame{position:relative;width:100%;height:100%;display:grid;grid-template-rows:32px 1fr auto;padding:6px;background:linear-gradient(180deg,var(--card-bg-from, #1a1208) 0%,var(--card-bg-to, #08050a) 100%);border-radius:4px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--yg-border),inset 0 0 0 3px #000000b3,inset 0 0 0 4px #f4f1e824,0 4px 8px #00000080,0 18px 36px -10px #000000d9,0 28px 50px -24px #000000e6;transition:box-shadow var(--motion-flow) ease-out}.book-top,.book-cover,.book-bottom{position:relative;margin:0 6px}.book-top{display:flex;align-items:center;justify-content:center;gap:10px;height:100%;font-family:var(--theme-display);letter-spacing:.3em}.book-ornament{color:var(--card-accent, #e2ff39);font-size:10px;line-height:1;text-shadow:0 0 8px var(--card-glow, #e2ff39)}.book-kicker{font-size:9px;font-weight:700;letter-spacing:.4em;color:#f4f1e8d9;text-transform:uppercase}.book-cover{position:relative;overflow:hidden;border-radius:2px;background:var(--card-bg-to, #000)}.book-backdrop{position:absolute;inset:0;background:linear-gradient(180deg,var(--card-bg-from, #1a1208),var(--card-bg-to, #08050a));z-index:0}.book-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;filter:contrast(1.04) brightness(.92) saturate(1.02);opacity:0;transition:opacity var(--motion-flow) ease-out,transform var(--motion-cinematic) var(--ease-out-expo),filter var(--motion-flow) ease-out;z-index:1}.book-image.loaded{opacity:1}.book-cover:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 35%,transparent 50%,rgba(0,0,0,.35) 100%),linear-gradient(0deg,#000000c7,#0000 38%);z-index:2;pointer-events:none;transition:opacity var(--motion-flow) ease-out}.book-cover .theme-fx{position:absolute;inset:0;z-index:3;opacity:.55;pointer-events:none;transition:opacity var(--motion-flow) ease-out}.book-bottom{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--s-3) 0 var(--s-3);text-align:center;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.6) 100%);margin-top:-40%;padding-top:40%;z-index:4}.book-title{font-family:var(--theme-display);font-weight:800;font-size:clamp(20px,1.8vw,30px);letter-spacing:.07em;color:var(--card-accent, #e2ff39);text-shadow:0 0 18px var(--card-glow, #e2ff39),2px 2px 0 rgba(0,0,0,.7);margin:0;text-transform:uppercase;line-height:1}.book-tagline{font-family:var(--font-mono);font-size:8.5px;font-weight:600;letter-spacing:.3em;color:#f4f1e8c7;margin:0;text-transform:uppercase}.book-emblem{color:var(--card-accent, #e2ff39);font-size:10px;text-shadow:0 0 8px var(--card-glow, #e2ff39);margin-top:2px}.shelf-card:hover{transform:perspective(1200px) translateY(-22px) rotateY(-4deg) rotateX(2deg) scale(1.03);z-index:4}.shelf-card:hover:after{opacity:1;transform:translateY(8px) scaleX(1.15)}.shelf-card:hover .book-frame{box-shadow:inset 0 0 0 1px #f4f1e899,inset 0 0 0 3px #000000b3,inset 0 0 0 4px #f4f1e8cc,0 30px 60px -18px var(--card-glow, rgba(226, 255, 57, .5)),0 4px 12px #0009,0 28px 50px -24px #000000e6}.shelf-card:hover .book-image{transform:scale(1.05);filter:contrast(1.15) brightness(.95) saturate(1.1)}.shelf-card:hover .book-cover:after{opacity:.55}.shelf-card:hover .book-cover .theme-fx{opacity:1}.shelf-rail:hover .shelf-card:not(:hover){opacity:.65;transform:scale(.97);filter:saturate(.8) brightness(.85)}.shelf-card:focus-visible{outline:none}.shelf-card:focus-visible .book-frame{box-shadow:inset 0 0 0 1px #ffffffb3,inset 0 0 0 3px #000000b3,inset 0 0 0 4px var(--card-glow, #e2ff39),0 0 0 4px var(--card-glow, rgba(226, 255, 57, .6)),0 18px 36px -16px #000c}.shelf-card-placeholder{--card-accent: #6e6e7a;--card-glow: #4a4a55;--card-bg-from: #18171f;--card-bg-to: #08070c;cursor:default;opacity:.65}.shelf-card-placeholder:hover{transform:none}.shelf-card-placeholder:hover .book-frame{box-shadow:inset 0 0 0 1px #6e6e7a66,inset 0 0 0 3px #000000b3,inset 0 0 0 4px #6e6e7a80,0 18px 36px -16px #000c}.book-cover-placeholder{display:grid;place-items:center;background:repeating-linear-gradient(45deg,rgba(255,255,255,.02) 0 14px,transparent 14px 28px),linear-gradient(180deg,var(--card-bg-from),var(--card-bg-to))}.book-coming-soon{font-family:var(--theme-display);font-weight:700;font-size:clamp(16px,1.5vw,22px);letter-spacing:.1em;color:#f4f1e859;text-transform:uppercase;text-align:center;line-height:1.1;padding:0 var(--s-3)}.placeholder-tagline{color:#f4f1e873}.shelf-floor{position:relative;z-index:2;height:56px;flex-shrink:0;margin:0 calc(-1*clamp(var(--s-4),4vw,var(--s-7)));background:repeating-linear-gradient(90deg,rgba(0,0,0,.18) 0 1px,transparent 1px 7px,rgba(0,0,0,.1) 7px 8px,transparent 8px 28px),radial-gradient(ellipse at 22% 50%,rgba(0,0,0,.35),transparent 25%),radial-gradient(ellipse at 78% 60%,rgba(0,0,0,.3),transparent 25%),linear-gradient(180deg,#4a2a18,#3a1f10 35%,#21100a 78%,#0e0604);box-shadow:inset 0 1px #e2ff3980,inset 0 2px #ff5a474d,inset 0 8px 14px #e2ff3914,inset 0 -8px 20px #000000d9,0 1px #000000e6,0 12px 24px -8px #000000d9}.shelf-floor:before{content:"";position:absolute;left:0;right:0;top:-32px;height:36px;background:radial-gradient(ellipse at 22% 100%,rgba(226,255,57,.18),transparent 55%),radial-gradient(ellipse at 78% 100%,rgba(226,255,57,.16),transparent 55%),radial-gradient(ellipse at 50% 100%,rgba(255,90,71,.1),transparent 70%);filter:blur(8px);pointer-events:none}.shelf-floor:after{content:"";position:absolute;left:0;right:0;bottom:-24px;height:24px;background:linear-gradient(180deg,rgba(0,0,0,.6),transparent);pointer-events:none}.shelf-footer{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;gap:var(--s-2);padding:var(--s-6) 0 var(--s-3);text-align:center;animation:shelf-fade-in var(--motion-cinematic) var(--ease-out-expo) .8s backwards}.shelf-footer-star{color:var(--yg-lime);font-size:26px;line-height:1;animation:footer-twinkle 3s ease-in-out infinite}@keyframes footer-twinkle{0%,to{transform:scale(1);opacity:.85}50%{transform:scale(1.1);opacity:1}}.shelf-footer-title{font-family:var(--theme-display);font-weight:700;font-size:clamp(20px,1.9vw,28px);letter-spacing:.05em;margin:0;color:var(--yg-warm-white)}.shelf-footer-sub{font-size:12px;letter-spacing:.06em;color:#f4f1e899;margin:0}.shelf-back-top{position:absolute;bottom:var(--s-4);right:var(--s-4);display:inline-flex;align-items:center;gap:var(--s-2);padding:8px 14px;background:#0000008c;border:1px solid var(--yg-border);border-radius:999px;color:#f4f1e8b3;font-family:var(--font-mono);font-size:9px;letter-spacing:.3em;text-transform:uppercase;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:6;transition:color var(--motion-snappy),border-color var(--motion-snappy)}.shelf-back-top:hover{color:var(--yg-lime);border-color:#e2ff3966}.shelf-back-top:focus-visible{outline:2px solid var(--yg-lime);outline-offset:3px}.create-picker-overlay{position:fixed;inset:0;z-index:var(--z-overlay);background:#02020699;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:grid;grid-template-rows:minmax(0,1fr);align-items:safe center;justify-items:center;padding:calc(var(--s-5) + env(safe-area-inset-top)) var(--s-5) calc(var(--s-5) + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;opacity:0;transition:opacity var(--motion-snappy) ease-out}.create-picker-overlay.visible{opacity:1}.create-picker{position:relative;width:min(720px,100%);max-height:100%;background:linear-gradient(180deg,#181b1ff5,#090a0cf5);border:1px solid rgba(226,255,57,.25);border-radius:16px;padding:var(--s-6) var(--s-5);display:flex;flex-direction:column;gap:var(--s-5);box-shadow:0 32px 80px -16px #000c;transform:translateY(12px) scale(.98);opacity:0;transition:transform var(--motion-flow) var(--ease-out-expo),opacity var(--motion-flow) ease-out}.create-picker-overlay.visible .create-picker{transform:translateY(0) scale(1);opacity:1}.create-picker-eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:var(--text-muted);text-align:center;margin:0}.create-picker-title{font-family:var(--theme-display);font-weight:700;font-size:clamp(20px,3vw,28px);letter-spacing:.03em;text-align:center;margin:0;color:var(--text-primary)}.create-picker-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--s-3);min-height:0;grid-auto-rows:max-content;align-content:start;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-inline:var(--s-1);padding-top:4px;scrollbar-width:thin;scrollbar-color:rgba(226,255,57,.25) transparent}.create-picker-grid::-webkit-scrollbar{width:6px}.create-picker-grid::-webkit-scrollbar-thumb{background:#e2ff3940;border-radius:999px}.create-picker-eyebrow,.create-picker-title,.create-picker-cancel{flex-shrink:0}.create-picker-option{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--s-3);padding:var(--s-4) var(--s-3);border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#00000073;color:var(--text-primary);cursor:pointer;text-align:center;overflow:hidden;isolation:isolate;transition:transform var(--motion-snappy),border-color var(--motion-snappy),box-shadow var(--motion-snappy)}.create-picker-option img{width:100%;height:120px;object-fit:cover;object-position:center 12%;border-radius:8px;filter:contrast(1.05) brightness(.75) saturate(.95);transition:filter var(--motion-flow) ease-out,transform var(--motion-flow) var(--ease-out-expo)}.create-picker-option:hover{transform:translateY(-3px);border-color:#e2ff398c;box-shadow:0 12px 36px -12px #e2ff3973}.create-picker-option:hover img{filter:contrast(1.1) brightness(.95) saturate(1.1);transform:scale(1.04)}.create-picker-option[data-theme=vampire-village]:hover{border-color:#e4002b99;box-shadow:0 12px 36px -12px #e4002b80}.create-picker-option[data-theme=spy-game]:hover{border-color:#e2ff3999;box-shadow:0 12px 36px -12px #e2ff3980}.create-picker-option-text strong{display:block;font-family:var(--theme-display);font-size:16px;letter-spacing:.05em;color:var(--text-primary)}.create-picker-option-text span{display:block;margin-top:4px;font-size:11px;color:var(--text-muted);line-height:1.5}.create-picker-option:focus-visible{outline:2px solid rgba(226,255,57,.9);outline-offset:2px}.create-picker-cancel{align-self:center;padding:10px 22px;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:var(--text-muted);background:transparent;border:1px solid rgba(255,255,255,.12);border-radius:999px;cursor:pointer;transition:color var(--motion-snappy),border-color var(--motion-snappy)}.create-picker-cancel:hover{color:var(--text-primary);border-color:#ffffff4d}.create-picker-cancel:focus-visible{outline:2px solid rgba(226,255,57,.9);outline-offset:2px}.how-slide,.features-slide{position:relative;isolation:isolate;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(var(--s-7),6vh,var(--s-9));padding:clamp(var(--s-8),10vh,140px) clamp(var(--s-4),5vw,96px);background:#090a0c;overflow:hidden}.how-atmosphere{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 55% 40% at 12% 15%,rgba(255,90,71,.16),transparent 60%),radial-gradient(ellipse 55% 45% at 88% 85%,rgba(226,255,57,.14),transparent 60%)}.how-header{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:var(--s-2);text-align:center;max-width:640px}.how-eyebrow{display:inline-flex;align-items:center;gap:var(--s-3);font-family:var(--font-mono);font-size:11px;letter-spacing:.4em;color:#f4f1e8d9;margin:0}.how-ornament{color:var(--yg-lime);font-size:10px}.how-title{font-family:var(--theme-display);font-weight:800;font-size:clamp(32px,4.5vw,56px);letter-spacing:-.02em;line-height:1.05;margin:0;color:var(--yg-warm-white)}.how-sub{color:var(--text-muted);font-size:var(--type-base);line-height:1.6;margin:0 auto;max-width:68ch}.how-header-start{align-items:flex-start;text-align:start}.how-header-start .how-sub{margin-inline:0}.how-steps{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:stretch;gap:var(--s-3);width:100%;max-width:1180px}.how-step{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--s-2);padding:var(--s-6) var(--s-4) var(--s-5);text-align:center;border-radius:20px;background:linear-gradient(180deg,#181b1fbf,#090a0ccc);border:1px solid rgba(255,90,71,.22);backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);box-shadow:0 18px 40px -20px #000c;opacity:0;animation:how-step-in var(--motion-flow) var(--ease-out-expo) both;transition:transform var(--motion-snappy),border-color var(--motion-snappy),box-shadow var(--motion-snappy)}.how-step:nth-of-type(1){animation-delay:60ms}.how-step:nth-of-type(2){animation-delay:.18s}.how-step:nth-of-type(3){animation-delay:.3s}.how-step:nth-of-type(4){animation-delay:.42s}.how-step:hover{transform:translateY(-6px);border-color:#e2ff398c;box-shadow:0 24px 50px -16px #e2ff3947,0 18px 40px -20px #000c}.how-step-number{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;font-family:var(--theme-display);font-weight:800;font-size:17px;color:var(--yg-black);background:var(--yg-lime)}.how-step-title{font-family:var(--theme-display);font-weight:700;font-size:17px;color:var(--text-primary);margin:0}.how-step-desc{font-size:13px;line-height:1.6;color:var(--text-muted);margin:0}.how-step-arrow{display:grid;place-items:center;color:#e2ff39a6;font-size:22px;font-weight:700;animation:how-arrow-pulse 3s ease-in-out infinite}@keyframes how-arrow-pulse{0%,to{opacity:.55;transform:translate(0)}50%{opacity:1;transform:translate(4px)}}.feature-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-4);width:100%;max-width:1080px}.feature-grid .feat-card{flex-direction:column;align-items:flex-start;gap:var(--s-3);padding:var(--s-6);border-radius:20px;opacity:0;animation:how-step-in var(--motion-flow) var(--ease-out-expo) both;animation-delay:var(--tile-delay, 0ms)}.feature-grid .feat-icon{width:56px;height:56px;font-size:24px}.feature-grid .feat-text strong{font-size:16px}.feature-grid .feat-text span{font-size:13px;line-height:1.55}@keyframes how-step-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.about-slide{position:relative;isolation:isolate;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(var(--s-7),6vh,var(--s-8));padding:clamp(var(--s-8),10vh,140px) clamp(var(--s-4),5vw,96px);background:linear-gradient(180deg,#090a0c,#111316);overflow:hidden}.about-atmosphere{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 60% 45% at 50% 0%,rgba(255,90,71,.14),transparent 60%),radial-gradient(ellipse 50% 40% at 20% 100%,rgba(226,255,57,.12),transparent 60%)}.about-copy{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:var(--s-3);text-align:center;max-width:720px;opacity:0;animation:how-step-in var(--motion-flow) var(--ease-out-expo) both}.about-eyebrow{display:inline-flex;align-items:center;gap:var(--s-3);font-family:var(--font-mono);font-size:11px;letter-spacing:.4em;color:#f4f1e8d9;margin:0}.about-title{font-family:var(--theme-display);font-weight:800;font-size:clamp(28px,4vw,48px);letter-spacing:-.02em;line-height:1.12;margin:0;color:var(--text-primary)}.about-body{font-size:var(--type-base);line-height:1.7;color:var(--text-muted);max-width:62ch;margin:0}.about-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s-5);margin-top:var(--s-3)}.about-stat{display:flex;flex-direction:column;align-items:center;gap:4px}.about-stat strong{font-family:var(--theme-display);font-weight:700;font-size:20px;color:var(--yg-lime)}.about-stat span{font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted)}.about-languages{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s-2);margin-top:var(--s-4)}.about-language-chip{padding:8px 18px;font-size:13px;font-weight:600;color:var(--text-primary);background:var(--yg-surface-raised);border:1px solid var(--yg-border);border-radius:999px;transition:border-color var(--motion-snappy),transform var(--motion-snappy)}.about-language-chip:hover{border-color:var(--yg-lime);transform:translateY(-2px)}.about-closing{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:var(--s-2);text-align:center;padding:var(--s-6) clamp(var(--s-5),6vw,64px);border-radius:24px;background:var(--yg-surface-raised);border:1px solid rgba(226,255,57,.3);box-shadow:0 20px 50px -30px #e2ff3940;opacity:0;animation:how-step-in var(--motion-flow) var(--ease-out-expo) .18s both}.about-closing-title{font-family:var(--theme-display);font-weight:700;font-size:clamp(20px,2.4vw,28px);color:var(--text-primary);margin:0}.about-closing-sub{color:var(--text-muted);font-size:14px;margin:0}.about-cta{display:inline-flex;align-items:center;gap:10px;margin-top:var(--s-2);padding:14px 32px;font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--yg-black);border:0;border-radius:999px;cursor:pointer;background:var(--yg-lime);transition:transform var(--motion-snappy),box-shadow var(--motion-snappy),filter var(--motion-snappy)}.about-cta:hover{transform:translateY(-2px);filter:brightness(1.06);box-shadow:0 10px 22px -10px #e2ff398c}.about-cta:focus-visible{outline:2px solid var(--yg-lime);outline-offset:3px}.featured-slide{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;gap:var(--s-6);padding:clamp(var(--s-7),8vh,100px) clamp(var(--s-4),5vw,96px);background:linear-gradient(180deg,#090a0c,#111316);overflow:hidden}.featured-rail{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,240px));gap:var(--s-4);justify-content:center;width:100%}.featured-rail .shelf-card{opacity:0;animation:how-step-in var(--motion-flow) var(--ease-out-expo) both}.featured-rail .shelf-card:nth-child(1){animation-delay:60ms}.featured-rail .shelf-card:nth-child(2){animation-delay:.18s}.featured-rail .shelf-card:nth-child(3){animation-delay:.3s}@media(max-width:900px){.featured-rail{grid-template-columns:repeat(2,minmax(0,240px))}}@media(max-width:560px){.featured-rail{grid-template-columns:minmax(0,240px)}}.view-all-link{position:relative;z-index:1;display:inline-flex;align-items:center;gap:var(--s-2);padding:12px 26px;font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--text-primary);background:transparent;border:1px solid rgba(226,255,57,.35);border-radius:999px;cursor:pointer;transition:border-color var(--motion-snappy),transform var(--motion-snappy),box-shadow var(--motion-snappy)}.view-all-link:hover{border-color:#e2ff39b3;transform:translateY(-2px);box-shadow:0 10px 28px -12px #e2ff3966}.view-all-link:focus-visible{outline:2px solid rgba(226,255,57,.9);outline-offset:3px}@media(max-width:900px){.hero-slide{padding:clamp(var(--s-6),6vh,var(--s-7)) var(--s-4) var(--s-5)}.hero-grid{grid-template-columns:1fr;gap:var(--s-5);text-align:center}.hero-left{align-items:center}.hero-brand-row{justify-content:center}.hero-body{max-width:none}.hero-slide .mega-title{font-size:clamp(40px,12vw,64px)}.how-steps{grid-template-columns:1fr}.how-step-arrow{transform:rotate(90deg)}.about-slide{padding-inline:var(--s-4)}.feature-grid{grid-template-columns:1fr}.shelf-slide{padding:var(--s-6) var(--s-3)}.shelf-title{font-size:clamp(28px,7vw,44px)}.shelf-rail{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3);overflow:visible;padding:var(--s-4) 0 var(--s-3);perspective:none;scroll-snap-type:none}.shelf-card{width:100%;aspect-ratio:2 / 3;flex:none;scroll-snap-align:none}.shelf-floor,.home-slide .center-particles{display:none}.home-slide .center-fog{animation:none;filter:blur(20px);opacity:.6}.create-picker{padding:var(--s-5) var(--s-4);gap:var(--s-4)}.create-picker-title{font-size:22px}.create-picker-option{flex-direction:row;align-items:center;text-align:left;padding:var(--s-3)}.create-picker-option img{width:64px;height:64px;flex-shrink:0}.create-picker-option:hover{transform:none}}@media(max-width:560px){.shelf-back-top{position:static;align-self:center;margin-top:var(--s-3)}}@media(max-width:1140px)and (min-width:901px){.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-height:620px){.create-picker{padding:var(--s-4) var(--s-3);gap:var(--s-3)}.create-picker-eyebrow{display:none}.create-picker-title{font-size:18px}}.home-slide[data-offscreen=true] *,.home-slide[data-offscreen=true] *:before,.home-slide[data-offscreen=true] *:after,.home-slide[data-offscreen=true]:before,.home-slide[data-offscreen=true]:after{animation-play-state:paused!important}.atmosphere[data-perf=low]~.shell .home-slide .center-particles,.atmosphere[data-perf=low]~.shell .home-slide .center-fog{display:none}@media(prefers-reduced-motion:reduce){.home-stage .stage{scroll-behavior:auto}.home-slide .center-particle,.home-slide .center-fog,.hero-brand-mark,.hero-left,.feat-row,.shelf-card,.shelf-header,.shelf-footer-star,.create-picker,.create-picker-overlay{animation:none!important;transition-duration:.15s!important}.shelf-card{opacity:1;transform:none}}@media(max-width:768px){.brand{top:max(var(--s-3),env(safe-area-inset-top));left:max(var(--s-3),env(safe-area-inset-left));gap:8px}.brand-mark{width:32px;height:32px}.brand-text strong{font-size:13px;letter-spacing:.06em}.brand-text span{font-size:10px;letter-spacing:.02em}.hud{top:max(var(--s-3),env(safe-area-inset-top));right:max(var(--s-3),env(safe-area-inset-right));gap:6px}.lang-switch{padding:2px;gap:0}.lang-switch button{padding:5px 9px;font-size:11px}.main-nav{top:calc(max(var(--s-3),env(safe-area-inset-top)) + 38px);padding:4px 8px}.main-nav button{padding:5px 9px;font-size:10px;letter-spacing:.08em}.hero-slide{padding-top:calc(env(safe-area-inset-top) + 96px);padding-bottom:var(--s-6);padding-inline:var(--s-4);gap:var(--s-5)}.hero-grid{gap:var(--s-5)}.hero-left{gap:var(--s-3)}.hero-slide .mega-title{font-size:clamp(28px,8.5vw,36px);line-height:1.02;letter-spacing:.04em}.hero-brand-row{gap:0}.hero-brand-row>img.hero-brand-mark{display:none}.hero-tagline{font-size:15px}.hero-body{font-size:13.5px;line-height:1.55;max-width:38ch;margin-left:auto;margin-right:auto}.hero-actions{width:100%;max-width:360px;gap:var(--s-3)}.hero-actions .cta-local,.hero-actions .cta-row{align-self:stretch}.cta-row{gap:var(--s-2)}.hero-slide .cta-create,.hero-slide .cta-join{flex:1 1 0;justify-content:center;padding:12px 18px;font-size:11px;letter-spacing:.14em;min-height:44px}.hero-slide .cta-local{padding:8px 12px 8px 10px;min-height:54px;border-radius:14px}.hero-slide .cta-local-icon{width:32px;height:32px}.hero-slide .cta-local-icon svg{width:18px;height:18px}.hero-slide .cta-local-text strong{font-size:12px;letter-spacing:.1em}.hero-slide .cta-local-text span{font-size:10px}.hero-hint{font-size:11px;background:#00000073;border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:6px 12px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}@media(max-width:420px){.hero-slide .cta-row{flex-direction:column}.hero-slide .cta-create,.hero-slide .cta-join{width:100%}}.htp-hero,.htp-way,.htp-steps,.htp-during,.htp-tips,.about-mission,.about-why,.about-symbol,.about-values,.about-built-for,.about-vision,.features-experience{position:relative;isolation:isolate;max-width:1240px;margin:0 auto;padding:clamp(var(--s-8),9vh,120px) clamp(var(--s-5),5vw,64px) 0}.feature-grid-v2{max-width:1240px;margin:0 auto;padding-inline:clamp(var(--s-5),5vw,64px)}.htp-hero{padding-top:clamp(120px,14vh,160px);text-align:center}.htp-hero .how-header{align-items:center}.htp-reveal{opacity:0;transform:translateY(16px);transition:opacity var(--motion-slow) var(--ease-brand),transform var(--motion-slow) var(--ease-brand);transition-delay:var(--tile-delay, 0ms)}.htp-reveal-visible{opacity:1;transform:translateY(0)}@media(max-width:640px){.htp-reveal{transition-delay:calc(var(--tile-delay, 0ms) * .4)}}.htp-hero-actions,.page-final-actions{display:flex;flex-wrap:wrap;gap:var(--s-3);justify-content:center;margin-top:var(--s-5)}.htp-hero-note{display:inline-flex;align-items:center;gap:var(--s-2);margin:var(--s-4) 0 0;color:var(--text-muted);font-size:12px}.htp-hero-note .hero-hint-icon{color:var(--yg-lime)}.htp-hero-nodes{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}.htp-hero-node{position:absolute;top:30%;width:6px;height:6px;border-radius:50%;background:var(--yg-lime);opacity:0;animation:htp-node-gather var(--motion-hero) var(--ease-brand) both}.htp-hero-node.n1{left:6%;top:20%;animation-delay:80ms;--gather-x: -70px}.htp-hero-node.n2{left:13%;top:66%;background:var(--yg-coral);animation-delay:.2s;--gather-x: -70px}.htp-hero-node.n3{right:8%;top:26%;background:var(--yg-coral);animation-delay:.14s;--gather-x: 70px}.htp-hero-node.n4{right:16%;top:62%;animation-delay:.26s;--gather-x: 70px}@keyframes htp-node-gather{0%{opacity:0;transform:translate(var(--gather-x, 40px)) scale(.4)}to{opacity:.75;transform:translate(0) scale(1)}}.htp-way-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-4);margin-top:var(--s-6)}.htp-way-card{background:var(--yg-surface);border:1px solid var(--yg-border);border-radius:18px;padding:var(--s-5);display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-2);text-align:start;transition:border-color var(--motion-base) var(--ease-brand),transform var(--motion-base) var(--ease-brand)}.htp-way-card:hover{transform:translateY(-4px);border-color:#e2ff3966}.htp-way-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:var(--yg-surface-raised);color:var(--yg-lime);font-size:18px}.htp-way-title{font-family:var(--theme-display);font-size:var(--type-lg);font-weight:700;color:var(--text-primary);margin:0}.htp-way-text{color:var(--text-muted);font-size:var(--type-sm);line-height:1.6;margin:0}.htp-way-badge{margin-top:auto;font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--yg-muted);padding:4px 10px;border:1px solid var(--yg-border);border-radius:999px}.htp-steps-track{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-4);margin-top:var(--s-7)}.htp-steps-track:before,.htp-steps-track:after{content:"";position:absolute;top:26px;height:2px;z-index:0}.htp-steps-track:before{left:12.5%;right:12.5%;background:var(--yg-border)}.htp-steps-track:after{left:12.5%;width:var(--htp-progress, 0%);max-width:75%;background:var(--yg-lime);z-index:1;transition:width var(--motion-slow) var(--ease-brand)}[dir=rtl] .htp-steps-track:after{left:auto;right:12.5%}.htp-step{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s-2)}.htp-step-number{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:var(--yg-surface-raised);border:1px solid var(--yg-border);color:var(--yg-muted);font-family:var(--theme-display);font-weight:700;transition:color var(--motion-base) var(--ease-brand),background var(--motion-base) var(--ease-brand),border-color var(--motion-base) var(--ease-brand)}.htp-step.is-active .htp-step-number{color:var(--yg-black);background:var(--yg-lime);border-color:var(--yg-lime)}.htp-step.is-done .htp-step-number{color:var(--yg-black);background:var(--yg-warm-white);border-color:var(--yg-warm-white)}.htp-step-title{font-family:var(--theme-display);font-size:var(--type-base);font-weight:700;color:var(--text-primary);margin:0}.htp-step-text{color:var(--text-muted);font-size:var(--type-sm);line-height:1.6;margin:0;max-width:32ch}.htp-during-list{list-style:none;margin:var(--s-6) 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3)}.htp-during-item{display:flex;align-items:flex-start;gap:var(--s-3);padding:var(--s-4);background:var(--yg-surface);border:1px solid var(--yg-border);border-radius:14px;color:var(--text-primary);font-size:var(--type-sm)}.htp-during-check{flex-shrink:0;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#e2ff391f;color:var(--yg-lime);font-size:12px;font-weight:700}.htp-during-note{margin:var(--s-5) 0 0;color:var(--text-muted);font-size:var(--type-sm);max-width:68ch}.htp-tips-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-3);margin-top:var(--s-6)}.htp-tip-card{background:var(--yg-surface);border:1px solid var(--yg-border);border-radius:14px;padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-2);transition:border-color var(--motion-base) var(--ease-brand),transform var(--motion-base) var(--ease-brand)}.htp-tip-card:hover{transform:translateY(-4px);border-color:#e2ff3959}.htp-tip-index{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--yg-coral)}.htp-tip-card p{margin:0;color:var(--text-primary);font-size:var(--type-sm);line-height:1.6}.feature-grid-v2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-4);margin:var(--s-8) auto 0}.feat-card-v2{background:var(--yg-surface);border:1px solid var(--yg-border);border-radius:16px;padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-3);transition:border-color var(--motion-base) var(--ease-brand),transform var(--motion-base) var(--ease-brand)}.feat-card-v2:hover{transform:translateY(-4px);border-color:#e2ff3966}.feat-card-v2-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:12px;border:1.5px solid var(--yg-lime);color:var(--yg-lime);font-size:20px;clip-path:inset(0 100% 0 0);transition:clip-path var(--motion-slow) var(--ease-brand)}.feat-card-v2.htp-reveal-visible .feat-card-v2-icon{clip-path:inset(0 0 0 0)}.feat-card-v2-title{font-family:var(--theme-display);font-size:var(--type-base);font-weight:700;color:var(--text-primary);margin:0}.feat-card-v2-text{color:var(--text-muted);font-size:var(--type-sm);line-height:1.6;margin:0}.features-experience{text-align:center;padding-bottom:clamp(var(--s-8),9vh,120px)}.features-experience-nodes{display:flex;justify-content:center;gap:10px;margin-bottom:var(--s-4)}.features-node{width:8px;height:8px;border-radius:50%;background:var(--yg-lime);animation:features-node-pulse 4.5s ease-in-out infinite}.features-node:nth-child(2){background:var(--yg-warm-white);animation-delay:-1.5s}.features-node:nth-child(3){background:var(--yg-coral);animation-delay:-3s}@keyframes features-node-pulse{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.about-hero-v2 .how-header{align-items:center}.about-hero-lines{display:flex;gap:6px;margin:0 auto var(--s-4);transform:skew(-8deg);width:fit-content}.about-hero-line{display:block;height:8px;border-radius:4px;opacity:0;animation:about-line-in var(--motion-base) var(--ease-brand) both}.about-hero-line.l1{width:64px;background:var(--yg-lime);animation-delay:0ms}.about-hero-line.l2{width:48px;background:var(--yg-warm-white);animation-delay:90ms}.about-hero-line.l3{width:32px;background:var(--yg-coral);animation-delay:.18s}@keyframes about-line-in{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}.about-hero-v2 .how-header>.how-title,.about-hero-v2 .how-header>.how-sub{opacity:0;animation:about-heading-in var(--motion-hero) var(--ease-brand) .26s both}@keyframes about-heading-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.about-why{text-align:center}.about-why-cycle{display:flex;align-items:center;justify-content:center;gap:var(--s-2);font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--yg-muted);margin:0 0 var(--s-3)}.about-why-cycle span{transition:color var(--motion-base) var(--ease-brand)}.about-why-cycle span.is-active{color:var(--yg-lime)}.about-why-note{color:var(--text-muted);font-size:var(--type-sm);max-width:62ch;margin:var(--s-4) auto 0}.about-symbol{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:clamp(var(--s-6),6vw,var(--s-8));align-items:center}.about-symbol-visual{display:grid;place-items:center}.about-symbol-lines{display:flex;flex-direction:column;gap:14px;width:100%;max-width:280px}.about-symbol-line{height:20px;border-radius:10px;transform:skew(-10deg);transition:filter var(--motion-base) var(--ease-brand),transform var(--motion-base) var(--ease-brand)}.about-symbol-line.lime{background:var(--yg-lime);width:100%}.about-symbol-line.warm{background:var(--yg-warm-white);width:76%}.about-symbol-line.coral{background:var(--yg-coral);width:52%}.about-symbol-line:hover,.about-symbol-line:focus-visible{filter:brightness(1.12);transform:skew(-10deg) translate(6px)}[dir=rtl] .about-symbol-line:hover,[dir=rtl] .about-symbol-line:focus-visible{transform:skew(-10deg) translate(-6px)}.about-symbol-copy{display:flex;flex-direction:column;gap:var(--s-3);text-align:start}.about-symbol-copy .how-sub{margin-inline:0}.about-symbol-meanings{list-style:none;margin:var(--s-2) 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.about-symbol-meaning{font-size:var(--type-sm);color:var(--text-muted);padding-inline-start:var(--s-4);position:relative;border-radius:8px;transition:color var(--motion-base) var(--ease-brand),background var(--motion-base) var(--ease-brand)}.about-symbol-meaning:before{content:"";position:absolute;inset-inline-start:0;top:7px;width:8px;height:8px;border-radius:50%}.about-symbol-meaning.lime:before{background:var(--yg-lime)}.about-symbol-meaning.warm:before{background:var(--yg-warm-white)}.about-symbol-meaning.coral:before{background:var(--yg-coral)}.about-symbol-meaning.black:before{background:var(--yg-warm-white);opacity:.3}.about-symbol-meaning.is-highlighted{color:var(--text-primary);background:var(--yg-surface)}.about-values-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-4);margin-top:var(--s-6)}.about-value-card{background:var(--yg-surface);border:1px solid var(--yg-border);border-radius:16px;padding:var(--s-5)}.about-value-title{font-family:var(--theme-display);font-size:var(--type-base);font-weight:700;color:var(--text-primary);margin:0 0 8px}.about-value-text{color:var(--text-muted);font-size:var(--type-sm);line-height:1.6;margin:0}.about-built-for{text-align:center}.about-built-for-list{list-style:none;margin:var(--s-5) 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s-3)}.about-built-for-list li{padding:10px 20px;border:1px solid var(--yg-border);border-radius:999px;background:var(--yg-surface);color:var(--text-primary);font-size:var(--type-sm)}.about-vision{text-align:center;overflow:hidden;padding-bottom:clamp(var(--s-8),9vh,120px)}.about-vision-paths{position:absolute;inset:0;pointer-events:none;z-index:0}.about-vision-path{position:absolute;width:40%;height:1px;background:linear-gradient(90deg,transparent,rgba(226,255,57,.35),transparent)}.about-vision-path.p1{top:20%;left:-5%;transform:rotate(8deg)}.about-vision-path.p2{top:55%;right:-5%;transform:rotate(-6deg);background:linear-gradient(90deg,transparent,rgba(255,90,71,.3),transparent)}.about-vision-path.p3{bottom:12%;left:10%;transform:rotate(-3deg)}.about-vision .how-header{position:relative;z-index:1}@media(max-width:900px){.htp-way-grid,.feature-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr))}.about-symbol{grid-template-columns:1fr;text-align:center}.about-symbol-copy{text-align:center}.about-symbol-visual{order:-1}.htp-during-list{grid-template-columns:1fr}.htp-tips-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.htp-way-grid,.feature-grid-v2,.about-values-grid,.htp-tips-grid{grid-template-columns:1fr}.htp-steps-track{grid-template-columns:1fr;gap:var(--s-6)}.htp-steps-track:before,.htp-steps-track:after{display:none}.htp-hero,.htp-way,.htp-steps,.htp-during,.htp-tips,.about-mission,.about-why,.about-symbol,.about-values,.about-built-for,.about-vision,.features-experience,.feature-grid-v2{padding-inline:var(--s-4)}}@media(prefers-reduced-motion:reduce){.htp-hero-node,.about-hero-line,.about-hero-v2 .how-header>.how-title,.about-hero-v2 .how-header>.how-sub,.features-node{animation:none!important;opacity:1!important;transform:none!important}}html[data-character-theme=morinji],html[data-character-theme=morinji] [data-theme]{--bg-void: #10091c;--bg-deep: #211132;--text-primary: #f5edff;--text-muted: #baa8ce;--border-faint: #bd8af52e;--surface-glass: #28163dba;--theme-bg: radial-gradient(ellipse at 50% 10%, #3b1b58 0%, #1b0d2c 45%, #10091c 100%);--theme-accent: #c49aff;--theme-glow: #a86af5;--theme-surface: #28163dcc;--card-glow: #a86af5}html[data-character-theme=morinji] .atmosphere{background:var(--theme-bg)}html[data-character-theme=morinji] .atmosphere:before{inset:0;height:auto;animation:none;background:radial-gradient(ellipse at 50% 0%,#a855f738,transparent 65%)}html[data-character-theme=morinji] .atmosphere:after{inset:0;height:auto;animation:none;background:radial-gradient(ellipse at 10% 90%,#7c3aed24,transparent 60%),radial-gradient(ellipse at 95% 55%,#d8b4fe14,transparent 55%)}html[data-character-theme=morinji] :is(.host-setup-panel,.panel,.confirm-panel,.avatar-stage,.room-code-hero,.pending-card,.reveal-card,.reveal-dossier,.gi-setup-panel,.toast){background:linear-gradient(145deg,#2e1842f5,#170d25f5);border-color:#bd8af54d}html[data-character-theme=morinji] :is(.avatar-tabs,.avatar-face,.char-tile,input:not([type=checkbox])){background:#1b102b;border-color:#bd8af540}html[data-character-theme=morinji] :is(.avatar-preview-copy strong,.avatar-tabs button[aria-selected=true],.avatar-surprise,.host-setup-title,.host-setup-group legend){color:#dec4ff}html[data-character-theme=morinji] :is(.avatar-preview-detail,.avatar-tabs button){color:var(--text-muted)}html[data-character-theme=morinji] :is(.avatar-surprise,.avatar-tabs button[aria-selected=true],.char-tile[aria-checked=true]){background:linear-gradient(135deg,#8b4dcb40,#c49aff18);border-color:var(--theme-accent);box-shadow:inset 0 0 0 1px #c49aff33}html[data-character-theme=morinji] .char-tile:hover:not(:disabled){background:#42235c;border-color:#c49aff99}html[data-character-theme=morinji] .char-tile[aria-checked=true]:after{background:var(--theme-accent)}html[data-character-theme=morinji] :is(.char-tile,.avatar-tabs button,.avatar-surprise,input):focus-visible{outline-color:var(--theme-accent)}html[data-character-theme=morinji] .avatar.avatar{border-color:#c49aff70}html[data-character-theme=morinji] .avatar-preview .avatar{box-shadow:0 0 28px #a855f733}html[data-character-theme=morinji] .main-nav button:is(:hover,[aria-current=true]){color:var(--theme-accent);background:#c49aff18}html[data-character-theme=morinji] :is(.main-nav,.lang-switch,.switch-row,.player-row,.request-row){background:#211132e6;border-color:#bd8af54d}html[data-character-theme=morinji] :is(.app-footer-brand,.app-footer-mark,.brand-text strong){color:#dec4ff}html[data-character-theme=morinji] .app-footer{background:linear-gradient(180deg,transparent,#10091ce6)}html[data-character-theme=morinji] :is(.btn-secondary,.btn-ghost,.gi-back,.gi-cta-secondary,.gi-cta-ghost){background:#28163dcc;color:#dec4ff;border-color:#bd8af566}html[data-character-theme=morinji] :is(.btn-primary,.gi-cta-primary){background:var(--theme-accent);color:var(--bg-void);border-color:var(--theme-accent);box-shadow:0 8px 28px #a86af533}html[data-character-theme=morinji] :is(.btn,.gi-cta):hover:not(:disabled){border-color:var(--theme-accent);box-shadow:0 0 24px #a86af54d}html[data-character-theme=morinji] :focus-visible{outline-color:var(--theme-accent)}html[data-character-theme=morinji] input[type=checkbox]{accent-color:var(--theme-accent)}html[data-character-theme=morinji] .lang-switch button[aria-current=true]{color:#dec4ff;background:#a86af533}html[data-character-theme=morinji] .character-frame{background:#211132}html[data-character-theme=morinji] .character-frame .spotlight{background:linear-gradient(160deg,#c49aff,#652f96);mix-blend-mode:color;opacity:.75}html[data-character-theme=morinji] .role-card-info{width:100%;padding:var(--s-4);border-radius:16px;border:1px solid #bd8af54d;background:var(--theme-surface)}html[data-character-theme=morinji] .theme-fx .mist{background:radial-gradient(ellipse at 50% 100%,#a86af566,transparent 70%)}html[data-character-theme=morinji] .spy-hud{color:var(--theme-accent);border-color:#bd8af54d}html[data-character-theme=morinji] .gi-page{background:var(--theme-bg)}html[data-character-theme=morinji] :is(.gi-hero-bg,.gi-sections-wrap--has-image:before,.gi-bottom-bg){background-color:#522776;background-blend-mode:luminosity}html[data-character-theme=morinji] :is(.gi-title,.gi-section-title,.gi-bottom-title){color:#dec4ff;background-image:linear-gradient(180deg,#f5edff,#c49aff)}
