:root{--ink:#172d40;--muted:#526778;--accent:#087f82;--deep:#102e42;--line:#dce5eb;--bg:#f2f6f8;--focus:#c57704;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:var(--bg);font-size:16px;line-height:1.6}*{box-sizing:border-box}body{margin:0}a{color:#096b79;text-underline-offset:4px}a:hover{color:#034c59}button,input,textarea,select{font:inherit}button,a,input,textarea,summary,select{touch-action:manipulation}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}h1,h2,h3{line-height:1.2;letter-spacing:-.025em}h1{font-size:clamp(2rem,4vw,3rem);margin:.3em 0}h2{font-size:1.5rem;margin:0 0 1rem}h3{font-size:1.15rem}p{margin:.65em 0 1.2em}small,.small{font-size:.875rem}.muted{color:var(--muted)}.eyebrow{font-size:.78rem;font-weight:750;letter-spacing:.12em;margin:0 0 .7rem}.topbar{min-height:84px;padding:1rem 3%;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;background:white;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:.8rem;color:var(--ink);text-decoration:none;line-height:1.3;white-space:nowrap}.brand strong{display:block}.brandmark{display:grid;place-items:center;background:var(--deep);color:white;border-radius:12px;width:44px;height:44px;font-weight:800;font-size:1.45rem}.topbar nav{display:flex;gap:1.4rem;flex-wrap:wrap}.topbar nav a{font-size:.9rem;text-decoration:none;color:var(--muted)}.topbar nav a[aria-current]{color:var(--accent);font-weight:750}.user-menu{display:flex;align-items:center;gap:1rem;font-size:.9rem}.user-menu form{margin:0}.link-button{border:0;background:none;padding:0;color:var(--muted);cursor:pointer;min-height:40px}.shell{max-width:1320px;margin:auto;padding:2.5rem 2rem 4rem;min-height:75vh}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-bottom:2rem}.panel{background:white;border:1px solid var(--line);border-radius:16px;padding:2rem;margin-bottom:1.5rem;box-shadow:0 3px 12px #18334a03}.dashboard-top{display:grid;grid-template-columns:1.6fr 1fr;gap:1.5rem;margin-bottom:2.5rem}.continue-card{border-radius:18px;background:var(--deep);color:white;padding:2.4rem;position:relative;overflow:hidden}.continue-card:after{content:'';position:absolute;right:-65px;bottom:-105px;border:35px solid #214b604d;width:260px;height:260px;border-radius:50%;pointer-events:none}.continue-card>*{position:relative;z-index:1}.continue-card .eyebrow{color:#a1d9db}.continue-card h2{font-size:1.8rem;max-width:28ch;margin-bottom:1.8rem}.lesson-code{font-size:.9rem;color:#c6dbe5}.progress-summary{margin:0;display:flex;flex-direction:column;justify-content:center}.stat-line{display:flex;justify-content:space-between;gap:1rem;align-items:center}.stat-line strong{font-size:2rem}.stat-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);padding-top:1rem;gap:1rem}.stat-grid b{display:block;font-size:1.7rem}.stat-grid span{font-size:.875rem;color:var(--muted)}progress{width:100%;height:12px;border:0;background:#e7eef2;border-radius:99px;accent-color:var(--accent);margin:.7rem 0}progress::-webkit-progress-bar{background:#e7eef2;border-radius:99px}progress::-webkit-progress-value{background:var(--accent);border-radius:99px}.section-heading{margin-bottom:1.5rem}.section-heading p{margin:0}.level-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.level-grid .panel{margin:0}.level-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.level-number{color:#668497;font-size:1.6rem;line-height:1;font-weight:750}.badge{display:inline-block;padding:.25rem .65rem;border-radius:6px;font-size:.8rem;background:#eef3f6;color:#425b6e}.badge.success{background:#e2f3ed;color:#186044}.badge.warning{background:#fff0d7;color:#805005}.level-card h3{font-size:1.35rem;margin:1rem 0}.lesson-list{margin-bottom:1rem}.lesson-list a{display:flex;gap:.9rem;align-items:flex-start;border-bottom:1px solid #edf1f4;padding:.9rem 0;text-decoration:none;color:var(--ink);font-size:.94rem}.lesson-list a:hover{color:var(--accent)}.lesson-list small{display:block;color:var(--muted);font-size:.78rem}.status-icon{color:#6a8492;font-size:1.3rem;min-width:24px}.status-icon.done{color:var(--accent)}.text-link{font-weight:650;text-decoration:none}.button,button.primary,button.secondary{border:1px solid transparent;border-radius:8px;padding:.7rem 1.1rem;min-height:46px;font-size:.94rem;font-weight:650;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer}.primary{background:var(--accent);color:white}.primary:hover{background:#076b70;color:white}.secondary{color:var(--ink);background:#f7f9fa;border-color:#c8d6df!important}.secondary:hover{background:#eaf1f4}.light{background:white;color:var(--deep)}.wide{width:100%}.action-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}label{display:block;font-weight:650;margin:1.2rem 0 .45rem}input:not([type=checkbox]):not([type=hidden]),textarea,select{display:block;width:100%;padding:.75rem .85rem;border:1px solid #b9cad4;border-radius:8px;background:#fff;color:var(--ink)}textarea{resize:vertical;line-height:1.6;min-height:100px}input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent);flex-shrink:0}input[type=file]{font-size:.875rem}.check{display:flex;align-items:flex-start;gap:.7rem;font-weight:400}.check input{margin-top:.25rem}form>.primary{margin-top:1.4rem}.notice{padding:1rem 1.25rem;background:#e7f1f7;border-left:4px solid #357ca2;border-radius:7px;margin-bottom:1.5rem}.notice.error{background:#fff0ee;border-color:#ba493d}.notice.success{background:#e7f5ef;border-color:#258360}.login-layout{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:5rem;max-width:1050px;margin:5vh auto}.login-story h1{font-size:clamp(2.6rem,5vw,4.2rem);letter-spacing:-.055em;margin:.3em 0}.login-story p:not(.eyebrow){color:var(--muted);font-size:1.1rem}.login-numbers{display:flex;gap:3rem;margin-top:2rem}.login-numbers b{display:block;font-size:2rem;color:var(--accent)}.login-card{padding:2.5rem}.login-card .small{margin-top:1.5rem}.lesson-layout{display:grid;grid-template-columns:225px minmax(0,1fr);gap:2rem}.lesson-sidebar{position:sticky;top:1.5rem;align-self:start}.lesson-sidebar .eyebrow{margin-top:2rem;color:var(--muted)}.lesson-sidebar nav{display:grid;gap:.7rem}.lesson-sidebar nav a{font-size:.9rem;text-decoration:none;display:block;padding:.5rem .7rem;border-left:2px solid var(--line);color:var(--muted)}.lesson-sidebar nav a:hover{border-color:var(--accent);color:var(--accent)}.sidebar-status{border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1.5rem}.course-content{line-height:1.8;overflow-wrap:anywhere}.course-content h1{font-size:2rem}.course-content h2{margin-top:2.3rem}.course-content h3{margin-top:1.8rem}.course-content img{max-width:100%;height:auto}.course-content blockquote{margin:1.5rem 0;padding:1rem 1.5rem;background:#edf6f7;border-left:4px solid var(--accent)}.course-content pre{white-space:pre-wrap;background:#f0f4f6;padding:1rem}.course-content li{margin-bottom:.4rem}.question{margin:2rem 0}.question label{font-size:1.05rem}.question-number{display:inline-grid;place-items:center;width:28px;height:28px;font-size:.9rem;background:#e9f2f5;border-radius:6px;margin-right:.6rem}.save-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#f2f7fa;border-radius:8px;padding:.7rem 1rem;margin:1rem 0}.save-status{font-size:.85rem;color:var(--muted)}.save-status.error{color:#aa3129;font-weight:700}.small-button{font-size:.85rem!important;min-height:36px!important}.narrow{max-width:900px}.narrow>.panel{margin-top:1.5rem}.preserve{white-space:pre-wrap;overflow-wrap:anywhere}.answer{background:#f5f8fa;border-radius:8px;padding:1.2rem}.answer-card h3{font-size:1.1rem;line-height:1.55}.result-banner{display:grid;grid-template-columns:1fr 1.4fr;gap:2rem;border-top:4px solid var(--accent)}summary{cursor:pointer;font-weight:650;padding:.6rem 0;color:#1c6475}details[open]>summary{margin-bottom:1rem}.score-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.score-grid input{max-width:130px}.admin-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:1.5rem;align-items:start}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:.9rem}th{font-size:.8rem;color:var(--muted);font-weight:650;background:#f6f9fb}th,td{padding:1rem;border-bottom:1px solid var(--line);vertical-align:top}.course-content table{display:block;overflow-x:auto}.pending-list>a{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line);text-decoration:none}.inline-form{display:flex;align-items:end;gap:1.5rem;flex-wrap:wrap}.inline-form label{margin:0}.spaced{margin-top:1.5rem}.progress-tiles{display:flex;flex-wrap:wrap;gap:.6rem}.empty{max-width:800px}.credential{font-size:1.15rem;padding:.6rem;background:#eaf3f7;display:inline-block;overflow-wrap:anywhere}dt{font-weight:650;margin-top:1rem}dd{margin:0}.site-footer{max-width:1320px;margin:auto;border-top:1px solid var(--line);padding:1.5rem 2rem 2rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:var(--muted);font-size:.8rem}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:white;z-index:100;padding:1rem}[id]{scroll-margin-top:1.5rem}@media(max-width:1050px){.topbar{flex-wrap:wrap}.topbar nav{order:3;width:100%;gap:1.3rem}.admin-grid{grid-template-columns:1fr}.login-layout{gap:2rem}.lesson-layout{grid-template-columns:180px minmax(0,1fr)}}@media(max-width:750px){.shell{padding:1.5rem 1rem 3rem}.page-heading{align-items:start;flex-direction:column;gap:.5rem}.dashboard-top,.level-grid,.login-layout,.result-banner{grid-template-columns:1fr}.login-layout{margin:1rem 0}.login-story h1{font-size:2.6rem}.login-numbers{display:none}.panel,.continue-card{padding:1.4rem}.lesson-layout{display:block}.lesson-sidebar{position:static;margin-bottom:1.5rem}.lesson-sidebar nav{display:flex;gap:.5rem;overflow-x:auto}.lesson-sidebar nav a{white-space:nowrap;font-size:.85rem}.sidebar-status,.lesson-sidebar .eyebrow{display:none}.score-grid{grid-template-columns:repeat(2,1fr)}.topbar{padding:1rem;gap:1rem}.topbar nav{gap:1rem}.topbar nav a{font-size:.85rem}.user-menu{gap:.75rem}.save-bar{align-items:start;flex-direction:column}.course-content h1{font-size:1.65rem}.action-row>*{width:100%}.site-footer{padding:1.5rem 1rem}.pending-list>a{flex-direction:column}.feedback{border-top:1px solid var(--line);padding-top:1rem}}@media print{.topbar,.site-footer,.lesson-sidebar,.review-panel,.task-form button{display:none}.shell{padding:0}.panel{box-shadow:none;break-inside:avoid}.lesson-layout{display:block}}
