:root{--bg:#19110c;--paper:#fff6e5;--ink:#2b2119;--muted:#7f6857;--line:#d5b98f;--gold:#d6a443;--blue:#4d89d8;--red:#d84c4c;--gray:#8b8a86;--purple:#8f63d6;--green:#2f9f63;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR",sans-serif;color:var(--ink)}*{box-sizing:border-box}html,body{margin:0;width:100%;min-height:100%;background:radial-gradient(circle at 20% 0,#5b3721 0,#21140d 44%,#0c0705 100%);overflow-x:hidden}button,input{font:inherit}button{cursor:pointer}.app{min-height:100vh;padding:18px;background:linear-gradient(135deg,rgba(255,255,255,.04),rgba(0,0,0,.12))}.loading-card,.menu,.result-card{width:min(1040px,96vw);margin:5vh auto;padding:32px;border:1px solid rgba(255,234,186,.28);border-radius:28px;background:rgba(31,21,14,.84);box-shadow:0 30px 100px rgba(0,0,0,.45);color:#fff8e9;text-align:center}.seal-mark,.stamp{display:inline-grid;place-items:center;width:82px;height:82px;border:5px double #d43b31;border-radius:50%;color:#d43b31;font-weight:1000;font-size:42px;transform:rotate(-12deg);background:rgba(255,255,255,.06)}h1{margin:14px 0 8px;font-size:clamp(38px,7vw,84px);line-height:.95;letter-spacing:-.06em}.lead{max-width:760px;margin:12px auto;color:#e8d7bd;line-height:1.7}.menu-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;margin-top:22px}.notice,.daily-card,.case-card{border:1px solid rgba(255,234,186,.2);border-radius:22px;background:rgba(255,255,255,.06);padding:18px;text-align:left}.daily-card strong{color:#ffe29d}.btn-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.btn{border:0;border-radius:14px;padding:12px 16px;background:#3b281b;color:#fff6e5;font-weight:900;box-shadow:0 10px 28px rgba(0,0,0,.22)}.btn.primary{background:linear-gradient(135deg,#f0c36c,#fff0a5);color:#201309}.btn.danger{background:#842d2d}.btn.ghost{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16)}.case-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:18px}.case-card{color:#fff8e9;transition:.15s}.case-card:hover{transform:translateY(-2px);border-color:#f0c36c}.case-card b{display:block;font-size:18px;margin-bottom:6px}.case-card span{display:block;color:#d9c4a7;font-size:13px;line-height:1.5}.topbar{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;margin:-18px -18px 14px;padding:12px 18px;background:rgba(20,12,7,.86);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,234,186,.18);color:#fff6e5}.case-title{display:flex;flex-direction:column;gap:2px}.case-title b{font-size:20px}.case-title span{color:#d6c1a1;font-size:13px}.hud{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.pill{padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);font-weight:900;font-size:13px}.game-grid{display:grid;grid-template-columns:minmax(360px,1.2fr) minmax(320px,.8fr);grid-template-rows:auto auto;gap:14px;max-width:1440px;margin:0 auto}.scene,.side,.board{border:1px solid rgba(90,57,29,.22);border-radius:24px;background:rgba(255,246,229,.96);box-shadow:0 18px 50px rgba(0,0,0,.25);overflow:hidden}.scene{position:relative;min-height:520px;background:linear-gradient(#f8ead1,#ead2ac)}.room{position:absolute;inset:20px;border:4px solid #795136;border-radius:20px;background:linear-gradient(180deg,#ecd0a9 0 58%,#b78355 58% 100%);overflow:hidden}.object{position:absolute;min-width:54px;min-height:48px;border:2px solid rgba(70,43,25,.45);border-radius:16px;background:#fff7e8;color:#2b2119;display:grid;place-items:center;text-align:center;font-weight:950;font-size:28px;box-shadow:0 8px 18px rgba(76,43,16,.2);transition:.15s}.object .label{position:absolute;left:50%;top:100%;transform:translateX(-50%);width:max-content;max-width:120px;margin-top:5px;padding:3px 7px;border-radius:999px;background:rgba(43,33,25,.85);color:#fff7e8;font-size:11px}.object.found{opacity:.46}.object.pulse{animation:pulse 1.1s infinite}.object.absent{background:repeating-linear-gradient(45deg,#e7e0d5,#e7e0d5 8px,#cac2b6 8px,#cac2b6 16px);color:#6c655d}@keyframes pulse{50%{outline:5px solid rgba(235,176,72,.5);transform:scale(1.04)}}.side{padding:16px;display:flex;flex-direction:column;gap:12px}.request{border:1px solid #dbc09a;border-radius:18px;background:#fffaf0;padding:14px}.request h2,.panel-title{margin:0 0 8px;font-size:17px}.request p{margin:0;color:#5d4938;line-height:1.55}.tabs{display:flex;gap:8px;flex-wrap:wrap}.tab{border:1px solid #dec6a4;border-radius:999px;background:#fff8eb;color:#59422e;padding:7px 10px;font-weight:900}.tab.active{background:#2b2119;color:#fff5e5}.card-zone{display:grid;grid-template-columns:1fr;gap:8px;max-height:245px;overflow:auto;padding-right:4px}.e-card{position:relative;border:1px solid #dfc6a2;border-left:8px solid #fff;border-radius:14px;background:#fffdf7;padding:10px 11px;text-align:left;color:#34271d;box-shadow:0 8px 18px rgba(81,50,24,.08)}.e-card b{display:block;font-size:14px}.e-card small{display:block;color:#756251;margin-top:4px;line-height:1.35}.e-card.item{border-left-color:#fff}.e-card.trait{border-left-color:var(--blue)}.e-card.context{border-left-color:#e0a333}.e-card.counter{border-left-color:var(--red)}.e-card.absence{border-left-color:var(--gray)}.e-card.trust{border-left-color:var(--purple)}.e-card.verdict{border-left-color:#222}.e-card.selected{outline:3px solid rgba(214,164,67,.45);background:#fff1cc}.board{grid-column:1/3;padding:16px}.proof-grid{display:grid;grid-template-columns:1fr 1.2fr 1fr 1fr;gap:10px}.proof-step{min-height:144px;border:1px dashed #c9ab7c;border-radius:18px;background:#fffaf1;padding:12px}.proof-step h3{margin:0 0 10px;font-size:15px;color:#5f442e}.slot{min-height:44px;border:1px solid #e4cdaa;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;padding:8px;text-align:center;color:#8a7762;font-weight:800}.slot.filled{color:#2b2119;border-style:solid;background:#fff7e1}.link-lines{margin:12px 0;padding:10px;border-radius:16px;background:linear-gradient(90deg,rgba(77,137,216,.09),rgba(47,159,99,.09));color:#5b4939;font-size:13px;line-height:1.7}.judgement{border:1px solid #dbc09a;border-radius:18px;background:#fffdf7;padding:13px;line-height:1.65;min-height:82px}.judge-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.inspect-modal{position:fixed;inset:0;display:none;place-items:center;z-index:50;background:rgba(11,7,4,.62);padding:18px}.inspect-modal.open{display:grid}.inspect-card{width:min(620px,94vw);border:1px solid rgba(255,235,191,.36);border-radius:26px;background:#fff6e5;color:#2b2119;box-shadow:0 30px 90px rgba(0,0,0,.45);overflow:hidden}.inspect-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid #dfc6a2}.inspect-art{display:grid;place-items:center;min-height:190px;background:linear-gradient(135deg,#f4dfbb,#fff8ea);font-size:86px}.inspect-body{padding:16px}.action-row{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.mini-list{display:flex;gap:8px;flex-wrap:wrap}.mini{padding:6px 9px;border-radius:999px;background:#ead5b3;color:#4a3525;font-weight:800;font-size:12px}.toast{position:fixed;left:50%;bottom:18px;transform:translateX(-50%) translateY(40px);z-index:80;opacity:0;max-width:min(680px,92vw);padding:12px 16px;border-radius:14px;background:#1d120b;color:#fff7e8;box-shadow:0 18px 60px rgba(0,0,0,.38);transition:.2s;white-space:pre-wrap}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.result-card .stamp{width:110px;height:110px;font-size:52px;margin-bottom:10px}.grade{font-size:clamp(60px,12vw,140px);font-weight:1000;color:#ffd46d;line-height:.9}.result-lines{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:20px 0}.result-lines div{border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(255,255,255,.07);padding:13px}.result-lines b{display:block;font-size:24px;margin-top:4px}.empty{color:#8d7968;font-size:13px;text-align:center;padding:16px}.sr{position:absolute;left:-9999px}@media(max-width:980px){.menu-grid,.game-grid{grid-template-columns:1fr}.board{grid-column:auto}.proof-grid{grid-template-columns:1fr}.scene{min-height:420px}.topbar{grid-template-columns:1fr}.hud{justify-content:flex-start}}@media(max-width:620px){.app{padding:10px}.topbar{margin:-10px -10px 10px;padding:10px}.room{inset:10px}.scene,.side,.board{border-radius:18px}.object{min-width:46px;min-height:42px;font-size:22px}.object .label{font-size:10px}.btn{width:100%}.card-zone{max-height:200px}}
