:root{--bg: #F5F6F8;--card: #FFFFFF;--ink: #15171C;--soft: #5E636D;--dim: #8A8F98;--line: #E1E5EB;--accent: #9BC83A;--accent-soft: #F0FBD3;--accent-bright: #C8F169;--ok: #1F7A4D;--ok-bg: #E3F4EA;--warn: #8A5A00;--warn-bg: #FFF3D6;--err: #B42318;--err-bg: #FDE8E6;--sans: "Hanken Grotesk", -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;--mono: "JetBrains Mono", ui-monospace, Menlo, monospace;--t-small: 13px;--t-label: 14px;--t-body: 16px;--t-read: 17.5px;--t-h2: 20px;--t-h1: 30px;--t-hero: 34px;--measure: 68ch;color-scheme:light}:root[data-theme=dark]{--bg: #111418;--card: #1A1E24;--ink: #ECEEF1;--soft: #A3A9B3;--dim: #7D838D;--line: #2C323B;--ok: #7BD9A4;--ok-bg: #12301F;--warn: #F2C14E;--warn-bg: #33270C;--err: #FF9C8F;--err-bg: #3A1714;color-scheme:dark}:root[data-theme=dark] .l-app{--wash: color-mix(in srgb, var(--accent) 26%, var(--card))}@media(prefers-color-scheme:dark){:root[data-theme=system]{--bg: #111418;--card: #1A1E24;--ink: #ECEEF1;--soft: #A3A9B3;--dim: #7D838D;--line: #2C323B;--ok: #7BD9A4;--ok-bg: #12301F;--warn: #F2C14E;--warn-bg: #33270C;--err: #FF9C8F;--err-bg: #3A1714;color-scheme:dark}:root[data-theme=system] .l-app{--wash: color-mix(in srgb, var(--accent) 26%, var(--card))}}.l-app{--wash: var(--accent-soft)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:400 var(--t-body)/1.55 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"ss01","cv11"}h1{font-size:var(--t-h1);font-weight:750;line-height:1.12;letter-spacing:-.025em;margin:0 0 6px;text-wrap:balance}h2{font-size:var(--t-h2);font-weight:700;letter-spacing:-.01em;margin:26px 0 8px;display:flex;align-items:center;gap:8px;text-wrap:balance}b,strong{font-weight:650}p,li{text-wrap:pretty}h2 small{color:var(--soft);font-weight:500;font-size:14px}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}code{font-family:var(--mono);font-size:13px}.l-center{min-height:100vh;display:grid;place-items:center;padding:16px}.l-top{position:sticky;top:0;z-index:3;display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;padding:10px 16px;background:var(--card);border-bottom:1px solid var(--line)}.l-brand{display:flex;align-items:center;gap:8px;font-size:18px;border:0;background:none;cursor:pointer;padding:0}.l-ws,.l-ws-name{font-weight:600;color:var(--soft)}.l-ws{border:1px solid var(--line);border-radius:10px;padding:6px 10px;background:var(--bg)}.l-nav{display:flex;flex-wrap:wrap;gap:2px;margin-left:auto;align-items:center;min-width:0}.l-nav .l-link{white-space:nowrap;margin-left:6px}.l-tab{border:0;background:none;padding:8px 10px;white-space:nowrap;border-radius:10px;color:var(--soft);font-weight:600;cursor:pointer}.l-tab.on{background:var(--wash);color:var(--ink)}.l-main{max-width:980px;margin:0 auto;padding:28px 16px 72px}.l-page{display:flex;flex-direction:column;gap:14px}.l-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px}.l-head>div{min-width:0;max-width:680px}.l-sub{color:var(--soft);margin:0}.l-kicker{font-size:12px;font-weight:700;color:var(--soft);text-transform:uppercase;letter-spacing:.08em}.l-mono{font-family:var(--mono);font-size:12px;color:var(--dim);word-break:break-all}.l-p{margin:0 0 10px;white-space:pre-wrap}.l-bubble .l-p,.l-source,.l-score .l-p,.l-section .l-p,.l-pad .l-p{font-size:var(--t-read);line-height:1.65;max-width:var(--measure)}.l-sub{font-size:var(--t-body);line-height:1.5;max-width:var(--measure)}.l-p:last-child{margin-bottom:0}.l-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px 20px;display:flex;flex-direction:column;gap:12px}.l-empty{align-items:center;text-align:center;color:var(--soft)}.l-signin{width:min(400px,100%);align-items:center;text-align:center;padding:32px 24px}.l-signin .l-field,.l-signin .l-btn{width:100%;text-align:left}.l-signin .l-btn{text-align:center}.l-signin-crew{display:flex;gap:2px;margin-bottom:4px}.l-btn{border:0;border-radius:999px;background:var(--ink);color:var(--card);font-weight:700;padding:10px 20px;cursor:pointer;white-space:nowrap}.l-btn:disabled{opacity:.5;cursor:default}.l-btn-danger{background:var(--err);color:#fff}.l-link{border:0;background:none;color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:3px;font-weight:600;padding:4px 0;cursor:pointer;text-align:left;align-self:flex-start}.l-link:disabled{opacity:.5}.l-link-danger{color:var(--err);text-decoration-color:currentColor}.l-chip{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:6px 12px;font-weight:600;font-size:14px;cursor:pointer;white-space:nowrap}.l-chip:hover:not(:disabled){border-color:var(--accent);background:var(--wash)}.l-chip.on{background:var(--ink);color:var(--card);border-color:var(--ink)}.l-chip:disabled{opacity:.45;cursor:default}.l-field{display:flex;flex-direction:column;gap:4px;font-size:14px;color:var(--soft);min-width:0}.l-field input,.l-field select,.l-field textarea,.l-crit-edit input{border:1px solid var(--line);border-radius:10px;padding:9px 12px;background:var(--bg);color:var(--ink);width:100%;font-size:16px}.l-field textarea{resize:vertical;line-height:1.5}.l-ok{background:var(--ok-bg);color:var(--ok);border-radius:12px;padding:10px 14px;margin:0}.l-err{background:var(--err-bg);color:var(--err);border-radius:12px;padding:10px 14px;margin:0}.l-actions{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center}.l-inline{flex-direction:row;flex-wrap:wrap;align-items:flex-end}.l-inline .l-field{flex:1 1 160px}.l-grow{flex:3 1 260px!important}.l-form2,.l-row2{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.l-seg{display:flex;flex-wrap:wrap;gap:6px}.l-seg button{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:6px 14px;font-weight:600;cursor:pointer}.l-seg button.on{background:var(--ink);color:var(--card);border-color:var(--ink)}.l-list{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden}.l-list:empty{display:none}.l-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:14px 18px;border:0;border-top:1px solid var(--line);background:none;text-align:left;width:100%;cursor:pointer}.l-row:first-child{border-top:0}.l-row.static{cursor:default}button.l-row:hover{background:var(--bg)}.l-row-main{display:flex;flex-direction:column;min-width:0;flex:1 1 280px}.l-row-main small{color:var(--soft)}.l-row-side{display:flex;align-items:center;gap:10px;color:var(--soft);font-variant-numeric:tabular-nums;flex-wrap:wrap}.l-row-side small{color:var(--soft)}.l-row-side select{border:1px solid var(--line);border-radius:8px;padding:4px 8px;background:var(--bg)}.l-three{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.l-pad{padding:4px 18px 18px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:6px}.l-hero{display:flex;align-items:center;gap:18px;background:var(--wash);border-radius:22px;padding:18px 22px}.l-hero h1{font-size:var(--t-hero);letter-spacing:-.03em}.l-ask{display:flex;gap:8px}.l-ask input{flex:1;min-width:0;border:1px solid var(--line);border-radius:999px;padding:12px 18px;background:var(--card);font-size:16px}.l-ask-sticky{position:sticky;bottom:12px;background:var(--bg);padding:6px;border-radius:999px;box-shadow:0 6px 24px #00000014}.l-topic h2{margin-top:18px}.l-state{font-weight:600;font-size:13px;padding:2px 9px;border-radius:999px;white-space:nowrap}.l-state.not_started{background:var(--bg);color:var(--soft);border:1px solid var(--line)}.l-state.learning{background:var(--warn-bg);color:var(--warn)}.l-state.proficient{background:var(--ok-bg);color:var(--ok)}.l-chat{gap:16px}.l-you{align-self:flex-end;background:var(--ink);color:var(--card);padding:10px 16px;border-radius:18px 18px 4px;max-width:min(560px,85%);margin:0;white-space:pre-wrap}.l-coach{display:flex;gap:10px;align-items:flex-start}.l-coach>svg{flex:none}.l-bubble{background:var(--card);border:1px solid var(--line);border-radius:4px 18px 18px;padding:12px 16px;min-width:0;max-width:720px;display:flex;flex-direction:column;gap:4px}.l-bubble>b{font-size:13px;color:var(--soft)}.l-scenario{border-color:var(--accent);border-width:2px}.l-cite{border:0;background:var(--wash);color:var(--ink);font:600 12px var(--mono);padding:1px 6px;margin:0 2px;border-radius:6px;cursor:pointer;vertical-align:1px}.l-cite:hover{background:var(--accent-bright);color:#15171c}.l-source{margin:6px 0 0;padding:10px 14px;border-left:3px solid var(--accent);background:var(--bg);border-radius:0 10px 10px 0;white-space:pre-wrap;font-size:15px;display:flex;flex-direction:column;gap:6px}.l-source small{color:var(--soft);font-weight:600}.l-next b{margin-bottom:-4px}.l-next-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid var(--line);padding-top:10px}.l-score{gap:14px}.l-score.pass{border-color:var(--ok)}.l-score-head{display:flex;align-items:center;gap:16px}.l-score-head small{display:block;color:var(--soft)}.l-big{font-size:44px;font-weight:800;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.l-score.pass .l-big{color:var(--ok)}.l-criteria{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.l-criteria li{display:flex;gap:12px;align-items:flex-start}.l-criteria li>div{display:flex;flex-direction:column;gap:2px;min-width:0}.l-criteria q{color:var(--soft);font-style:italic}.l-verdict{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:800}li.met .l-verdict{background:var(--ok-bg);color:var(--ok)}li.partial .l-verdict{background:var(--warn-bg);color:var(--warn)}li.missed .l-verdict{background:var(--err-bg);color:var(--err)}li.na{opacity:.6}li.na .l-verdict{background:var(--bg);color:var(--soft);border:1px solid var(--line)}.l-must{display:inline-block;margin-left:8px;font-size:12px;font-weight:700;color:var(--err);border:1px solid currentColor;border-radius:999px;padding:0 7px;vertical-align:2px}.l-drop{border:2px dashed var(--line);border-radius:16px;padding:20px;text-align:center;color:var(--soft)}.l-drop.over{border-color:var(--accent);background:var(--wash)}.l-section small{color:var(--soft);font-weight:600}.l-danger{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:12px}.l-obj.draft,.l-obj.review{border-color:var(--accent);border-width:2px}.l-obj.retired{opacity:.65}.l-obj-head{display:flex;flex-direction:column;gap:2px}.l-obj-head b{font-size:18px}.l-rubric{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.l-rubric li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}.l-rubric small{color:var(--dim);font-family:var(--mono);font-size:12px}.l-pts{flex:none;min-width:22px;height:22px;border-radius:6px;background:var(--wash);display:inline-grid;place-items:center;font-weight:700;font-size:13px}.l-crit-edit{display:grid;grid-template-columns:1fr 70px auto auto;gap:8px;align-items:center}.l-check{display:flex;gap:6px;align-items:center;font-size:14px;color:var(--soft);white-space:nowrap}.l-picks{border:1px solid var(--line);border-radius:12px;padding:10px 14px;display:flex;flex-direction:column;gap:6px;margin:0;max-height:240px;overflow:auto}.l-picks legend{color:var(--soft);font-size:14px;padding:0 4px}.l-picks label{display:flex;gap:8px;align-items:flex-start}.l-gridwrap{overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:18px}.l-grid{border-collapse:collapse;width:100%;font-size:14px}.l-grid th,.l-grid td{padding:10px 12px;border-top:1px solid var(--line);text-align:left;vertical-align:middle}.l-grid thead th{border-top:0;color:var(--soft);font-weight:600;max-width:180px}.l-grid thead th span{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.l-grid tbody th{white-space:nowrap;position:sticky;left:0;background:var(--card)}.l-grid .num{font-variant-numeric:tabular-nums}.l-coaches{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.l-coach-card{display:flex;flex-direction:column;align-items:center;gap:2px;padding:16px 10px 14px;border:2px solid var(--line);border-radius:18px;background:var(--card);cursor:pointer;text-align:center}.l-coach-card:hover{background:var(--c)}.l-coach-card.on{border-color:var(--d);background:var(--c)}:root[data-theme=dark] :is(.l-coach-card:hover,.l-coach-card.on){background:color-mix(in srgb,var(--d) 22%,var(--card))}@media(prefers-color-scheme:dark){:root[data-theme=system] :is(.l-coach-card:hover,.l-coach-card.on){background:color-mix(in srgb,var(--d) 22%,var(--card))}}.l-theme{border:1px solid var(--line);background:var(--card);border-radius:999px;width:36px;height:36px;display:grid;place-items:center;cursor:pointer;color:var(--soft)}.l-theme:hover{color:var(--ink)}.l-coach-card small{color:var(--soft);font-size:13px}.l-new{margin-left:6px;font-size:11px;font-weight:700;background:var(--ink);color:var(--card);padding:1px 6px;border-radius:999px;vertical-align:2px}.l-urls{margin:0;display:flex;flex-direction:column;gap:8px}.l-urls>div{display:grid;grid-template-columns:minmax(150px,220px) 1fr;gap:8px;align-items:center}.l-urls dt{color:var(--soft);font-size:14px}.l-urls dd{margin:0;display:flex;gap:10px;align-items:center;min-width:0}.l-urls code{word-break:break-all}@media(max-width:640px){:root{--t-h1: 26px;--t-hero: 27px;--t-read: 17px}.l-hero{flex-direction:column;text-align:center}.l-nav{margin-left:0;width:100%}.l-crit-edit{grid-template-columns:1fr 64px}.l-urls>div{grid-template-columns:1fr}.l-ask{flex-direction:column}.l-ask-sticky{border-radius:18px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.l-comp{gap:14px}.l-comp-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.l-comp-head b{font-size:18px}.l-levels{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.l-levels>li{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.l-level-name{display:flex;gap:8px;align-items:center;align-self:start}.l-level-body{display:flex;flex-direction:column;gap:6px;min-width:0}.l-pip{flex:none;width:24px;height:24px;border-radius:50%;background:var(--wash);display:inline-grid;place-items:center;font-weight:800;font-size:13px}.l-evidence{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;background:var(--bg);border-radius:10px;padding:8px 10px}.l-evidence select{border:1px solid var(--line);border-radius:8px;padding:4px 8px;background:var(--card);max-width:100%}.l-small{font-size:14px}.l-dim{color:var(--dim)}.l-level-edit{display:grid;grid-template-columns:24px 140px 1fr;gap:8px;align-items:center}.l-level-edit input{border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:var(--bg);width:100%;min-width:0}.l-pips{display:inline-flex;align-items:center;gap:4px}.l-pips small{margin-left:4px;color:var(--soft);font-size:12px}.l-pipdot{width:12px;height:12px;border-radius:50%;background:var(--line)}.l-pipdot.on{background:var(--ok)}.l-pipdot.gap{background:transparent;box-shadow:inset 0 0 0 2px var(--warn)}.l-pipdot.need.on{box-shadow:0 0 0 2px var(--card),0 0 0 3px var(--ok)}.l-need{display:flex;justify-content:space-between;gap:10px;align-items:center}.l-need select{border:1px solid var(--line);border-radius:8px;padding:4px 8px;background:var(--bg)}@media(max-width:640px){.l-levels>li{grid-template-columns:1fr}.l-level-edit{grid-template-columns:24px 1fr}.l-level-edit input:last-child{grid-column:2}}.l-state.due{background:var(--err-bg);color:var(--err)}.l-start{border:2px solid var(--accent);gap:8px}.l-start-title{font-size:var(--t-h2);line-height:1.3;letter-spacing:-.01em}.l-upnext{display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--line);padding-top:10px;margin-top:4px}.l-goal{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;background:var(--wash);border-radius:16px;padding:14px 18px}.l-goal>div{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 260px}.l-goal b{font-size:var(--t-read);line-height:1.4}.l-hint{background:var(--warn-bg);border-radius:12px;padding:10px 14px;display:flex;flex-direction:column;gap:6px}.l-hint .l-source{background:var(--card)}.l-model{border-top:1px solid var(--line);padding-top:10px}.l-model summary{cursor:pointer;font-weight:650}.l-model[open] summary{margin-bottom:6px}.l-setup ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.l-setup li{display:flex;gap:10px;align-items:flex-start}.l-setup li>div{display:flex;flex-direction:column}.l-setup small{color:var(--soft)}.l-setup li.done .l-link{color:var(--soft);text-decoration-color:var(--line)}.l-tick{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;font-size:13px;font-weight:800;margin-top:3px}li.done .l-tick{background:var(--ok);border-color:var(--ok);color:#fff}
