:root{--ink:#13255e;--blue:#315ee7;--pink:#e84f9a;--paper:#f5f7fc;--line:#dfe5f2;--soft:#68728a}.sideNav a{display:flex;align-items:center;gap:11px;color:#cbd7ff;text-decoration:none;padding:11px 16px;border-radius:12px;margin:2px 10px;font-size:14px}.sideNav a:hover,.sideNav a.active{color:#fff;background:rgba(255,255,255,.12)}.sideNav .ico{width:16px;text-align:center}.notificationBadge:empty{display:none}.notificationBadge{margin-left:auto;min-width:18px;text-align:center;border-radius:9px;background:var(--pink);color:white;font-size:11px;padding:1px 4px}.publicShell{min-height:100vh;background:var(--paper)}.publicNav{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.publicNavInner{height:72px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand,.appBrand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:800}.brandMark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--ink);color:#fff}.brandText small{display:block;font-weight:700;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--pink)}.publicLinks,.navActions{display:flex;align-items:center;gap:20px}.publicLinks a{color:#566079;text-decoration:none;font-weight:600}.container{width:min(1140px,calc(100% - 40px));margin:0 auto}.hero{padding:74px 0 42px;background:linear-gradient(120deg,#13255e,#315ee7);color:#fff}.heroGrid{display:grid;grid-template-columns:1.2fr .8fr;gap:42px;align-items:center}.hero h1{font-size:clamp(33px,5vw,58px);line-height:1.04;margin:0 0 20px}.hero p{font-size:18px;line-height:1.6;color:#e4eaff}.heroCard,.authCard,.card,.panel{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 10px 35px #1f39700f}.heroCard{padding:26px;color:#26324e}.section{padding:52px 0}.section h2{color:var(--ink);font-size:30px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{padding:23px}.card h3{color:var(--ink);margin-top:0}.publicFooter{padding:26px 0;background:#101d49;color:#d6dffb}.footerGrid{display:flex;justify-content:space-between;gap:20px}.footerLinks{display:flex;gap:16px}.footerLinks a{color:#d6dffb}.authPage{min-height:calc(100vh - 140px);display:grid;place-items:center;padding:40px 20px}.authCard{width:min(460px,100%);padding:32px}.authCard h1{color:var(--ink);margin-top:0}.field{display:grid;gap:6px;margin:14px 0}.field input,.field textarea,.field select,.practiceSelect{width:100%;box-sizing:border-box;border:1px solid #cbd5e7;border-radius:10px;padding:11px 12px;background:white;font:inherit}.field input:focus,.field textarea:focus,.field select:focus{outline:3px solid #cddaff;border-color:var(--blue)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:7px;border:1px solid #c9d3e6;background:white;color:#243250;border-radius:10px;padding:10px 14px;text-decoration:none;font:inherit;font-weight:700;cursor:pointer}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.pink{background:var(--pink);border-color:var(--pink);color:#fff}.btn.full{width:100%;margin-top:10px}.btn.disabled{opacity:.55;cursor:not-allowed}.messages{width:min(900px,calc(100% - 32px));margin:16px auto}.message{padding:12px 15px;border-radius:10px;margin:8px 0;background:#e8f5ee;color:#135a3c}.message.error{background:#ffe9ec;color:#941d38}.appMain .content{padding:26px;max-width:1320px}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:11px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.smallText{font-size:13px;line-height:1.45;color:var(--soft)}.textBtn{border:0;background:transparent;color:var(--blue);font:inherit;font-weight:700;cursor:pointer;padding:5px}.pagination{display:flex;gap:8px;align-items:center;margin:20px 0}.pagination a{color:var(--blue)}.errorPage{min-height:70vh;display:grid;place-items:center;text-align:center;padding:30px}.errorPage h1{font-size:80px;color:var(--ink);margin:0}.learningApp .navBtn{display:block;text-decoration:none}.learningApp .navBtn.unavailable{opacity:.55}.learningApp .navBtn small{display:block;font-size:10px;margin-top:3px}.theoryDetails summary{cursor:pointer;font-size:12px;color:#dce6ff;padding:6px 18px}.theorySubnav{display:grid;gap:2px;padding:3px 11px 8px}.theorySubnav .subNavBtn{font-size:11px;line-height:1.25;text-align:left;color:#c8d5fa;text-decoration:none;padding:5px 8px;border-radius:6px}.theorySubnav .subNavBtn:hover{background:#ffffff18;color:white}.bookPages{--theory-zoom:1}.bookPageWrap{position:relative;margin:0 auto 18px;width:max-content;max-width:100%;transform:scale(var(--theory-zoom));transform-origin:top center;margin-bottom:calc(18px + (var(--theory-zoom) - 1) * 100%)}.bookPage{display:block;max-width:100%;height:auto;box-shadow:0 8px 25px #0b1d4d22}.theoryAnchor{position:absolute;left:0;right:0;height:4px;background:transparent;z-index:1}.theoryAnchor:target{background:#e84f9a99}.learningWorkspace{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.learningWorkspace.notesOpen{grid-template-columns:minmax(0,1fr) 320px}.notesPanel{display:none;border:1px solid var(--line);border-radius:16px;background:#fff;padding:16px;height:max-content;position:sticky;top:16px}.notesOpen .notesPanel{display:block}.panelHead{display:flex;justify-content:space-between;align-items:center}.panelHead h3{margin:0}.practiceArea{position:relative}.practiceArea canvas{position:absolute;inset:0;z-index:3;pointer-events:none}.practiceArea canvas.drawing{pointer-events:auto;touch-action:none;cursor:crosshair}.annotationTools{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}.annotationTools .active{background:var(--ink);color:#fff}.timerRow{display:flex;justify-content:space-between;align-items:center;margin:0 0 18px}.timer{font-variant-numeric:tabular-nums;font-size:24px;font-weight:800;color:var(--pink)}.feedback{padding:15px;margin-top:18px;border-radius:12px}.feedback.ok{background:#e8f7ef}.feedback.bad{background:#fff0f1}.sectionGap{margin-top:12px}@media(max-width:800px){.publicLinks{display:none}.heroGrid,.grid3{grid-template-columns:1fr}.learningWorkspace.notesOpen{grid-template-columns:1fr}.notesPanel{position:static}.appSidebar{transform:translateX(-100%);transition:transform .2s;z-index:20}.appSidebar.open{transform:translateX(0)}.appMain .content{padding:16px}.footerGrid{display:grid}.mainPanelButton{display:none}.learningApp .sidebar{transform:translateX(-100%);z-index:10;transition:transform .2s}.learningApp .sidebar.open{transform:translateX(0)}.mobileMenu{display:inline-flex}.practiceGrid{grid-template-columns:1fr!important}.publicNavInner{height:64px}.navActions{gap:8px}.navActions .btn{padding:8px 10px}}
