:root{--bg: #10141c;--panel: #18202c;--ink: #e8edf4;--muted: #9fb0c3;--accent: #b05f7a;--ocean: #1b2a3a;--land: #2b3b4d;--grid: #2f4053}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}#app{max-width:880px;margin:0 auto;padding:16px 14px 40px}h1{font-size:1.5rem;margin:0 0 2px;letter-spacing:.5px}h1 .accent{color:var(--accent)}.sub{color:var(--muted);font-size:.85rem;margin:0 0 12px}.bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px}.seg{display:inline-flex;border:1px solid var(--grid);border-radius:8px;overflow:hidden}.seg button{background:var(--panel);color:var(--muted);border:none;padding:6px 12px;font-size:.85rem;cursor:pointer}.seg button.active{background:var(--accent);color:#fff}button.action{background:var(--panel);color:var(--ink);border:1px solid var(--grid);border-radius:8px;padding:7px 14px;font-size:.9rem;cursor:pointer}button.action.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.action:disabled{opacity:.45;cursor:default}.budgetwrap{margin:4px 0 10px}.budgetwrap .label{display:flex;justify-content:space-between;font-size:.8rem;color:var(--muted);margin-bottom:4px}.budgetbar{height:12px;background:#0c1118;border:1px solid var(--grid);border-radius:6px;overflow:hidden}.budgetfill{height:100%;background:linear-gradient(90deg,var(--accent),#d98aa6);transition:width .25s ease}.clue{background:var(--panel);border:1px solid var(--grid);border-left:4px solid var(--accent);border-radius:8px;padding:12px 14px;margin-bottom:12px;min-height:48px}.clue .qnum{color:var(--accent);font-weight:600;font-size:.8rem}.clue .text{font-size:1.05rem;margin-top:2px}#cv{width:100%;display:block;border:1px solid var(--grid);border-radius:8px;background:var(--ocean);cursor:crosshair;touch-action:none}#status{margin-top:10px;font-size:.9rem;color:var(--muted);min-height:22px}#status b{color:var(--ink)}.over{margin-top:12px;background:var(--panel);border:1px solid var(--grid);border-radius:8px;padding:14px}.over h2{margin:0 0 6px;font-size:1.15rem}.over .stat{color:var(--muted);font-size:.9rem}.hidden{display:none}
