.autocomplete[data-v-ed407ce8]{position:relative}.suggestions[data-v-ed407ce8]{position:absolute;z-index:5;top:100%;left:0;right:0;margin:.2em 0 0;padding:.3em 0;list-style:none;background:var(--card-bg);border:1px solid var(--border);border-radius:8px;max-height:14em;overflow-y:auto}.suggestions li[data-v-ed407ce8]{padding:.5em .75em;cursor:pointer}.suggestions li[data-v-ed407ce8]:hover{background:var(--chip-bg)}.muted[data-v-ed407ce8]{color:var(--muted);font-size:.9em}.secondary[data-v-ed407ce8]{background:var(--secondary-btn)}.top-banner[data-v-c1968f97]{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--discipline-color);color:#fff;z-index:10}.actions[data-v-c1968f97]{display:flex;gap:.5rem}.top-banner button[data-v-c1968f97]{background:#fff3}.autocomplete[data-v-4f120bd1]{position:relative}input.has-clear[data-v-4f120bd1]{padding-right:2.2em}.clear-btn[data-v-4f120bd1]{position:absolute;top:0;right:0;height:100%;width:2.2em;background:transparent;color:var(--muted);padding:0;min-height:auto;line-height:1}.clear-btn[data-v-4f120bd1]:hover{color:var(--text)}.suggestions[data-v-4f120bd1]{position:absolute;z-index:15;top:100%;left:0;right:0;margin:.2em 0 0;padding:.3em 0;list-style:none;background:var(--card-bg);border:1px solid var(--border);border-radius:8px;max-height:14em;overflow-y:auto}.suggestions li[data-v-4f120bd1]{padding:.5em .75em;cursor:pointer}.suggestions li[data-v-4f120bd1]:hover{background:var(--chip-bg)}.clear-option[data-v-4f120bd1]{font-style:italic;color:var(--muted)}.muted[data-v-4f120bd1]{color:var(--muted);font-size:.9em}.switcher[data-v-6c83d709]{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:1rem}@media (min-width: 700px){.switcher[data-v-6c83d709]{grid-template-columns:repeat(4,1fr)}}.tile[data-v-6c83d709]{display:flex;flex-direction:column;gap:.2em;align-items:center}.level-badge[data-v-6c83d709]{font-size:.75em;opacity:.85;font-weight:400}.level-option[data-v-9014454b]{display:block;width:100%;text-align:left;background:var(--chip-bg);color:var(--chip-text);border:2px solid transparent;margin-bottom:.6em;padding:.8em 1em}.level-option .sub[data-v-9014454b]{display:block;font-weight:400;margin-top:.2em}.level-option.active[data-v-9014454b]{background:var(--discipline-color);color:#fff;border-color:var(--discipline-color)}.level-option[data-v-9014454b]:disabled{opacity:.6}.skill-toggle[data-v-f2655d9b]{display:flex;gap:.75rem;align-items:center;justify-content:space-between;margin-bottom:.6rem}.skill-text[data-v-f2655d9b]{flex:1 1 auto}.switch-input[data-v-f2655d9b]{position:absolute;width:1px;height:1px;opacity:0}.switch[data-v-f2655d9b]{position:relative;flex:0 0 auto;width:3em;height:1.7em;background:var(--chip-bg);border-radius:999px;transition:background .2s ease}.switch-thumb[data-v-f2655d9b]{position:absolute;top:.15em;left:.15em;width:1.4em;height:1.4em;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0006;transition:transform .2s ease}.switch-input:checked+.switch[data-v-f2655d9b]{background:var(--discipline-color)}.switch-input:checked+.switch .switch-thumb[data-v-f2655d9b]{transform:translate(1.3em)}.switch-input:disabled+.switch[data-v-f2655d9b]{opacity:.5}.switch-input:focus-visible+.switch[data-v-f2655d9b]{outline:2px solid var(--discipline-color);outline-offset:2px}.skill-item[data-v-41d21601]{display:flex;align-items:center;gap:.6em;width:100%;text-align:left;background:var(--card-bg);color:var(--text);border:1px solid var(--border);margin-bottom:.4em}.dot[data-v-41d21601]{width:.8em;height:.8em;border-radius:50%;flex:0 0 auto}.overlay[data-v-901dc064]{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:flex-start;justify-content:center;padding:1.5rem 1rem;overflow-y:auto;z-index:20}@media (min-width: 700px){.overlay[data-v-901dc064]{padding:4rem 1rem 1rem}}.modal[data-v-901dc064]{background:var(--card-bg);border-radius:10px;padding:1.5rem;max-width:600px;width:100%;position:relative}.close[data-v-901dc064]{position:absolute;top:.75rem;right:.75rem;background:var(--chip-bg);color:var(--chip-text);padding:.3em .6em}.status-buttons[data-v-901dc064]{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.tips[data-v-901dc064]{background:var(--bg);border-radius:8px;padding:.75rem;margin-top:1rem}.markdown[data-v-901dc064] h2{font-size:1.1em}.links[data-v-901dc064]{margin-top:1rem}.progress-row[data-v-ff99d8ee]{display:flex;align-items:center;gap:.6em;margin-bottom:.75em}.progress-track[data-v-ff99d8ee]{flex:1 1 auto;height:.5em;border-radius:999px;background:var(--border);overflow:hidden}.progress-fill[data-v-ff99d8ee]{height:100%;background:var(--discipline-color);border-radius:999px;transition:width .2s ease}.progress-label[data-v-ff99d8ee]{font-size:.85em;color:var(--muted);flex:0 0 auto}@media (min-width: 900px){.chapters-grid[data-v-ff99d8ee]{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;align-items:start}.chapters-grid .card[data-v-ff99d8ee]{margin-bottom:0}}.warning-banner[data-v-47f1e628]{border:1px solid var(--discipline-color);background:var(--warning-bg)}.warning-banner p[data-v-47f1e628]{margin-top:0}.badge[data-v-2f7901df]{font-size:.75em;background:var(--discipline-color);color:#fff;border-radius:4px;padding:.1em .4em;margin-left:.4em}.user-row[data-v-2f7901df]{flex-wrap:wrap}.edit-fields[data-v-2f7901df]{display:flex;gap:.4em;flex:1 1 auto;min-width:200px}.chapter-block[data-v-63c2d45a]{border:1px solid var(--border);border-radius:8px;padding:.75rem;margin-bottom:.75rem}.skill-row[data-v-63c2d45a]{padding:.5rem 0;border-bottom:1px solid var(--border)}.skill-row textarea[data-v-63c2d45a]{width:100%;min-height:5em;margin-top:.3em}.entry-row[data-v-63c2d45a]{padding:.3em 0;border-bottom:1px solid var(--border)}.entry-row[data-v-63c2d45a]:last-child{border-bottom:none}.chapter-header[data-v-39078be5]{display:flex;justify-content:space-between;align-items:center;gap:.5em;flex-wrap:wrap}.muted[data-v-bcf0c59b]{color:var(--muted)}.warning[data-v-9aaeb184]{color:#e15c50}.admin-tabs[data-v-b5ee99f5]{display:flex;gap:.5rem;overflow-x:auto;margin-bottom:1rem}.admin-tabs button[data-v-b5ee99f5]{flex:0 0 auto;background:var(--chip-bg);color:var(--text)}.admin-tabs button.active[data-v-b5ee99f5]{background:var(--discipline-color);color:#fff}*{box-sizing:border-box}html,body,#app{margin:0;padding:0;min-height:100%}:root{--bg: #f5f4f2;--text: #22201d;--muted: #55524c;--card-bg: #fff;--border: #e7e4df;--input-bg: #fff;--input-border: #d6d3ce;--chip-bg: #e7e4df;--chip-text: #22201d;--disabled-bg: #c9c6c1;--overlay: rgba(0, 0, 0, .4);--warning-bg: #fdf6ea;--secondary-btn: #55524c;--discipline-color: #5b4636}@media (prefers-color-scheme: dark){:root{--bg: #181614;--text: #ece9e4;--muted: #b0aca4;--card-bg: #242220;--border: #38352f;--input-bg: #2b2926;--input-border: #48443d;--chip-bg: #322f2a;--chip-text: #ece9e4;--disabled-bg: #454138;--overlay: rgba(0, 0, 0, .65);--warning-bg: #322c1c;--secondary-btn: #4a463f}}body{font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}button{font:inherit;border:none;border-radius:6px;padding:.65em 1em;min-height:2.5em;cursor:pointer;background:var(--discipline-color);color:#fff}button:disabled{background:var(--disabled-bg);color:var(--muted);cursor:not-allowed}input,select,textarea{font:inherit;font-size:1rem;padding:.5em;border:1px solid var(--input-border);border-radius:6px;width:100%;background:var(--input-bg);color:var(--text)}.screen{max-width:100%;margin:0 auto;padding:1rem}@media (min-width: 700px){.screen{max-width:640px;padding:1.5rem 1rem 3rem}}@media (min-width: 1100px){.screen{max-width:920px}}.card{background:var(--card-bg);border-radius:10px;padding:1rem;margin-bottom:1rem}.field{margin-bottom:1rem}.field label{display:block;margin-bottom:.3em;font-size:.9em;color:var(--muted)}.error{color:#e15c50;font-size:.9em;margin-top:.5em}.inline-form{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-end}.inline-form input,.inline-form select{flex:1 1 160px}.list-item{display:flex;justify-content:space-between;align-items:center;gap:.5em;padding:.5em 0;border-bottom:1px solid var(--border)}.list-item:last-child{border-bottom:none}.list-item>span:first-child{flex:1 1 auto;min-width:0}.row-actions{display:flex;gap:.3em;flex-wrap:wrap;flex:0 0 auto}.icon-btn{background:var(--chip-bg);color:var(--chip-text);padding:.4em .6em;min-height:auto;line-height:1}.icon-btn.danger{background:#b3261e;color:#fff}
