:root{color-scheme:dark;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:#08090d;color:#f2f3f7}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:radial-gradient(circle at 20% 0,#242033 0,transparent 36%),linear-gradient(145deg,#08090d,#11131a)}
button,input,select{font:inherit}
.conspiracy-page{padding:24px}
.conspiracy-shell{width:min(760px,100%);margin:0 auto}
.conspiracy-player-shell{width:min(520px,100%)}
.conspiracy-back{display:inline-block;margin-bottom:16px;color:#bfc4d4;text-decoration:none}
.conspiracy-kicker{color:#d6a86f;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
h1{font-size:clamp(2.5rem,8vw,5.5rem);line-height:.95;margin:12px 0 20px}
h2{margin-top:0}.conspiracy-lead{max-width:650px;margin:0 0 4px;color:#b8bdca;font-size:1.1rem;line-height:1.6}
.conspiracy-shell h1{font-size:clamp(1.7rem,3.4vw,2.3rem);line-height:1.06;margin:4px 0 6px}
.conspiracy-shell .conspiracy-launch-logo{width:48px;height:48px;margin:0 0 6px}
.conspiracy-shell .conspiracy-lead{font-size:.92rem;line-height:1.4;margin:0}
.conspiracy-card{margin-top:12px;padding:16px 18px;border:1px solid #303440;border-top:2px solid #d7a15e59;border-radius:16px;background:rgba(17,19,26,.88);box-shadow:0 20px 60px #0005}
.conspiracy-form{display:grid;gap:10px}.conspiracy-form label{display:grid;gap:4px;color:#c8ccd7;font-size:.86rem;font-weight:700}
.conspiracy-form input,.conspiracy-form select{width:100%;padding:8px 10px;border:1px solid #3a3f4e;border-radius:9px;background:#0b0d12;color:#fff;font-size:.92rem;transition:border-color .15s ease,box-shadow .15s ease}
.conspiracy-form input:focus,.conspiracy-form select:focus{outline:none;border-color:#d7a15e;box-shadow:0 0 0 3px #d7a15e26}
.conspiracy-form-row{display:grid;gap:10px}
.conspiracy-form-row-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.conspiracy-form-row-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.conspiracy-pin-field{max-width:none}
.conspiracy-victim-input-row{display:flex;gap:6px}
.conspiracy-victim-input-row input{flex:1;min-width:0}
.conspiracy-victim-generate{flex:0 0 auto;padding:0 12px;border:1px solid #3a3f4e;border-radius:9px;background:#0b0d12;font-size:1rem;line-height:1;cursor:pointer}
.conspiracy-victim-generate:hover{border-color:#d7a15e}
.conspiracy-primary,.conspiracy-danger{border:0;border-radius:12px;padding:11px 16px;font-weight:850;cursor:pointer;transition:filter .15s ease,transform .1s ease}
.conspiracy-primary{background:#d7a15e;color:#181008}.conspiracy-primary:hover:not(:disabled){filter:brightness(1.08)}.conspiracy-primary:active:not(:disabled){transform:scale(.99)}.conspiracy-primary:disabled{opacity:.38;cursor:not-allowed}
.conspiracy-danger{background:#3c1c22;color:#ffbbc6}.conspiracy-actions{display:grid;gap:10px}
.conspiracy-status{display:inline-flex;margin:8px 0;padding:8px 12px;border-radius:999px;background:#272b35;color:#c7cbd5;font-size:.9rem}.conspiracy-status.is-online{background:#17362d;color:#8de2c3}
.conspiracy-metric{display:flex;align-items:end;justify-content:space-between}.conspiracy-metric b{font-size:3rem}.conspiracy-metric span{color:#aeb4c3}
.conspiracy-players{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:8px}.conspiracy-players li{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:11px;background:#0c0e13}.conspiracy-players small{color:#8e95a6}
.conspiracy-history{margin-top:40px}.conspiracy-session{display:flex;justify-content:space-between;gap:15px;padding:14px 0;color:#fff;text-decoration:none;border-bottom:1px solid #292d37}.conspiracy-session small{color:#959cac}
.is-hidden{display:none!important}
.conspiracy-screen{display:grid;place-items:center;min-height:100vh}.conspiracy-screen-grid{width:min(1200px,100%);display:grid;grid-template-columns:1fr 380px;gap:50px;align-items:center}.conspiracy-code{font-size:1.6rem}.conspiracy-players-large{grid-template-columns:repeat(2,minmax(0,1fr));font-size:1.2rem}.conspiracy-qr{padding:24px;border-radius:24px;background:#fff;color:#17191f;text-align:center}.conspiracy-qr svg{display:block;width:100%;height:auto}.conspiracy-qr-fallback{display:grid;place-items:center;aspect-ratio:1;color:#111;font-size:3rem;font-weight:900}
@media(max-width:760px){.conspiracy-page{padding:18px}.conspiracy-screen-grid{grid-template-columns:1fr}.conspiracy-qr{width:min(360px,100%);margin:auto}.conspiracy-players-large{grid-template-columns:1fr}.conspiracy-session{align-items:flex-start;flex-direction:column}.conspiracy-form-row-2,.conspiracy-form-row-3{grid-template-columns:1fr}.conspiracy-pin-field{max-width:none}}

/* Главный телевизионный экран «Заговора» */
.conspiracy-screen{--screen-accent:#d45b46;--screen-gold:#d3aa68;--screen-muted:#a7a19a;position:relative;display:block;min-height:100svh;padding:0;overflow:hidden;background:#070707;color:#f4efe8;font-family:Georgia,"Times New Roman",serif}
.conspiracy-screen::before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--screen-accent) 18%,transparent),transparent 38%),linear-gradient(110deg,transparent 0 47%,#ffffff08 48% 48.4%,transparent 49% 100%),repeating-linear-gradient(0deg,#ffffff018 0 1px,transparent 1px 4px);mix-blend-mode:screen;opacity:.72}
.conspiracy-screen::after{content:"";position:fixed;inset:0;pointer-events:none;box-shadow:inset 0 0 16vw #000,inset 0 0 4vw #000;background:linear-gradient(90deg,#0008,transparent 16% 84%,#0008)}
.screen-ambient{position:fixed;inset:0;pointer-events:none;overflow:hidden}.screen-ambient i{position:absolute;width:32vw;aspect-ratio:1;border-radius:50%;filter:blur(7vw);background:var(--screen-accent);opacity:.08;animation:screen-drift 18s ease-in-out infinite alternate}.screen-ambient i:nth-child(1){left:-12vw;top:-18vw}.screen-ambient i:nth-child(2){right:-16vw;bottom:-20vw;animation-delay:-7s}.screen-ambient i:nth-child(3){left:42vw;top:42vh;width:16vw;animation-delay:-12s}
.screen-topbar,.screen-footer{position:fixed;z-index:20;left:clamp(24px,3vw,60px);right:clamp(24px,3vw,60px);display:flex;align-items:center;justify-content:space-between;letter-spacing:.12em;text-transform:uppercase}.screen-topbar{top:clamp(18px,2.2vh,34px)}.screen-footer{bottom:clamp(15px,2vh,28px);font-family:Inter,system-ui,sans-serif;font-size:clamp(.65rem,.85vw,.92rem);color:#aaa39a}.screen-footer::before{content:"";position:absolute;left:0;right:0;top:-14px;height:1px;background:linear-gradient(90deg,var(--screen-accent),#ffffff18 35%,transparent)}
.screen-brand{display:grid;grid-template-columns:auto auto;align-items:center;column-gap:10px;font-family:Inter,system-ui,sans-serif}.screen-brand>span{grid-row:1/3;display:grid;place-items:center;width:38px;aspect-ratio:1;border:1px solid color-mix(in srgb,var(--screen-accent) 75%,white);color:var(--screen-accent);font-family:Georgia,serif;font-size:1.45rem;font-weight:900;transform:rotate(-4deg)}.screen-brand>b{font-size:.9rem;letter-spacing:.24em}.screen-brand>small{font-size:.53rem;color:#817c76;letter-spacing:.22em}
.screen-connection{display:flex;align-items:center;gap:9px;font-family:Inter,system-ui,sans-serif;font-size:.67rem;color:#817c76}.screen-connection i{width:7px;height:7px;border-radius:50%;background:#7c3434;box-shadow:0 0 12px #7c3434}.screen-connection.is-online i{background:#679379;box-shadow:0 0 14px #679379}.screen-connection.is-online{color:#aaa49c}
.screen-stage{position:relative;z-index:5;display:grid;min-height:100svh;padding:clamp(84px,11vh,125px) clamp(34px,5vw,96px) clamp(68px,9vh,96px);place-items:center}.screen-scene{width:min(1500px,100%);max-height:78vh;animation:scene-arrive .75s cubic-bezier(.2,.8,.2,1) both}.screen-scene.is-leaving{animation:scene-leave .38s ease-in both}.screen-eyebrow{margin:0 0 1.5vh;color:var(--screen-accent);font-family:Inter,system-ui,sans-serif;font-size:clamp(.68rem,.8vw,.9rem);font-weight:800;letter-spacing:.22em;text-transform:uppercase}.screen-scene h1{max-width:18ch;margin:0;font-size:clamp(3.1rem,6.4vw,8.3rem);font-weight:500;line-height:.88;letter-spacing:-.045em;text-wrap:balance}.screen-scene h2{font-size:clamp(2rem,4vw,5rem);font-weight:500;line-height:1;margin:.2em 0}.screen-scene p{font-size:clamp(1rem,1.45vw,1.65rem);line-height:1.55}.screen-muted{color:var(--screen-muted)}
.scene-lobby{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(420px,1.5fr);gap:clamp(42px,6vw,110px);align-items:center}.lobby-qr-wrap{display:grid;justify-items:center}.lobby-qr-card{width:min(36vh,360px);padding:clamp(12px,1.5vw,20px);background:#ece7df;color:#17130f;box-shadow:0 22px 70px #000c,0 0 0 1px #fff2;transform:rotate(-1deg)}.lobby-qr-card svg{display:block;width:100%;height:auto}.lobby-qr-card p{margin:10px 0 0;font-family:Inter,system-ui,sans-serif;font-size:clamp(.68rem,.8vw,.85rem);font-weight:750;text-align:center;text-transform:uppercase;letter-spacing:.1em}.lobby-qr-fallback{display:grid;aspect-ratio:1;place-items:center;background:#fff;font:900 2.5rem Inter;color:#111}.lobby-code{margin-top:16px;font-family:Inter,system-ui,sans-serif;font-size:clamp(1rem,1.2vw,1.35rem);letter-spacing:.14em}.lobby-code b{color:var(--screen-gold);font-size:1.35em}.lobby-copy h1{font-size:clamp(3rem,5.5vw,7rem)}.lobby-description{max-width:55ch;color:#b4ada4}.lobby-ready{margin:2.3vh 0 2vh}.lobby-ready-line{display:flex;justify-content:space-between;align-items:end;font-family:Inter,system-ui,sans-serif}.lobby-ready-line strong{font-size:clamp(1.6rem,2.6vw,3.2rem)}.lobby-ready-line span{color:#958e86;font-size:clamp(.72rem,.9vw,1rem)}.lobby-meter{height:5px;margin-top:9px;background:#292522;overflow:hidden}.lobby-meter i{display:block;height:100%;width:var(--ready,0%);background:var(--screen-accent);box-shadow:0 0 20px var(--screen-accent);transition:width .5s ease}.lobby-meter.is-ready i{background:#c3a66c}.lobby-player-list{display:flex;flex-wrap:wrap;gap:8px;max-height:19vh;overflow:hidden}.lobby-player{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #ffffff16;background:#ffffff08;font:650 clamp(.75rem,.85vw,.95rem) Inter,system-ui,sans-serif;animation:player-arrive .5s cubic-bezier(.2,.9,.2,1) both}.lobby-player i{width:6px;height:6px;border-radius:50%;background:#6f9e7e}.lobby-disclaimer{margin-top:2.1vh;color:#77716b;font:600 clamp(.62rem,.72vw,.78rem) Inter,system-ui,sans-serif;letter-spacing:.04em}.lobby-disclaimer b{color:var(--screen-accent);margin-right:8px}
.scene-prologue{display:grid;place-items:center;text-align:center}.prologue-frame{position:relative;width:min(1100px,88vw);padding:clamp(26px,4vw,68px);border-block:1px solid #ffffff18;background:linear-gradient(90deg,transparent,#0009 12% 88%,transparent)}.prologue-title{margin-bottom:3vh!important;color:var(--screen-gold);font-size:clamp(2.2rem,4.2vw,5.4rem)!important}.prologue-text{max-width:58ch;margin:0 auto;color:#ddd5ca;font-size:clamp(1.15rem,1.7vw,2rem)!important;line-height:1.65!important}.prologue-paragraph{display:block;opacity:0;transform:translateY(10px);animation:paragraph-reveal 1.25s ease forwards}.prologue-paragraph+ .prologue-paragraph{margin-top:1.4em}.prologue-paragraph:nth-child(2){animation-delay:1.15s}
.scene-night{text-align:center}.night-orbit{position:relative;width:min(25vh,220px);aspect-ratio:1;margin:0 auto 4vh;border:1px solid #ffffff16;border-radius:50%;box-shadow:0 0 80px color-mix(in srgb,var(--screen-accent) 20%,transparent)}.night-orbit::before{content:"";position:absolute;inset:17%;border-radius:50%;background:#d7d2c8;box-shadow:inset -32px -12px 0 #65615f,0 0 45px #d7d2c833}.night-orbit::after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:var(--screen-accent);top:5%;left:50%;box-shadow:0 0 20px var(--screen-accent);transform-origin:0 calc(min(25vh,220px)*.45);animation:night-spin 12s linear infinite}.scene-night h1{max-width:none}.screen-countdown{margin-top:2vh;font:300 clamp(3.2rem,6vw,7.2rem)/1 Inter,system-ui,sans-serif;letter-spacing:-.06em;font-variant-numeric:tabular-nums}.screen-countdown small{display:block;margin-top:8px;color:#77716a;font-size:.12em;font-weight:700;letter-spacing:.22em;text-transform:uppercase}
.scene-reveal{text-align:center;perspective:1200px}.reveal-card{position:relative;width:min(760px,80vw);min-height:min(51vh,480px);margin:0 auto;transform-style:preserve-3d;animation:card-flip 1.4s .35s cubic-bezier(.2,.75,.2,1) both}.reveal-face{position:absolute;inset:0;display:grid;place-items:center;padding:clamp(26px,5vw,72px);backface-visibility:hidden;border:1px solid #ffffff20;background:linear-gradient(145deg,#171413,#080807);box-shadow:0 35px 100px #000d}.reveal-face-front::before{content:"?";font-size:clamp(9rem,18vw,20rem);color:#ffffff08}.reveal-face-back{transform:rotateY(180deg);background:radial-gradient(circle at 50% 15%,color-mix(in srgb,var(--screen-accent) 24%,transparent),transparent 42%),#0b0a09}.reveal-name{font-size:clamp(2.7rem,5.4vw,7rem)!important}.reveal-role{color:var(--screen-accent);font:800 clamp(1rem,1.6vw,1.8rem) Inter,system-ui,sans-serif!important;letter-spacing:.16em;text-transform:uppercase}.reveal-legend{max-width:50ch;margin-inline:auto;color:#aaa198;font-size:clamp(.9rem,1.15vw,1.25rem)!important}.quiet-night{display:grid;place-items:center;text-align:center}.quiet-night-mark{font-size:clamp(6rem,12vw,14rem);line-height:.7;color:#779584;text-shadow:0 0 60px #54756555}.quiet-night h1{max-width:none;margin-top:4vh}.quiet-night p{color:#aaa49b}
.scene-discussion,.scene-voting{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(500px,1.25fr);gap:clamp(38px,5vw,88px);align-items:center}.scene-side h1{font-size:clamp(3rem,5vw,6.5rem)}.scene-side .screen-countdown{text-align:left}.alive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:2vh}.alive-person{display:flex;align-items:center;gap:10px;min-width:0;padding:9px;border:1px solid #ffffff10;background:#ffffff06;font:650 clamp(.7rem,.8vw,.9rem) Inter,system-ui,sans-serif}.alive-person.is-out{opacity:.34;filter:grayscale(1)}.person-avatar{display:grid;flex:0 0 auto;width:34px;aspect-ratio:1;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--screen-accent) 24%,#181513);color:#e8ddd0;font-weight:900}.alive-person span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-panel{padding:clamp(18px,2vw,30px);border-left:1px solid #ffffff18;background:linear-gradient(90deg,#ffffff05,transparent)}.chart-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:2vh;color:#948c83;font:700 clamp(.65rem,.75vw,.82rem) Inter,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase}.bar-list{display:grid;gap:clamp(8px,1vh,14px)}.bar-row{display:grid;grid-template-columns:minmax(100px,180px) 1fr 36px;gap:12px;align-items:center;font:650 clamp(.75rem,.9vw,1rem) Inter,system-ui,sans-serif}.bar-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{height:9px;background:#24201e;overflow:hidden}.bar-track i{display:block;width:var(--bar,0%);height:100%;background:linear-gradient(90deg,var(--screen-accent),color-mix(in srgb,var(--screen-accent) 60%,white));box-shadow:0 0 18px color-mix(in srgb,var(--screen-accent) 40%,transparent);transition:width .45s ease}.bar-value{text-align:right;color:var(--screen-gold);font-variant-numeric:tabular-nums}.empty-chart{padding:5vh 0;color:#716b65;text-align:center;font-style:italic}.vote-progress{margin-top:3vh;color:#8e877f;font:700 .8rem Inter,system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase}.vote-progress b{color:#e2d7ca;font-size:1.5em}
.scene-epilogue{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(540px,1.35fr);gap:clamp(36px,5vw,86px);align-items:start;max-height:76vh}.epilogue-story{align-self:center}.epilogue-story h1{font-size:clamp(2.8rem,5vw,6.4rem)}.winner-badge{display:inline-flex;margin:2vh 0;padding:9px 14px;border:1px solid color-mix(in srgb,var(--screen-accent) 65%,white);color:#ead9c8;font:800 clamp(.7rem,.9vw,1rem) Inter,system-ui,sans-serif;letter-spacing:.15em;text-transform:uppercase}.epilogue-text{max-width:53ch;color:#c3b9ad;font-size:clamp(.82rem,1.05vw,1.18rem)!important}.epilogue-text p{font-size:inherit}.epilogue-board{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;min-height:0}.epilogue-panel{min-height:0;padding:18px;border:1px solid #ffffff12;background:#0c0b0ae8}.epilogue-panel h3{margin:0 0 12px;color:var(--screen-gold);font:800 clamp(.68rem,.78vw,.85rem) Inter,system-ui,sans-serif;letter-spacing:.13em;text-transform:uppercase}.role-table,.ranking-table{display:grid;gap:6px;max-height:46vh;overflow:hidden}.role-row,.rank-row{display:grid;align-items:center;gap:8px;padding:7px 8px;background:#ffffff06;font:600 clamp(.62rem,.72vw,.8rem) Inter,system-ui,sans-serif}.role-row{grid-template-columns:1fr 1fr}.role-row span:last-child{color:#b99a72;text-align:right}.rank-row{grid-template-columns:26px 1fr auto}.rank-row:first-child{background:color-mix(in srgb,var(--screen-accent) 16%,#ffffff06);color:#fff}.rank-row b{color:var(--screen-gold);font-size:1.1em}.play-again{display:inline-block;margin-top:2vh;padding:11px 16px;border:1px solid #ffffff28;color:#d9d0c6;text-decoration:none;font:750 .72rem Inter,system-ui,sans-serif;letter-spacing:.11em;text-transform:uppercase}
.scene-closed{text-align:center}.scene-closed h1{max-width:none}
@keyframes scene-arrive{from{opacity:0;transform:translateY(18px) scale(.992);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}@keyframes scene-leave{to{opacity:0;transform:translateY(-12px);filter:blur(5px)}}@keyframes player-arrive{from{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:none}}@keyframes paragraph-reveal{to{opacity:1;transform:none}}@keyframes card-flip{0%{transform:rotateY(0) scale(.92);opacity:0}18%{opacity:1}100%{transform:rotateY(180deg) scale(1)}}@keyframes night-spin{to{transform:rotate(360deg)}}@keyframes screen-drift{to{transform:translate3d(8vw,5vh,0) scale(1.2)}}
@media(max-width:900px),(max-height:650px){.screen-stage{padding-top:76px;padding-bottom:58px}.scene-lobby,.scene-discussion,.scene-voting,.scene-epilogue{gap:28px}.lobby-qr-card{width:min(31vh,280px)}.alive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.screen-scene{max-height:76vh}.reveal-card{min-height:44vh}.epilogue-text{line-height:1.35!important}.role-table,.ranking-table{max-height:40vh}}
@media(max-width:720px){.conspiracy-screen{overflow:auto}.screen-stage{min-height:100svh;padding-inline:20px}.screen-topbar,.screen-footer{left:18px;right:18px}.screen-brand small,.screen-connection span{display:none}.scene-lobby,.scene-discussion,.scene-voting,.scene-epilogue{grid-template-columns:1fr}.scene-lobby{padding-top:50px}.lobby-qr-card{width:min(27vh,230px)}.lobby-copy{text-align:center}.lobby-player-list{justify-content:center}.scene-discussion,.scene-voting{align-content:center}.scene-side{text-align:center}.scene-side .screen-countdown{text-align:center}.alive-grid{display:none}.chart-panel{border-left:0;border-top:1px solid #ffffff18}.epilogue-board{grid-template-columns:1fr}.role-table{max-height:25vh}.ranking-table{display:none}}
@media(prefers-reduced-motion:reduce){.conspiracy-screen *,.conspiracy-screen *::before,.conspiracy-screen *::after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important}}

/* Телефон игрока */
.conspiracy-player-app{--p-bg:#090806;--p-card:#13110f;--p-card-2:#191613;--p-line:#2d2823;--p-text:#f0e9df;--p-muted:#958c82;--p-accent:#c55b43;--p-gold:#c9a467;min-height:100svh;margin:0;padding:0;background:radial-gradient(circle at 110% -10%,#5c261c40,transparent 34%),linear-gradient(160deg,#0d0b0950,#07070600 60%),url("./player-bg.png") center top/cover no-repeat;color:var(--p-text);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;overflow-x:hidden}.conspiracy-player-app *{box-sizing:border-box}.conspiracy-player-app button,.conspiracy-player-app input,.conspiracy-player-app select,.conspiracy-player-app textarea{font:inherit}.player-noise{position:fixed;inset:0;pointer-events:none;opacity:.2;background:repeating-linear-gradient(0deg,#ffffff03 0 1px,transparent 1px 4px);mix-blend-mode:screen}.player-topbar{position:sticky;z-index:30;top:0;display:flex;align-items:center;justify-content:space-between;height:64px;padding:calc(8px + env(safe-area-inset-top)) 18px 8px;border-bottom:1px solid #ffffff0d;background:#090806e8;backdrop-filter:blur(18px)}.player-logo{display:flex;align-items:center;gap:9px;color:var(--p-text);text-decoration:none;text-transform:uppercase;letter-spacing:.12em}.player-logo span{display:grid;width:30px;aspect-ratio:1;place-items:center;border:1px solid var(--p-accent);color:var(--p-accent);font:700 1.15rem Georgia,serif;transform:rotate(-3deg)}.player-logo b{font-size:.75rem}.player-online{display:flex;align-items:center;gap:7px;max-width:48%;color:#756e67;font-size:.67rem;text-align:right}.player-online i{flex:0 0 auto;width:6px;height:6px;border-radius:50%;background:#77382e;box-shadow:0 0 9px #77382e}.player-online.is-online i{background:#628e72;box-shadow:0 0 10px #628e72}.player-online.is-online{color:#9c958d}.player-root{position:relative;z-index:2;width:min(100%,560px);min-height:calc(100svh - 64px);margin:0 auto;padding:26px 18px calc(96px + env(safe-area-inset-bottom))}.player-join{padding-top:min(7vh,58px)}.player-kicker{margin:0;color:var(--p-accent);font-size:.68rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase}.player-join h1{margin:12px 0 20px;font:500 clamp(3.2rem,16vw,5rem)/.88 Georgia,serif;letter-spacing:-.055em}.player-intro{max-width:38ch;margin:0 0 28px;color:var(--p-muted);font:400 .96rem/1.55 Georgia,serif}.player-join-form{display:grid;gap:14px}.player-join-form label{display:grid;gap:7px}.player-join-form label>span,.mobile-field-label{color:#aaa198;font-size:.68rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.player-join-form input,.mobile-select,.mobile-input,.mobile-textarea{width:100%;min-height:52px;padding:13px 14px;border:1px solid var(--p-line);border-radius:12px;outline:none;background:#0d0c0a;color:var(--p-text)}.player-join-form input:focus,.mobile-select:focus,.mobile-input:focus,.mobile-textarea:focus{border-color:var(--p-accent);box-shadow:0 0 0 3px #c55b4320}.player-join-form input[name="code"]{font-size:1.28rem;font-weight:850;letter-spacing:.2em;text-transform:uppercase}.player-primary,.player-secondary,.player-danger,.player-choice{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;padding:12px 16px;border:0;border-radius:12px;cursor:pointer;font-weight:800}.player-primary{background:var(--p-accent);color:#fff4ec;box-shadow:0 12px 30px #8f2e2033}.player-secondary{border:1px solid var(--p-line);background:var(--p-card-2);color:var(--p-text)}.player-danger{border:1px solid #6a3029;background:#351813;color:#f1b1a4}.player-primary:disabled,.player-secondary:disabled,.player-danger:disabled,.player-choice:disabled{cursor:not-allowed;opacity:.45;box-shadow:none}.player-age{margin:24px 0 0;color:#68625c;font-size:.68rem;line-height:1.45}.player-age b{margin-right:6px;color:var(--p-accent)}.player-session-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.player-session-head small{display:block;margin-bottom:4px;color:var(--p-accent);font-size:.63rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.player-session-head strong{font:500 1.55rem Georgia,serif}.notification-toggle{display:grid;width:42px;aspect-ratio:1;place-items:center;border:1px solid var(--p-line);border-radius:50%;background:var(--p-card);color:var(--p-gold);font-size:1.2rem}.notification-toggle.is-enabled{border-color:#5d7f68;color:#8fba9a}.player-content{animation:mobile-content-in .28s ease both}.mobile-hero{padding:20px;border:1px solid var(--p-line);border-radius:18px;background:linear-gradient(145deg,#1b1713fc,#100e0c00);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);box-shadow:0 18px 50px #0005}.mobile-hero-icon{display:grid;width:54px;aspect-ratio:1;margin-bottom:16px;place-items:center;border:1px solid color-mix(in srgb,var(--p-accent) 65%,white);border-radius:50%;color:var(--p-accent);font:500 1.7rem Georgia,serif}.mobile-eyebrow{margin:0 0 7px;color:var(--p-accent);font-size:.63rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.mobile-title{margin:0 0 10px;font:500 clamp(2rem,10vw,3.2rem)/.95 Georgia,serif;letter-spacing:-.035em}.mobile-copy{margin:0;color:var(--p-muted);font-size:.9rem;line-height:1.55}.mobile-countdown{margin:16px 0 0;color:var(--p-gold);font-size:2.2rem;font-weight:300;font-variant-numeric:tabular-nums}.mobile-countdown small{display:block;margin-top:2px;color:#6f6861;font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.mobile-section{margin-top:18px}.mobile-section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:10px}.mobile-section-head h2{margin:0;font:500 1.35rem Georgia,serif}.mobile-section-head span{color:#746d66;font-size:.68rem}.waiting-progress{margin-top:20px}.waiting-count{display:flex;align-items:end;justify-content:space-between}.waiting-count strong{font-size:2.2rem}.waiting-count span{color:var(--p-muted);font-size:.75rem}.waiting-meter{height:4px;margin-top:9px;background:#28231f}.waiting-meter i{display:block;width:var(--waiting,0%);height:100%;background:var(--p-accent);transition:width .35s ease}.mobile-player-list{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:14px}.mobile-player-pill{display:flex;align-items:center;gap:7px;min-width:0;padding:9px;border:1px solid #ffffff0c;border-radius:10px;background:#ffffff05;font-size:.72rem}.mobile-player-pill i{width:5px;height:5px;border-radius:50%;background:#61856c}.mobile-player-pill span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-card{position:relative;overflow:hidden;padding:24px 20px;border:1px solid #4a3327;border-radius:20px;background:radial-gradient(circle at 100% 0,#8c392830,transparent 36%),linear-gradient(145deg,#201813d9,#100d0bd9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 20px 60px #0007}.role-card::after{content:"";position:absolute;right:-25px;bottom:-42px;width:150px;aspect-ratio:1;border:1px solid #ffffff0c;border-radius:50%;box-shadow:0 0 0 22px #ffffff05,0 0 0 44px #ffffff03}.role-symbol{display:grid;width:58px;aspect-ratio:1;margin-bottom:24px;place-items:center;border:1px solid var(--p-accent);color:var(--p-accent);font:500 2rem Georgia,serif;transform:rotate(-4deg)}.role-card h1{position:relative;z-index:1;margin:0;font:500 2.7rem/.95 Georgia,serif}.role-description{position:relative;z-index:1;margin:12px 0 0;color:#b7ada2;font-size:.88rem;line-height:1.55}.role-side{display:inline-flex;margin-top:16px;padding:6px 9px;border:1px solid #ffffff14;color:#857d74;font-size:.6rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.legend-card,.mobile-panel{margin-top:14px;padding:16px;border:1px solid var(--p-line);border-radius:15px;background:#13110fd9;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.legend-card h3,.mobile-panel h3{margin:0 0 8px;font:500 1.2rem Georgia,serif}.legend-status{color:var(--p-gold);font-size:.78rem;font-weight:750}.legend-background{margin:7px 0 0;color:var(--p-muted);font-size:.82rem;line-height:1.5}.ally-list{display:grid;gap:7px}.ally{display:flex;align-items:center;gap:10px;padding:10px;border-radius:10px;background:#0c0b09}.ally i{display:grid;width:30px;aspect-ratio:1;place-items:center;border-radius:50%;background:#52261e;color:#e4ad9f;font-style:normal;font-weight:850}.ally small{margin-left:auto;color:#69635d}.task-list{display:grid;gap:10px}.task-card{padding:15px;border:1px solid var(--p-line);border-radius:14px;background:var(--p-card)}.task-card.is-completed{border-color:#34533f;background:#111a14}.task-card.is-exposed{border-color:#62392f;background:#1d110e}.task-tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}.task-tag{padding:3px 6px;border-radius:999px;background:#ffffff08;color:#777068;font-size:.55rem;text-transform:uppercase}.task-text{margin:0;color:#d8d0c7;font-size:.86rem;line-height:1.48}.task-target{margin:8px 0 0;color:var(--p-gold);font-size:.72rem}.task-action{display:flex;align-items:center;gap:9px;width:100%;min-height:44px;margin-top:12px;padding:8px 0;border:0;background:none;color:#aaa198;text-align:left;font-size:.76rem}.task-check{display:grid;width:25px;aspect-ratio:1;place-items:center;border:1px solid #554c44;border-radius:7px}.task-card.is-completed .task-check{border-color:#5b8b68;background:#31533a;color:#fff}.task-card.is-exposed .task-check{border-color:#8a493b;color:#d37b68}.score-strip{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding:14px 16px;border:1px solid var(--p-line);border-radius:14px;background:linear-gradient(110deg,#17130f,#0e0c0a)}.score-strip span{color:var(--p-muted);font-size:.75rem}.score-strip strong{color:var(--p-gold);font-size:1.8rem}.choice-list{display:grid;gap:8px}.player-choice{justify-content:flex-start;gap:10px;border:1px solid var(--p-line);background:var(--p-card);color:var(--p-text);font-size:.83rem}.player-choice input{width:19px;height:19px;margin:0;accent-color:var(--p-accent)}.player-choice:has(input:checked){border-color:var(--p-accent);background:#24130f}.action-form{display:grid;gap:10px}.action-receipt{padding:16px;border:1px solid #3c5944;border-radius:14px;background:#101a13}.action-receipt strong{display:block;margin-bottom:6px;color:#8db798}.action-receipt p{margin:0;color:#9c958d;font-size:.82rem;line-height:1.45}.investigation-result{margin-top:14px;padding:18px;border:1px solid var(--p-line);border-radius:14px;text-align:center;background:#0c0b09}.investigation-result b{display:block;margin-top:7px;color:var(--p-gold);font:500 1.6rem Georgia,serif}.chat-box{margin-top:14px;border:1px solid var(--p-line);border-radius:14px;background:#0b0a08;overflow:hidden}.chat-messages{display:grid;gap:9px;max-height:220px;overflow:auto;padding:13px}.chat-message{max-width:88%;padding:9px 11px;border-radius:11px 11px 11px 3px;background:#211b17}.chat-message.is-mine{justify-self:end;border-radius:11px 11px 3px 11px;background:#3a1c16}.chat-message b{display:block;margin-bottom:3px;color:var(--p-gold);font-size:.61rem}.chat-message p{margin:0;font-size:.76rem;line-height:1.4}.chat-form{display:flex;gap:7px;padding:9px;border-top:1px solid var(--p-line)}.chat-form input{min-width:0;flex:1;min-height:43px;padding:9px 11px;border:0;border-radius:9px;background:#17130f;color:var(--p-text)}.chat-form button{flex:0 0 44px;border:0;border-radius:9px;background:var(--p-accent);color:#fff}.guess-grid{display:grid;gap:10px}.puppeteer-box{margin-top:14px;padding:15px;border:1px solid #5a4126;border-radius:14px;background:#1b140c}.puppeteer-box h3{margin:0 0 7px;color:var(--p-gold);font:500 1.2rem Georgia,serif}.puppeteer-modes{display:grid;gap:8px;margin:12px 0}.personal-result{text-align:center}.fate-mark{display:grid;width:86px;aspect-ratio:1;margin:0 auto 18px;place-items:center;border:1px solid var(--p-accent);border-radius:50%;color:var(--p-accent);font:500 2.3rem Georgia,serif}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:18px}.result-stat{padding:12px 6px;border:1px solid var(--p-line);border-radius:12px;background:var(--p-card)}.result-stat b{display:block;color:var(--p-gold);font-size:1.35rem}.result-stat span{color:#756e67;font-size:.6rem}.player-tabs{position:fixed;z-index:40;left:50%;bottom:0;display:grid;grid-template-columns:repeat(3,1fr);width:min(100%,560px);min-height:68px;padding:7px 10px calc(7px + env(safe-area-inset-bottom));border-top:1px solid #ffffff12;background:#0a0908ee;backdrop-filter:blur(20px);transform:translateX(-50%)}.player-tabs button{display:grid;place-items:center;gap:2px;border:0;border-radius:11px;background:none;color:#6f6861;font-size:.6rem;font-weight:750}.player-tabs button span{font-size:1.12rem}.player-tabs button.is-active{background:#ffffff08;color:var(--p-text)}.player-tabs button.is-active span{color:var(--p-accent)}.player-toast{position:fixed;z-index:80;left:50%;bottom:calc(82px + env(safe-area-inset-bottom));width:min(calc(100% - 32px),520px);padding:12px 14px;border:1px solid #ffffff18;border-radius:12px;background:#201c18ed;color:#ece5dc;font-size:.78rem;line-height:1.4;opacity:0;pointer-events:none;transform:translate(-50%,12px);transition:.25s ease}.player-toast.is-visible{opacity:1;transform:translate(-50%,0)}.mobile-empty{padding:30px 16px;color:#746d66;text-align:center;font:italic .9rem/1.5 Georgia,serif}.is-hidden{display:none!important}@keyframes mobile-content-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@media(min-width:650px){.conspiracy-player-app{background:radial-gradient(circle at 50% -20%,#5c261c36,transparent 35%),linear-gradient(160deg,#0d0b09b3,#070706cc 60%),url("./player-bg.png") center top/cover no-repeat}.player-root{border-inline:1px solid #ffffff08}}@media(prefers-reduced-motion:reduce){.conspiracy-player-app *{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Правила игры */
.rules-trigger{flex:0 0 auto;padding:7px 10px;border:1px solid #ffffff20;border-radius:8px;background:#ffffff06;color:#b9afa4;font:750 .65rem/1 Inter,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.rules-trigger:hover{border-color:#c9a46788;color:#e5d7c4}.rules-modal[hidden]{display:none}.rules-modal{position:fixed;z-index:200;inset:0;display:grid;place-items:center;padding:18px;background:#000c;backdrop-filter:blur(8px)}.rules-dialog{display:flex;flex-direction:column;width:min(720px,100%);max-height:min(88vh,880px);border:1px solid #5c4935;border-radius:18px;background:linear-gradient(145deg,#17130f,#090806);box-shadow:0 28px 100px #000;color:#eee5da;overflow:hidden}.rules-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid #ffffff12}.rules-dialog-head small{display:block;margin-bottom:4px;color:#c55b43;font:800 .6rem Inter,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase}.rules-dialog-head h2{margin:0;font:500 clamp(1.45rem,4vw,2rem) Georgia,serif}.rules-close{display:grid;flex:0 0 38px;width:38px;aspect-ratio:1;place-items:center;border:1px solid #ffffff18;border-radius:50%;background:#ffffff07;color:#d9cfc3;font-size:1.45rem;cursor:pointer}.rules-content{overflow:auto;padding:18px 20px 28px;overscroll-behavior:contain}.rules-content h3{margin:24px 0 9px;color:#c9a467;font:800 .72rem Inter,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase}.rules-content p,.rules-content li{color:#b9b0a6;font:400 .88rem/1.55 Inter,system-ui,sans-serif}.rules-content p{margin:0 0 12px}.rules-content strong{color:#eee3d5}.rules-content ul,.rules-content ol{display:grid;gap:7px;margin:0;padding-left:22px}.rules-content .rules-main{margin:22px 0 0;padding:14px;border-left:3px solid #c55b43;background:#ffffff06;color:#d8cec2}.rules-open{overflow:hidden!important}
.lobby-rules{max-width:62ch;margin:1.7vh 0;color:#b4ada4}.lobby-rules p{margin:.45em 0;font:500 clamp(.72rem,.88vw,1rem)/1.42 Georgia,serif}.lobby-rules p:first-child{color:#d5ccc1}.lobby-rules p b{color:var(--screen-accent);font-family:Inter,system-ui,sans-serif;letter-spacing:.08em}.lobby-rules small{display:block;margin-top:1.1em;color:#746e67;font:700 clamp(.55rem,.62vw,.68rem) Inter,system-ui,sans-serif;letter-spacing:.07em;text-transform:uppercase}
@media(max-width:720px){.rules-trigger{padding:7px 8px;font-size:.58rem}.rules-dialog{max-height:92svh}.rules-dialog-head,.rules-content{padding-inline:16px}.lobby-rules p{font-size:clamp(.68rem,2.7vw,.82rem);line-height:1.34}.lobby-rules small{font-size:.55rem}}
@media(max-width:390px){.player-online span,.host-connection span{display:none}.player-online{max-width:none}}

/* Настоящее матовое стекло на телефонах: прежний слой был почти непрозрачным
   (#1b1713fc), поэтому backdrop-filter физически не было видно. */
@media(max-width:649px){
  .mobile-hero{
    background:linear-gradient(145deg,rgba(27,23,19,.68),rgba(16,14,12,.38));
    -webkit-backdrop-filter:blur(2px) saturate(82%);
    backdrop-filter:blur(2px) saturate(82%);
  }
  .role-card{
    background:radial-gradient(circle at 100% 0,rgba(140,57,40,.18),transparent 36%),linear-gradient(145deg,rgba(32,24,19,.72),rgba(16,13,11,.48));
    -webkit-backdrop-filter:blur(2px) saturate(82%);
    backdrop-filter:blur(2px) saturate(82%);
  }
  .legend-card,.mobile-panel{
    background:rgba(19,17,15,.62);
    -webkit-backdrop-filter:blur(2px) saturate(82%);
    backdrop-filter:blur(2px) saturate(82%);
  }
  .mobile-player-pill{
    background:rgba(19,17,15,.48);
    -webkit-backdrop-filter:blur(2px) saturate(82%);
    backdrop-filter:blur(2px) saturate(82%);
  }
  .player-topbar,.player-tabs{
    -webkit-backdrop-filter:blur(2px) saturate(82%);
    backdrop-filter:blur(2px) saturate(82%);
  }

}

/* Ночной экран заговорщиков: основная цель и вмешательство визуально разделены. */
.conspiracy-night-step{
  position:relative;
  border-color:rgba(155,101,54,.72);
  background:linear-gradient(145deg,rgba(31,22,16,.88),rgba(14,12,10,.88));
}
.conspiracy-night-step.is-primary{box-shadow:0 0 0 1px rgba(221,130,63,.08),0 14px 34px rgba(0,0,0,.22)}
.conspiracy-night-step.is-intervention{border-style:dashed}
.night-step-head{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:center;margin-bottom:12px}
.night-step-number{display:grid;place-items:center;width:42px;height:42px;border:1px solid #d58643;border-radius:50%;color:#f0b469;font-weight:900;font-size:1.05rem;box-shadow:0 0 18px rgba(209,102,38,.24)}
.night-step-copy small{display:block;color:#d07356;text-transform:uppercase;letter-spacing:.12em;font-size:.58rem;font-weight:900}
.night-step-copy h2{margin:3px 0 0;color:#f0e5d5;font-size:1.12rem;line-height:1.15}
.night-step-badge{padding:6px 8px;border:1px solid rgba(202,128,67,.42);border-radius:999px;color:#d9b487;font-size:.62rem;line-height:1.15;text-align:center;white-space:nowrap}
.night-step-note{margin:0 0 14px;padding:10px 11px;border-left:2px solid rgba(211,117,60,.7);background:rgba(0,0,0,.17);color:#c7b9a8;font-size:.82rem;line-height:1.45}
.conspiracy-night-step .mobile-field-label{color:#e4bd84}
@media(max-width:430px){
  .night-step-head{grid-template-columns:38px minmax(0,1fr)}
  .night-step-number{width:38px;height:38px}
  .night-step-badge{grid-column:2;justify-self:start;white-space:normal;text-align:left}
}

/* Ночная мини-игра «Найди пару» */
.player-tabs.has-memory-tab{grid-template-columns:repeat(4,1fr)}
.memory-screen-active .player-root{height:calc(100svh - 64px);min-height:0;padding:10px 12px calc(76px + env(safe-area-inset-bottom));overflow:hidden}
.memory-screen-active .player-session{height:100%}
.memory-screen-active .player-session-head{height:48px;margin-bottom:6px}
.memory-screen-active .player-content{height:calc(100% - 54px)}
.memory-game{display:flex;flex-direction:column;height:100%;min-height:0;border:1px solid #4a3327;border-radius:16px;background:radial-gradient(circle at 50% 0,rgba(197,91,67,.14),transparent 38%),linear-gradient(180deg,#17110e,#0b0807);box-shadow:0 18px 50px #0006;overflow:hidden}
.memory-head{position:sticky;z-index:3;top:0;display:grid;grid-template-columns:1fr auto;align-items:end;gap:2px 12px;flex:0 0 auto;min-height:76px;padding:11px 13px;border-bottom:1px solid #c9a46724;background:rgba(20,14,11,.84);backdrop-filter:blur(12px)}
.memory-head .mobile-eyebrow{grid-column:1;margin:0;color:#c55b43}
.memory-head h1{grid-column:1;margin:0;color:#f0e9df;font:500 clamp(1.15rem,6vw,1.6rem)/1.05 Georgia,serif}
.memory-head .mobile-countdown{grid-column:2;grid-row:1/3;align-self:center;margin:0;color:#c9a467;font-size:1.65rem;text-align:right}
.memory-head .mobile-countdown small{margin-top:1px;color:#8f7861;font-size:.5rem}
.memory-wait-status{grid-column:2;grid-row:1/3;align-self:center;max-width:18ch;color:#95877a;font-size:.58rem;line-height:1.25;text-align:right}
.memory-grid{display:grid;grid-template-columns:repeat(var(--memory-columns),minmax(0,1fr));grid-template-rows:repeat(var(--memory-rows),minmax(0,1fr));gap:clamp(4px,1.2vw,7px);flex:1;min-height:0;padding:clamp(7px,2vw,11px)}
.memory-card{min-width:0;min-height:0;padding:0;border:0;border-radius:7px;outline:none;background:transparent;cursor:pointer;perspective:500px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.memory-card-inner{position:relative;display:block;width:100%;height:100%;border-radius:7px;transform-style:preserve-3d;transition:transform .38s cubic-bezier(.22,.61,.36,1)}
.memory-card.is-open .memory-card-inner,.memory-card.is-solved .memory-card-inner{transform:rotateY(180deg)}
.memory-card-back,.memory-card-front{position:absolute;inset:0;display:grid;place-items:center;border:1px solid #5a3b2d;border-radius:7px;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}
.memory-card-back{background:linear-gradient(145deg,#251812,#100b08);box-shadow:inset 0 0 0 1px #c9a4670b,0 2px 7px #0008}
.memory-card-back::before,.memory-card-back::after{content:"";position:absolute;width:72%;height:1px;background:#c9a46728;transform:rotate(34deg)}
.memory-card-back::after{transform:rotate(-34deg)}
.memory-card-back i{width:8px;height:8px;border:1px solid #c9a46799;border-radius:50%;background:#160f0c;box-shadow:0 0 10px #c9a46738}
.memory-card-front{background:linear-gradient(145deg,#2a1b14,#140e0b);color:#d7ad70;transform:rotateY(180deg)}
.memory-card.is-solved .memory-card-front{border-color:#9b7947;background:linear-gradient(145deg,#382719,#1b130d);color:#f0cf91;box-shadow:inset 0 0 14px #c9a4672e,0 0 8px #c55b4320}
.memory-card:focus-visible .memory-card-inner{outline:2px solid #c9a467;outline-offset:2px}
.memory-card:disabled{cursor:default}
.memory-game.is-paused .memory-grid{filter:saturate(.72)}
.memory-game.is-paused .memory-card-back,.memory-game.is-paused .memory-card-front{box-shadow:none}
.memory-symbol{width:min(72%,30px);height:min(72%,30px);overflow:visible}
.memory-shape{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.memory-symbol.variant-1 .memory-shape{fill:currentColor;stroke-width:1.5}
.memory-symbol.variant-2 .memory-shape{stroke-width:2}
.memory-marker{fill:currentColor;stroke:#17100d;stroke-width:1.5}
.intervention-panel{border-top:1px solid #7a452f66}.intervention-list,.perk-list{display:grid;gap:9px}.intervention-list form,.perk-list form{display:grid;gap:8px;padding:12px;border:1px solid #352c27;border-radius:12px;background:#120f0d}.intervention-list b,.perk-list b{color:#dec9af;font:600 .82rem/1.3 system-ui,sans-serif}.perk-discovery{margin:10px 0;padding:11px;border-left:2px solid #b17b42;background:#17120e}.perk-discovery p{margin:5px 0 0;color:#d7cec3}
@media(max-height:620px){.memory-screen-active .player-session-head{height:40px;margin-bottom:3px}.memory-screen-active .player-content{height:calc(100% - 43px)}.memory-head{min-height:62px;padding:7px 10px}.memory-head h1{font-size:1.05rem}.memory-grid{gap:4px;padding:6px}.memory-card,.memory-card-inner,.memory-card-back,.memory-card-front{border-radius:5px}}

/* Кинематографичная заставка перед прологом */
.opening-splash-active .screen-topbar,.opening-splash-active .screen-footer,.opening-splash-active .screen-story-line{opacity:0;pointer-events:none}
.screen-topbar,.screen-footer,.screen-story-line{transition:opacity .45s ease}
.scene-opening-splash{position:fixed;z-index:30;inset:0;width:100%;max-height:none;background:#050607;animation:opening-splash-in 1.1s ease both;overflow:hidden}
.scene-opening-splash::before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,#0203049c 0%,#0203042e 34%,#02030426 58%,#020304b8 100%),radial-gradient(ellipse at 50% 28%,transparent 0 18%,#0004 58%,#000a 100%)}
.scene-opening-splash::after{content:"";position:absolute;z-index:0;inset:-3%;background:url("./conspiracy-splash-v1.png") center center/cover no-repeat;animation:opening-splash-drift 6s ease-out both}
.opening-splash-copy{position:absolute;z-index:2;top:10%;left:50%;width:min(760px,82vw);text-align:center;transform:translateX(-50%);text-shadow:0 3px 18px #000,0 0 55px #000}
.opening-splash-copy p{margin:0 0 1.2vh;color:#d2a964;font:800 clamp(.66rem,1vw,1rem) Inter,system-ui,sans-serif;letter-spacing:.32em;text-transform:uppercase;animation:opening-title-rise .9s .55s ease both}
.opening-splash-copy h1{max-width:none;margin:0;color:#eee4d4;font:500 clamp(4.2rem,10vw,10.5rem)/.82 Georgia,"Times New Roman",serif;letter-spacing:.12em;animation:opening-title-rise 1.1s .75s ease both}
.opening-splash-copy span{display:block;margin-top:2vh;color:#c8bba9;font:700 clamp(.65rem,.9vw,.95rem) Inter,system-ui,sans-serif;letter-spacing:.3em;text-transform:uppercase;animation:opening-title-rise .9s 1.05s ease both}
.scene-opening-splash.is-leaving{animation:opening-splash-out .62s ease-in both}
@keyframes opening-splash-in{from{opacity:0;filter:blur(5px)}to{opacity:1;filter:none}}
@keyframes opening-splash-out{to{opacity:0;transform:scale(1.025);filter:blur(5px)}}
@keyframes opening-title-rise{from{opacity:0;transform:translateY(13px);letter-spacing:.42em}to{opacity:1;transform:none}}
@keyframes opening-splash-drift{from{transform:scale(1.035)}to{transform:scale(1.085)}}
@media(max-width:720px){.opening-splash-copy{top:14%;width:92vw}.opening-splash-copy h1{font-size:clamp(3rem,14vw,5.4rem);letter-spacing:.08em}.scene-opening-splash{background-position:center center}}
@media(prefers-reduced-motion:reduce){.scene-opening-splash,.scene-opening-splash::after,.opening-splash-copy>*{animation-duration:.01ms!important;animation-delay:0ms!important}}

/* Единый логотип игры «Заговор». */
.conspiracy-game-logo{
  display:block;
  background-image:url("./conspiracy-logo.png");
  background-repeat:no-repeat;
  background-position:center 47%;
  background-size:132% auto;
  border-radius:50%;
}
.conspiracy-launch-logo{
  width:112px;
  height:112px;
  margin:0 0 18px;
  box-shadow:0 0 28px #d18a3830;
}
.player-logo .conspiracy-game-logo,
.host-brand .conspiracy-game-logo{
  width:36px;
  height:36px;
  flex:0 0 36px;
  border:0;
  transform:none;
  box-shadow:0 0 10px #d18a3824;
}
.screen-brand .conspiracy-game-logo{
  grid-row:1/3;
  width:44px;
  height:44px;
  border:0;
  transform:none;
  box-shadow:0 0 12px #d18a3824;
}
.opening-splash-logo{
  width:clamp(92px,8vw,138px);
  height:clamp(92px,8vw,138px);
  margin:0 auto 1.8vh;
  box-shadow:0 0 34px #d18a3840;
  animation:opening-title-rise 1s .35s ease both;
}

/* Длинный пролог всегда помещается между верхней и нижней панелями. */
.scene-prologue{
  height:100%;
  max-height:calc(100svh - clamp(160px,20vh,220px));
}
.prologue-frame{
  max-height:100%;
  overflow:hidden;
  padding:var(--prologue-pad,clamp(24px,3.2vw,58px));
}
.prologue-title{
  font-size:var(--prologue-title-size,clamp(2.2rem,4vw,5rem))!important;
}
.prologue-text{
  font-size:var(--prologue-body-size,clamp(1rem,1.45vw,1.65rem))!important;
  line-height:var(--prologue-body-leading,1.55)!important;
}
.prologue-frame .screen-case-objective span{
  font-size:var(--prologue-objective-size,clamp(.78rem,1vw,1.05rem));
}

/* Единая сила размытия для остальных телефонных слоёв. */
@media(max-width:649px){
  .rules-modal,.memory-head{
    -webkit-backdrop-filter:blur(2px) saturate(82%);
    backdrop-filter:blur(2px) saturate(82%);
  }
}

/* Фон телефона живёт в отдельном слое размером с экран. Высота страницы и
   количество карточек больше не участвуют в background-size. */
.conspiracy-player-app{
  position:relative;
  background:#090806;
}
.conspiracy-player-app::before{
  content:"";
  position:fixed;
  z-index:0;
  inset:0;
  width:100vw;
  height:100dvh;
  min-height:100svh;
  pointer-events:none;
  background:radial-gradient(circle at 110% -10%,rgba(92,38,28,.25),transparent 34%),linear-gradient(160deg,rgba(13,11,9,.31),rgba(7,7,6,0) 60%),url("./player-bg.png") center top/cover no-repeat;
}
.conspiracy-player-app .player-noise{z-index:1}

/* Компактное голосование на телефоне: кандидаты в две колонки. */
@media(max-width:649px){
  .voting-hero{padding:14px 16px}
  .voting-hero .mobile-title{margin-bottom:7px;font-size:clamp(1.7rem,8vw,2.35rem)}
  .voting-hero .mobile-copy{font-size:.78rem;line-height:1.35}
  .voting-hero .mobile-countdown{margin-top:9px;font-size:1.65rem}
  .voting-section{margin-top:10px}
  .vote-choice-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .vote-choice-list .player-choice{min-width:0;min-height:44px;padding:8px 10px;gap:7px;font-size:.75rem}
  .vote-choice-list .player-choice input{flex:0 0 auto;width:17px;height:17px}
  .vote-choice-list .player-choice span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .voting-section [data-vote-form]>.player-primary{min-height:46px;margin-top:9px!important}
}

/*
 * Стекло телефона по схеме AutoSTART:
 * фон расположен в настоящем фиксированном DOM-слое, а не в body::before.
 * Это позволяет Android Chromium/WebView корректно брать изображение для
 * backdrop-filter во время прокрутки без JavaScript-подстановки фона.
 */
.conspiracy-player-app::before{content:none}
.conspiracy-player-app .player-noise{
  position:fixed;
  z-index:0;
  inset:0;
  width:100vw;
  height:100dvh;
  min-height:100svh;
  opacity:1;
  pointer-events:none;
  mix-blend-mode:normal;
  background:
    repeating-linear-gradient(0deg,rgba(255,255,255,.012) 0 1px,transparent 1px 4px),
    radial-gradient(circle at 110% -10%,rgba(92,38,28,.25),transparent 34%),
    linear-gradient(160deg,rgba(13,11,9,.31),rgba(7,7,6,0) 60%),
    url("./player-bg.png") center top/cover no-repeat;
}

@media(max-width:649px){
  .mobile-hero,
  .role-card,
  .legend-card,
  .mobile-panel,
  .mobile-player-pill,
  .task-card,
  .score-strip,
  .player-choice,
  .action-receipt,
  .investigation-result,
  .chat-box,
  .puppeteer-box,
  .result-stat,
  .rules-modal,
  .memory-head{
    backdrop-filter:blur(2px) saturate(82%);
    -webkit-backdrop-filter:blur(2px) saturate(82%);
  }

  .task-card{background:rgba(19,17,15,.66)}
  .task-card.is-completed{background:rgba(17,26,20,.72)}
  .task-card.is-exposed{background:rgba(29,17,14,.72)}
  .score-strip{background:linear-gradient(110deg,rgba(23,19,15,.68),rgba(14,12,10,.5))}
  .player-choice{background:rgba(19,17,15,.66)}
  .player-choice:has(input:checked){background:rgba(36,19,15,.72)}
  .action-receipt{background:rgba(16,26,19,.68)}
  .investigation-result,.chat-box{background:rgba(12,11,9,.66)}
  .puppeteer-box{background:rgba(27,20,12,.68)}
  .result-stat{background:rgba(19,17,15,.66)}
}

.lobby-auto-start{display:none;grid-template-columns:auto 1fr;align-items:center;gap:2px 16px;margin:-.4vh 0 1.7vh;padding:13px 16px;border:1px solid #c9a46766;background:linear-gradient(100deg,#c9a46712,#c55b4310);box-shadow:0 0 28px #c9a46716}
.lobby-auto-start.is-active{display:grid;animation:auto-start-arrive .45s ease both}
.lobby-auto-start small{grid-column:1;color:#b7aa99;font:750 clamp(.62rem,.75vw,.8rem) Inter,system-ui,sans-serif;letter-spacing:.09em;text-transform:uppercase}
.lobby-auto-start strong{grid-column:1;grid-row:2;color:var(--screen-gold);font:500 clamp(2rem,3.3vw,4.3rem)/.9 Georgia,serif;font-variant-numeric:tabular-nums;text-shadow:0 0 24px #c9a46755}
.lobby-auto-start span{grid-column:2;grid-row:1/3;max-width:32ch;color:#a69d93;font:500 clamp(.7rem,.82vw,.9rem)/1.45 Inter,system-ui,sans-serif}
@keyframes auto-start-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:720px){.lobby-auto-start{grid-template-columns:1fr;text-align:center}.lobby-auto-start small,.lobby-auto-start strong,.lobby-auto-start span{grid-column:1;grid-row:auto;justify-self:center}}

.screen-clock{margin-left:auto;margin-right:18px;padding:7px 10px;border:1px solid #c9a46738;background:#0b0a08aa;color:#d2b271;font:700 clamp(.72rem,.9vw,.95rem) Inter,system-ui,sans-serif;letter-spacing:.1em;font-variant-numeric:tabular-nums;box-shadow:inset 0 0 18px #c9a4670c}
@media(max-width:720px){.screen-clock{margin-right:10px;padding:6px 7px;font-size:.68rem}.screen-sound-toggle{display:none}}
