@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500;700&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{
  --bg:#06070d;--bg-soft:#0b0e19;--panel:#111525;--panel-2:#171c30;--line:rgba(232,239,255,.10);--line-strong:rgba(232,239,255,.18);--text:#f2f5ff;--muted:#9ea8bf;--accent:#8a6dff;--cyan:#63d7ff;--green:#78e0ae;--red:#ff6f91;--gold:#ffc86a;--shadow:0 30px 100px rgba(0,0,0,.5)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(circle at 20% 0%,rgba(120,88,255,.18),transparent 28%),radial-gradient(circle at 95% 18%,rgba(66,195,255,.10),transparent 24%),#06070d;color:var(--text);font-family:Manrope,Arial,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{text-decoration:none;color:inherit}.eyebrow{margin:0;color:#bcafff;font:700 10px/1.1 "DM Mono",monospace;letter-spacing:.15em;text-transform:uppercase}.site-shell,.game-shell{width:min(1580px,100%);min-height:100vh;margin:0 auto}.brand{display:inline-flex;gap:10px;align-items:center;font-weight:800;letter-spacing:-.04em}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(209,199,255,.38);border-radius:11px;background:linear-gradient(145deg,rgba(142,112,255,.45),rgba(92,202,255,.18));font:700 11px "DM Mono",monospace;box-shadow:inset 0 0 18px rgba(255,255,255,.08)}

/* buttons */
.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:11px 15px;border:1px solid var(--line-strong);border-radius:12px;background:rgba(255,255,255,.035);color:var(--text);font-size:12px;font-weight:800;transition:.18s ease}.button:hover{transform:translateY(-1px);border-color:rgba(215,205,255,.55);background:rgba(255,255,255,.075)}.button.primary{border-color:rgba(154,130,255,.6);background:linear-gradient(135deg,#8467ef,#4f9be1);box-shadow:0 13px 32px rgba(110,79,230,.25)}.button.ghost{background:rgba(255,255,255,.02)}.button.xl{padding:15px 19px;font-size:13px}.button.compact{padding:8px 10px;font-size:10px}.button.full{width:100%}.top-cta{border:1px solid rgba(188,175,255,.38);border-radius:10px;background:rgba(139,111,255,.13);color:#e9e4ff;padding:9px 12px;font-size:11px;font-weight:800}

/* home */
.home-header{height:78px;display:flex;justify-content:space-between;align-items:center;padding:0 30px;border-bottom:1px solid var(--line);background:rgba(6,7,13,.72);backdrop-filter:blur(15px);position:sticky;top:0;z-index:20}.header-ambient{display:flex;align-items:center;gap:10px;color:#aeb9d1;font:600 10px "DM Mono",monospace;letter-spacing:.08em}.ambient-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 14px var(--green)}.header-sep{display:block;width:1px;height:12px;background:var(--line-strong)}.hero-stage{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(440px,.75fr);gap:40px;min-height:650px;padding:94px 50px 62px;overflow:hidden}.hero-glow{position:absolute;right:14%;top:4%;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(128,99,255,.22),transparent 67%);filter:blur(8px);pointer-events:none}.hero-rain{position:absolute;inset:0;opacity:.24;background-image:repeating-linear-gradient(118deg,transparent 0 38px,rgba(255,255,255,.08) 39px,transparent 40px 78px);mask-image:linear-gradient(180deg,black,transparent)}.hero-stage.stream .hero-glow{background:radial-gradient(circle,rgba(255,83,164,.24),transparent 67%)}.hero-stage.train .hero-glow{background:radial-gradient(circle,rgba(92,228,186,.22),transparent 67%)}.hero-stage.penthouse .hero-glow{background:radial-gradient(circle,rgba(255,196,100,.18),transparent 67%)}.hero-stage.campus .hero-glow{background:radial-gradient(circle,rgba(77,211,255,.17),transparent 67%)}.hero-copy{position:relative;z-index:1;align-self:center}.hero-copy h1{max-width:740px;margin:14px 0 17px;font-size:clamp(52px,6.4vw,94px);line-height:.93;letter-spacing:-.09em}.hero-copy h1 em{font-style:normal;background:linear-gradient(90deg,#ba9dff,#73dcff);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-copy>p:not(.eyebrow){max-width:650px;margin:0;color:#c0cae0;font-size:16px;line-height:1.75}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.hero-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:23px}.hero-badges span{padding:7px 9px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.025);color:#cfd8ea;font-size:10px}.hero-case-window{position:relative;z-index:1;align-self:center;border:1px solid rgba(223,228,255,.14);border-radius:24px;background:linear-gradient(145deg,rgba(27,32,55,.92),rgba(10,13,23,.9));box-shadow:var(--shadow);overflow:hidden}.window-top{display:flex;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line);color:#adb8cf;font:600 9px "DM Mono",monospace;letter-spacing:.1em}.live-status{color:#c8f3da}.window-art{position:relative;height:260px;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 35% 35%,rgba(115,217,255,.24),transparent 28%),linear-gradient(135deg,#202943,#0d1221)}.window-art.stream{background:radial-gradient(circle at 65% 34%,rgba(255,90,171,.3),transparent 24%),linear-gradient(135deg,#442440,#10111f)}.window-art.train{background:radial-gradient(circle at 58% 28%,rgba(88,221,181,.28),transparent 25%),linear-gradient(135deg,#18413f,#0c1220)}.window-art.penthouse{background:radial-gradient(circle at 58% 28%,rgba(255,203,108,.25),transparent 25%),linear-gradient(135deg,#3b3124,#0d111c)}.window-art.campus{background:radial-gradient(circle at 38% 36%,rgba(82,203,255,.24),transparent 25%),linear-gradient(135deg,#1a3548,#0c1220)}.window-grid{position:absolute;inset:0;opacity:.25;background:linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(180deg,transparent,black 20%,black 70%,transparent)}.window-number{position:relative;font-size:102px;font-weight:800;letter-spacing:-.12em;color:rgba(240,245,255,.83);text-shadow:0 0 34px rgba(255,255,255,.12)}.window-title{position:absolute;bottom:18px;left:18px;padding:7px 9px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(8,10,18,.58);font:600 9px "DM Mono",monospace;letter-spacing:.1em}.window-copy{padding:20px}.window-copy h2{margin:7px 0 5px;font-size:30px;letter-spacing:-.06em}.window-copy>p:not(.eyebrow){margin:0;color:#b6c1d5;font-size:12px;line-height:1.6}.window-copy>div{display:flex;gap:7px;flex-wrap:wrap;margin-top:17px}.window-copy>div span{padding:6px 8px;border:1px solid var(--line);border-radius:999px;color:#cbd5e8;font-size:9px}.case-library{padding:35px 30px 55px}.library-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:19px}.library-heading h2{max-width:670px;margin:8px 0 0;font-size:34px;letter-spacing:-.06em}.library-heading>p{margin:0;color:#9eabc3;font-size:11px}.library-track{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}.case-tile{position:relative;overflow:hidden;padding:0;border:1px solid var(--line);border-radius:19px;background:linear-gradient(180deg,rgba(26,31,52,.9),rgba(12,15,27,.9));color:var(--text);text-align:left;transition:.2s ease}.case-tile:hover:not(.locked),.case-tile.selected{transform:translateY(-5px);border-color:rgba(189,177,255,.47);box-shadow:0 22px 45px rgba(0,0,0,.28)}.case-tile.locked{filter:saturate(.55);opacity:.75}.tile-art{position:relative;height:165px;padding:14px;overflow:hidden;background:radial-gradient(circle at 30% 32%,rgba(98,209,255,.23),transparent 26%),linear-gradient(135deg,#283551,#111623)}.case-tile.stream .tile-art{background:radial-gradient(circle at 65% 32%,rgba(255,85,169,.27),transparent 26%),linear-gradient(135deg,#44243f,#10111f)}.case-tile.train .tile-art{background:radial-gradient(circle at 60% 24%,rgba(97,224,183,.24),transparent 26%),linear-gradient(135deg,#19423f,#101522)}.case-tile.penthouse .tile-art{background:radial-gradient(circle at 58% 25%,rgba(255,195,99,.2),transparent 27%),linear-gradient(135deg,#403221,#11131e)}.case-tile.campus .tile-art{background:radial-gradient(circle at 34% 32%,rgba(76,204,255,.2),transparent 25%),linear-gradient(135deg,#183c50,#111522)}.tile-noise{position:absolute;inset:0;opacity:.28;background:repeating-linear-gradient(0deg,rgba(255,255,255,.07) 0 1px,transparent 1px 4px)}.tile-code{position:relative;z-index:1;font:600 9px "DM Mono",monospace;letter-spacing:.1em;color:#e2e8ff}.tile-art strong{position:absolute;right:13px;bottom:-5px;font-size:65px;letter-spacing:-.12em;color:rgba(243,247,255,.8)}.tile-mood{position:absolute;left:14px;bottom:12px;padding:6px 8px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(7,9,16,.55);font:600 8px "DM Mono",monospace;letter-spacing:.09em}.tile-lock,.tile-ready{position:absolute;right:13px;top:13px;display:grid;place-items:center;width:25px;height:25px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(8,10,17,.45);font-size:11px}.tile-ready{color:#c9f5dd;font-size:9px}.tile-copy{padding:15px}.tile-meta{display:flex;justify-content:space-between;gap:8px;color:#aebad0;font:600 8px "DM Mono",monospace;letter-spacing:.08em}.tile-copy h3{margin:10px 0 3px;font-size:22px;letter-spacing:-.055em}.tile-copy p{margin:0;color:#aebad0;font-size:11px}.tile-spec{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}.tile-spec span{padding:5px 6px;border:1px solid var(--line);border-radius:999px;color:#c2cce0;font-size:8px}.tile-selected{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--accent);font-size:11px}.experience-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 30px 80px}.experience-row article{display:flex;gap:12px;padding:17px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.025)}.experience-row article>span{display:grid;place-items:center;flex:0 0 32px;height:32px;border-radius:10px;background:rgba(138,109,255,.16);color:#ddd2ff}.experience-row b{display:block;font-size:12px}.experience-row p{margin:5px 0 0;color:#acb8cf;font-size:10px;line-height:1.5}

/* generic form */
.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:18px;background:rgba(3,4,9,.78);backdrop-filter:blur(10px)}.modal{width:min(100%,470px);padding:23px;border:1px solid rgba(208,199,255,.24);border-radius:22px;background:linear-gradient(145deg,#1d223a,#0e1221);box-shadow:var(--shadow)}.modal h2{margin:8px 0;font-size:31px;letter-spacing:-.06em}.modal>p:not(.eyebrow){margin:0;color:#b9c4d9;font-size:13px;line-height:1.6}.modal-case-banner{margin:-4px -4px 22px;padding:16px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(130deg,#26314c,#151b2c)}.modal-case-banner.stream{background:linear-gradient(130deg,#482642,#161524)}.modal-case-banner.train{background:linear-gradient(130deg,#1a453f,#101923)}.modal-case-banner span,.modal-case-banner small{display:block;color:#c9d3e8;font:600 9px "DM Mono",monospace;letter-spacing:.1em}.modal-case-banner strong{display:block;margin:7px 0 3px;font-size:21px;letter-spacing:-.04em}.field{display:grid;gap:7px;margin-top:18px;color:#cbd6e9;font-size:11px;font-weight:800}.field input,.solution-form input,.solution-form textarea,.board-form input,.board-form select,.timeline-form input,.puzzle-form input{width:100%;border:1px solid var(--line-strong);border-radius:11px;background:rgba(255,255,255,.04);color:var(--text);padding:11px 12px;outline:none}.field input:focus,.solution-form input:focus,.solution-form textarea:focus,.board-form input:focus,.board-form select:focus,.timeline-form input:focus,.puzzle-form input:focus{border-color:rgba(158,137,255,.67);box-shadow:0 0 0 3px rgba(158,137,255,.12)}.modal-note{display:flex;gap:10px;margin-top:14px;padding:12px;border:1px solid rgba(113,226,178,.17);border-radius:12px;background:rgba(113,226,178,.06)}.modal-note b{color:#cdf3dd;font-size:11px}.modal-note span{color:#c7d0e3;font-size:11px;line-height:1.5}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}

/* game general */
.game-header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid var(--line);background:rgba(6,7,13,.77);backdrop-filter:blur(16px);position:sticky;top:0;z-index:25}.header-left,.header-actions{display:flex;align-items:center;gap:18px}.mission-crumb{display:grid;gap:3px;padding-left:18px;border-left:1px solid var(--line)}.mission-crumb span{color:#9ca8c1;font:600 8px "DM Mono",monospace;letter-spacing:.11em}.mission-crumb b{font-size:12px}.live-room{display:inline-flex;gap:7px;align-items:center;padding:7px 9px;border:1px solid var(--line);border-radius:999px;font-size:10px;color:#d1d9eb}.live-room i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green)}.game-layout{display:grid;grid-template-columns:215px minmax(0,1fr) 275px;gap:14px;padding:16px 22px 30px}.game-nav{position:sticky;top:92px;align-self:start;padding:12px;border:1px solid var(--line);border-radius:19px;background:rgba(14,18,31,.82);backdrop-filter:blur(14px)}.nav-label{padding:4px 7px 10px;color:#9da8c0;font:600 9px "DM Mono",monospace;letter-spacing:.13em}.nav-tab{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border:1px solid transparent;border-radius:11px;background:transparent;color:#b7c2d9;text-align:left}.nav-tab span{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:rgba(255,255,255,.045);font-size:12px}.nav-tab b{font-size:11px}.nav-tab:hover,.nav-tab.active{border-color:rgba(168,147,255,.3);background:rgba(137,109,255,.12);color:#f0edff}.nav-tab.active span{background:rgba(149,121,255,.3);box-shadow:0 0 16px rgba(143,113,255,.18)}.nav-role{display:flex;gap:8px;align-items:center;margin-top:15px;padding:11px 7px 3px;border-top:1px solid var(--line)}.nav-role>span{display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(142,120,255,.24);border-radius:9px;background:rgba(142,120,255,.12);color:#d8ceff}.nav-role small{display:block;color:#8e9ab2;font:600 8px "DM Mono",monospace;letter-spacing:.1em}.nav-role b{display:block;margin-top:3px;font-size:10px}.workspace{min-height:calc(100vh - 110px);padding:23px;border:1px solid var(--line);border-radius:23px;background:linear-gradient(150deg,rgba(22,27,46,.94),rgba(11,14,26,.95));box-shadow:0 24px 60px rgba(0,0,0,.18)}.workspace-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.workspace-head h1{margin:7px 0 4px;font-size:34px;letter-spacing:-.06em}.workspace-head p:not(.eyebrow){margin:0;color:#b8c3d8;font-size:12px;line-height:1.6}.workspace-chip,.count-chip{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;padding:7px 9px;border:1px solid rgba(103,211,255,.26);border-radius:999px;background:rgba(91,198,255,.06);color:#c9eeff;font:600 9px "DM Mono",monospace;letter-spacing:.07em}.right-rail{display:grid;gap:12px;align-content:start;position:sticky;top:92px;height:max-content}.rail-card{padding:13px;border:1px solid var(--line);border-radius:17px;background:rgba(14,18,31,.8);backdrop-filter:blur(14px)}.partner-list{display:grid;gap:8px;margin-top:10px}.partner-row{display:flex;align-items:center;gap:8px}.avatar{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:9px;background:linear-gradient(145deg,rgba(141,113,255,.38),rgba(80,198,255,.2));font-size:9px;font-weight:800}.partner-row b,.partner-row small{display:block}.partner-row b{font-size:10px}.partner-row small{margin-top:2px;color:#909db6;font-size:8px}.presence{width:7px;height:7px;margin-left:auto;border-radius:50%;background:var(--green);box-shadow:0 0 9px var(--green)}.presence.offline{background:#68748b;box-shadow:none}.quick-pings{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:12px}.quick-pings button{padding:7px 4px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.025);color:#d2dced;font-size:9px}.quick-pings button:hover{border-color:rgba(109,209,255,.32);background:rgba(109,209,255,.08)}.feed-list{display:grid;gap:8px;margin-top:10px}.feed-list article{display:flex;gap:7px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06)}.feed-list article>span{display:grid;place-items:center;flex:0 0 23px;height:23px;border-radius:8px;background:rgba(143,115,255,.13);color:#d8cfff;font-size:11px}.feed-list b{display:block;color:#cbd5e8;font-size:9px;line-height:1.4}.feed-list small{display:block;margin-top:3px;color:#8591ab;font-size:8px}.hint-line{display:flex;gap:7px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06);color:#c5cfe2;font-size:10px;line-height:1.45}.hint-line span{display:grid;place-items:center;flex:0 0 18px;height:18px;border-radius:6px;background:rgba(136,110,255,.12);color:#d8d0ff;font-size:8px}.hint-card .button{margin-top:10px}.muted{color:#97a3bd;font-size:10px}

/* mission */
.case-hero-panel{position:relative;display:grid;grid-template-columns:1fr 200px;gap:15px;min-height:210px;padding:24px;border:1px solid rgba(204,196,255,.15);border-radius:20px;overflow:hidden;background:radial-gradient(circle at 85% 26%,rgba(99,210,255,.18),transparent 28%),linear-gradient(135deg,#1d2941,#111829)}.case-hero-panel.stream{background:radial-gradient(circle at 85% 26%,rgba(255,78,159,.19),transparent 28%),linear-gradient(135deg,#3b213a,#121325)}.case-hero-panel.train{background:radial-gradient(circle at 85% 26%,rgba(82,221,181,.17),transparent 28%),linear-gradient(135deg,#163c3a,#101829)}.case-hero-panel.penthouse{background:radial-gradient(circle at 85% 26%,rgba(255,194,91,.16),transparent 28%),linear-gradient(135deg,#41311f,#151623)}.case-hero-panel.campus{background:radial-gradient(circle at 85% 26%,rgba(75,196,255,.17),transparent 28%),linear-gradient(135deg,#19394b,#101829)}.case-hero-noise{position:absolute;inset:0;opacity:.22;background:repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 1px,transparent 1px 4px)}.case-hero-copy{position:relative;z-index:1}.case-hero-copy h2{max-width:600px;margin:7px 0 8px;font-size:24px;letter-spacing:-.045em}.case-hero-copy>p:not(.eyebrow){max-width:550px;margin:0;color:#c4cee2;font-size:12px;line-height:1.6}.case-hero-actions{display:flex;gap:8px;margin-top:17px}.case-hero-glyph{position:relative;z-index:1;align-self:end;justify-self:end;font-size:92px;font-weight:800;letter-spacing:-.14em;color:rgba(242,246,255,.82)}.mission-mini{display:grid;grid-template-columns:1fr 1.1fr;gap:14px;margin-top:15px;padding:17px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.022)}.mission-mini-role{display:flex;gap:12px;align-items:center}.role-orb{display:grid;place-items:center;flex:0 0 42px;height:42px;border:1px solid rgba(124,215,255,.24);border-radius:14px;background:rgba(100,202,255,.09);color:#ccefff;font-size:18px}.role-orb.violet{border-color:rgba(167,139,255,.3);background:rgba(154,121,255,.12);color:#ded4ff}.mission-mini h2{margin:4px 0;font-size:21px;letter-spacing:-.05em}.mission-mini p:not(.eyebrow){margin:0;color:#aebbd2;font-size:11px;line-height:1.5}.mission-goals{display:grid;gap:7px}.mission-goals article{display:flex;gap:8px;align-items:center;padding:9px;border:1px solid rgba(255,255,255,.06);border-radius:11px;background:rgba(255,255,255,.018)}.mission-goals span{display:grid;place-items:center;flex:0 0 22px;height:22px;border-radius:7px;background:rgba(137,109,255,.15);color:#d8cfff;font:700 8px "DM Mono",monospace}.mission-goals p{margin:0!important;color:#d2d9e9!important;font-size:10px!important}.mission-progress{display:grid;grid-template-columns:230px minmax(0,1fr) auto;gap:13px;align-items:center;margin-top:15px;padding:15px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.02)}.mission-progress h2{margin:5px 0 0;font-size:16px}.progress-rail{height:8px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.025);overflow:hidden}.progress-rail i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8f70ff,#65d8ff,#75e1ac);box-shadow:0 0 14px rgba(103,213,255,.4)}.suspect-deck{margin-top:20px}.deck-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.deck-title span{color:#94a2ba;font-size:10px}.suspect-carousel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.suspect-card{position:relative;min-height:205px;padding:12px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.02);overflow:hidden}.suspect-art{display:grid;place-items:center;height:74px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:linear-gradient(135deg,#333557,#1a2038)}.suspect-art span{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.14);border-radius:50%;background:rgba(255,255,255,.06);font-size:11px;font-weight:800}.suspect-card small{display:block;margin-top:10px;color:#9ca8bf;font-size:8px}.suspect-card h3{margin:3px 0;font-size:14px}.suspect-card p{margin:0;color:#b6c0d5;font-size:10px;line-height:1.45}.suspect-card>b{position:absolute;right:10px;bottom:10px;color:#cfbefd;font:600 8px "DM Mono",monospace;letter-spacing:.08em}

/* evidence */
.evidence-zone{margin-top:15px}.zone-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:9px}.zone-title span{color:#98a5bb;font-size:10px}.private-zone{padding-top:16px;border-top:1px solid var(--line)}.evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.evidence-card{padding:14px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.024);transition:.18s ease}.evidence-card.focused{border-color:rgba(159,139,255,.46);background:rgba(139,111,255,.08);box-shadow:0 15px 35px rgba(0,0,0,.15)}.evidence-card-top{display:flex;justify-content:space-between;gap:6px;color:#aeb8cf;font:600 8px "DM Mono",monospace;letter-spacing:.09em}.evidence-card-top i{font-style:normal;color:#d8cfff}.evidence-card h3{margin:9px 0 5px;font-size:16px;letter-spacing:-.04em}.evidence-card>p{margin:0;color:#bdc7db;font-size:11px;line-height:1.5}.evidence-reveal{max-height:0;overflow:hidden;opacity:0;margin-top:0;transition:.22s ease}.evidence-reveal.open{max-height:90px;opacity:1;margin-top:11px;padding:10px;border-left:2px solid var(--cyan);background:rgba(99,215,255,.06);color:#d4edff;font-size:10px;line-height:1.5}.evidence-card-actions{display:flex;justify-content:space-between;gap:7px;margin-top:14px}.mini-btn,.pin-btn{border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.025);color:#cbd6ea;padding:7px 8px;font-size:9px;font-weight:800}.pin-btn{border-color:rgba(156,134,255,.3);color:#dfd7ff}.mini-btn:hover,.pin-btn:hover{background:rgba(255,255,255,.07)}

/* CCTV */
.cctv-studio{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:14px}.cctv-player{overflow:hidden;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.02)}.cctv-frame{position:relative;height:390px;overflow:hidden;background:radial-gradient(circle at 20% 26%,rgba(101,216,255,.16),transparent 22%),linear-gradient(135deg,#2a334e,#0a0e18)}.cctv-frame.service,.cctv-frame.hallway{background:radial-gradient(circle at 70% 28%,rgba(255,184,93,.12),transparent 20%),linear-gradient(135deg,#29323b,#0b0f17)}.cctv-frame.stairs,.cctv-frame.coupling{background:radial-gradient(circle at 55% 24%,rgba(106,224,182,.14),transparent 22%),linear-gradient(135deg,#173a38,#0b1117)}.cctv-frame.bar,.cctv-frame.studio{background:radial-gradient(circle at 60% 25%,rgba(255,82,160,.15),transparent 22%),linear-gradient(135deg,#3d2340,#100e17)}.cctv-frame.cabin{background:radial-gradient(circle at 50% 30%,rgba(126,230,195,.12),transparent 22%),linear-gradient(135deg,#213e41,#0a1117)}.cctv-grain{position:absolute;inset:0;opacity:.26;background:repeating-linear-gradient(0deg,rgba(255,255,255,.08) 0 1px,transparent 1px 4px);animation:cctvFlicker 4s infinite steps(1)}.cctv-ui{position:absolute;z-index:2;left:14px;right:14px;display:flex;justify-content:space-between;color:#e2e8f8;font:600 9px "DM Mono",monospace;letter-spacing:.08em}.cctv-ui.top{top:13px}.cctv-ui.bottom{bottom:13px}.cctv-ui.top span:first-child{color:#ff859f}.cctv-subject{position:absolute;left:48%;bottom:16%;width:66px;height:156px;border-radius:28px 28px 13px 13px;background:linear-gradient(180deg,rgba(5,6,10,.7),rgba(9,11,18,.9));box-shadow:0 0 0 22px rgba(0,0,0,.08)}.cctv-subject:before{content:"";position:absolute;left:18px;top:-38px;width:31px;height:38px;border-radius:45% 45% 38% 38%;background:#0b0e16}.cctv-caption{padding:18px}.cctv-caption>span{color:#b7c8e4;font:600 9px "DM Mono",monospace;letter-spacing:.09em}.cctv-caption h2{margin:7px 0 5px;font-size:25px;letter-spacing:-.05em}.cctv-caption p{margin:0 0 14px;color:#bdc8dc;font-size:12px;line-height:1.55}.cctv-playlist{display:grid;gap:8px}.clip-card{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.02);color:#cad5e8;text-align:left}.clip-card.active{border-color:rgba(157,136,255,.42);background:rgba(143,113,255,.11)}.clip-card>span{color:#d9d2ff;font:700 10px "DM Mono",monospace}.clip-card b,.clip-card small{display:block}.clip-card b{font-size:10px}.clip-card small{margin-top:2px;color:#95a2bb;font-size:8px;line-height:1.3}.clip-card i{margin-left:auto;font-style:normal;color:#9e8cff}

/* phone & discord */
.phone-workspace{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;align-items:start}.real-phone{display:grid;place-items:center}.phone-frame{width:242px;min-height:520px;padding:8px;border:7px solid #05060b;border-radius:36px;background:#0e1220;box-shadow:0 25px 45px rgba(0,0,0,.42),inset 0 0 0 1px rgba(255,255,255,.13);overflow:hidden}.phone-status{display:flex;justify-content:space-between;align-items:center;padding:5px 6px 0;font-size:8px}.dynamic-island{width:70px;height:18px;border-radius:999px;background:#020307}.phone-wallpaper{position:relative;display:grid;place-items:center;align-content:center;gap:4px;height:136px;margin-top:6px;border-radius:24px;background:radial-gradient(circle at 70% 20%,rgba(139,110,255,.5),transparent 24%),radial-gradient(circle at 28% 80%,rgba(93,211,255,.26),transparent 28%),linear-gradient(140deg,#1f2858,#0a1024);overflow:hidden}.phone-wallpaper:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(120deg,transparent 0 16px,rgba(255,255,255,.05) 17px 18px)}.phone-date,.phone-wallpaper b,.phone-notif{position:relative;z-index:1}.phone-date{font-size:8px;font-weight:800;letter-spacing:.1em}.phone-wallpaper b{font-size:24px;letter-spacing:-.07em}.phone-notif{margin-top:5px;padding:4px 7px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(6,8,15,.35);font-size:8px}.phone-apps{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;padding:17px 9px 13px}.phone-icon{display:grid;justify-items:center;gap:5px;border:0;background:transparent;color:#e5eaff}.phone-icon i{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,rgba(152,124,255,.37),rgba(89,201,255,.2));font-style:normal;font-size:18px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}.phone-icon.active i{outline:2px solid rgba(161,220,255,.7);box-shadow:0 0 18px rgba(98,215,255,.18)}.phone-icon small{font-size:8px}.phone-dock{display:flex;justify-content:space-around;margin:0 7px 8px;padding:8px;border-radius:18px;background:rgba(255,255,255,.08);font-size:13px}.phone-app-view{min-width:0;padding:16px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.02)}.phone-app-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:15px}.phone-app-head>div>span{color:#9eaad0;font:600 9px "DM Mono",monospace;letter-spacing:.1em}.phone-app-head h2{margin:6px 0 4px;font-size:26px;letter-spacing:-.055em}.phone-app-head p{max-width:520px;margin:0;color:#bac5dc;font-size:11px;line-height:1.55}.discord-app{display:grid;grid-template-columns:54px 190px minmax(0,1fr) 150px;min-height:480px;overflow:hidden;border:1px solid rgba(255,255,255,.09);border-radius:17px;background:#161a27}.discord-rail{display:grid;align-content:start;justify-items:center;gap:10px;padding:12px 8px;background:#0d0f17}.discord-guild,.discord-add{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:#23283c;color:#e5e9fa;font-size:10px;font-weight:800}.discord-guild.active{border-radius:10px;background:linear-gradient(145deg,#7289da,#6c64c8)}.discord-add{border:1px dashed rgba(118,225,172,.3);background:rgba(113,226,173,.08);color:#bbefd3}.discord-channel-list{position:relative;min-height:480px;padding:12px;background:#121520}.discord-channel-list header{display:flex;justify-content:space-between;padding-bottom:13px;border-bottom:1px solid rgba(255,255,255,.06);font-size:11px}.discord-channel-list>p,.discord-members>p{margin:14px 0 6px;color:#8d98b0;font-size:8px;font-weight:800;letter-spacing:.1em}.discord-channel{display:block;width:100%;padding:8px;border:0;border-radius:7px;background:transparent;color:#aeb8ce;text-align:left;font-size:10px}.discord-channel:hover,.discord-channel.active{background:#272c3d;color:#f0f3fb}.discord-self{position:absolute;right:0;bottom:0;left:0;display:flex;gap:7px;align-items:center;padding:9px;background:#0e1119}.discord-self .avatar{width:25px;height:25px;flex-basis:25px}.discord-self b,.discord-self small{display:block}.discord-self b{font-size:8px}.discord-self small{color:#8f9ab1;font-size:7px}.discord-self>span:last-child{margin-left:auto;color:#a9b3c6}.discord-chat{display:grid;grid-template-rows:auto 1fr auto;min-height:480px;background:#191d2b}.discord-chat header{display:flex;justify-content:space-between;align-items:center;padding:13px;border-bottom:1px solid rgba(255,255,255,.06)}.discord-chat header b{font-size:12px}.discord-chat header small{display:block;margin-top:3px;color:#8f9ab1;font-size:8px}.discord-tools{display:flex;gap:12px;color:#aeb8cf}.discord-thread{min-height:0;padding:14px;overflow:auto}.discord-thread article{display:flex;gap:8px;margin-bottom:14px}.discord-avatar{display:grid;place-items:center;flex:0 0 29px;height:29px;border-radius:50%;background:linear-gradient(145deg,#5d72cb,#ad7bd7);font-size:8px;font-weight:800}.discord-author{display:flex;gap:6px;align-items:center}.discord-author b{font-size:10px}.discord-author small{color:#8f9ab2;font-size:7px}.discord-thread p{margin:3px 0 0;color:#d5dbea;font-size:11px;line-height:1.5}.discord-system{margin:10px 0;padding:6px 8px;border-radius:7px;background:rgba(255,211,117,.08);color:#e6d39e;font-size:9px;text-align:center}.discord-reaction{display:inline-flex;margin-top:5px;padding:3px 5px;border:1px solid rgba(255,255,255,.08);border-radius:7px;background:#24293a;color:#d7ddec;font-size:8px}.discord-chat footer{display:flex;align-items:center;gap:9px;margin:0 12px 12px;padding:10px;border-radius:8px;background:#262b3a;color:#8f9ab1;font-size:9px}.discord-chat footer span{flex:1}.discord-members{padding:14px;background:#141722}.discord-members span{display:block;margin:10px 0;color:#aeb8ce;font-size:9px}.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.photo-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.02)}.photo-visual{display:grid;place-items:center;height:145px;background:linear-gradient(135deg,#263050,#0f1526);font-size:25px}.photo-visual.p1{background:linear-gradient(135deg,#544637,#171923)}.photo-card>div:last-child{padding:11px}.photo-card b,.photo-card small{display:block}.photo-card b{font-size:11px}.photo-card small{margin-top:3px;color:#94a0b8;font-size:8px}.photo-card p{margin:7px 0 0;color:#bbc6da;font-size:10px;line-height:1.45}.files-stack,.timeline-mini{display:grid;gap:8px}.files-stack article,.timeline-mini article{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.025)}.file-icon{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:9px;background:rgba(143,115,255,.15);color:#d9d0ff}.files-stack b,.timeline-mini b{display:block;font-size:11px}.files-stack small,.timeline-mini small{display:block;margin-top:3px;color:#94a0b8;font-size:8px}.files-stack p,.timeline-mini p{margin:6px 0 0;color:#bdc8dc;font-size:10px;line-height:1.45}.files-stack i{margin-left:auto;color:#9e8cff;font-style:normal}.map-panel{position:relative;height:220px;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,#1e2e46,#0d131f)}.map-grid{position:absolute;inset:0;opacity:.25;background:linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:25px 25px}.map-path{position:absolute;left:20%;top:58%;width:60%;height:2px;background:linear-gradient(90deg,#7ae5b4,#6bd8ff,#a787ff);transform:rotate(-16deg);box-shadow:0 0 12px rgba(103,213,255,.7)}.map-pin{position:absolute;width:13px;height:13px;border:3px solid #0c1220;border-radius:50%;background:#f5cd79;box-shadow:0 0 0 4px rgba(245,205,121,.12)}.map-pin.one{left:18%;top:64%}.map-pin.two{left:49%;top:47%}.map-pin.three{right:16%;top:34%}.map-label{position:absolute;color:#d8e5f7;font-size:9px}.map-label.a{left:10%;bottom:20px}.map-label.b{left:43%;top:28px}.map-label.c{right:10%;top:18px}

/* scene */
.scene-workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:15px}.crime-scene{position:relative;min-height:465px;overflow:hidden;border:1px solid var(--line);border-radius:21px;background:radial-gradient(circle at 22% 24%,rgba(101,217,255,.18),transparent 19%),radial-gradient(circle at 78% 17%,rgba(255,204,112,.08),transparent 17%),linear-gradient(135deg,#28324c,#0c111d)}.crime-scene.stream{background:radial-gradient(circle at 60% 22%,rgba(255,79,163,.2),transparent 20%),linear-gradient(135deg,#3e253f,#0d1020)}.crime-scene.train{background:radial-gradient(circle at 68% 23%,rgba(78,224,182,.17),transparent 20%),linear-gradient(135deg,#1b3e3c,#0b1119)}.scene-fog{position:absolute;inset:0;opacity:.28;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.34)),repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 1px,transparent 1px 4px)}.crime-scene:before{content:"";position:absolute;left:7%;right:7%;bottom:10%;height:24%;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:rgba(255,255,255,.02);box-shadow:0 -90px 130px rgba(0,0,0,.18) inset}.crime-scene:after{content:"";position:absolute;right:12%;top:10%;width:110px;height:160px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:linear-gradient(135deg,rgba(255,255,255,.05),rgba(255,255,255,.01))}.scene-hotspot{position:absolute;z-index:2;display:flex;align-items:center;gap:6px;border:0;background:transparent;color:#eff4ff}.scene-hotspot i{display:grid;place-items:center;width:31px;height:31px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(98,206,255,.18);backdrop-filter:blur(5px);font-style:normal;font-size:10px;font-weight:900;box-shadow:0 0 0 7px rgba(102,211,255,.08)}.scene-hotspot span{padding:5px 7px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:rgba(5,7,12,.58);font-size:9px;opacity:0;transform:translateX(-5px);transition:.16s ease}.scene-hotspot:hover span,.scene-hotspot.active span{opacity:1;transform:translateX(0)}.scene-hotspot.active i{border-color:#d6caff;background:rgba(145,112,255,.35);box-shadow:0 0 0 8px rgba(145,112,255,.1)}.scene-caption{position:absolute;z-index:2;bottom:14px;left:14px;padding:6px 8px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:rgba(5,7,12,.62);color:#d8e2f3;font:600 8px "DM Mono",monospace;letter-spacing:.08em}.scene-inspector{display:flex;flex-direction:column;padding:18px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.022)}.evidence-label{display:inline-flex;align-self:flex-start;padding:5px 7px;border:1px solid rgba(100,213,255,.22);border-radius:999px;background:rgba(100,213,255,.05);color:#c8efff;font:600 8px "DM Mono",monospace;letter-spacing:.1em}.scene-inspector h2{margin:11px 0 7px;font-size:28px;letter-spacing:-.06em}.scene-inspector p{margin:0;color:#c3cde0;font-size:12px;line-height:1.65}.inspector-scan{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:20px 0}.inspector-scan i{height:5px;border-radius:999px;background:linear-gradient(90deg,#8f70ff,#65d8ff)}.inspector-scan i:nth-child(2){opacity:.6}.inspector-scan i:nth-child(3){opacity:.25}.scene-inspector .button{margin-top:auto}.media-desk{display:grid;grid-template-columns:210px minmax(0,1fr);gap:14px}.media-menu{display:grid;align-content:start;gap:7px;padding:10px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.02)}.media-menu-item{display:flex;gap:9px;align-items:center;padding:10px;border:1px solid transparent;border-radius:11px;background:transparent;color:#c9d3e7;text-align:left}.media-menu-item span{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:rgba(143,115,255,.15)}.media-menu-item b,.media-menu-item small{display:block}.media-menu-item b{font-size:10px}.media-menu-item small{margin-top:2px;color:#93a0b7;font-size:8px}.media-menu-item:hover,.media-menu-item.active{border-color:rgba(149,122,255,.32);background:rgba(143,115,255,.1)}.media-stage{display:grid;grid-template-columns:1fr 300px;gap:14px;padding:15px;border:1px solid var(--line);border-radius:19px;background:rgba(255,255,255,.02)}.audio-screen,.mini-discord-preview,.evidence-photo{padding:18px;border:1px solid var(--line);border-radius:16px;background:rgba(7,9,16,.42)}.audio-reel{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:radial-gradient(circle,#d9ccff 0 4px,#8064e9 5px 14px,#27203e 15px);box-shadow:0 0 0 8px rgba(129,102,235,.1);font-size:0}.audio-screen h2{margin:8px 0 0;font-size:25px}.wave-bars{display:grid;grid-template-columns:repeat(34,1fr);gap:4px;align-items:center;height:85px;margin:16px 0;padding:10px;border:1px solid rgba(255,255,255,.07);border-radius:13px;background:rgba(255,255,255,.02)}.wave-bars i{height:28%;border-radius:999px;background:linear-gradient(180deg,#b08dff,#62d9ff)}.wave-bars i:nth-child(2n){height:52%}.wave-bars i:nth-child(3n){height:74%}.audio-play{margin-top:2px;padding:9px 11px;border:1px solid rgba(107,222,177,.25);border-radius:10px;background:rgba(107,222,177,.08);color:#cef2dd;font-size:10px;font-weight:800}.audio-play.playing+.audio-quote{color:#e1d5ff}.audio-quote{margin:13px 0 0;color:#bfc9dc;font-size:11px;line-height:1.55}.mini-discord-top{padding-bottom:10px;border-bottom:1px solid var(--line);font-size:11px;font-weight:800}.mini-discord-top span{margin-left:8px;color:#9ca8c0;font-size:9px}.mini-discord-lines{padding:18px 0 0}.mini-discord-lines p{margin:0 0 10px;color:#d7ddeb;font-size:12px}.mini-discord-lines .deleted{padding:8px;border-radius:8px;background:rgba(255,208,116,.08);color:#e6d29d;font-size:9px}.evidence-photo{display:grid;align-content:center}.evidence-photo-frame{display:grid;place-items:center;height:210px;border:1px dashed rgba(255,255,255,.18);border-radius:16px;background:linear-gradient(145deg,#2b354d,#0e1320);color:#e1e9fb;font-size:25px;font-weight:800;letter-spacing:.1em}.evidence-photo p{margin:14px 0 0;color:#c1cce0;font-size:11px;line-height:1.55}.media-summary h2{margin:10px 0 7px;font-size:26px;letter-spacing:-.06em}.media-summary p{margin:0;color:#c0cbe0;font-size:12px;line-height:1.6}.media-summary .button{margin-top:17px}

/* puzzles */
.challenge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.challenge-card{padding:17px;border:1px solid var(--line);border-radius:19px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.018))}.challenge-card.solved{border-color:rgba(106,224,172,.27);background:linear-gradient(180deg,rgba(106,224,172,.09),rgba(255,255,255,.018))}.challenge-top{display:flex;justify-content:space-between;align-items:center;color:#aab5cc;font:600 8px "DM Mono",monospace;letter-spacing:.11em}.challenge-top i{display:grid;place-items:center;width:27px;height:27px;border:1px solid rgba(255,255,255,.12);border-radius:9px;color:#d6ceff;font-style:normal;font-size:12px}.challenge-card.solved .challenge-top i{border-color:rgba(107,225,173,.28);background:rgba(107,225,173,.1);color:#c9f3dc}.challenge-card h2{margin:12px 0 5px;font-size:24px;letter-spacing:-.06em}.challenge-card>p{margin:0;color:#c2cbe0;font-size:11px;line-height:1.55}.sequence-puzzle{margin-top:15px}.sequence-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:9px}.sequence-slots span{display:grid;place-items:center;min-height:44px;padding:5px;border:1px dashed rgba(255,255,255,.17);border-radius:10px;background:rgba(255,255,255,.02);color:#d8d1ff;font-size:8px;text-align:center}.sequence-options{display:flex;gap:6px;flex-wrap:wrap}.sequence-option{padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.025);color:#d4ddec;font-size:9px}.sequence-option.used{opacity:.35;text-decoration:line-through}.puzzle-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:10px}.choice-stack{display:grid;gap:7px;margin:14px 0}.choice-stack label{display:flex;gap:8px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.02);color:#d0d8ea;font-size:10px}.choice-stack input{accent-color:var(--accent)}.puzzle-form{display:grid;gap:10px;margin-top:15px}.answer-input{display:grid;gap:6px;color:#c7d2e8;font-size:9px;font-weight:800;letter-spacing:.1em}.challenge-reward{margin-top:14px;padding:10px;border:1px solid rgba(106,224,172,.2);border-radius:11px;background:rgba(106,224,172,.07);color:#cef2dd;font-size:10px;line-height:1.5}

/* board */
.toggle-row{display:flex;gap:5px;padding:4px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.02)}.toggle{padding:7px 9px;border:0;border-radius:8px;background:transparent;color:#aeb9ce;font-size:10px;font-weight:800}.toggle.active{background:rgba(142,114,255,.2);color:#e7e1ff}.board-tools{display:grid;gap:8px;margin-bottom:14px}.board-form{display:grid;grid-template-columns:180px minmax(0,1fr) auto;gap:8px;padding:10px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.02)}.board-form.link-form{grid-template-columns:1fr 1fr 1fr auto}.investigation-board{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-height:440px;padding:22px;border:1px solid rgba(169,132,96,.22);border-radius:21px;overflow:hidden;background:radial-gradient(circle at 24% 22%,rgba(206,160,103,.11),transparent 23%),linear-gradient(135deg,#2b241f,#15100f)}.investigation-board:before{content:"";position:absolute;inset:0;opacity:.32;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:14px 14px}.board-strings{position:absolute;inset:0;pointer-events:none}.board-strings i{position:absolute;height:2px;background:linear-gradient(90deg,transparent,#c9465e,transparent);transform-origin:left;opacity:.8}.board-strings i:nth-child(1){top:36%;left:14%;width:54%;transform:rotate(14deg)}.board-strings i:nth-child(2){top:68%;left:28%;width:40%;transform:rotate(-28deg)}.board-strings i:nth-child(3){top:48%;right:7%;width:38%;transform:rotate(135deg)}.board-card{position:relative;z-index:1;align-self:start;min-height:150px;padding:13px;border:1px solid rgba(58,41,29,.38);border-radius:3px;background:#f0ead9;color:#25221f;box-shadow:0 10px 18px rgba(0,0,0,.23);transform:rotate(var(--tilt))}.board-card.note{background:#fff4a5}.board-card.system{background:#d3e9ff}.board-card>div{display:flex;justify-content:space-between}.board-card>div span{color:#786956;font:700 8px "DM Mono",monospace;letter-spacing:.1em}.board-card>div button{border:0;background:transparent;color:#bd314c;font-size:17px}.board-card b{display:block;margin-top:8px;font-size:13px}.board-card p{margin:7px 0;color:#4a443c;font-size:10px;line-height:1.45}.board-card small{color:#756e64;font-size:8px}.board-links{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.board-links span{padding:6px 8px;border:1px solid rgba(203,104,130,.26);border-radius:999px;background:rgba(203,104,130,.08);color:#f3c9d4;font-size:9px}.timeline-wrap{display:grid;gap:15px}.timeline-form{display:grid;grid-template-columns:90px 180px minmax(0,1fr) auto;gap:8px;padding:11px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.02)}.timeline-line{position:relative;padding-left:4px}.timeline-line:before{content:"";position:absolute;top:7px;bottom:7px;left:69px;width:1px;background:linear-gradient(var(--accent),transparent)}.timeline-line article{display:grid;grid-template-columns:55px 22px 1fr;gap:9px;position:relative;padding-bottom:17px}.timeline-line article>b{color:#dacfff;font:700 11px "DM Mono",monospace}.timeline-line article>i{z-index:1;width:12px;height:12px;margin-top:1px;border:3px solid #171b2b;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px rgba(141,112,255,.15)}.timeline-line h3{margin:0;font-size:12px}.timeline-line p{margin:4px 0;color:#c2cce1;font-size:10px}.timeline-line small{color:#8995ad;font-size:8px}

/* final */
.solution-form{display:grid;gap:10px;max-width:740px}.solution-form label{display:grid;gap:6px;color:#c7d1e6;font-size:10px;font-weight:800}.solution-form textarea{min-height:74px;resize:vertical}.solution-result,.case-reveal{margin-top:15px;padding:16px;border:1px solid rgba(255,210,115,.26);border-radius:17px;background:rgba(255,210,115,.07);color:#f4dfa9;font-size:12px}.solution-result.solved{border-color:rgba(106,224,172,.27);background:rgba(106,224,172,.08);color:#cdf1dc}.solution-result p{margin:6px 0 0}.case-reveal{position:relative;overflow:hidden;border-color:rgba(106,224,172,.25);background:radial-gradient(circle at 85% 12%,rgba(106,224,172,.14),transparent 24%),linear-gradient(135deg,rgba(106,224,172,.1),rgba(129,105,240,.1));color:#dbeee1}.reveal-mark{color:#c9f4da;font:700 9px "DM Mono",monospace;letter-spacing:.12em}.case-reveal h2{margin:8px 0;font-size:30px;letter-spacing:-.06em}.case-reveal>p{max-width:760px;color:#d5e6da;line-height:1.65}.reveal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:15px}.reveal-grid article{padding:11px;border:1px solid rgba(255,255,255,.1);border-radius:11px;background:rgba(255,255,255,.04)}.reveal-grid span{display:block;color:#b7d8c2;font:600 8px "DM Mono",monospace;letter-spacing:.1em}.reveal-grid b{display:block;margin-top:6px;font-size:11px}.empty-box{padding:19px;border:1px dashed var(--line-strong);border-radius:16px;color:#aeb9d0;text-align:center;font-size:12px}

/* lobby */
.lobby-stage{display:grid;grid-template-columns:1.05fr .9fr .72fr;gap:15px;align-items:stretch;padding:52px 30px}.lobby-visual{position:relative;min-height:370px;padding:18px;border:1px solid var(--line);border-radius:23px;overflow:hidden;background:radial-gradient(circle at 35% 32%,rgba(99,215,255,.23),transparent 26%),linear-gradient(135deg,#27344d,#0d1321)}.lobby-shell.stream .lobby-visual{background:radial-gradient(circle at 65% 30%,rgba(255,82,164,.26),transparent 26%),linear-gradient(135deg,#43233d,#0f1120)}.lobby-shell.train .lobby-visual{background:radial-gradient(circle at 58% 25%,rgba(96,225,181,.22),transparent 26%),linear-gradient(135deg,#1a423f,#0e1420)}.lobby-visual:after{content:"";position:absolute;left:-10%;right:-10%;bottom:19%;height:1px;background:rgba(255,255,255,.13);box-shadow:0 0 22px rgba(255,255,255,.28)}.lobby-case-tag{position:relative;z-index:1;color:#dbe5f7;font:600 9px "DM Mono",monospace;letter-spacing:.1em}.lobby-glyph{position:absolute;right:24px;bottom:30px;font-size:122px;font-weight:800;letter-spacing:-.15em;color:rgba(244,247,255,.79)}.lobby-visual-label{position:absolute;left:18px;bottom:18px;padding:7px 9px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(7,9,14,.58);font:600 8px "DM Mono",monospace;letter-spacing:.1em}.lobby-copy{padding:30px 12px;align-self:center}.lobby-copy h1{margin:9px 0;font-size:50px;letter-spacing:-.08em}.lobby-copy>p:not(.eyebrow){margin:0;color:#c2cce0;font-size:13px;line-height:1.7}.lobby-specs{display:flex;gap:7px;flex-wrap:wrap;margin-top:19px}.lobby-specs span{padding:7px 8px;border:1px solid var(--line);border-radius:999px;color:#c6d0e4;font-size:9px}.lobby-control{padding:19px;border:1px solid var(--line);border-radius:21px;background:rgba(14,18,31,.76)}.lobby-control h2{margin:8px 0;font-size:24px;letter-spacing:-.05em}.share-row{display:flex;gap:7px;margin:16px 0}.share-row input{min-width:0;flex:1;border:1px solid var(--line-strong);border-radius:10px;background:rgba(255,255,255,.03);color:#b9c5dc;padding:9px;font-size:10px}.waiting-host{display:flex;gap:7px;align-items:center;margin-top:15px;color:#b9c5d9;font-size:11px}.waiting-host i{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:pulse 1.2s infinite}.lobby-note{margin:13px 0 0;color:#8f9ab2;font-size:9px;line-height:1.5}.join-stage{display:grid;min-height:calc(100vh - 76px);place-items:center;padding:22px}.join-modal{width:min(100%,420px)}

/* overlay/toast */
.role-reveal-overlay{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px;background:rgba(3,4,10,.83);backdrop-filter:blur(8px)}.reveal-scan{position:absolute;inset:0;opacity:.26;background:repeating-linear-gradient(0deg,rgba(255,255,255,.06) 0 1px,transparent 1px 4px)}.role-reveal-card{position:relative;width:min(100%,520px);padding:34px;border:1px solid rgba(191,177,255,.31);border-radius:25px;background:radial-gradient(circle at 82% 0,rgba(132,99,240,.22),transparent 29%),linear-gradient(145deg,#1f2441,#0f1425);box-shadow:0 35px 120px rgba(0,0,0,.62);text-align:center}.role-reveal-card h1{margin:10px 0;font-size:45px;letter-spacing:-.08em}.role-reveal-card>p:not(.eyebrow){margin:0;color:#b8c4da;font-size:12px}.reveal-case{display:inline-flex;margin-top:12px;padding:6px 8px;border:1px solid var(--line);border-radius:999px;color:#d1c6ff;font:600 8px "DM Mono",monospace;letter-spacing:.1em}.reveal-role{display:flex;justify-content:center;gap:12px;align-items:center;margin:26px 0}.reveal-role small{display:block;color:#9da8bf;font:600 8px "DM Mono",monospace;letter-spacing:.1em}.reveal-role b{display:block;margin-top:5px;font-size:18px}.reveal-foot{display:block;margin-top:16px;color:#909cb5;font-size:9px}.toast{position:fixed;right:18px;bottom:18px;z-index:200;max-width:370px;padding:12px 14px;border:1px solid rgba(200,188,255,.3);border-radius:12px;background:#221d3a;color:#f1edff;box-shadow:var(--shadow);font-size:12px;transform:translateY(130%);opacity:0;transition:.22s}.toast.show{transform:translateY(0);opacity:1}.toast.error{border-color:rgba(255,129,156,.45);background:#3d202c;color:#ffd1da}

@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(143,115,255,.6)}70%{box-shadow:0 0 0 9px rgba(143,115,255,0)}}@keyframes cctvFlicker{0%,91%,100%{opacity:.26}92%{opacity:.48}93%{opacity:.15}94%{opacity:.34}}

@media(max-width:1280px){.hero-stage{grid-template-columns:1fr;min-height:0}.hero-case-window{max-width:760px}.library-track{grid-template-columns:repeat(3,minmax(0,1fr))}.game-layout{grid-template-columns:190px minmax(0,1fr)}.right-rail{grid-column:1/-1;position:static;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.cctv-studio,.scene-workspace{grid-template-columns:1fr}.cctv-playlist{grid-template-columns:repeat(4,1fr);display:grid}.phone-workspace{grid-template-columns:230px minmax(0,1fr)}.discord-app{grid-template-columns:54px 170px minmax(0,1fr)}.discord-members{display:none}.lobby-stage{grid-template-columns:1fr 1fr}.lobby-control{grid-column:1/-1}.suspect-carousel{grid-template-columns:repeat(2,minmax(0,1fr))}.media-stage{grid-template-columns:1fr}.evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.home-header,.game-header{height:64px;padding:0 15px}.header-ambient,.mission-crumb{display:none}.hero-stage{padding:55px 17px 40px}.hero-copy h1{font-size:50px}.hero-case-window{margin-top:10px}.library-heading{align-items:flex-start;flex-direction:column}.case-library,.experience-row{padding-left:15px;padding-right:15px}.library-track,.experience-row{grid-template-columns:1fr}.game-layout{display:block;padding:12px}.game-nav{position:static;display:flex;gap:7px;overflow:auto;margin-bottom:12px;padding:7px}.nav-label,.nav-role{display:none}.nav-tab{width:auto;flex:0 0 auto;padding:8px}.nav-tab b{font-size:9px}.nav-tab span{width:20px;height:20px}.workspace{min-height:0;padding:16px;border-radius:18px}.right-rail{grid-template-columns:1fr;position:static;margin-top:12px}.workspace-head{display:block}.workspace-head h1{font-size:29px}.workspace-chip,.count-chip{margin-top:9px}.case-hero-panel{grid-template-columns:1fr;min-height:0}.case-hero-glyph{display:none}.mission-mini{grid-template-columns:1fr}.mission-progress{grid-template-columns:1fr}.suspect-carousel,.evidence-grid,.challenge-grid,.investigation-board,.reveal-grid{grid-template-columns:1fr}.phone-workspace,.media-desk{grid-template-columns:1fr}.real-phone{order:2}.phone-frame{min-height:460px}.phone-app-head{display:block}.phone-app-head .button{margin-top:10px}.discord-app{grid-template-columns:45px minmax(0,1fr)}.discord-channel-list{display:none}.discord-chat{min-width:0}.photo-grid{grid-template-columns:1fr}.cctv-frame{height:290px}.cctv-playlist{grid-template-columns:1fr 1fr}.scene-workspace{grid-template-columns:1fr}.crime-scene{min-height:330px}.media-stage{grid-template-columns:1fr}.board-form,.board-form.link-form,.timeline-form{grid-template-columns:1fr}.lobby-stage{grid-template-columns:1fr;padding:23px 15px}.lobby-copy{padding:0}.lobby-copy h1{font-size:42px}.lobby-visual{min-height:240px}.modal-actions{flex-direction:column-reverse}.modal-actions .button{width:100%}}
