:root{--bg: #f6f7f9;--surface: #ffffff;--ink: #1c2430;--ink-muted: #5b6675;--accent: #2456a6;--accent-ink: #ffffff;--recorded: #eef4ec;--recorded-border: #4a7c59;--yours: #eef2f8;--yours-border: #2456a6;--border: #d7dce3;--aligned: #2c6e49;--diverged: #8a5a00;color-scheme:light}:root.dark{--bg: #12161d;--surface: #1b222c;--ink: #e7ecf3;--ink-muted: #9aa7b6;--accent: #7fb0ff;--accent-ink: #101722;--recorded: #1c2a21;--recorded-border: #6fae82;--yours: #1b2534;--yours-border: #7fb0ff;--border: #333e4c;--aligned: #7fc79c;--diverged: #d9a441;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.55}.app-header{display:flex;flex-wrap:wrap;align-items:baseline;gap:.75rem;padding:1rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--border)}.app-title{font-size:1.15rem;font-weight:650;color:var(--ink);text-decoration:none}.app-subtitle{color:var(--ink-muted);font-size:.9rem}.theme-toggle{margin-left:auto;align-self:center;font:inherit;font-size:.85rem;padding:.35rem .9rem;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--ink);cursor:pointer}.theme-toggle:hover{background:var(--bg)}.app-main{max-width:60rem;margin:0 auto;padding:1.5rem}.app-footer{max-width:60rem;margin:0 auto;padding:1rem 1.5rem 2rem;color:var(--ink-muted);font-size:.85rem}h2{margin-top:0}.lede{color:var(--ink-muted);max-width:46rem}.skill-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:1rem;margin:1.25rem 0}.skill-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:.5rem}.skill-card h3{margin:0;font-size:1rem}.skill-card p{margin:0;font-size:.9rem}.skill-card .evidence{color:var(--ink-muted);font-size:.8rem}.skill-card .count{margin-top:auto;color:var(--accent);font-size:.8rem;font-weight:600}.scenario-meta{display:flex;gap:.75rem;align-items:center;margin-bottom:.5rem}.progress{color:var(--ink-muted);font-size:.85rem}.skill-badge{background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:.15rem .75rem;font-size:.8rem;font-weight:600}.situation{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:6px;padding:.9rem 1rem}.prompt{font-weight:650}fieldset{border:1px solid var(--border);border-radius:8px;background:var(--surface);margin:0 0 1rem;padding:.75rem 1rem 1rem}legend{font-weight:650;padding:0 .4rem}.option{display:flex;gap:.6rem;align-items:baseline;padding:.45rem .3rem;border-radius:6px;cursor:pointer}.option:hover{background:var(--bg)}.option input{flex:0 0 auto}.option span{font-size:.92rem}.actions{display:flex;gap:.75rem;margin:1.25rem 0}button{font:inherit;padding:.55rem 1.3rem;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--ink);cursor:pointer}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}button:disabled{opacity:.45;cursor:not-allowed}.comparison{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem;margin:1rem 0}.comparison-column{border-radius:8px;padding:1rem;border:1px solid var(--border)}.comparison-column.yours{background:var(--yours);border-left:4px solid var(--yours-border)}.comparison-column.recorded{background:var(--recorded);border-left:4px solid var(--recorded-border)}.comparison-column h3{margin:0 0 .5rem;font-size:.95rem}.comparison-column p{margin:0 0 .5rem;font-size:.92rem}.comparison-column .verify{color:var(--ink-muted)}.alignment-note{font-weight:600}.rationale{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1rem}.rationale h4{margin:0 0 .5rem}.rationale p{margin:0 0 .5rem;font-size:.92rem}.rationale .evidence{color:var(--ink-muted);font-size:.85rem}.summary-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:8px}.summary-table th,.summary-table td{text-align:left;vertical-align:top;padding:.7rem .9rem;border-bottom:1px solid var(--border);font-size:.92rem}.summary-table .definition{display:block;color:var(--ink-muted);font-size:.8rem;font-weight:400;margin-top:.2rem}.summary-table td.aligned{color:var(--aligned);font-weight:600}.summary-table td.diverged{color:var(--diverged);font-weight:600}
