/* Visual refresh 2026-11. Presentation only; fixed world dimensions remain in core. */
:root{--ink:#e9eff5;--muted:#91a2b7;--line:rgba(159,182,207,.14);--accent:#84dac6;--surface:#101923;--bg:#080d14;--radius:12px;color-scheme:dark}
body{background:radial-gradient(ellipse at 75% -20%,#1b35434d,transparent 55%),#080d14!important;color:var(--ink);font-family:'Segoe UI','Malgun Gothic',sans-serif!important;font-size:14px;line-height:1.65;-webkit-font-smoothing:antialiased}
body::before,body::after{display:none!important}
button,input,select,summary{font-family:inherit!important}button{font-weight:600!important;border-radius:7px!important;box-shadow:none!important;transition:background .16s,border-color .16s,transform .16s}
a,button,input,select{outline-offset:4px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #a5f0db}
button:not(:disabled):hover{filter:brightness(1.08)}button:active{transform:translateY(1px)}
.shell{max-width:1380px;padding:0 42px}.top{height:86px;border-bottom:1px solid var(--line)}
.logo,.brand{font-size:19px!important;font-weight:700;letter-spacing:-.7px}.logo b,.brand b{font-weight:700!important}.logo small,.brand small{font:9px/1.5 'Segoe UI',sans-serif!important;letter-spacing:2.3px;color:#778a9f;margin-top:4px}
.logo-icon,.brandmark{border-radius:10px;box-shadow:none!important;border:1px solid #7ac7ba3a;background:#1d383a66;font-size:26px}
.top nav,.server-tag{font-size:10px;color:#92a6b8}.dev-tag,.server-tag b{font:10px 'Segoe UI',sans-serif;border-radius:20px;padding:5px 10px!important;background:#13272a;color:#9cc8bd}
.game-list-button{border-radius:6px!important;font:600 12px 'Segoe UI','Malgun Gothic',sans-serif!important;box-shadow:none!important;padding:8px 12px!important;background:#151f2b!important;border:1px solid var(--line)!important}
.hero{grid-template-columns:1fr 1.3fr;gap:44px;padding:42px 0 38px;align-items:center;min-height:380px}
.eyebrow,.difficulty-no{font:600 10px/1.5 'Segoe UI',sans-serif!important;letter-spacing:1.8px;color:var(--accent)}
.hero h1{font-family:inherit;font-size:clamp(34px,3.7vw,49px);font-weight:750;letter-spacing:-2px;line-height:1.23;margin:18px 0 20px}.hero h1 em{font-style:normal;color:var(--accent)}
.hero p{font-size:14px;line-height:1.85;color:#a2b3c3}.hero-tags{gap:8px;margin-top:24px;flex-wrap:wrap}.hero-tags span{font-size:11px;padding:5px 10px;border:1px solid var(--line);border-radius:4px;background:#111b27aa;color:#b0c5d1}
.hero-art,.hero-room{position:relative;isolation:isolate;height:320px;border:1px solid #99b8be26;border-radius:14px;background:#101c27 url('assets/art/key-art-v1.png') center/cover no-repeat;box-shadow:0 18px 60px #0006;overflow:hidden}
.hero-art>*,.hero-room>*{display:none!important}.hero-art::after,.hero-room::after{content:'MEMORY ESCAPE / 빛이 지나간 자리';display:flex;align-items:flex-end;position:absolute;inset:0;padding:25px;color:#c7eadd;background:linear-gradient(0deg,#071019cf,transparent 55%);font:600 10px 'Segoe UI','Malgun Gothic',sans-serif;letter-spacing:1.3px}
body[data-theme=gate]{--accent:#9bc9f2}.hero-room::after{content:'DECISION GATE / 네 개의 문, 하나의 판단';color:#d8e7f5}
.section-line{margin-bottom:16px}.section-line h2{font-size:17px;font-weight:650;letter-spacing:-.5px}.section-line>span{font:9px 'Segoe UI',sans-serif;letter-spacing:1.7px;color:#657d92}
.difficulty-grid{gap:14px}.difficulty{background:#101a25;border:1px solid var(--line);border-radius:10px!important;padding:20px 23px 22px;box-shadow:none!important;overflow:hidden}.difficulty:hover{transform:translateY(-2px)}
.difficulty::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--card,var(--accent));opacity:.25}.difficulty[aria-pressed=true]{border-color:#80cbbb66;background:linear-gradient(120deg,#193033,#121d28)}.difficulty[aria-pressed=true]::before{opacity:1}
.difficulty h3{font-size:23px;font-weight:700;margin:10px 0;letter-spacing:-.7px}.difficulty h3 b{font:600 27px 'Segoe UI',sans-serif;color:#6e9caa;opacity:.65}.difficulty p{font-size:12px;color:#8fa5b8;line-height:1.8;font-weight:400}.difficulty dt{font-size:10px;color:#708a9d}.difficulty dd{font:600 15px 'Segoe UI','Malgun Gothic',sans-serif;margin-top:6px}.difficulty dl{gap:27px;margin-top:17px}.selected,.selected-mark{font-size:10px!important;top:19px;right:20px}
.home-lower{gap:22px;margin:28px 0 35px}.launch,.launch-box,.records,.panel{background:#101923;border:1px solid var(--line);border-radius:10px;box-shadow:none}.launch,.launch-box,.records{padding:25px}.panel{padding:19px}.panel h3{font-size:18px;font-weight:650;line-height:1.5}
label,.fields label{font-size:12px!important;color:#9bafc0}input,select{font-size:13px!important;border:1px solid #2d4052!important;background:#0a121d!important;border-radius:6px!important;padding:11px 12px;box-shadow:inset 0 1px 2px #0003;color:#e4edf4!important}input:focus,select:focus{border-color:#7ecbbd!important}
.primary{background:#8bdcc8!important;border:1px solid #a1e9d6!important;color:#102a27!important;font-size:14px;font-weight:750!important;padding:13px 17px}.secondary{background:#192735!important;color:#bdccda!important;border:1px solid #344758!important;font-size:12px;padding:11px 15px}.compact{font-size:11px!important;padding:7px 11px!important}.text-btn{font-size:11px!important;color:#9fbdcd}.fine{font-size:11px!important;line-height:1.8!important;color:#7f98ab!important}
.records li{font-size:12px;padding:13px 0;border-color:var(--line);color:#acc0d2}.records small{font-size:10px}.records li strong,.records li>b{color:#c8eadb;font-family:'Segoe UI',sans-serif;font-weight:700!important}.records details{font-size:11px;line-height:1.85}.records summary{font-size:12px}.profile{background:#0b1520;border-color:var(--line);border-radius:6px}.profile strong{font:600 15px 'Consolas',monospace}.profile small{font-size:10px}
.game-top,.game-heading{margin:22px 0 18px;gap:24px}.game-top h2,.game-heading h2{font-size:20px;font-weight:700}.game-top h2 small,.game-heading h2 small{font:10px 'Consolas',monospace;letter-spacing:.5px;margin-top:7px}.stats{gap:28px}.stats>span{font-size:10px;color:#7f9caf}.stats b{font:650 25px/1.5 'Segoe UI',sans-serif;font-variant-numeric:tabular-nums;color:#c6ebdf}.stats #lives{font-size:17px;color:#e5acb6}
.phase-banner,.signal-bar{border:1px solid #6fcbbb35;background:#10282c;border-radius:8px;padding:12px 18px;box-shadow:none}.phase-banner b,.signal-bar>strong{font-size:16px;font-weight:650}.phase-banner span{font-size:12px}.phase-banner strong,.signal-bar #room-time{font:600 19px 'Segoe UI',sans-serif}.phase-track,.time-track{height:3px;overflow:hidden;border-radius:3px}.signal-bar #phase-label{font-size:11px;color:#90abae}
.play-layout{gap:22px}.board-frame,.arena-frame{padding:12px;border:1px solid #6a92a844;border-radius:11px;background:#101b27;box-shadow:0 16px 55px #0006}.board-label{font:10px 'Consolas',monospace;color:#7198ac;padding:3px 2px 12px;letter-spacing:1px}.board-label span:first-child{color:#9fd8cd}.board-footer,.board-foot{font-size:10px;color:#7897a8;padding:12px 2px 2px}
.room-data div{font-size:12px;padding:9px 0;border-color:var(--line)}.room-data dd{font-variant-numeric:tabular-nums}.side,.play-layout>aside{gap:13px}.trick-chip,.effect{border:1px solid #b4954d44;border-radius:6px;background:#3a302633;color:#e1c698;font-size:12px}.trick-none{font-size:12px}.arrows button{border-radius:5px!important;background:#1b2b3b;border-color:#3d566b;box-shadow:0 2px 0 #070f18!important}
.target-panel{background:radial-gradient(ellipse at center,#24413a44,transparent 70%),#101923}.target-panel>p,.rule-panel>p{font-size:12px;color:#98b1c1}.rule-panel h3{font-size:19px;font-weight:700}.run-panel>div{font-size:12px}.run-panel>div>b{font:650 23px 'Segoe UI',sans-serif}.run-panel>p{font-size:11px}.practice-tools{background:#161d22;border:1px solid #8a73373a;border-radius:8px;padding:12px;font-size:11px;gap:9px}.practice-tools #answer{font-size:12px}.practice-config summary{font-size:12px}
.overlay,.question-overlay{background:#03070dd9;backdrop-filter:blur(10px)}.dialog,.question-dialog{background:linear-gradient(145deg,#1b2d38,#101b29);border:1px solid #88bfbd55;border-radius:16px;box-shadow:0 28px 100px #000b;padding:32px}.dialog h2{font:700 27px/1.45 'Segoe UI','Malgun Gothic',sans-serif;letter-spacing:-1px}.dialog p{font-size:13px}.question-dialog h2{font:750 clamp(28px,3vw,38px)/1.35 'Segoe UI','Malgun Gothic',sans-serif;letter-spacing:-1px;margin:25px 0 12px}.question-dialog #question-help{font-size:14px;line-height:1.7}.question-kicker{font:600 10px 'Segoe UI','Malgun Gothic',sans-serif;letter-spacing:1.3px}.question-object>span{font:11px 'Segoe UI','Malgun Gothic',sans-serif;letter-spacing:1px;color:#698f9f}.question-object{padding:14px 0 5px;border-top:1px solid #7699a422;border-bottom:1px solid #7699a422;margin:21px 0 16px}.question-effects{font-size:13px;line-height:1.8}.question-timing{font:650 19px/1.6 'Segoe UI','Malgun Gothic',sans-serif}.question-start-help{font-size:11px;line-height:1.8}.question-practice button{font-size:11px!important}.result-score{font:750 56px 'Segoe UI',sans-serif;letter-spacing:-3px}.result-grid b,.dialog-metrics b{font:650 23px 'Segoe UI',sans-serif}.result-grid span,.dialog-metrics small{font-size:11px}.result-status{font-size:12px!important}.rule-notice{font-size:12px;border-radius:4px}
footer{font:10px 'Segoe UI','Malgun Gothic',sans-serif;color:#577084;border-top:1px solid var(--line);margin-top:20px;padding:24px 0;letter-spacing:.5px}.toast{font-size:12px;border-radius:8px;box-shadow:0 8px 30px #0008}
@media(max-width:1000px){.shell{padding:0 25px}.hero{gap:25px}.hero-art,.hero-room{height:280px}.hero h1{font-size:38px}.play-layout{gap:16px}.stats{gap:18px}.panel{padding:15px}}
@media(max-width:700px){.shell{padding:0 18px}.top{height:76px}.top nav,.server-tag{gap:6px}.server-tag #connection,#connection{font-size:9px}.hero{grid-template-columns:1fr;padding:30px 0;gap:24px}.hero h1{font-size:38px}.hero-art,.hero-room{height:250px}.difficulty-grid{grid-template-columns:1fr;gap:10px}.difficulty{padding:17px 20px}.difficulty h3{font-size:21px}.difficulty p{font-size:12px}.difficulty dl{margin-top:12px}.home-lower{grid-template-columns:1fr}.game-top,.game-heading{flex-wrap:wrap}.play-layout{grid-template-columns:1fr}.stats{gap:20px}.stats b{font-size:22px}.board-frame,.arena-frame{padding:8px}.board-footer>span:last-child{font-size:9px}.question-dialog{padding:23px}.question-dialog h2{font-size:28px}.question-dialog #question-help{font-size:12px}.question-effects{font-size:12px}.game-list-button{font-size:10px!important;padding:6px 8px!important}.logo small,.brand small{font-size:8px!important}.server-tag b{font-size:8px}.hero-tags span{font-size:10px}}
@media(max-height:680px){.question-dialog{padding:18px 24px}.question-dialog h2{font-size:27px;margin:12px 0 7px}.question-object{margin:10px 0;padding:5px 0}.question-effects{font-size:11px}.question-timing{font-size:16px}.question-start-help{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Reset old preview ornaments and keep the art caption on the lower edge. */
.hero-art::before,.hero-room::before{display:none!important}.hero-art::after,.hero-room::after{top:0;left:0;right:0;bottom:0;width:auto;height:auto;transform:none;border:0;box-shadow:none;z-index:2;line-height:1.6;text-align:left;justify-content:flex-start;padding:22px;align-items:flex-end}
.home-lower{align-items:start}.home-lower>.records{min-height:280px}

.player-panel,.player-panel *{font-family:"Segoe UI","Malgun Gothic",sans-serif!important}.player-panel{border-radius:8px!important;box-shadow:none!important;background:#0d1b27!important}.player-panel button{border-radius:5px!important;box-shadow:none!important;font-size:11px!important}
