@font-face{font-family:Manrope;src:url('/assets/manrope-cyrillic-600.woff2') format('woff2');font-weight:600;font-display:swap;}@font-face{font-family:Manrope;src:url('/assets/manrope-latin-600.woff2') format('woff2');font-weight:600;font-display:swap;unicode-range:U+0000-024F;}@font-face{font-family:Manrope;src:url('/assets/manrope-cyrillic-700.woff2') format('woff2');font-weight:700;font-display:swap;}@font-face{font-family:Manrope;src:url('/assets/manrope-latin-700.woff2') format('woff2');font-weight:700;font-display:swap;unicode-range:U+0000-024F;}@font-face{font-family:Manrope;src:url('/assets/manrope-cyrillic.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url('/assets/manrope-latin.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+0000-024F}@font-face{font-family:Oswald;src:url('/assets/oswald-cyrillic.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Oswald;src:url('/assets/oswald-latin.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+0000-024F}
:root{--bg:#0d0e10;--panel:#151619;--line:#2b2b2e;--text:#ede9e1;--muted:#97959a;--accent:#e87d47;--green:#94b995;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}body{font-family:Manrope,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button{color:inherit}button,a{ -webkit-tap-highlight-color:transparent}a{color:inherit}button{border:0}button svg{width:18px;height:18px;flex-shrink:0}.shell{max-width:1440px;margin:auto;padding:0 6%}.topbar{height:98px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand img{width:39px;height:39px}.brand strong{display:block;font-family:Oswald,sans-serif;font-size:22px;font-weight:500;letter-spacing:1.5px}.brand small{display:block;color:var(--muted);font-size:9px;letter-spacing:2.4px;margin-top:3px}.nav{display:flex;gap:30px;align-items:center}.nav button,.text-button{background:none;color:var(--muted);padding:12px 0;font-size:12px}.nav button:first-child{color:var(--text)}.utilities{display:flex;align-items:center;gap:12px}.code{border:1px solid var(--line);background:var(--panel);padding:10px 14px;border-radius:6px;font-size:11px;display:flex;align-items:center;gap:10px}.code b{font-size:13px;letter-spacing:2px}.dot{display:inline-block;width:6px;height:6px;background:var(--green);border-radius:50%;margin-right:7px}.icon-button{background:none;border:1px solid var(--line);width:38px;height:38px;display:grid;place-items:center;border-radius:6px}.breadcrumbs{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:10px;letter-spacing:1px;padding:25px 0}.breadcrumbs span:last-child{color:var(--text)}.connection{margin-left:auto;letter-spacing:0;font-size:11px}.connection.offline{color:var(--accent)}.experience{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(350px,.82fr);min-height:520px;border:1px solid #333034;border-radius:12px;overflow:hidden;background:#141416}.story{position:relative;min-height:520px;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;padding:37px 42px;background:#171319}.story:before{content:'';position:absolute;inset:0;z-index:-2;background-image:linear-gradient(180deg,#17131844 0%,#12111410 25%,#12111455 55%,#121114 100%),url('/assets/noir.webp');background-size:cover;background-position:center}.cyber .story:before{background-image:linear-gradient(180deg,#101a2044,#11141911 25%,#101316 100%),url('/assets/cyber.webp')}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:700;display:flex;align-items:center;gap:9px}.eyebrow .rule{width:23px;height:1px;background:var(--accent)}.story-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.tag{font-size:9px;letter-spacing:1.1px;padding:7px 9px;border:1px solid #ffffff35;border-radius:4px;background:#15151660}.story h1{font-family:var(--serif);font-weight:400;font-size:clamp(35px,3.6vw,53px);line-height:1.13;letter-spacing:-1.5px;max-width:470px;margin:160px 0 18px}.story h1 em{color:#e69b77;font-weight:400}.story p{color:#b7b0af;line-height:1.9;max-width:350px;font-size:12px}.story-meta{display:flex;gap:22px;margin-top:25px;color:#c8bfb7;font-size:10px}.story-meta span{display:flex;gap:6px;align-items:center}.story-meta svg{width:14px;height:14px;color:var(--accent)}.panel{padding:34px 35px 28px;display:flex;flex-direction:column;justify-content:center;min-width:0}.steps{display:flex;align-items:center;gap:0;margin-bottom:36px}.step{display:flex;align-items:center;gap:7px;color:#747176;font-size:9px;white-space:nowrap}.step i{font-style:normal;display:grid;place-items:center;width:22px;height:22px;border:1px solid #3a373b;border-radius:50%;font-size:9px}.step.current{color:var(--text)}.step.current i{background:var(--accent);border-color:var(--accent);color:#151313}.step.done i{border-color:#a75e3b;color:var(--accent)}.step-line{height:1px;flex:1;background:#343034;margin:0 8px;min-width:6px}.section-number{color:var(--accent);font-size:10px;letter-spacing:1.7px;font-weight:700;text-transform:uppercase}.panel h2{font-size:27px;line-height:1.3;letter-spacing:-1.1px;font-weight:650;margin:12px 0}.subtext{font-size:12px;line-height:1.9;color:var(--muted);margin:0 0 23px}.number-control{height:85px;border:1px solid #3c3635;border-radius:8px;display:flex;align-items:center;justify-content:space-between;padding:0 15px;background:#1c1a1b;margin:5px 0 13px}.number-control button{width:36px;height:36px;background:#292425;border:1px solid #443630;border-radius:5px;font-size:23px;color:#cdb6aa}.number-control input{background:none;border:0;width:105px;text-align:center;color:var(--text);font-size:39px;font-family:Oswald,sans-serif;outline:0;appearance:textfield}.number-control input::-webkit-inner-spin-button{-webkit-appearance:none}.number-note{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.presets{display:flex;gap:8px;margin:21px 0 24px}.presets button{flex:1;padding:9px 0;border:1px solid #343034;border-radius:5px;background:transparent;font-size:11px;color:#aaa5a6}.presets .selected{border-color:#8b5236;color:#efa47b;background:#442a202d}.primary{min-height:49px;width:100%;border-radius:6px;background:var(--accent);color:#1d1713;font-weight:800;font-size:12px;display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 18px;transition:background .15s}.primary:hover{background:#f39662}.secondary{min-height:46px;border:1px solid #49403c;border-radius:6px;background:#201c1b;color:var(--text);padding:12px 16px;font-size:12px}.quiet-note{margin:17px 0 0;display:flex;align-items:flex-start;gap:7px;font-size:10px;color:#8e8787;line-height:1.7}.quiet-note svg{width:13px;height:13px;flex-shrink:0;margin-top:2px}.panel-bottom{margin-top:24px;border-top:1px solid var(--line);padding-top:18px;display:flex;align-items:center;justify-content:space-between;color:#928c8d;font-size:10px}.panel-bottom b{color:#bfb7b4;font-weight:500}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding:33px 0 31px;border-bottom:1px solid var(--line)}.feature{display:flex;gap:14px}.feature-icon{width:35px;height:35px;background:#1b1818;display:grid;place-items:center;border:1px solid #352923;border-radius:7px;color:#c78b68;flex-shrink:0}.feature-icon svg{width:17px;height:17px}.feature h3{font-size:12px;font-weight:650;margin:0 0 6px}.feature p{color:var(--muted);font-size:10px;line-height:1.8;margin:0;max-width:280px}.footer{display:flex;justify-content:space-between;align-items:center;color:#777277;font-size:10px;gap:15px;padding:22px 0 30px}.footer span:first-child{letter-spacing:1.4px}.join-existing{background:none;color:#b0a39b;font-size:10px;text-decoration:underline;text-underline-offset:4px}.field{display:block;margin:18px 0}.field label{display:block;color:#bcb4b0;font-size:11px;margin-bottom:9px}input[type=text],input[type=number].small-input,select{width:100%;border:1px solid #49403a;border-radius:6px;background:#1b1919;color:var(--text);padding:14px;font-size:15px}input::placeholder{color:#746d6c}.mode-options{display:grid;gap:12px;margin:15px 0 23px}.mode-option{border:1px solid #3a3434;border-radius:8px;background:#1d191a;padding:18px;text-align:left;position:relative;overflow:hidden;isolation:isolate;min-height:105px}.mode-option:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#121213 15%,#12121388),url('/assets/noir.webp') center 56%/cover;opacity:.6}.mode-option[data-mode=cyber]:before{background-image:linear-gradient(90deg,#121213 15%,#12121366),url('/assets/cyber.webp')}.mode-option.selected{border-color:var(--accent)}.mode-option strong{font-family:Oswald,sans-serif;font-size:23px;letter-spacing:1px;display:block}.mode-option span{color:#c0b0a6;font-size:11px}.mode-option small{float:right;color:var(--accent)}.warning{font-size:12px;line-height:1.9;color:#c4bcb6}.warning ul{padding-left:17px}.warning li{margin:7px 0}.audio-row{display:flex;align-items:center;gap:12px;margin:16px 0}.audio-row .secondary{flex:1}.audio-state{font-size:10px;color:var(--green)}.role-card{border:1px solid #6d4835;border-radius:8px;overflow:hidden;position:relative;text-align:center;background:#201a19}.role-card img{display:block;width:100%;height:250px;object-fit:cover;object-position:50% 25%}.role-card .role-body{padding:22px;background:linear-gradient(#221c1a,#171516)}.role-card h3{font-family:Oswald,sans-serif;font-weight:500;font-size:30px;margin:0 0 12px}.role-card p{font-size:12px;color:#bfb1a7;line-height:1.8;margin:0}.role-card .eyebrow{justify-content:center;color:#d48d68;margin-bottom:8px}.secret{font-size:10px;color:var(--accent);margin:12px 0}.gap-top{margin-top:20px}.lobby-layout{display:grid;grid-template-columns:1fr 310px;gap:28px}.game-area{padding:30px 0 20px}.game-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:26px}.game-heading h1{font-family:var(--serif);font-weight:400;font-size:38px;letter-spacing:-1px;margin:8px 0}.game-heading p{color:var(--muted);font-size:12px;line-height:1.7;margin:8px 0}.countdown{text-align:center;flex-shrink:0;min-width:90px}.countdown b{font-family:Oswald,sans-serif;font-size:32px;display:block;letter-spacing:2px;font-weight:400}.countdown small{color:var(--muted);font-size:9px}.box{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:23px;margin-bottom:18px}.box h2,.box h3{font-size:15px;margin:0 0 17px}.box p{font-size:12px;color:var(--muted);line-height:1.8}.roster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.player{display:flex;align-items:center;gap:10px;padding:14px 10px;border:1px solid #302c2c;border-radius:6px;min-width:0}.avatar{width:31px;height:31px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:#302925;color:#cda88c;font-size:12px}.player-name{font-size:12px;overflow:hidden;text-overflow:ellipsis}.player small{display:block;font-size:9px;color:var(--muted);margin-top:4px}.player .badge{margin-left:auto;color:var(--green);font-size:10px}.dead{opacity:.5}.composition{display:grid;gap:0}.composition div{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #2e2929;padding:12px 0;font-size:11px;color:#bfb5ae}.composition div:first-child{border-top:0}.composition b{color:var(--accent)}.progress{height:4px;background:#332a25;border-radius:3px;overflow:hidden;margin:16px 0}.progress span{display:block;height:100%;background:var(--accent)}.vote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.vote-target{min-height:76px;border:1px solid #383131;background:#191719;border-radius:7px;padding:16px;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:12px}.vote-target span{overflow-wrap:anywhere;font-size:13px}.vote-target small{color:var(--muted);font-size:10px;display:block;margin-top:6px}.vote-target b{font-family:Oswald,sans-serif;font-size:22px;color:#787074}.vote-target.has-votes{border-color:#7a4830;color:var(--accent);background:#312117}.vote-target.selected{outline:1px solid var(--accent);border-color:var(--accent)}.vote-target.has-votes b{color:var(--accent)}.vote-actions{display:flex;gap:12px;margin:22px 0}.vote-actions .primary{max-width:320px}.night-active{background:#080706;min-height:100dvh}.night-active .shell{max-width:750px;padding-top:28px}.night-active h1{font-size:28px;font-family:var(--serif);font-weight:400;margin:16px 0}.night-active p{color:#9c887a;font-size:12px;line-height:1.8}.night-active .vote-grid{grid-template-columns:repeat(2,1fr)}.night-active .vote-target{background:#100d0a;border-color:#2d2218;min-height:65px}.night-active .primary{background:#a76c3b;color:#090706}.night-active .section-number{color:#a76c3b}body.asleep,body.asleep html{background:#000!important}body.asleep #app{position:fixed;inset:0;background:#000;z-index:9999}body.asleep #toast,body.asleep dialog{display:none!important}body.asleep *{animation:none!important;transition:none!important}.result-secret{font-size:27px!important;color:#d6bc9a!important;padding:60px 0}.result-banner{border-left:2px solid var(--accent);padding:5px 0 5px 18px;margin:20px 0}.result-banner p{margin:4px 0;color:#bdb2ac;font-size:12px;line-height:1.8}.game-image{height:250px;width:100%;object-fit:cover;border-radius:7px;filter:brightness(.65)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.stats div{text-align:center;background:#1d1918;padding:20px;border:1px solid #3a2d27;border-radius:6px}.stats b{display:block;font-family:Oswald,sans-serif;font-size:30px;color:var(--accent)}.stats small{font-size:10px;color:var(--muted)}.role-mini{font-size:10px!important;color:var(--accent)!important}.loading{height:100dvh;display:grid;place-items:center;color:#b1a8a0;font-size:14px}.loading .box{max-width:400px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#3d2920;border:1px solid #a96943;color:#ffe2cb;padding:14px 22px;border-radius:7px;font-size:12px;z-index:200;max-width:90vw;display:none}#toast.visible{display:block}dialog{background:#171516;color:var(--text);border:1px solid #514039;border-radius:12px;padding:28px;max-width:560px;width:calc(100% - 28px);max-height:88dvh;overflow:auto}dialog::backdrop{background:#000b;backdrop-filter:blur(4px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.dialog-head h2{font-size:22px;margin:0}.dialog-copy{font-size:12px;line-height:1.9;color:#bfb2a9}.dialog-copy h3{color:var(--text);margin-top:24px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.settings-grid .field{margin:8px 0}.settings-grid input{padding:10px!important}.divider{border:0;border-top:1px solid #3b302a;margin:23px 0}.volume{width:100%;accent-color:var(--accent)}.row{display:flex;gap:12px;align-items:center}.row>*{flex:1}.small-label{color:var(--muted);font-size:10px}.reconnect-banner{padding:13px;background:#412b20;color:#efb796;font-size:12px;text-align:center}.hidden{display:none!important}.reveal-button{margin-top:20px}.new-room-link{border:0;background:none;text-decoration:underline;color:var(--accent);font-size:12px;padding:12px}.vote-target:hover{border-color:#a76c3b}.info-kicker{font-size:10px;letter-spacing:2px;color:var(--accent)}.topbar .icon-button svg{color:#aaa09a}.mobile-room{display:none}.status-count{color:var(--accent)}@media(min-width:1450px){.story h1{font-size:54px}.experience{min-height:560px}.story{min-height:560px}}@media(max-width:1050px){.shell{padding:0 4%}.nav{gap:15px}.experience{grid-template-columns:1fr 1fr}.story{padding:30px}.panel{padding:30px 26px}.steps{margin-bottom:25px}.step{font-size:8px;gap:4px}.step-line{margin:0 5px}.story h1{font-size:40px}.vote-grid{grid-template-columns:repeat(2,1fr)}.roster{grid-template-columns:repeat(2,1fr)}.lobby-layout{grid-template-columns:1fr 270px}}@media(max-width:730px){.shell{padding:0 20px}.topbar{height:78px}.brand strong{font-size:18px}.brand small{font-size:7px;letter-spacing:1.5px}.brand img{width:33px;height:33px}.nav{display:none}.utilities{gap:8px}.code{padding:9px}.code>span{display:none}.code b{font-size:11px}.code svg{display:none}.icon-button{width:34px;height:34px}.breadcrumbs{padding:19px 0;font-size:8px;gap:8px}.connection{font-size:9px}.experience{display:flex;flex-direction:column}.story{min-height:245px;padding:23px;justify-content:flex-start}.story:before{background-position:50% 52%}.story h1{font-size:35px;max-width:330px;margin:45px 0 0}.story p{display:none}.story-meta{margin:16px 0 0;gap:15px;font-size:9px}.eyebrow{font-size:8px}.tag{font-size:7px;padding:5px}.panel{padding:26px 23px 25px}.panel h2{font-size:25px}.steps{margin-bottom:26px}.step{font-size:9px}.step i{width:23px;height:23px}.step-line{margin:0 9px}.number-control{height:77px}.presets{margin-top:18px}.features{grid-template-columns:1fr;gap:20px;padding:25px 2px}.feature p{max-width:none}.feature h3{font-size:12px}.feature p{font-size:11px}.footer{font-size:8px;align-items:flex-start;flex-wrap:wrap}.footer .join-existing{font-size:9px}.game-heading{align-items:flex-start}.game-heading h1{font-size:30px}.lobby-layout{display:flex;flex-direction:column;gap:0}.lobby-layout aside{order:-1}.lobby-layout aside .box{padding:18px}.lobby-layout aside .composition{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.composition div{font-size:10px;padding:9px 0}.roster{grid-template-columns:repeat(2,1fr)}.box{padding:18px}.vote-grid{gap:9px}.vote-target{padding:13px;min-height:73px}.vote-target span{font-size:12px}.stats{gap:8px}.stats div{padding:14px 5px}.stats small{font-size:9px}.night-active .shell{padding:26px 18px}.night-active .vote-grid{grid-template-columns:repeat(2,1fr)}.night-active .vote-target{padding:12px}.role-card img{height:290px}.settings-grid{gap:0 12px}.story-meta span:last-child{display:none}.game-area{padding-top:10px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
