:root{--base: #12303a;--deep: #0a1f26;--paper: #e9dcc2;--sheet: #fbf8f1;--ground: #d9ccb2;--ink: #16252b;--ink2: #574d40;--rule: #d8ccb4;--cons: #b5512a;--labs: #197672;--labs-l: #dcefed;--acad: #9a7a32;--err: #a8321f;--err-l: #f6dfd8;--warn: #805710;--warn-l: #f5ead2;--note: #1f6f6c;--note-l: #e2efed;--display: "Bahnschrift", "DIN Alternate", "Segoe UI", system-ui, sans-serif;--body: "Segoe UI", "Helvetica Neue", Arial, sans-serif;--mono: Consolas, "SF Mono", Menlo, monospace;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--ground);color:var(--ink);font:13px/1.45 var(--body)}button,select,input,textarea{font:inherit;color:inherit}#app{display:flex;flex-direction:column;height:100vh}#app>*{flex:none}.top{display:flex;align-items:center;gap:18px;padding:8px 16px;background:var(--deep);color:var(--paper);flex-wrap:wrap}.brand{display:flex;align-items:center;gap:8px;font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;font-size:11px}.brand svg{width:30px;height:30px}.title{display:flex;flex-direction:column;line-height:1.15}.title b{font-family:var(--display);font-size:17px;font-weight:600}.title span{font-family:var(--mono);font-size:10.5px;color:#9fc9c6}.preset{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:12px}.preset select{background:#102a32;color:var(--paper);border:1px solid #2b4b55;border-radius:3px;padding:5px 8px;max-width:420px}button.primary{background:var(--cons);color:#fff;border:0;border-radius:3px;padding:7px 12px;font-weight:600;cursor:pointer}button.primary:hover{background:#a94b22}button.ghost,button.small{background:transparent;border:1px solid var(--rule);border-radius:3px;padding:4px 9px;cursor:pointer}button.small{font-size:12px;padding:3px 8px;background:var(--sheet)}button.small:hover,button.ghost:hover{border-color:var(--labs);color:var(--labs)}.grid{display:grid;grid-template-columns:360px minmax(0,1fr);grid-template-rows:minmax(0,1fr);min-height:0}.left,#wide,.right{position:relative}.view{overflow:hidden}@media (min-width: 901px){html,body{overflow:hidden}}.left,.right{background:var(--sheet);overflow-y:auto;min-height:0}.left{border-right:1px solid var(--rule)}.right{border-left:1px solid var(--rule);padding:0 14px 16px}.tabs{display:flex;position:sticky;top:0;background:var(--sheet);z-index:2;border-bottom:1px solid var(--rule)}.tabs button{flex:1;background:none;border:0;border-bottom:3px solid transparent;padding:10px 0 8px;font-family:var(--display);font-size:14px;cursor:pointer;color:var(--ink2)}.tabs button.on{border-color:var(--labs);color:var(--ink)}.tab{display:none;padding:12px 14px 20px}.tab.on{display:block}.lede{color:var(--ink2);margin:0 0 10px;font-size:12.5px}h4{font-family:var(--display);font-weight:600;font-size:13.5px;margin:16px 0 6px;color:var(--base)}.field{display:grid;grid-template-columns:1fr 120px;gap:2px 10px;align-items:center;margin-bottom:7px}.field>span{font-size:12.5px}.field .hint{grid-column:1 / -1;font-size:11px;color:var(--ink2)}.field.wide{grid-template-columns:1fr}select,input[type=number],input[type=text],textarea{background:#fff;border:1px solid var(--rule);border-radius:3px;padding:4px 6px;min-width:0;width:100%}select:focus,input:focus,textarea:focus{outline:2px solid var(--labs-l);border-color:var(--labs)}.strings{width:100%;border-collapse:collapse;font-size:12px}.strings th{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink2);text-align:left;padding:2px 4px 4px 0;border-bottom:1px solid var(--ink)}.strings td{padding:3px 4px 3px 0;border-bottom:1px solid var(--rule);vertical-align:middle}.strings td{padding-top:5px}.strings tr.sub td{border-bottom:1px solid var(--rule);padding:0 0 5px}.strings tr:not(.sub) td{border-bottom:0}.strings td:nth-child(1){width:30%}.strings td:nth-child(2){width:25%}.strings td:nth-child(3){width:20%}.strings td:nth-child(4){width:20%}.strings .drift{font-family:var(--mono);font-size:10.5px;color:var(--ink2)}[hidden]{display:none!important}.row-btns{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.item{border:1px solid var(--rule);border-left:3px solid var(--labs);border-radius:3px;padding:8px 10px 6px;margin-bottom:10px;background:#fff}.item.bad{border-left-color:var(--err)}.item header{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}.item header b{font-family:var(--display);font-weight:600;font-size:13.5px}.item header small{color:var(--ink2);font-family:var(--mono);font-size:10.5px;margin-left:auto}.pair{display:grid;grid-template-columns:74px 1fr 1fr;gap:4px 6px;align-items:center;margin-bottom:5px;font-size:12px}.pair>span:first-child{color:var(--ink2)}.joint-sel{display:grid;grid-template-columns:74px 1fr;gap:6px;align-items:center;font-size:12px;margin:-2px 0 10px 12px;padding:5px 8px;background:var(--paper);border-radius:3px}.joint-sel span{color:var(--ink2)}.derived{font-family:var(--mono);font-size:10.5px;color:var(--ink2);margin-top:2px}.view{position:relative;min-height:0;background:#15262d}#viewport{position:absolute;top:0;right:0;bottom:0;left:0}#viewport canvas{display:block;outline:none}.labels3d{position:absolute;top:0;left:0;pointer-events:none}.tag3d-anchor{width:0;height:0;position:relative}.tag3d{position:absolute;left:8px;top:-12px;white-space:nowrap;font:11px/1.25 var(--body);color:var(--paper);background:#0a1f26bd;border-left:2px solid var(--labs);padding:2px 7px 3px;border-radius:0 2px 2px 0}.tag3d b{font-weight:600;display:block}.tag3d span{font-family:var(--mono);font-size:10px;color:#a9d3cf}.tag3d.main,.tag3d.callout{border-left-color:#e0763f}.vtools{position:absolute;top:10px;left:10px;right:10px;display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;color:var(--paper);font-size:12px;pointer-events:none}.vtools>*{pointer-events:auto;background:#0a1f26e6;padding:4px 9px;border-radius:3px}.vtools .slider{display:flex;align-items:center;gap:8px}.vtools input[type=range]{width:120px;accent-color:#2aa7a3}.vtools .tog{display:flex;align-items:center;gap:5px;cursor:pointer}.vtools .tog input{accent-color:#2aa7a3}.vtools button.ghost{color:var(--paper);border-color:#2b4b55}#legend{position:absolute;left:10px;top:48px;display:flex;flex-direction:column;gap:3px;font-size:11.5px;color:var(--paper);background:#0a1f26cc;padding:7px 10px;border-radius:3px;max-width:520px}.sw{display:inline-block;width:11px;height:11px;margin-right:6px;vertical-align:-1px;border-radius:2px}.sw.exact{background:#1f8a86}.sw.typical{background:#d8c39a}#hoverline{position:absolute;left:12px;bottom:10px;color:var(--paper);font-size:12px;background:#0a1f26b3;padding:3px 9px;border-radius:3px}#hoverline:empty{display:none}#card{position:absolute;right:12px;bottom:12px;width:min(380px,calc(100% - 24px));max-height:calc(100% - 80px);overflow-y:auto;background:var(--sheet);border-radius:4px;box-shadow:0 8px 28px #00000059;padding:12px 14px}#card h3{margin:0 24px 4px 0;font-family:var(--display);font-size:15px;font-weight:600;color:var(--base)}#card .x{position:absolute;top:8px;right:8px;border:0;background:none;font-size:18px;cursor:pointer;color:var(--ink2)}#card p{margin:6px 0;font-size:12.5px}#card dl{display:grid;grid-template-columns:max-content 1fr;gap:2px 10px;font-size:12px;margin:8px 0}#card dt{color:var(--ink2)}#card dd{margin:0;font-family:var(--mono);font-size:11.5px}#card .src{font-size:11px;color:var(--ink2);border-top:1px solid var(--rule);padding-top:6px}.chip{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:.04em;padding:1px 6px;border-radius:2px;margin-right:4px;text-transform:uppercase}.chip.exact{background:var(--labs-l);color:#155a57}.chip.typical{background:#efe3c8;color:#6e5520}.chip.standard{background:var(--labs-l);color:#155a57}.chip.practice{background:var(--warn-l);color:var(--warn)}.chip.physical{background:#e6e9ec;color:#3d4a52}#checks h2,#summary h2,#buy h2,#share h2{font-family:var(--display);font-size:15px;font-weight:600;margin:14px 0 6px;color:var(--base);display:flex;align-items:baseline;gap:8px}#checks h2 small,#summary h2 small,#buy h2 small,#share h2 small{font-family:var(--body);font-weight:400;font-size:11.5px;color:var(--ink2)}.status{padding:8px 10px;border-radius:3px;font-size:12.5px;margin-bottom:8px}.status.ok{background:var(--note-l);color:var(--note)}.status.bad{background:var(--err-l);color:var(--err)}.finding{border-left:3px solid;padding:6px 9px;margin-bottom:6px;background:#fff;border-radius:0 3px 3px 0;cursor:pointer}.finding.error{border-color:var(--err)}.finding.warning{border-color:#c98c1a}.finding.note{border-color:var(--labs)}.finding .t{font-weight:600;font-size:12.5px;display:flex;gap:6px;align-items:baseline}.finding .lv{font-family:var(--mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;padding:0 5px;border-radius:2px}.finding.error .lv{background:var(--err-l);color:var(--err)}.finding.warning .lv{background:var(--warn-l);color:var(--warn)}.finding.note .lv{background:var(--note-l);color:var(--note)}.finding .m{font-size:12px;margin-top:2px}.finding .more{display:none;font-size:11.5px;color:var(--ink2);margin-top:5px}.finding.open .more{display:block}.finding .more p{margin:3px 0}.finding .fix{color:var(--ink)}.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule)}.stats div{background:#fff;padding:7px 9px}.stats b{display:block;font-family:var(--display);font-size:18px;font-weight:600;color:var(--base);font-variant-numeric:tabular-nums}.stats span{font-size:11px;color:var(--ink2)}.buyl{list-style:none;margin:0;padding:0}.buyl li{border-bottom:1px solid var(--rule);padding:5px 0;font-size:12px;cursor:pointer}.buyl li b{font-family:var(--mono);font-weight:600;margin-right:6px;color:var(--cons)}.buyl li .d{display:none;color:var(--ink2);font-size:11.5px;margin-top:3px}.buyl li.open .d{display:block}.actions{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}details.share summary{cursor:pointer;font-family:var(--display);font-size:14px;margin:14px 0 6px;color:var(--base)}details.share textarea{height:90px;font-family:var(--mono);font-size:10.5px}.roadmap{font-size:11.5px;color:var(--ink2);margin:10px 0 0;padding:8px 10px;background:var(--paper);border-radius:3px}.roadmap b{color:var(--ink)}footer{background:var(--deep);color:#9fb8b6;font-size:11px;padding:5px 16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 1500px){footer .foot-long,#foot-ver{display:none}}#toast{position:fixed;bottom:40px;left:50%;transform:translate(-50%);background:var(--deep);color:var(--paper);padding:8px 14px;border-radius:3px;font-size:12.5px;z-index:50}#print{display:none}@media print{@page{size:letter;margin:.45in}body{background:#fff}#app,#toast{display:none!important}#print{display:block;font:9.5pt/1.4 var(--body);color:#000}#print .pg{break-after:page}#print .pg:last-child{break-after:auto}#print header{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px solid var(--base);padding-bottom:5px;margin-bottom:8px}#print header b{font-family:var(--display);font-size:15pt;color:var(--base)}#print header span{font-family:var(--mono);font-size:8pt;color:#555}#print .notice{background:#f1eadb;border-left:3px solid var(--cons);padding:5px 8px;font-size:9pt;margin-bottom:8px}#print .two{display:grid;grid-template-columns:2.9in 1fr;gap:14px;align-items:start}#print img{width:100%;border:1px solid #ccc;background:#15262d}#print table{width:100%;border-collapse:collapse;font-size:8.4pt;margin-bottom:8px}#print th{text-align:left;font-family:var(--mono);font-size:7pt;text-transform:uppercase;border-bottom:1.5px solid #000;padding:2px 6px 2px 0}#print td{border-bottom:1px solid #ccc;padding:3px 6px 3px 0;vertical-align:top}#print h3{font-family:var(--display);font-size:11pt;margin:8px 0 4px;color:var(--base)}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.labels3d{z-index:1}.vtools,#legend,#hoverline{z-index:3}#card{z-index:5}.top{gap:10px 16px}.current{font-size:12px;color:#e9dcc2;max-width:360px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-right{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.small-dark{background:#102a32;color:var(--paper);border:1px solid #2b4b55;border-radius:3px;padding:5px 9px;font-size:12px;cursor:pointer}.small-dark:hover{border-color:#2aa7a3}button.primary:disabled{opacity:.45;cursor:not-allowed}.who{font-size:12px;color:#e9dcc2;display:flex;gap:6px;align-items:center}.view{background:#dde5e8}#viewport[data-theme=dark]{background:#223841}.viewsw{display:flex;gap:0!important;padding:0!important;overflow:hidden}.viewsw button{background:transparent;color:var(--paper);border:0;padding:4px 10px;cursor:pointer;font-size:12px}.viewsw button.on{background:var(--labs);color:#fff}#elev{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto;background:#fbf8f1;padding:54px 10px 10px;z-index:2}#elev svg{width:100%;height:auto;max-height:calc(100% - 50px);display:block;margin:0 auto}#elev .ga-actions{justify-content:center;margin:0 0 6px}.chk{display:inline-flex;align-items:center;gap:5px;font-size:12px;cursor:pointer}.pair .hint,.pair .hint.full{font-size:11px;color:var(--ink2);grid-column:2 / -1}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a1f268c;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;z-index:60;overflow-y:auto}.modal-box{background:var(--sheet);border-radius:6px;max-width:980px;width:100%;padding:16px 20px 20px;box-shadow:0 16px 50px #00000059;position:relative}.modal-box.narrow{max-width:420px}.modal-box h3{font-family:var(--display);margin:0 0 6px;color:var(--base)}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal-box .x{border:0;background:none;font-size:22px;cursor:pointer;color:var(--ink2)}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.tcard{text-align:left;background:#fff;border:1px solid var(--rule);border-left:3px solid var(--labs);border-radius:4px;padding:10px 12px;cursor:pointer;display:flex;flex-direction:column;gap:4px}.tcard:hover{border-color:var(--labs);box-shadow:0 2px 10px #12303a1f}.tcard b{font-family:var(--display);font-weight:600;font-size:13.5px;color:var(--base)}.tcard span{font-size:12px;color:var(--ink2)}.lesson-row{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;background:#fff;border:1px solid var(--rule);border-left:3px solid var(--rule);border-radius:3px;padding:8px 10px;margin-bottom:6px;cursor:pointer}.lesson-row:hover,.lesson-row.done{border-left-color:var(--labs)}.lesson-row.done b:after{content:"  ✓";color:var(--labs)}.lesson-row b{font-size:13px}.lesson-row span{font-size:11.5px;color:var(--ink2)}.lesson-title{font-family:var(--display);font-size:16px;color:var(--base);margin:8px 0 4px}.lesson-body{font-size:13px;line-height:1.55}.lesson-body h3,.lesson-body h4,.lesson-body h5{font-family:var(--display);color:var(--base);margin:14px 0 4px}.lesson-body table{border-collapse:collapse;font-size:12px;margin:8px 0}.lesson-body th,.lesson-body td{border:1px solid var(--rule);padding:3px 6px;text-align:left}mark.curtis{background:#f5ead2;color:#7a5a12;padding:0 3px;border-radius:2px;font-size:11.5px}.draft{font-size:11.5px;background:var(--warn-l);color:var(--warn);padding:5px 8px;border-radius:3px}.showme{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:8px 0;font-size:12px}.quiz fieldset{border:1px solid var(--rule);border-radius:4px;margin:0 0 8px;padding:6px 10px 8px;background:#fff}.quiz fieldset.right{border-color:var(--labs)}.quiz fieldset.wrong{border-color:var(--err)}.quiz legend{font-size:12.5px;font-weight:600;padding:0 4px}.quiz .opt{display:flex;gap:6px;font-size:12.5px;padding:2px 0;cursor:pointer}.quiz .why{font-size:12px;color:var(--ink2);margin:4px 0 0}.goals{list-style:none;padding:0;margin:4px 0 10px}.goals li{font-size:12.5px;padding:3px 0 3px 22px;position:relative}.goals li:before{content:"○";position:absolute;left:4px;color:var(--ink2)}.goals li.ok:before{content:"✓";color:var(--labs);font-weight:700}.goals li.no:before{content:"✗";color:var(--err);font-weight:700}.hint-box{background:#f1eadb;border-left:3px solid var(--acad);padding:6px 9px;font-size:12.5px}.gloss{margin:10px 0 0}.gloss dt{font-weight:600;font-size:12.5px;margin-top:8px}.gloss dd{margin:2px 0 0;font-size:12.5px;color:var(--ink)}.gloss .see{color:var(--ink2)}button.link{background:none;border:0;padding:0;font:inherit;font-weight:600;color:var(--labs);cursor:pointer;text-align:left}#tab-glossary input[type=search]{position:sticky;top:0}.hosted .when{font-family:var(--mono);font-size:10.5px;color:var(--ink2)}.hosted li .actions{margin:4px 0 0}#print .elev-print svg{width:100%;height:auto;max-height:8in}@media print{#print .elev-print{break-inside:avoid}}.vtools button.ghost{background:#0a1f26b3;color:var(--paper);border:1px solid #2b4b55}.vtools .vsel{background:#0a1f26b3;color:var(--paper);border:1px solid #2b4b55;padding:3px 6px;width:auto}#wide{overflow:auto;background:var(--sheet);padding:16px 20px 30px;min-height:0;border-left:1px solid var(--rule)}#wide h2,#wide h3{font-family:var(--display);color:var(--base)}#wide table{border-collapse:collapse;width:100%;font-size:12.5px;margin:6px 0 14px}#wide th{text-align:left;font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink2);border-bottom:1.5px solid var(--ink);padding:3px 8px 4px 0}#wide td{border-bottom:1px solid var(--rule);padding:4px 8px 4px 0;vertical-align:top}#app>.grid,#app>#home,#app>#empty{flex:1 1 auto;min-height:0}button.brand{background:none;border:0;padding:0;color:inherit;cursor:pointer}button.brand:hover span{color:#fff}.sections{display:flex;gap:2px;background:#0f2a32;border-radius:4px;padding:2px}.sections button{background:none;border:0;color:#b9cfcd;padding:6px 14px;border-radius:3px;cursor:pointer;font-family:var(--display);font-size:14px}.sections button:hover{color:#fff}.sections button.on{background:var(--labs);color:#fff}.current{border-left:2px solid var(--cons);padding-left:8px}.subbar{display:flex;align-items:stretch;gap:6px 18px;padding:0 16px;background:var(--sheet);border-bottom:1px solid var(--rule);flex-wrap:wrap;min-height:46px}.subtabs{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}.subtabs button{background:none;border:0;border-bottom:3px solid transparent;padding:10px 10px 8px;font-family:var(--display);font-size:14px;color:var(--ink2);cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:6px}.subtabs button:hover{color:var(--ink)}.subtabs button.on{border-color:var(--labs);color:var(--ink)}.subtabs .num{font-style:normal;width:19px;height:19px;border-radius:50%;background:var(--rule);color:var(--ink);font:600 11px/19px var(--body);text-align:center}.subtabs button.on .num{background:var(--labs);color:#fff}.badge{display:inline-block;min-width:19px;height:19px;padding:0 5px;border-radius:10px;font:600 11px/19px var(--body);text-align:center;color:#fff;background:var(--labs)}.badge.bad{background:var(--err)}.badge.warn{background:#8a5e0f}.sub-actions{display:flex;align-items:center;gap:8px}.sub-actions .small{padding:5px 10px}.flow{margin-left:auto;display:flex;align-items:center;gap:12px}.flow:empty{display:none}.steps{list-style:none;display:flex;align-items:center;margin:0;padding:0}.steps li{display:flex;align-items:center}.steps li+li:before{content:"";width:6px;height:2px;background:var(--rule);margin:0 1px}.steps li.done+li:before,.steps li.on:before{background:var(--labs)}.steps button{background:none;border:0;display:flex;align-items:center;gap:5px;padding:4px 2px;cursor:pointer;color:var(--ink2);font-size:12px;white-space:nowrap}.steps button:hover span{color:var(--ink)}.steps li:not(.on) span{display:none}.steps i{font-style:normal;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--rule);font:600 10.5px/17px var(--body);text-align:center;background:#fff;color:var(--ink2)}.steps li.done i{border-color:var(--labs);color:var(--labs)}.steps li.on i{background:var(--labs);border-color:var(--labs);color:#fff}.steps li.on span{color:var(--ink);font-weight:600}.flow-btns{display:flex;gap:6px}.flow-btns .small{padding:5px 11px}.flow-btns .next{background:var(--labs);border-color:var(--labs);color:#fff;font-weight:600}.flow-btns .next:hover{background:#135f5c;color:#fff}.flow-btns .small:disabled{opacity:.4;cursor:default}body[data-rail=open] .grid{grid-template-columns:360px minmax(0,1fr) 300px}body[data-rail=closed] .grid{grid-template-columns:360px minmax(0,1fr) 46px}body[data-rail=off] .right{display:none}body[data-page=checks] .grid{grid-template-columns:460px minmax(0,1fr)}body[data-page=walk] .grid{grid-template-columns:420px minmax(0,1fr)}body[data-section=learn][data-v3d=on] .grid{grid-template-columns:440px minmax(0,1fr)}.strip-tog,.drawer-x,body[data-v3d=off] .view{display:none}body[data-v3d=off] .grid,body[data-v3d=drawer] .grid{grid-template-columns:minmax(0,1fr)}body[data-v3d=off][data-wide=on] .grid,body[data-v3d=drawer][data-wide=on] .grid{grid-template-columns:340px minmax(0,1fr)}body[data-v3d=off][data-wide=off] .left,body[data-v3d=drawer][data-wide=off] .left{border-right:0;background:var(--ground)}body[data-v3d=off][data-wide=off] .tab.on,body[data-v3d=drawer][data-wide=off] .tab.on{max-width:1180px;margin:0 auto;background:var(--sheet);min-height:100%;padding:14px 24px 30px;border-left:1px solid var(--rule);border-right:1px solid var(--rule)}.vmore summary{white-space:nowrap}body[data-v3d=drawer] .view{position:fixed;top:52px;right:0;bottom:0;width:min(900px,72vw);z-index:40;box-shadow:-12px 0 40px #0a1f2659;animation:drawer-in .18s ease-out}body[data-v3d=drawer] .drawer-x{display:block;position:absolute;top:10px;right:10px;z-index:7;background:var(--deep);color:var(--paper);border:1px solid #2b4b55;border-radius:3px;padding:5px 10px;cursor:pointer;font-size:12px}body[data-v3d=drawer] .vtools{right:130px}@keyframes drawer-in{0%{transform:translate(40px);opacity:.4}to{transform:none;opacity:1}}#tab-buy .buyl li .d{display:block}#tab-buy .buyl li{cursor:default}.bl-row{display:flex;align-items:baseline;gap:6px}.bl-item{flex:1;min-width:0}.bl-3d{flex:none;font-size:11px!important;padding:1px 7px!important}#tab-save .share textarea{height:220px;font-family:var(--mono);font-size:10.5px}#tab-save .hosted{margin-bottom:18px}body[data-rail=closed] .right{padding:0}#rail #checks h2{position:sticky;top:0;background:var(--sheet);margin:0 -12px 6px;padding:12px 12px 6px;z-index:1}.right{padding:0 12px 16px}.rail-x{margin-left:auto;align-self:center}#rail .finding{padding:5px 8px}#rail .finding .m{display:none}#rail .finding.open .m{display:block}.rail-open{width:100%;height:100%;border:0;background:var(--sheet);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 0;color:var(--ink2)}.rail-open:hover{color:var(--labs)}.rail-open .vert{writing-mode:vertical-rl;font-size:12.5px;font-family:var(--display)}#tab-checks #checks h2:first-child{margin-top:18px}.vmore{position:relative;padding:0!important}.vmore summary{list-style:none;cursor:pointer;padding:4px 9px}.vmore summary::-webkit-details-marker{display:none}.vmore summary:after{content:" +"}.vmore[open] summary:after{content:" -"}.vmore-box{position:absolute;top:calc(100% + 4px);right:0;left:auto;max-height:calc(100vh - 220px);overflow-y:auto;display:flex;flex-direction:column;align-items:flex-start;gap:8px;background:#0a1f26eb;padding:9px 11px;border-radius:3px;white-space:nowrap}.vmore-box .tog{display:flex;align-items:center;gap:6px}#home{overflow-y:auto;background:var(--ground)}.hero{background:var(--deep);color:var(--paper)}.hero-in{max-width:1200px;margin:0 auto;padding:38px 24px 36px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:36px;align-items:center}.hero-brand{display:flex;align-items:center;gap:12px;font-family:var(--display);letter-spacing:.16em;text-transform:uppercase;font-size:12.5px;color:#9fc9c6}.hero-mark svg{width:46px;height:46px;display:block}.hero h1{font-family:var(--display);font-weight:600;font-size:42px;line-height:1.1;margin:16px 0 10px;color:#fff}.hero-lede{font-size:16.5px;line-height:1.5;max-width:660px;margin:0 0 10px}.hero-note{font-size:12.5px;color:#9fb8b6;margin:0 0 22px;max-width:660px}.hero-actions{display:flex;flex-wrap:wrap;gap:10px}button.big{padding:10px 20px;font-size:14.5px}.hbtn{background:transparent;color:var(--paper);border:1px solid #3a5c66;border-radius:3px;padding:9px 16px;font-size:14px;cursor:pointer}.hbtn:hover{border-color:#2aa7a3;color:#fff}.resume{background:var(--sheet);border:0;border-radius:6px;padding:0;overflow:hidden;cursor:pointer;text-align:left;display:flex;flex-direction:column;color:var(--ink);box-shadow:0 10px 30px #0000004d}.resume:hover{outline:2px solid #2aa7a3}.resume img{width:100%;height:280px;object-fit:cover;background:#dde5e8;display:block}.resume-t{padding:10px 14px 12px;display:flex;flex-direction:column;gap:3px}.resume-t small{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink2)}.resume-t b{font-family:var(--display);font-size:14px;font-weight:600;color:var(--base)}.resume .status{margin:4px 0 0;padding:4px 8px;font-size:12px}.home-body{max-width:1200px;margin:0 auto;padding:22px 24px 40px}.home-h{font-family:var(--display);font-weight:600;font-size:21px;color:var(--base);margin:16px 0 4px}.home-body>.lede{font-size:13.5px}.hgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:12px 0 20px}.hcard{background:var(--sheet);border:1px solid var(--rule);border-top:3px solid var(--labs);border-radius:4px;padding:14px 16px;display:flex;flex-direction:column}.hcard:last-child{border-top-color:var(--acad)}.hcard header{display:flex;align-items:center;gap:10px}.hnum{font-style:normal;flex:none;width:28px;height:28px;border-radius:50%;background:var(--cons);color:#fff;font:600 14px/28px var(--display);text-align:center}.hcard:last-child .hnum{background:var(--acad)}.hcard h3{margin:0;font-family:var(--display);font-size:17px;font-weight:600}.hcard h3 button{background:none;border:0;padding:0;cursor:pointer;color:var(--base);font:inherit;text-align:left}.hcard h3 button:hover{color:var(--labs)}.hcard p{color:var(--ink2);font-size:13px;margin:8px 0 12px;flex:1}.hlinks{display:flex;flex-direction:column;border-top:1px solid var(--rule);padding-top:6px}.hlink{background:none;border:0;text-align:left;padding:4px 0;color:var(--labs);font-weight:600;cursor:pointer;font-size:13px}.hlink:after{content:" ›"}.hlink:hover{text-decoration:underline}.lgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.lcard{text-align:left;background:var(--sheet);border:1px solid var(--rule);border-left:3px solid var(--acad);border-radius:4px;padding:10px 14px;cursor:pointer;display:flex;flex-direction:column;gap:3px}.lcard:hover{border-color:var(--labs)}.lcard b{font-family:var(--display);font-weight:600;font-size:14.5px;color:var(--base)}.lcard span{font-size:12.5px;color:var(--ink2)}.home-foot{font-size:11.5px;color:var(--ink2);margin-top:20px}.top{flex-wrap:nowrap;min-height:50px}.title,.sections{flex:none}.current{display:flex;align-items:center;gap:6px;min-width:0;flex:0 1 auto}.current.empty{display:none}.cur-btn{display:flex;align-items:baseline;gap:8px;min-width:0;max-width:100%;background:none;border:1px solid transparent;border-radius:3px;color:inherit;padding:3px 6px;cursor:text;font:inherit}.cur-btn:hover,.cur-btn:focus-visible{border-color:#3a5c66}.cur-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.cur-edit{font-size:10.5px;color:#9fc9c6;opacity:0}.cur-btn:hover .cur-edit,.cur-btn:focus-visible .cur-edit{opacity:1}.current input.rename{width:260px;max-width:100%;background:#102a32;color:var(--paper);border:1px solid #2aa7a3;padding:4px 7px;font-size:12.5px}.current.ex{color:#f3e3c3}.ex-chip{background:#e0a43a;color:#2b1d05;flex:none}.brand-chip{background:#3d2a57;color:#f1e7ff;border:1px solid #6b4f94;border-radius:10px;padding:1px 8px;font-size:11px;font-weight:600;letter-spacing:.03em;cursor:pointer;white-space:nowrap}#brandchip{flex:none}.view.card-side #viewport{right:352px}.view.card-side #card{top:56px;bottom:12px;width:340px;max-height:none;right:6px}.view.card-side #hoverline{right:352px}#card.sheet{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;max-height:62vh;border-radius:12px 12px 0 0;z-index:45;box-shadow:0 -10px 30px #0a1f2659;padding-bottom:18px}#card.sheet:before{content:"";display:block;width:40px;height:4px;border-radius:2px;background:var(--rule);margin:-4px auto 8px}.wd-strings select.miss{border-color:var(--err);background:var(--err-l)}.wd-strings .miss-t{color:var(--err);font-weight:600}.top-right{flex:none;flex-wrap:nowrap;gap:6px}.hicon{background:transparent;color:var(--paper);border:1px solid #2b4b55;border-radius:3px;width:30px;height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.hicon svg{width:16px;height:16px}.hicon:hover:not(:disabled){border-color:#2aa7a3;color:#fff}.hicon:disabled{opacity:.35;cursor:default}#copyex{white-space:nowrap}.exbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;padding:8px 16px;background:#fbefd5;border-bottom:2px solid #e0a43a;color:#4a3509;font-size:13px}.exbar .ex-t{flex:1;min-width:220px}.exbar .ex-acts{display:flex;gap:8px;flex-wrap:wrap}.exbar .small{background:#fff}#toast{display:flex;align-items:center;gap:14px;max-width:min(620px,calc(100vw - 32px));box-shadow:0 8px 26px #0000004d}#toast .toast-more{font-size:12px;color:#c9d8d6;margin-top:2px}.toast-act{flex:none;background:var(--labs);color:#fff;border:0;border-radius:3px;padding:5px 12px;font-weight:600;cursor:pointer}.toast-act:hover{background:#135f5c}#empty{overflow-y:auto;background:var(--ground)}.empty-in{max-width:820px;margin:40px auto;padding:28px 32px 30px;background:var(--sheet);border:1px solid var(--rule);border-top:3px solid var(--cons);border-radius:6px}.empty-in h2{font-family:var(--display);font-size:26px;font-weight:600;color:var(--base);margin:0 0 6px}.empty-in .lede{font-size:14px}.empty-acts{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 8px}.ebtn{background:#fff;border:1px solid var(--rule);border-radius:3px;padding:9px 16px;font-size:14px;cursor:pointer;color:var(--base)}.ebtn:hover{border-color:var(--labs);color:var(--labs)}.empty-in h3{font-family:var(--display);color:var(--base);margin:22px 0 8px}.paths{max-width:1200px;margin:0 auto;padding:0 24px 34px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.path{background:#10303a;border:1px solid #2b4b55;border-radius:6px;padding:16px 18px;display:flex;flex-direction:column;align-items:flex-start}.path.main{background:var(--sheet);color:var(--ink);border-color:var(--cons);border-top:3px solid var(--cons)}.path h3{font-family:var(--display);font-size:18px;font-weight:600;margin:0 0 6px;color:#fff}.path.main h3{color:var(--base)}.path p{font-size:13px;color:#b9cfcd;margin:0 0 14px;flex:1}.path.main p{color:var(--ink2)}.pbtn{background:transparent;color:var(--paper);border:1px solid #3a6a74;border-radius:3px;padding:9px 16px;font-size:14px;cursor:pointer}.pbtn:hover{border-color:#2aa7a3;color:#fff}.resume-go{margin-top:6px;color:var(--labs);font-weight:600;font-size:13px}.home-h-row{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.home-h-acts{display:flex;gap:6px;margin-left:auto}.hnum{width:auto;min-width:28px;padding:0 9px;border-radius:14px;font-size:12.5px;white-space:nowrap}.hnum.off{background:var(--acad)}.fgroup{border-left:3px solid;margin-bottom:6px;background:#fff;border-radius:0 3px 3px 0}.fgroup.error{border-color:var(--err)}.fgroup.warning{border-color:#c98c1a}.fgroup.note{border-color:var(--labs)}.fg-head{display:flex;gap:6px;align-items:baseline;width:100%;text-align:left;background:none;border:0;padding:6px 9px;cursor:pointer;font-weight:600;font-size:12.5px;color:var(--ink)}.fg-head:hover .fg-t{color:var(--labs)}.fg-head:focus-visible{outline:2px solid var(--labs);outline-offset:-2px}.fg-t{flex:1;min-width:0}.fg-head .lv{font-family:var(--mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;padding:0 5px;border-radius:2px;font-weight:400;flex:none}.fgroup.error .lv{background:var(--err-l);color:var(--err)}.fgroup.warning .lv{background:var(--warn-l);color:var(--warn)}.fgroup.note .lv{background:var(--note-l);color:var(--note)}.fg-n{flex:none;min-width:20px;height:18px;padding:0 6px;border-radius:9px;background:var(--paper);font:600 11px/18px var(--body);text-align:center;color:var(--ink)}.fg-sum{font-size:12px;color:var(--ink2);padding:0 9px 7px}.fg-body{padding:0 9px 8px;font-size:12px}.fg-items{list-style:none;margin:0;padding:0}.fg-items li{border-top:1px solid var(--rule);padding:6px 0}.fg-items .m{font-size:12px}.fi-acts{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:5px}.fi-parts{font-size:11px;color:var(--ink2)}.fixbtn{border-color:var(--labs)!important;color:var(--labs);font-weight:600}.fg-body .fix{color:var(--ink);margin:6px 0 3px}.fg-body .rb{background:var(--labs-l);padding:6px 8px;border-radius:3px;margin:6px 0}.fg-body .ex,.fg-body .src{color:var(--ink2);font-size:11.5px;margin:4px 0}#rail .fg-head{padding:5px 8px}.card-acts{margin:6px 0 2px}.vtools{flex-wrap:nowrap;gap:6px 8px}.vtools input[type=range]{width:84px}.vtools .find{max-width:150px}.modal-box.mid{max-width:640px}ul.changes{margin:4px 0 10px;padding-left:20px;font-size:13px}ul.changes li{margin:3px 0}.dup{background:var(--warn-l);color:var(--ink);border-radius:3px;padding:6px 10px;margin:-4px 0 10px;font-size:12.5px}.dup p{margin:0 0 4px}.filetext{width:100%;height:160px;font-family:var(--mono);font-size:10.5px}.steps-text{margin:0 0 8px;padding-left:20px;font-size:13px}.wd-name{margin:6px 0 12px}.wd-name input[type=text]{margin:2px 0!important}.wd-card{border:1px solid var(--rule);border-top:3px solid var(--cons);border-radius:5px;background:#fff;padding:12px 16px 14px}.wd-card>h3{display:flex;align-items:center;gap:8px}.wd-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}.wd-field{display:flex;flex-direction:column;gap:3px;font-size:12.5px}.wd-field .wd-l{font-weight:600;color:var(--base)}.wd-field .hint{font-size:11px;color:var(--ink2)}.wd-field input[type=text],.wd-field input[type=number],.wd-field select{padding:6px 8px;background:#fff}.modal-box .wd-field input[type=text]{background:#fff;margin:0;font-size:13px;padding:6px 8px}.wd-field.missing select,.wd-field.missing input{border-color:var(--err);background:var(--err-l)}.wd-strings.missing{outline:2px solid var(--err-l)}.wd-strings td{padding-right:8px!important}.wd-checks{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:6px 22px}.wd-go{align-items:center;gap:14px;margin-top:14px}.wd-go .hint{font-size:12px;color:var(--ink2);max-width:520px}.wd-typical{margin-top:18px}.wd-typical>h3{margin-top:6px}.share.code summary{font-family:var(--display);font-size:14px;color:var(--base);cursor:pointer;margin:16px 0 6px}.hosted-who{margin:10px 0 0}.hosted-who .small-dark{background:var(--sheet);color:var(--ink);border-color:var(--rule)}.hosted-who .who{color:var(--ink)}@media (max-width: 1500px){#ver{display:none}}.step-short{display:none;font-size:12.5px;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.step-short b{color:var(--labs);font-weight:600}.subbar{flex-wrap:nowrap}.subtabs,.flow{flex:0 1 auto;min-width:0}.flow-btns,.sub-actions{flex:none}body[data-section=documents] .steps,body[data-section=quality] .steps{display:none}body[data-section=documents] .step-short,body[data-section=quality] .step-short{display:inline}@media (max-width: 1700px){.steps{display:none}.step-short{display:inline}}@media (max-width: 1400px){.subtabs button{padding:10px 8px 8px}.brand span{display:none}.top{gap:10px 12px}.sections button{padding:6px 11px}.current{max-width:300px}}@media (max-width: 1300px){.grid{grid-template-columns:330px minmax(0,1fr)}body[data-rail=open] .grid{grid-template-columns:330px minmax(0,1fr) 270px}body[data-rail=closed] .grid{grid-template-columns:330px minmax(0,1fr) 46px}body[data-page=checks] .grid{grid-template-columns:420px minmax(0,1fr)}body[data-page=walk] .grid{grid-template-columns:380px minmax(0,1fr)}.current{max-width:240px}.vtools{left:8px;right:8px;gap:6px}.vtools>*{padding:4px 7px}}@media (max-width: 1180px){.hgrid,.lgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.title b{font-size:15px}.vtools{flex-wrap:wrap}}@media (max-width: 1000px){.sections button{padding:6px 8px;font-size:13px}.savestate{display:none}}@media (max-width: 900px){#app{height:auto;min-height:100vh}.top{position:sticky;top:0;z-index:30;flex-wrap:wrap;gap:6px 8px;padding:6px 10px;min-height:0}.title{display:none}.current{order:2;flex:1 1 0;max-width:none}#brandchip{order:3}.top-right{order:4;margin-left:auto}.sections{order:5;width:100%;overflow-x:auto}.sections button{flex:1;padding:6px}.grid,body[data-rail] .grid,body[data-page] .grid,body[data-v3d] .grid,body[data-v3d][data-wide] .grid{grid-template-columns:minmax(0,1fr)}body[data-v3d=on] .strip-tog{display:block;order:-2;width:100%;border:0;border-bottom:1px solid var(--rule);background:var(--paper);color:var(--base);padding:7px 12px;text-align:left;font-size:12.5px;cursor:pointer}body[data-v3d=on] .view{order:-1;height:38vh;min-height:220px;max-height:340px}body[data-v3d=on][data-strip=closed] .view{display:none}.vtools{flex-wrap:wrap}.vtools .slider{display:none}.vtools .find{max-width:130px}.left{border-right:0}.right{border-left:0;border-top:1px solid var(--rule)}.rail-open{flex-direction:row;justify-content:center;padding:10px}.rail-open .vert{writing-mode:horizontal-tb}#rail #checks h2{position:static}.subbar{padding:0 12px;gap:0 12px}.subbar{flex-wrap:wrap}.subtabs,body[data-section] .subtabs{width:100%;flex-wrap:wrap;overflow:visible}html{scroll-padding-top:96px}.subtabs button{padding:8px 8px 6px;font-size:13.5px}.flow{flex:1 1 100%;flex-wrap:wrap;gap:4px 12px}.step-short{width:100%}.sub-actions{padding:6px 0}.flow{width:100%;margin-left:0;padding:6px 0 8px}.steps{display:none}.flow-btns{width:100%;justify-content:space-between}.hero-in{grid-template-columns:minmax(0,1fr);padding:22px 16px;gap:18px}.hero h1{font-size:30px}.hero-lede{font-size:15px}.paths{grid-template-columns:minmax(0,1fr);padding:0 16px 24px}.resume{flex-direction:row}.resume img{width:120px;height:160px;flex:none}.home-body{padding:16px 16px 30px}.hgrid,.lgrid{grid-template-columns:minmax(0,1fr)}#wide{padding:12px 14px 24px;border-left:0}body[data-v3d=off][data-wide=off] .tab.on,body[data-v3d=drawer][data-wide=off] .tab.on{padding:12px 16px 24px;border:0}.empty-in{margin:16px;padding:20px 18px}.wd-grid{grid-template-columns:minmax(0,1fr)}.modal{padding:12px 8px}.modal-box{padding:14px 14px 18px}.saved-list li{flex-wrap:wrap}body[data-v3d=drawer] .view{width:auto;left:0;right:0}body[data-v3d=drawer] .vtools{right:8px;top:52px}}.savestate{font-size:11.5px;color:#e9dcc2;opacity:.85;white-space:nowrap}.savestate.warn:not(:empty):before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#e0a43a;margin-right:6px;vertical-align:1px}.savestate.ok:not(:empty):before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#2aa7a3;margin-right:6px;vertical-align:1px}#save{padding:6px 16px}.modal-box input[type=text]{width:100%;box-sizing:border-box;padding:8px 10px;font-size:14px;border:1px solid var(--rule);border-radius:3px;margin:4px 0 12px;background:#fff;color:var(--ink)}.saved-list{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:8px}.saved-list li{display:flex;align-items:center;gap:12px;background:var(--sheet);border:1px solid var(--rule);border-left:3px solid var(--labs);border-radius:4px;padding:10px 12px}.saved-list li.on{border-left-color:var(--cons)}.saved-list .sv-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.saved-list .sv-t b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-list .sv-t small{color:var(--ink2);font-size:11.5px}.saved-list .actions{display:flex;gap:6px;margin:0}.ghost-del{color:var(--err)!important}#home .saved-list{max-width:1150px}.ex-chip.pr{background:#cde9e6;color:#0f3533}body[data-access=off] #app{display:none}.access{position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:auto;background:var(--deep);color:var(--paper);z-index:90;display:flex;align-items:flex-start;justify-content:center;padding:48px 16px}.acc-in{max-width:560px;width:100%}.acc-brand{display:flex;align-items:center;gap:12px;font-family:var(--display);letter-spacing:.16em;text-transform:uppercase;font-size:12.5px;color:#9fc9c6}.acc-mark svg{width:46px;height:46px;display:block}.access h1{font-family:var(--display);font-weight:600;font-size:38px;color:#fff;margin:16px 0 8px}.acc-lede{font-size:16px;line-height:1.5;margin:0 0 18px}.acc-msg{font-size:15px;background:#10303a;border-left:3px solid #2aa7a3;padding:10px 14px;border-radius:0 4px 4px 0}.acc-note,.acc-foot{font-size:12px;color:#9fb8b6}.acc-foot{margin-top:28px}.acc-form{display:flex;flex-direction:column;gap:10px;margin-top:14px}.acc-field{display:flex;flex-direction:column;gap:4px;font-size:13px}.acc-field input,.acc-field textarea{background:#fff;color:var(--ink);border:1px solid #3a5c66;border-radius:3px;padding:8px 10px;font-size:14px}.acc-status{min-height:1em;font-size:13px;margin:0}.acc-status.bad{color:#ffb4a3}.acc-done{background:#10303a;padding:12px 14px;border-radius:4px}.prepared{font-size:11.5px;color:#cfe3e1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}.prepared:empty{display:none}.accessbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;padding:8px 16px;background:#fbefd5;border-bottom:2px solid #e0a43a;color:#4a3509;font-size:13px}.acc-notice{display:contents}.working{color:var(--ink2);font-style:italic}body[data-busy=on] #savestate:after{content:" · checking";opacity:.8}#print .prep-line{font-size:9pt;margin:0 0 6px}@media (max-width: 1400px){.prepared{max-width:160px}}@media (max-width: 900px){.prepared{display:none}}.quiet{font-size:11.5px;color:var(--ink2);margin:-4px 0 10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip{position:absolute;left:8px;top:-60px;z-index:100;background:var(--deep);color:#fff;border:2px solid #fff;border-radius:3px;padding:8px 14px;font-weight:600;cursor:pointer}.skip:focus{top:8px}:focus-visible{outline:2px solid var(--labs);outline-offset:2px}.top :focus-visible{outline-color:#8fd6d1}.hsel{background:#102a32;color:var(--paper);border:1px solid #2b4b55;border-radius:3px;padding:5px 6px;font-size:12px;width:auto}.exbar.practice{background:#e2efed;border-bottom-color:var(--labs);color:#123a38}.validbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;padding:8px 16px;background:var(--err-l);border-bottom:2px solid var(--err);color:#5c1a0f;font-size:13px}.recover{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;padding:10px 24px;background:#fbefd5;border-bottom:2px solid #e0a43a;color:#4a3509;font-size:13.5px}.recover-t{flex:1;min-width:240px}.recover-acts{display:flex;gap:8px}.bl-n{font-family:var(--mono);font-size:11px;color:var(--ink2);min-width:26px}.wd-units{display:flex;align-items:center;gap:10px;margin:0 0 10px;font-size:12.5px}.wd-units select{width:auto}.wd-err{color:var(--err);font-size:11.5px;font-weight:600}.wd-err:empty{display:none}.wd-live{font-size:12.5px;margin:10px 0 0}.wd-live.bad{background:var(--err-l);color:var(--err);padding:7px 10px;border-radius:3px}.wd-live:empty{display:none}.wd-strings td .wd-err{display:block}.view[data-mode=elev] .vtools>:not(.viewsw){display:none}.view[data-mode=elev] #elev{top:48px;padding-top:10px}.view[data-mode=elev] .vtools{background:var(--sheet);left:0;right:0;top:0;padding:8px 10px;border-bottom:1px solid var(--rule)}@media print{body.print-screen #app{display:block!important;height:auto}body.print-screen #print,body.print-screen .top,body.print-screen .subbar,body.print-screen footer,body.print-screen .view{display:none!important}}@media (max-width: 1100px) and (min-width: 901px){.subbar{flex-wrap:wrap}.subtabs{flex:1 1 auto;flex-wrap:wrap;overflow:visible}}@media (max-width: 600px){button,select,input[type=text],input[type=number],input[type=search],summary,.subtabs button,.sections button{min-height:44px}button.small,.flow-btns .small{padding:8px 12px;font-size:13px}.hicon{width:44px;height:44px}input[type=checkbox],input[type=radio]{width:22px;height:22px}.chk,.opt,label.tog,.lesson-row{min-height:44px}.recover{padding:10px 16px}.hsel{font-size:12px;padding:2px 4px}.vmore-box{left:0;right:auto}#new{padding:4px 8px}}.t-short{display:none}@media (max-width: 1150px){.t-full{display:none}.t-short{display:inline}}.dz .pair{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;position:relative;padding-left:80px;min-height:26px}.dz .pair>span:first-child{position:absolute;left:0;top:5px;width:76px;line-height:1.2}.dz .pair>select,.dz .pair>input{flex:1 1 auto;width:auto;max-width:100%}.dz .pair>input[type=text]{min-width:140px}.dz .pair>.chk{flex:0 1 auto}.dz .pair .hint,.dz .pair .hint.full{flex-basis:100%}.dz .field select{width:100%}.dz .dz-str{padding:6px 0 4px;border-bottom:1px solid var(--rule)}.dz .dz-str-head{display:flex;gap:6px;align-items:center;margin-bottom:4px}.dz .dz-str-head input{flex:1 1 auto}.dz .dz-str-row{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}.dz .dz-mini{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:var(--ink2)}.dz .dz-mini select{width:auto;max-width:100%}.dz .dz-ssv{flex:1 1 100%;display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;font-size:11.5px;color:var(--ink2)}.dz .dz-ssv select{width:auto}.dz .dz-ssv.unset select{border-color:var(--warn)}.dz .dz-portn{width:52px;flex:0 0 52px}.dz .dz-err{display:block;grid-column:1 / -1;flex-basis:100%;font-size:11.5px;color:var(--err);margin-top:2px}.dz .dz-invalid input,.dz .dz-invalid select{border-color:var(--err)}.dz .dz-errs{font-size:12px;color:var(--err);background:var(--err-l);border-left:3px solid var(--err);border-radius:3px;padding:6px 10px;margin:0 0 10px}.dz .dz-errs.empty{display:none}.dz .dz-jrow{margin:-2px 0 10px 12px;padding:5px 8px;background:var(--paper);border-left:3px solid var(--rule);border-radius:3px;font-size:12px}.dz .dz-joints .dz-jrow{margin:4px 0}.dz .dz-jrow select{width:auto;max-width:100%;margin:3px 0}.dz .dz-jlab{color:var(--ink2)}.dz .dz-jicon{margin-right:4px;color:var(--rule)}.dz .dz-jinfo{font-family:var(--mono);font-size:10.5px;color:var(--ink2)}.dz .dz-jrow.bad{border-left-color:var(--err);background:var(--err-l)}.dz .dz-jrow.bad .dz-jlab,.dz .dz-jrow.bad b{color:var(--err)}.dz .dz-jrow.bad select{border-color:var(--err)}.dz .dz-joints{margin-top:6px;border-top:1px dashed var(--rule);padding-top:4px}.dz .dz-joints>summary{cursor:pointer;font-size:12px;color:var(--ink2)}.dz .dz-badtxt{color:var(--err)}.dz .dz-sub{margin:6px 0 4px;padding:6px 8px;border:1px solid var(--rule);border-radius:3px;background:var(--paper)}.dz .dz-sub.bad{border-color:var(--err)}.dz .dz-subhead{font-family:var(--display);font-size:12.5px;font-weight:600;margin-bottom:4px;display:flex;gap:8px;align-items:baseline}.dz .dz-subhead small{font-family:var(--body);font-weight:400;font-size:11px;color:var(--ink2)}.dz .dz-vrow{display:flex;flex-wrap:wrap;align-items:center;gap:3px 6px;padding:4px 0;border-top:1px solid var(--rule);font-size:12px}.dz .dz-vrow:first-of-type{border-top:0}.dz .dz-vpos{flex:1 1 100%;color:var(--ink)}.dz .dz-vrow select{flex:1 1 auto;width:auto;max-width:100%}.dz .dz-vrow.bad .dz-vpos{color:var(--err);font-weight:600}.dz .dz-vrow.bad select{border-color:var(--err)}.dz .dz-fixed{flex:1 1 auto;font-size:11.5px;color:var(--ink2);padding:4px 0}.dz .dz-chip{margin-left:6px}.dz .dz-hint{font-size:11px;color:var(--ink2);margin-top:4px}.dz .dz-hint.bad{color:var(--err)}.dz .dz-hint button{margin-left:6px}.dz .dz-note{position:relative;font-size:12px;padding:7px 10px;border-radius:3px;margin:0 0 10px;border-left:3px solid var(--labs);background:var(--note-l)}.dz .dz-note button.small{margin-left:8px}.dz .dz-note.dz-warn{border-left-color:var(--warn);background:var(--warn-l)}.dz .dz-note.dz-ex{border-left-color:var(--rule);background:var(--paper);color:var(--ink2)}.dz .dz-note ul{margin:4px 0 0 16px;padding:0}.dz .dz-note .x{position:absolute;top:2px;right:6px;border:0;background:none;font-size:16px;cursor:pointer;color:var(--ink2)}.dz .dz-changes{padding-right:24px}.dz .dz-src-example input,.dz .dz-src-example select,.dz .dz-src-assumed input,.dz .dz-src-assumed select,.dz table.dz-src-example input,.dz table.dz-src-example select{color:var(--ink2);background:var(--paper);font-style:italic}.dz .dz-srcmark{display:inline-block;font-family:var(--mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink2);border:1px dashed var(--rule);border-radius:2px;padding:0 4px;margin-left:4px;font-style:normal}.dz .dz-flash{animation:dz-flash 1.8s ease-out}@keyframes dz-flash{0%,30%{box-shadow:0 0 0 3px var(--cons)}to{box-shadow:0 0 0 3px transparent}}@media (prefers-reduced-motion: reduce){.dz .dz-flash{animation:none;outline:3px solid var(--cons)}}.ln-start{background:#fff;border:1px solid var(--rule);border-left:3px solid var(--labs);border-radius:3px;padding:8px 11px 10px;margin:0 0 12px}.ln-start h4{margin-top:2px}.ln-start p{font-size:12.5px;margin:4px 0}.ln-rule{background:var(--note-l);padding:6px 8px;border-radius:3px}.ln-prog{height:8px;background:var(--rule);border-radius:4px;overflow:hidden;margin:8px 0 4px}.ln-prog i{display:block;height:100%;background:var(--labs)}.ln-fine{font-size:11.5px;color:var(--ink2);margin:4px 0}.lesson-row.part{border-left-color:var(--acad)}.lesson-row.active{border-left-color:var(--cons);background:#fffaf3}.ln-tag{margin-left:8px;font:600 10px var(--mono);text-transform:uppercase;letter-spacing:.05em;color:#fff;background:var(--cons);padding:1px 5px;border-radius:2px;vertical-align:1px}.ln-show .showme button.on{border-color:var(--labs);background:var(--labs-l);color:var(--ink)}.ln-caption{background:#fff;border:1px solid var(--rule);border-left:3px solid var(--labs);border-radius:3px;padding:7px 10px;margin:2px 0 10px;font-size:12.5px}.ln-caption p{margin:4px 0}.ln-legend{list-style:none;padding:0;margin:6px 0 2px;display:flex;flex-wrap:wrap;gap:4px 12px;font-size:11.5px}.ln-legend li{display:flex;align-items:center;gap:5px}.ln-legend i{width:12px;height:12px;border-radius:2px;border:1px solid rgba(0,0,0,.2);flex:none}.ln-try{background:var(--note-l);border-radius:3px;padding:4px 11px 10px;margin:10px 0}.ln-try h4{margin-top:8px}.quiz fieldset.q-ok{border-color:var(--labs);border-left:3px solid var(--labs)}.quiz fieldset.q-no{border-color:var(--err);border-left:3px solid var(--err)}.quiz .opt.answer{font-weight:600;color:var(--note)}.quiz .why b{color:var(--ink)}.quiz input[disabled]+*{cursor:default}.ln-done{background:#fff;border:1px solid var(--rule);border-left:3px solid var(--acad);border-radius:3px;padding:6px 11px 10px;margin:12px 0;font-size:12.5px}.ln-done.met{border-left-color:var(--labs)}.ln-next{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.ln-strip{background:#fff;border:1px solid var(--rule);border-left:3px solid var(--cons);border-radius:3px;padding:7px 10px 9px;margin:8px 0 10px;font-size:12.5px}.ln-strip-head{display:flex;flex-direction:column;gap:1px}.ln-strip-head span{font:600 10.5px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--cons)}.ln-brief{margin:4px 0 6px;color:var(--ink2)}.ln-solved{background:var(--note-l);color:var(--note);border-radius:3px;padding:6px 9px;margin:6px 0}.ln-goals li{padding-bottom:5px}.ln-where{font-size:11.5px;color:var(--ink2);margin-top:2px;display:flex;flex-wrap:wrap;gap:2px 10px;align-items:baseline}.ln-where .link{font-size:11.5px}.ln-mark{color:var(--labs)}.ln-syn{font-weight:400;font-size:11.5px;color:var(--ink2)}.ln-gnote{background:var(--note-l);border-radius:3px;padding:5px 8px;margin:5px 0 2px;font-size:12px}.ln-gnote.miss{background:var(--warn-l)}.ln-gnote p{margin:0 0 4px}.ln-basics,.ln-progress{background:#fff;border:1px solid var(--rule);border-left:3px solid var(--acad);border-radius:3px;padding:8px 11px 10px;margin:0 0 12px;font-size:12.5px}.ln-basics h4,.ln-progress h4{margin-top:2px}.ln-basics ol{margin:6px 0 0 18px;padding:0}.ln-basics li{margin:3px 0}.ln-progress input[type=text]{width:100%;font:11px var(--mono);margin-top:6px}.ln-progress textarea{width:100%;font:11px var(--mono);margin:6px 0}.ln-progress details summary{cursor:pointer;font-size:11.5px;color:var(--ink2);margin-top:6px}.ln-skip{margin-left:auto}.ln-answer{background:var(--note-l);border-left:3px solid var(--labs);border-radius:3px;padding:7px 10px;margin:8px 0;font-size:12.5px}.ln-answer ul{margin:4px 0 2px 16px;padding:0}.ln-checks{margin:4px 0 6px 18px;padding:0}.ln-checks summary{cursor:pointer}@media (pointer: coarse){.quiz .opt{min-height:44px;align-items:center}.ln-show .showme button,.ln-next button{min-height:44px}}
