:root{--bg:#f5f7f6;--card:#fff;--text:#132226;--muted:#69777b;--primary:#087c6c;--primary-strong:#076457;--accent:#e46649;--ok:#178354;--warn:#c57925;--border:#dce4e2;--focus:#e0f2ef;--pulse:#fcf2d9;--ink:#0c1517}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Inter,system-ui,Segoe UI,Arial,sans-serif}button,input,select,textarea{font:inherit}.initial-page{background:var(--ink);color:#fff;align-content:center;gap:46px;min-height:100vh;padding:clamp(28px,7vw,82px);display:grid}.initial-copy{max-width:620px}.initial-copy h1{color:#fff;letter-spacing:0;margin:0 0 18px;font-size:clamp(42px,5vw,62px);line-height:1.06}.initial-copy>p:not(.overline){color:#adbbbd;max-width:500px;margin:0;font-size:18px;line-height:1.55}.initial-copy .initial-upcoming{color:#f3be63;margin-top:20px;font-size:14px}.shell{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.side{background:var(--ink);color:#fff;height:100vh;padding:22px 18px;position:sticky;top:0}.wordmark{color:var(--ink);align-items:center;gap:10px;font-size:21px;font-weight:760;display:inline-flex}.wordmark.inverse{color:#fff}.brand-mark{background:var(--primary);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;font-size:22px;font-weight:800;display:inline-flex}.side-wordmark{margin:0 4px 28px}.user-block{border:1px solid #263236;border-radius:8px;align-items:center;gap:10px;margin-bottom:24px;padding:12px;display:flex}.user-block p{color:#fff;overflow-wrap:anywhere;min-width:0;margin:0;font-size:14px}.user-block span{color:#8fa1a5}.avatar{color:#60d5bf;background:#1c302e;border-radius:50%;flex:0 0 38px;place-items:center;width:38px;height:38px;font-weight:700;display:grid}.nav button{color:#afc1c4;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;width:100%;margin:4px 0;padding:12px;font-weight:550}.nav button.active,.nav button:hover{color:#fff;background:#162a2a}.nav-feature{justify-content:space-between;align-items:center;gap:8px;display:flex}.nav-feature span{color:#f3c66f;background:#30281b;border-radius:999px;padding:3px 6px;font-size:10px;font-weight:700}.main{width:100%;max-width:1280px;margin:auto;padding:24px}.topbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.topbar h1{letter-spacing:0;margin:0}.sync-status{border:1px solid var(--border);color:var(--muted);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:600;display:inline-flex}.sync-status span{background:#22a875;border-radius:50%;width:8px;height:8px}.card{background:var(--card);border:1px solid var(--border);border-radius:8px;margin-bottom:16px;padding:18px;box-shadow:0 8px 26px #1322260b}.stat-filter{color:var(--text);cursor:pointer;text-align:left;flex-direction:column;align-items:flex-start;gap:4px;transition:border-color .16s,box-shadow .16s,background .16s;display:flex}.stat-filter:hover{border-color:#8bc8bd}.stat-filter.active{background:var(--focus);border-color:var(--primary);box-shadow:0 0 0 2px #087c6c1f}.filter-chip{color:#92400e;background:#fef3c7;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:700}.grid{gap:16px;display:grid}.grid.cols5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid.cols4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.cols2{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{font-size:28px;font-weight:800}.muted{color:var(--muted)}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}input,select,textarea{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:8px;padding:10px}input,select{height:42px}input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:2px solid #087c6c2b}input[type=checkbox]{width:auto;height:auto}button.primary{background:var(--primary);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:10px 14px;font-weight:650}button.primary:hover{background:var(--primary-strong)}button:disabled{opacity:.68;cursor:wait}button.secondary{color:var(--text);border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:8px;padding:10px 14px}.resources{margin:12px 0 18px}.resource-link{background:var(--primary);color:#fff;border-radius:8px;align-items:center;min-height:42px;padding:10px 14px;font-weight:600;text-decoration:none;display:inline-flex}.resource-link.video{background:var(--accent)}.resource-link:hover{filter:brightness(.93)}.learning-grid{gap:12px;margin:18px 0 20px;display:grid}.learning-card{border:1px solid var(--border);background:#fff;border-radius:8px;padding:14px}.learning-card h3{color:var(--text);margin:0 0 10px;font-size:14px}.learning-card p{color:#34464b;margin:0;font-size:14px;line-height:1.55}.learning-card ol,.learning-card ul{color:#34464b;margin:0;padding-left:20px;font-size:14px;line-height:1.55}.problem-list{max-height:70vh;padding-right:4px;overflow:auto}.problem{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:8px;margin-bottom:10px;padding:14px;transition:all .2s}.problem:hover{border-color:#8bc8bd}.problem.selected{background:var(--focus);border-color:var(--primary);box-shadow:0 0 0 3px #087c6c1f}.problem.pulse{animation:1.2s ease-in-out 2 pulse}@keyframes pulse{0%{background:var(--pulse)}to{background:var(--focus)}}.badge{border:1px solid var(--border);background:#fff;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700}.Solved{color:#166534;background:#dcfce7}.Learning{color:#1d4ed8;background:#dbeafe}.Revision{color:#92400e;background:#fef3c7}.difficulty-easy{color:#166534;background:#dcfce7}.difficulty-medium{color:#92400e;background:#fef3c7}.difficulty-hard{color:#991b1b;background:#fee2e2}.difficulty-practice{color:#475467;background:#f2f4f7}.controls label{align-items:center;gap:6px;display:inline-flex}.controls input[type=number]{width:76px}.day{border:1px solid var(--border);background:#fff;border-radius:8px;margin:10px 0;padding:12px}.day summary{cursor:pointer;margin-bottom:10px}.feedback-layout{grid-template-columns:minmax(420px,1.25fr) minmax(270px,.75fr);gap:16px;display:grid}.feedback-form h2,.feedback-aside h2{margin:0 0 10px}.feedback-form .muted{margin:0 0 18px}.feedback-form label{color:#334449;gap:8px;font-size:14px;font-weight:620;display:grid}.feedback-form textarea{resize:vertical;min-height:140px}.rating-field{border:0;margin:0;padding:0}.rating-field legend{color:#334449;margin-bottom:8px;font-size:14px;font-weight:620}.rating-choice{gap:8px;display:flex}.rating-choice label{display:block}.rating-choice input{opacity:0;pointer-events:none;position:absolute}.rating-choice span{border:1px solid var(--border);width:46px;height:44px;color:var(--muted);cursor:pointer;background:#fff;border-radius:8px;place-items:center;font-weight:700;display:grid}.rating-choice input:checked+span{border-color:var(--primary);background:var(--focus);color:var(--primary)}.feedback-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.feedback-success{color:var(--primary-strong);background:#e7f7f2;border:1px solid #a7dbc9;border-radius:8px;margin-top:18px;padding:12px;font-weight:600}.feedback-topic{border-top:1px solid var(--border);padding:16px 0}.feedback-topic:first-of-type{margin-top:14px}.feedback-topic b{margin-bottom:5px;display:block}.feedback-topic span{color:var(--muted);font-size:14px;line-height:1.45}.mock-layout{grid-template-columns:minmax(340px,.9fr) minmax(390px,1.1fr);gap:16px;display:grid}.mock-form h2,.mock-schedule h2{margin:0 0 10px}.mock-form .muted{margin:0 0 18px;line-height:1.45}.mock-form label{color:#334449;gap:8px;font-size:14px;font-weight:620;display:grid}.mock-form textarea{resize:vertical;min-height:106px}.soon-tag{color:#945f08;background:#fff6df;border:1px solid #f1cf86;border-radius:999px;margin-left:8px;padding:4px 8px;font-size:11px;display:inline-flex}.mock-form button:disabled{color:#fff;cursor:not-allowed;background:#b8c8c6}.choice-field{border:0;margin:0;padding:0}.choice-field legend{color:#334449;margin-bottom:8px;font-size:14px;font-weight:620}.choice-switch{background:#eef3f2;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;display:grid}.choice-switch label{display:block}.choice-switch input{opacity:0;pointer-events:none;position:absolute}.choice-switch span{min-height:42px;color:var(--muted);cursor:pointer;text-align:center;border-radius:6px;place-items:center;padding:8px 10px;font-size:14px;font-weight:650;display:grid}.choice-switch input:checked+span{color:var(--primary);background:#fff;box-shadow:0 1px 4px #13222614}.mock-head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.soon-badge{color:#945f08;background:#fff6df;border-color:#f1cf86}.mock-preview-list{gap:12px;display:grid}.mock-preview-list p{border:1px solid var(--border);border-radius:8px;margin:0;padding:14px}.mock-preview-list b{margin-bottom:6px;display:block}.mock-preview-list span{color:var(--muted);font-size:14px;line-height:1.45}.support-card{background:var(--focus);border-radius:8px;margin-top:8px;padding:15px}.support-card b,.support-card span{margin-bottom:6px;display:block}.support-card span{color:var(--muted);font-size:14px}.support-card a{overflow-wrap:anywhere;font-weight:650}.auth-page{background:#fff;grid-template-columns:minmax(400px,1.02fr) minmax(420px,.98fr);min-height:100vh;display:grid}.auth-showcase{background:var(--ink);color:#fff;flex-direction:column;justify-content:space-between;gap:42px;padding:44px clamp(38px,7vw,82px) 48px;display:flex;position:relative;overflow:hidden}.auth-showcase:after{content:"";opacity:.42;pointer-events:none;background-image:linear-gradient(#1b2a2c 1px,#0000 1px),linear-gradient(90deg,#1b2a2c 1px,#0000 1px);background-size:34px 34px;height:38%;position:absolute;inset:auto 0 0}.overline{color:#61cab8;margin:0 0 18px;font-size:12px;font-weight:760}.showcase-copy{z-index:1;max-width:500px;position:relative}.showcase-copy h1{letter-spacing:0;color:#fff;margin:0 0 18px;font-size:clamp(46px,5vw,62px);line-height:1.05}.showcase-subtitle{color:#adbbbd;max-width:390px;margin:0;font-size:18px;line-height:1.55}.showcase-upcoming{color:#cfdbdc;align-items:center;gap:10px;margin:22px 0 0;font-size:14px;line-height:1.45;display:flex}.showcase-upcoming span{color:#f3be63;text-transform:uppercase;background:#332a20;border-radius:999px;flex:none;padding:5px 9px;font-size:11px;font-weight:750}.session-preview{z-index:1;background:#111d20;border:1px solid #27383a;border-radius:8px;width:min(480px,100%);padding:18px;position:relative;box-shadow:0 24px 48px #00000038}.preview-head{color:#dbe7e7;justify-content:space-between;align-items:center;margin-bottom:12px;font-weight:650;display:flex}.preview-date{color:#f3be63;background:#332a20;border-radius:999px;padding:5px 10px;font-size:12px}.preview-row{color:#e4eded;border-radius:8px;grid-template-columns:10px 1fr auto;align-items:center;gap:12px;padding:12px 10px;display:grid}.preview-row.active{background:#172a2b}.preview-row b{font-size:14px;display:block}.preview-row small{color:#839598;margin-top:3px;display:block}.preview-row strong{color:#55c2ae;font-size:12px}.preview-row .complete{color:#4dd38d}.preview-row .review{color:#f4b14a}.preview-dot{border-radius:50%;width:8px;height:8px}.preview-dot.easy{background:#3cb677}.preview-dot.medium{background:#f1ab3c}.preview-dot.hard{background:#eb6f56}.auth-panel{justify-content:center;align-items:center;padding:34px clamp(30px,7vw,80px);display:flex;position:relative}.wordmark.compact{display:none}.auth-box{width:min(420px,100%)}.auth-box h2{letter-spacing:0;margin:0 0 9px;font-size:31px;line-height:1.2}.auth-subtitle{color:var(--muted);margin:0 0 27px}.auth-notice{color:#92400e;background:#fffbeb;border:1px solid #f59e0b;border-radius:8px;padding:10px 12px}.auth-tabs{background:#f0f3f2;border-radius:8px;grid-template-columns:1fr 1fr;margin:20px 0 24px;padding:4px;display:grid}.auth-tabs button{cursor:pointer;height:44px;color:var(--muted);background:0 0;border:0;border-radius:6px;font-weight:600}.auth-tabs button.active{color:var(--text);background:#fff;box-shadow:0 1px 4px #13222614}.auth-form{gap:17px;display:grid}.auth-form label{color:#334449;gap:8px;font-size:14px;font-weight:620;display:grid}.auth-form input{width:100%;height:48px;padding:12px 14px}.password-field{border:1px solid var(--border);background:#fff;border-radius:8px;display:flex;overflow:hidden}.password-field:focus-within{border-color:var(--primary);outline:2px solid #087c6c2b}.password-field input{border:0;border-radius:0;outline:none}.password-field input:focus{outline:none}.password-field button{color:var(--primary);cursor:pointer;background:#fff;border:0;padding:0 14px;font-size:13px;font-weight:700}.auth-submit{width:100%;height:50px;margin-top:6px}.auth-divider{color:#8b989a;align-items:center;gap:14px;margin:24px 0;font-size:13px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.google-button{border:1px solid var(--border);width:100%;height:50px;color:var(--text);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:12px;font-weight:620;display:flex}.google-button:hover{background:#f8faf9;border-color:#bfcac8}.google-letter{color:#4285f4;place-items:center;width:22px;font-size:18px;font-weight:750;display:inline-grid}.auth-foot{text-align:center;color:#8b989a;margin:25px 0 0;font-size:13px}.help-link{text-align:center;color:#8b989a;margin:12px 0 0;font-size:13px}.help-link a{font-weight:600}.auth-copyright{text-align:center;color:#9aa6a8;margin:28px 0 0;font-size:12px}.app-footer{border-top:1px solid var(--border);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:28px;padding:20px 0 8px;font-size:13px;display:flex}.app-footer a{font-weight:600}.hidden{display:none!important}.toast{background:var(--ink);color:#fff;z-index:20;border-radius:8px;padding:12px 16px;position:fixed;bottom:20px;right:20px;box-shadow:0 10px 30px #00000040}a{color:var(--primary)}@media (width<=1080px){.grid.cols5{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=860px){.auth-page{background:#fff;display:block}.auth-showcase{display:none}.auth-panel{min-height:100vh;padding:26px 20px 40px;display:block}.wordmark.compact{margin-bottom:42px;display:inline-flex}.auth-box{margin:0 auto}.shell{grid-template-columns:1fr}.side{height:auto;position:relative}.grid.cols5,.grid.cols4,.grid.cols2,.feedback-layout,.mock-layout{grid-template-columns:1fr}.topbar{display:block}.main{padding:14px}.app-footer{text-align:center;display:block}.app-footer a{margin-top:9px;display:block}}
