:root{-webkit-user-select:none;user-select:none;--ink:#17231f;--muted:#66736d;--paper:#f4f6ee;--card:#ffffffd1;--line:#dce2d7;--lime:#c9f45b;--green:#174f3b;--orange:#ff7959;--blue:#7bb9ff;--shadow:0 18px 60px #1a332717}*{box-sizing:border-box}html{background:var(--paper)}body{color:var(--ink);background:radial-gradient(circle at 10% 5%, #efffc8 0, transparent 26rem), radial-gradient(circle at 90% 35%, #dcecff 0, transparent 28rem), var(--paper);min-height:100vh;margin:0;font-family:Pretendard,Apple SD Gothic Neo,Inter,system-ui,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.shell{width:min(1180px,100% - 32px);margin:0 auto}.nav{z-index:10;justify-content:space-between;align-items:center;height:76px;display:flex;position:relative}.brand{letter-spacing:-.04em;align-items:center;gap:10px;font-weight:900;display:flex}.brand-mark{background:var(--ink);width:34px;height:34px;color:var(--lime);border-radius:12px;place-items:center;display:grid;transform:rotate(-5deg)}.navlinks{border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff8c;border-radius:999px;align-items:center;gap:6px;padding:5px;display:flex}.navlinks a{color:var(--muted);border-radius:999px;padding:9px 14px;font-size:14px;font-weight:700}.navlinks a:hover{color:var(--ink);background:#fff}.page{padding:54px 0 90px}.eyebrow{color:#485b0f;letter-spacing:.08em;text-transform:uppercase;background:#f1ffc4;border:1px solid #bed64e;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:900;display:inline-flex}h1{letter-spacing:-.075em;max-width:900px;margin:22px 0;font-size:clamp(40px,7vw,84px);line-height:.98}h2{letter-spacing:-.05em;margin:0;font-size:clamp(28px,4vw,48px)}h3{letter-spacing:-.03em;margin:0}.lede{color:var(--muted);max-width:650px;font-size:18px;line-height:1.7}.grid{gap:18px;display:grid}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:var(--card);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid #c5cfc3e6;border-radius:26px;padding:26px}.card.dark{background:var(--ink);color:#fff;border-color:var(--ink)}.card.lime{background:var(--lime)}.btn{border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:0 18px;font-weight:850;transition:all .18s;display:inline-flex}.btn:hover{transform:translateY(-2px);box-shadow:0 9px 20px #17231f2e}.btn.secondary{color:var(--ink);border-color:var(--line);background:#fff}.btn.lime{background:var(--lime);color:var(--ink);border-color:#a9cc48}.btn.danger{color:#a8351d;background:#fff1ed;border-color:#ffc2b4}.btn:disabled{cursor:not-allowed;opacity:.45;box-shadow:none;transform:none}.field{gap:8px;display:grid}.field label{color:var(--muted);font-size:13px;font-weight:800}.input{border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);background:#ffffffe6;border-radius:13px;outline:none;padding:11px 14px}.input:focus{border-color:#83a32a;box-shadow:0 0 0 4px #c9f45b40}.form{gap:16px;display:grid}.error{color:#9e351d;background:#fff0ec;border:1px solid #ffccbf;border-radius:13px;padding:12px 14px;font-size:14px}.success{color:#285d25;background:#ebf9e9;border:1px solid #bfe3bb;border-radius:13px;padding:12px 14px}.auth-wrap{grid-template-columns:1.15fr .85fr;align-items:center;gap:50px;min-height:calc(100vh - 76px);padding-bottom:70px;display:grid}.auth-panel{justify-self:end;width:100%;max-width:480px}.tabs{background:#edf0e8;border-radius:13px;grid-template-columns:1fr 1fr;margin-bottom:22px;padding:4px;display:grid}.tab{color:var(--muted);background:0 0;border:0;border-radius:10px;padding:10px;font-weight:800}.tab.active{color:var(--ink);background:#fff;box-shadow:0 3px 12px #17231f14}.metric{gap:8px;display:grid}.metric-head{justify-content:space-between;font-size:13px;font-weight:800;display:flex}.bar{background:#e4e8df;border-radius:99px;height:9px;overflow:hidden}.bar span{border-radius:inherit;background:linear-gradient(90deg, var(--green), #63a557, var(--lime));height:100%;display:block}.canvas-shell{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:24px;overflow:hidden}.canvas-toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:12px;display:flex}.tool{border:1px solid var(--line);background:#fff;border-radius:10px;min-height:38px;padding:0 12px;font-weight:750}.tool.active{background:var(--ink);color:#fff;border-color:var(--ink)}.timer{font-variant-numeric:tabular-nums;margin-left:auto;font-size:18px;font-weight:900}.drawing{touch-action:none;background-image:linear-gradient(#edf1eb 1px,#0000 1px),linear-gradient(90deg,#edf1eb 1px,#0000 1px);background-size:24px 24px;width:100%;height:min(56vh,620px);display:block}.solve-layout{grid-template-columns:minmax(250px,.7fr) minmax(0,1.7fr);align-items:start;gap:18px;display:grid}.problem-copy{white-space:pre-wrap;font-size:21px;line-height:1.65}.meta-row{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.chip{color:#56625c;background:#edf1e8;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.progress{background:#e1e6dc;border-radius:99px;height:13px;overflow:hidden}.progress span{background:linear-gradient(90deg, #79a9f6, var(--lime));border-radius:inherit;height:100%;display:block}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:30px;display:flex}.stat-number{letter-spacing:-.05em;font-size:42px;font-weight:950}.ghost-list{gap:12px;display:grid}.ghost-row{border:1px solid var(--line);background:#ffffffb3;border-radius:18px;grid-template-columns:1fr auto;align-items:center;gap:20px;padding:18px;display:grid}.reveal{color:#aeb8b2;position:relative}.reveal span{color:#fff;white-space:nowrap;position:absolute;inset:0;overflow:hidden}.coach{gap:10px;max-height:370px;padding:4px;display:grid;overflow:auto}.bubble{border-radius:15px;max-width:85%;padding:12px 14px;line-height:1.55}.bubble.user{background:var(--lime);justify-self:end}.bubble.assistant{background:#edf1ed}.muted{color:var(--muted)}.spacer{height:24px}@media (max-width:820px){.navlinks{display:none}.auth-wrap,.solve-layout,.grid.two,.grid.three{grid-template-columns:1fr}.auth-panel{justify-self:stretch}.page{padding-top:30px}h1{font-size:50px}}
