:root{--bg: #0b0c10;--panel: #15171e;--ink: #e8eaf0;--muted: #9aa0ab;--accent: #6c8cff;--success: #3ad29f;--error: #ff6b6b;--line: #262a35;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}.page,.surface{max-width:720px;margin:0 auto;padding:24px 20px}.surface{max-width:560px}.topbar,header{display:flex;align-items:center;justify-content:space-between;gap:12px}h1{font-size:1.25rem;letter-spacing:-.02em;margin:0 0 4px}label{display:block;margin:16px 0;font-size:.85rem;color:var(--muted)}textarea,select{width:100%;margin-top:6px;padding:10px 12px;border-radius:10px;background:var(--panel);color:var(--ink);border:1px solid var(--line);font:inherit;resize:vertical}textarea:focus,select:focus{outline:none;border-color:var(--accent)}button{padding:10px 18px;border-radius:10px;border:0;cursor:pointer;background:var(--accent);color:#fff;font-weight:600}button:disabled{opacity:.5;cursor:not-allowed}.note{color:var(--muted);font-size:.85rem}.warn{color:#fc6;font-size:.85rem}.error{color:var(--error);font-size:.85rem;white-space:pre-wrap}.ctx code,.src code{color:var(--accent)}.result{margin-top:20px;padding:16px;background:var(--panel);border-radius:12px;border:1px solid var(--line)}.score{font-size:2.5rem;font-weight:700;color:var(--success);letter-spacing:-.03em}.terms{display:flex;flex-wrap:wrap;gap:6px}.terms span{background:#20242e;padding:2px 8px;border-radius:999px;font-size:.8rem}.src{color:var(--muted);font-size:.75rem}
