*{box-sizing:border-box}html{background:#42b86b;min-height:100%}body{color:#0a0f0d;-webkit-font-smoothing:antialiased;background:#42b86b;min-width:320px;min-height:100vh;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;border:0}button:disabled{opacity:.45;cursor:not-allowed}:root{color:#0a0f0d;--frame:#fff;--panel:#fff;--ink:#0a0f0d;--muted:#526156;--line:#0a0f0d1f;--green:#43bd70;--green-dark:#18844b;--cream:#f7f4e9;--soft:#edf7f0;--shadow:0 22px 60px #0532192e;--radius:24px;background:#42b86b}:root[data-theme=dark]{color:#f5fff7;--frame:#0b1510;--panel:#13261b;--ink:#f5fff7;--muted:#b7d4c0;--line:#ffffff24;--green:#2da35f;--green-dark:#75e19a;--cream:#102016;--soft:#183722;--shadow:0 22px 60px #00000052;background:#12381f}.app{background:var(--frame);width:min(1180px,100vw - 44px);min-height:calc(100vh - 64px);box-shadow:var(--shadow);border-radius:30px;grid-template-columns:270px minmax(0,1fr);margin:32px auto;padding:14px;display:grid;overflow:hidden}.sidebar{background:var(--frame);color:var(--ink);border-right:1px solid var(--line);padding:18px 14px 20px;overflow:auto}.brand{align-items:center;gap:10px;padding:10px 8px 18px;display:flex}.brand span{color:var(--muted);margin-top:3px;font-size:12px;display:block}.logo{color:#fff;background:#050505;border-radius:50%;place-items:center;width:32px;height:32px;font-weight:900;display:grid}.sidebar-tabs{grid-template-columns:1fr 1fr;gap:8px;margin:0 0 12px;display:grid}.sidebar-tabs button{border:1px solid var(--line);color:var(--ink);background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:10px;font-weight:850;display:flex}.sidebar-tabs button.active{color:#fff;background:#050505;border-color:#050505}.section-title{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin:20px 8px 8px;font-size:11px;font-weight:900}.topic,.subtopic{text-align:left;width:100%;color:var(--ink);background:0 0;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;margin:3px 0;padding:10px 12px;display:flex}.subtopic{color:var(--muted);padding-left:18px;font-size:13px}.topic:hover,.subtopic:hover,.topic.active,.subtopic.active{background:var(--soft);color:var(--ink)}.topic b,.subtopic b{color:var(--muted);font-size:12px}.main{background:linear-gradient(180deg,var(--green) 0%,#4ecb7d 55%,#3fb26a 100%);min-width:0;padding:0 0 24px}.topbar{background:var(--frame);border-bottom:1px solid var(--line);align-items:center;gap:12px;min-height:68px;padding:14px 24px;display:flex}.account{text-overflow:ellipsis;white-space:nowrap;max-width:150px;color:var(--muted);font-size:13px;font-weight:850;overflow:hidden}.search{background:#fffdf3;border:1px solid #0000001a;border-radius:999px;flex:1;align-items:center;gap:10px;padding:0 14px;display:flex;box-shadow:inset 0 1px #fffc}.search input{color:#0a0f0d;-webkit-text-fill-color:#0a0f0d;caret-color:#0a0f0d;background:0 0;border:0;outline:0;width:100%;height:42px}.search input::placeholder{color:#657066;-webkit-text-fill-color:#657066}.hero{color:#020502;background:linear-gradient(135deg,#4ed17d 0%,#3bb866 100%);border-radius:0 0 24px 24px;justify-content:space-between;align-items:center;gap:20px;min-height:245px;margin:0 12px;padding:38px 42px 34px;display:flex;position:relative;overflow:hidden}.hero:after{content:"";opacity:.45;background:linear-gradient(145deg,#d8f3e3,#73c795);border-radius:40px;width:230px;height:230px;position:absolute;top:34px;right:42px;box-shadow:inset 0 0 0 1px #ffffff59}.hero>div:first-child{z-index:1;max-width:620px;position:relative}.hero h1{letter-spacing:-.045em;margin:12px 0 16px;font-size:clamp(32px,4.2vw,54px);font-weight:950;line-height:1}.hero p{color:#103520;max-width:620px;margin:0;font-size:15px;line-height:1.55}.eyebrow{text-transform:uppercase;letter-spacing:.13em;color:inherit;font-size:11px;font-weight:950}.score{z-index:2;aspect-ratio:1;text-align:center;background:#ffe45c;border:1px solid #0000001f;border-radius:22px;place-items:center;min-width:128px;padding:16px;display:grid;position:relative;box-shadow:0 14px 24px #00000021}.score span{font-size:34px;font-weight:950}.score b{font-size:12px;display:block}.score.pass{color:#fff;background:#050505}.stats{grid-template-columns:repeat(auto-fit,minmax(138px,1fr));gap:12px;padding:18px 24px 0;display:grid}.stat,.card{background:var(--panel);border:1px solid var(--line);box-shadow:0 12px 30px #0f172a0f}.stat{border-radius:18px;gap:5px;padding:14px;display:grid}.stat svg{width:19px;color:var(--green-dark)}.stat span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800}.stat b{overflow-wrap:anywhere;font-size:18px;line-height:1.12}.stat.good b,.stat.good svg{color:#148243}.stat.bad b,.stat.bad svg{color:#d93939}.score-save-card{border-radius:22px;grid-template-columns:1fr minmax(230px,310px);align-items:start;gap:18px;margin:16px 24px 0;padding:20px;display:grid}.score-save-card h3{margin:4px 0 8px;font-size:22px}.score-save-card p{color:var(--muted);margin:0;line-height:1.5}.score-save-actions{gap:10px;display:grid}.score-save-actions label{color:var(--muted);gap:7px;font-size:13px;font-weight:900;display:grid}.score-save-actions input{border:1px solid var(--line);color:#0a0f0d;background:#fffdf3;border-radius:999px;outline:0;width:100%;padding:11px 14px}.score-message{color:var(--green-dark);grid-column:1/-1;font-weight:900}.saved-scores{color:var(--muted);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px;display:flex}.saved-scores span{background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:7px 10px}.filters{flex-wrap:wrap;align-items:center;gap:10px;margin:16px 24px;display:flex}.filters label{background:#ffffff94;border:1px solid #00000014;border-radius:999px;align-items:center;gap:7px;padding:8px 11px;font-size:14px;font-weight:800;display:flex}.count{color:#12381f;margin-left:auto;font-size:14px;font-weight:900}.card{border-radius:22px;padding:22px}.question-card{background:#fffef8;margin:0 24px}.question-meta{color:var(--muted);justify-content:space-between;gap:12px;margin-bottom:14px;font-size:13px;display:flex}.tags{flex-wrap:wrap;gap:6px;display:flex}.tags span{background:var(--soft);color:#0f5b34;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900}.tags .warn{color:#995f00;background:#fff0cd}.question-card h2{white-space:pre-wrap;letter-spacing:-.018em;max-width:920px;margin:0 0 18px;font-size:clamp(17px,1.45vw,22px);line-height:1.38}.options{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.option{text-align:left;color:#0a0f0d;background:#fff;border:2px solid #0000;border-radius:18px;align-items:flex-start;gap:11px;min-height:54px;padding:12px 14px;display:flex;box-shadow:0 8px 18px #00000012}.option:hover,.option.selected{border-color:#050505;transform:translateY(-1px)}.option b{color:#fff;background:#050505;border-radius:50%;flex:none;place-items:center;width:27px;height:27px;margin-top:1px;font-size:12px;display:grid}.option span{overflow-wrap:anywhere;font-size:13px;font-weight:760;line-height:1.38}.option.correct{background:#e7f8ee;border-color:#148243}.option.correct b{background:#148243}.option.wrong{background:#fff0ef;border-color:#d93939}.option.wrong b{background:#d93939}.option.muted{opacity:.68}.actions,.pager{align-items:center;gap:10px;margin-top:18px;display:flex}.primary,.ghost,.danger,.icon{border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:10px 15px;font-weight:950;display:inline-flex}a.icon{color:var(--ink);text-decoration:none}.primary{color:#fff;background:#050505}.ghost,.icon{color:inherit;border:1px solid var(--line);background:#ffffff52}.danger{color:#b91c1c;background:#fff0ef;border:1px solid #b91c1c2e}.wide{width:100%;margin:4px 0}.compact{padding:8px 12px}.explanation{white-space:pre-wrap;border-radius:18px;margin-top:16px;padding:16px;font-size:14px;line-height:1.55}.explanation.ok{background:#22c55e1f;border:1px solid #22c55e59}.explanation.bad{background:#ef44441f;border:1px solid #ef444459}.explanation h3{margin:0 0 8px;font-size:18px}.explanation p{margin:0}.attempt-note{color:var(--green-dark);font-weight:900;margin-top:12px!important}.pager{margin:18px 24px 0}.progressline{background:#ffffff8c;border-radius:999px;flex:1;height:10px;overflow:hidden}.progressline span{border-radius:inherit;background:#050505;height:100%;display:block}.empty{text-align:center;color:var(--muted)}.dashboard-page{gap:18px;padding:28px 24px 0;display:grid}.dashboard-heading{color:#0b2e19;justify-content:space-between;align-items:flex-end;gap:20px;padding:8px 4px 6px;display:flex}.dashboard-heading h1{letter-spacing:-.045em;margin:6px 0 8px;font-size:clamp(30px,4vw,48px);line-height:1}.dashboard-heading p{max-width:650px;margin:0;line-height:1.5}.dashboard-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.dashboard-kpi{border:1px solid var(--line);background:var(--panel);min-width:0;color:var(--ink);border-radius:18px;align-items:center;gap:13px;padding:16px;display:flex;box-shadow:0 10px 24px #0f172a0f}.dashboard-kpi>span{color:#16834a;background:var(--soft);border-radius:14px;flex:none;place-items:center;width:42px;height:42px;display:grid}.dashboard-kpi div{gap:3px;min-width:0;display:grid}.dashboard-kpi small{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:850}.dashboard-kpi strong{overflow-wrap:anywhere;font-size:24px}.chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.chart-card{min-width:0;color:var(--ink);padding:20px}.chart-card h3,.ai-card h3{margin:4px 0 0;font-size:20px}.line-chart{margin-top:12px;overflow-x:auto}.line-chart svg{width:100%;min-width:400px;display:block;overflow:visible}.line-chart text{fill:var(--ink);font-size:12px;font-weight:850}.line-chart .month-label{fill:var(--muted);font-size:11px}.chart-gridline{stroke:var(--line);stroke-width:1px;stroke-dasharray:5 6}.chart-empty{min-height:200px;color:var(--muted);place-items:center;display:grid}.ai-card{color:var(--ink);grid-template-columns:1fr auto;align-items:center;gap:16px;margin-bottom:4px;display:grid}.ai-title{align-items:center;gap:12px;display:flex}.ai-title>span{color:#7a5a00;background:#fff2b8;border-radius:15px;place-items:center;width:44px;height:44px;display:grid}.ai-card>p{color:var(--muted);grid-column:1/-1;margin:0}.insight-result{border-top:1px solid var(--line);grid-column:1/-1;gap:12px;padding-top:14px;display:grid}.insight-result>strong{font-size:18px;line-height:1.45}.insight-result p,.insight-result ul{color:var(--muted);margin:0;line-height:1.55}.trend{background:var(--soft);text-transform:uppercase;border-radius:999px;width:max-content;padding:6px 10px;font-size:12px;font-weight:900}.trend.improving{color:#147a42;background:#e3f7ea}.trend.declining{color:#a51d1d;background:#fff0ef}.insight-result details{border:1px solid var(--line);border-radius:14px;padding:12px}.insight-result summary{cursor:pointer;font-weight:850}.insight-result pre{color:#d9f8e4;background:#09120d;border-radius:10px;max-height:320px;margin:12px 0 0;padding:12px;font-size:11px;overflow:auto}.login-shell{color:#102016;background:#f7faf8;grid-template-columns:minmax(420px,560px) minmax(0,1fr);min-height:100vh;display:grid}.login-card{align-self:center;width:min(100%,480px);margin:auto;padding:44px}.login-brand{letter-spacing:-.02em;align-items:center;gap:10px;margin-bottom:58px;font-weight:950;display:flex}.login-brand>span{color:#fff;background:#16834a;border-radius:13px;place-items:center;width:40px;height:40px;display:grid;box-shadow:0 10px 24px #16834a3d}.login-heading h1{letter-spacing:-.055em;margin:8px 0 12px;font-size:clamp(38px,5vw,54px);line-height:1}.login-heading>p:last-child{color:#5c6c61;margin:0 0 28px;line-height:1.65}.login-shield{color:#16834a;background:#e6f6ec;border-radius:17px;place-items:center;width:52px;height:52px;margin-bottom:18px;display:grid}.google-login,.login-submit{border-radius:15px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:52px;font-weight:900;display:flex}.google-login{color:#18251d;background:#fff;border:1px solid #d8e2db;box-shadow:0 8px 22px #12301d12}.google-identity-button{justify-content:center;align-items:center;min-height:52px;display:flex;overflow:hidden}.google-identity-button.loading{opacity:.55;pointer-events:none}.google-mark{color:#fff;background:linear-gradient(135deg,#4285f4 0 45%,#34a853 45% 68%,#fbbc05 68% 84%,#ea4335 84%);border-radius:50%;place-items:center;width:25px;height:25px;font-weight:950;display:grid}.login-divider{color:#7a887f;text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:12px;margin:25px 0;font-size:12px;font-weight:800;display:flex}.login-divider:before,.login-divider:after{content:"";background:#dde6e0;flex:1;height:1px}.login-form{gap:16px;display:grid}.login-form label{color:#34483b;gap:7px;font-size:13px;font-weight:900;display:grid}.login-input{color:#718078;background:#fff;border:1px solid #d4dfd7;border-radius:15px;align-items:center;gap:10px;min-height:52px;padding:0 15px;transition:border-color .18s,box-shadow .18s;display:flex}.login-input:focus-within{border-color:#16834a;box-shadow:0 0 0 4px #16834a1a}.login-input input{color:#102016;background:0 0;border:0;outline:0;width:100%}.login-submit{color:#fff;background:#102016;margin-top:4px;box-shadow:0 12px 26px #10201633}.login-error{color:#a51d1d;background:#fff0ef;border-radius:12px;margin:0;padding:11px 13px;font-size:13px;font-weight:800}.login-footnote{color:#7a887f;text-align:center;margin:22px 0 0;font-size:12px;line-height:1.5}.login-aside{color:#fff;background:radial-gradient(circle at 78% 17%,#ffe45ccc 0 8%,#0000 8.5%),radial-gradient(circle at 73% 24%,#ffffff29 0 22%,#0000 22.5%),linear-gradient(145deg,#184b2f,#2ca661 58%,#42bd70);align-items:flex-end;min-height:100vh;padding:clamp(44px,7vw,96px);display:flex;overflow:hidden}.login-aside>div{max-width:650px}.login-aside h2{letter-spacing:-.055em;margin:12px 0 28px;font-size:clamp(38px,5vw,70px);line-height:1.02}.login-aside ul{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.login-aside li{background:#0000001f;border:1px solid #ffffff38;border-radius:999px;padding:9px 13px;font-size:13px;font-weight:850}@media (display-mode:standalone){body{-webkit-user-select:none;user-select:none}.app{border-radius:0;width:100vw;min-height:100vh;margin:0}}@media (width<=980px){.login-shell{grid-template-columns:1fr}.login-card{padding:36px 24px}.login-brand{margin-bottom:38px}.login-aside{display:none}.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-grid{grid-template-columns:1fr}.app{border-radius:0;grid-template-columns:1fr;width:100vw;min-height:100vh;margin:0;padding:0}.sidebar{border-right:0;border-bottom:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:start;gap:8px;max-height:none;display:grid;position:relative;overflow-x:auto}.brand{padding:8px}.sidebar>.wide{display:none}.section-title{grid-column:1/-1;margin:8px 8px 4px}.topic,.subtopic{width:auto;margin:2px 3px;display:inline-flex}.main{padding-bottom:calc(18px + env(safe-area-inset-bottom))}.topbar{flex-wrap:wrap;height:auto;padding:12px}.search{order:4;min-width:100%}.hero{border-radius:0;min-height:auto;margin:0;padding:30px 22px 28px;display:block}.hero:after{border-radius:30px;width:140px;height:140px;top:28px;right:16px}.hero h1{max-width:520px;font-size:36px}.hero p{font-size:14px}.score{width:112px;min-width:112px;margin-top:20px}.score span{font-size:30px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px}.score-save-card,.question-card,.filters,.pager{margin-left:16px;margin-right:16px}.score-save-card,.options{grid-template-columns:1fr}.question-meta{display:block}.question-card h2{font-size:18px}.count{width:100%;margin-left:0}}@media (width<=560px){.sidebar{padding:10px;display:block}.brand{padding:4px}.sidebar-tabs{margin-top:8px}.topic,.subtopic{padding:8px 10px;font-size:12px}.topbar .ghost,.topbar .danger{padding:10px 12px;font-size:0}.topbar .ghost svg,.topbar .danger svg{margin:0}.hero h1{letter-spacing:-.03em;font-size:30px}.stats{grid-template-columns:1fr}.dashboard-page{padding:18px 14px 0}.dashboard-heading{display:grid}.dashboard-kpis,.ai-card{grid-template-columns:1fr}.card{padding:17px}.question-card h2{font-size:16px;line-height:1.42}.option span{font-size:12.5px}.actions,.pager{flex-wrap:wrap}.pager .progressline{flex-basis:100%;order:-1}.primary,.ghost,.danger,.icon{min-height:44px}.option{border-radius:16px;align-items:flex-start}}
