:root{--bg: #fbfbfa;--surface: #ffffff;--ink: #1c1c1a;--muted: #6b6b66;--line: #e4e4e0;--accent: #2f5d50;--accent-soft: #e6efeb;--warn: #8a3324;--ok: #2f5d50;--state-completed: #3f7a52;--state-completed-soft: #e7f1e9;--state-in-progress: var(--accent);--state-in-progress-soft: var(--accent-soft);--state-available: var(--line);--state-locked: #a8a8a2;--state-locked-soft: #efefec;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}header{display:flex;align-items:center;gap:1.5rem;padding:.85rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap}.brand{font-weight:650;letter-spacing:-.01em}header nav{display:flex;gap:.25rem}.account{margin-left:auto;display:flex;align-items:center;gap:.75rem}main{max-width:60rem;margin:0 auto;padding:1.5rem}.banner{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;padding:.6rem 1.5rem;background:var(--accent-soft);border-bottom:1px solid var(--line);font-size:.88rem}h1{font-size:1.4rem;margin:0 0 .25rem}h2{font-size:1.2rem;margin:0 0 .35rem}h3{font-size:1rem;margin:1.75rem 0 .5rem}.muted{color:var(--muted)}.block{display:block;font-size:.85em}.error{color:var(--warn)}.ok{color:var(--ok)}button{font:inherit;padding:.45rem .9rem;border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:6px;cursor:pointer}button:disabled{opacity:.6;cursor:default}button.link{background:none;border:none;color:var(--accent);text-decoration:underline;padding:0}button.tab{background:none;border:1px solid transparent;color:var(--ink)}button.tab.active{background:var(--accent-soft);border-color:var(--accent-soft);color:var(--accent);font-weight:600}label{display:block;margin:.75rem 0;font-size:.9rem;color:var(--muted)}input,select{display:block;width:100%;margin-top:.25rem;padding:.5rem .6rem;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:6px}input:focus,select:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.centred{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:1.25rem;min-width:min(24rem,100%)}.cards{list-style:none;padding:0;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr))}table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden}th,td{text-align:left;padding:.6rem .75rem;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:600}tbody tr:last-child td{border-bottom:none}.results{list-style:none;padding:0;margin:.5rem 0 1rem;display:grid;gap:.25rem}button.result{display:block;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);color:var(--ink)}button.result.selected{border-color:var(--accent);background:var(--accent-soft)}.levels{display:inline-flex;align-items:center;gap:2px}.level{width:12px;height:8px;border-radius:2px;background:var(--line)}.level.filled{background:var(--accent)}.level.target{background:repeating-linear-gradient(45deg,var(--accent-soft),var(--accent-soft) 2px,transparent 2px,transparent 4px);border:1px solid var(--accent-soft)}.level-label{margin-left:.5rem;font-size:.8rem;color:var(--muted)}.tags{display:inline-flex;gap:.25rem;flex-wrap:wrap;margin-left:.4rem}.tag{font-size:.72rem;padding:.1rem .4rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);white-space:nowrap}.readiness{font-size:1.1rem}.path{padding-left:1.25rem;display:grid;gap:1rem}.resources{margin:.35rem 0 0;padding-left:1rem;font-size:.9rem}.empty{text-align:center;padding:3rem 1rem}.options{list-style:none;padding:0;margin:.75rem 0;display:grid;gap:.4rem}.options label{display:flex;align-items:center;gap:.5rem;margin:0;padding:.5rem .6rem;background:var(--surface);border:1px solid var(--line);border-radius:6px;color:var(--ink);font-size:1em;cursor:pointer}.options input[type=checkbox],.options input[type=radio]{width:auto;flex:none;display:inline-block;margin:0;padding:0}.skill-node--completed{border-color:var(--state-completed);background:var(--state-completed-soft)}.skill-node--in_progress{border-color:var(--state-in-progress);background:var(--state-in-progress-soft)}.skill-node--available{border-color:var(--state-available)}.skill-node--locked{border-color:var(--line);background:var(--state-locked-soft);color:var(--muted)}.legend{display:flex;gap:1rem;flex-wrap:wrap;margin:.5rem 0 1rem;font-size:.85rem;color:var(--muted)}.legend-item{display:inline-flex;align-items:center;gap:.35rem}.legend-swatch{width:.7rem;height:.7rem;border-radius:3px;border:1px solid var(--line);display:inline-block}.legend-swatch.skill-node--completed{background:var(--state-completed);border-color:var(--state-completed)}.legend-swatch.skill-node--in_progress{background:var(--state-in-progress);border-color:var(--state-in-progress)}.legend-swatch.skill-node--available{background:var(--surface)}.legend-swatch.skill-node--locked{background:var(--state-locked);border-color:var(--state-locked)}
