:root{--paper:#f7f5f0;--paper-raised:#fffefd;--paper-sunken:#f0ede6;--ink:#211e19;--ink-soft:#5c564c;--ink-faint:#948d80;--line:#e4dfd4;--line-strong:#cfc8b8;--accent:#0e6656;--accent-strong:#0a4f43;--accent-soft:#e2edea;--accent-line:#b9d2cb;--success:#2e7d4f;--success-soft:#e4f0e7;--error:#b23c2a;--error-soft:#f8e7e2;--amber:#96620f;--amber-soft:#f6ecd8;--font-display:"Source Serif 4", Georgia, "Times New Roman", serif;--font-body:"Inter", -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;--radius:10px;--radius-sm:6px;--shadow-raised:0 1px 2px #211e190d, 0 2px 8px #211e190a;--measure:44rem;--ref-table:#96620f;--ref-table-soft:#f6ecd8;--ref-column:#2f5d8a;--ref-column-soft:#e5edf4;--text-body:#36322b;--text-amber:#5d4a22;--code-bg:#262320;--code-ink:#e8e2d5}:root[data-theme=dark]{--paper:#1a1712;--paper-raised:#24201a;--paper-sunken:#2c2821;--ink:#f2ede1;--ink-soft:#bdb5a4;--ink-faint:#8d8475;--line:#3b352a;--line-strong:#554c3d;--accent:#45b39c;--accent-strong:#79cfba;--accent-soft:#213c35;--accent-line:#31564d;--success:#63c287;--success-soft:#20362a;--error:#e58768;--error-soft:#40261c;--amber:#e0a95e;--amber-soft:#3e2f1a;--ref-table:#e0a95e;--ref-table-soft:#3e2f1a;--ref-column:#84b6de;--ref-column-soft:#22374c;--shadow-raised:0 1px 2px #00000059, 0 2px 8px #0000004d;--text-body:#cfc7b4;--text-amber:#e2b877;--code-bg:#2e2922;--code-ink:#ece6d8}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);margin:0;font-size:16px;line-height:1.6}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-weight:600;line-height:1.2}p{margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code,pre,kbd{font-family:var(--font-mono);font-size:.875em}button{font-family:var(--font-body);cursor:pointer}.md code.ref-table{color:var(--ref-table);background:var(--ref-table-soft);border-color:color-mix(in srgb, var(--ref-table) 30%, transparent);font-weight:600}.md code.ref-column{color:var(--ref-column);background:var(--ref-column-soft);border-color:color-mix(in srgb, var(--ref-column) 30%, transparent);font-weight:600}::selection{background:var(--accent-soft)}.btn{border:1px solid var(--line-strong);background:var(--paper-raised);color:var(--ink);border-radius:var(--radius-sm);align-items:center;gap:.5em;padding:.5em 1.1em;font-size:.9rem;font-weight:500;transition:background .15s,border-color .15s,transform 50ms;display:inline-flex}.btn:hover{border-color:var(--ink-faint)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}.btn-ghost{color:var(--ink-soft);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--paper-sunken);border-color:#0000}.btn-small{padding:.3em .75em;font-size:.82rem}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.app-header{z-index:20;background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0}.app-header-inner{align-items:center;gap:1.5rem;max-width:72rem;margin:0 auto;padding:.8rem 1.5rem;display:flex}.brand{font-family:var(--font-display);color:var(--ink);letter-spacing:-.02em;font-size:1.35rem;font-weight:700}.brand:hover{text-decoration:none}.brand em{color:var(--accent);font-style:normal}.app-nav{align-items:center;gap:1.25rem;margin-left:auto;display:flex}.app-nav a{color:var(--ink-soft);font-size:.9rem;font-weight:500}.app-nav a:hover{color:var(--ink);text-decoration:none}.nav-sep{background:var(--line);align-self:stretch;width:1px;margin:0 .15rem}.lang-toggle{border:1px solid var(--line-strong);border-radius:999px;font-size:.75rem;font-weight:600;display:inline-flex;overflow:hidden}.lang-toggle button{color:var(--ink-faint);letter-spacing:.04em;background:0 0;border:0;padding:.25em .8em}.lang-toggle button.active{background:var(--ink);color:var(--paper)}.theme-toggle{border:1px solid var(--line-strong);width:28px;height:28px;color:var(--ink-soft);background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.theme-toggle:hover{background:var(--paper-sunken);color:var(--ink)}.auth-wrap{position:relative}.auth-popover{background:var(--paper-raised);border:1px solid var(--line-strong);border-radius:var(--radius);width:260px;box-shadow:var(--shadow-raised);z-index:30;gap:.55rem;padding:.9rem;display:grid;position:absolute;top:calc(100% + 8px);right:0}.auth-provider{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--paper);width:100%;color:var(--ink);justify-content:center;align-items:center;gap:.5rem;padding:.5em .8em;font-size:.85rem;font-weight:500;display:flex}.auth-provider:hover{border-color:var(--ink-faint)}.auth-divider{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:.6rem;font-size:.72rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";border-top:1px solid var(--line);flex:1}.auth-fields{gap:.45rem;display:grid}.auth-fields input{font-family:var(--font-body);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);padding:.45em .7em;font-size:.85rem}.auth-fields input:focus{outline:2px solid var(--accent);outline-offset:1px}.auth-form-actions{align-items:center;gap:.5rem;display:flex}.auth-notice{margin:0;font-size:.78rem}.auth-notice.error{color:var(--error)}.auth-notice.ok{color:var(--success)}.auth-signedin{align-items:center;gap:.5rem;display:inline-flex}.auth-avatar{background:var(--accent);color:#fff;letter-spacing:.03em;border-radius:50%;place-items:center;width:26px;height:26px;font-size:.68rem;font-weight:600;display:grid}.auth-email{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;max-width:12rem;font-size:.8rem;overflow:hidden}@media (width<=720px){.auth-email{display:none}}.app-main{max-width:72rem;margin:0 auto;padding:2.5rem 1.5rem 6rem}.app-footer{border-top:1px solid var(--line);text-align:center;color:var(--ink-faint);padding:2rem 1.5rem 3rem;font-size:.82rem}.daily-card{border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:1.5rem;max-width:46rem;margin:0 auto 3rem;padding:1.2rem 1.5rem;display:flex}.daily-card h2{color:var(--accent-strong);margin:.4rem 0 .15rem;font-size:1.25rem}.daily-card .tagline{color:var(--accent-strong);font-size:.85rem}.daily-actions .btn-primary{white-space:nowrap}@media (width<=640px){.daily-card{flex-direction:column;align-items:flex-start;gap:.75rem}}.streak-badge{border:1px solid color-mix(in srgb, var(--amber) 45%, transparent);color:var(--amber);border-radius:999px;align-items:center;gap:.3em;padding:.25em .7em;font-size:.78rem;font-weight:600;display:inline-flex}.streak-line{color:var(--accent-strong);justify-content:center;align-items:center;gap:.35em;margin-top:.9rem;margin-bottom:0;font-size:.85rem;display:flex}.faq-item{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-raised);margin-bottom:.6rem;overflow:hidden}.faq-item summary{cursor:pointer;color:var(--ink);padding:.9rem 1.2rem;font-size:.95rem;font-weight:600;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:before{content:"▸";color:var(--ink-faint);margin-right:.6em;font-size:.8em}.faq-item[open] summary:before{content:"▾"}.faq-item p{color:var(--text-body);padding:0 1.2rem 1rem;font-size:.92rem}.article-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-raised);color:var(--ink);margin-bottom:.6rem;padding:1.1rem 1.3rem;transition:border-color .15s,transform .15s;display:block}.article-row:hover{border-color:var(--accent-line);text-decoration:none;transform:translateY(-1px)}.article-row h3{margin-bottom:.2rem;font-size:1.1rem}.article-row .article-meta{color:var(--ink-faint);margin-top:.5rem;font-size:.78rem}.home-hero{max-width:var(--measure);margin:2rem 0 4rem}.home-hero h1{margin-bottom:1rem;font-size:clamp(2.2rem,5vw,3.2rem)}.home-hero p{color:var(--ink-soft);max-width:36rem;font-size:1.05rem}.path{max-width:46rem;margin:0 auto;position:relative}.path:before{content:"";background:var(--line-strong);width:2px;position:absolute;top:12px;bottom:12px;left:27px}.path-node{gap:1.5rem;padding:1rem 0;display:flex;position:relative}.path-marker{z-index:1;flex:0 0 56px;position:relative}.path-marker span{border:2px solid var(--line-strong);background:var(--paper-raised);width:56px;height:56px;font-family:var(--font-display);color:var(--ink-faint);border-radius:50%;justify-content:center;align-items:center;font-size:1.1rem;font-weight:600;display:flex}.path-node.done .path-marker span{background:var(--accent);border-color:var(--accent);color:#fff}.path-node.current .path-marker span{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 5px var(--accent-soft)}.path-node.locked .path-marker span{background:var(--paper-sunken);border-style:dashed}.path-card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-raised);flex:1;padding:1.1rem 1.4rem;transition:border-color .15s,transform .15s}a.path-card:hover{border-color:var(--accent-line);text-decoration:none;transform:translateY(-1px)}.path-card.locked{box-shadow:none;background:0 0}.path-card h3{color:var(--ink);flex-wrap:wrap;align-items:baseline;gap:.6rem;font-size:1.2rem;display:flex}.path-card .tagline{color:var(--ink-soft);margin-top:.2rem;font-size:.92rem}.path-card.locked h3,.path-card.locked .tagline{color:var(--ink-faint)}.path-meta{color:var(--ink-faint);align-items:center;gap:1rem;margin-top:.6rem;font-size:.78rem;display:flex}.progress-track{background:var(--paper-sunken);border-radius:2px;flex:0 0 120px;height:4px;overflow:hidden}.progress-fill{background:var(--accent);border-radius:2px;height:100%}.status-pill{letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:.15em .7em;font-size:.7rem;font-weight:600}.status-pill.done{background:var(--accent-soft);color:var(--accent-strong)}.status-pill.current{background:var(--amber-soft);color:var(--amber)}.status-pill.locked{background:var(--paper-sunken);color:var(--ink-faint)}.chapter-head{max-width:var(--measure);margin-bottom:2.5rem}.breadcrumb{color:var(--ink-faint);margin-bottom:.75rem;font-size:.82rem}.breadcrumb a{color:var(--ink-faint)}.breadcrumb a:hover{color:var(--accent)}.chapter-head h1{font-size:2.2rem}.chapter-head .tagline{color:var(--ink-soft);margin-top:.4rem}.chapter-grid{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:3rem;display:grid}@media (width<=900px){.chapter-grid{grid-template-columns:1fr}}.lesson{max-width:var(--measure)}.lesson-nav{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-raised);padding:1.1rem 1.25rem;font-size:.85rem;position:sticky;top:5rem}.lesson-nav h4{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);margin-bottom:.6rem;font-size:.72rem}.lesson-nav ol{gap:.35rem;margin:0;padding-left:1.2rem;display:grid}.lesson-nav a{color:var(--ink-soft)}.lesson-nav a:hover,.lesson-nav a.done{color:var(--accent)}.lesson-nav a.done:after{content:" ✓";font-size:.75em}.md h1{margin:2.5rem 0 1rem;font-size:1.8rem}.md h1:first-child{margin-top:0}.md h2{border-top:1px solid var(--line);margin:2.5rem 0 .75rem;padding-top:1.5rem;font-size:1.35rem}.md h3{font-size:1.05rem;font-family:var(--font-body);margin:1.75rem 0 .5rem;font-weight:600}.md p{color:var(--text-body);margin:.8rem 0}.md ul,.md ol{color:var(--text-body);margin:.8rem 0;padding-left:1.4rem}.md li{margin:.3rem 0}.md strong{font-weight:600}.md code{background:var(--paper-sunken);border:1px solid var(--line);color:var(--accent-strong);border-radius:4px;padding:.1em .35em;font-size:.85em}.md pre{background:var(--code-bg);border-radius:var(--radius);margin:1.1rem 0;padding:1rem 1.25rem;overflow-x:auto}.md pre code{color:var(--code-ink);background:0 0;border:0;padding:0;font-size:.85rem;line-height:1.65}.md table{border-collapse:collapse;width:100%;margin:1.1rem 0;font-size:.88rem}.md th,.md td{border:1px solid var(--line-strong);text-align:left;padding:.4em .8em}.md th{background:var(--paper-sunken);font-weight:600}.md blockquote{border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--accent-strong);margin:1.2rem 0;padding:.8rem 1.2rem}.md blockquote p{color:inherit;margin:.2rem 0}.md hr{border:0;border-top:1px solid var(--line);margin:2.5rem 0}.sql-kw{color:#7fb8a4;font-weight:500}.sql-str{color:#d9a05b}.sql-num{color:#c98a8a}.sql-fn{color:#9ab8d9}.sql-cm{color:#6e675c;font-style:italic}.exercise-index{max-width:var(--measure);margin-top:3.5rem}.exercise-index h2{margin-bottom:1rem;font-size:1.5rem}.exercise-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-raised);color:var(--ink);align-items:center;gap:1rem;margin-bottom:.6rem;padding:.9rem 1.2rem;transition:border-color .15s;display:flex}.exercise-row:hover{border-color:var(--accent-line);text-decoration:none}.exercise-row .num{font-family:var(--font-mono);color:var(--ink-faint);flex:0 0 2.2em;font-size:.8rem}.exercise-row .title{font-size:.95rem;font-weight:500}.exercise-row .state{margin-left:auto;font-size:.8rem}.exercise-row .state.done{color:var(--success)}.exercise-row .state.todo{color:var(--ink-faint)}.exercise-top{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.75rem;display:flex}.exercise-top .position{font-family:var(--font-mono);color:var(--ink-faint);font-size:.8rem}.exercise-top .spacer{flex:1}.exercise-layout{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:2.5rem;display:grid}@media (width<=960px){.exercise-layout{grid-template-columns:1fr}}.exercise-prompt h1{margin-bottom:.75rem;font-size:1.6rem}.schema-peek{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-raised);margin-top:2rem;overflow:hidden}.schema-head{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--line);background:var(--paper-sunken);padding:.7rem 1.1rem;font-size:.72rem;font-weight:600}.schema-table{border-left:3px solid var(--accent-line);margin:.9rem 0;padding-left:.8rem}.schema-peek-all{border-top:1px solid var(--line)}.schema-peek-all summary{cursor:pointer;color:var(--ink-soft);padding:.7rem 1.1rem;font-size:.85rem;font-weight:600;list-style:none}.schema-peek-all summary::-webkit-details-marker{display:none}.schema-peek-all summary:before{content:"▸";color:var(--ink-faint);margin-right:.5em;font-size:.75em}.schema-peek-all[open] summary:before{content:"▾"}.schema-peek .schema-body{padding:0 1.1rem 1rem}.schema-table-name{font-family:var(--font-mono);color:var(--accent-strong);margin:.9rem 0 .25rem;font-size:.82rem;font-weight:500}.schema-cols{font-family:var(--font-mono);color:var(--ink-soft);font-size:.75rem;line-height:1.7}.schema-cols b{color:var(--ink);font-weight:500}.editor-card{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--paper-raised);box-shadow:var(--shadow-raised);overflow:hidden}.editor-toolbar{border-bottom:1px solid var(--line);background:var(--paper-sunken);color:var(--ink-faint);align-items:center;gap:.5rem;padding:.55rem .9rem;font-size:.78rem;display:flex}.editor-toolbar .dot{background:var(--line-strong);border-radius:50%;width:9px;height:9px}.editor-toolbar .dot:first-child{background:#d9a05b}.editor-toolbar .dot:nth-child(2){background:#a3b18a}.editor-toolbar .dot:nth-child(3){background:#c98a8a}.editor-toolbar .filename{font-family:var(--font-mono);margin-left:.5rem}.cm-editor{background:var(--paper-raised);font-size:.92rem;font-family:var(--font-mono)!important}.cm-editor .cm-content{caret-color:var(--accent);background:var(--paper-raised);padding:1rem .5rem}.cm-editor .cm-line{padding:0 .9rem}.cm-editor.cm-focused{outline:none}.cm-editor .cm-gutters{background:var(--paper-raised);border-right:1px solid var(--line);color:var(--ink-faint);font-size:.78rem}.cm-editor .cm-activeLine{background:var(--paper-sunken)}.cm-editor .cm-activeLineGutter{background:var(--paper-sunken);color:var(--ink-soft)}.editor-actions{border-top:1px solid var(--line);align-items:center;gap:.6rem;padding:.8rem .9rem;display:flex}.editor-actions .hint-keys{color:var(--ink-faint);margin-left:auto;font-size:.75rem}kbd{background:var(--paper-sunken);border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:4px;padding:.05em .4em;font-size:.72rem}.results-block{margin-top:1.75rem}.results-tabs{border-bottom:1px solid var(--line-strong);gap:0;margin-bottom:0;display:flex}.results-tabs button{color:var(--ink-faint);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.5rem 1rem;font-size:.82rem;font-weight:600}.results-tabs button.active{color:var(--ink);border-bottom-color:var(--accent)}.verdict{border-radius:var(--radius);align-items:flex-start;gap:.7rem;margin-top:1.25rem;padding:.85rem 1.1rem;font-size:.9rem;display:flex}.verdict.ok{background:var(--success-soft);color:var(--success)}.verdict.bad{background:var(--error-soft);color:var(--error)}.verdict.err{background:var(--amber-soft);color:var(--amber)}.verdict b{font-weight:600}.verdict .detail{opacity:.85;margin-top:.1rem;font-size:.82rem}.success-panel{border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:var(--radius);text-align:center;color:var(--accent-strong);margin-top:1.25rem;padding:1.6rem 1.6rem 1.7rem}.success-panel h3{font-family:var(--font-display);color:var(--accent-strong);margin-bottom:.35rem;font-size:1.5rem}.success-panel p{color:var(--accent-strong);margin-bottom:1.1rem;font-size:.95rem}.success-check{background:var(--accent);color:#fff;width:54px;height:54px;box-shadow:0 0 0 6px color-mix(in srgb, var(--accent) 22%, transparent);border-radius:50%;place-items:center;margin:0 auto .9rem;display:grid}.next-cta{padding:.6em 1.3em;font-size:.95rem}.done-pill{background:var(--success-soft);color:var(--success);border:1px solid color-mix(in srgb, var(--success) 35%, transparent);border-radius:999px;align-items:center;gap:.5em;margin-bottom:.9rem;padding:.4em 1em;font-size:.85rem;font-weight:600;display:inline-flex}.done-pill-check{background:var(--success);color:#fff;border-radius:50%;place-items:center;width:20px;height:20px;font-size:.7rem;line-height:1;display:grid}.data-table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-raised);border-top-left-radius:0;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:.85rem}.data-table th{font-family:var(--font-mono);text-align:left;background:var(--paper-sunken);color:var(--ink-soft);border-bottom:1px solid var(--line-strong);white-space:nowrap;padding:.5em 1em;font-size:.78rem;font-weight:500}.data-table td{border-bottom:1px solid var(--line);font-family:var(--font-mono);white-space:nowrap;padding:.45em 1em;font-size:.8rem}.data-table tr:last-child td{border-bottom:0}.data-table td.null{color:var(--ink-faint);font-style:italic}.data-table td.diff{background:var(--error-soft)}.data-table-caption{color:var(--ink-faint);background:var(--paper-sunken);border-top:1px solid var(--line);padding:.45em 1em;font-size:.75rem}.empty-result{color:var(--ink-faint);padding:1.5rem;font-size:.85rem;font-style:italic}.share-row{border-top:1px solid var(--line);align-items:center;gap:.35rem;margin-top:2rem;padding-top:1rem;display:flex}.share-label{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);margin-right:.4rem;font-size:.75rem;font-weight:600}.share-btn{border:1px solid var(--line);background:var(--paper-raised);width:30px;height:30px;color:var(--ink-soft);border-radius:999px;justify-content:center;align-items:center;padding:0;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.share-btn:hover{border-color:var(--line-strong);color:var(--ink);background:var(--paper-sunken);text-decoration:none}.share-copied{font-family:var(--font-body);color:var(--success);white-space:nowrap;padding:0 .2rem;font-size:.72rem;font-weight:600}.hints-block{margin-top:1.75rem}.hint-item{border-left:3px solid var(--amber);background:var(--amber-soft);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-amber);margin-top:.6rem;padding:.6rem 1rem;font-size:.88rem}.solution-block{margin-top:1.25rem}.solution-block pre{background:var(--code-bg);border-radius:var(--radius);margin:.75rem 0 0;padding:1rem 1.25rem;overflow-x:auto}.solution-block code{color:var(--code-ink);font-size:.85rem;line-height:1.65}.page-note{color:var(--ink-soft);max-width:var(--measure)}.chapter-complete{border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:var(--radius);max-width:var(--measure);margin-top:2.5rem;padding:1.5rem}.chapter-complete h3{color:var(--accent-strong);margin-bottom:.3rem}.chapter-complete p{color:var(--accent-strong);font-size:.92rem}.loading-screen{min-height:60vh;color:var(--ink-faint);place-items:center;gap:.75rem;font-size:.9rem;display:grid}.loading-record{border:3px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;width:42px;height:42px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
