/* ============================================================
   АРКХЭМ-ХОЛЛ · ДЕЛО ДЖОКЕРА — стили (неоновая тема)
   ============================================================ */
:root{
  --green:#39ff14;--purple:#b537f2;--pink:#ff10f0;--red:#ff0040;--gold:#ffcc00;--blue:#00d4ff;--cyan:#00ffff;
  --bg:#020005;--glass:rgba(15,5,25,.95);--blood:#cc0000;--gold-bright:#ffd700;--ink:#e8dcc0;--brown:#8b4513;
  --muted:#a6a1b4;
  --ink-hi:#fff; /* brand-hex-ok: основной светлый текст неоновой темы */
}
*,*::before,*::after{box-sizing:border-box;}
html,body{margin:0;min-height:100%;overflow:hidden;}
body{font-family:'Oswald',sans-serif;background:var(--bg);color:var(--ink-hi);user-select:none;-webkit-font-smoothing:antialiased;}
input,textarea{user-select:text;-webkit-user-select:text;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;transition:.2s;}
button:disabled{opacity:.45;cursor:not-allowed;}
.hidden{display:none!important;}

/* ИКОНКИ (inline SVG вместо эмодзи) */
.icon{width:1em;height:1em;flex-shrink:0;vertical-align:-.14em;}
.btn-icon{display:inline-flex;align-items:center;justify-content:center;gap:.45em;}
.svg-ink{color:var(--ink-hi);}

/* ГЛАВНОЕ МЕНЮ */
#mainMenu{position:fixed;inset:0;z-index:9999;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:20px;overflow-y:auto;}
#mainMenu h1{font-family:'Bebas Neue','Oswald';font-size:clamp(40px,8vw,80px);color:var(--ink-hi);margin:auto 0 20px;text-shadow:0 0 20px var(--purple);}
.setup-panel{background:var(--glass);border:1px solid var(--purple);border-radius:10px;padding:30px;display:flex;flex-direction:column;gap:20px;align-items:center;box-shadow:0 0 20px rgba(181,55,242,.2);width:min(90vw,500px);margin-bottom:auto;}
.setup-row{display:flex;gap:10px;width:100%;justify-content:center;}
.setup-btn{font-family:'Bebas Neue','Oswald';font-size:20px;padding:15px 30px;flex:1;border:2px solid var(--green);color:var(--green);background:rgba(57,255,20,.05);}
.setup-btn.active{background:var(--green);color:#000;}
.setup-btn.pink{border-color:var(--pink);color:var(--pink);background:rgba(255,16,240,.05);}
.setup-btn.pink.active{background:var(--pink);color:#000;}
.mode-hint{font-family:'Special Elite','Courier New';font-size:14px;color:var(--muted);text-align:center;margin:-6px 0 0;line-height:1.45;}
.slider-container{width:100%;text-align:center;}
.slider-container label{font-family:'Special Elite','Courier New';font-size:16px;color:#ccc;display:block;margin-bottom:10px;}
input[type=range]{width:100%;accent-color:var(--green);}
.player-count-val{font-family:'Bebas Neue','Oswald';font-size:30px;color:var(--green);}
.panel-title{font-family:'Bebas Neue','Oswald';font-size:32px;letter-spacing:2px;color:var(--ink-hi);margin:0;}
.link-choice{width:100%;display:flex;flex-direction:column;align-items:center;gap:4px;}
.link-choice small{font-family:'Special Elite','Courier New';font-size:13px;letter-spacing:0;text-transform:none;opacity:.9;}
.room-label{font-family:'Special Elite','Courier New';font-size:13px;color:var(--muted);letter-spacing:3px;margin-bottom:-14px;}
.room-code{font-family:'Bebas Neue','Oswald';font-size:clamp(56px,15vw,88px);line-height:1;letter-spacing:.22em;padding-left:.22em;color:var(--green);text-shadow:0 0 25px rgba(57,255,20,.6);user-select:text;}
.room-status{font-family:'Special Elite','Courier New';font-size:15px;color:var(--ink);text-align:center;margin:0;min-height:22px;line-height:1.4;}
.room-status.error{color:var(--red);}
.room-status.ok{color:var(--green);}
.room-hint{font-family:'Special Elite','Courier New';font-size:13px;color:var(--muted);text-align:center;margin:0;line-height:1.45;}
.room-link{font-family:'Courier New',monospace;font-size:12px;color:var(--blue);word-break:break-all;text-align:center;user-select:text;margin-top:-10px;}
.code-input{width:100%;padding:14px;background:#000;border:2px solid var(--pink);color:var(--pink);font-family:'Bebas Neue','Oswald';font-size:46px;letter-spacing:.3em;text-align:center;text-transform:uppercase;outline:none;}
.code-input:focus{box-shadow:0 0 20px rgba(255,16,240,.45);}
.code-input::placeholder{color:rgba(255,16,240,.35);}

/* КНОПКИ */
.btn{font-family:'Bebas Neue','Oswald';letter-spacing:.1em;text-transform:uppercase;padding:15px 30px;font-size:20px;color:var(--green);border:2px solid var(--green);background:#000;box-shadow:0 0 15px rgba(57,255,20,.3);clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);}
.btn:hover{background:var(--green);color:#000;box-shadow:0 0 30px var(--green);}
.btn-pink{border-color:var(--pink);color:var(--pink);box-shadow:0 0 15px rgba(255,16,240,.3);}
.btn-pink:hover{background:var(--pink);color:#000;box-shadow:0 0 30px var(--pink);}
.btn-gold{border-color:var(--gold);color:var(--gold);}
.btn-gold:hover{background:var(--gold);color:#000;}
.btn-red{border-color:var(--red);color:var(--red);}
.btn-red:hover{background:var(--red);color:#000;}
.btn-blue{border-color:var(--blue);color:var(--blue);}
.btn-blue:hover{background:var(--blue);color:#000;}
.btn-green{border-color:var(--green);color:var(--green);background:#001a00;}
.btn-green:hover{background:var(--green);color:#000;}
.btn-ghost{border-color:#6c6680;color:#d4d0e0;box-shadow:none;}
.btn-ghost:hover{background:#2c2838;color:var(--ink-hi);box-shadow:none;}
.btn-small{padding:8px 14px;font-size:14px;}
.screen{display:none;position:fixed;inset:0;z-index:10;flex-direction:column;align-items:center;justify-content:center;background:var(--bg);}
.screen.active{display:flex;}
.screen-hint{font-family:'Special Elite','Courier New';font-size:15px;color:var(--muted);margin:-8px 0 18px;text-align:center;}

/* РОЛИ / ПРЕДСТАВЛЕНИЕ */
#screen-gates{background:#05000a url('gate.jpeg') center/cover no-repeat;}
#screen-gates::before{content:'';position:absolute;inset:0;background:radial-gradient(circle,transparent 40%,rgba(0,0,0,.95) 100%);}
.gate-content{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:10vh 20px 15vh;}
.gate-top h1{font-family:'Bebas Neue','Oswald';font-size:clamp(50px,8vw,90px);line-height:1;color:var(--ink-hi);text-shadow:0 0 20px var(--green);margin:0;text-transform:uppercase;letter-spacing:2px;text-align:center;}
#screen-roles{background:var(--bg);display:none;flex-direction:column;align-items:center;justify-content:flex-start;padding:40px 20px;overflow-y:auto;}
#screen-roles.active{display:flex;}
#screen-roles h1{font-family:'Bebas Neue','Oswald';font-size:50px;margin:0 0 20px;color:var(--ink-hi);text-align:center;}
.roles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:25px;width:100%;max-width:1200px;margin-bottom:30px;padding:10px;}
.dossier-card{position:relative;width:100%;aspect-ratio:2.2/3.5;background:#cc2200;clip-path:polygon(2% 0,10% 2%,20% 0,35% 3%,50% 0,65% 2%,80% 0,95% 4%,100% 2%,98% 15%,100% 30%,97% 45%,100% 60%,98% 75%,100% 90%,96% 98%,85% 100%,70% 97%,55% 100%,40% 98%,25% 100%,10% 97%,0 100%,2% 85%,0 70%,3% 55%,0 40%,2% 25%,0 10%);padding:10px;transform:rotate(var(--rot,0deg));}
.dossier-inner{background:#111;width:100%;height:100%;padding:8px;display:flex;flex-direction:column;clip-path:polygon(1% 0,99% 1%,98% 10%,100% 25%,97% 40%,99% 55%,98% 70%,100% 85%,99% 100%,0 99%,1% 85%,0 70%,2% 55%,0 40%,1% 25%,0 10%);}
.photo-zone{position:relative;width:100%;flex:1;background:var(--ink-hi);overflow:hidden;border-bottom:3px solid #333;min-height:120px;}
.photo-zone::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 20px,rgba(0,0,0,.3) 20px,rgba(0,0,0,.3) 22px);z-index:1;}
.photo-zone img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%) contrast(150%);opacity:0;position:relative;z-index:2;transition:opacity .2s;}
.photo-zone.has-photo img{opacity:1;}
.photo-zone.has-photo .photo-emoji{display:none;}
.photo-emoji{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:58%;height:58%;z-index:2;opacity:.22;color:#000;}
.photo-emoji .icon{width:100%;height:100%;}
.red-mark{position:absolute;inset:0;z-index:3;pointer-events:none;}
.name-plate{background:#000;border:1px solid #444;margin-top:5px;padding:5px;text-align:center;font-family:'Courier New',monospace;}
.plate-id{font-size:10px;color:#aaa;}
.plate-name{font-size:14px;color:var(--ink-hi);font-weight:bold;text-transform:uppercase;margin:2px 0;}
.plate-alias{font-size:9px;color:#9a9a9a;}
.dossier-input{width:100%;margin-top:5px;padding:5px;background:#000;border:1px solid #555;color:var(--green);text-align:center;font-family:'Special Elite','Courier New';outline:none;font-size:12px;}
.dossier-input.ro-field{min-height:26px;}
.upload-btn{position:absolute;bottom:5px;right:5px;z-index:10;background:rgba(0,0,0,.85);border:1px solid var(--ink-hi);color:var(--ink-hi);width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:15px;}
#screen-presentation{background:var(--bg);display:none;flex-direction:column;align-items:center;justify-content:center;padding:20px;overflow-y:auto;}
#screen-presentation.active{display:flex;}
.pres-container{display:flex;flex-direction:column;align-items:center;gap:20px;margin:auto 0;}
.pres-card{margin:10px auto;width:clamp(180px,20vw,250px);}
.pres-info-box{max-width:600px;text-align:center;}
.pres-info-box h2{font-family:'Bebas Neue','Oswald';font-size:40px;color:var(--green);margin:0;}
.pres-info-box p{font-family:'Special Elite','Courier New';font-size:18px;color:#ccc;line-height:1.5;margin-top:10px;}
.pres-controls{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap;justify-content:center;}

/* КИНЕМАТОГРАФ */
#cinematic-overlay{position:fixed;inset:0;z-index:5000;background:#000;display:none;align-items:center;justify-content:center;flex-direction:column;}
#cinematic-overlay.active{display:flex;}
.scene{position:absolute;inset:0;display:none;align-items:center;justify-content:center;flex-direction:column;text-align:center;overflow:hidden;}
.scene.active{display:flex;}
.neon-toast-svg{width:min(450px,90vw);height:auto;aspect-ratio:500/350;margin-bottom:20px;animation:floatUp 3s ease-in-out infinite;}
@keyframes floatUp{0%,100%{transform:translateY(0)}50%{transform:translateY(-15px)}}
.toast-text{font-family:'Bebas Neue','Oswald';font-size:clamp(34px,7vw,50px);color:var(--green);margin-top:20px;text-shadow:0 0 20px var(--green);}
.ecg-line{width:80vw;height:100px;border:1px solid var(--red);position:relative;overflow:hidden;}
.ecg-line::after{content:'';position:absolute;top:50%;left:0;width:200%;height:4px;background:var(--red);transform:translateY(-50%);animation:flatline 2s linear infinite;}
@keyframes flatline{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.flatline-text{font-family:'Special Elite','Courier New';font-size:30px;color:var(--red);margin-top:20px;letter-spacing:5px;}
.siren-flash{position:absolute;width:60vw;height:60vw;border-radius:50%;filter:blur(60px);opacity:0;animation:flash .4s infinite alternate;}
@keyframes flash{to{opacity:.5}}
.car-svg{width:300px;position:absolute;animation:driveRight 3s linear forwards;}
@keyframes driveRight{from{transform:translateX(-100vw)}to{transform:translateX(100vw)}}
.police-tape{font-family:'Bebas Neue','Oswald';font-size:clamp(30px,7vw,50px);background:yellow;color:#000;padding:15px 60px;transform:rotate(-5deg);border:5px solid #000;margin-top:40px;}

/* ИГРОВАЯ КОМНАТА */
#game-room{position:fixed;inset:0;z-index:100;display:none;background:#05000a url('room.jpeg') center/cover no-repeat;}
#game-room.active{display:flex;flex-direction:column;}
#game-room::before{content:'';position:absolute;inset:0;background:rgba(0,0,0,.6);z-index:0;}
#bg-decor-layer{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden;}
.bg-neon-text{position:absolute;font-family:'Caveat',cursive;font-weight:700;opacity:.3;text-shadow:0 0 15px currentColor,0 0 30px currentColor;}
.bg-neon-line{position:absolute;background:currentColor;height:3px;box-shadow:0 0 15px currentColor,0 0 30px currentColor;opacity:.4;border-radius:2px;}
.bg-neon-circle{position:absolute;border:3px solid currentColor;border-radius:50%;box-shadow:0 0 15px currentColor,inset 0 0 15px currentColor;opacity:.3;}
.neon-smile-container{position:absolute;top:25%;left:50%;transform:translateX(-50%);width:60vw;display:flex;justify-content:center;pointer-events:none;z-index:1;opacity:.4;}
.neon-smile{width:100%;max-width:700px;filter:drop-shadow(0 0 20px var(--green));}
#hud{position:relative;z-index:10;display:flex;flex-wrap:wrap;justify-content:center;gap:4px;padding:10px 56px;background:rgba(0,0,0,.8);border-bottom:1px solid #333;min-height:20px;}
.hud-card{display:flex;align-items:center;gap:4px;background:#111;border:1px solid var(--char-color);padding:3px 6px;font-size:clamp(10px,1.5vw,14px);}
.hud-card img,.hud-card .hud-avatar{width:clamp(16px,2vw,24px);height:clamp(16px,2vw,24px);object-fit:cover;border:1px solid var(--char-color);filter:grayscale(100%);}
.hud-card .hud-avatar{filter:none;color:var(--char-color);display:flex;align-items:center;justify-content:center;padding:1px;}
.hud-avatar .icon{width:100%;height:100%;}
.hud-name{font-family:'Bebas Neue','Oswald';color:var(--char-color);}
.hud-score{font-family:'Bebas Neue','Oswald';font-size:clamp(14px,2vw,18px);color:var(--green);}
.board-container{position:relative;z-index:10;flex:1;display:flex;align-items:center;justify-content:center;padding:20px;min-height:0;}
.board-cork{position:relative;width:100%;max-width:1200px;height:100%;max-height:80vh;background:rgba(20,10,0,.5);backdrop-filter:blur(3px);border:8px solid rgba(26,10,5,.9);box-shadow:inset 0 0 50px rgba(0,0,0,.6),0 10px 30px rgba(0,0,0,.8);overflow:hidden;}
.board-title{position:absolute;top:15px;left:50%;transform:translateX(-50%);background:#1a0a05;border:1px solid var(--pink);padding:5px 20px;font-family:'Bebas Neue','Oswald';font-size:clamp(16px,2vw,24px);color:var(--pink);letter-spacing:2px;z-index:10;box-shadow:0 0 15px rgba(255,16,240,.5);white-space:nowrap;}
.board-photo{position:absolute;border:2px solid var(--ink-hi);background:#000;z-index:4;transform:translate(-50%,-50%) rotate(var(--rot,0deg));}
.board-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%) contrast(1.2);display:block;}
.board-avatar{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:18%;}
.board-avatar .icon{width:100%;height:100%;}
.board-red-mark{position:absolute;inset:0;z-index:5;pointer-events:none;}
.board-photo .name{position:absolute;bottom:-20px;left:0;right:0;text-align:center;font-family:'Bebas Neue','Oswald';font-size:clamp(10px,1.2vw,14px);color:var(--ink-hi);text-shadow:1px 1px 2px #000;z-index:6;white-space:nowrap;}
.stamp-detained{position:absolute;top:30%;left:50%;transform:translate(-50%,-50%) rotate(-15deg);border:2px solid var(--red);color:var(--red);background:rgba(0,0,0,.85);font-family:'Bebas Neue','Oswald';font-size:clamp(10px,1.5vw,16px);padding:2px 6px;letter-spacing:1px;z-index:8;cursor:pointer;transition:.2s;box-shadow:0 0 10px rgba(255,0,64,.5);white-space:nowrap;}
.stamp-detained:hover{background:var(--red);color:#000;}
.stamp-exposed{position:absolute;top:70%;left:50%;transform:translate(-50%,-50%) rotate(-10deg);border:2px solid var(--gold);color:var(--gold);background:rgba(0,0,0,.85);font-family:'Bebas Neue','Oswald';font-size:clamp(8px,1vw,12px);padding:2px 6px;letter-spacing:1px;z-index:8;cursor:pointer;transition:.2s;box-shadow:0 0 10px rgba(255,204,0,.5);white-space:nowrap;}
.stamp-exposed:hover{background:var(--gold);color:#000;}
.center-photo{width:clamp(80px,10vw,120px);height:clamp(110px,14vw,160px);border-color:var(--green);box-shadow:0 0 20px rgba(57,255,20,.5);}
.center-photo.left{left:40%;top:50%;--rot:-4deg;}
.center-photo.right{left:60%;top:50%;--rot:5deg;}
.suspect-photo{width:clamp(60px,8vw,100px);height:clamp(80px,11vw,140px);}
.threads-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3;}
.sticky-note{position:absolute;width:clamp(75px,7.5vw,105px);padding:5px;font-family:'Special Elite','Courier New';font-size:clamp(7px,.8vw,9px);color:#111;box-shadow:2px 3px 5px rgba(0,0,0,.6);transform:translate(-50%,-50%) rotate(var(--r));z-index:7;text-align:left;}
.sticky-note::before{content:'';position:absolute;top:-5px;left:50%;transform:translateX(-50%);width:9px;height:9px;background:#c00;border-radius:50%;}
.sticky-note .clue-title{font-weight:bold;margin-bottom:2px;font-family:'Oswald';text-transform:uppercase;font-size:clamp(6px,.75vw,8px);border-bottom:1px solid rgba(0,0,0,.3);padding-bottom:2px;display:flex;align-items:center;gap:3px;}
.sticky-note .clue-text{font-size:clamp(7px,.75vw,9px);}
.sticky-note .clue-leads{font-size:clamp(5px,.65vw,7px);color:#8a0018;margin-top:2px;font-family:'Oswald';}
.yellow{background:#fdf5e6}.pink{background:#ffd1dc}.blue{background:#d1e8ff}.green{background:#d1ffd1}.gold{background:#fff3c4}

/* ОВЕРЛЕЙ ЗАДАНИЙ: фон раунда растягивается на весь экран */
#task-overlay{position:fixed;inset:0;z-index:400;background-color:rgba(0,0,0,.95);background-position:center;background-size:cover;background-repeat:no-repeat;backdrop-filter:blur(10px);display:none;flex-direction:column;align-items:center;justify-content:center;padding:20px;}
#task-overlay.active{display:flex;}
#task-overlay.has-bg{background-color:#000;backdrop-filter:none;}
#task-overlay.has-bg .task-box{background-color:rgba(10,5,16,.8);}
.task-box{width:100%;max-width:900px;background:#0a0510;border:2px solid var(--purple);padding:30px;box-shadow:0 0 50px rgba(181,55,242,.3);text-align:center;position:relative;transition:box-shadow .5s ease;max-height:92vh;overflow-y:auto;border-radius:4px;}
.task-title{font-family:'Bebas Neue','Oswald';font-size:clamp(30px,4vw,50px);color:var(--green);text-shadow:0 0 15px var(--green);margin-bottom:10px;letter-spacing:2px;display:flex;align-items:center;justify-content:center;gap:.3em;}
.task-desc{font-family:'Special Elite','Courier New';font-size:clamp(14px,2vw,20px);color:#b8b3c4;margin-bottom:20px;}

/* ЗАГАДКИ */
.theme-riddler{border-color:var(--green);box-shadow:0 0 40px rgba(57,255,20,.2);}
.theme-riddler .task-title{color:var(--green);text-shadow:0 0 15px var(--green);}
.riddle-question{font-family:'Special Elite','Courier New';font-size:clamp(18px,3vw,26px);color:var(--green);margin-bottom:25px;font-style:italic;line-height:1.5;padding:20px;background:rgba(57,255,20,.05);border-left:3px solid var(--green);border-radius:5px;text-align:left;}
.riddle-progress{font-family:'Special Elite','Courier New';font-size:14px;color:#9a96a8;margin-bottom:15px;letter-spacing:2px;}
.input-line{width:100%;max-width:350px;padding:15px;background:#000;border:1px solid var(--green);color:var(--green);text-align:center;font-family:'Special Elite','Courier New';font-size:22px;margin:0 auto 15px;outline:none;display:block;text-transform:uppercase;letter-spacing:2px;}
.input-line:focus{box-shadow:0 0 15px rgba(57,255,20,.5);}
.error-msg{color:var(--red);font-family:'Special Elite','Courier New';font-size:16px;margin-bottom:15px;min-height:24px;}
.riddle-controls{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:10px;}

/* ДЕГУСТАЦИЯ */
.theme-lab{border-color:var(--cyan);box-shadow:0 0 40px rgba(0,255,255,.2);}
.theme-lab .task-title{color:var(--cyan);text-shadow:0 0 15px var(--cyan);}
.tubes-row{display:flex;justify-content:center;gap:12px;margin:25px 0;flex-wrap:wrap;}
.tube-wrapper{display:flex;flex-direction:column;align-items:center;gap:6px;}
.tube{width:clamp(42px,6vw,65px);height:clamp(85px,12vw,130px);border:3px solid #555;border-top:none;border-radius:0 0 28px 28px;position:relative;overflow:hidden;background:rgba(0,0,0,.4);box-shadow:inset 0 0 20px rgba(0,0,0,.8);}
.tube::before{content:'';position:absolute;top:0;left:8px;right:8px;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);z-index:2;pointer-events:none;}
.liquid{position:absolute;bottom:0;left:0;right:0;height:70%;transition:height 1.2s cubic-bezier(.4,0,.2,1);animation:pulseLiquid 2s infinite alternate;}
@keyframes pulseLiquid{from{filter:brightness(1)}to{filter:brightness(1.3)}}
.tube.empty .liquid{height:0}
.tube-number{font-family:'Bebas Neue','Oswald';font-size:15px;color:#a6a1b4}
.tube-stand{width:clamp(42px,6vw,65px);height:8px;background:#333;border-radius:4px;box-shadow:0 4px 8px rgba(0,0,0,.8);}
.victim-grid,.guess-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(85px,1fr));gap:8px;margin-bottom:20px;}
.player-card{cursor:pointer;border:2px solid #444;padding:10px 5px;background:#222;transition:.2s;text-align:center;font-family:'Bebas Neue','Oswald';font-size:14px;}
.player-card:hover{border-color:var(--gold);background:#333;}
.player-card.selected{border-color:var(--red);background:rgba(255,0,64,.2);color:var(--red);}
.guess-btn{cursor:pointer;border:2px solid #444;padding:12px 5px;background:#222;transition:.2s;text-align:center;font-family:'Bebas Neue','Oswald';font-size:14px;}
.guess-btn:hover{border-color:var(--green);background:#333;}
.guess-btn.selected{border-color:var(--green);background:rgba(57,255,20,.2);color:var(--green);}
.guess-btn.disabled{opacity:.3;cursor:not-allowed;pointer-events:none;}
.points-preview{font-family:'Special Elite','Courier New';font-size:14px;color:#ccc;padding:12px;background:rgba(255,204,0,.1);border:1px solid #444;border-radius:8px;margin-bottom:15px;text-align:left;line-height:1.7;}
.points-preview b{color:var(--gold);font-size:18px;}
.points-preview .note{color:#a6a1b4;font-size:12px;}

/* ДЖУКБОКС */
.theme-jukebox{border-color:var(--pink);box-shadow:0 0 50px rgba(255,16,240,.3);border-radius:20px 20px 0 0;}
.theme-jukebox .task-title{color:var(--pink);text-shadow:0 0 15px var(--pink);}
.jukebox-list{position:relative;z-index:2;display:flex;flex-direction:column;gap:10px;max-width:600px;margin:0 auto 20px;}
.jukebox-btn{background:rgba(0,0,0,.8);border:1px solid #444;padding:10px 15px;font-family:'Bebas Neue','Oswald';font-size:clamp(16px,2vw,20px);color:var(--ink-hi);cursor:pointer;transition:.3s;display:flex;justify-content:space-between;align-items:center;}
.jukebox-btn:hover{border-color:var(--pink);color:var(--pink);background:#000;}
.jukebox-btn.solved{border-color:var(--green);color:var(--green);opacity:.7;cursor:default;}
.jukebox-btn.failed{border-color:var(--red);color:var(--red);opacity:.7;cursor:default;}
.jb-status{display:inline-flex;align-items:center;gap:.4em;}
.song-play-area{text-align:center;padding:20px;background:rgba(0,0,0,.6);border:1px solid var(--pink);border-radius:10px;margin-bottom:20px;}
.song-line{font-family:'Special Elite','Courier New';font-size:clamp(18px,2.5vw,28px);color:var(--ink-hi);letter-spacing:2px;margin-bottom:20px;min-height:60px;display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;}
.hidden-word{color:#6a6a6a;cursor:default;padding:0 5px;border-bottom:2px dashed #6a6a6a;}
.revealed-word{color:var(--pink);text-shadow:0 0 10px var(--pink);padding:0 5px;}
.track-player{margin:20px auto;padding:15px;background:rgba(255,16,240,.08);border:1px solid var(--pink);border-radius:10px;max-width:400px;}
.wave-eq{display:flex;gap:6px;justify-content:center;align-items:flex-end;height:50px;margin-bottom:15px;}
.wave-eq .bar{width:8px;background:var(--pink);border-radius:2px;box-shadow:0 0 8px var(--pink);}
.wave-eq .bar:nth-child(1){animation:wave1 .8s ease-in-out infinite;height:20px}.wave-eq .bar:nth-child(2){animation:wave2 .6s ease-in-out infinite;height:40px}.wave-eq .bar:nth-child(3){animation:wave3 .7s ease-in-out infinite;height:50px}.wave-eq .bar:nth-child(4){animation:wave2 .9s ease-in-out infinite;height:35px}.wave-eq .bar:nth-child(5){animation:wave1 .65s ease-in-out infinite;height:25px}
@keyframes wave1{0%,100%{height:15px}50%{height:35px}}@keyframes wave2{0%,100%{height:40px}50%{height:15px}}@keyframes wave3{0%,100%{height:50px}50%{height:20px}}
.wave-eq.paused .bar{animation:none;height:15px}
.song-controls{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:20px;}

/* КАССЕТЫ */
.theme-music{border-color:var(--blood);box-shadow:0 0 60px rgba(204,0,0,.4);}
.theme-music .task-title{color:var(--blood);text-shadow:2px 0 #00ffff,-2px 0 #ff0033,0 0 15px var(--blood);}
.cassette-list{display:flex;flex-direction:column;gap:15px;max-width:700px;margin:0 auto 20px;padding:20px;background:rgba(0,0,0,.6);border:1px solid var(--blood);box-shadow:inset 0 0 40px rgba(0,0,0,.9);}
.cassette{position:relative;background:linear-gradient(180deg,#2a2a2a,#151515 50%,#0a0a0a);border:2px solid #444;border-radius:6px;padding:15px 20px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:.2s;box-shadow:0 4px 10px rgba(0,0,0,.8),inset 0 2px 4px rgba(255,255,255,.05);}
.cassette:hover:not(.solved):not(.failed){border-color:var(--blood);transform:translateX(3px);box-shadow:0 4px 20px rgba(255,0,51,.4);}
.cassette-reels{display:flex;gap:20px;align-items:center;flex:1;}
.reel{width:32px;height:32px;border-radius:50%;background:radial-gradient(circle,#000 25%,#333 26%,#333 40%,#000 41%,#222 42%,#222 60%,#111 61%);border:2px solid #555;position:relative;box-shadow:inset 0 0 6px rgba(0,0,0,.9);}
.reel::before{content:'';position:absolute;inset:50%;width:8px;height:8px;transform:translate(-50%,-50%);background:#555;border-radius:50%;}
.tape-window{flex:1;height:30px;background:linear-gradient(180deg,#0a0a0a,#1a1a1a);border:1px solid #333;border-radius:4px;position:relative;overflow:hidden;}
.tape-window::before{content:'';position:absolute;top:50%;left:0;right:0;height:2px;background:repeating-linear-gradient(90deg,#444 0,#444 8px,transparent 8px,transparent 12px);transform:translateY(-50%);}
.cassette-info{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:120px;}
.cassette-title{font-family:'Bebas Neue','Oswald';font-size:20px;color:var(--ink);letter-spacing:2px;}
.cassette-status{font-family:'Bebas Neue','Oswald';font-size:14px;color:#a6a1b4;letter-spacing:1px;display:inline-flex;align-items:center;gap:.4em;}
.cassette.solved{border-color:var(--green);background:linear-gradient(180deg,#0a2a0a,#051505);}
.cassette.solved .cassette-title,.cassette.solved .cassette-status{color:var(--green)}
.cassette.solved .reel{border-color:var(--green);}
.cassette.failed{border-color:#555;opacity:.55;}
.cassette.failed .cassette-title{color:#8a8a8a;text-decoration:line-through}
.cassette.failed .cassette-status{color:var(--blood);}
.stage-bar{display:flex;gap:4px;justify-content:center;margin-bottom:20px;}
.stage-segment{flex:1;max-width:60px;height:8px;background:#1a0000;border:1px solid #333;transition:.3s;}
.stage-segment.active{background:var(--blood);box-shadow:0 0 10px var(--blood);border-color:var(--blood);}
.stage-segment.passed{background:#4a0000;border-color:var(--blood);}
.images-line{display:flex;justify-content:center;align-items:center;gap:8px;margin-bottom:20px;flex-wrap:wrap;min-height:100px;padding:10px;}
.song-image{width:clamp(70px,11vw,120px);height:clamp(70px,11vw,120px);display:flex;align-items:center;justify-content:center;background:#0a0a0a;border:2px solid #333;position:relative;overflow:hidden;transition:.3s;flex-shrink:0;clip-path:polygon(4% 0,96% 2%,100% 8%,98% 92%,94% 100%,6% 98%,0 92%,2% 8%);}
.song-image.revealed{border-color:var(--blood);background:rgba(80,0,0,.4);box-shadow:0 0 20px rgba(255,0,51,.5),inset 0 0 15px rgba(255,0,51,.2);}
.song-image.is-hidden{border-style:dashed;opacity:.7;background:repeating-linear-gradient(45deg,#050505 0,#050505 4px,#0a0a0a 4px,#0a0a0a 8px);}
.song-image img{width:100%;height:100%;object-fit:cover;display:block;}
.song-image .q-mark{font-family:'Rubik Glitch';font-size:32px;color:#4a4a4a;}
.all-done-box{text-align:center;margin-top:20px;}
.all-done{color:var(--green);margin-bottom:15px;font-family:'Bebas Neue','Oswald';font-size:20px;letter-spacing:2px;}
.img-missing{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;height:100%;color:var(--blood);padding:8px;}
.img-missing .icon{width:45%;height:45%;}
.img-missing small{font-family:'Courier New',monospace;font-size:10px;color:#c9c5d6;word-break:break-all;line-height:1.1;}

/* МАСКАРАД */
.theme-costumes{border:2px solid var(--gold);box-shadow:0 0 50px rgba(255,16,240,.1);}
.theme-costumes .task-title{color:var(--gold-bright);text-shadow:0 0 20px rgba(255,215,0,.6);font-family:'Cormorant Garamond',serif;}
.masq-content{width:100%;display:flex;flex-direction:column;align-items:center;}
.masq-controls{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:6px;}
.deck-container{position:relative;width:min(280px,72vw);aspect-ratio:2/3;margin:10px auto 40px;perspective:1500px;z-index:20;}
.deck-card{position:absolute;inset:0;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1),opacity .4s ease;cursor:pointer;}
.deck-card[data-pos="1"]{transform:translate(-4px,6px) rotate(-3deg);z-index:9;filter:brightness(.8);pointer-events:none;}
.deck-card[data-pos="2"]{transform:translate(5px,12px) rotate(4deg);z-index:8;filter:brightness(.6);pointer-events:none;}
.deck-card[data-pos="3"]{transform:translate(-6px,18px) rotate(-2deg);z-index:7;filter:brightness(.4);pointer-events:none;}
.deck-card[data-pos="4"]{transform:translate(4px,24px) rotate(5deg);z-index:6;filter:brightness(.2);pointer-events:none;}
.deck-card[data-pos="0"]{transform:rotate(var(--active-rot,0deg));z-index:10;pointer-events:auto;}
.deck-card[data-pos="0"]:hover{transform:rotate(var(--active-rot,0deg)) translateY(-8px) scale(1.02);}
.deck-card.flipped[data-pos="0"]{transform:rotate(var(--active-rot,0deg)) rotateY(180deg)!important;cursor:default;}
.deck-card.discarded[data-pos="0"]{transform:translateX(130%) rotate(25deg)!important;opacity:0;}
.card-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 15px 35px rgba(0,0,0,.9);}
.card-face img{width:100%;height:100%;object-fit:contain;display:block;}
.card-front{background:#110022;border:3px solid var(--gold);}
.card-front::before{content:'';position:absolute;inset:8px;border:1px solid rgba(212,175,55,.5);border-radius:6px;pointer-events:none;}
.card-front .joker-seal{position:absolute;top:15px;left:50%;transform:translateX(-50%);font-family:'Cormorant Garamond';font-size:20px;color:var(--pink);text-shadow:0 0 10px var(--pink);letter-spacing:2px;background:rgba(0,0,0,.8);padding:2px 15px;border:1px solid var(--pink);z-index:2;}
.card-front .costume-img{width:86%;height:72%;margin-top:30px;display:flex;align-items:center;justify-content:center;color:var(--pink);filter:drop-shadow(0 0 25px rgba(255,16,240,.6));}
.card-back{background:linear-gradient(135deg,#0a0014 0%,#2d0055 100%);border:3px solid var(--pink);transform:rotateY(180deg);box-shadow:inset 0 0 40px rgba(255,16,240,.3),0 0 30px rgba(255,16,240,.4);}
.card-back .char-img{width:86%;height:62%;display:flex;align-items:center;justify-content:center;margin-bottom:12px;color:var(--green);}
.card-back .char-name{font-family:'Rubik Glitch',cursive;font-size:clamp(20px,5vw,30px);color:var(--green);text-shadow:2px 0 var(--pink),-2px 0 #00ffff;letter-spacing:2px;text-align:center;padding:0 10px;line-height:1.1;}
.masq-icon{width:60%;height:60%;display:flex;align-items:center;justify-content:center;}
.masq-icon .icon{width:100%;height:100%;}
.guest-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;}
.guest-frame{width:min(320px,78vw);aspect-ratio:3/4;position:relative;border-radius:15px;background:#000;border:3px solid var(--pink);box-shadow:0 0 30px rgba(255,16,240,.6),inset 0 0 40px rgba(0,0,0,.9);overflow:hidden;margin-bottom:24px;background-image:linear-gradient(var(--gold),var(--gold)),linear-gradient(var(--gold),var(--gold)),linear-gradient(var(--gold),var(--gold)),linear-gradient(var(--gold),var(--gold));background-repeat:no-repeat;background-size:40px 4px,4px 40px,40px 4px,4px 40px;background-position:top left,top left,bottom right,bottom right;}
.guest-photo-after{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--green);background:radial-gradient(circle,#1a0a2e 0%,#05000a 100%);z-index:1;}
.guest-mask-layer{position:absolute;inset:0;background:#05000a;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:transform .8s cubic-bezier(.5,-.5,.5,1.5);}
.guest-photo-before{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--pink);}
.guest-photo-after img,.guest-photo-before img{width:100%;height:100%;object-fit:contain;display:block;}
.guest-stage.revealed .guest-mask-layer{transform:translateY(100%);}
.guest-name{position:absolute;bottom:0;left:0;right:0;background:rgba(0,0,0,.85);border-top:2px solid var(--gold);padding:15px;font-family:'Rubik Glitch',cursive;font-size:clamp(22px,6vw,34px);color:var(--green);text-shadow:2px 0 var(--pink),-2px 0 #00ffff;z-index:5;transform:translateY(100%);transition:transform .5s cubic-bezier(.4,0,.2,1);}
.guest-stage.revealed .guest-name{transform:translateY(0);}

/* КРОКОДИЛ (как в v23) */
.theme-croc{border-color:var(--brown);background:radial-gradient(circle at 50% 50%,#1a0f05,#000);box-shadow:0 0 40px rgba(255,170,68,.15);}
.theme-croc .task-title{color:#ffaa44;text-shadow:0 0 15px #ffaa44;}
.timer-display{font-family:'Bebas Neue','Oswald';font-size:90px;color:var(--red);text-shadow:0 0 30px var(--red);margin:20px 0;}
.secret-word{font-family:'Rubik Glitch',cursive;font-size:clamp(30px,6vw,60px);color:var(--ink-hi);background:#222;padding:20px;border-radius:10px;border:2px dashed var(--brown);margin:20px 0;display:none;}
.secret-word.visible{display:block;}
.secret-word-hidden{font-family:'Special Elite','Courier New';font-size:clamp(20px,3vw,30px);color:#ffaa44;border:2px dashed var(--brown);border-radius:10px;padding:20px;margin:20px 0;}
.croc-controls{display:flex;flex-direction:column;align-items:center;gap:15px;margin-top:20px;}
.croc-controls .btn{min-width:min(100%,340px);}

/* СЕЙФ: стена с граффити и взлом (как в v23) */
.theme-search{border-color:var(--pink);background:#0a0a0a;box-shadow:inset 0 0 100px rgba(255,16,240,.1);}
.theme-search .task-title{color:var(--pink);text-shadow:0 0 20px var(--pink);font-family:'Rubik Glitch';}
.theme-success{border-color:var(--green);box-shadow:0 0 100px rgba(57,255,20,.3),inset 0 0 100px rgba(57,255,20,.1);}
.theme-success .task-title{color:var(--green);text-shadow:0 0 20px var(--green);font-family:'Rubik Glitch';}
.graffiti-wall{width:100%;padding:25px;background:#121212;border:6px solid #2a2a2a;border-radius:5px;box-shadow:inset 0 0 80px #000,0 10px 30px rgba(0,0,0,.8);margin:15px 0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:25px;background-image:repeating-linear-gradient(0deg,transparent,transparent 40px,#1a1a1a 40px,#1a1a1a 42px),repeating-linear-gradient(90deg,transparent,transparent 80px,#1a1a1a 80px,#1a1a1a 82px);min-height:300px;}
.graffiti-word{font-family:'Caveat',cursive;font-size:42px;font-weight:700;letter-spacing:1px;padding:5px 10px;user-select:none;cursor:pointer;text-shadow:2px 2px 2px #000,0 0 15px currentColor;transition:transform .2s,opacity .3s;}
.graffiti-word:hover{transform:scale(1.15) rotate(var(--rot))!important;z-index:10;}
.graffiti-word.clicked{opacity:.2;text-decoration:line-through;color:#555!important;text-shadow:none;pointer-events:none;}
@keyframes shake{0%,100%{transform:translateX(0) rotate(var(--rot))}25%{transform:translateX(-5px) rotate(var(--rot))}50%{transform:translateX(5px) rotate(var(--rot))}75%{transform:translateX(-5px) rotate(var(--rot))}}
.graffiti-word.shake{animation:shake .4s;color:var(--red)!important;text-shadow:0 0 20px var(--red);}
.c1{color:#39ff14;}.c2{color:#ff10f0;}.c3{color:#00d4ff;}.c4{color:#ffff00;}.c5{color:#ff6b35;}
.vault-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;margin:30px 0;}
.vault-lock{width:100px;height:100px;margin-bottom:20px;color:var(--gold);filter:drop-shadow(0 0 20px var(--gold));transition:all .5s ease;}
.vault-lock .icon{width:100%;height:100%;}
.vault-lock.open{color:var(--green);filter:drop-shadow(0 0 40px var(--green));transform:scale(1.1);}
.vault-lock.denied{color:var(--red);filter:drop-shadow(0 0 20px var(--red));}
.vault-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:30px;width:100%;max-width:500px;}
.vault-slot{height:60px;border:2px solid #555;background:#000;display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue','Oswald';font-size:clamp(14px,4vw,24px);color:#555;transition:all .3s;padding:0 5px;white-space:nowrap;}
.vault-slot.filled{border-color:var(--green);color:var(--green);box-shadow:0 0 15px rgba(57,255,20,.3);}

/* МОДАЛКИ */
.modal-overlay{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.85);backdrop-filter:blur(5px);display:none;align-items:center;justify-content:center;padding:20px;}
.modal-overlay.active{display:flex;}
.modal-box{background:#111;border:2px solid var(--green);padding:20px;max-width:95vw;width:100%;box-shadow:0 0 40px rgba(57,255,20,.2);text-align:center;position:relative;max-height:95vh;overflow-y:auto;}
.modal-box h2{font-family:'Bebas Neue','Oswald';font-size:clamp(24px,3vw,36px);color:var(--green);margin:0 0 15px;}
.modal-close{position:absolute;top:10px;right:10px;color:var(--ink-hi);font-size:20px;cursor:pointer;width:32px;height:32px;}
.interrogation-box{max-width:640px;border-color:var(--red);box-shadow:0 0 40px rgba(255,0,64,.4);}
.interrogation-box h2{color:var(--red);}
.interrogation-box p{font-family:'Special Elite','Courier New';font-size:20px;color:var(--ink-hi);line-height:1.5;}
.award-box{max-width:820px;}
.award-pts{color:var(--gold);}
.answer-reveal{color:var(--gold);font-family:'Bebas Neue','Oswald';font-size:28px;margin:0 0 14px;letter-spacing:1px;}
.award-hint{font-family:'Special Elite','Courier New';font-size:14px;color:var(--muted);margin:0 0 15px;line-height:1.4;}
.award-summary{font-family:'Special Elite','Courier New';font-size:15px;color:var(--ink);margin:14px 0 0;min-height:20px;}
.award-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px;justify-content:center;}
.award-card{position:relative;cursor:pointer;border:2px solid #444;padding:6px;background:#222;transition:.2s;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;}
.award-card:hover{border-color:var(--green);background:#333;transform:scale(1.04);}
.award-card img,.award-card .award-avatar{width:100%;aspect-ratio:1;object-fit:cover;filter:grayscale(100%);}
.award-card .award-avatar{filter:none;display:flex;align-items:center;justify-content:center;padding:18%;}
.award-avatar .icon{width:100%;height:100%;}
.award-card span{font-size:clamp(11px,1.2vw,14px);font-family:'Bebas Neue','Oswald';line-height:1.2;word-break:break-word;}
.award-card .award-check{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;background:var(--green);color:#000;display:none;align-items:center;justify-content:center;padding:3px;}
.award-card .award-check .icon{width:100%;height:100%;}
.award-card.selected{border-color:var(--green);background:rgba(57,255,20,.18);color:var(--green);box-shadow:0 0 18px rgba(57,255,20,.35);}
.award-card.selected img{filter:none;}
.award-card.selected .award-check{display:flex;}
.info-text{font-family:'Special Elite','Courier New';font-size:20px;line-height:1.5;color:var(--ink-hi);}
.proj-note{font-family:'Special Elite','Courier New';font-size:18px;color:var(--muted);margin:10px 0 0;}
.croc-table{width:100%;border-collapse:collapse;font-family:'Special Elite','Courier New';text-align:left;}
.croc-table th{border-bottom:1px solid #444;padding:6px 0;color:#b8b3c4;font-weight:normal;}
.croc-table td{border-bottom:1px solid #222;padding:8px 0;}
.croc-table tr.gave-up{opacity:.55;}

/* ГОЛОСОВАНИЕ */
#voting-modal{position:fixed;inset:0;z-index:1000;background:radial-gradient(circle at center,rgba(20,0,0,.98),rgba(0,0,0,1));backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:20px;}
#voting-modal.active{display:flex;}
.voting-box{background:#0a0a0a;border:2px solid #333;border-top:4px solid var(--pink);padding:30px;width:100%;max-width:700px;text-align:center;position:relative;max-height:90vh;overflow-y:auto;box-shadow:0 0 60px rgba(255,16,240,.1),inset 0 0 40px rgba(0,0,0,1);}
.voting-box::before{content:'АРКХЭМ ПОЛИС ДЕПАРТМЕНТ • АРКХЭМ ПОЛИС ДЕПАРТМЕНТ • ';position:absolute;top:15px;left:0;width:200%;height:25px;background:repeating-linear-gradient(45deg,#f1c40f,#f1c40f 20px,#000 20px,#000 40px);color:#000;font-family:'Bebas Neue','Oswald';font-size:16px;line-height:25px;letter-spacing:2px;transform:rotate(-2deg);opacity:.3;pointer-events:none;z-index:0;animation:tapeScroll 20s linear infinite;}
@keyframes tapeScroll{0%{transform:rotate(-2deg) translateX(0)}100%{transform:rotate(-2deg) translateX(-50%)}}
.voting-content{position:relative;z-index:1;}
.voting-box h2{font-family:'Bebas Neue','Oswald';font-size:36px;color:var(--pink);margin-top:10px;margin-bottom:5px;letter-spacing:2px;}
.voting-box .subtitle{font-family:'Special Elite','Courier New';font-size:15px;color:#b8b3c4;margin-bottom:25px;min-height:45px;}
.vote-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;margin-bottom:25px;}
.vote-card{background:#151515;border:2px solid #333;padding:15px 5px;cursor:pointer;transition:.2s;font-family:'Bebas Neue','Oswald';font-size:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;position:relative;overflow:hidden;}
@media(hover:hover){.vote-card:hover{border-color:var(--pink);background:#222;transform:scale(1.05);}}
.vote-card.selected{border-color:var(--green);background:rgba(57,255,20,.1);box-shadow:0 0 20px rgba(57,255,20,.4);transform:scale(1.05);}
.vote-card .vote-avatar{width:40px;height:40px;}
.vote-card .vote-avatar .icon{width:100%;height:100%;}
.vote-card .name{color:var(--ink-hi);text-align:center;line-height:1.1;}
.vote-card .dossier-num{position:absolute;top:5px;left:5px;font-family:'Special Elite','Courier New';font-size:10px;color:#777;}
.vote-done{font-family:'Special Elite','Courier New';color:var(--green);font-size:20px;}
.results-title{color:var(--gold);font-family:'Bebas Neue','Oswald';font-size:26px;margin:0 0 6px;letter-spacing:1px;}
.result-list{text-align:left;font-family:'Special Elite','Courier New';font-size:16px;line-height:2;margin-bottom:20px;}
.result-none{font-family:'Bebas Neue','Oswald';font-size:24px;color:var(--green);margin-top:15px;}
#detain-overlay{position:fixed;inset:0;z-index:1500;background:rgba(0,0,0,.9);display:none;align-items:center;justify-content:center;flex-direction:column;padding:20px;overflow:hidden;}
#detain-overlay.active{display:flex;}
.detain-flash{position:absolute;inset:0;background:var(--gold);animation:flashGold .5s ease-out forwards;pointer-events:none;opacity:0;}
@keyframes flashGold{0%{opacity:.8}100%{opacity:0}}
.detain-content{position:relative;z-index:2;text-align:center;transform:scale(.8);animation:popInDetain .4s cubic-bezier(.175,.885,.32,1.275) forwards;}
@keyframes popInDetain{to{transform:scale(1)}}
.detain-stamp{font-family:'Bebas Neue','Oswald';font-size:clamp(60px,12vw,120px);color:var(--gold);border:6px solid var(--gold);padding:10px 40px;letter-spacing:10px;transform:rotate(-10deg);text-shadow:0 0 30px var(--gold);box-shadow:0 0 50px rgba(255,204,0,.3),inset 0 0 20px rgba(255,204,0,.3);margin-bottom:20px;opacity:.9;}
.detain-name{font-family:'Rubik Glitch',cursive;font-size:clamp(30px,5vw,50px);color:var(--ink-hi);text-shadow:0 0 20px var(--ink-hi);margin-bottom:10px;}
.detain-sub{font-family:'Special Elite','Courier New';font-size:18px;color:#b8b3c4;margin-bottom:30px;}
#arrest-overlay{position:fixed;inset:0;z-index:2000;background:rgba(0,0,0,.95);display:none;align-items:center;justify-content:center;flex-direction:column;padding:20px;overflow:hidden;}
#arrest-overlay.active{display:flex;}
.siren{position:absolute;width:150vw;height:150vw;border-radius:50%;filter:blur(100px);opacity:0;animation:sirenFlash .5s infinite alternate;}
.siren.red{background:rgba(255,0,64,.4);top:-50%;left:-50%;}
.siren.blue{background:rgba(0,150,255,.4);bottom:-50%;right:-50%;animation-delay:.25s;}
@keyframes sirenFlash{0%{opacity:.1}100%{opacity:.6}}
.arrest-content{position:relative;z-index:2;text-align:center;background:#111;padding:40px;border:4px solid var(--red);box-shadow:0 0 100px rgba(255,0,64,.5),inset 0 0 50px rgba(0,0,0,1);transform:scale(0);animation:popIn .5s cubic-bezier(.175,.885,.32,1.275) forwards;max-width:800px;width:100%;max-height:92vh;overflow-y:auto;}
@keyframes popIn{to{transform:scale(1)}}
.arrest-title{font-family:'Bebas Neue','Oswald';font-size:clamp(40px,6vw,70px);color:var(--red);letter-spacing:5px;margin-bottom:10px;text-shadow:0 0 20px var(--red);animation:glitchText .3s infinite;}
@keyframes glitchText{0%{transform:translate(0)}20%{transform:translate(-2px,2px)}40%{transform:translate(-2px,-2px)}60%{transform:translate(2px,2px)}80%{transform:translate(2px,-2px)}100%{transform:translate(0)}}
.arrest-name{font-family:'Rubik Glitch',cursive;font-size:clamp(40px,8vw,90px);color:var(--ink-hi);text-shadow:0 0 30px var(--ink-hi);margin-bottom:30px;}
.arrest-content .stamp{display:inline-block;padding:10px 30px;border:6px solid var(--red);color:var(--red);font-family:'Bebas Neue','Oswald';font-size:50px;letter-spacing:10px;transform:rotate(-15deg);opacity:.8;margin-bottom:20px;box-shadow:inset 0 0 20px rgba(255,0,64,.3);}
.arrest-math{font-family:'Special Elite','Courier New';font-size:22px;color:#b8b3c4;line-height:1.8;background:#000;padding:20px;border:1px dashed #444;margin-bottom:30px;}
.arrest-math b{color:var(--gold);font-size:26px;}
.arrest-total{color:var(--red);font-size:28px;margin-top:10px;display:block;border-top:1px solid #333;padding-top:10px;}

/* ПОМОЩНИК-ДЖОКЕР */
#assistant-btn{position:fixed;bottom:20px;right:20px;z-index:600;width:60px;height:60px;border-radius:50%;background:#111;border:2px solid var(--green);cursor:pointer;display:none;align-items:center;justify-content:center;overflow:hidden;}
#assistant-btn.active{display:flex;}
#assistant-btn img{width:100%;height:100%;object-fit:cover;}
#assistant-btn.no-img::after{content:'J';font-family:'Rubik Glitch';font-size:30px;color:var(--green);}
.assistant-joker{position:fixed;bottom:90px;right:45px;width:150px;height:220px;transform:translateX(50%);background:url('joker_holo.png') center/contain no-repeat;opacity:0;transition:all .3s ease;pointer-events:none;z-index:591;}
.assistant-joker.open{opacity:1;transform:translateX(50%) translateY(-10px);}
.comic-bubble{position:fixed;bottom:320px;right:50px;z-index:595;width:min(300px,calc(100vw - 40px));background:rgba(0,10,2,.95);border:2px solid var(--green);border-radius:5px;padding:15px;color:var(--green);font-family:'Special Elite','Courier New',monospace;font-size:15px;line-height:1.5;box-shadow:0 0 20px rgba(57,255,20,.4),inset 0 0 10px rgba(57,255,20,.2);opacity:0;transform:scale(.9);transition:all .2s ease;pointer-events:none;}
.comic-bubble.open{opacity:1;transform:scale(1);pointer-events:auto;}
.comic-bubble::after{content:'';position:absolute;bottom:-10px;right:30px;border-width:10px 10px 0 0;border-style:solid;border-color:var(--green) transparent transparent transparent;}
.btn-next-rule{margin-top:15px;background:#000;color:var(--green);padding:8px 10px;font-family:'Bebas Neue','Oswald';font-size:16px;cursor:pointer;width:100%;border:1px solid var(--green);}
.btn-next-rule:hover{background:var(--green);color:#000;}

/* ПАНЕЛЬ ВЕДУЩЕГО (только Пульт) */
#host-panel-btn{position:fixed;top:10px;right:10px;z-index:2500;background:rgba(0,0,0,.8);border:1px solid var(--pink);color:var(--pink);width:40px;height:40px;border-radius:50%;font-size:20px;display:none;align-items:center;justify-content:center;cursor:pointer;}
#host-panel-btn.active{display:flex;}
#host-modal,#secret-task-modal{z-index:3000;}
.host-box{max-width:600px;}
.secret-box{max-width:600px;border-color:var(--pink);}
.secret-box h2{color:var(--pink);}
.secret-box p{font-family:'Special Elite','Courier New';font-size:22px;color:var(--ink-hi);}
.host-section{margin-bottom:20px;text-align:left;}
.host-section h3{font-family:'Bebas Neue','Oswald';font-size:22px;margin:0 0 10px;letter-spacing:1px;}
.host-link{font-family:'Special Elite','Courier New';font-size:15px;color:var(--ink);}
.host-link b{color:var(--green);letter-spacing:2px;}
.host-player-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0;border-bottom:1px solid #333;gap:8px;}
.host-player-name{display:inline-flex;align-items:center;gap:6px;font-weight:bold;}
.host-dot{width:10px;height:10px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor;flex-shrink:0;}
.host-score-ctrl{display:flex;align-items:center;gap:4px;}
.host-score-btn{width:34px;height:34px;padding:0;border-radius:6px;font-family:'Bebas Neue','Oswald';font-size:22px;display:flex;align-items:center;justify-content:center;clip-path:none;}
.host-score-val{font-family:'Bebas Neue','Oswald';font-size:22px;color:var(--green);min-width:40px;text-align:center;}
.host-rounds{display:flex;flex-wrap:wrap;gap:6px;}
.host-round-btn{font-family:'Bebas Neue','Oswald';font-size:14px;padding:8px 12px;border:1px solid var(--blue);color:var(--blue);background:#000;cursor:pointer;border-radius:4px;transition:.2s;}
.host-round-btn:hover,.host-round-btn.current{background:var(--blue);color:#000;}
.host-secret-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;border-bottom:1px solid #333;padding-bottom:6px;cursor:pointer;}
.host-secret-text{font-size:13px;color:#b8b3c4;}
.host-secret-row input{width:22px;height:22px;accent-color:var(--pink);flex-shrink:0;}
.room-badge{position:fixed;left:10px;bottom:10px;z-index:2500;font-family:'Bebas Neue','Oswald';font-size:13px;letter-spacing:1px;padding:5px 10px;background:rgba(0,0,0,.85);border:1px solid var(--red);color:var(--red);pointer-events:none;}
.room-badge.online{border-color:var(--green);color:var(--green);}

/* ФИНАЛ: контент прокручивается, кнопка «Сыграть ещё раз» всегда достижима */
.bg-glitch{position:fixed;inset:0;z-index:1;background:radial-gradient(circle at center,#1a0033 0%,#000 80%);opacity:.8;pointer-events:none;}
.bg-glitch::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0,transparent 2px,rgba(57,255,20,.05) 2px,rgba(57,255,20,.05) 4px);animation:noise .2s steps(3) infinite;}
@keyframes noise{0%{transform:translate(0,0)}50%{transform:translate(-1px,1px)}100%{transform:translate(1px,-1px)}}
#finalScreen{display:none;position:fixed;inset:0;z-index:9999;text-align:center;padding:20px;overflow-y:auto;max-height:100vh;max-height:100dvh;-webkit-overflow-scrolling:touch;background:var(--bg);}
#finalScreen.active{display:flex;flex-direction:column;align-items:center;}
.final-content-wrapper{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;width:100%;margin:auto 0;padding:10px 0 30px;}
.joker-avatar{width:clamp(150px,30vw,280px);height:clamp(150px,30vw,280px);border-radius:50%;object-fit:cover;border:4px solid var(--green);box-shadow:0 0 40px var(--green),inset 0 0 20px var(--green);margin-bottom:20px;filter:grayscale(100%) contrast(1.5);animation:float 3s ease-in-out infinite;background:#111 url('joker_icon.png') center/cover no-repeat;flex-shrink:0;}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.final-title{font-family:'Rubik Glitch',cursive;font-size:clamp(40px,8vw,80px);color:var(--green);text-shadow:2px 0 var(--pink),-2px 0 #00ffff,0 0 30px var(--green);margin-bottom:20px;animation:glitchText .5s infinite;}
.final-text{font-family:'Special Elite','Courier New',monospace;font-size:clamp(16px,3vw,22px);max-width:700px;line-height:1.6;color:#ddd;background:rgba(0,0,0,.6);padding:20px;border:1px dashed #444;border-radius:10px;margin-bottom:30px;}
.final-text b{color:var(--pink);font-size:1.2em;}
.final-again{font-size:24px;padding:15px 40px;}

/* ПРОЕКТОР: только картинка, никакого управления */
.proj-only{display:none;}
body.is-projector .proj-only{display:block;}
body.is-projector #hostUi{display:none!important;}
body.is-projector #stage{pointer-events:none;}
#projectorUi .proj-wait{position:fixed;inset:0;z-index:12000;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;padding:20px;}
.proj-wait-title{font-family:'Rubik Glitch',cursive;font-size:clamp(44px,9vw,100px);color:var(--green);text-shadow:2px 0 var(--pink),-2px 0 #00ffff,0 0 30px var(--green);}
.proj-wait-text{font-family:'Special Elite','Courier New';font-size:clamp(16px,2.6vw,26px);color:var(--ink);max-width:800px;line-height:1.5;}
.proj-fs{position:fixed;left:10px;bottom:10px;z-index:12001;font-family:'Bebas Neue','Oswald';font-size:13px;letter-spacing:1px;padding:6px 10px;border:1px solid #555;background:rgba(0,0,0,.65);color:#c9c5d6;opacity:.45;}
.proj-fs:hover{opacity:1;}
body.is-fullscreen .proj-fs{display:none;}

/* МОБИЛЬНЫЕ (Пульт на телефоне) */
@media (max-width:600px){
  .setup-panel{padding:22px 18px;}
  .setup-btn{padding:13px 10px;}
  .task-box{padding:18px 14px;}
  .btn{padding:12px 20px;font-size:18px;}
  .timer-display{font-size:70px;}
  .graffiti-wall{padding:15px;gap:14px;min-height:220px;}
  .graffiti-word{font-size:32px;}
  #hud{padding:8px 50px 8px 8px;}
  .comic-bubble{right:20px;bottom:300px;}
  .arrest-content{padding:24px 16px;}
}
