:root{--bg:#ececec;--surface:#fff;--ink:#000;--muted:#4d4d4d;--brand:#ff575f;--brand-dark:#f03f48;--line:#d9d9d9;--good:#1e9e64;--bad:#c1121f}*{box-sizing:border-box}html,body{background:radial-gradient(circle at 15% 8%,#ff575f47 0%,#ff575f00 30%),radial-gradient(circle at 92% 15%,#ff575f33 0%,#ff575f00 30%),var(--bg);color:var(--ink);margin:0;padding:0;font-family:Trebuchet MS,Arial Rounded MT Bold,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}.container{max-width:1120px;margin:0 auto;padding:1.25rem}.shell{gap:1rem;display:grid}.grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:1rem;box-shadow:0 10px 24px #00000014}.btn{background:var(--brand);color:#fff;cursor:pointer;border:0;border-radius:10px;padding:.65rem .95rem;font-weight:700}.btn:hover{background:var(--brand-dark)}.btn.secondary{color:var(--ink);border:1px solid var(--line);background:#f5f5f5}.stack{gap:.75rem;display:grid}.muted{color:var(--muted)}input:not([type=radio]):not([type=checkbox]),textarea,select{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;padding:.65rem .75rem;font-size:.95rem}input[type=radio],input[type=checkbox]{width:auto}.worksheet-paper{border:1px solid var(--line);background:#fff;border-radius:16px;padding:1.2rem;box-shadow:0 14px 28px #00000014}.flip-wrap{perspective:1200px;width:100%;max-width:560px}.flip-card{width:100%;min-height:230px;transform-style:preserve-3d;cursor:pointer;background:0 0;border:0;padding:0;transition:transform .22s;position:relative}.flip-card.flipped{transform:rotateY(180deg)}.flip-face{border:1px solid var(--line);backface-visibility:hidden;text-align:center;border-radius:16px;align-content:center;gap:.8rem;padding:1rem;display:grid;position:absolute;inset:0;box-shadow:0 10px 24px #00000014}.flip-front{background:#fff}.flip-back{background:#ffe8e9;transform:rotateY(180deg)}ul.clean{margin:0;padding:0;list-style:none}.pill{color:#6e0f14;background:#ffe8e9;border:1px solid #ffb7bb;border-radius:999px;padding:.25rem .6rem;font-size:.8rem;display:inline-block}.top-nav{flex-wrap:wrap;gap:.5rem;display:flex}.top-nav a{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.45rem .75rem}.top-nav a:hover{background:#ffe8e9}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);padding:.7rem .4rem}
