:root {
  --bg: #070814;
  --panel: #101225;
  --panel-2: #16182d;
  --panel-3: #1b1d35;
  --line: rgba(151, 154, 211, .2);
  --line-bright: rgba(143, 139, 233, .42);
  --paper: #eee8e9;
  --paper-ink: #242033;
  --text: #e9e8f4;
  --muted: #898da8;
  --purple: #7a74e8;
  --purple-soft: #aaa4ff;
  --cyan: #66d9e8;
  --green: #29d899;
  --red: #ff5967;
  --amber: #ffb26b;
  --mono: "IBM Plex Mono", "Cascadia Mono", Consolas, monospace;
  --sans: "Inter", "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--bg); }
body {
  margin: 0;
  min-height: 100vh;
  overflow: hidden;
  color: var(--text);
  background:
    radial-gradient(circle at 50% -10%, rgba(84, 73, 171, .2), transparent 42%),
    linear-gradient(180deg, #080917, #060711 72%);
  font-family: var(--mono);
  font-size: 16px;
}

.rotate-gate,
.mobile-toolbar,
.mobile-scrim,
.mobile-evidence-chip { display:none; }

button, input { font: inherit; }
button { -webkit-tap-highlight-color: transparent; }
button:focus-visible, input:focus-visible { outline: 2px solid var(--cyan); outline-offset: 2px; }
[hidden] { display: none !important; }

.room-glow { position: fixed; inset: 0; pointer-events: none; background: radial-gradient(circle at 52% 30%, rgba(92, 74, 203, .09), transparent 35%); }
.noise { position: fixed; z-index: 80; inset: 0; opacity: .035; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E"); }

.game-shell { width: 100vw; height: 100vh; padding: 12px; }
.game-board {
  width: 100%; height: 100%; min-height: 0;
  display: grid;
  grid-template-columns: minmax(220px, .78fr) minmax(540px, 2.2fr) minmax(260px, .85fr);
  gap: 10px;
}
.chat-panel, .window-panel, .applicant-zone, .clock-panel, .rules-paper, .decision-dock {
  box-shadow: 0 22px 60px rgba(0, 0, 0, .32);
}

/* Discord */
.chat-panel {
  position:relative; min-width: 0; min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto auto minmax(0, 1fr) auto;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: rgba(15, 17, 34, .96);
}
.discord-head { min-height: 166px; display:grid; grid-template-columns:1fr; align-content:center; gap:10px; padding:13px 14px; border-bottom:1px solid var(--line); background:#12142a; }
.server-title-row { display:flex; align-items:center; gap:9px; }
.discord-logo { width:39px; height:39px; display:grid; place-items:center; flex:0 0 auto; border-radius:10px; color:#fff; background:linear-gradient(145deg,#706be1,#4e4ab4); font-size:1rem; font-weight:700; }
.discord-logo img { width:100%; height:100%; display:block; border-radius:inherit; object-fit:contain; }
.server-title-row strong { display:block; font-size:1rem; letter-spacing:.04em; }
.server-overview { min-width:0; display:grid; gap:6px; }
.community-health { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; }
.health-stat { min-width:0; display:inline-flex; align-items:center; justify-content:space-between; gap:5px; border:1px solid rgba(255,255,255,.07); border-radius:4px; padding:7px 6px; background:rgba(5,7,18,.45); line-height:1; }
.health-stat i { overflow:hidden; color:#8b91aa; font-size:.59rem; font-style:normal; font-weight:700; text-overflow:ellipsis; }
.health-stat b { font-size:.78rem; }
.health-stat.safety b { color:#72d9ea; }.health-stat.trust b { color:#b1a9ff; }.health-stat.activity b { color:#74e1b8; }
.discord-head .community-roster { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; margin:0; color:#70758f; white-space:nowrap; }
.community-roster span { min-width:0; display:flex; align-items:center; justify-content:space-between; gap:4px; border-radius:3px; padding:5px 6px; background:rgba(255,255,255,.025); }
.community-roster i { overflow:hidden; font-size:.56rem; font-style:normal; text-overflow:ellipsis; }
.community-roster b { color:#c3c7d7; font-size:.68rem; }
.community-roster .members-stat { grid-column:2 / 4; }
.community-health b.stat-up,.community-roster b.stat-up { animation:statUp .62s ease; }
.community-health b.stat-down,.community-roster b.stat-down { animation:statDown .62s ease; }
.channel-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 9px; border-bottom: 1px solid var(--line); }
.channel-button { min-width: 0; min-height: 40px; display: flex; align-items: center; gap: 6px; border: 0; border-radius: 6px; padding: 0 10px; color: #858aa4; background: transparent; cursor: pointer; font-size: .88rem; }
.channel-button:hover { color: #d8d9e7; background: rgba(255,255,255,.04); }
.channel-button.active { color: #f5f3ff; background: #282a46; }
.channel-button > span { color: #6f7390; font-size: .9rem; }
.channel-button b { min-width: 17px; height: 17px; display: grid; place-items: center; margin-left: auto; border-radius: 9px; color: #fff; background: var(--red); font-size: .56rem; }
.channel-header { position:relative; min-height:58px; display:flex; flex-direction:column; justify-content:center; padding:0 92px 0 14px; border-bottom:1px solid var(--line); background:#14162b; }
.channel-header strong { font-size: .92rem; }
.channel-header strong span { color: #777b98; }
.channel-header strong i { font-style: normal; }
.channel-header small { margin-top: 5px; overflow: hidden; color: #777d98; font-size: .7rem; white-space: nowrap; text-overflow: ellipsis; }
.chat-sound-button { position:absolute; right:10px; top:50%; display:flex; align-items:center; gap:5px; border:1px solid rgba(102,217,232,.2); border-radius:5px; color:var(--cyan); background:rgba(8,11,25,.55); padding:6px 7px; transform:translateY(-50%); cursor:pointer; font:600 .52rem/1 var(--mono); }
.chat-sound-button span { font-size:.62rem; letter-spacing:-.16em; }
.chat-sound-button[aria-pressed="false"] { color:#686e88; border-color:rgba(255,255,255,.08); }
.chat-attention-bar { position:absolute; z-index:18; right:10px; bottom:62px; left:10px; display:flex; align-items:center; justify-content:flex-end; gap:6px; pointer-events:none; }
.moderator-ping-badge { position:static; display:inline-flex; flex:0 0 auto; align-items:center; gap:3px; min-width:32px; height:28px; justify-content:center; border:1px solid rgba(124,247,212,.48); border-radius:14px; color:#bfffea; background:rgba(18,82,69,.94); padding:0 9px; cursor:pointer; appearance:none; font:700 .62rem/1 var(--mono); box-shadow:0 8px 24px rgba(0,0,0,.42), inset 0 1px 0 rgba(205,255,241,.12); pointer-events:auto; }
.moderator-ping-badge:hover { border-color:rgba(164,255,230,.8); background:rgba(22,105,87,.92); }
.moderator-ping-badge[hidden] { display:none; }
.moderator-ping-badge b { color:#eafff8; font-size:.58rem; }
.channel-feed { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 12px 12px 17px; scrollbar-width: thin; scrollbar-color: #373a57 transparent; }
.chat-new-messages { position:static; min-height:28px; max-width:calc(100% - 44px); overflow:hidden; border:1px solid rgba(102,217,232,.38); border-radius:14px; padding:5px 11px; color:#dffbff; background:rgba(26,43,63,.96); box-shadow:0 8px 24px rgba(0,0,0,.42); cursor:pointer; font:700 .62rem/1 var(--mono); white-space:nowrap; text-overflow:ellipsis; pointer-events:auto; }
.chat-new-messages:hover { border-color:rgba(102,217,232,.72); background:#223e57; }
.chat-new-messages[hidden] { display:none; }
.discord-message { position:relative; display:grid; grid-template-columns:38px minmax(0,1fr); gap:11px; padding:10px 2px; }
.discord-message.message-new { animation:messageIn .25s ease both; }
.discord-message.mention-jump { border-radius:5px; animation:mentionJump 1.4s ease both; }
.discord-avatar { position:relative; width:38px; height:38px; overflow:hidden; display:grid; place-items:center; border-radius:50%; color:#0e1020; background:var(--accent,var(--purple)); font-size:.77rem; font-weight:700; }
.discord-avatar img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; background:#15182a; }
.discord-copy { min-width: 0; }
.discord-message-meta { display: flex; align-items: baseline; gap: 6px; }
.discord-message-meta strong { color: var(--accent, var(--purple-soft)); font-size: .94rem; }
.discord-message-meta time { color: #656b85; font-size: .7rem; }
.discord-copy p { margin: 4px 0 0; color: #cbd0df; font: 500 1rem/1.5 var(--mono); word-break: break-word; }
.discord-message.admin .discord-copy { border-left: 2px solid rgba(255,178,107,.65); padding-left: 8px; }
.discord-message.admin .discord-message-meta strong { color: var(--amber); }
.discord-message-meta .scam-tag { margin-left:auto; color:#2b0810; border-radius:3px; background:#ff6f79; padding:2px 5px; font-size:.5rem; letter-spacing:.05em; }
.moderation-state { margin-left:auto; color:#86f5cd; font-size:.5rem; font-weight:700; letter-spacing:.06em; }
.scam-message { border-radius:5px; background:transparent; }
.discord-message.menu-open { z-index:20; }
.scam-message .discord-copy > p { padding-right:18px; }
.message-menu-wrap { position:absolute; z-index:4; top:5px; right:0; }
.message-more { width:23px; height:22px; display:grid; place-items:center; opacity:0; border:0; border-radius:4px; color:#8c92aa; background:#171a2d; cursor:pointer; font:700 .72rem/1 var(--mono); transition:opacity .15s,color .15s,background .15s; }
.scam-message:hover .message-more,.message-more:focus-visible,.menu-open .message-more { opacity:1; }
.message-more:hover { color:#fff; background:#262b45; }
.message-actions { position:absolute; top:24px; right:0; width:126px; overflow:hidden; border:1px solid #3d425b; border-radius:5px; background:#111426; box-shadow:0 12px 28px rgba(0,0,0,.52); }
.message-actions button { width:100%; border:0; border-bottom:1px solid #292e45; color:#d9dce7; background:transparent; padding:8px 9px; text-align:left; cursor:pointer; font:600 .62rem/1.2 var(--sans); }
.message-actions button:last-child { border-bottom:0; color:#ff838c; }
.message-actions button:hover:not(:disabled) { background:#252a42; }
.message-actions button:disabled { color:#65dcb1; cursor:default; }
.deleted-message { color:#626981; font-style:italic; }
.discord-compose { height: 48px; margin: 6px 9px 10px; display: flex; align-items: center; gap: 9px; border: 1px solid rgba(255,255,255,.025); border-radius: 8px; padding: 0 11px; color: #656a85; background: #20233c; }
.discord-compose > span { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; color: #20233c; background: #777c99; font-weight: 700; }
.discord-compose p { min-width: 0; flex: 1; overflow: hidden; margin: 0; font-size: .82rem; white-space: nowrap; text-overflow: ellipsis; }
.discord-compose b { color: #777c99; }

/* Main inspection window */
.inspection-stack { position: relative; min-width: 0; min-height: 0; display: grid; grid-template-rows: minmax(300px, 1fr) auto; gap: 9px; }
.window-panel { min-height: 0; display: grid; grid-template-rows: 54px minmax(0, 1fr) 27px; overflow: hidden; border: 1px solid var(--line-bright); border-radius: 13px 13px 6px 6px; background: #0b0d1b; box-shadow: 0 0 0 5px #0b0d18, 0 22px 70px rgba(0,0,0,.4); }
.window-topline { position: relative; z-index: 6; display: flex; align-items: center; justify-content: space-between; padding: 0 17px; border-bottom: 1px solid var(--line); background: linear-gradient(180deg, #17192e, #101225); }
.brand-lockup { display: flex; align-items: center; gap: 10px; }
.brand-lockup > span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 7px; color: #f7f6ff; background: var(--purple); font-size: .75rem; font-weight: 700; }
.brand-lockup strong { color: var(--purple-soft); font-size: .82rem; letter-spacing: .04em; }
.brand-lockup small { display: block; margin-top: 3px; color: #626784; font-size: .56rem; letter-spacing: .08em; }
.camera-state { display: flex; align-items: center; gap: 7px; color: #7d829d; font-size: .62rem; }
.camera-state i { width: 6px; height: 6px; border-radius: 50%; background: var(--red); box-shadow: 0 0 10px rgba(255,89,103,.7); }
.stage { position: relative; min-height: 0; overflow: hidden; background: radial-gradient(circle at 50% 32%, rgba(66, 62, 132, .34), transparent 36%), linear-gradient(180deg, #171934 0%, #101329 60%, #090b17 100%); }
.booth-wall { position: absolute; inset: 0; opacity: .9; background: linear-gradient(90deg, transparent 20%, rgba(89,85,151,.08) 20.2%, transparent 20.5%, transparent 79%, rgba(89,85,151,.08) 79.2%, transparent 79.5%), linear-gradient(180deg, transparent 24%, rgba(89,85,151,.08) 24.4%, transparent 24.8%); }
.booth-wall::before, .booth-wall::after { content:""; position:absolute; top:0; bottom:0; width:8px; background:linear-gradient(90deg,#080a15,#222441,#0c0e1c); }
.booth-wall::before { left:4%; }.booth-wall::after { right:4%; }
.booth-wall i { position:absolute; border:1px solid rgba(132,127,208,.1); background:rgba(8,10,22,.22); }
.booth-wall i:nth-child(1){left:8%;top:34%;width:18%;height:26%}.booth-wall i:nth-child(2){right:8%;top:28%;width:17%;height:22%}.booth-wall i:nth-child(3){right:11%;bottom:12%;width:15%;height:17%}
.lamp { position:absolute; z-index:1; top:-3px; width:120px; height:76px; background:radial-gradient(ellipse at 50% 22%,rgba(255,194,119,.75),rgba(255,151,70,.12) 28%,transparent 68%); opacity:.75; }
.lamp::before { content:""; position:absolute; left:50%; top:0; width:48px; height:13px; border-radius:0 0 50% 50%; background:#443142; transform:translateX(-50%); box-shadow:0 7px 13px rgba(255,171,92,.45); }
.lamp-left { left:30%; }.lamp-right { right:10%; transform:scale(.78); opacity:.5; }
.visitor-halo { position:absolute; inset:16% 22% 0; background:radial-gradient(ellipse,rgba(109,91,233,.22),transparent 65%); filter:blur(18px); }
.counter-line { position:absolute; z-index:2; left:0; right:0; bottom:8%; height:8px; border-top:1px solid #393956; background:#171827; box-shadow:0 -8px 30px rgba(0,0,0,.45); }
.visitor { position:absolute; z-index:3; left:50%; bottom:4%; width:min(58%,390px); height:88%; transform:translateX(-50%); border:0; padding:0; background:none; cursor:pointer; }
.visitor[hidden] { display:none; }
.visitor-sprite { position:absolute; z-index:2; inset:0; display:block; transform-origin:50% 84%; }
.visitor img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; object-position:bottom; filter:var(--mascot-filter,none) drop-shadow(0 18px 30px rgba(0,0,0,.6)); transform:scale(var(--mascot-scale,1)); transform-origin:50% 88%; }
.visitor.arrived .visitor-sprite { animation:visitorBreath 3.8s ease-in-out infinite; }
.visitor.pre-enter { opacity:0; transform:translateX(-180%) scale(.97); pointer-events:none; }
.visitor.entering { pointer-events:none; animation:visitorWalkIn 2.4s linear both; }
.visitor.entering .visitor-sprite { animation:visitorWalkBob .3s ease-in-out 8 both; }
.visitor.settling .visitor-sprite { animation:visitorSettle .18s ease-out both; }
.visitor:hover:not(.entering) img { filter:var(--mascot-filter,none) brightness(1.035) drop-shadow(0 18px 30px rgba(0,0,0,.6)); }
.visitor.has-new-question::after { content:"?"; position:absolute; z-index:7; right:5%; top:22%; width:25px; height:25px; display:grid; place-items:center; border:1px solid rgba(124,247,212,.62); border-radius:50%; color:#bafbe8; background:rgba(13,32,29,.92); box-shadow:0 0 0 4px rgba(124,247,212,.06),0 6px 16px rgba(0,0,0,.36); font:700 .75rem/1 var(--mono); animation:newQuestionHint 1.8s ease-in-out infinite; }
.mascot-connect-target { display:none; }
.visitor-shadow { position:absolute; z-index:1; left:24%; right:24%; bottom:4%; height:7%; border-radius:50%; background:rgba(0,0,0,.75); filter:blur(12px); }
.talk-hint { position:absolute; z-index:5; right:-17%; bottom:17%; color:#858aa5; border:1px solid rgba(154,158,202,.26); background:rgba(11,13,27,.82); padding:6px 8px; font-size:.57rem; letter-spacing:.05em; white-space:nowrap; }
.speech-card { position:absolute; z-index:5; top:11%; right:6%; width:min(37%,270px); color:#211e2d; background:#f2ecef; padding:13px 15px 17px; border-radius:11px; box-shadow:0 12px 26px rgba(0,0,0,.28); }
.speech-card::after { content:""; position:absolute; left:18px; bottom:-13px; border-width:13px 17px 0 0; border-style:solid; border-color:#f2ecef transparent transparent transparent; }
.speaker { color:#655fc6; font-size:.63rem; font-weight:700; letter-spacing:.07em; }
.speech-card p { margin:7px 0 0; font:700 .9rem/1.38 var(--sans); }
.trivia-challenge { position:absolute; z-index:24; left:50%; top:48%; width:min(74%,430px); padding:14px 15px 13px; border:1px solid rgba(124,247,212,.42); border-radius:10px; color:#e8f8f4; background:linear-gradient(180deg,rgba(20,30,43,.98),rgba(8,13,25,.98)); box-shadow:0 18px 48px rgba(0,0,0,.62),inset 0 1px rgba(255,255,255,.08),0 0 0 4px rgba(7,10,20,.72); transform:translate(-50%,-50%); animation:triviaIn .28s ease both; }
.trivia-challenge[hidden] { display:none; }
.trivia-challenge header { display:flex; align-items:center; justify-content:space-between; color:#7cf7d4; font:700 .58rem/1 var(--mono); letter-spacing:.09em; }
.trivia-challenge header b { width:24px; height:24px; display:grid; place-items:center; border:1px solid rgba(124,247,212,.32); border-radius:50%; color:#bfffea; background:rgba(124,247,212,.08); font-size:.78rem; }
.trivia-challenge > p { margin:9px 0 12px; color:#f1f3f7; font:650 clamp(.85rem,1.35vw,1.02rem)/1.38 var(--sans); }
.trivia-challenge > div { display:grid; grid-template-columns:minmax(0,1fr) auto; border:1px solid #3d4961; border-radius:6px; overflow:hidden; background:#080c17; box-shadow:inset 0 2px 8px rgba(0,0,0,.5); }
.trivia-challenge input { min-width:0; height:42px; border:0; outline:0; padding:0 12px; color:#eefeff; background:transparent; font:600 .84rem/1 var(--mono); }
.trivia-challenge input::placeholder { color:#667184; }
.trivia-challenge button { min-width:88px; border:0; border-left:1px solid rgba(124,247,212,.24); color:#061510; background:linear-gradient(180deg,#8cffdc,#52d8b3); padding:0 14px; cursor:pointer; font:800 .65rem/1 var(--mono); letter-spacing:.05em; }
.trivia-challenge button:hover { background:linear-gradient(180deg,#a2ffe5,#62e8c1); }
.trivia-challenge button:active { box-shadow:inset 0 3px 8px rgba(0,0,0,.25); transform:translateY(1px); }
.trivia-challenge small { display:block; margin-top:8px; color:#68758a; font:500 .58rem/1.35 var(--mono); }
.trivia-challenge.answer-correct { border-color:rgba(124,247,212,.82); box-shadow:0 18px 48px rgba(0,0,0,.62),inset 0 0 18px rgba(124,247,212,.08),0 0 0 4px rgba(7,10,20,.72); }
.trivia-challenge.answer-wrong { border-color:rgba(255,111,121,.72); box-shadow:0 18px 48px rgba(0,0,0,.62),inset 0 0 18px rgba(255,111,121,.07),0 0 0 4px rgba(7,10,20,.72); }
.trivia-challenge.answer-empty { animation:triviaShake .28s ease; }
body.trivia-mode .talk-hint { opacity:0; pointer-events:none; }
body.trivia-mode .verify-button, .verify-button:disabled { opacity:.46; pointer-events:none; filter:saturate(.55); }
@keyframes triviaIn { from { opacity:0; transform:translate(-50%,-44%) scale(.97); } }
@keyframes triviaShake { 0%,100%{transform:translate(-50%,-50%)} 30%{transform:translate(calc(-50% - 6px),-50%)} 70%{transform:translate(calc(-50% + 6px),-50%)} }
.window-rail { display:flex; align-items:center; justify-content:space-between; padding:0 13px; color:#626780; background:#0b0d19; border-top:1px solid var(--line); font-size:.54rem; letter-spacing:.07em; }
.window-rail i { width:30%; height:1px; background:var(--line); }

/* Applicant card + tools */
.applicant-zone { position:relative; min-width:0; overflow:visible; border:1px solid var(--line); border-radius:7px; background:#0d0f20; }
.tool-output { min-height:120px; padding:8px; }
.applicant-sheet { min-height:112px; display:grid; grid-template-columns:86px minmax(0,1fr); gap:13px; align-items:center; padding:9px 13px; color:var(--paper-ink); background:linear-gradient(180deg,#eee9eb,#ddd7de); border:1px solid rgba(255,255,255,.72); border-radius:7px; box-shadow:inset 0 0 26px rgba(83,62,95,.06),0 6px 18px rgba(0,0,0,.22); }
.applicant-photo { height:88px; overflow:hidden; display:grid; place-items:center; border:1px solid rgba(42,37,57,.25); border-radius:6px; background:#7270ad; }
.applicant-photo img { width:100%; height:100%; object-fit:contain; object-position:bottom; }
.applicant-fields { min-width:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.card-data-field { min-width:0; min-height:41px; padding:6px 10px; border-right:1px solid rgba(44,40,58,.13); border-bottom:1px solid rgba(44,40,58,.13); }
.card-data-field:nth-child(3n) { border-right:0; }.card-data-field:nth-child(n+4) { border-bottom:0; }
.card-data-field span { display:block; margin-bottom:4px; color:#777083; font-size:.53rem; font-weight:600; letter-spacing:.04em; }
.card-data-field strong { display:block; overflow:hidden; color:#292536; font-size:.68rem; line-height:1.2; white-space:nowrap; text-overflow:ellipsis; }
.verification-bar { height:61px; display:grid; grid-template-columns:repeat(5,1fr); gap:6px; padding:0 8px 8px; }
.verify-button { min-width:0; display:flex; align-items:center; justify-content:center; gap:8px; border:1px solid rgba(104,112,167,.45); border-radius:6px; color:#77dff0; background:linear-gradient(180deg,#171a31,#101225); cursor:pointer; box-shadow:inset 0 1px rgba(255,255,255,.03),0 4px 9px rgba(0,0,0,.22); }
.verify-button:hover, .verify-button.active { border-color:rgba(102,217,232,.72); background:#1b2038; transform:translateY(-1px); }
.verify-button > span { font-size:1.25rem; }
.verify-button b { color:#c9d2e5; font-size:.61rem; line-height:1.15; text-align:left; }
.verify-button small { display:block; margin-top:2px; color:#69718c; font-size:.54rem; font-weight:500; }
.tool-tray { position:absolute; z-index:25; left:7px; right:7px; bottom:7px; height:340px; overflow:hidden; border:1px solid rgba(102,217,232,.48); border-radius:9px; background:#111425; box-shadow:0 24px 70px rgba(0,0,0,.72); }
.tool-tray-head { height:49px; display:flex; align-items:center; justify-content:space-between; padding:0 14px; border-bottom:1px solid var(--line); background:#171a30; }
.tool-tray-head span { display:block; color:#686f8b; font-size:.54rem; letter-spacing:.08em; }.tool-tray-head strong { display:block; margin-top:4px; color:#e3e6f0; font-size:.68rem; letter-spacing:.05em; }
.tool-tray-head button { width:31px; height:31px; border:1px solid var(--line); border-radius:5px; color:#9ca1b8; background:#101323; cursor:pointer; font-size:1rem; }
.tool-screen { height:calc(100% - 49px); min-height:0; overflow:hidden; }
.terminal-search { padding:11px 13px; border-bottom:1px solid var(--line); }
.terminal-search label { display:block; margin-bottom:7px; color:#747b96; font-size:.56rem; font-weight:700; letter-spacing:.07em; }
.terminal-search > div { display:grid; grid-template-columns:25px minmax(0,1fr) auto; border:1px solid #343951; border-radius:4px; background:#0b0e1a; }
.terminal-search span { display:grid; place-items:center; color:#69718d; font-size:.75rem; }
.terminal-search input { min-width:0; height:35px; border:0; outline:0; color:#f0f1f7; background:transparent; font-size:.72rem; font-weight:600; }
.terminal-search input::placeholder { color:#f0f1f7; opacity:1; }
.terminal-search button { border:0; border-left:1px solid #343951; color:#10131d; background:var(--cyan); padding:0 13px; cursor:pointer; font-size:.59rem; font-weight:700; }
.search-output { height:calc(100% - 83px); overflow-y:auto; padding:11px 13px 18px; scrollbar-width:thin; scrollbar-color:#393e58 transparent; }
.search-output.training-scroll-locked { overflow:hidden; }
.empty-tool { min-height:150px; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#626982; text-align:center; }
.empty-tool > span { margin-bottom:9px; font-size:1.7rem; }.empty-tool strong { color:#9aa0b5; font-size:.63rem; letter-spacing:.08em; }.empty-tool p { max-width:280px; margin:7px 0 0; font:500 .72rem/1.4 var(--sans); }
.lookup-summary { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; color:#6f7690; font-size:.56rem; font-weight:600; letter-spacing:.05em; }.lookup-summary b { color:#a9aec0; }
.lookup-result { width:100%; display:block; margin-bottom:6px; border:1px solid #30364d; border-radius:5px; color:#e8e9f1; background:#15182b; padding:9px; text-align:left; cursor:pointer; }
.lookup-result:hover { border-color:rgba(102,217,232,.5); background:#191e33; }
.lookup-result-top { display:flex; align-items:center; gap:8px; }.lookup-result-top > span { width:27px; height:27px; display:grid; place-items:center; border-radius:7px; color:#101220; background:var(--purple-soft); font-size:.61rem; font-weight:700; }.lookup-result-top strong { font-size:.69rem; }.lookup-result p { margin:5px 0 0 35px; color:#858ba1; font:500 .66rem/1.3 var(--sans); }
.profile-sheet, .x-profile-card { border:1px solid #323850; border-radius:6px; background:#14172a; }
.profile-title { display:flex; align-items:center; gap:10px; padding:10px; border-bottom:1px solid #2b3046; }.profile-title > span { width:33px; height:33px; display:grid; place-items:center; border-radius:8px; color:#10121e; background:var(--cyan); font-size:.7rem; font-weight:700; }.profile-title strong { display:block; font-size:.72rem; }.profile-title small { display:block; margin-top:4px; color:#747b94; font-size:.54rem; }.profile-back { margin-left:auto; border:0; color:#969caf; background:transparent; cursor:pointer; font-size:1rem; }
.profile-grid { display:grid; grid-template-columns:1fr 1fr; }.profile-field { min-height:55px; padding:9px; border-right:1px solid #2b3046; border-bottom:1px solid #2b3046; }.profile-field:nth-child(even){border-right:0}.profile-field span{display:block;margin-bottom:5px;color:#717891;font-size:.52rem;font-weight:600}.profile-field strong{display:block;color:#e1e3ec;font-size:.65rem}.profile-field strong.good{color:var(--green)}.profile-field strong.bad{color:var(--red)}.profile-note{padding:9px;color:#9da3b5;font:500 .67rem/1.4 var(--sans)}
.connectable { position:relative; cursor:crosshair; transition:background .15s,border-color .15s,box-shadow .15s; }
.connectable:hover { background-color:rgba(102,217,232,.055); box-shadow:inset 0 0 0 1px rgba(102,217,232,.2); }
.connectable.evidence-selected { z-index:2; background-color:rgba(102,217,232,.12); box-shadow:inset 0 0 0 1px rgba(102,217,232,.75),0 0 18px rgba(102,217,232,.12); }
.profile-field.evidence-source::after { content:"LINK"; position:absolute; top:7px; right:7px; color:var(--cyan); font-size:.46rem; font-weight:700; letter-spacing:.08em; }
.connection-wire { position:fixed; z-index:90; height:3px; pointer-events:none; border-radius:4px; background:repeating-linear-gradient(90deg,#66d9e8 0 9px,transparent 9px 15px); filter:drop-shadow(0 0 4px rgba(102,217,232,.7)); transform-origin:0 50%; animation:wireIn .22s ease both; contain:layout paint; }
.connection-wire.no-link { background:repeating-linear-gradient(90deg,#ff5967 0 9px,transparent 9px 15px); filter:drop-shadow(0 0 4px rgba(255,89,103,.62)); }
.connection-label { position:fixed; z-index:91; pointer-events:none; transform:translate(-50%,-50%); border:1px solid rgba(102,217,232,.68); border-radius:6px; color:#c8f8ff; background:#0e1424; padding:10px 14px; font-size:.78rem; font-weight:700; letter-spacing:.075em; box-shadow:0 10px 28px rgba(0,0,0,.58); animation:wireLabelIn .25s ease both; }
.connection-label.no-link { border-color:rgba(255,89,103,.6); color:#ff9da5; }
.connection-active,
.connection-active body { overscroll-behavior:none; }
.connection-active .search-output,
.connection-active .tool-screen,
.connection-active .channel-feed { overflow:hidden; }

.reject-overlay { position:fixed; z-index:70; inset:0; display:grid; place-items:end; padding:18px; background:rgba(5,6,14,.28); }
.reject-panel { width:min(430px,calc(100vw - 36px)); pointer-events:auto; overflow:hidden; border:1px solid rgba(255,89,103,.52); border-radius:10px; background:linear-gradient(155deg,#191525,#0d0f1e); box-shadow:0 28px 80px rgba(0,0,0,.7),inset 0 1px rgba(255,255,255,.04); animation:rejectMenuIn .22s ease both; }
.reject-panel header { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:16px 17px 11px; border-bottom:1px solid rgba(255,255,255,.07); }
.reject-panel header span { display:block; margin-bottom:4px; color:#ff7c87; font-size:.54rem; font-weight:700; letter-spacing:.1em; }
.reject-panel h2 { margin:0; font-size:1.05rem; }
.reject-panel header button { width:32px; height:32px; border:1px solid #35394d; border-radius:5px; color:#9ba0b5; background:#111425; cursor:pointer; font-size:1rem; }
.reject-panel > p { margin:0; padding:11px 17px; color:#858ba2; font:500 .74rem/1.4 var(--sans); }
.reject-reasons { display:grid; gap:7px; padding:0 12px 13px; }
.reject-reason { width:100%; display:flex; align-items:center; justify-content:space-between; gap:12px; border:1px solid #34384d; border-radius:6px; color:#e0e2eb; background:#15182a; padding:11px 12px; text-align:left; cursor:pointer; }
.reject-reason:hover { border-color:rgba(255,89,103,.62); background:#201827; }
.reject-reason strong { display:block; font-size:.76rem; }.reject-reason small { display:block; margin-top:4px; color:#777e96; font:500 .65rem/1.3 var(--sans); }
.reject-reason > span:last-child { color:#ff7480; font-size:1rem; }
.reject-reason.no-evidence { border-style:dashed; color:#a9adbc; }

@keyframes wireIn { from { opacity:0; transform:rotate(var(--wire-angle)) scaleX(0); } to { opacity:1; transform:rotate(var(--wire-angle)) scaleX(1); } }
@keyframes wireLabelIn { from { opacity:0; transform:translate(-50%,-44%) scale(.96); } }
@keyframes newQuestionGlow { 0%,100% { filter:none; } 50% { filter:brightness(1.16); box-shadow:0 0 0 2px rgba(124,247,212,.16),0 0 24px rgba(124,247,212,.27); } }
@keyframes rejectMenuIn { from { opacity:0; transform:translateY(16px) scale(.98); } }
.x-profile-card { padding:11px; }.x-profile-card h3 { margin:0; font-size:.8rem; }.x-profile-card > p { margin:5px 0 10px; color:#737a92; font-size:.61rem; }.x-stats { display:flex; flex-wrap:wrap; gap:13px; margin:8px 0; }.x-stats span { color:#838aa0; font-size:.62rem; }.x-stats b { color:#e5e7ef; }.x-profile-post { margin-top:7px; border:1px solid #2c3247; border-radius:4px; padding:8px; }.x-profile-post > p { margin:0; color:#c8cad6; font:500 .71rem/1.35 var(--sans); }.post-stats { display:flex; flex-wrap:wrap; gap:10px; margin-top:8px; color:#6d748b; font-size:.56rem; }.post-stats span { display:inline; margin:0; color:inherit; font:inherit; }.post-stats b { color:#aeb3c4; }
.x-evidence-grid { display:grid; grid-template-columns:1fr 1fr; gap:6px; margin:10px 0 8px; }
.x-evidence { border:1px solid #2d334a; border-radius:5px; color:#9299af; background:#111528; padding:8px; text-align:left; font:600 .56rem/1.3 var(--mono); }
.x-evidence b { display:block; margin-top:4px; color:#d8dbe7; font-size:.66rem; }

/* Right rail */
.right-rail { min-width:0; min-height:0; display:grid; grid-template-rows:auto minmax(0,1fr) auto; gap:10px; }
.clock-panel { position:relative; min-height:112px; display:grid; grid-template-columns:1fr auto; gap:10px; align-items:start; padding:14px; border:1px solid var(--line); border-radius:12px; background:linear-gradient(145deg,#17192f,#0f1122); }
.clock-panel > div > strong { display:block; color:#b9b5ff; font-size:1.48rem; line-height:1; letter-spacing:.02em; }.clock-panel > div > span { display:block; margin-top:8px; color:#777d98; font-size:.65rem; }
.shift-count { text-align:right; }.shift-count span { margin-top:1px !important; }.shift-count b { display:block; margin-top:7px; color:#c4c7d7; font-size:.72rem; }
.meter-track { position:absolute; left:14px; right:14px; bottom:37px; height:3px; overflow:hidden; background:#2b2e48; }.meter-track i { display:block; width:0; height:100%; background:linear-gradient(90deg,var(--purple),var(--cyan)); transition:width .5s ease; }
.sound-button { position:absolute; left:10px; bottom:7px; display:flex; align-items:center; gap:7px; border:0; color:#666c87; background:transparent; padding:3px 5px; cursor:pointer; font-size:.53rem; }.sound-button[aria-pressed="true"]{color:var(--cyan)}
.sound-bars { height:10px; display:flex; align-items:end; gap:2px; }.sound-bars i { width:2px; height:4px; background:currentColor; }.sound-bars i:nth-child(2){height:9px}.sound-bars i:nth-child(3){height:6px}
.master-volume { position:absolute; right:10px; bottom:7px; display:grid; grid-template-columns:auto 72px 29px; align-items:center; gap:5px; color:#686e88; font-size:.48rem; font-weight:700; }
.master-volume input { width:72px; height:12px; margin:0; accent-color:var(--cyan); cursor:pointer; }
.master-volume output { color:#8d93aa; text-align:right; font-size:.49rem; }
.rules-paper { position:relative; align-self:start; min-height:275px; margin:0 5px; padding:18px 17px; color:#2a2530; border-radius:4px; background:linear-gradient(95deg,#d7b9ad,#ead4cb 48%,#d9bcb1); box-shadow:0 14px 30px rgba(0,0,0,.35),inset 0 0 35px rgba(96,58,50,.08); transform:rotate(.35deg); }
.rules-paper::before, .rules-paper::after { content:""; position:absolute; top:8px; width:9px; height:9px; border-radius:50%; background:#775f5c; box-shadow:inset 0 1px 3px rgba(0,0,0,.65); }.rules-paper::before{left:8px}.rules-paper::after{right:8px}
.rules-paper header { display:flex; align-items:center; justify-content:space-between; margin-bottom:17px; }.rules-paper header strong { font-size:.86rem; }.rules-paper header span { color:#6c5860; font-size:.57rem; }
.rules-paper p { display:grid; grid-template-columns:22px 1fr; gap:9px; align-items:start; margin:0 0 14px; font:700 .74rem/1.42 var(--sans); }.rules-paper p i { width:21px; height:21px; display:grid; place-items:center; border:1px solid #51414a; border-radius:3px; color:#effff9; background:#326f62; font:700 .7rem/1 var(--mono); }.rules-paper .memo-note { margin-top:18px; color:#57434d; font-size:.67rem; }.rules-paper .memo-note i { color:#37262e; background:transparent; }
.rules-paper .rule-connect-target { margin-left:-5px; margin-right:-5px; padding:5px; border-radius:5px; cursor:crosshair; transition:background .16s ease,box-shadow .16s ease; }
.rules-paper .rule-connect-target:hover { background:rgba(74,54,64,.1); box-shadow:inset 0 0 0 1px rgba(74,54,64,.18); }
.decision-dock { border:1px solid var(--line); border-radius:10px; padding:11px; background:#0e1020; }
.decision-label { display:flex; align-items:center; justify-content:space-between; margin-bottom:9px; color:#e5e4ee; font-size:.59rem; font-weight:700; letter-spacing:.06em; }.decision-label i { color:#6f758e; font-size:.52rem; font-style:normal; font-weight:500; }
.decision-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.decision { min-width:0; min-height:108px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; border:1px solid; border-radius:8px; cursor:pointer; transition:transform .15s,filter .15s,box-shadow .15s; box-shadow:inset 0 1px rgba(255,255,255,.22),0 8px 16px rgba(0,0,0,.24); }.decision:hover{transform:translateY(-2px);filter:brightness(1.08)}.decision:active{transform:translateY(1px)}.decision:disabled{opacity:.4;cursor:wait;transform:none}
.decision-icon { font-size:1.8rem; }.decision span:last-child { display:flex; flex-direction:column; align-items:center; }.decision b { font-size:.92rem; letter-spacing:.03em; }.decision small { margin-top:5px; font-size:.51rem; letter-spacing:.05em; opacity:.72; }
.accept { color:#08271d; border-color:#42ecb0; background:linear-gradient(145deg,#31e4a4,#21bb82); }.reject { color:#360b11; border-color:#ff7882; background:linear-gradient(145deg,#ff6773,#f04455); }
.shortcut-copy { margin:9px 0 0; color:#555b74; text-align:center; font-size:.53rem; }.shortcut-copy kbd { margin:0 4px; }
kbd { padding:2px 5px; border:1px solid #4b506a; border-bottom-width:2px; border-radius:3px; color:#dfe2eb; background:#191c30; font:.59rem/1 var(--mono); }

/* Question wheel and dialogue */
.question-wheel { position:absolute; z-index:20; inset:0; background:radial-gradient(circle at 50% 53%,rgba(10,11,24,.35),rgba(7,8,18,.9)); backdrop-filter:blur(3px); }
.wheel-orbit { position:absolute; left:50%; top:53%; width:320px; height:240px; transform:translate(-50%,-50%); border:1px solid rgba(102,217,232,.22); border-radius:50%; }
.wheel-orbit .question-choice { position:absolute; width:154px; min-height:58px; border:1px solid rgba(102,217,232,.46); border-radius:6px; color:#eeeef5; background:#14172b; padding:9px 11px; cursor:pointer; text-align:center; font:600 .78rem/1.32 var(--sans); }
.wheel-orbit .question-choice:hover,.wheel-orbit .question-choice.pointed{color:#101320;background:var(--cyan);border-color:#b8f6ff;box-shadow:0 0 0 2px rgba(102,217,232,.13),0 9px 24px rgba(0,0,0,.36)}
.wheel-orbit.dense .question-choice { width:138px; font-size:.72rem; }
.wheel-orbit .question-choice.newly-unlocked { border-color:rgba(124,247,212,.88); box-shadow:0 0 0 2px rgba(124,247,212,.1),0 0 18px rgba(124,247,212,.18); animation:newQuestionGlow 1.35s ease-in-out 2; }
.wheel-orbit .question-choice.newly-unlocked::after { content:"NEW"; position:absolute; top:-8px; right:8px; border:1px solid rgba(124,247,212,.45); border-radius:8px; color:#bafbe8; background:#10251f; padding:2px 5px; font:700 .43rem/1 var(--mono); letter-spacing:.08em; }
.wheel-pointer { --wheel-angle:-90deg; position:absolute; z-index:1; left:50%; top:53%; width:96px; height:4px; pointer-events:none; transform:translateY(-50%) rotate(var(--wheel-angle)); transform-origin:0 50%; transition:transform .34s cubic-bezier(.22,.8,.2,1); will-change:transform; }
.wheel-pointer::before { content:""; position:absolute; left:47px; right:8px; top:1px; height:2px; border-radius:2px; background:linear-gradient(90deg,rgba(102,217,232,.12),var(--cyan)); box-shadow:0 0 6px rgba(102,217,232,.22); }
.wheel-pointer::after { content:""; position:absolute; right:0; top:-3px; border-width:5px 0 5px 8px; border-style:solid; border-color:transparent transparent transparent var(--cyan); filter:drop-shadow(0 0 3px rgba(102,217,232,.24)); }
.wheel-close { position:absolute; z-index:2; left:50%; top:53%; width:86px; height:86px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; border:1px solid var(--purple); border-radius:50%; color:#fff; background:#14162a; transform:translate(-50%,-50%); cursor:pointer; }.wheel-close span{font-size:.72rem;font-weight:700}.wheel-close small{color:#767c96;font-size:.49rem}
.conversation { position:absolute; z-index:18; top:15%; right:3.5%; width:min(43%,360px); display:flex; flex-direction:column; gap:9px; pointer-events:none; }.conversation[hidden]{display:none}.dialogue-line { position:relative; max-width:88%; padding:11px 13px; border:1px solid var(--line); border-radius:7px; background:rgba(13,15,29,.95); box-shadow:0 14px 34px rgba(0,0,0,.4); animation:dialogueIn .28s ease both; }.dialogue-line span{display:block;margin-bottom:6px;font-size:.55rem;font-weight:700;letter-spacing:.08em}.dialogue-line p{margin:0;color:#e5e6ee;font:600 .86rem/1.38 var(--sans)}.player-question{order:1;align-self:flex-end;border-color:rgba(122,116,232,.65)}.player-question span{color:var(--purple-soft)}.visitor-reply{order:2;align-self:flex-start;border-color:rgba(102,217,232,.48);animation-delay:.4s}.visitor-reply span{color:var(--cyan)}
.conversation.solo-reply .player-question { visibility:hidden; min-height:58px; }
.conversation.solo-reply .visitor-reply { animation-delay:0s; }
.admin-review-button { position:absolute; z-index:19; right:3.5%; bottom:20%; min-width:148px; border:1px solid rgba(255,178,107,.5); border-radius:6px; color:#f4d6b9; background:linear-gradient(180deg,rgba(43,36,52,.96),rgba(21,21,36,.98)); padding:9px 12px; text-align:left; cursor:pointer; box-shadow:0 9px 24px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.07); animation:fieldWrite .3s ease both; }
.admin-review-button[hidden] { display:none; }
.admin-review-button span { display:block; color:#938da3; font:.52rem/1.2 var(--mono); letter-spacing:.06em; }
.admin-review-button b { display:block; margin-top:4px; color:var(--amber); font:.72rem/1.1 var(--mono); }
.admin-review-button:hover { border-color:rgba(255,178,107,.85); filter:brightness(1.08); }
.admin-review-button:active { transform:translateY(2px); box-shadow:0 4px 12px rgba(0,0,0,.42),inset 0 2px 5px rgba(0,0,0,.35); }

/* Overlays */
.start-overlay, .end-overlay { position:fixed; z-index:60; inset:0; display:grid; place-items:center; padding:20px; background:rgba(5,6,14,.8); backdrop-filter:blur(9px); }
.start-card, .end-card { width:min(650px,100%); max-height:94vh; overflow:auto; border:1px solid rgba(122,116,232,.48); border-radius:14px; background:linear-gradient(145deg,#15172d,#0c0e1c); padding:clamp(25px,4vw,42px); box-shadow:0 35px 100px rgba(0,0,0,.65); }
.eyebrow { color:var(--cyan); font-size:.62rem; font-weight:700; letter-spacing:.1em; }.start-card h2{margin:16px 0 18px;font-size:clamp(3.3rem,10vw,5.5rem);line-height:.78;letter-spacing:-.06em}.start-card h2 em{color:transparent;-webkit-text-stroke:1px var(--purple-soft);font-style:normal}.start-card>p{max-width:430px;margin:24px 0;color:#b5b8ca;font:600 .94rem/1.5 var(--sans)}
.briefing-grid, .report-stats { display:grid; grid-template-columns:repeat(3,1fr); margin-bottom:22px; border:1px solid var(--line); }.briefing-grid div,.report-stats div{padding:11px;border-right:1px solid var(--line)}.briefing-grid div:last-child,.report-stats div:last-child{border-right:0}.briefing-grid span,.report-stats span{display:block;margin-bottom:6px;color:#747a94;font-size:.54rem}.briefing-grid strong,.report-stats strong{font-size:.66rem}
.language-selector { margin:0 0 10px; padding:10px 12px; border:1px solid rgba(122,116,232,.2); border-radius:8px; background:rgba(7,9,20,.38); }
.language-selector-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:8px; }
.language-selector-head span { color:var(--purple-soft); font-size:.5rem; font-weight:700; letter-spacing:.09em; }
.language-selector-head strong { color:#aeb3c6; font-size:.62rem; font-weight:600; }
.language-dropdown { position:relative; display:block; }
.language-dropdown select { width:100%; min-height:38px; appearance:none; border:1px solid #343a59; border-radius:7px; color:#e2e5f0; background:linear-gradient(180deg,#1a1e34,#101322); padding:0 42px 0 12px; font:600 .65rem/1 var(--mono); letter-spacing:.015em; cursor:pointer; box-shadow:inset 0 1px rgba(255,255,255,.055),inset 0 -1px rgba(0,0,0,.4),0 3px 0 rgba(0,0,0,.3); transition:border-color .14s ease,box-shadow .14s ease; }
.language-dropdown select:hover { border-color:#586386; }
.language-dropdown select:focus-visible { outline:2px solid rgba(124,247,212,.36); outline-offset:2px; border-color:rgba(124,247,212,.68); }
.language-dropdown option { color:#e2e5f0; background:#121528; }
.language-dropdown > span { position:absolute; top:50%; right:13px; transform:translateY(-56%); color:var(--cyan); font:700 1rem/1 var(--mono); pointer-events:none; }
.pool-selector { margin:0 0 19px; padding:14px; border:1px solid rgba(102,217,232,.17); border-radius:8px; background:rgba(6,8,19,.46); box-shadow:inset 0 1px rgba(255,255,255,.025); }
.pool-selector-head { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:11px; }
.pool-selector-head span { display:block; margin-bottom:4px; color:var(--cyan); font-size:.52rem; font-weight:700; letter-spacing:.09em; }
.pool-selector-head strong { display:block; color:#e2e4ee; font-size:.78rem; }
.pool-selector-head small { max-width:56%; color:#747b95; font-size:.56rem; line-height:1.35; text-align:right; }
.region-picker { display:flex; flex-wrap:wrap; gap:6px; }
.region-choice { min-height:38px; display:flex; align-items:center; gap:8px; border:1px solid #2d344f; border-radius:6px; color:#9198af; background:linear-gradient(180deg,#191d31,#101426); padding:0 10px; cursor:pointer; box-shadow:inset 0 1px rgba(255,255,255,.04),0 2px 0 rgba(0,0,0,.35); transition:.14s ease; }
.region-choice strong { font:600 .62rem/1 var(--mono); }
.region-choice span { min-width:21px; color:#666e88; font:600 .53rem/1 var(--mono); text-align:right; }
.region-choice:hover { border-color:#50607b; color:#c7ccda; }
.region-choice.active { border-color:rgba(102,217,232,.7); color:#07131a; background:linear-gradient(180deg,#85e1ec,#58bfd0); box-shadow:inset 0 1px rgba(255,255,255,.4),0 2px 0 #1d5361; }
.region-choice.active span { color:#28545e; }
.start-card>button,.end-card>button{width:100%;min-height:51px;display:flex;align-items:center;justify-content:space-between;border:0;border-radius:7px;color:#10131d;background:var(--cyan);padding:0 17px;cursor:pointer;font-size:.73rem;font-weight:700}.start-card>small{display:block;margin-top:11px;color:#5f657e;text-align:center;font-size:.58rem}
.end-card{width:min(680px,100%);text-align:center;padding:clamp(24px,4vw,38px)}.end-card h2{margin:12px 0 8px;font-size:clamp(1.55rem,5vw,2.4rem)}.end-card>p{margin:11px auto 18px;color:#aeb2c5;font:600 .86rem/1.45 var(--sans)}.end-card>button{justify-content:center}.end-card.failed{border-color:rgba(255,89,103,.55)}.end-card.failed .eyebrow,.end-card.failed .final-score strong{color:var(--red)}
.final-score { margin:5px auto 8px; }.final-score span { display:block; color:#727891; font-size:.55rem; letter-spacing:.1em; }.final-score strong { display:block; margin-top:4px; color:var(--cyan); font-size:clamp(2.3rem,8vw,4.1rem); line-height:1; letter-spacing:-.05em; }
.final-community { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin-bottom:9px; }.final-community div { border:1px solid rgba(151,154,211,.2); border-radius:6px; padding:10px; background:rgba(6,8,19,.52); }.final-community span { display:block; color:#777d96; font-size:.55rem; letter-spacing:.07em; }.final-community strong { display:block; margin-top:6px; font-size:1.15rem; }.final-community div:nth-child(1) strong{color:#72d9ea}.final-community div:nth-child(2) strong{color:#b1a9ff}.final-community div:nth-child(3) strong{color:#74e1b8}
.final-roster { display:flex; flex-wrap:wrap; justify-content:center; gap:6px 13px; margin:0 0 14px; color:#7f849c; font-size:.61rem; }.final-roster b { color:#d0d3df; }
.end-card .report-stats { grid-template-columns:repeat(3,1fr); margin-bottom:18px; }.end-card .report-stats div { border-bottom:1px solid var(--line); }.end-card .report-stats div:nth-child(3n) { border-right:0; }.end-card .report-stats div:nth-last-child(-n+3) { border-bottom:0; }.end-card .report-stats strong { font-size:.78rem; }
.toast { position:fixed; z-index:75; left:50%; bottom:22px; transform:translate(-50%,80px); opacity:0; pointer-events:none; border:1px solid rgba(102,217,232,.45); border-radius:6px; color:var(--cyan); background:#111426; padding:11px 17px; font-size:.61rem; font-weight:700; letter-spacing:.07em; transition:.25s ease; }.toast.show{opacity:1;transform:translate(-50%,0)}

.deciding .visitor { animation:visitorOutLeft .55s ease forwards; }.deciding.depart-accept .visitor { animation-name:visitorOutRight; }.deciding .speech-card{opacity:0;transition:.25s}
@keyframes messageIn{from{opacity:0;transform:translateY(6px)}}
@keyframes mentionJump{0%,100%{background:transparent;box-shadow:none}22%,70%{background:rgba(124,247,212,.1);box-shadow:inset 3px 0 rgba(124,247,212,.8)}}
@keyframes visitorOutLeft{to{opacity:0;transform:translateX(-85%)}}
@keyframes visitorOutRight{to{opacity:0;transform:translateX(-15%)}}
@keyframes visitorWalkIn{
  0%{opacity:0;transform:translateX(-180%) scale(.97)}
  12%{opacity:1;transform:translateX(-164%) scale(.975)}
  30%{opacity:1;transform:translateX(-141%) scale(.982)}
  52%{opacity:1;transform:translateX(-112%) scale(.989)}
  74%{opacity:1;transform:translateX(-83%) scale(.995)}
  90%{opacity:1;transform:translateX(-62%) scale(.998)}
  100%{opacity:1;transform:translateX(-50%) scale(1)}
}
@keyframes visitorWalkBob{0%,100%{transform:translateY(0) rotate(-.28deg)}50%{transform:translateY(-7px) rotate(.34deg)}}
@keyframes visitorSettle{from{transform:translateY(-2px) scale(1.002)}to{transform:translateY(0) scale(1)}}
@keyframes visitorBreath{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-1px) scale(.998,1.008)}}
@keyframes dialogueIn{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
@keyframes statUp{0%{color:#fff;transform:translateY(0)}35%{color:#67efbd;transform:translateY(-2px)}100%{transform:none}}
@keyframes statDown{0%{color:#fff;transform:translateY(0)}35%{color:#ff6975;transform:translateY(2px)}100%{transform:none}}

@media (max-width: 1120px) {
  .game-board { grid-template-columns:220px minmax(500px,1fr) 250px; }
  .game-shell { overflow-x:auto; }
  .applicant-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .card-data-field:nth-child(3n){border-right:1px solid rgba(44,40,58,.13)}.card-data-field:nth-child(even){border-right:0}.card-data-field:nth-child(n+4){border-bottom:1px solid rgba(44,40,58,.13)}.card-data-field:nth-last-child(-n+2){border-bottom:0}
  .verify-button { gap:4px; }.verify-button > span{font-size:1rem}.verify-button b{font-size:.55rem}
}

@media (max-width: 1300px) and (min-width: 821px) {
  .discord-head { padding-left:8px; padding-right:8px; }
  .discord-logo { width:30px; height:30px; border-radius:8px; font-size:.78rem; }
  .server-title-row strong { font-size:.88rem; }
  .health-stat { padding-left:4px; padding-right:4px; }
  .community-roster span { padding-left:4px; padding-right:4px; }
}

@media (max-height: 650px) and (min-width: 821px) {
  .game-shell { padding:7px; }
  .game-board { gap:7px; }
  .inspection-stack { grid-template-rows:minmax(250px,1fr) auto; gap:6px; }
  .window-panel { grid-template-rows:46px minmax(0,1fr) 23px; }
  .tool-output { min-height:98px; padding:6px; }
  .applicant-sheet { min-height:92px; grid-template-columns:72px minmax(0,1fr); padding:6px 10px; }
  .applicant-photo { height:74px; }
  .card-data-field { min-height:35px; padding:4px 8px; }
  .verification-bar { height:52px; padding:0 6px 6px; }
  .clock-panel { min-height:90px; padding:11px; }
  .clock-panel > div > strong { font-size:1.22rem; }
  .meter-track { left:11px; right:11px; bottom:28px; }
  .sound-button { bottom:3px; }
  .rules-paper { min-height:210px; padding:14px; }
  .rules-paper header { margin-bottom:12px; }
  .rules-paper p { margin-bottom:9px; font-size:.68rem; }
  .rules-paper .memo-note { margin-top:11px; }
  .decision-dock { padding:8px; }
  .decision { min-height:86px; gap:5px; }
  .shortcut-copy { margin-top:5px; }
  .tool-tray { height:300px; }
}

@media (max-width: 820px) {
  body { overflow:auto; }
  .game-shell { width:100%; height:auto; min-height:100vh; padding:8px; overflow:visible; }
  .game-board { display:flex; flex-direction:column; }
  .chat-panel { height:430px; flex:0 0 auto; order:2; }
  .inspection-stack { min-height:680px; order:1; }
  .window-panel { height:470px; }
  .right-rail { order:3; display:grid; grid-template-columns:1fr 1.3fr; grid-template-rows:auto auto; }
  .clock-panel { grid-column:1; }.rules-paper{grid-column:2;grid-row:1 / span 2}.decision-dock{grid-column:1}
  .tool-tray { height:350px; }
  .reject-overlay { place-items:center; }
}

@media (max-width: 560px) {
  .game-shell{padding:0}.game-board{gap:0}.window-panel,.chat-panel,.applicant-zone,.clock-panel,.decision-dock{border-radius:0}
  .inspection-stack{min-height:650px}.window-panel{height:430px}.window-topline{padding:0 10px}.camera-state{font-size:.54rem}.visitor{width:min(78%,350px)}.speech-card{top:8%;right:3%;width:52%}.talk-hint{right:-2%;bottom:9%}
  .tool-output{padding:6px}.applicant-sheet{grid-template-columns:68px 1fr;padding:7px}.applicant-photo{height:76px}.card-data-field{padding:5px 7px}.card-data-field span{font-size:.47rem}.card-data-field strong{font-size:.59rem}
  .verification-bar{height:auto;grid-template-columns:repeat(5,1fr);gap:3px;padding:0 5px 6px}.verify-button{min-height:53px;flex-direction:column;gap:2px}.verify-button b{text-align:center}.verify-button small{display:none}
  .right-rail{display:flex;flex-direction:column;gap:0}.rules-paper{order:2;margin:8px;min-height:245px}.clock-panel{order:1}.decision-dock{order:3}
  .wheel-orbit{width:270px;height:224px}.wheel-orbit .question-choice{width:136px;font-size:.72rem}.wheel-orbit.dense .question-choice{width:122px;font-size:.67rem}.dialogue-line{max-width:58%}
  .briefing-grid{grid-template-columns:1fr}.briefing-grid div{border-right:0;border-bottom:1px solid var(--line)}.briefing-grid div:last-child{border-bottom:0}
  .end-card .report-stats{grid-template-columns:repeat(2,1fr)}.end-card .report-stats div:nth-child(3n){border-right:1px solid var(--line)}.end-card .report-stats div:nth-child(even){border-right:0}.end-card .report-stats div:nth-last-child(-n+3){border-bottom:1px solid var(--line)}.end-card .report-stats div:nth-last-child(-n+2){border-bottom:0}
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* Recessed moderator desk console */
.inspection-stack {
  grid-template-rows: minmax(250px, 1fr) 370px;
  gap: 0;
  perspective: 1400px;
}
.window-panel {
  position: relative;
  z-index: 1;
  margin-bottom: -5px;
  border-radius: 13px 13px 5px 5px;
}
.stage {
  isolation: isolate;
  background: #080b18 url("assets/bgNew.jfif") center / 100% 100% no-repeat;
}
.stage::after {
  display: none;
}
.booth-wall,
.lamp,
.counter-line,
.visitor-halo { display: none; }
.visitor {
  z-index: 3;
  bottom: calc(-47% - 1px);
  width: min(72%, 540px);
  height: 136%;
}
.visitor img {
  filter: var(--mascot-filter, none) drop-shadow(0 15px 23px rgba(0, 0, 0, .72));
}
.desk-foreground {
  position: absolute;
  z-index: 4;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: clamp(54px, 19%, 78px);
  object-fit: fill;
  pointer-events: none;
  filter: drop-shadow(0 -8px 18px rgba(0, 0, 0, .38));
}
.talk-hint { right: -23%; bottom: 13%; }
.speech-card { top: 8%; right: 4%; width: min(39%, 270px); }
.stage.talking .speech-card { opacity:0; pointer-events:none; transition:opacity .18s ease; }
.speech-card.leaving { animation:speechOut .42s ease forwards; }

.applicant-zone {
  position: relative;
  z-index: 4;
  min-height: 370px;
  overflow: visible;
  border: 5px solid #080a15;
  border-top-color: #20243c;
  border-radius: 16px;
  background:
    linear-gradient(180deg, #171a2d 0%, #0c0f1e 42%, #080a14 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .1),
    inset 0 0 0 1px rgba(105, 116, 170, .22),
    inset 0 12px 24px rgba(4, 5, 13, .55),
    0 7px 0 #05060d,
    0 18px 28px rgba(0, 0, 0, .55);
  transform: perspective(1200px) rotateX(2.8deg) translateY(-8px);
  transform-origin: 50% 0;
}
.applicant-zone::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 2px 5px auto;
  height: 1px;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(175, 187, 231, .25), transparent);
}
.tool-output {
  position: relative;
  z-index: 1;
  min-height: 260px;
  display: grid;
  align-items: center;
  padding: 15px 16px 10px;
}
.applicant-sheet {
  position: relative;
  min-height: 230px;
  display: grid;
  grid-template-columns: 50% 50%;
  gap: 0;
  align-items: center;
  justify-content: start;
  padding: 14px 12px;
  color: #282432;
  border: 1px solid rgba(255, 255, 255, .68);
  border-bottom-color: rgba(75, 64, 78, .35);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .38), transparent 12%),
    linear-gradient(180deg, #eee9e9 0%, #e5dddf 53%, #d8d0d5 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .85),
    inset 0 0 20px rgba(87, 63, 77, .07),
    0 3px 0 rgba(64, 53, 66, .5),
    0 9px 16px rgba(0, 0, 0, .3);
}
.applicant-photo {
  position: absolute;
  left: 0;
  top: 50%;
  width: 132px;
  height: 132px;
  min-height: 0;
  margin: 0 0 0 30px;
  align-self: center;
  justify-self: start;
  transform: translateY(-50%);
  border: 1px solid rgba(52, 45, 64, .3);
  border-radius: 6px;
  background: linear-gradient(145deg, #8985bd, #555584);
  box-shadow: inset 0 0 14px rgba(24, 22, 48, .25), 0 1px 0 rgba(255, 255, 255, .7);
}
.applicant-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: none;
}
.applicant-section {
  min-width: 0;
  display: grid;
  grid-template-rows: repeat(4, 34px);
  row-gap: 6px;
  align-content: center;
}
.applicant-main {
  margin-left: 95px;
  padding-left: 90px;
}
.applicant-contact {
  margin-left: 0;
  padding-left: 18px;
  border-left: 1px solid rgba(52, 45, 60, .22);
}
.card-data-field {
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-columns: 147px minmax(0, 1fr);
  align-items: center;
  column-gap: 60px;
  padding: 3px 0;
  border: 0;
}
.applicant-contact .card-data-field {
  grid-template-columns: 137px minmax(0, 1fr);
}
.card-data-field span {
  margin: 0;
  color: #777080;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: .012em;
  line-height: 1.15;
  white-space: nowrap;
}
.card-data-field strong {
  min-width: 0;
  overflow: hidden;
  color: #292532;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.15;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.card-bio { padding-top: 3px; padding-bottom: 3px; align-items: center; }
.card-bio strong { overflow:visible; font-family:var(--mono); font-size:1rem; font-weight:400; line-height:1.28; white-space:normal; text-overflow:clip; }
.role-value { display:inline-flex !important; align-items:center; gap:9px; font-weight:700 !important; }
.role-value b { font:700 1rem/1.1 var(--mono); }
.role-icon { width:27px; height:27px; flex:0 0 auto; object-fit:contain; }
.card-missing { color:#918999; font-style:normal; font-weight:400; }
.field-reveal { animation:fieldWrite .42s cubic-bezier(.2,.75,.25,1) both; }
.card-data-field strong.card-good { color: #246554; }
.card-data-field strong.card-bad { color: #9b3540; }
.phone-status {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
}
.phone-status b { margin-left:4px; font:400 1rem/1 var(--mono); }
.phone-pending { color:#918999; gap:0; }
.phone-pending b { margin-left:0; }
.phone-check {
  width: 21px;
  height: 21px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid currentColor;
  border-radius: 50%;
  background: rgba(255, 255, 255, .42);
  font: 800 .72rem/1 var(--mono);
  font-style: normal;
}

.verification-bar {
  position: relative;
  z-index: 2;
  height: 100px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  justify-content: center;
  gap: 10px;
  padding: 0 15px 15px;
}
.verify-button {
  position: relative;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  padding: 0 10px;
  border: 1px solid #343d63;
  border-top-color: #515c85;
  border-bottom-color: #171b31;
  border-radius: 8px;
  color: #6fd7e8;
  background: linear-gradient(180deg, #202641 0%, #161b32 46%, #0f1327 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .1),
    inset 0 -3px 0 rgba(3, 5, 14, .42),
    0 4px 0 #070916,
    0 8px 10px rgba(0, 0, 0, .38);
  transform: translateY(0);
  transition: transform .1s ease, border-color .14s ease, box-shadow .14s ease, filter .14s ease;
}
.verify-button:hover,
.verify-button.active {
  border-color: #506b88;
  border-top-color: rgba(117, 220, 235, .72);
  background: linear-gradient(180deg, #252d4c 0%, #192039 50%, #11162b 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .15),
    inset 0 -3px 0 rgba(3, 5, 14, .38),
    0 4px 0 #070916,
    0 8px 10px rgba(0, 0, 0, .38);
  transform: translateY(-1px);
}
.verify-button:active {
  transform: translateY(3px);
  box-shadow:
    inset 0 2px 6px rgba(0, 0, 0, .55),
    inset 0 1px 0 rgba(255, 255, 255, .05),
    0 1px 0 #070916,
    0 3px 5px rgba(0, 0, 0, .32);
}
.verify-button > span {
  flex: 0 0 auto;
  color: #70dbea;
  font-size: 2.35rem;
  line-height: 1;
  text-shadow: 0 1px 0 #020611;
}
.verify-button > img {
  width:2.35rem;
  height:2.35rem;
  flex:0 0 auto;
  object-fit:contain;
  filter:drop-shadow(0 1px 0 #020611);
}
.verify-button b {
  min-width: 0;
  color: #d2d8e7;
  font-size: .92rem;
  line-height: 1.12;
  text-align: left;
}
.verify-button small {
  margin-top: 4px;
  color: #77839f;
  font-size: .77rem;
  font-weight: 500;
}
.tool-tray {
  left: 9px;
  right: 9px;
  bottom: 10px;
  border-color: #3a5369;
  background: #101425;
  box-shadow: inset 0 1px rgba(255, 255, 255, .05), 0 20px 50px rgba(0, 0, 0, .72);
}
.tool-tray-head span { font-size:.8rem; }
.tool-tray-head strong { font-size:1rem; }
.terminal-search label { font-size:.85rem; }
.terminal-search span { font-size:1rem; }
.terminal-search input { height:42px; font-size:1rem; }
.terminal-search button { font-size:.85rem; }
.search-output { height:calc(100% - 92px); }
.search-output.full-height { height:100%; }
.empty-tool strong { font-size:.92rem; }
.empty-tool p { font-size:.95rem; }
.lookup-summary { font-size:.82rem; }
.lookup-result-top > span { width:31px; height:31px; font-size:.76rem; }
.lookup-result-top strong { font-size:1rem; }
.lookup-result p { margin-left:39px; font-size:.92rem; }
.profile-title strong { font-size:1rem; }
.profile-title small { font-size:.8rem; }
.profile-field span { font-size:.8rem; }
.profile-field strong { font-size:.95rem; }
.profile-note { font-size:.92rem; }
.x-profile-card h3 { font-size:1.05rem; }
.x-profile-card > p { font-size:.88rem; }
.x-stats span { font-size:.88rem; }
.x-profile-post > p { font-size:1rem; }
.post-stats { font-size:.82rem; }
.post-stats span { display:inline-flex; align-items:center; gap:5px; }
.post-stats svg { width:18px; height:18px; overflow:visible; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.phone-result { min-height:190px; display:flex; align-items:center; justify-content:center; gap:18px; border:1px solid #343a52; border-radius:7px; background:#14182b; padding:22px; }
.phone-result-icon { width:58px; height:58px; display:grid; place-items:center; flex:0 0 auto; border:2px solid currentColor; border-radius:50%; font-size:1.55rem; font-weight:700; }
.phone-result.good { color:#65dcb1; }.phone-result.bad { color:#ff7882; }
.phone-result small { display:block; margin-bottom:7px; color:#737b95; font-size:.72rem; font-weight:700; letter-spacing:.08em; }
.phone-result strong { display:block; color:currentColor; font-size:1.12rem; }
.phone-result p { margin:7px 0 0; color:#a5aabd; font:500 .9rem/1.4 var(--sans); }
.phone-result.connectable { width:100%; color:inherit; text-align:left; cursor:crosshair; }
.phone-result.connectable.good { color:#65dcb1; }.phone-result.connectable.bad { color:#ff7882; }
.phone-lookup-card { overflow:hidden; border:1px solid #343a52; border-radius:7px; color:#d9dce8; background:linear-gradient(180deg,#171b30,#111426); box-shadow:inset 0 1px rgba(255,255,255,.045),0 8px 22px rgba(0,0,0,.28); }
.phone-lookup-card > header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 15px; border-bottom:1px solid #2e344b; }
.phone-lookup-card > header span { color:#737b95; font-size:.72rem; font-weight:700; letter-spacing:.09em; }
.phone-lookup-number { border:1px solid transparent; border-radius:6px; padding:6px 8px; color:#eef0f7; background:transparent; font:600 1.28rem/1 var(--mono); letter-spacing:.08em; cursor:pointer; }
.phone-lookup-number:hover { border-color:rgba(105,224,255,.36); background:rgba(105,224,255,.06); }
.phone-lookup-grid { display:grid; grid-template-columns:.8fr 1.15fr 1fr; }
.phone-lookup-field { position:relative; min-width:0; min-height:84px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; border:0; border-right:1px solid #2e344b; color:inherit; background:transparent; padding:12px 13px; text-align:left; }
.phone-lookup-field:last-child { border-right:0; }
.phone-lookup-field > span { display:block; margin-bottom:8px; color:#757d96; font-size:.68rem; font-weight:700; letter-spacing:.065em; }
.phone-lookup-field > strong { display:block; color:#e4e7f0; font-size:1rem; font-weight:600; }
.phone-linked-field { padding-right:70px; }
.phone-linked-field > button { position:absolute; right:9px; bottom:10px; border:1px solid #3a5369; border-radius:4px; color:#8edce8; background:#12192a; padding:5px 7px; cursor:pointer; font:700 .55rem/1 var(--mono); }
.phone-linked-field > button:hover { border-color:#66d9e8; }
.phone-linked-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; padding:10px; border-top:1px solid #2e344b; background:#0d1120; }
.phone-linked-list button { min-width:0; display:flex; align-items:center; justify-content:space-between; gap:8px; border:1px solid #2b3249; border-radius:4px; color:#d4d8e5; background:#15192b; padding:8px 9px; cursor:pointer; text-align:left; }
.phone-linked-list button:hover { border-color:#4b7183; background:#192137; }
.phone-linked-list span { overflow:hidden; font-size:.75rem; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.phone-linked-list small { flex:0 0 auto; color:#69758d; font-size:.47rem; font-weight:700; letter-spacing:.04em; }

.device-check-card { height:100%; min-height:0; display:flex; flex-direction:column; overflow:hidden; border:1px solid #343a52; border-radius:7px; color:#d9dce8; background:linear-gradient(180deg,#171b30,#111426); box-shadow:inset 0 1px rgba(255,255,255,.045),0 8px 22px rgba(0,0,0,.28); }
.device-check-card > header { min-height:46px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:10px 15px; border-bottom:1px solid #2e344b; }
.device-check-card > header span { color:#8790ab; font-size:.75rem; font-weight:700; letter-spacing:.1em; }
.device-check-card > header strong { color:#5f6881; font-size:.68rem; letter-spacing:.08em; }
.device-check-summary { display:grid; grid-template-columns:1.4fr .8fr; border-bottom:1px solid #2e344b; }
.device-id-field,.device-count-field { min-height:72px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:7px; border:0; color:inherit; background:transparent; padding:11px 15px; text-align:left; }
.device-id-field { border-right:1px solid #2e344b; }
.device-id-field span,.device-count-field span { color:#737b95; font-size:.69rem; font-weight:700; letter-spacing:.08em; }
.device-id-field strong { color:#eef0f7; font-size:1.2rem; letter-spacing:.08em; }
.device-count-field strong { color:#70dbea; font-size:1.35rem; }
.device-account-list { min-height:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; overflow-y:auto; padding:10px 12px 13px; scrollbar-color:#39425e #111426; }
.device-list-label { grid-column:1/-1; color:#737b95; font-size:.68rem; font-weight:700; letter-spacing:.08em; }
.device-account { min-width:0; min-height:38px; display:flex; align-items:center; justify-content:space-between; gap:8px; border:1px solid #30384f; border-radius:5px; padding:7px 10px; color:#d7deea; background:#14192b; font:600 .78rem/1.2 var(--mono); text-align:left; cursor:pointer; }
.device-account:hover { border-color:#426a77; background:#1a2335; }
.device-account.current { color:#929ab2; }

@keyframes fieldWrite { from { opacity:0; transform:translateY(5px); filter:blur(2px); } to { opacity:1; transform:none; filter:none; } }
@keyframes newQuestionHint { 0%,100%{transform:translateY(0);filter:brightness(1)}50%{transform:translateY(-2px);filter:brightness(1.14)} }
@keyframes speechOut { to { opacity:0; transform:translateY(-6px) scale(.975); filter:blur(2px); } }
.dialogue-line.leaving { animation:dialogueOut .42s ease forwards; }
@keyframes dialogueOut { to { opacity:0; transform:translateY(-6px) scale(.98); filter:blur(2px); } }

@media (max-width: 1600px) and (min-width: 1121px) {
  .applicant-sheet { grid-template-columns:132px minmax(0,1fr) minmax(0,1fr); gap:12px; }
  .applicant-photo { position:relative; left:auto; top:auto; margin-left:0; transform:none; }
  .applicant-main { margin-left:0; padding-left:0; }
  .card-data-field { column-gap:10px; }
}

@media (max-width: 1120px) {
  .applicant-sheet { grid-template-columns: 108px minmax(0, .98fr) minmax(0, 1.02fr); gap:8px; padding:10px; }
  .applicant-photo { position:relative; left:auto; top:auto; width:104px; height:104px; margin-left:0; transform:none; }
  .applicant-main { margin-left:0; padding-left:0; }
  .applicant-contact { padding-left:12px; }
  .card-data-field { grid-template-columns:minmax(104px,.9fr) minmax(0,1.1fr); column-gap:7px; padding:3px 0; }
  .applicant-contact .card-data-field { grid-template-columns:minmax(104px,.9fr) minmax(0,1.1fr); }
  .card-data-field span { font-size:.86rem; }
  .card-data-field strong { font-size:.86rem; }
  .card-bio strong { font-size:.84rem; }
  .verify-button { gap: 8px; padding: 0 8px; }
  .verify-button > span { font-size: 1.72rem; }
  .verify-button > img { width:1.72rem; height:1.72rem; }
  .verify-button b { font-size: .74rem; }
  .verify-button small { font-size: .64rem; }
}

@media (max-height: 650px) and (min-width: 821px) {
  .inspection-stack { grid-template-rows: minmax(210px, 1fr) 320px; }
  .applicant-zone { min-height: 320px; }
  .tool-output { min-height: 228px; padding: 10px 12px 8px; }
  .applicant-sheet { min-height: 210px; padding: 10px; }
  .applicant-photo { width:86px; height:86px; min-height:0; }
  .verification-bar { height: 82px; padding: 0 10px 10px; }
  .visitor { width: min(72%, 520px); height: 132%; }
}

@media (max-width: 820px) {
  .inspection-stack { min-height: 900px; grid-template-rows: minmax(430px, 1fr) 370px; }
  .window-panel { height: auto; }
  .applicant-zone { transform: none; }
}

@media (max-width: 560px) {
  .inspection-stack { min-height: 840px; grid-template-rows: minmax(420px, 1fr) 390px; }
  .applicant-zone { min-height: 390px; border-width: 4px; }
  .tool-output { min-height: 280px; padding: 10px; }
  .applicant-sheet { min-height: 260px; grid-template-columns: 72px minmax(0, 1fr) minmax(0, .92fr); gap:6px; padding:8px; }
  .applicant-photo { width:68px; height:68px; min-height:0; margin:0; }
  .applicant-contact { margin-left:4px; padding-left:4px; }
  .card-data-field { grid-template-columns:1fr; align-content:center; gap:3px; padding:5px; }
  .applicant-contact .card-data-field { grid-template-columns:1fr; }
  .card-data-field span { font-size: .5rem; }
  .card-data-field strong { font-size: .62rem; }
  .card-bio strong { font-size: .58rem; }
  .verification-bar { height: 100px; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; padding: 0 6px 10px; }
  .verify-button { min-height: 86px; flex-direction: column; justify-content: center; gap: 5px; padding: 0 3px; }
  .verify-button b { text-align: center; }
  .verify-button small { display: none; }
  .verify-button > img { width:1.6rem; height:1.6rem; }
  .visitor { width: min(82%, 450px); height: 128%; }
  .start-card { padding:22px 15px; }
  .pool-selector-head { align-items:flex-start; flex-direction:column; gap:5px; }
  .pool-selector-head small { max-width:none; text-align:left; }
  .region-choice { min-height:35px; padding:0 8px; }
}

/* Guided training shift */
.start-actions { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.start-actions button { min-height:54px; display:flex; align-items:center; justify-content:space-between; border:1px solid transparent; border-radius:7px; padding:0 17px; cursor:pointer; font:700 .74rem/1 var(--mono); letter-spacing:.04em; box-shadow:inset 0 1px rgba(255,255,255,.17),0 7px 18px rgba(0,0,0,.24); transition:transform .16s ease,filter .16s ease,border-color .16s ease; }
.start-actions button:hover { transform:translateY(-2px); filter:brightness(1.08); }
.start-actions button:active { transform:translateY(1px); }
.start-actions #startButton { color:#0b1720; background:linear-gradient(180deg,#86e6ef,#5dc7d7); }
.start-actions .training-start { color:#d7d5ff; border-color:rgba(146,139,244,.45); background:linear-gradient(180deg,#26284a,#171a31); }
.start-actions button b { font-size:1rem; }

.training-layer { position:fixed; z-index:90; inset:0; pointer-events:none; }
.training-spotlight { position:fixed; z-index:1; border:1px solid rgba(119,232,247,.86); border-radius:10px; background:transparent; box-shadow:0 0 0 200vmax rgba(4,6,16,.76),0 0 0 3px rgba(102,217,232,.13),0 0 24px rgba(102,217,232,.34); transition:left .28s cubic-bezier(.2,.75,.25,1),top .28s cubic-bezier(.2,.75,.25,1),width .28s cubic-bezier(.2,.75,.25,1),height .28s cubic-bezier(.2,.75,.25,1); animation:trainingPulse 2.2s ease-in-out infinite; }
.training-layer.free-mode .training-spotlight { display:none; }
.training-admin { position:fixed; z-index:3; width:min(292px,calc(100vw - 28px)); overflow:hidden; border:1px solid rgba(118,216,234,.48); border-radius:9px; color:#e9eaf3; background:linear-gradient(160deg,rgba(25,29,53,.985),rgba(11,14,29,.985)); box-shadow:inset 0 1px rgba(255,255,255,.07),0 18px 48px rgba(0,0,0,.52); transition:left .25s ease,top .25s ease; animation:trainingBoxIn .28s ease both; }
.training-admin header { min-height:51px; display:flex; align-items:center; gap:10px; padding:8px 11px; border-bottom:1px solid rgba(143,146,202,.18); background:rgba(33,35,64,.7); }
.training-admin header img { width:34px; height:34px; flex:0 0 auto; border:1px solid rgba(255,178,107,.42); border-radius:50%; object-fit:cover; background:#191c31; }
.training-admin header span { display:flex; flex-direction:column; gap:4px; }
.training-admin header b { color:var(--amber); font-size:.7rem; letter-spacing:.08em; }
.training-admin header small { color:#727b99; font-size:.5rem; letter-spacing:.08em; }
.training-admin > div { display:grid; gap:5px; padding:12px 13px 14px; }
.training-admin p { margin:0; color:#e3e5ef; font:600 .86rem/1.38 var(--sans); }
.training-admin p + p { color:#9dddea; }
.training-next { width:calc(100% - 26px); min-height:39px; display:flex; align-items:center; justify-content:space-between; margin:0 13px 13px; pointer-events:auto; border:1px solid rgba(102,217,232,.22); border-radius:6px; color:#68738f; background:linear-gradient(180deg,#1b2037,#121629); padding:0 12px; cursor:wait; font:800 .62rem/1 var(--mono); letter-spacing:.08em; box-shadow:inset 0 1px rgba(255,255,255,.05),0 4px 0 #090c18,0 8px 16px rgba(0,0,0,.24); transition:color .18s ease,border-color .18s ease,filter .18s ease,transform .1s ease,box-shadow .1s ease; }
.training-next[hidden] { display:none; }
.training-next b { font-size:1rem; }
.training-next.ready { color:#baf7ff; border-color:rgba(102,217,232,.58); background:linear-gradient(180deg,#24344a,#172437); cursor:pointer; animation:trainingNextReady .45s ease both; }
.training-next.ready:hover { border-color:rgba(160,245,255,.9); filter:brightness(1.1); }
.training-next.ready:active { transform:translateY(2px); box-shadow:inset 0 2px 7px rgba(0,0,0,.35),0 2px 0 #090c18,0 5px 10px rgba(0,0,0,.2); }
.training-skip { position:fixed; z-index:4; top:18px; right:18px; min-height:36px; pointer-events:auto; border:1px solid rgba(255,255,255,.14); border-radius:6px; color:#9298b0; background:rgba(10,12,25,.92); padding:0 12px; cursor:pointer; font:700 .56rem/1 var(--mono); letter-spacing:.07em; box-shadow:0 8px 22px rgba(0,0,0,.35); }
.training-skip:hover { color:#fff; border-color:rgba(102,217,232,.5); }
.training-focus-ring { outline:2px solid rgba(121,232,246,.8) !important; outline-offset:3px !important; filter:brightness(1.12); }
.training-input-blocked { cursor:not-allowed !important; }

.training-confirm,.training-complete { position:fixed; z-index:110; inset:0; display:grid; place-items:center; padding:20px; background:rgba(4,5,13,.86); backdrop-filter:blur(8px); }
.training-confirm > div { width:min(390px,100%); border:1px solid rgba(255,178,107,.4); border-radius:11px; background:linear-gradient(150deg,#181b32,#0d1020); padding:25px; box-shadow:0 28px 80px rgba(0,0,0,.62); }
.training-confirm span { color:var(--amber); font-size:.56rem; font-weight:700; letter-spacing:.1em; }
.training-confirm h2 { margin:9px 0 7px; font:700 1.4rem/1.1 var(--sans); }
.training-confirm p { margin:0 0 20px; color:#858ba3; font:500 .82rem/1.4 var(--sans); }
.training-confirm > div > div { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.training-confirm button { min-height:43px; border:1px solid #333a58; border-radius:6px; color:#c7cad8; background:#171a2f; cursor:pointer; font-size:.68rem; font-weight:700; }
.training-confirm #trainingSkipAccept { color:#ffd1d5; border-color:rgba(255,89,103,.45); background:#32141d; }

.training-complete-card { width:min(720px,100%); border:1px solid rgba(102,217,232,.45); border-radius:14px; background:linear-gradient(145deg,#171a31,#0b0e1c); padding:clamp(27px,4vw,42px); box-shadow:0 35px 100px rgba(0,0,0,.68); }
.training-complete-card h2 { margin:13px 0 7px; font:800 clamp(2rem,6vw,3.7rem)/1 var(--sans); letter-spacing:-.045em; }
.training-complete-card > p { margin:0 0 17px; color:#959bb2; font:600 .9rem/1.4 var(--sans); }
.training-checklist { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin-bottom:21px; }
.training-checklist span { border:1px solid rgba(124,247,212,.13); border-radius:5px; color:#cdd3df; background:rgba(8,12,24,.62); padding:10px 11px; font-size:.69rem; }
.training-checklist span::first-letter { color:#78edc5; }
.training-complete-card > strong { display:block; margin-bottom:20px; color:#e6e8f1; font:700 1rem/1.35 var(--sans); }
.training-complete-card > button { width:100%; min-height:52px; display:flex; align-items:center; justify-content:space-between; border:0; border-radius:7px; color:#0c1820; background:linear-gradient(180deg,#83e4ee,#58c3d3); padding:0 17px; cursor:pointer; font-size:.72rem; font-weight:800; letter-spacing:.04em; }

.training-active .shift-count span::after { content:" · TRAINING"; color:var(--cyan); }
.training-active .shortcut-copy { opacity:.28; }

@keyframes trainingPulse { 0%,100%{border-color:rgba(119,232,247,.72);box-shadow:0 0 0 200vmax rgba(4,6,16,.76),0 0 0 3px rgba(102,217,232,.1),0 0 18px rgba(102,217,232,.24)} 50%{border-color:#b8f7ff;box-shadow:0 0 0 200vmax rgba(4,6,16,.76),0 0 0 5px rgba(102,217,232,.12),0 0 30px rgba(102,217,232,.4)} }
@keyframes trainingBoxIn { from{opacity:0;transform:translateY(7px) scale(.985)} to{opacity:1;transform:none} }
@keyframes trainingNextReady { from{opacity:.62;transform:translateY(2px)} to{opacity:1;transform:none} }

@media (max-width:820px) {
  .training-admin { width:min(260px,calc(100vw - 24px)); }
  .training-admin > div { padding:10px 11px 12px; }
  .training-admin p { font-size:.76rem; }
  .training-skip { top:10px; right:10px; }
}

@media (max-width:560px) {
  .start-actions { grid-template-columns:1fr; }
  .training-checklist { grid-template-columns:1fr; }
  .training-complete-card { max-height:92vh; overflow:auto; padding:24px 18px; }
}

/* Compact desktop layout. */
@media (max-width:1300.98px) {
  .game-shell { padding:8px; }
  .game-board {
    grid-template-columns:clamp(244px,22vw,264px) minmax(0,1fr) clamp(164px,15vw,195px);
    gap:8px;
  }

  .discord-head { min-height:178px; padding:11px 10px; }
  .discord-head .community-roster { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .community-roster .members-stat { grid-column:1 / 3; }
  .health-stat { gap:3px; padding:6px 3px; }
  .health-stat i { font-size:.5rem; }
  .health-stat b { font-size:.7rem; }
  .community-roster span { padding:5px; }
  .community-roster i { font-size:.52rem; }
  .community-roster b { font-size:.63rem; }
  .channel-header { padding-left:11px; padding-right:72px; }
  .chat-sound-button { right:6px; padding:6px 5px; }
  .channel-feed { padding-left:9px; padding-right:9px; }
  .discord-message { grid-template-columns:34px minmax(0,1fr); gap:8px; padding:9px 0; }
  .discord-avatar { width:34px; height:34px; }
  .discord-message-meta { min-width:0; flex-wrap:wrap; gap:3px 6px; }
  .discord-message-meta strong { min-width:0; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .discord-message-meta time { flex:0 0 auto; }
  .discord-copy p { overflow-wrap:anywhere; word-break:normal; }
  .discord-message.admin .discord-copy { padding-left:5px; }

  .visitor { width:min(94%,518px); }

  .inspection-stack { grid-template-rows:minmax(250px,1fr) 350px; }
  .applicant-zone { min-height:350px; }
  .tool-output { min-height:252px; padding:12px 10px 8px; }
  .applicant-sheet { min-height:224px; padding:11px 10px; }
  .verification-bar { height:90px; gap:6px; padding:0 9px 11px; }
  .verify-button { justify-content:center; gap:6px; padding:0 5px; }
  .verify-button > img { width:1.75rem; height:1.75rem; }
  .verify-button b { font-size:.7rem; line-height:1.05; }
  .verify-button small { display:none; }

  .right-rail { gap:7px; }
  .clock-panel { min-height:108px; padding:11px 9px; }
  .clock-panel > div > strong { font-size:1.12rem; }
  .clock-panel > div > span { margin-top:6px; font-size:.54rem; }
  .shift-count b { margin-top:5px; font-size:.62rem; }
  .meter-track { left:9px; right:9px; bottom:35px; }
  .sound-button { left:5px; bottom:6px; padding-left:3px; padding-right:3px; }
  .sound-button #soundLabel { display:none; }
  .master-volume { right:6px; grid-template-columns:auto 46px 25px; gap:3px; }
  .master-volume input { width:46px; }
  .rules-paper { min-height:248px; margin:0 2px; padding:16px 10px 12px; }
  .rules-paper header { margin-bottom:13px; }
  .rules-paper header strong { font-size:.72rem; }
  .rules-paper header span { font-size:.48rem; }
  .rules-paper p { grid-template-columns:18px minmax(0,1fr); gap:6px; margin-bottom:10px; font-size:.63rem; line-height:1.34; }
  .rules-paper p i { width:18px; height:18px; font-size:.58rem; }
  .rules-paper .memo-note { margin-top:12px; font-size:.57rem; }
  .decision-dock { padding:7px; }
  .decision-label { margin-bottom:6px; }
  .decision-label i { display:none; }
  .decision-actions { gap:5px; }
  .decision { min-height:82px; gap:4px; border-radius:6px; }
  .decision-icon { font-size:1.35rem; }
  .decision b { font-size:.7rem; }
  .decision small,.shortcut-copy { display:none; }
}

@media (min-width:1120.01px) and (max-width:1999.98px) {
  .applicant-sheet { grid-template-columns:132px minmax(0,1fr) minmax(0,1fr); gap:12px; }
  .applicant-photo { position:relative; left:auto; top:auto; margin-left:0; transform:none; }
  .applicant-main { margin-left:0; padding-left:0; }
  .applicant-contact { padding-left:12px; }
}

@media (min-width:1260.01px) and (max-width:1999.98px) {
  .card-data-field { grid-template-columns:128px minmax(0,1fr); column-gap:10px; }
  .applicant-contact .card-data-field { grid-template-columns:104px minmax(0,1fr); }
  .card-data-field span { font-size:.84rem; }
  .card-data-field strong { font-size:.88rem; }
  .card-bio strong { font-size:.84rem; }
  .role-value b { font-size:.88rem; }
  .role-icon { width:23px; height:23px; }
}

@media (min-width:1120.01px) and (max-width:1260px) {
  .applicant-section { grid-template-rows:repeat(4,38px); row-gap:3px; }
  .card-data-field,
  .applicant-contact .card-data-field {
    grid-template-columns:1fr;
    grid-template-rows:auto auto;
    align-content:center;
    row-gap:2px;
    padding:2px 4px;
  }
  .card-data-field span { font-size:.7rem; line-height:1.05; }
  .card-data-field strong { font-size:.78rem; line-height:1.08; }
  .card-bio strong { font-size:.73rem; line-height:1.12; }
  .role-value { gap:6px; }
  .role-value b { font-size:.78rem; }
  .role-icon { width:20px; height:20px; }
}

@media (max-width:1120px) {
  .applicant-sheet { grid-template-columns:92px minmax(0,1fr) minmax(0,1fr); gap:7px; }
  .applicant-photo { width:88px; height:88px; }
  .applicant-contact { padding-left:9px; }
  .applicant-section { grid-template-rows:repeat(4,38px); row-gap:3px; }
  .card-data-field,
  .applicant-contact .card-data-field {
    grid-template-columns:1fr;
    grid-template-rows:auto auto;
    align-content:center;
    row-gap:2px;
    padding:2px 4px;
  }
  .card-data-field span { font-size:.66rem; line-height:1.05; }
  .card-data-field strong { font-size:.73rem; line-height:1.08; }
  .card-bio strong { font-size:.68rem; line-height:1.12; }
  .role-value { gap:5px; }
  .role-value b { font-size:.73rem; }
  .role-icon { width:19px; height:19px; }
}

@media (max-width:1099px) and (orientation:portrait) {
  body { display:grid; min-height:100svh; overflow:hidden; place-items:center; }
  .game-shell,
  .start-overlay,
  .end-overlay,
  .reject-overlay,
  .training-layer,
  .training-confirm,
  .training-complete,
  .toast,
  .noise,
  .mobile-toolbar,
  .mobile-scrim { display:none !important; }
  .rotate-gate {
    position:fixed;
    z-index:200;
    inset:0;
    display:grid;
    place-items:center;
    padding:24px;
    background:radial-gradient(circle at 50% 20%,rgba(90,76,185,.2),transparent 42%),#070814;
  }
  .rotate-gate > div {
    width:min(460px,100%);
    border:1px solid rgba(122,116,232,.4);
    border-radius:14px;
    background:linear-gradient(145deg,#17192f,#0d0f20);
    padding:32px;
    text-align:center;
    box-shadow:0 28px 80px rgba(0,0,0,.58);
  }
  .rotate-gate span { display:block; color:var(--cyan); font-size:.58rem; font-weight:700; letter-spacing:.1em; }
  .rotate-gate strong { width:58px; height:58px; display:grid; place-items:center; margin:22px auto 18px; border-radius:15px; color:#fff; background:linear-gradient(145deg,#706be1,#4e4ab4); font-size:1.55rem; }
  .rotate-gate h1 { margin:0; font:800 1.7rem/1.12 var(--sans); letter-spacing:-.035em; }
  .rotate-gate p { margin:12px 0 8px; color:#b8bccd; font:600 .9rem/1.5 var(--sans); }
  .rotate-gate small { color:#6f758d; font:500 .7rem/1.4 var(--mono); }
}

/* Phone-sized terminals use the full landscape viewport. Secondary panels become tactile drawers. */
@media (max-width:999px) and (orientation:landscape) {
  html,
  body { width:100%; height:100%; min-width:0; min-height:0; overflow:hidden; }
  body { display:block; }
  .rotate-gate { display:none !important; }
  .game-shell { width:100vw; height:100svh; padding:4px; }
  .game-board { width:100%; height:100%; display:block; }
  .inspection-stack {
    width:100%;
    height:100%;
    min-height:0;
    display:grid;
    grid-template-rows:minmax(0,1fr) 148px;
    gap:4px;
    perspective:none;
  }
  .window-panel {
    z-index:1;
    height:auto;
    min-height:0;
    margin:0;
    grid-template-rows:32px minmax(0,1fr) 15px;
    border-radius:8px 8px 4px 4px;
  }
  .window-topline { min-height:32px; padding:0 8px; }
  .brand-lockup { gap:6px; }
  .brand-lockup > span { width:21px; height:21px; border-radius:4px; font-size:.58rem; }
  .brand-lockup strong { font-size:.58rem; }
  .brand-lockup small { display:none; }
  .camera-state { gap:5px; font-size:.47rem; }
  .window-rail { min-height:15px; padding:0 7px; font-size:.38rem; }
  .window-rail i { width:3px; height:3px; }
  .stage { min-height:0; }
  .visitor { bottom:clamp(-145px,-15vh,-70px); width:min(48vw,310px); height:clamp(220px,64vh,430px); }
  .desk-foreground { height:clamp(42px,20%,62px); }
  .talk-hint { right:-18%; bottom:13%; padding:5px 7px; font-size:.42rem; }
  .speech-card { top:8%; right:4%; width:min(42%,250px); padding:8px 10px 11px; border-radius:7px; }
  .speech-card .speaker { font-size:.48rem; }
  .speech-card p { margin-top:5px; font-size:clamp(.68rem,1.8vw,.82rem); line-height:1.28; }
  .conversation { top:10%; right:3%; width:min(48%,300px); gap:5px; }
  .dialogue-line { max-width:92%; padding:7px 9px; }
  .dialogue-line span { margin-bottom:4px; font-size:.46rem; }
  .dialogue-line p { font-size:clamp(.66rem,1.7vw,.8rem); line-height:1.28; }
  .trivia-challenge { top:46%; width:min(66%,390px); padding:9px 10px 8px; border-radius:7px; }
  .trivia-challenge header { font-size:.46rem; }
  .trivia-challenge header b { width:19px; height:19px; font-size:.64rem; }
  .trivia-challenge > p { margin:6px 0 8px; font-size:clamp(.7rem,1.75vw,.84rem); }
  .trivia-challenge input { height:34px; padding:0 9px; font-size:.68rem; }
  .trivia-challenge button { min-width:72px; padding:0 10px; font-size:.52rem; }
  .trivia-challenge small { margin-top:5px; font-size:.45rem; }

  .applicant-zone {
    height:148px;
    min-height:0;
    border-width:3px;
    border-radius:9px;
    transform:none;
  }
  .tool-output { height:103px; min-height:0; padding:4px 5px; }
  .applicant-sheet {
    height:100%;
    min-height:0;
    grid-template-columns:68px minmax(0,1fr) minmax(0,1fr);
    gap:6px;
    padding:5px 7px;
    border-radius:6px;
  }
  .applicant-photo {
    position:relative;
    left:auto;
    top:auto;
    width:64px;
    height:64px;
    margin:0;
    transform:none;
  }
  .applicant-main { margin:0; padding:0; }
  .applicant-contact { margin:0; padding-left:6px; }
  .applicant-section { grid-template-rows:repeat(4,minmax(0,1fr)); row-gap:1px; }
  .card-data-field,
  .applicant-contact .card-data-field {
    grid-template-columns:minmax(62px,42%) minmax(0,1fr);
    grid-template-rows:1fr;
    align-content:center;
    column-gap:6px;
    padding:1px 2px;
  }
  .card-data-field span { font-size:clamp(.45rem,1.35vw,.59rem); line-height:1; }
  .card-data-field strong { font-size:clamp(.52rem,1.5vw,.66rem); line-height:1.05; }
  .card-username-copy { cursor:copy; text-decoration:underline dotted rgba(72,112,135,.52); text-underline-offset:2px; }
  .card-username-copy:active { color:#17677a; }
  .card-bio { padding-top:1px; padding-bottom:1px; }
  .card-bio strong { max-height:2.1em; overflow:hidden; font-size:clamp(.48rem,1.35vw,.59rem); line-height:1.05; }
  .role-value { gap:4px; }
  .role-value b { font-size:clamp(.52rem,1.5vw,.66rem); }
  .role-icon { width:13px; height:13px; }
  .phone-status { gap:5px; }
  .phone-status b { margin-left:1px; font-size:inherit; }
  .phone-check { width:13px; height:13px; font-size:.47rem; }

  .verification-bar { height:42px; gap:5px; padding:0 5px 5px; }
  .verify-button { min-height:36px; justify-content:center; gap:0; padding:0; border-radius:6px; }
  .verify-button > img { width:1.35rem; height:1.35rem; }
  .verify-button b,
  .verify-button small { display:none; }

  .right-rail { display:contents; }
  .clock-panel {
    position:fixed;
    z-index:65;
    top:5px;
    left:50%;
    width:154px;
    min-height:27px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:5px 8px;
    transform:translateX(-50%);
    border-radius:6px;
    background:rgba(12,14,30,.92);
    box-shadow:0 5px 15px rgba(0,0,0,.38);
  }
  .clock-panel > div > strong { font-size:.72rem; }
  .clock-panel > div > span { display:none; }
  .shift-count { display:block; }
  .shift-count span { font-size:.38rem; }
  .shift-count b { margin-top:2px; font-size:.46rem; }
  .meter-track,
  .sound-button,
  .master-volume { display:none; }

  .mobile-toolbar {
    position:fixed;
    z-index:220;
    top:max(5px,env(safe-area-inset-top));
    right:max(5px,env(safe-area-inset-right));
    display:flex;
    gap:5px;
  }
  body:has(.start-overlay:not([hidden])) .mobile-toolbar,
  body:has(.start-overlay:not([hidden])) .clock-panel,
  body:has(.end-overlay:not([hidden])) .mobile-toolbar,
  body:has(.end-overlay:not([hidden])) .clock-panel,
  body:has(.reject-overlay:not([hidden])) .mobile-toolbar,
  body:has(.training-confirm:not([hidden])) .mobile-toolbar,
  body:has(.training-complete:not([hidden])) .mobile-toolbar,
  body:has(.training-complete:not([hidden])) .clock-panel { display:none; }
  .mobile-toolbar button {
    position:relative;
    min-width:44px;
    height:32px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:4px;
    border:1px solid #3c4468;
    border-bottom-color:#15182b;
    border-radius:6px;
    color:#cfd4e4;
    background:linear-gradient(180deg,#252a49,#15192e);
    padding:0 7px;
    box-shadow:inset 0 1px rgba(255,255,255,.08),0 3px 0 #080a14,0 7px 13px rgba(0,0,0,.32);
    cursor:pointer;
  }
  .mobile-toolbar button span { color:var(--cyan); font-size:.8rem; font-weight:800; }
  .mobile-toolbar button b { font-size:.47rem; letter-spacing:.04em; }
  .mobile-toolbar button[aria-expanded="true"] { color:#07151b; border-color:#7de1ee; background:linear-gradient(180deg,#8ae8f1,#58c3d3); }
  .mobile-toolbar button[aria-expanded="true"] span { color:#102930; }
  .mobile-chat-mention-badge {
    position:absolute;
    top:-7px;
    right:-7px;
    min-width:20px;
    height:20px;
    display:grid;
    place-items:center;
    border:1px solid rgba(190,255,236,.88);
    border-radius:10px;
    color:#effff9;
    background:#168064;
    padding:0 5px;
    box-shadow:0 3px 10px rgba(0,0,0,.48),0 0 0 2px #080b18;
    font:800 .48rem/1 var(--mono);
    font-style:normal;
    animation:mobileMentionPulse 1.8s ease-in-out infinite;
  }
  .mobile-chat-mention-badge[hidden] { display:none; }
  .mobile-scrim {
    position:fixed;
    z-index:170;
    inset:0;
    display:block;
    border:0;
    background:rgba(3,5,14,.62);
    backdrop-filter:blur(1.5px);
  }
  .mobile-evidence-chip {
    position:fixed;
    z-index:195;
    top:43px;
    left:max(7px,env(safe-area-inset-left));
    width:min(210px,38vw);
    min-height:51px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    border:1px solid rgba(102,217,232,.65);
    border-radius:7px;
    color:#dfe8f1;
    background:linear-gradient(155deg,rgba(30,42,62,.98),rgba(12,17,32,.98));
    padding:7px 10px;
    text-align:left;
    box-shadow:inset 0 1px rgba(255,255,255,.07),0 8px 24px rgba(0,0,0,.46);
    cursor:pointer;
    animation:fieldWrite .28s ease both;
  }
  .mobile-evidence-chip span { color:var(--cyan); font-size:.42rem; font-weight:700; letter-spacing:.09em; }
  .mobile-evidence-chip b { display:block; max-width:100%; overflow:hidden; margin-top:3px; font-size:.62rem; text-overflow:ellipsis; white-space:nowrap; }
  .mobile-evidence-chip small { margin-top:4px; color:#8a96ad; font-size:.42rem; font-weight:700; letter-spacing:.03em; }
  body.mobile-evidence-mode .mascot-connect-target {
    position:absolute;
    z-index:9;
    left:50%;
    bottom:clamp(-145px,-15vh,-70px);
    width:min(48vw,310px);
    height:clamp(220px,64vh,430px);
    display:block;
    transform:translateX(-50%);
    pointer-events:none;
  }
  body.mobile-evidence-mode .mascot-connect-target::before {
    content:"";
    position:absolute;
    inset:5% 13% 16%;
    border:1px dashed rgba(102,217,232,.72);
    border-radius:45%;
    box-shadow:0 0 18px rgba(102,217,232,.16);
    animation:mobileEvidencePulse 2.2s ease-in-out infinite;
  }
  body.mobile-evidence-mode .talk-hint { font-size:0; color:#c7f9ff; border-color:rgba(102,217,232,.55); }
  body.mobile-evidence-mode .talk-hint::after { content:"TAP TO CONNECT"; font-size:.44rem; }

  .chat-panel {
    position:fixed;
    z-index:180;
    top:4px;
    bottom:4px;
    left:max(4px,env(safe-area-inset-left));
    width:min(330px,82vw);
    height:auto;
    border-radius:9px;
    transform:translateX(calc(-100% - 14px));
    transition:transform .24s cubic-bezier(.2,.78,.22,1);
    box-shadow:16px 0 42px rgba(0,0,0,.55);
  }
  body.mobile-chat-open .chat-panel { transform:translateX(0); }
  .chat-panel .discord-head { min-height:96px; gap:6px; padding:8px 10px; }
  .chat-panel .discord-logo { width:29px; height:29px; border-radius:7px; font-size:.72rem; }
  .chat-panel .server-title-row strong { font-size:.76rem; }
  .chat-panel .health-stat { padding:4px; }
  .chat-panel .health-stat i { font-size:.46rem; }
  .chat-panel .health-stat b { font-size:.58rem; }
  .chat-panel .community-roster { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .chat-panel .community-roster .members-stat { grid-column:2 / 4; }
  .chat-panel .community-roster span { padding:3px 4px; }
  .chat-panel .community-roster i { font-size:.43rem; }
  .chat-panel .community-roster b { font-size:.52rem; }
  .chat-panel .channel-switch { gap:4px; padding:5px 7px; }
  .chat-panel .channel-button { min-height:30px; padding:0 7px; font-size:.65rem; }
  .chat-panel { grid-template-rows:auto auto 30px minmax(0,1fr) auto; }
  .chat-panel .channel-header { min-height:30px; padding:0; }
  .chat-panel .channel-header strong,
  .chat-panel .channel-header small { display:none; }
  .chat-panel .chat-sound-button { right:6px; padding:5px 6px; }
  .chat-panel .chat-attention-bar { right:7px; bottom:47px; left:7px; gap:5px; }
  .chat-panel .moderator-ping-badge { height:24px; min-width:29px; padding:0 7px; font-size:.52rem; }
  .chat-panel .chat-new-messages { min-height:24px; padding:4px 9px; font-size:.52rem; }
  .chat-panel .discord-message { grid-template-columns:29px minmax(0,1fr); gap:7px; padding:6px 0; }
  .chat-panel .discord-avatar { width:29px; height:29px; }
  .chat-panel .discord-message-meta strong { font-size:.67rem; }
  .chat-panel .discord-message-meta time { font-size:.45rem; }
  .chat-panel .discord-copy p { font-size:.68rem; line-height:1.34; }
  .chat-panel .discord-compose { min-height:38px; }

  .rules-paper {
    position:fixed;
    z-index:180;
    top:43px;
    right:max(4px,env(safe-area-inset-right));
    bottom:4px;
    width:min(310px,84vw);
    min-height:0;
    margin:0;
    overflow:auto;
    padding:16px 13px 12px;
    transform:translateX(calc(100% + 14px));
    transition:transform .24s cubic-bezier(.2,.78,.22,1);
    box-shadow:-16px 0 42px rgba(0,0,0,.52);
  }
  body.mobile-rules-open .rules-paper { transform:translateX(0); }
  .rules-paper header strong { font-size:.75rem; }
  .rules-paper p { margin-bottom:10px; font-size:.65rem; }

  .decision-dock {
    position:fixed;
    z-index:180;
    right:max(4px,env(safe-area-inset-right));
    bottom:max(4px,env(safe-area-inset-bottom));
    width:min(330px,88vw);
    padding:8px;
    border-radius:9px;
    transform:translateY(calc(100% + 14px));
    transition:transform .24s cubic-bezier(.2,.78,.22,1);
    box-shadow:0 -16px 42px rgba(0,0,0,.54);
  }
  body.mobile-decision-open .decision-dock { transform:translateY(0); }
  .decision-label { margin-bottom:7px; }
  .decision-label i { display:block; font-size:.43rem; }
  .decision { min-height:72px; }
  .decision-icon { font-size:1.5rem; }
  .decision b { font-size:.76rem; }
  .decision small { display:block; font-size:.44rem; }

  .tool-tray {
    position:fixed;
    z-index:160;
    inset:40px 4px 4px;
    width:auto;
    height:auto;
    max-height:none;
  }
  .training-layer { z-index:210; }
  .training-confirm,
  .training-complete { z-index:230; }
  .tool-tray-head { height:39px; padding:0 10px; }
  .tool-tray-head span { font-size:.5rem; }
  .tool-tray-head strong { margin-top:2px; font-size:.66rem; }
  .tool-tray-head button { width:28px; height:28px; }
  .terminal-search { padding:7px 9px; }
  .terminal-search label { margin-bottom:5px; font-size:.55rem; }
  .terminal-search input { height:32px; font-size:.72rem; }
  .terminal-search button { font-size:.57rem; }
  .search-output { height:calc(100% - 69px); padding:7px 9px 9px; }
  .lookup-result p,
  .profile-note,
  .x-profile-post > p { font-size:.7rem; }

  .window-panel:has(.question-wheel:not([hidden])) { z-index:12; }
  .question-wheel { position:fixed; z-index:155; inset:34px 3px 3px; }
  .wheel-orbit,
  .wheel-pointer,
  .wheel-close { top:30%; }
  .wheel-orbit { width:min(48vw,230px); height:min(31vh,104px); }
  .wheel-orbit .question-choice { width:clamp(92px,20vw,116px); min-height:38px; padding:5px 7px; font-size:clamp(.5rem,1.35vw,.6rem); line-height:1.2; }
  .wheel-orbit.dense .question-choice { width:clamp(88px,18vw,104px); font-size:clamp(.47rem,1.2vw,.55rem); }
  .wheel-close { width:54px; height:54px; gap:3px; }
  .wheel-close span { font-size:.58rem; }
  .wheel-close small { font-size:.38rem; }
  .wheel-pointer { width:66px; }
  .wheel-pointer::before { left:32px; }
  .connection-wire { z-index:215; }
  .connection-label { z-index:216; }

  .card-username-copy,
  .card-x-copy { position:relative; cursor:copy; }
  .card-username-copy::after,
  .card-x-copy::after {
    content:"COPY";
    display:inline-block;
    margin-left:4px;
    color:#756f99;
    font:700 .32rem/1 var(--mono);
    letter-spacing:.05em;
    vertical-align:middle;
  }

  .reject-overlay,
  .training-confirm,
  .training-complete { padding:7px; }
  .reject-panel,
  .training-confirm > div,
  .training-complete-card { max-height:calc(100svh - 14px); overflow:auto; }

  .start-overlay { padding:4px; }
  .start-card {
    width:min(760px,100%);
    max-height:calc(100svh - 8px);
    padding:9px 12px;
  }
  .start-card .eyebrow { font-size:.45rem; }
  .start-card h2 { margin:5px 0 7px; font-size:clamp(2rem,8vh,3rem); line-height:.78; }
  .start-card > p { max-width:none; margin:6px 0; font-size:.66rem; line-height:1.3; }
  .briefing-grid { margin-bottom:7px; }
  .briefing-grid div { padding:6px 8px; border-right:1px solid var(--line); border-bottom:0; }
  .briefing-grid span { margin-bottom:3px; font-size:.42rem; }
  .briefing-grid strong { font-size:.53rem; }
  .language-selector { margin-bottom:5px; padding:5px 7px; }
  .language-selector-head { margin-bottom:4px; }
  .language-selector-head span { font-size:.38rem; }
  .language-selector-head strong { font-size:.46rem; }
  .language-dropdown select { min-height:26px; padding:0 29px 0 8px; font-size:.48rem; }
  .language-dropdown > span { right:8px; font-size:.76rem; }
  .pool-selector { margin-bottom:7px; padding:7px 8px; }
  .pool-selector-head { align-items:center; flex-direction:row; gap:9px; margin-bottom:6px; }
  .pool-selector-head span { margin-bottom:2px; font-size:.4rem; }
  .pool-selector-head strong { font-size:.59rem; }
  .pool-selector-head small { max-width:52%; font-size:.43rem; text-align:right; }
  .region-picker { max-height:65px; overflow:auto; gap:4px; }
  .region-choice { min-height:25px; gap:5px; padding:0 6px; }
  .region-choice strong { font-size:.47rem; }
  .region-choice span { min-width:16px; font-size:.42rem; }
  .start-actions { gap:6px; }
  .start-actions button { min-height:34px; padding:0 10px; font-size:.54rem; }
  .start-card > small { display:none; }

  .end-card { max-height:calc(100svh - 8px); padding:10px 13px; }
  .end-card h2 { margin:5px 0; font-size:1.3rem; }
  .end-card > p { margin:5px auto 8px; font-size:.65rem; }
  .final-score strong { font-size:2rem; }
  .final-community,
  .final-roster { margin-bottom:6px; }
  .report-stats { margin-bottom:7px; }
  .end-card > button { min-height:34px; }

  .training-admin { width:min(190px,34vw); }
  .training-admin header { min-height:33px; gap:7px; padding:4px 7px; }
  .training-admin header img { width:23px; height:23px; }
  .training-admin header b { font-size:.55rem; }
  .training-admin header small { font-size:.39rem; }
  .training-admin > div { gap:3px; padding:6px 8px 7px; }
  .training-admin p { font-size:.52rem; line-height:1.24; }
  .training-next { min-height:27px; margin:0 8px 8px; width:calc(100% - 16px); padding:0 8px; font-size:.49rem; }
  .training-next b { font-size:.74rem; }
  .training-skip { top:42px; min-height:29px; font-size:.46rem; }
  body:has(.question-wheel:not([hidden])) .training-admin {
    opacity:0;
    visibility:hidden;
    pointer-events:none;
  }
}

@keyframes mobileEvidencePulse {
  0%,100% { opacity:.62; transform:scale(.985); }
  50% { opacity:1; transform:scale(1); }
}

@keyframes mobileMentionPulse {
  0%,100% { transform:scale(1); }
  50% { transform:scale(1.1); }
}

@media (max-width:680px) and (orientation:landscape) {
  .mobile-toolbar button { min-width:36px; width:36px; padding:0; }
  .mobile-toolbar button b { display:none; }
  .clock-panel { left:44%; width:132px; }
  .visitor { width:min(48vw,265px); }
  .applicant-sheet { grid-template-columns:59px minmax(0,1fr) minmax(0,1fr); gap:4px; padding-left:5px; padding-right:5px; }
  .applicant-photo { width:55px; height:55px; }
  .applicant-contact { padding-left:4px; }
  .card-data-field,
  .applicant-contact .card-data-field { grid-template-columns:minmax(57px,43%) minmax(0,1fr); column-gap:4px; }
  .card-data-field span { font-size:.42rem; }
  .card-data-field strong,
  .role-value b { font-size:.5rem; }
  .card-bio strong { font-size:.44rem; }
  .conversation { width:51%; }
}

@media (max-height:350px) and (max-width:999px) and (orientation:landscape) {
  .inspection-stack { grid-template-rows:minmax(0,1fr) 132px; }
  .applicant-zone { height:132px; }
  .tool-output { height:89px; }
  .applicant-sheet { grid-template-columns:56px minmax(0,1fr) minmax(0,1fr); }
  .applicant-photo { width:52px; height:52px; }
  .visitor,
  .mascot-connect-target { bottom:-60px; height:190px; }
  .verification-bar { height:40px; }
  .verify-button { min-height:34px; }
  .start-card h2 { font-size:1.75rem; }
  .start-card > p { display:none; }
  .region-picker { max-height:52px; }
}
