:root{--bg:#f4f2ee;--card:#fff;--ink:#161616;--muted:#6d6a64;--line:#ddd8cf;--soft:#efebe4;--accent:#1d1d1b;--good:#2f6b42;--bad:#8a342e}*{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif;line-height:1.45}button,input,textarea{font:inherit}a{color:inherit}.shell{width:min(980px,100% - 32px);margin:0 auto;padding:42px 0 70px}.narrow{width:min(720px,100% - 28px);margin:0 auto;padding:34px 0 70px}.kicker{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:12px;font-weight:800}h1,h2,h3{margin:0;line-height:1.08}h1{letter-spacing:-.04em;font-size:clamp(36px,7vw,64px)}h2{letter-spacing:-.025em;font-size:28px}h3{font-size:17px}.lead{color:var(--muted);max-width:680px;font-size:18px}.topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:34px;display:flex}.brand{letter-spacing:-.02em;font-weight:900}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 8px 28px #1414140b}.grid{grid-template-columns:repeat(12,1fr);gap:16px;display:grid}.col-4{grid-column:span 4}.col-6{grid-column:span 6}.col-8{grid-column:span 8}.col-12{grid-column:span 12}.stat{letter-spacing:-.04em;margin-top:10px;font-size:38px;font-weight:900}.muted{color:var(--muted)}.section{margin-top:28px}.stack{gap:16px;display:grid}.row{align-items:center;gap:10px;display:flex}.between{justify-content:space-between}label{gap:8px;font-weight:800;display:grid}textarea,input[type=text],input[type=password],input[type=email]{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:12px;outline:none;padding:13px 14px}textarea:focus,input:focus{border-color:#888177;box-shadow:0 0 0 3px #50463c14}textarea{resize:vertical;min-height:120px;font-weight:400}.checkrow{grid-template-columns:28px 1fr 34px;align-items:center;gap:10px;display:grid}.checkrow input[type=checkbox]{width:20px;height:20px}.iconbtn{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:22px}.btn{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;padding:13px 18px;font-weight:900;text-decoration:none;display:inline-flex}.btn.secondary{background:var(--soft);color:var(--ink);border:1px solid var(--line)}.btn:disabled{opacity:.5;cursor:not-allowed}.add{cursor:pointer;background:0 0;border:0;width:fit-content;padding:0;font-weight:800;text-decoration:underline}.divider{background:var(--line);height:1px;margin:8px 0}.scoreline{grid-template-columns:110px 1fr;align-items:start;gap:16px;display:grid}.scores{flex-wrap:wrap;gap:7px;display:flex}.score{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;width:38px;height:38px;font-weight:800}.score.active{background:var(--ink);color:#fff;border-color:var(--ink)}.feedback{white-space:pre-wrap;border-left:4px solid var(--ink);background:#f8f7f4;border-radius:8px;padding:18px}.error{color:var(--bad);font-weight:700}.success{color:var(--good);font-weight:800}.pill{background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;display:inline-flex}.history{gap:10px;display:grid}.historyitem{border-top:1px solid var(--line);padding-top:12px}.historyitem:first-child{border-top:0;padding-top:0}.coregrid{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.corebox{background:var(--soft);border-radius:12px;padding:14px}.corebox strong{margin-top:4px;font-size:24px;display:block}.login{place-items:center;min-height:85vh;display:grid}.login .card{width:min(440px,100% - 28px)}.note{color:var(--muted);font-size:13px}.toggleline{cursor:pointer;align-items:flex-start;gap:12px;font-weight:400;display:flex}.toggleline input[type=checkbox]{flex:none;width:20px;height:20px;margin:2px 0 0}.toggleline span{gap:3px;display:grid}.toggleline strong{font-size:15px}.toggleline small{color:var(--muted);font-size:13px;line-height:1.4}.sharecard{background:#faf9f7;border-style:dashed}@media (max-width:760px){.col-4,.col-6,.col-8{grid-column:span 12}.coregrid{grid-template-columns:repeat(2,1fr)}.scoreline{grid-template-columns:1fr}.shell{padding-top:24px}}
