:root{--ink:#080909;--ink-raised:#111312;--ink-soft:#171a18;--ink-deep:#050606;--paper:#f4f4ef;--muted:#9ba19c;--dim:#626a64;--signal:#00ef59;--signal-ink:#031108;--warning:#f0b43c;--danger:#ff6b63;--rule:#f4f4ef2e;--rule-strong:#f4f4ef9e;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--space-9:56px;--space-10:72px;--radius-sm:3px;--radius-md:6px;--rail-width:240px}*{box-sizing:border-box}html{background:var(--ink)}body{background:var(--ink);color:var(--paper);-webkit-font-smoothing:antialiased;margin:0;font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.45}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--signal);outline-offset:3px}::selection{color:var(--signal-ink);background:var(--signal)}.mono,code,pre,.eyebrow,.rail-kicker,.nav-label,.system-label,.tag,.micro-label,.table-label{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.app-shell{min-height:100vh;display:flex}.rail{width:var(--rail-width);border-right:1px solid var(--rule);background:var(--ink-deep);z-index:20;flex-direction:column;min-height:100vh;display:flex;position:fixed;inset:0 auto 0 0}.rail-brand{border-bottom:1px solid var(--rule);padding:28px 24px 24px;display:block}.brand-mark{letter-spacing:-.04em;align-items:center;gap:9px;font-size:17px;font-weight:800;display:flex}.brand-square{background:var(--signal);width:17px;height:17px;display:inline-block}.rail-kicker{color:var(--dim);letter-spacing:.14em;text-transform:uppercase;margin:12px 0 0;font-size:9px}.rail-nav{flex-direction:column;flex:1;gap:3px;padding:24px 12px;display:flex}.nav-section-label{color:var(--dim);letter-spacing:.16em;text-transform:uppercase;padding:0 12px 9px;font-size:9px}.nav-link{color:var(--muted);border-left:2px solid #0000;align-items:center;gap:12px;padding:12px;transition:color .16s,background .16s,border-color .16s;display:flex}.nav-link:hover{color:var(--paper);background:#f4f4ef0f}.nav-link.active{color:var(--paper);border-left-color:var(--signal);background:#00ef5914}.nav-link.active svg{color:var(--signal)}.nav-label{letter-spacing:.02em;font-size:11px}.rail-footer{border-top:1px solid var(--rule);padding:18px 24px 20px}.rail-footer p{margin:0}.rail-footer .system-label{color:var(--dim);letter-spacing:.13em;text-transform:uppercase;font-size:9px}.rail-footer .system-value{color:var(--muted);margin-top:5px;font-size:11px}.status-dot{background:var(--signal);border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block;box-shadow:0 0 0 3px #00ef591f}.content{min-width:0;margin-left:var(--rail-width);flex:1}.page{width:min(1480px,100%);margin:0 auto;padding:36px clamp(24px,5vw,72px) 96px}.page-topline{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:18px;padding-bottom:22px;display:flex}.page-topline-left{color:var(--muted);align-items:center;gap:11px;display:flex}.eyebrow,.micro-label{color:var(--dim);letter-spacing:.14em;text-transform:uppercase;font-size:10px}.page-topline .eyebrow{color:var(--muted)}.page-topline-meta{color:var(--muted);align-items:center;gap:20px;font-size:12px;display:flex}.page-topline-meta strong{color:var(--paper);font-weight:700}.profile-button{color:var(--paper);border:1px solid var(--rule);border-radius:var(--radius-sm);background:0 0;align-items:center;gap:9px;padding:7px 10px;display:inline-flex}.profile-button:hover{border-color:var(--rule-strong);background:var(--ink-soft)}.profile-initial{width:22px;height:22px;color:var(--signal-ink);background:var(--signal);place-items:center;font-size:10px;font-weight:800;display:grid}.page-heading{max-width:900px;margin:42px 0 38px}.page-heading h1{letter-spacing:-.075em;text-transform:uppercase;margin:0;font-size:clamp(2.7rem,7vw,6.8rem);font-weight:850;line-height:.88}.page-heading h1 span{color:var(--signal)}.page-heading p{max-width:640px;color:var(--muted);margin:22px 0 0;font-size:16px}.page-heading.compact{margin:38px 0 28px}.page-heading.compact h1{font-size:clamp(2.5rem,5vw,5.2rem)}.section-label{color:var(--muted);letter-spacing:.15em;text-transform:uppercase;align-items:center;gap:11px;margin:0 0 13px;font-size:10px;display:flex}.section-label:before{content:"";background:var(--signal);width:20px;height:1px}.rule-card{border:1px solid var(--rule);background:#111312ad}.rule-card:hover{border-color:#f4f4ef52}.card-pad{padding:clamp(20px,3vw,32px)}.card-head{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.card-head h2,.card-head h3{letter-spacing:-.03em;margin:0;font-size:18px}.card-head p{color:var(--muted);margin:5px 0 0;font-size:13px}.small-copy{color:var(--muted);font-size:13px}.dim-copy{color:var(--dim)}.signal-text{color:var(--signal)}.signal-button,.quiet-button,.danger-button,.icon-button{border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:9px;min-height:44px;font-weight:750;transition:transform .16s,background .16s,border-color .16s,color .16s,opacity .16s;display:inline-flex}.signal-button{color:var(--signal-ink);border:1px solid var(--signal);background:var(--signal);padding:0 17px}.signal-button:hover:not(:disabled){background:#24ff73;transform:translateY(-1px)}.signal-button:disabled{color:#03110899;background:#00ef5959;border-color:#00ef5959}.quiet-button{color:var(--paper);border:1px solid var(--rule-strong);background:0 0;padding:0 15px}.quiet-button:hover:not(:disabled){background:var(--ink-soft);border-color:var(--paper)}.danger-button{color:var(--danger);background:0 0;border:1px solid #ff6b6380;padding:0 14px}.danger-button:hover:not(:disabled){border-color:var(--danger);background:#ff6b631a}.icon-button{width:42px;min-width:42px;color:var(--muted);border:1px solid var(--rule);background:0 0;padding:0}.icon-button:hover{color:var(--paper);border-color:var(--rule-strong);background:var(--ink-soft)}.button-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.button-row.end{justify-content:flex-end}.today-hero{border:1px solid var(--rule);grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);display:grid}.today-focus{border-right:1px solid var(--rule);flex-direction:column;justify-content:space-between;min-height:340px;padding:clamp(24px,4vw,48px);display:flex}.track-meta{justify-content:space-between;align-items:center;gap:15px;display:flex}.track-code{color:var(--signal);letter-spacing:.1em;font-family:ui-monospace,monospace;font-size:12px}.track-index{color:var(--dim);font-family:ui-monospace,monospace;font-size:11px}.today-focus h2{letter-spacing:-.075em;text-transform:uppercase;max-width:700px;margin:34px 0 12px;font-size:clamp(2.5rem,6vw,6.2rem);line-height:.86}.today-focus .purpose{max-width:520px;color:var(--muted);margin:0;font-size:16px}.focus-footer{justify-content:space-between;align-items:flex-end;gap:24px;margin-top:40px;display:flex}.problem-stamp{color:var(--paper);letter-spacing:-.08em;font-family:ui-monospace,monospace;font-size:clamp(2.8rem,5vw,5.4rem);font-weight:800;line-height:.8}.problem-stamp small{color:var(--muted);letter-spacing:0;text-transform:uppercase;margin-top:11px;font-family:Arial,sans-serif;font-size:12px;font-weight:400;line-height:1.3;display:block}.today-progress{flex-direction:column;justify-content:space-between;padding:clamp(24px,3vw,34px);display:flex}.today-progress h3{letter-spacing:-.08em;margin:6px 0 2px;font-size:clamp(2.8rem,5vw,5.4rem);line-height:.9}.progress-track{border:1px solid var(--rule-strong);background:var(--ink);height:9px;margin:12px 0 24px}.progress-fill{background:var(--signal);height:100%;transition:width .3s}.progress-caption{color:var(--muted);text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;font-family:ui-monospace,monospace;font-size:10px;display:flex}.start-block{min-height:88px;color:var(--signal-ink);background:var(--signal);justify-content:space-between;align-items:center;gap:20px;padding:20px;display:flex}.start-block:hover{background:#24ff73}.start-block h3{color:var(--signal-ink);letter-spacing:-.045em;text-transform:uppercase;margin:0;font-size:24px;line-height:.95}.start-block .small-copy{color:#031108ad}.evidence-grid{border:1px solid var(--rule);border-top:0;grid-template-columns:repeat(4,1fr);display:grid}.stat-cell{border-right:1px solid var(--rule);min-height:132px;padding:20px 22px}.stat-cell:last-child{border-right:0}.stat-label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-family:ui-monospace,monospace;font-size:10px}.stat-value{letter-spacing:-.08em;margin-top:22px;font-size:40px;line-height:.8}.stat-link{color:var(--signal);align-items:center;gap:5px;margin-top:12px;font-size:11px;display:inline-flex}.next-review{border:1px solid var(--rule);background:var(--rule);grid-template-columns:minmax(0,1fr) minmax(240px,.4fr);gap:1px;margin-top:36px;display:grid}.review-copy,.review-aside{background:var(--ink-raised);padding:26px}.review-copy h3{letter-spacing:-.05em;margin:8px 0;font-size:28px}.review-aside{flex-direction:column;justify-content:space-between;display:flex}.review-aside strong{color:var(--warning);letter-spacing:-.08em;font-size:36px}.empty-state{border:1px dashed var(--rule-strong);background:#11131273;padding:40px 28px}.empty-state h2{letter-spacing:-.045em;margin:0 0 7px;font-size:24px}.empty-state p{max-width:500px;color:var(--muted);margin:0}.empty-icon{width:42px;height:42px;color:var(--signal);border:1px solid var(--signal);place-items:center;margin-bottom:20px;display:grid}.path-list{flex-direction:column;gap:10px;display:flex}.path-row{border:1px solid var(--rule);background:var(--ink-raised);grid-template-columns:52px minmax(0,1fr) minmax(130px,.3fr) auto;align-items:center;gap:18px;padding:22px;display:grid}.path-number{color:var(--signal);font-family:ui-monospace,monospace;font-size:26px}.path-row h2{letter-spacing:-.04em;margin:0;font-size:21px}.path-row p{color:var(--muted);margin:5px 0 0;font-size:13px}.path-meter{flex-direction:column;gap:7px;display:flex}.path-meter-top{color:var(--muted);text-transform:uppercase;justify-content:space-between;align-items:center;font-family:ui-monospace,monospace;font-size:10px;display:flex}.path-meter-bar{background:var(--ink);border:1px solid var(--rule);height:6px}.path-meter-bar span{background:var(--signal);height:100%;display:block}.path-actions{justify-content:flex-end;display:flex}.path-details{border:1px solid var(--rule);background:#11131280;border-top:0;margin-top:10px;padding:0 22px 22px 92px}.problem-mini-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:18px;display:grid}.problem-mini{border:1px solid var(--rule);background:var(--ink);justify-content:space-between;align-items:center;gap:15px;padding:14px;display:flex}.problem-mini h3{margin:0;font-size:14px}.problem-mini p{color:var(--muted);margin:4px 0 0;font-size:11px}.metric-strip{border:1px solid var(--rule);grid-template-columns:repeat(4,1fr);display:grid}.metric-card{border-right:1px solid var(--rule);min-height:146px;padding:22px}.metric-card:last-child{border-right:0}.metric-card strong{letter-spacing:-.08em;margin-top:20px;font-size:44px;line-height:.8;display:block}.metric-card small{color:var(--muted);margin-top:12px;font-size:11px;display:block}.range-tabs{border:1px solid var(--rule);background:var(--ink-raised);gap:2px;padding:3px;display:flex}.range-tab{min-width:48px;height:32px;color:var(--muted);background:0 0;border:0;font-family:ui-monospace,monospace;font-size:11px}.range-tab.active{color:var(--signal-ink);background:var(--signal)}.progress-section{margin-top:34px}.trend-chart{border:1px solid var(--rule);align-items:flex-end;gap:clamp(7px,1.7vw,18px);height:220px;padding:28px 18px 0;display:flex}.trend-day{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:10px;min-width:0;height:100%;display:flex}.trend-bar-wrap{justify-content:center;align-items:flex-end;width:100%;height:150px;display:flex}.trend-bar{background:var(--signal);width:min(34px,75%);min-height:4px;transition:height .2s}.trend-bar.zero{background:var(--rule-strong)}.trend-day label{color:var(--dim);text-transform:uppercase;font-family:ui-monospace,monospace;font-size:9px}.calculation-note{color:var(--dim);align-items:flex-start;gap:9px;margin-top:13px;font-size:12px;display:flex}.journal-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.search-field{align-items:center;min-width:min(100%,320px);display:flex;position:relative}.search-field svg{color:var(--dim);position:absolute;left:12px}.text-input,.select-input,.text-area{width:100%;color:var(--paper);border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--ink-raised);outline:none;transition:border-color .16s,background .16s}.text-input,.select-input{min-height:44px;padding:0 13px}.search-field .text-input{padding-left:38px}.text-area{resize:vertical;min-height:120px;padding:13px;line-height:1.5}.text-input::placeholder,.text-area::placeholder{color:var(--dim)}.text-input:hover,.select-input:hover,.text-area:hover,.text-input:focus,.select-input:focus,.text-area:focus{border-color:var(--rule-strong);background:var(--ink-soft)}.select-input{appearance:none}.journal-list{flex-direction:column;gap:12px;display:flex}.journal-entry{border:1px solid var(--rule);background:var(--ink-raised);padding:23px}.journal-entry-head{justify-content:space-between;align-items:flex-start;gap:15px;display:flex}.journal-entry h2{letter-spacing:-.045em;margin:7px 0 0;font-size:23px}.journal-entry-grid{border-top:1px solid var(--rule);grid-template-columns:repeat(3,1fr);gap:20px;margin-top:22px;padding-top:17px;display:grid}.journal-field strong{color:var(--paper);margin-top:7px;font-size:13px;font-weight:500;display:block}.journal-field p{color:var(--muted);margin:0;font-size:13px}.journal-edit{flex-direction:column;gap:12px;margin-top:20px;display:flex}.field-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;flex-direction:column;gap:6px;font-family:ui-monospace,monospace;font-size:10px;display:flex}.settings-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:24px;display:grid}.settings-stack{flex-direction:column;gap:12px;display:flex}.settings-section{border:1px solid var(--rule);background:var(--ink-raised);padding:25px}.settings-section h2{letter-spacing:-.04em;margin:0;font-size:19px}.settings-section>p{color:var(--muted);margin:7px 0 22px;font-size:13px}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.field-grid.single{grid-template-columns:1fr}.toggle-row{border-top:1px solid var(--rule);justify-content:space-between;align-items:center;gap:18px;padding:15px 0;display:flex}.toggle-row:first-of-type{border-top:0;padding-top:0}.toggle-row strong{font-size:14px;display:block}.toggle-row p{color:var(--muted);margin:4px 0 0;font-size:12px}.toggle{border:1px solid var(--rule-strong);background:var(--ink);border-radius:20px;flex:none;width:45px;height:25px;padding:0;position:relative}.toggle span{background:var(--muted);border-radius:50%;width:15px;height:15px;transition:left .16s,background .16s;position:absolute;top:4px;left:4px}.toggle.on{border-color:var(--signal);background:#00ef592e}.toggle.on span{background:var(--signal);left:24px}.integration-card{border:1px dashed var(--rule-strong);background:#11131273;padding:20px}.integration-card h3{margin:0;font-size:15px}.integration-card p{color:var(--muted);margin:7px 0 0;font-size:12px}.integration-card+.integration-card{margin-top:10px}.data-actions{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.save-line{min-height:22px;color:var(--signal);font-family:ui-monospace,monospace;font-size:11px}.practice-page{width:100%;min-height:100vh;padding:22px 28px 40px}.practice-topbar{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:20px;padding-bottom:17px;display:flex}.practice-breadcrumb{color:var(--muted);align-items:center;gap:10px;font-family:ui-monospace,monospace;font-size:11px;display:flex}.practice-breadcrumb strong{color:var(--paper);font-weight:500}.practice-top-actions{align-items:center;gap:9px;display:flex}.practice-layout{border:1px solid var(--rule);background:var(--rule);grid-template-columns:minmax(300px,.85fr) minmax(480px,1.15fr);gap:1px;min-height:calc(100vh - 130px);margin-top:20px;display:grid}.practice-problem,.practice-workbench{background:var(--ink);min-width:0}.practice-problem{padding:clamp(22px,3vw,36px);overflow:auto}.practice-workbench{background:var(--ink-raised);flex-direction:column;min-height:0;display:flex}.problem-header{border-bottom:1px solid var(--rule);padding-bottom:25px}.problem-header h1{letter-spacing:-.075em;text-transform:uppercase;max-width:610px;margin:14px 0 12px;font-size:clamp(2.2rem,4.5vw,4.7rem);line-height:.87}.problem-header p{max-width:620px;color:var(--muted);margin:0;font-size:14px}.problem-header-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tag{min-height:23px;color:var(--paper);border:1px solid var(--rule-strong);letter-spacing:.07em;text-transform:uppercase;align-items:center;padding:0 8px;font-size:9px;display:inline-flex}.tag.signal{color:var(--signal);border-color:var(--signal)}.tag.warning{color:var(--warning);border-color:#f0b43c99}.tag.danger{color:var(--danger);border-color:#ff6b6399}.problem-section{border-bottom:1px solid var(--rule);padding:25px 0}.problem-section:last-child{border-bottom:0}.problem-section h2{color:var(--paper);letter-spacing:.12em;text-transform:uppercase;margin:0 0 13px;font-size:12px}.problem-section p{color:var(--muted);margin:0;font-size:14px}.example-row{border-top:1px solid var(--rule);grid-template-columns:1fr 1fr;gap:10px;padding:12px 0;display:grid}.example-row:first-of-type{border-top:0}.example-row code{color:var(--paper);white-space:pre-wrap;margin-top:4px;font-size:12px;display:block}.constraint-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.constraint-list li{color:var(--muted);gap:9px;font-size:13px;display:flex}.constraint-list li:before{content:"↳";color:var(--signal)}.source-link{color:var(--signal);align-items:center;gap:6px;margin-top:13px;font-size:12px;display:inline-flex}.workbench-tabs{display:none}.workbench-toolbar{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;display:flex}.workbench-toolbar-left,.workbench-toolbar-right{align-items:center;gap:9px;display:flex}.editor-language{color:var(--muted);align-items:center;gap:7px;font-family:ui-monospace,monospace;font-size:11px;display:inline-flex}.editor-language span{background:#3776ab;border-radius:50%;width:8px;height:8px}.editor-shell{border-bottom:1px solid var(--rule);flex:1;min-height:300px;overflow:auto}.cm-editor{min-height:100%;color:var(--paper);background:var(--ink-raised);padding:16px 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.cm-editor-host,.cm-editor-host>.cm-editor{min-height:100%}.cm-editor.cm-focused{outline:none}.cm-scroller{min-height:100%;overflow:visible}.cm-content{min-height:300px;padding-bottom:80px}.cm-gutters{color:var(--dim);background:var(--ink-raised);border:0}.cm-lineNumbers .cm-gutterElement{text-align:right;min-width:46px;padding:0 12px 0 0}.cm-activeLine{background:#f4f4ef09}.cm-activeLineGutter{color:var(--muted);background:#f4f4ef09}.cm-selectionBackground,::selection{background:#00ef5938!important}.cm-cursor{border-left-color:var(--signal)}.cm-tooltip{border:1px solid var(--rule-strong);background:var(--ink)}.result-panel{border-bottom:1px solid var(--rule);padding:17px}.result-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.result-header h2{margin:0;font-size:15px}.result-header p{color:var(--muted);margin:4px 0 0;font-size:12px}.result-body{margin-top:15px}.test-line{border-top:1px solid var(--rule);align-items:center;gap:9px;padding:9px 0;font-family:ui-monospace,monospace;font-size:11px;display:flex}.test-line svg.pass{color:var(--signal)}.test-line svg.fail{color:var(--danger)}.test-line small{color:var(--dim);margin-left:auto}.test-detail{color:var(--muted);padding:8px 0 8px 25px;font-size:12px}.test-detail code{color:var(--paper);font-size:11px}.coach-panel,.reflect-panel{border-bottom:1px solid var(--rule);padding:17px}.coach-head{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.coach-head h2{margin:0;font-size:15px}.coach-head p{color:var(--muted);margin:4px 0 0;font-size:12px}.coach-levels{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.coach-level{min-height:34px;color:var(--muted);border:1px solid var(--rule);text-transform:uppercase;background:0 0;padding:0 11px;font-family:ui-monospace,monospace;font-size:10px}.coach-level:hover:not(:disabled),.coach-level.active{color:var(--signal);border-color:var(--signal);background:#00ef5914}.coach-response{border-left:2px solid var(--signal);background:var(--ink);margin-top:13px;padding:15px}.coach-response strong{color:var(--paper);font-size:13px;display:block}.coach-response p{color:var(--muted);margin:7px 0 0;font-size:13px}.coach-question{color:var(--signal)!important;margin-top:12px!important}.fallback-note{color:var(--warning);align-items:center;gap:5px;margin-top:11px;font-size:10px;display:inline-flex}.reflect-panel{border-bottom:0}.reflect-panel .text-area{min-height:90px;margin-top:12px}.reflect-meta{color:var(--muted);align-items:center;gap:10px;margin-top:11px;font-size:12px;display:flex}.check-row{color:var(--muted);align-items:flex-start;gap:9px;font-size:12px;display:flex}.check-row input{width:17px;height:17px;accent-color:var(--signal);margin-top:1px}.completion-bar{border-top:1px solid var(--rule);background:var(--ink-deep);justify-content:space-between;align-items:center;gap:15px;padding:14px 16px;display:flex}.completion-bar p{color:var(--muted);margin:0;font-family:ui-monospace,monospace;font-size:10px}.completion-bar p strong{color:var(--paper)}.practice-error{color:var(--danger);background:#ff6b6312;border:1px solid #ff6b6373;margin:15px 17px 0;padding:11px 13px;font-size:12px}.mobile-bottom-nav,.mobile-more-sheet{display:none}.loading-shell{min-height:260px;color:var(--muted);place-items:center;font-family:ui-monospace,monospace;font-size:12px;display:grid}.loading-pulse{align-items:center;gap:8px;display:inline-flex}.loading-pulse span{background:var(--signal);border-radius:50%;width:7px;height:7px;animation:1s ease-in-out infinite pulse}.loading-pulse span:nth-child(2){animation-delay:.15s}.loading-pulse span:nth-child(3){animation-delay:.3s}.spin{animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.toast-line{min-height:21px;color:var(--signal);margin-top:8px;font-family:ui-monospace,monospace;font-size:11px}.error-line{color:var(--danger)}.login-screen{background:var(--ink);place-items:center;min-height:100vh;padding:24px;display:grid;position:relative;overflow:hidden}.login-orbit{border:1px solid #00ef591f;border-radius:50%;width:72vw;height:72vw;position:absolute;transform:translate(18%,-13%)}.login-orbit:after{content:"";border:1px solid #f4f4ef12;border-radius:50%;position:absolute;inset:12%}.login-card{border:1px solid var(--rule-strong);background:#080909f2;width:min(100%,560px);padding:clamp(28px,6vw,64px);position:relative}.signal-dot{background:var(--signal);width:8px;height:8px;margin-right:6px;display:inline-block;box-shadow:0 0 0 4px #00ef591c}.login-kicker{color:var(--muted);margin:38px 0 16px;font-size:14px}.login-card h1{letter-spacing:-.09em;text-transform:uppercase;margin:0;font-size:clamp(3.2rem,9vw,6.7rem);line-height:.84}.login-card h1 span{color:var(--signal)}.login-copy{max-width:440px;color:var(--muted);margin:24px 0 0}.login-proof{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);flex-wrap:wrap;gap:10px 18px;margin:28px 0;padding:16px 0;display:flex}.login-proof div{color:var(--muted);align-items:center;gap:7px;font-family:ui-monospace,monospace;font-size:10px;display:flex}.login-proof svg{color:var(--signal)}.login-button{justify-content:space-between;width:100%;min-height:54px;padding:0 18px}.login-footnote{color:var(--dim);margin:18px 0 0;font-family:ui-monospace,monospace;font-size:10px}@media (max-width:1100px){.page{padding-left:36px;padding-right:36px}.today-hero{grid-template-columns:1fr}.today-focus{border-right:0;border-bottom:1px solid var(--rule)}.today-progress{min-height:260px}.practice-layout{grid-template-columns:minmax(270px,.75fr) minmax(420px,1.25fr)}}@media (max-width:820px){:root{--rail-width:0px}.rail{display:none}.content{margin-left:0;padding-bottom:74px}.page{padding:22px 18px 58px}.page-topline{align-items:flex-start}.page-topline-meta{gap:9px}.page-topline-meta>span{display:none}.page-heading{margin:34px 0 28px}.page-heading h1{font-size:clamp(2.7rem,15vw,5.4rem)}.evidence-grid,.metric-strip{grid-template-columns:repeat(2,1fr)}.stat-cell:nth-child(2),.metric-card:nth-child(2){border-right:0}.stat-cell:nth-child(-n+2),.metric-card:nth-child(-n+2){border-bottom:1px solid var(--rule)}.next-review{grid-template-columns:1fr}.path-row{grid-template-columns:39px minmax(0,1fr) auto;gap:13px}.path-meter{grid-column:2/3}.path-actions{grid-area:1/3/span 2/4}.path-details{padding-left:22px}.problem-mini-list,.settings-layout{grid-template-columns:1fr}.mobile-bottom-nav{z-index:30;border-top:1px solid var(--rule-strong);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#080909f5;grid-template-columns:repeat(4,1fr) 1.1fr;min-height:66px;display:grid;position:fixed;inset:auto 0 0}.mobile-nav-link,.mobile-more-button{min-width:0;color:var(--muted);text-transform:uppercase;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-family:ui-monospace,monospace;font-size:9px;display:flex}.mobile-nav-link.active,.mobile-more-button.active{color:var(--signal)}.mobile-nav-link span,.mobile-more-button span{text-overflow:ellipsis;max-width:100%;overflow:hidden}.mobile-more-sheet{z-index:31;border:1px solid var(--rule-strong);background:var(--ink-raised);flex-direction:column;width:min(240px,100vw - 24px);padding:8px;display:flex;position:fixed;inset:auto 12px 78px auto;box-shadow:0 12px 35px #00000073}.mobile-more-sheet a{color:var(--muted);align-items:center;gap:11px;padding:13px;font-size:13px;display:flex}.mobile-more-sheet a:hover{color:var(--paper);background:var(--ink-soft)}.mobile-more-sheet a .sheet-chevron{color:var(--dim);margin-left:auto}.sheet-note{border-top:1px solid var(--rule);color:var(--dim);align-items:center;gap:9px;padding:12px;font-family:ui-monospace,monospace;font-size:10px;display:flex}.practice-page{padding:15px 12px 20px}.practice-topbar{padding:0 4px 12px}.practice-top-actions .quiet-button{min-height:36px;padding:0 10px;font-size:11px}.practice-layout{border:1px solid var(--rule);background:var(--ink);min-height:auto;margin-top:12px;display:block}.practice-problem,.practice-workbench{display:none}.practice-layout[data-tab=problem] .practice-problem,.practice-layout[data-tab=code] .practice-workbench,.practice-layout[data-tab=coach] .practice-workbench,.practice-layout[data-tab=reflect] .practice-workbench{display:block}.workbench-tabs{border:1px solid var(--rule);background:var(--ink-raised);grid-template-columns:repeat(4,1fr);gap:2px;padding:4px;display:grid}.workbench-tab{min-height:38px;color:var(--muted);text-transform:uppercase;background:0 0;border:0;font-family:ui-monospace,monospace;font-size:10px}.workbench-tab.active{color:var(--signal-ink);background:var(--signal)}.practice-problem{padding:20px}.practice-problem .problem-header h1{font-size:clamp(2.3rem,14vw,4rem)}.practice-workbench{min-height:660px}.editor-shell,.cm-content{min-height:330px}.coach-panel,.reflect-panel{display:none}.practice-layout[data-tab=coach] .coach-panel,.practice-layout[data-tab=reflect] .reflect-panel{display:block}.practice-layout[data-tab=coach] .editor-shell,.practice-layout[data-tab=coach] .result-panel,.practice-layout[data-tab=reflect] .editor-shell,.practice-layout[data-tab=reflect] .result-panel{display:none}.practice-layout[data-tab=reflect] .completion-bar{display:flex}}@media (max-width:480px){.page-topline-left .eyebrow{font-size:9px}.profile-button{padding:6px}.profile-button>span:not(.profile-initial){display:none}.today-focus{min-height:330px;padding:24px 20px}.today-focus h2{margin-top:24px;font-size:3.1rem}.focus-footer{flex-direction:column;align-items:flex-start;gap:20px}.start-block{min-height:78px;padding:15px}.start-block h3{font-size:19px}.stat-cell,.metric-card{min-height:118px;padding:17px}.stat-value,.metric-card strong{font-size:34px}.field-grid{grid-template-columns:1fr}.journal-entry-grid{grid-template-columns:1fr;gap:13px}.journal-entry-head{flex-direction:column}.page-heading p{font-size:14px}.path-row{padding:17px 14px}.path-row h2{font-size:17px}.completion-bar{flex-direction:column;align-items:stretch}.completion-bar .signal-button{width:100%}.workbench-toolbar{flex-direction:column;align-items:flex-start}.workbench-toolbar-right{justify-content:space-between;width:100%}.login-card{padding:28px 22px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
