:root{color-scheme:dark;font-family:Inter,"Helvetica Neue",system-ui,-apple-system,"PingFang SC",sans-serif;color:#e8e6e3;background:#0c0c0d;font-size:14px;--red:#e4443f;--line:#343435;--muted:#a3a0a0}*{box-sizing:border-box}body{margin:0}header{padding:23px 5%;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;font:11px ui-monospace,monospace;letter-spacing:2px}.brand{font-weight:750}.brand:before{content:'';display:inline-block;width:9px;height:9px;background:var(--red);margin-right:12px}header>span{color:var(--muted)}main{max-width:1240px;margin:auto;padding:42px 28px}.intro{display:flex;justify-content:space-between;align-items:center;gap:44px;margin:10px 0 42px;padding:10px 0 36px;border-bottom:1px solid var(--line)}h1{font-size:clamp(26px,3.2vw,43px);font-weight:600;letter-spacing:-1px;line-height:1.5;margin:20px 0}h1 span{color:var(--red)}h2{font-size:18px;font-weight:550;margin:0 0 20px;letter-spacing:.5px}h3{font-size:14px;font-weight:600}p{line-height:1.85}.eyebrow{font:10px ui-monospace,monospace;letter-spacing:2px;color:var(--red)}.quote-source{font-size:11px;color:var(--muted)}a{color:inherit;text-underline-offset:4px}.quote-source a{text-decoration:none}.quote-source a:hover{color:var(--red)}.hint,footer{font-size:12px;color:var(--muted);line-height:1.8}nav{display:flex;gap:0;margin-bottom:26px;border-bottom:1px solid var(--line)}button,.filebutton{font:inherit;border:1px solid #4e4a4a;background:transparent;color:inherit;padding:11px 16px;border-radius:0;cursor:pointer;transition:background .15s,border-color .15s}button:hover,.filebutton:hover{background:#262021;border-color:var(--red)}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,.filebutton:focus-within{outline:2px solid var(--red);outline-offset:3px}nav button{position:relative;border:0;padding:15px 25px;color:var(--muted)}nav button:first-child{padding-left:0;padding-right:30px}nav button.active{color:#fff;background:transparent}nav button.active:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--red)}.primary{background:#b82f2c;color:#fff;border-color:#b82f2c}.primary:hover{background:#ce3732;border-color:#ce3732}button:disabled{opacity:.45;cursor:default}.layout{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(0,1fr);gap:22px}article{background:#131314;border:1px solid var(--line);border-radius:0;padding:26px;margin-bottom:22px}aside article:first-child{border-top:2px solid var(--red)}.row{display:flex;justify-content:space-between;align-items:center;gap:10px}.row h2{font-family:ui-monospace,monospace;text-transform:uppercase}.pair{display:grid;grid-template-columns:2fr 1fr;gap:16px}label{display:block;margin:20px 0;font-size:12px;font-weight:500;color:#c8c4c2}input,textarea,select{font:inherit;background:#0c0c0d;border:1px solid #434041;border-radius:0;padding:12px;color:#eeece9}input,textarea{display:block;width:100%;margin-top:10px}input::placeholder,textarea::placeholder{color:#918b8b;font-size:12px}textarea{resize:vertical;line-height:1.8}.nodes{display:grid;grid-template-columns:repeat(14,1fr);gap:4px;margin:18px 0 30px}.node{padding:9px 0;text-align:center;font:11px ui-monospace,monospace;border:1px solid #343435;background:#19191a;color:#aaa4a4}.node.done{background:#402222;color:#ffc0b9;border-color:#81403b}.node.current{background:var(--red);color:#0c0c0d;border-color:var(--red);font-weight:800}.card{border-top:1px solid var(--line);padding:16px 0;overflow-wrap:anywhere}.card:first-child{border-top:0}.badge{display:inline-block;background:#281b1c;border:1px solid #61302e;border-radius:0;color:#f3aaa2;padding:4px 9px;font-size:11px;margin:4px}.muted{color:var(--muted)}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.filebutton{font-weight:400;margin:0;position:relative}.filebutton input{position:absolute;width:1px;height:1px;opacity:0;padding:0;margin:0}#stats{min-width:190px;padding:8px 0 8px 25px;border-left:1px solid var(--line);font:11px/2.4 ui-monospace,monospace;color:var(--muted)}#stats strong{font-size:40px;font-weight:400;color:var(--red);line-height:1.5}details{margin:12px 0}summary{cursor:pointer;color:#ded8d5}footer{text-align:left;margin-top:32px;padding-top:20px;border-top:1px solid var(--line);font-size:11px}.review-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.review-actions button{font-size:12px;padding:8px 10px}#saveStatus,#importStatus{font-size:12px;color:#edaaa3}#saveStatus:empty{margin:0}#reviewCount{font-family:ui-monospace,monospace;color:var(--red);margin-left:8px}@media(max-width:800px){.layout{grid-template-columns:1fr}.intro{display:block;margin-bottom:24px;padding-bottom:25px}#stats{margin-top:26px;padding-left:16px}h1{letter-spacing:0}.pair{grid-template-columns:1fr}main{padding:22px 16px}article{padding:20px}header{font-size:9px;letter-spacing:1px}.nodes{gap:3px}.node{font-size:10px}nav button{padding:14px 18px}nav button:first-child{padding-right:20px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.plan-overview{border-left:2px solid var(--red)}#planOverview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:20px}.route-day{text-align:left;display:grid;gap:8px;min-width:0}.route-day span{font:11px ui-monospace,monospace;color:var(--red)}.route-day strong{font-size:14px;font-weight:500}.route-day small{color:var(--muted);line-height:1.6}.route-day.selected{border-color:var(--red);background:#211616}.daily-plan{border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:24px}.daily-plan h3{font-size:22px;margin:12px 0}.planned-reading{color:#f3aaa2}dl{font-size:13px;line-height:1.8}dt{color:var(--muted);font-size:11px;margin-top:14px}dd{margin:4px 0 0}@media(max-width:600px){#planOverview{grid-template-columns:1fr}}
.saved-entries{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}.saved-entry{white-space:pre-wrap;overflow-wrap:anywhere;border-left:2px solid #683431;padding:8px 12px;background:#191617}.saved-entries h4{font-size:12px;color:var(--muted);font-weight:500}#completionStatus{font-size:12px;line-height:1.8;color:#d6b5b0}#complete:disabled{opacity:1;color:#f3aaa2;border-color:#683431;background:#281b1c}
.global-day{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 20px;background:#191516;border:1px solid #61302e;margin-bottom:12px}.global-day label{margin:0;white-space:nowrap}.global-day span{font-size:12px;color:#c6aaa6}.global-day select{min-width:110px}
[hidden]{display:none!important}.notice{padding:24px;border:1px solid #61302e;margin:18px 0}.notice h2{margin-bottom:8px}#introHub>summary{font-size:16px;padding:18px;border:1px solid var(--line);margin-bottom:18px}#longNav{flex-wrap:wrap}#longNav button{padding:14px 18px}#finishIntro{margin-bottom:18px}.date-controls label{margin:0}.date-controls input{margin:0}.date-controls select{max-width:220px}#longStatus{color:#f3aaa2;white-space:pre-wrap}.reader{max-width:850px;margin:0 auto}.reader p,.reader li{line-height:2;white-space:pre-wrap;overflow-wrap:anywhere}.reader h2{font-size:23px;margin-top:24px}.reader h3{font-size:18px}.reader section{scroll-margin-top:20px;border-top:1px solid var(--line);padding-top:20px;margin-top:30px}.reader-nav{display:flex;gap:12px;flex-wrap:wrap;padding:18px;background:#1d1717}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;margin:18px 0}th,td{text-align:left;vertical-align:top;border:1px solid var(--line);padding:12px;white-space:pre-wrap;min-width:110px}th{color:#f3aaa2}.course-item{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 0;border-top:1px solid var(--line)}.record-meta{font:11px/1.8 ui-monospace,monospace;color:var(--muted)}dialog{background:#161414;color:#eee;border:1px solid #a54b43;max-width:650px;width:90%;max-height:85vh;overflow:auto;padding:28px}dialog::backdrop{background:#000b}input[type=checkbox]{display:inline-block;width:auto;margin:0 8px 0 0}#courseReader:empty{display:none}#dailyExercises textarea{min-height:100px}#dailyEntries{margin-top:26px}#courseRoadmap{margin-top:18px}#courseRoadmap p{border-top:1px solid var(--line);padding-top:12px}#storagePanel.ready{padding:12px 18px}#storagePanel.ready h2,#storagePanel.ready .actions{display:none}@media(max-width:600px){.course-item{display:block}#longNav button{font-size:12px;padding:12px 10px}}

#lesson .card p{white-space:pre-wrap}
