:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#14221c;--muted:#24312b;--bg:#f4f1ea;--surface:#fff;--line:#c8c2b4;--green:#143d32;--green-ink:#f4f7f5;--focus:#0b3a8f}*{box-sizing:border-box}html,body,#root{max-width:100%;margin:0}body{color:var(--ink);background:var(--bg);font-family:Segoe UI,system-ui,sans-serif;line-height:1.45;overflow-x:clip}.app{min-height:100vh}.skip-link{color:var(--ink);z-index:20;background:#fff;align-items:center;min-height:44px;padding:8px 12px;display:inline-flex;position:absolute;top:-80px;left:8px}.skip-link:focus{top:8px}.banner{background:var(--green);color:var(--green-ink);margin:0;padding:8px 12px;font-size:.95rem}.notice{color:#2a2208;background:#fff4d6;border-bottom:1px solid #8a6a12;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:0;padding:8px 12px;display:flex}.notice p{margin:0}.primary-nav{background:var(--surface);border-bottom:1px solid var(--line);gap:8px;padding:8px 12px;display:flex}.primary-nav a{min-height:44px;color:var(--ink);border:2px solid #0000;border-radius:8px;justify-content:center;align-items:center;padding:0 12px;font-weight:650;text-decoration:none;display:inline-flex}.primary-nav a[aria-current=page]{background:var(--green);color:var(--green-ink);text-decoration:underline}.app-main{max-width:1100px;margin:0 auto;padding:16px 12px 24px}h1{margin:0 0 12px;font-size:1.6rem;line-height:1.2}h2{margin:20px 0 8px;font-size:1.15rem}p,ul{margin:0 0 12px}a{color:#0b3a8f}a:hover{text-decoration-thickness:2px}main a{align-items:center;min-height:44px;display:inline-flex}button,textarea,summary{font:inherit;color:var(--ink)}button{background:var(--surface);cursor:pointer;border:2px solid #5c564c;border-radius:8px;min-width:44px;min-height:44px;padding:8px 12px}button:disabled{cursor:not-allowed;opacity:.6}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.lede,.meta,.skill-summary{color:var(--muted)}.legend{flex-wrap:wrap;gap:8px 16px;padding:0;list-style:none;display:flex}.legend li{align-items:center;gap:6px;min-height:44px;display:inline-flex}.table-scroll{border:1px solid var(--line);background:var(--surface);border-radius:8px;width:100%;max-width:100%;max-height:70vh;margin-bottom:16px;overflow:auto}table{border-collapse:separate;border-spacing:0;min-width:100%}.table-scroll table{min-width:max(100%,46rem)}th,td{border-bottom:1px solid var(--line);vertical-align:middle;text-align:left;background:var(--surface);padding:6px}thead th{z-index:2;background:#f3f0e8;font-weight:650;position:sticky;top:0}.name-col{z-index:1;min-width:7.25rem;box-shadow:1px 0 0 var(--line);background:#fff;position:sticky;left:0}thead .name-col{z-index:3;background:#f3f0e8;top:0;left:0}.skill-label,.skill-summary{display:block}.skill-summary{max-width:14rem;font-size:.8rem;font-weight:450}.name-col a{align-items:center;min-height:44px;padding:4px;display:flex}.status-btn{background:#fff;justify-content:center;align-items:center;gap:6px;width:100%;display:inline-flex}.status-not-started{border-color:#5c564c}.status-developing{border-color:#8a4b08}.status-mastered{border-color:#0d5c3d}.status-full{display:none}.status-short{display:inline}.panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;margin-bottom:12px;padding:4px 12px 8px}.panel summary{cursor:pointer;align-items:center;min-height:44px;font-weight:700;display:flex}.skill-hints,.name-list,.skill-list,.note-list{padding-left:1.1rem}.skill-list{padding:0;list-style:none}.skill-list li{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;display:flex}.skill-list .status-btn{width:auto;min-width:8.5rem}.reset-block{margin-top:8px}.confirm{background:#fff6f0;border:2px solid #8a3b12;border-radius:8px;margin-top:8px;padding:12px}.confirm-actions{flex-wrap:wrap;gap:8px;display:flex}.progress{background:#e7e1d6;border:2px solid #5c564c;border-radius:999px;height:18px;overflow:hidden}.progress-fill{background:var(--green);height:100%}.progress-text{font-weight:650}.note-form,.skill-picker{flex-direction:column;gap:8px;display:flex}.skill-picker button[aria-pressed=true]{background:#e7f2ec;border-width:3px;font-weight:750}textarea{background:#fff;border:2px solid #5c564c;border-radius:8px;width:100%;min-height:88px;padding:8px}.note-text{white-space:pre-wrap;overflow-wrap:anywhere}.note-list button{white-space:normal;text-align:left;height:auto}.summary-line{font-weight:650}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width>=800px){.status-full{display:inline}.status-short{display:none}.skill-picker{flex-flow:wrap}.skill-picker button{flex:16rem}.app-main{padding:24px}}@media (width<=700px){.primary-nav{z-index:10;border-top:1px solid var(--line);padding-bottom:calc(8px + env(safe-area-inset-bottom));border-bottom:0;justify-content:space-around;position:fixed;bottom:0;left:0;right:0}.primary-nav a{flex:1}.app-main{padding-bottom:calc(84px + env(safe-area-inset-bottom))}}.name-row{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px;display:flex}.name-row h1,.name-form h1{margin:0}.name-form{flex-wrap:wrap;align-items:center;gap:8px;width:100%;margin:0;display:flex}.name-form input{min-width:0;min-height:44px;font:inherit;color:var(--ink);background:#fff;border:2px solid #5c564c;border-radius:8px;flex:12rem;padding:8px 10px}.name-error{color:#6b1d12;flex-basis:100%;margin:0;font-weight:650}.print-actions{flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 12px;display:flex}.print-actions p{margin:0}.print-report{display:none}@media print{@page{margin:.75in}html,body,#root,.app,.app-main,.print-report,.print-report th,.print-report td{color:#000!important;background:#fff!important}body,.print-report{font-size:12pt;line-height:1.4}.app-header,.banner,.primary-nav,.notice,.skip-link,.screen-only,button,.name-form,.note-form,.print-actions,.confirm{display:none!important}.app-main{max-width:none;margin:0;padding:0}.print-report,.print-report[hidden]{display:block!important}.print-report h1{margin:0 0 8pt;font-size:18pt}.print-name{font-size:14pt;font-weight:700}.print-report h2{margin:14pt 0 6pt;font-size:14pt}.print-report p{margin:0 0 8pt}.print-report table{border-collapse:collapse;width:100%;min-width:0;margin:8pt 0}.print-report th,.print-report td{text-align:left;vertical-align:top;border:1px solid #000;padding:4pt 6pt}.print-report tr,.print-report li{break-inside:avoid;page-break-inside:avoid}.print-report .note-text,.print-notes{white-space:pre-wrap}.print-footer{margin-top:16pt}}
