:root{--esp:#3a2a20;--brown:#674a35;--cream:#f8f3ec;--ivory:#fffdf9;--beige:#efe6db;--sand:#dccdbd;--line:#e9dfd3;--taupe:#857465;--rose:#f3cbca;--blush:#f3e7e7;--rosed:#b97c79;--ok:#5f7a57;--okbg:#e8eee2;--warn:#94652c;--warnbg:#f6ebdb;--late:#9e4e48;--latebg:#f6e1de;--serif:"Cormorant Garamond", Georgia, serif;--sans:"Jost", system-ui, sans-serif}*{box-sizing:border-box}html,body{margin:0}body{background:var(--cream);color:var(--esp);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.55}h1,h2,h3,.serif{font-family:var(--serif);letter-spacing:.01em;margin:0;font-weight:600;line-height:1.15}h1{font-size:36px}h2{font-size:27px}h3{font-size:21px}a{color:var(--brown)}.muted{color:var(--taupe)}.small{font-size:13px}.eyebrow{letter-spacing:.17em;text-transform:uppercase;color:var(--taupe);font-size:10.5px;font-weight:500}.top{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#fffdf9f0;justify-content:space-between;align-items:center;gap:12px;padding:12px 28px;display:flex;position:sticky;top:0}.logo{align-items:center;gap:14px;line-height:1;text-decoration:none;display:flex}.logo img{width:auto;height:38px;display:block}.logo-sub{letter-spacing:.42em;text-transform:uppercase;color:var(--taupe);border-left:1px solid var(--sand);white-space:nowrap;padding:6px 0 6px 14px;font-size:10px}.logo-center{flex-direction:column;gap:12px}.logo-center img{height:54px}.logo-center .logo-sub{border-left:0;padding:0 0 0 .42em}.shell{max-width:1300px;margin:0 auto;display:flex}.side{flex-direction:column;flex-shrink:0;width:236px;height:calc(100vh - 62px);padding:28px 16px;display:flex;position:sticky;top:62px}.navlink{color:var(--taupe);border-radius:12px;margin-bottom:3px;padding:10px 14px;font-size:14.5px;text-decoration:none;display:block}.navlink:hover{color:var(--esp)}.navlink.on{background:var(--ivory);color:var(--esp);box-shadow:0 0 0 1px var(--line)}.who{border-top:1px solid var(--line);color:var(--taupe);margin-top:auto;padding:16px 14px 0;font-size:12.5px}.who b{color:var(--esp);font-size:13.5px;font-weight:500}main{flex:1;min-width:0;padding:34px 34px 90px}.tabbar{display:none}.card{background:var(--ivory);border:1px solid var(--line);border-radius:18px;padding:22px}.card.soft{background:var(--blush);border-color:#ebd6d5}.grid{gap:18px;display:grid}.g2{grid-template-columns:1fr 1fr}.split{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start}.g3{grid-template-columns:repeat(3,1fr)}.row{align-items:center;display:flex}.between{justify-content:space-between}.wrap{flex-wrap:wrap;gap:12px}.btn{font:inherit;cursor:pointer;background:var(--brown);color:var(--ivory);white-space:nowrap;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:11px 22px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{background:var(--esp)}.btn.ghost{color:var(--brown);border:1px solid var(--sand);background:0 0}.btn.ghost:hover{background:var(--beige)}.btn.sm{padding:7px 15px;font-size:13px}.btn.block{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed}.pill{white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:500;display:inline-block}.p-ok{background:var(--okbg);color:var(--ok)}.p-warn{background:var(--warnbg);color:var(--warn)}.p-late{background:var(--latebg);color:var(--late)}.p-neutral{background:var(--beige);color:var(--taupe)}.p-rose{background:var(--blush);color:var(--brown);border:1px solid #ebd3d2}.fld{color:var(--taupe);letter-spacing:.04em;margin-bottom:14px;font-size:12px;display:block}.fld input,.fld select{border:1px solid var(--line);background:var(--ivory);width:100%;font:inherit;color:var(--esp);border-radius:10px;margin-top:6px;padding:10px 12px;font-size:14px;display:block}.fld input:focus,.fld select:focus{outline:2px solid var(--rose);border-color:var(--rosed)}.checks{color:var(--esp);letter-spacing:0;flex-wrap:wrap;gap:8px 16px;margin-top:8px;font-size:14px;display:flex}.checks label{align-items:center;gap:6px;display:flex}.alert{border-radius:12px;margin-bottom:16px;padding:12px 14px;font-size:14px}.alert.err{background:var(--latebg);color:var(--late)}.alert.ok{background:var(--okbg);color:var(--ok)}.tblwrap{overflow-x:auto}.tbl{border-collapse:collapse;width:100%;font-size:14px}.tbl th{text-align:left;letter-spacing:.12em;text-transform:uppercase;color:var(--taupe);border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 12px;font-size:10.5px;font-weight:500}.tbl td{border-bottom:1px solid var(--line);vertical-align:middle;padding:13px 12px}.tbl tr:last-child td{border-bottom:0}.kv{font-family:var(--serif);font-size:42px;font-weight:600;line-height:1}.auth-wrap{place-items:center;min-height:100vh;padding:24px 16px;display:grid}.auth-card{width:100%;max-width:420px;padding:34px 30px}@media (max-width:860px){.side{display:none}main{padding:20px 16px 110px}.tabbar{border-top:1px solid var(--line);z-index:30;padding:8px 4px calc(8px + env(safe-area-inset-bottom));background:#fffdf9f7;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar .navlink{text-align:center;flex:1;margin:0;padding:8px 4px;font-size:12px}.tabbar .navlink.on{box-shadow:none;background:var(--blush)}.top{padding:10px 14px}.logo img{height:30px}.logo-sub{letter-spacing:.22em;padding-left:10px;font-size:8.5px}.logo{gap:10px}.logo-center img{height:46px}.logo-center .logo-sub{padding-left:.34em}h1{font-size:29px}.g2,.g3,.split{grid-template-columns:1fr}.hm{display:none}.card{padding:18px}}a.card{color:inherit;text-decoration:none;display:block}.course-card:hover{box-shadow:0 10px 26px -16px #3a2a2059}.bar{background:var(--beige);border-radius:9px;height:6px;overflow:hidden}.bar i{background:linear-gradient(90deg, var(--brown), #a6826a);border-radius:9px;height:100%;display:block}.crumbs{color:var(--taupe)}.crumbs a{color:var(--brown)}details.acc{border:1px solid var(--line);background:var(--ivory);border-radius:16px;margin-bottom:12px}details.acc summary{cursor:pointer;align-items:center;gap:14px;padding:16px 18px;list-style:none;display:flex}details.acc summary::-webkit-details-marker{display:none}.num{width:34px;height:34px;font-family:var(--serif);background:var(--blush);color:var(--brown);border-radius:50%;flex-shrink:0;place-items:center;font-size:18px;font-weight:600;display:grid}.mt{font-size:15.5px;font-weight:500}.acc-body{padding:0 18px 18px 66px}.mod-obj{background:var(--cream);border-radius:12px;margin-bottom:10px;padding:12px 16px;font-size:14px}.mod-obj ul{margin:6px 0;padding-left:18px}.lrow{border-top:1px solid var(--line);align-items:center;gap:12px;padding:10px 0;display:flex}.lrow-title{min-width:0;color:var(--esp);flex:1;font-weight:500;text-decoration:none}.lrow-title:hover{color:var(--brown);text-decoration:underline}.lrow-move{justify-content:flex-end;gap:2px;width:60px;display:flex}.lrow-move form{display:inline}.iconbtn{color:var(--taupe);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:5px 7px;font-size:14px;line-height:1}.iconbtn:hover:not(:disabled){background:var(--beige);color:var(--esp)}.iconbtn:disabled{opacity:.3;cursor:default}.linkbtn{color:var(--brown);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.inline-input{border:1px solid var(--line);background:var(--ivory);max-width:340px;font:inherit;border-radius:10px;flex:1;padding:8px 12px;font-size:14px}.fld textarea{border:1px solid var(--line);background:var(--ivory);width:100%;font:inherit;color:var(--esp);resize:vertical;letter-spacing:0;border-radius:10px;margin-top:6px;padding:10px 12px;font-size:14px;line-height:1.5;display:block}.fld textarea:focus{outline:2px solid var(--rose);border-color:var(--rosed)}.editor-head{flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:16px;display:flex}.title-input{width:100%;font-family:var(--serif);color:var(--esp);background:0 0;border:0;border-bottom:1px dashed #0000;padding:4px 0;font-size:34px;font-weight:600}.title-input:hover,.title-input:focus{border-bottom-color:var(--sand);outline:none}.mini-input{border:1px solid var(--line);width:56px;font:inherit;background:var(--ivory);border-radius:8px;padding:4px 6px}.editor-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.seg-toggle{background:var(--beige);border-radius:999px;padding:3px;display:flex}.seg-toggle button{font:inherit;color:var(--taupe);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:6px 14px;font-size:13px}.seg-toggle button.on{background:var(--ivory);color:var(--esp);box-shadow:0 1px 3px #3a2a2024}.editor-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:20px;display:grid}.editor-side{gap:14px;display:grid;position:sticky;top:80px}.problems{color:var(--late);margin:8px 0 0;padding-left:18px}.problems li{margin-bottom:4px}.source-notes a{color:var(--brown)}.source-notes div{word-break:break-word;margin-bottom:4px}.blk{background:var(--ivory);border:1px solid var(--line);border-radius:16px;margin-bottom:12px;padding:14px 18px 8px}.blk-head{align-items:center;gap:8px;margin-bottom:10px;display:flex}.blk-type{letter-spacing:.14em;text-transform:uppercase;color:var(--brown);background:var(--blush);border-radius:999px;padding:4px 10px;font-size:11px;font-weight:600}.pair{align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.pair input,.pair textarea,.opt-row input:not([type=radio]){border:1px solid var(--line);background:var(--ivory);width:100%;font:inherit;color:var(--esp);border-radius:10px;margin-bottom:6px;padding:8px 12px;font-size:14px;display:block}.pair-num{background:var(--beige);width:24px;height:24px;color:var(--brown);border-radius:50%;flex-shrink:0;place-items:center;margin-top:7px;font-size:12px;font-weight:600;display:grid}.opt-row{align-items:center;gap:10px;display:flex}.opt-row input[type=radio]{width:18px;height:18px;accent-color:var(--brown);flex-shrink:0;margin-bottom:6px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chips button{border:1px solid var(--line);background:var(--ivory);font:inherit;color:var(--brown);cursor:pointer;border-radius:999px;padding:6px 13px;font-size:13px}.chips button:hover{background:var(--beige)}.media-field{margin-bottom:12px}.media-thumb{border:1px solid var(--line);border-radius:12px;max-width:100%;max-height:260px;margin-bottom:10px;display:block}.preview-frame{padding:28px}.lv{gap:24px;margin-top:18px;font-size:15.5px;display:grid}.lv-list{margin:8px 0 0;padding-left:18px}.lv-list li{margin-bottom:4px}.lv-prose p{margin:0 0 12px;line-height:1.7}.lv-prose ul{margin:0 0 12px;padding-left:20px}.lv-prose li{margin-bottom:6px}.lv-figure{margin:0}.lv-figure img,.lv-figure video{border:1px solid var(--line);border-radius:16px;width:100%;display:block}.lv-figure figcaption{color:var(--taupe);text-align:center;margin-top:8px;font-size:13px}.lv-missing{aspect-ratio:16/9;color:var(--taupe);border:1px dashed var(--sand);background:repeating-linear-gradient(135deg,#efe6db 0 12px,#f4ede4 12px 24px);border-radius:16px;place-items:center;font-size:14px;display:grid}.lv-steps{margin:8px 0 0;padding:0;list-style:none}.lv-steps li{border-bottom:1px solid var(--line);gap:14px;padding:12px 0;display:flex}.lv-steps li:last-child{border-bottom:0}.lv-steps p{color:var(--taupe);margin:4px 0 0;font-size:14.5px}.lv-num{background:var(--brown);width:30px;height:30px;color:var(--ivory);font-family:var(--serif);border-radius:50%;flex-shrink:0;place-items:center;font-size:17px;font-weight:600;display:grid}.lv-card{background:var(--ivory);border:1px solid var(--line);border-radius:16px;padding:18px 20px}.lv-check{border-bottom:1px solid var(--line);cursor:pointer;align-items:center;gap:12px;padding:10px 0;display:flex}.lv-check:last-child{border-bottom:0}.lv-check input{width:18px;height:18px;accent-color:var(--brown)}.lv-dd{grid-template-columns:1fr 1fr;gap:12px;display:grid}.lv-dd>div{border:1px solid var(--line);border-radius:14px;padding:16px 18px}.lv-dd .do{background:var(--okbg)}.lv-dd .dont{background:var(--latebg)}.lv-dd .do .eyebrow{color:var(--ok)}.lv-dd .dont .eyebrow{color:var(--late)}.lv-dd ul{margin:8px 0 0;padding-left:18px}.lv-dd li{margin-bottom:6px}.lv-cards{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:10px;display:grid}.lv-flip{border:1px solid var(--line);background:var(--ivory);cursor:pointer;min-height:140px;font:inherit;color:var(--esp);text-align:center;border-radius:14px;padding:0;position:relative}.lv-flip .lv-front,.lv-flip .lv-back{flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:16px;transition:opacity .2s;display:flex;position:absolute;inset:0}.lv-flip .lv-front .serif{font-size:21px}.lv-flip .lv-back{opacity:0;background:var(--blush);border-radius:14px;font-size:14px;line-height:1.5}.lv-flip.on .lv-back{opacity:1}.lv-flip.on .lv-front{opacity:0}.lv-callout{background:var(--ivory);border:1px solid #ebd3d2;border-left:3px solid var(--rosed);border-radius:4px 14px 14px 4px;padding:16px 20px}.lv-callout b{margin-bottom:4px;display:block}.lv-callout p{margin:0 0 6px}.lv-doc{background:var(--cream);border-radius:12px;align-items:center;gap:12px;padding:12px 16px;display:flex}.lv-doc a{font-weight:500}.lv-take{background:var(--ivory);border-left:3px solid var(--rose);border-radius:4px 14px 14px 4px;padding:16px 20px}.lv-take ul{margin:8px 0 0;padding-left:18px}.lv-take li{margin-bottom:5px}.lv-q{margin:10px 0 14px;font-size:16.5px;font-weight:500}.lv-opt{text-align:left;border:1px solid var(--line);background:var(--ivory);width:100%;font:inherit;color:var(--esp);cursor:pointer;border-radius:12px;margin-bottom:8px;padding:12px 16px;display:block}.lv-opt:hover{background:var(--cream)}.lv-opt.right{border-color:var(--ok);background:var(--okbg)}.lv-opt.wrong{border-color:var(--late);background:var(--latebg)}.lv-fb{font-size:14px;font-weight:500}.lv-fb.ok{color:var(--ok)}.lv-fb.no{color:var(--late)}@media (max-width:980px){.editor-grid{grid-template-columns:1fr}.editor-side{position:static}}@media (max-width:860px){.acc-body{padding:0 14px 14px}.title-input{font-size:27px}.lv-dd{grid-template-columns:1fr}.preview-frame{padding:18px}}.tiles{grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:18px;display:grid}.tile{padding:16px 18px}.tile.on{box-shadow:0 0 0 2px var(--rosed)}.rate{flex-wrap:wrap;gap:8px;display:flex}.rate button{border:1px solid var(--line);background:var(--ivory);font:inherit;cursor:pointer;color:var(--esp);border-radius:999px;padding:7px 14px;font-size:13px}.rate button.meets{background:var(--okbg);border-color:var(--ok);color:var(--ok)}.rate button.practice{background:var(--latebg);border-color:var(--late);color:var(--late)}@media (max-width:860px){.tiles{grid-template-columns:repeat(2,1fr)}}
