:root{--bg: #f7f1e8;--bg-deep: #ebe0d0;--ink: #1c1814;--muted: #5c534a;--accent: #c45c26;--accent-soft: #f0d4c2;--card: #fffdf9;--line: #d9cfc0;--ok: #2f6b4f;--warn: #8a5a12;--danger: #9b2c2c;--shadow: 0 12px 40px rgba(28, 24, 20, .08);--radius: 18px;--font: "Segoe UI", "Helvetica Neue", Arial, sans-serif;--display: "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{font-family:var(--font);color:var(--ink);background:radial-gradient(1200px 600px at 10% -10%,#fff8ef 0%,transparent 55%),radial-gradient(900px 500px at 100% 0%,#f3d9c8 0%,transparent 50%),linear-gradient(180deg,var(--bg) 0%,var(--bg-deep) 100%);line-height:1.45}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.35;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23c45c26' fill-opacity='0.06'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.page{width:min(560px,calc(100% - 32px));margin:0 auto;padding:28px 0 48px;position:relative}.page--wide{width:min(720px,calc(100% - 32px))}.hero{margin-bottom:20px}.eyebrow{margin:0 0 8px;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}h1{margin:0 0 8px;font-family:var(--display);font-weight:600;font-size:clamp(1.8rem,5vw,2.4rem);line-height:1.15}.lead{margin:0;color:var(--muted)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.stack{display:grid;gap:14px}label{display:grid;gap:6px;font-size:.95rem;color:var(--muted)}input[type=text],input[type=password]{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font:inherit;color:var(--ink);background:#fff}input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:999px;padding:12px 18px;font:inherit;font-weight:600;cursor:pointer;transition:transform .15s ease,opacity .15s ease}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-secondary{background:var(--accent-soft);color:var(--ink)}.btn-ghost{background:transparent;color:var(--muted);border:1px solid var(--line)}.btn-row{display:flex;flex-wrap:wrap;gap:10px}.progress{font-size:.9rem;color:var(--muted)}.question-text{margin:0;font-size:1.15rem;font-weight:600}.options{display:grid;gap:10px}.option{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:pointer}.option:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.option input{margin-top:3px}.msg{margin:0;padding:12px 14px;border-radius:12px;background:#f3ebe1;color:var(--muted)}.msg--error{background:#f8e4e4;color:var(--danger)}.msg--ok{background:#e5f2ea;color:var(--ok)}.hidden{display:none!important}.done-icon{font-size:2rem;margin-bottom:8px}.leaderboard{list-style:none;margin:0;padding:0;display:grid;gap:8px}.leaderboard li{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:#fff}.leaderboard li.leader{border-color:var(--accent);background:var(--accent-soft)}.rank{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--bg-deep);font-size:.85rem;font-weight:700}.score{font-weight:700}.badge{display:inline-block;margin-top:6px;padding:4px 10px;border-radius:999px;background:#fff3d6;color:var(--warn);font-size:.85rem;font-weight:600}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:16px}.status-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:.9rem}.dot{width:8px;height:8px;border-radius:50%;background:var(--ok)}.dot--off{background:var(--danger)}.footer-note{margin-top:18px;font-size:.85rem;color:var(--muted);text-align:center}
