:root{--bg:#f7f6f2;--card:#fff;--ink:#1e2a24;--muted:#66736c;--line:#dfe5e0;--brand:#2f6f59;--brand2:#dbece4;--warn:#8a5a23}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}.shell{max-width:1120px;margin:0 auto;padding:24px}.topbar{justify-content:space-between;align-items:center;gap:20px;padding:8px 0 26px;display:flex}.brand{letter-spacing:-.03em;font-size:1.3rem;font-weight:800}.pill{background:var(--brand2);color:var(--brand);border-radius:999px;padding:8px 12px;font-size:.84rem;font-weight:700}.hero{grid-template-columns:1.2fr .8fr;align-items:center;gap:28px;padding:64px 0 44px;display:grid}.hero h1{letter-spacing:-.06em;margin:0;font-size:clamp(2.6rem,6vw,5.6rem);line-height:.94}.hero p{color:var(--muted);max-width:700px;font-size:1.1rem;line-height:1.7}.card{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 12px 40px #1f372c0f}.grid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.grid3{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.stack{gap:14px;display:grid}.btn{border:0;border-radius:14px;padding:12px 16px;font-weight:800}.btnPrimary{background:var(--brand);color:#fff}.btnSecondary{border:1px solid var(--line);color:var(--ink);background:#fff}.field{gap:7px;display:grid}.field label,.field .label{font-size:.9rem;font-weight:700}.field input,.field select,.field textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:12px;padding:12px 13px}.field textarea{resize:vertical}.muted{color:var(--muted)}.small{font-size:.9rem}.eyebrow{text-transform:uppercase;letter-spacing:.13em;color:var(--muted);font-size:.78rem;font-weight:800}.stat{letter-spacing:-.04em;font-size:2rem;font-weight:800}.progress{background:#edf1ee;border-radius:999px;height:10px;overflow:hidden}.progress>span{background:var(--brand);border-radius:999px;height:100%;transition:width .3s;display:block}.nav{flex-wrap:wrap;gap:8px;display:flex}.nav button:not(.btn){border:1px solid var(--line);background:#fff;border-radius:12px;padding:9px 12px}.notice{color:var(--warn);background:#f3eee5;border:1px solid #e8dcc9;border-radius:12px;padding:12px 14px}.noticeMuted{color:var(--muted);border-color:var(--line);background:#f6f7f5;margin:0;padding:10px 12px;line-height:1.5}.ok{color:#2a684f;background:#e9f4ee;border-color:#d5e9df}.footer{color:var(--muted);padding:44px 0;font-size:.88rem}.divider{background:var(--line);height:1px;margin:8px 0}.screenTitle{letter-spacing:-.04em;margin:0;font-size:2.1rem}.authWrap{max-width:560px;margin:50px auto}.mission{border-left:4px solid var(--brand)}.choiceGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.choice{text-align:left;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:14px;gap:4px;padding:14px;display:grid}.choice.active{border-color:var(--brand);background:var(--brand2);box-shadow:inset 0 0 0 1px var(--brand)}.check{align-items:center;gap:8px;font-size:.95rem;font-weight:600;display:flex}.check input{width:18px;height:18px;accent-color:var(--brand)}.milestoneRow{align-items:center;gap:10px;display:flex}.milestoneRow input{flex:1}.milestoneList{gap:6px;margin:0;padding-left:22px;display:grid}.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px}.chip.active{border-color:var(--brand);background:var(--brand2)}fieldset.plain{border:0;min-width:0;margin:0;padding:0}fieldset.plain legend{margin-bottom:7px;padding:0;font-size:.9rem;font-weight:700}.linkBtn{color:var(--warn);background:0 0;border:0;justify-self:start;padding:0;text-decoration:underline}.capHead{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.status{color:var(--muted);background:#edf1ee;border-radius:999px;padding:3px 9px;font-size:.76rem;font-weight:700}.status-developing,.status-experienced{color:var(--warn);background:#f3eee5}.status-capable,.status-mastered{background:var(--brand2);color:var(--brand)}.status-needs_refresh{color:#8a3a23;background:#fbe9e4}.scale{grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:6px;display:grid}.scale button{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:12px;justify-items:center;gap:2px;padding:8px 6px;display:grid}.scale button b{font-size:1.05rem}.scale button span{color:var(--muted);text-align:center;font-size:.74rem;line-height:1.2}.scale button.active{border-color:var(--brand);background:var(--brand);color:#fff}.scale button.active span{color:#e6f2ec}.resourceList{gap:10px;margin:0;padding:0;list-style:none;display:grid}.resource{border:1px solid var(--line);overflow-wrap:anywhere;border-radius:14px;gap:8px;padding:14px;display:grid}.resourceTitle{color:var(--brand);text-underline-offset:3px;font-weight:700;text-decoration:underline}.helpful{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.helpful button{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:999px;padding:5px 10px;font-size:.84rem}.helpful button.active{border-color:var(--brand);background:var(--brand);color:#fff}@media (max-width:760px){.hero,.grid2,.grid3,.choiceGrid{grid-template-columns:1fr}.shell{padding:18px}.hero{padding-top:28px}.topbar{align-items:flex-start}.hero h1{font-size:3.4rem}}[tabindex="-1"]:focus{outline:none}.outlineList{gap:12px;margin:0;padding:0;list-style:none;display:grid}.outlineSubject{border:1px solid var(--line);overflow-wrap:anywhere;border-radius:18px;gap:8px;min-width:0;padding:16px;display:grid}.outlineSubject.current{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.outlineSubject h2,.outlineSubject h3{margin:0;font-size:1.1rem}.outlineMeta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.disclosure{border:1px solid var(--line);color:var(--ink);text-align:left;background:#fff;border-radius:12px;justify-self:start;align-items:center;gap:8px;padding:8px 12px;font-weight:700;display:flex}.disclosure:before{content:"▸";transition:transform .15s}.disclosure[aria-expanded=true]:before{transform:rotate(90deg)}.disclosure:focus-visible,.linkBtn:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.topicList{gap:10px;margin:0;padding-left:20px;display:grid}.topicList li{min-width:0}.topicHead{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.hereBadge{background:var(--brand);color:#fff;border-radius:999px;padding:3px 9px;font-size:.76rem;font-weight:800}.status-skipped{color:#3f4a6b;background:#eef0f6}.status-not_started{color:var(--muted);background:#edf1ee}.srOnly{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}[hidden]{display:none!important}.headerLink{display:inline-block}.appNav ul{flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;list-style:none;display:flex}.navItem{color:var(--ink);background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:7px;padding:9px 12px;font-size:.92rem;font-weight:700;display:inline-flex}.navItem:hover{border-color:var(--line);background:#fff}.navItem.active{background:var(--brand2);color:var(--brand);border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.navItem:focus-visible,.brand:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.navIcon{flex:none}.navShort{display:none}@media (max-width:920px) and (min-width:641px){.navIcon{display:none}}@media (max-width:640px){.shell.hasTabBar{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}.appNav{z-index:20;border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));background:#fff;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 24px #1f372c14}.appNav ul{flex-wrap:nowrap;justify-content:space-between;gap:2px}.appNav li{flex:1 1 0;min-width:0}.appNav .navItem{border-radius:10px;flex-direction:column;gap:3px;width:100%;padding:6px 2px;font-size:.72rem}.appNav .navItem.active{box-shadow:none}.navLabel{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.navShort{white-space:nowrap;text-overflow:ellipsis;max-width:100%;display:block;overflow:hidden}}.brandBtn{color:inherit;background:0 0;border:0;padding:0}.sectionTitle{letter-spacing:-.02em;margin:0;font-size:1.2rem}.btnDanger{color:#fff;background:#8a3a23}.btn:focus-visible,.tab:focus-visible,.iconBtn:focus-visible,.chip:focus-within,.choice:focus-within,.dropZone:focus-within{outline:3px solid var(--brand);outline-offset:2px}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px;padding-bottom:8px;display:flex}.tab{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:12px;padding:9px 14px;font-weight:700}.tab.active{background:var(--brand2);color:var(--brand);border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.dropZone{border:2px dashed var(--line);background:#fbfbf9;border-radius:16px;gap:8px;padding:18px;display:grid}.dropZone.dragging{border-color:var(--brand);background:var(--brand2)}.dropZone{grid-template-columns:minmax(0,1fr)}.dropZone input[type=file]{width:100%;min-width:0}.sourceList,.plainList,.passageList{gap:10px;margin:0;padding:0;list-style:none;display:grid}.plainList{gap:4px;padding-left:20px;list-style:outside}.sourceItem{border:1px solid var(--line);overflow-wrap:anywhere;border-radius:16px;gap:8px;min-width:0;padding:14px;display:grid}.sourceHead{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.sourceTitle{margin:0;font-size:1.02rem}.mstatus-uploaded,.mstatus-extracting,.mstatus-analyzing{color:var(--warn);background:#f3eee5;align-items:center;gap:6px;display:inline-flex}.mstatus-ready{background:var(--brand2);color:var(--brand)}.mstatus-failed{color:#8a3a23;background:#fbe9e4}.pulse{background:currentColor;border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.pulse{animation:none}}.confirmBox{background:#fbf4f1;border:1px solid #f0d9d0;border-radius:12px;padding:12px}.editList,.editTopics{gap:12px;margin:0;padding:0;list-style:none;display:grid}.editSubject{border:1px solid var(--line);border-radius:18px;min-width:0;padding:14px}.editTopics{border-left:3px solid var(--brand2);gap:8px;padding-left:14px}.editTopic{min-width:0}.editRow{align-items:flex-end;gap:8px;min-width:0;display:flex}.editRow .grow{flex:1;min-width:0}.editTopic .field input{padding:9px 11px}.rowControls{flex:none;gap:4px;display:flex}.iconBtn{border:1px solid var(--line);width:44px;height:44px;color:var(--ink);background:#fff;border-radius:12px;font-size:1.05rem;font-weight:800}.iconBtn.danger{color:#8a3a23}.choice .check{font-size:1rem}.materialBox{border-left:4px solid var(--brand)}.passage{border:1px solid var(--line);white-space:pre-line;overflow-wrap:anywhere;background:#fbfbf9;border-radius:14px;gap:6px;padding:14px;line-height:1.6;display:grid}.passageWhere{color:var(--brand);white-space:normal;font-weight:700}.fromTag{color:#3f4a6b;overflow-wrap:anywhere;background:#eef0f6;border-radius:999px;padding:3px 9px;font-size:.76rem;font-weight:700}@media (max-width:520px){.editRow{flex-wrap:wrap}.editRow .grow{flex-basis:100%}.tab{text-align:center;flex:auto}}.materialScreen,.materialScreen .stack{grid-template-columns:minmax(0,1fr)}.materialScreen .card{min-width:0}@media (max-width:520px){.materialScreen .card{padding:18px}}
