:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f0f4f8;--panel:#f7f9fc;--panel-2:#e8edf3;--card:#5a78960f;--card-strong:#5a78961f;--text:#2c3e50;--muted:#6b8299;--faint:#94a7b8;--line:#5a78962e;--accent:#5b8fb9;--accent-2:#3f8d70;--accent-3:#e8927c;--danger:#c0564f;--shadow:0 24px 70px #5a789621;font-family:LXGW WenKai,霞鹜文楷,Microsoft YaHei,PingFang SC,Noto Sans CJK SC,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;color:var(--text);background:radial-gradient(circle at 12% 8%,#5b8fb91a,#0000 24rem),radial-gradient(circle at 92% 16%,#3f8d7014,#0000 24rem),linear-gradient(135deg,#edf1f5 0%,#f5f7fa 48%,#e4eaf0 100%);margin:0}button,input,textarea{font:inherit}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.58}input,textarea{border:1px solid var(--line);width:100%;color:var(--text);background:#f7f9fcd1;border-radius:14px;outline:none;padding:12px 13px}input:focus,textarea:focus{border-color:#5b8fb994;box-shadow:0 0 0 4px #5b8fb91a}.hidden{display:none}.ghost{color:var(--muted)!important;background:0 0!important}@keyframes turn{to{transform:rotate(360deg)}}@keyframes cat-question-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes cat-idle{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.app-shell{grid-template-columns:330px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#fffaf0d1;flex-direction:column;height:100vh;padding:22px;transition:padding .2s;display:flex;position:sticky;top:0;overflow:hidden}.brand{align-items:center;gap:13px;margin-bottom:18px;display:flex}.brand-mark{color:#fff8eb;background:linear-gradient(135deg,#2d2518,#7a4b10);border-radius:16px;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 16px 32px #5b402338}.brand-mark svg{fill:none;stroke:#fff8eb;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round;width:31px;height:31px}.brand-mark circle{fill:#fff8eb;stroke:none}.brand h1{letter-spacing:-.02em;margin:0;font-size:1.2rem}.brand p{color:var(--muted);margin:0;font-size:.92rem}.quick-actions{flex-wrap:wrap;gap:8px;display:flex}.quick-actions button{color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:9px 13px;transition:all .18s}.quick-actions button:hover{background:#ffb00021;border-color:#ffb00073;transform:translateY(-1px)}.quick-actions button.share-btn{color:#fff8eb;background:var(--accent);border-color:var(--accent);font-weight:700}.quick-actions button.share-btn:hover{background:#4a7da8;border-color:#4a7da8;transform:translateY(-1px);box-shadow:0 4px 12px #5b8fb94d}.quick-actions button.feature-new{animation:.4s ease-out feature-appear;position:relative}.quick-actions button.feature-new:after{content:"";background:#e53e3e;border:1.5px solid #fff;border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite feature-dot-pulse;position:absolute;top:-3px;right:-3px}@keyframes feature-appear{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes feature-dot-pulse{0%,to{box-shadow:0 0 #e53e3e66}50%{box-shadow:0 0 0 4px #e53e3e00}}.topic-form{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:18px 0;display:grid}.topic-form button{color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:9px 13px;transition:all .18s}.topic-form button:hover{background:#ffb00021;border-color:#ffb00073;transform:translateY(-1px)}.topic-list{gap:8px;max-height:28vh;margin-bottom:18px;padding-right:4px;display:grid;overflow:auto}.topic{text-align:left;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:14px;justify-content:space-between;align-items:center;gap:8px;padding:12px;transition:all .15s;display:flex}.topic:hover{background:#b8751a0a;border-color:#b8751a2e}.topic-meta{flex-shrink:0;align-items:center;gap:6px;display:flex}.topic small{color:var(--faint)}.topic.active{background:#b8751a1a;border-color:#b8751a52}.tree-panel{border-top:1px solid var(--line);flex:1;min-height:0;padding-top:12px;overflow:auto}.panel-title{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:.78rem;display:flex}.batch-generate-btn{color:#4f69b6;cursor:pointer;background:#8da9ff14;border:1px solid #8da9ff59;border-radius:999px;padding:5px 10px;font-size:.75rem;transition:all .15s}.batch-generate-btn:hover{background:#8da9ff29;border-color:#8da9ff80}.batch-generate-btn:disabled{opacity:.5;cursor:not-allowed}.node-tree{gap:4px;display:grid}.tree-branch{position:relative}.tree-link{fill:none;stroke:#b8751a52;stroke-width:1.8px;stroke-linecap:round;pointer-events:none;width:24px;height:28px;position:absolute;top:-8px;left:-5px}.tree-node{text-align:left;width:100%;color:var(--text);background:#fffcf66b;border:1px solid #0000;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 10px;display:grid;position:relative}.tree-node.active{background:#b8751a1f;border-color:#b8751a47;box-shadow:inset 0 0 0 1px #fffcf680}.tree-node.on-path{background:#b8751a0f;border-left:3px solid #b8751a8c}.tree-node.on-path.active{border-left:3px solid var(--accent);background:#b8751a24}.tree-node.pending{opacity:.85;background:#8da9ff0a;border-style:dashed;border-color:#8da9ff59}.tree-node.pending .tree-title{color:var(--faint)}.explore-badge{min-width:28px;height:18px;color:var(--faint);background:#5b402314;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;margin-left:2px;padding:0 6px;font-size:.72rem;font-weight:700;display:inline-flex}.tree-node.on-path .explore-badge{color:#8a570f;background:#b8751a24}.tree-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tree-node small{color:var(--faint)}.role-dot{background:var(--accent);border-radius:999px;width:9px;height:9px}.tree-node-actions{gap:2px;margin-left:4px;display:flex}.node-delete-btn{width:22px;height:22px;color:var(--faint);cursor:pointer;background:0 0;border:0;border-radius:6px;flex-shrink:0;place-items:center;font-size:.85rem;line-height:1;transition:all .15s;display:grid}.node-delete-btn:hover{color:var(--danger);background:#b840401f}.topic-delete-btn{width:18px;height:18px;color:var(--faint);cursor:pointer;opacity:0;pointer-events:none;background:0 0;border:0;border-radius:4px;flex-shrink:0;place-items:center;font-size:.85rem;line-height:1;transition:opacity .2s,background .15s,color .15s;display:grid;overflow:hidden}.topic:hover .topic-delete-btn,.topic-delete-btn:focus-visible{opacity:1;pointer-events:auto}.topic-delete-btn:hover{color:var(--danger);background:#b840401f}.topic-export-btn{width:18px;height:18px;color:var(--faint);cursor:pointer;opacity:0;pointer-events:none;background:0 0;border:0;border-radius:4px;flex-shrink:0;place-items:center;font-size:.7rem;line-height:1;transition:opacity .2s,background .15s,color .15s;display:grid;overflow:hidden}.topic:hover .topic-export-btn,.topic-export-btn:focus-visible{opacity:1;pointer-events:auto}.topic-export-btn:hover{color:var(--accent-2);background:#3f8d701f}.topic-anki-btn{width:18px;height:18px;color:var(--faint);cursor:pointer;opacity:0;pointer-events:none;background:0 0;border:0;border-radius:4px;flex-shrink:0;place-items:center;font-size:.7rem;line-height:1;transition:opacity .2s,background .15s,color .15s;display:grid;overflow:hidden}.topic:hover .topic-anki-btn,.topic-anki-btn:focus-visible{opacity:1;pointer-events:auto}.topic-anki-btn:hover{color:var(--accent);background:#ffb0001f}.sidebar-toggle{display:none}@media (width<=1100px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;max-height:none;position:relative;overflow:visible}.sidebar-toggle{border:1px solid var(--line);width:100%;color:var(--text);cursor:pointer;background:#fffcf6d1;border-radius:14px;align-items:center;gap:8px;padding:12px 14px;font-size:.95rem;font-weight:700;transition:all .18s;display:flex}.sidebar-toggle:hover{background:#b8751a0f;border-color:#b8751a66}.sidebar-toggle svg{width:18px;height:18px;transition:transform .2s}.sidebar.collapsed .sidebar-toggle svg{transform:rotate(180deg)}.sidebar.collapsed .brand,.sidebar.collapsed .quick-actions,.sidebar.collapsed .topic-form,.sidebar.collapsed .topic-list,.sidebar.collapsed .tree-panel{display:none}.sidebar.collapsed{padding:14px 22px}.topic-list{max-height:180px}.tree-panel{max-height:280px}}@media (width<=760px){.sidebar{padding:14px}.sidebar.collapsed{padding:10px 14px}.sidebar:not(.collapsed){z-index:1000;flex-direction:column;width:min(78vw,310px);height:100dvh;max-height:none;display:flex;position:fixed;top:0;left:0;overflow:hidden;box-shadow:0 12px 50px #30271938}.sidebar.collapsed{height:auto;max-height:none;box-shadow:none;position:relative;overflow:visible}.brand{margin-bottom:12px}.quick-actions{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.quick-actions button{padding:9px 8px;font-size:.88rem}.topic-form{grid-template-columns:1fr;margin:12px 0}.topic-list{grid-auto-columns:minmax(170px,72%);grid-auto-flow:column;max-height:80px;padding-bottom:6px;overflow:auto}.topic{min-height:58px}.topic-export-btn,.topic-anki-btn,.topic-delete-btn{opacity:.5;pointer-events:auto;width:16px;height:16px;font-size:.65rem}.sidebar:not(.collapsed) .tree-panel{flex:1;min-height:100px;max-height:none;overflow-y:auto}.node-tree{min-width:320px}}button,[role=button],.quick-actions button,.topic-form button,.sidebar-toggle,.topic,.tree-node,.batch-generate-btn,.node-delete-btn,.topic-delete-btn,.topic-export-btn,.topic-anki-btn{-webkit-tap-highlight-color:transparent;touch-action:manipulation}@media (width<=480px){.sidebar:not(.collapsed){z-index:1000;width:min(78vw,300px);height:100dvh;max-height:none;position:fixed;top:0;left:0;overflow:auto;box-shadow:0 12px 50px #30271938}.sidebar.collapsed{height:auto;max-height:none;box-shadow:none;padding:10px 14px;position:relative;overflow:visible}.sidebar-toggle{padding:10px 12px;font-size:.9rem}.brand{margin-bottom:12px}.brand h1{font-size:1.05rem}.brand p{font-size:.82rem}.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.quick-actions button{justify-content:center;width:100%;padding:11px 8px;font-size:.88rem}.topic-form{grid-template-columns:1fr;margin:12px 0}.topic-form button{width:100%;padding:11px 12px;font-size:.9rem}}@media (width<=360px){.sidebar{padding:12px}.sidebar.collapsed{padding:8px 12px}.brand h1{font-size:.98rem}.brand p{font-size:.78rem}.sidebar-toggle{font-size:.84rem}.quick-actions button,.topic-form button{padding:10px;font-size:.82rem}.quick-actions button .btn-secondary,.topic-form button .btn-secondary,.sidebar-toggle .btn-secondary{display:none}}.sidebar-overlay{display:none}@media (width<=760px){.sidebar-overlay{z-index:999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#30271940;display:block;position:fixed;inset:0}}.tree-node.review-due:after{content:"";background:#e53e3e;border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite review-pulse;position:absolute;top:50%;right:4px;transform:translateY(-50%)}@keyframes review-pulse{0%,to{opacity:.4;transform:translateY(-50%)scale(.8)}50%{opacity:1;transform:translateY(-50%)scale(1.2)}}.workspace{min-width:0;padding:26px}.topbar{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.eyebrow{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;font-weight:800}.topbar h2{letter-spacing:-.06em;margin:4px 0 0;font-size:clamp(1.8rem,4vw,3.4rem);line-height:1}.topbar p{color:var(--muted);margin:0;font-size:.92rem}.status-pills{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.status-pill{border:1px solid var(--line);color:var(--muted);background:#ffffff0f;border-radius:999px;align-items:center;gap:7px;padding:5px 10px;font-size:.8rem;display:inline-flex}.status-pill:before{content:"";background:var(--faint);border-radius:999px;width:7px;height:7px}.status-pill.api-live{color:#a5f2ce;background:#74d3ae1a;border-color:#74d3ae57}.status-pill.api-live:before{background:var(--accent-2);box-shadow:0 0 14px #74d3aebf}.status-pill.demo-live{color:#b8c8ff;background:#8da9ff1a;border-color:#8da9ff57}.status-pill.demo-live:before{background:var(--accent-3)}.notice,.source-note{color:#ffe0a0;background:#ffb0001a;border:1px solid #ffb00052;border-radius:16px;margin-bottom:16px;padding:12px 14px}.notice-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.notice-row button{color:#161616;background:var(--accent);border:1px solid #ffb00073;border-radius:999px;flex:none;padding:8px 12px;font-weight:800}.source-note.warn{color:#ffc4c4;background:#ff6b6b1a;border-color:#ff6b6b52}.quality-banner{border:1px solid var(--line);border-radius:16px;margin-bottom:12px;padding:12px 14px;font-size:.9rem;line-height:1.5}.quality-banner.warning{color:#ffe0a0;background:#ffb0001a;border-color:#ffb00057}.quality-banner.muted{color:var(--muted);background:#ffffff0b;border-color:#ffffff24}.demo-banner{color:#b8c8ff;background:#8da9ff14;border:1px solid #8da9ff4d;border-radius:16px;align-items:center;gap:10px;margin-bottom:16px;padding:10px 14px;font-size:.88rem;display:flex}.demo-badge{color:#8da9ff;letter-spacing:.04em;background:#8da9ff38;border-radius:999px;flex-shrink:0;padding:3px 10px;font-size:.78rem;font-weight:800}.ask-card.pulse-highlight{border-color:#ffb00099;animation:2s ease-in-out infinite pulse-ring}@keyframes pulse-ring{0%,to{box-shadow:0 0 0 0 #ffb00066, var(--shadow)}50%{box-shadow:0 0 0 12px #ffb00000, var(--shadow)}}.ask-card,.learning-card,.empty-canvas{border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(#fffcf6eb,#fff9eec7);border-radius:28px;margin-bottom:18px;padding:22px}.learning-card{animation:.35s cubic-bezier(.22,1,.36,1) card-enter}.learning-card.highlight-jump{animation:.35s cubic-bezier(.22,1,.36,1) card-enter,2s ease-out highlight-pulse}@keyframes highlight-pulse{0%{border-color:#ffb000cc;box-shadow:0 0 #ffb00099}30%{border-color:#ffb000e6;box-shadow:0 0 0 8px #ffb00040}60%{border-color:#ffb00080;box-shadow:0 0 0 4px #ffb0001f}to{border-color:var(--line);box-shadow:0 0 #ffb00000}}@keyframes card-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.breadcrumb{color:var(--muted);margin-bottom:12px;font-size:.9rem}textarea{resize:vertical;min-height:116px;line-height:1.7;transition:min-height .2s}@media (width<=760px){textarea{min-height:90px}}.ask-actions{flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:12px;display:flex}.ask-actions button{color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:9px 13px;transition:all .18s}.ask-actions button:hover{background:#ffb00021;border-color:#ffb00073;transform:translateY(-1px)}.ask-actions button:first-child{color:#fff8eb;background:var(--accent);border-color:var(--accent);font-weight:800}.generation-progress{background:#b8751a13;border:1px solid #b8751a3d;border-radius:18px;align-items:center;gap:14px;margin-top:14px;padding:13px 15px;display:flex}.generation-progress strong{color:#7a4b10;margin-bottom:3px;display:block}.generation-progress p{color:var(--muted);margin:0;font-size:.9rem}.progress-orbit{border:3px solid #b8751a2e;border-top-color:var(--accent);border-radius:999px;flex-shrink:0;width:28px;height:28px;animation:.9s linear infinite turn}.progress-rail{background:#b8751a1f;border-radius:999px;width:min(360px,100%);height:7px;margin-top:10px;overflow:hidden}.progress-rail span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--accent-2));height:100%;transition:width .35s;display:block}.voice-button,.listen-button{color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:999px;align-items:center;gap:6px;padding:9px 14px;font-weight:600;transition:all .18s;display:inline-flex}.voice-button:hover,.listen-button:hover{background:#ffb00021;border-color:#ffb00073;transform:translateY(-1px)}.voice-button.active,.listen-button.active{color:#161616;border-color:var(--accent-2);background:var(--accent-2);font-weight:800;animation:1.5s ease-in-out infinite voice-pulse;box-shadow:0 0 0 4px #74d3ae1f}@keyframes voice-pulse{0%,to{box-shadow:0 0 0 4px #74d3ae1f}50%{box-shadow:0 0 0 8px #74d3ae0f}}.voice-icon{flex-shrink:0;width:16px;height:16px}.voice-button.active .voice-icon{animation:.8s ease-in-out infinite mic-bounce}@keyframes mic-bounce{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.conclusion-section{background:linear-gradient(135deg,#ffeccc8c,#fff8eb59);border:1px solid #df8a2847;border-radius:22px;margin:18px 0;padding:20px 22px;position:relative;overflow:hidden}.conclusion-section:before{content:"";background:linear-gradient(180deg, var(--accent), #df8a284d);border-radius:4px 0 0 4px;width:4px;height:100%;position:absolute;top:0;left:0}.conclusion-label{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);align-items:center;gap:6px;margin-bottom:10px;font-size:.8rem;font-weight:800;display:inline-flex}.conclusion-icon{font-size:1rem}.conclusion-summary{color:var(--text);margin:0 0 8px;font-size:1.15rem;font-weight:700;line-height:1.6}.conclusion-plain{color:var(--muted);margin:0;font-size:.95rem;line-height:1.7}.empty-canvas{text-align:center;place-items:center;min-height:420px;display:grid;position:relative;overflow:hidden}.empty-canvas h2{letter-spacing:-.06em;margin:12px 0 8px;font-size:clamp(2rem,5vw,4rem)}.empty-canvas p{max-width:520px;color:var(--muted)}.api-setup-guide{background:#df8a280f;border:1px solid #df8a284d;border-radius:20px;flex-direction:column;align-items:center;gap:10px;width:100%;max-width:460px;margin-bottom:20px;padding:28px 32px;animation:.35s cubic-bezier(.22,1,.36,1) card-enter;display:flex}.api-setup-icon{color:var(--accent)}.api-setup-guide h2{letter-spacing:-.03em;margin:0;font-size:clamp(1.2rem,3vw,1.6rem)}.api-setup-desc{color:var(--muted);font-size:.9rem}.api-setup-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:12px;margin-top:4px;padding:10px 32px;font-size:1rem;font-weight:700;transition:opacity .2s,box-shadow .2s}.api-setup-btn:hover{opacity:.88;box-shadow:0 0 0 4px #df8a282e}.api-setup-skip{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:.85rem;transition:color .2s}.api-setup-skip:hover{color:var(--fg)}.status-pill.api-config-hint{color:#f5c77e;cursor:pointer;background:#df8a2814;border-color:#df8a2859;animation:2.5s ease-in-out infinite hint-pulse}.status-pill.api-config-hint:hover{background:#df8a2829}.status-pill.api-config-hint:before{content:"";background:var(--accent);border-radius:999px;width:7px;height:7px;box-shadow:0 0 8px #df8a2899}@keyframes hint-pulse{0%,to{opacity:1}50%{opacity:.65}}.orbital{border:1px solid var(--line);border-radius:999px;width:118px;height:118px;animation:14s linear infinite turn;position:relative}.orbital span{background:var(--accent);border-radius:999px;width:18px;height:18px;position:absolute}.orbital span:first-child{top:-9px;left:50%}.orbital span:nth-child(2){background:var(--accent-2);bottom:14px;left:0}.orbital span:nth-child(3){background:var(--accent-3);bottom:20px;right:2px}.card-head{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px;display:flex}.card-head p{color:var(--muted);margin:0;font-size:.92rem}.card-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:8px;display:flex}.tag-row{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.tag-row span{border:1px solid var(--line);color:var(--muted);background:#ffffff0f;border-radius:999px;align-items:center;padding:5px 9px;font-size:.8rem;display:inline-flex}.card-head h2{letter-spacing:-.07em;margin:0 0 8px;font-size:clamp(2rem,4vw,3.8rem);line-height:1}.answer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0;display:grid}.answer-block{border:1px solid var(--line);background:#ffffff0e;border-radius:20px;padding:18px}.answer-block h3{margin:0 0 8px}.answer-block p{color:var(--muted);margin:0}.fact-panel{background:linear-gradient(135deg,#ffb00014,#ffffff09);border:1px solid #ffb00047;border-radius:24px;margin:18px 0;padding:18px}.fact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.fact-card{background:#00000029;border:1px solid #ffffff1f;border-radius:18px;padding:14px}.fact-card h4{color:#ffe0a0;margin:0 0 8px}.fact-card ul{margin:0;padding-left:18px}.fact-card li{color:var(--muted);margin:6px 0}.mistakes{border:1px solid var(--line);background:#ffffff0b;border-radius:18px;padding:14px 18px;transition:all .22s}.mistakes summary{cursor:pointer;align-items:center;gap:8px;font-weight:800;list-style:none;display:flex}.mistakes summary::-webkit-details-marker{display:none}.mistakes summary:before{content:"▸";color:var(--faint);transition:transform .2s;display:inline-block}.mistakes[open] summary:before{transform:rotate(90deg)}.mistakes ul{margin:10px 0 0;padding-left:20px;animation:.25s details-reveal}@keyframes details-reveal{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.mistakes li{color:var(--muted);margin:8px 0}.answer-block-collapsible{padding:0;overflow:hidden}.answer-block-summary{cursor:pointer;color:var(--text);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:14px 18px;font-size:1rem;font-weight:800;list-style:none;display:flex}.answer-block-summary::-webkit-details-marker{display:none}.answer-block-arrow{color:var(--faint);font-size:.85em;transition:transform .2s;display:inline-block}.answer-block-collapsible[open] .answer-block-arrow{transform:rotate(90deg)}.answer-block-content{padding:0 18px 16px;animation:.25s details-reveal}.answer-block-content p{color:var(--muted);margin:0}.fact-panel-collapsible{cursor:pointer}.fact-panel-summary{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:8px;padding:0;font-weight:800;list-style:none;display:flex}.fact-panel-summary::-webkit-details-marker{display:none}.fact-panel-summary:before{content:"▸";color:var(--faint);margin-right:4px;transition:transform .2s;display:inline-block}.fact-panel-collapsible[open] .fact-panel-summary:before{transform:rotate(90deg)}.fact-panel-title{color:var(--text);font-size:1.05rem}.fact-panel-hint{color:var(--faint);font-size:.8rem;font-weight:400}.mastery-row{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin:18px 0;display:flex}.mastery-row button{color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:9px 13px;transition:all .18s}.mastery-row button:hover{background:#ffb00021;border-color:#ffb00073;transform:translateY(-1px)}.star{color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:10px 14px}.star.active{color:#fff8eb;background:var(--accent)}@media (width<=760px){.workspace{padding:14px}.topbar,.card-head,.section-title{flex-direction:column;align-items:stretch}.answer-grid,.fact-grid{grid-template-columns:1fr}.ask-actions{justify-content:stretch}.ask-actions button{width:100%}}.ask-actions button,.voice-button,.listen-button,.mastery-row button,.star,.status-pill,.notice-row button,.demo-banner{-webkit-tap-highlight-color:transparent;touch-action:manipulation}@media (width<=480px){.workspace{padding:14px}.topbar{gap:10px;margin-bottom:12px}.eyebrow{letter-spacing:.1em;font-size:.72rem}.topbar h2{letter-spacing:-.04em;font-size:clamp(1.4rem,7vw,2rem)}.topbar p{font-size:.82rem}.status-pill{padding:4px 8px;font-size:.74rem}.ask-card,.learning-card,.empty-canvas{border-radius:22px;padding:16px}textarea{min-height:70px;font-size:.95rem;line-height:1.6}.card-head h2{font-size:clamp(1.5rem,6vw,2.2rem)}.empty-canvas h2{font-size:clamp(1.6rem,8vw,2.4rem)}.answer-block,.fact-card{padding:14px}}@media (width<=360px){.workspace{padding:10px}.eyebrow{font-size:.66rem}.topbar h2{font-size:1.3rem}.topbar p,.card-head p{font-size:.78rem}.status-pill{font-size:.7rem}textarea{min-height:64px;font-size:.9rem}.ask-card,.learning-card,.empty-canvas{border-radius:18px;padding:13px}.answer-block,.fact-card{padding:12px}}.mobile-fab-group{display:none}@media (width<=760px){.mobile-fab-group{z-index:500;flex-direction:column;gap:10px;animation:.25s fab-in;display:flex;position:fixed;bottom:20px;right:16px}@keyframes fab-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.mobile-fab{border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);width:46px;height:46px;color:var(--text,#f0f0f0);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:#191919eb;border-radius:50%;place-items:center;transition:transform .15s,background .15s;display:grid;box-shadow:0 4px 16px #00000047}.mobile-fab:active{transform:scale(.92)}.fab-top{color:#1a1a1a;background:#ffb000e6;border-color:#ffb00080}.fab-followup{color:#fff;background:#5b8fb9e6;border-color:#5b8fb966}}.followup-panel{margin-top:18px}.section-title{justify-content:space-between;align-items:end;gap:18px;margin-bottom:12px;display:flex}.section-title h3{margin:0 0 8px}.section-title p{color:var(--muted);margin:0;font-size:.92rem}.followup-grid{grid-template-columns:repeat(5,minmax(180px,1fr));gap:10px;padding-bottom:4px;display:grid;overflow-x:auto}.followup-batch-bar{color:#2f725a;background:#3f8d7014;border:1px solid #3f8d703d;border-radius:18px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;padding:10px 12px;display:flex}.followup-batch-bar span{font-weight:800}.followup-batch-bar button{color:var(--text);background:#ffffff8f;border:1px solid #3f8d7047;border-radius:999px;padding:8px 12px}.followup-card{border:1px solid var(--line);cursor:pointer;background:#ffffff8f;border-radius:22px;flex-direction:column;gap:9px;min-height:260px;padding:15px;transition:border-color .2s,background .2s,box-shadow .2s,transform .15s;display:flex}.followup-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000014}.followup-card.selected{background:#3f8d701a;border-color:#3f8d7080;box-shadow:inset 0 0 0 2px #3f8d7038}.followup-card.disabled{opacity:.45;cursor:not-allowed}.followup-card.disabled:hover{box-shadow:none;transform:none}.followup-card.dismissed{opacity:.35;filter:grayscale(.6);transition:all .2s;transform:scale(.97)}.followup-card.liked{border-color:#74d3ae66;box-shadow:0 0 0 1px #74d3ae33}.followup-check{border:2px solid var(--line);color:#0000;background:#ffffffb3;border-radius:8px;justify-content:center;align-items:center;width:24px;height:24px;margin-left:auto;font-size:16px;font-weight:800;transition:all .18s;display:inline-flex}.followup-check.checked{color:#fff;background:#3f8d70;border-color:#3f8d70}.followup-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.followup-top span:not(.followup-check){color:var(--accent);font-size:.86rem;font-weight:800}.followup-top small{color:var(--faint)}.followup-card h4{margin:0;font-size:1.02rem;line-height:1.35}.followup-card>small{color:var(--faint);margin-top:auto}.followup-card p{color:var(--muted);margin:0;font-size:.92rem}.followup-actions{flex-wrap:wrap;gap:6px;display:flex}.followup-actions button{color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:7px 9px;font-size:.82rem;transition:all .18s}.followup-actions button:hover{background:#ffb00021;border-color:#ffb00073;transform:translateY(-1px)}.followup-actions button:first-child{color:var(--text);background:#ffb0001f;border-color:#ffb00059;font-weight:700}.followup-actions button:first-child:hover{background:#ffb00038;border-color:#ffb00080}.followup-actions button.active{color:#fff8eb;background:var(--accent);border-color:var(--accent);font-weight:800}.followup-batch-bar .batch-generate-btn{color:#fff;background:#3f8d70;border-color:#3f8d70;padding:9px 16px;font-weight:800}.followup-batch-bar .batch-generate-btn:hover{background:#357a5f;border-color:#357a5f}.followup-batch-bar .batch-generate-btn:disabled{opacity:.6;cursor:not-allowed}.learning-goal-chip{color:var(--accent-3);background:#4f69b614;border:1px solid #4f69b62e;border-radius:999px;align-items:center;gap:5px;max-width:100%;margin-top:8px;padding:5px 11px;font-size:.83rem;display:inline-flex}.learning-goal-chip .goal-icon{flex-shrink:0;font-size:.9rem}.learning-goal-chip span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.path-tag{border-radius:999px;padding:2px 7px;font-weight:600;font-size:.72rem!important}.followup-card.path-depth .path-tag{color:#4f69b6;background:#4f69b61a}.followup-card.path-compare .path-tag{color:#8b5cb6;background:#8b5cb61a}.followup-card.path-boundary .path-tag{color:#b84040;background:#b840401a}.followup-card.path-action .path-tag{color:#3f8d70;background:#3f8d701a}.followup-card.path-depth{border-left:3px solid #4f69b659}.followup-card.path-compare{border-left:3px solid #8b5cb659}.followup-card.path-boundary{border-left:3px solid #b8404059}.followup-card.path-action{border-left:3px solid #3f8d7059}.direction-row{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.direction-row button{color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:9px 13px;transition:all .18s}.direction-row button:hover{background:#ffb00021;border-color:#ffb00073;transform:translateY(-1px)}@media (width<=1100px){.followup-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}}@media (width<=760px){.followup-grid{-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;grid-template-columns:1fr;gap:12px;padding-bottom:8px;overflow:auto hidden}.followup-card{scroll-snap-align:start;min-width:82vw;max-width:82vw;min-height:240px}}.check-panel{border:1px solid var(--line);background:#fffcf69e;border-radius:24px;margin:18px 0;padding:18px}.check-panel-wrapper{margin:18px 0}.check-panel-summary{cursor:pointer;border:1px solid var(--line);-webkit-user-select:none;user-select:none;background:#fffcf69e;border-radius:24px;align-items:center;gap:8px;padding:14px 18px;font-size:1.05rem;font-weight:800;list-style:none;transition:all .18s;display:flex}.check-panel-summary::-webkit-details-marker{display:none}.check-panel-summary:before{content:"▸";color:var(--faint);transition:transform .2s;display:inline-block}.check-panel-wrapper[open] .check-panel-summary:before{transform:rotate(90deg)}.check-panel-wrapper[open] .check-panel-summary{border-bottom-right-radius:0;border-bottom-left-radius:0;margin-bottom:0}.check-panel-wrapper[open] .check-panel{border-top:0;border-top-left-radius:0;border-top-right-radius:0;margin-top:0}.check-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.check-card{border:1px solid var(--line);background:#ffffff80;border-radius:18px;padding:14px}.check-card span{color:var(--accent-2);font-size:.82rem;font-weight:800}.check-card h4{margin:8px 0;line-height:1.38}.check-card p{color:var(--muted);margin:0;font-size:.9rem}.check-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.check-actions button{color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:9px 13px;transition:all .18s}.check-actions button:hover{background:#ffb00021;border-color:#ffb00073;transform:translateY(-1px)}.check-actions button.active{color:#fff8eb;background:var(--accent);border-color:var(--accent)}.check-status{border:1px solid var(--line);color:var(--muted);background:#ffffff0e;border-radius:999px;padding:5px 10px;font-size:.8rem}.check-status.understood{color:#2f725a;background:#3f8d701a;border-color:#3f8d7059}.check-status.uncertain{color:#8a570f;background:#b8751a1a;border-color:#b8751a59}.check-status.needs_review{color:#9d3333;background:#b840401a;border-color:#b8404059}.mastery-row button.active{color:#fff8eb;background:var(--accent);border-color:var(--accent)}@media (width<=760px){.check-grid{grid-template-columns:1fr}}.modal-backdrop{z-index:1100;background:#0000009e;place-items:center;padding:20px;animation:.22s modal-backdrop-in;display:grid;position:fixed;inset:0}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(12px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.modal{width:min(820px,100%);max-height:calc(100vh - 40px);box-shadow:var(--shadow);--text:#f0f0f0;--muted:#b0b8c0;--faint:#888f96;--line:#ffffff24;--card:#ffffff14;--card-strong:#ffffff24;--panel:#ffffff0f;--accent:#ffb020;--accent-2:#4ec9a8;--accent-3:#f0a090;color:#f0f0f0;background:#191919f5;border:1px solid #ffffff1f;border-radius:28px;padding:20px;animation:.28s cubic-bezier(.22,1,.36,1) modal-in;overflow:auto}.search-modal,.review-modal{width:min(920px,100%)}.modal-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.modal-header h2{margin:0;font-size:1.6rem}.modal-header button{color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:9px 13px;transition:all .18s}.modal-header button:hover{background:#ffb00021;border-color:#ffb00073;transform:translateY(-1px)}.settings-modal label{color:var(--muted);gap:7px;margin-bottom:13px;display:grid}.settings-grid{flex-wrap:wrap;gap:8px;display:flex}.settings-grid button{color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:9px 13px;transition:all .18s}.settings-grid button:hover{background:#ffb00021;border-color:#ffb00073;transform:translateY(-1px)}.settings-note{background:#74d3ae14;border:1px solid #74d3ae38;border-radius:18px;margin-bottom:14px;padding:13px 14px}.settings-note strong{margin-bottom:6px;display:block}.settings-note p{color:var(--muted);margin:0;line-height:1.5}.danger{color:#ffd0d0!important;border-color:#ff6b6b5c!important}.preference-box{border:1px solid var(--line);background:#ffffff0d;border-radius:18px;margin-top:16px;padding:14px}.config-import-banner{background:#3f8d7014;border:1px solid #3f8d7059;border-radius:18px;margin-bottom:14px;padding:14px 16px;animation:.28s modal-in}.config-import-banner strong{color:#4ec9a8;margin-bottom:6px;display:block}.config-import-banner p{color:var(--muted);margin:0 0 10px;font-size:.9rem}.config-import-btn{color:#4ec9a8;cursor:pointer;background:#4ec9a81f;border:1px solid #4ec9a866;border-radius:14px;padding:10px 18px;font-size:.95rem;font-weight:800;transition:all .18s}.config-import-btn:hover{background:#4ec9a838;transform:translateY(-1px)}.share-config-section{border:1px solid var(--line);background:#fffcf60a;border-radius:18px;margin-top:16px;padding:14px}.share-config-section h3{margin:0 0 6px;font-size:1rem}.share-hint{color:var(--muted);margin:0 0 12px;font-size:.88rem}.share-link-result{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.share-link-input{border:1px solid var(--line);background:var(--card);min-width:200px;color:var(--text);border-radius:12px;flex:1;padding:10px 12px;font-family:monospace;font-size:.85rem}.share-link-btn{color:#ffb020;cursor:pointer;white-space:nowrap;background:#ffb0001a;border:1px solid #ffb00059;border-radius:999px;padding:9px 14px;font-size:.88rem;font-weight:700;transition:all .18s}.share-link-btn:hover{background:#ffb00033;transform:translateY(-1px)}.share-link-btn.ghost{border-color:var(--line);color:var(--muted);background:0 0}.share-msg{color:var(--accent-2);margin:10px 0 0;font-size:.85rem;font-weight:600}.preference-box h3{margin:0 0 10px}.preference-box pre{white-space:pre-wrap;color:var(--muted);margin:0}.template-market{width:min(640px,100%)}.template-market-intro{color:var(--muted);background:#b8751a0f;border:1px solid #b8751a26;border-radius:16px;margin-bottom:16px;padding:12px 14px;font-size:.92rem;line-height:1.6}.template-market-intro p{margin:0}.template-list{gap:12px;margin-bottom:18px;display:grid}.template-card{border:1px solid var(--line);background:#fffcf699;border-radius:20px;padding:18px;transition:all .18s}.template-card:hover{background:#fffcf6d9;border-color:#b8751a40}.template-card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.template-card-head h3{margin:0;font-size:1.15rem}.template-version{color:var(--faint);background:#5b40230f;border-radius:999px;flex-shrink:0;padding:3px 9px;font-size:.78rem}.template-desc{color:var(--muted);margin:0 0 10px;font-size:.92rem;line-height:1.55}.template-meta-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;display:flex}.template-author{color:var(--faint);font-size:.82rem}.template-node-count{color:var(--accent);font-size:.82rem;font-weight:700}.template-import-btn{border:1px solid var(--accent);background:var(--accent);color:#fff8eb;cursor:pointer;border-radius:14px;width:100%;margin-top:10px;padding:10px 14px;font-size:.95rem;font-weight:800;transition:all .15s}.template-import-btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px #b8751a40}.template-import-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.template-file-section{text-align:center;border-top:1px solid var(--line);padding:14px}.template-file-section p{color:var(--faint);margin:0 0 8px;font-size:.88rem}.template-import-row{gap:6px;margin-top:4px;display:flex}.template-btn{color:var(--accent);border-color:#b8751a4d;border:1px solid var(--line);background:#b8751a0f;border-radius:999px;padding:7px 10px;font-size:.85rem}.template-btn:hover{background:#b8751a24;border-color:#b8751a80}.template-file-btn{flex-shrink:0}.search-input{margin-bottom:12px}.review-summary{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.review-summary span{border:1px solid var(--line);color:var(--muted);background:#ffffff0f;border-radius:999px;align-items:center;padding:6px 10px;font-size:.82rem;display:inline-flex}.review-entry.active{color:#fff8eb;border-color:var(--accent);background:var(--accent);font-weight:800}.review-result .check-status{margin-left:4px}.review-result .tag-row{margin-bottom:0}.search-results{gap:10px;display:grid}.search-result{text-align:left;border:1px solid var(--line);color:var(--text);background:#ffffff0e;border-radius:18px;gap:6px;padding:14px;display:grid}.search-result:hover{border-color:#ffb0006b}.search-result>div:first-child{align-items:center;gap:8px;display:flex}.search-result p{color:var(--muted);margin:0;font-size:.92rem}.search-result small{color:var(--faint)}.tag-cloud{border:1px solid var(--line);background:#ffffff09;border-radius:18px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:10px;display:flex}.tag-cloud>span{color:var(--muted);margin-right:2px;font-size:.82rem}.tag-cloud button{border:1px solid var(--line);color:var(--text);background:#ffffff0f;border-radius:999px;align-items:center;gap:5px;padding:6px 10px;display:inline-flex}.tag-cloud button.active{color:#161616;border-color:var(--accent);background:var(--accent);font-weight:800}.tag-cloud small{color:inherit;opacity:.62}.filter-row{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.filter-row button{color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:9px 13px;transition:all .18s}.filter-row button:hover{background:#ffb00021;border-color:#ffb00073;transform:translateY(-1px)}.onboarding-backdrop{background:#000000b8}.onboarding-modal{text-align:center;width:min(520px,94vw);padding:32px 28px}.onboarding-step-indicator{justify-content:center;gap:8px;margin-bottom:22px;display:flex}.onboarding-step-indicator span{background:#ffffff2e;border-radius:999px;width:8px;height:8px;transition:all .25s}.onboarding-step-indicator span.active{background:var(--accent);width:24px}.onboarding-step-indicator span.done{background:var(--accent-2)}.onboarding-icon{color:var(--accent);background:#b8751a1a;border:1px solid #b8751a33;border-radius:20px;margin-bottom:14px;padding:14px;display:inline-flex}.onboarding-modal h2{margin:0 0 10px;font-size:1.45rem}.onboarding-modal>p{color:var(--muted);margin:0 0 22px;font-size:.96rem;line-height:1.6}.onboarding-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.onboarding-actions button{color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:10px 18px;transition:all .18s}.onboarding-actions button:hover{background:#ffb00021;border-color:#ffb00073;transform:translateY(-1px)}.onboarding-actions button:first-child:last-child,.onboarding-actions button:not(.ghost){color:#fff8eb;background:var(--accent);border-color:var(--accent);font-weight:800}.onboarding-skip{cursor:pointer;margin-top:14px;font-size:.86rem;transition:all .15s;color:var(--faint)!important;background:0 0!important;border:0!important}.onboarding-skip:hover{color:var(--muted)!important}@media (width<=760px){.modal{width:min(100%,94vw);max-height:88vh}.onboarding-modal{padding:24px 18px}}.stats-modal{background:var(--panel);width:min(760px,100%);color:var(--text)}.stats-overview-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px;display:grid}.stat-card{border:1px solid var(--line);background:var(--card);text-align:center;border-radius:18px;flex-direction:column;align-items:center;gap:4px;padding:16px 10px;display:flex}.stat-value{color:var(--accent);font-size:1.8rem;font-weight:800;line-height:1}.stat-label{color:var(--muted);font-size:.8rem}.stats-section{margin-bottom:20px}.stats-section h3{color:var(--text);margin:0 0 10px;font-size:1.05rem}.stats-section .empty{color:var(--faint);margin:0;font-size:.9rem}.stats-hint{color:var(--faint);margin:8px 0 0;font-size:.8rem}.mastery-bar-wrap{margin-bottom:10px}.mastery-bar{border-radius:8px;width:100%;height:14px;display:block;overflow:hidden}.empty-bar{border:1px dashed var(--line);height:14px;color:var(--faint);border-radius:8px;justify-content:center;align-items:center;font-size:.8rem;display:flex}.mastery-legend{flex-wrap:wrap;gap:10px 14px;display:flex}.mastery-legend-item{color:var(--muted);align-items:center;gap:5px;font-size:.82rem;display:inline-flex}.legend-dot{border-radius:3px;flex-shrink:0;width:10px;height:10px}.legend-text{color:var(--text)}.legend-count{color:var(--faint)}.confidence-chart{grid-template-columns:repeat(5,1fr);align-items:end;gap:10px;display:grid}.confidence-bar-col{flex-direction:column;align-items:center;gap:6px;display:flex}.confidence-count{color:var(--text);font-size:.85rem;font-weight:700}.confidence-bar-track{border:1px solid var(--line);background:var(--card);border-radius:10px;align-items:flex-end;width:100%;height:80px;display:flex;overflow:hidden}.confidence-bar-fill{border-radius:0 0 8px 8px;width:100%;transition:height .3s}.confidence-label{color:var(--muted);font-size:.8rem;font-weight:600}.role-stats{gap:8px;display:grid}.role-stat-row{align-items:center;gap:10px;display:flex}.role-stat-label{text-align:center;border:1px solid var(--line);width:44px;color:var(--text);background:var(--card);border-radius:999px;flex-shrink:0;padding:4px 8px;font-size:.82rem;font-weight:700}.role-stat-track{background:var(--card);border-radius:999px;flex:1;height:16px;overflow:hidden}.role-stat-fill{opacity:.72;border-radius:999px;height:100%;transition:width .3s}.role-stat-count{width:28px;color:var(--text);text-align:right;flex-shrink:0;font-size:.85rem;font-weight:700}.depth-stats{gap:12px;display:flex}.depth-card{border:1px solid var(--line);background:var(--card);border-radius:18px;flex-direction:column;flex:1;align-items:center;gap:4px;padding:16px;display:flex}.depth-value{color:var(--accent-2);font-size:2rem;font-weight:800;line-height:1}.depth-label{color:var(--muted);font-size:.82rem}.activity-wrap{flex-direction:column;gap:6px;display:flex}.activity-count{color:var(--accent);font-size:.9rem;font-weight:700}.activity-sparkline{width:100%;height:48px;display:block}.sparkline-labels{color:var(--faint);justify-content:space-between;font-size:.76rem;display:flex}.top-tags{flex-wrap:wrap;gap:8px;display:flex}.top-tag-item{border:1px solid var(--line);color:var(--text);background:var(--card);border-radius:999px;align-items:center;gap:5px;padding:6px 11px;font-size:.85rem;display:inline-flex}.top-tag-item small{color:var(--accent);font-size:.78rem;font-weight:800}@media (width<=760px){.stats-overview-grid{grid-template-columns:repeat(2,1fr)}.confidence-chart{gap:6px}.confidence-bar-track{height:60px}.role-stat-label{width:36px;font-size:.76rem}.depth-stats{flex-direction:column}}.api-preset-section{margin-bottom:16px}.api-preset-label{color:var(--muted);margin:0 0 10px;font-size:.95rem;font-weight:600}.api-preset-row{flex-wrap:wrap;gap:8px;display:flex}.api-preset-btn{border:1px solid var(--line);border-left:3px solid var(--preset-color);color:var(--text);background:var(--card);cursor:pointer;white-space:nowrap;border-radius:12px;padding:9px 14px;font-size:.88rem;font-weight:700;transition:all .18s;position:relative}.api-preset-btn:hover{border-color:var(--preset-color);background:#ffffff0a;transform:translateY(-1px)}.api-preset-btn.active{border-color:var(--preset-color);background:var(--preset-color);color:#fff;border-left-width:3px;box-shadow:0 4px 14px #0000002e}.api-preset-btn.active:hover{filter:brightness(1.08);transform:translateY(-1px)}.api-key-guide{color:var(--muted);margin-top:6px;font-size:12px;line-height:1.55;display:block}.api-key-guide a{color:#60a5fa;font-weight:600;text-decoration:none}.api-key-guide a:hover{text-decoration:underline}.readonly-input-wrap{position:relative}.readonly-input{cursor:not-allowed;width:100%;color:var(--muted);opacity:.85;background:#ffffff0f;padding-right:36px}.readonly-lock{opacity:.5;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:14px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}@media (width<=760px){.api-preset-btn{padding:8px 10px;font-size:.82rem}}@media (width<=480px){.api-preset-row{gap:6px}.api-preset-btn{border-radius:10px;padding:7px 9px;font-size:.78rem}}.weekly-report-modal{width:min(720px,100%)}.growth-timeline-modal{width:min(860px,100%)}.growth-overview-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px;display:grid}.growth-stat-card{border:1px solid var(--line);background:var(--card);border-radius:16px;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;display:flex}.growth-stat-value{color:var(--text);font-size:1.5rem;font-weight:800;line-height:1.2}.growth-stat-label{color:var(--muted);font-size:.78rem}.growth-section{margin-bottom:18px}.growth-section h3{color:var(--text);margin:0 0 10px;font-size:1.05rem}.growth-milestones{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.growth-milestone-pill{border:1px solid var(--line);background:var(--card);opacity:.45;border-radius:14px;flex-direction:column;gap:3px;padding:10px 12px;transition:opacity .2s;display:flex}.growth-milestone-pill.reached{opacity:1;background:#ffb00014;border-color:#ffb00059}.growth-milestone-index{color:var(--accent);font-size:.72rem;font-weight:800}.growth-milestone-label{color:var(--text);font-size:.9rem;font-weight:700}.growth-milestone-desc{color:var(--muted);font-size:.76rem;line-height:1.4}.timeline-line{padding-left:24px;position:relative}.timeline-line:before{content:"";background:var(--line);border-radius:1px;width:2px;position:absolute;top:6px;bottom:6px;left:7px}.timeline-item{margin-bottom:18px;position:relative}.timeline-dot{background:var(--accent);border:2px solid var(--modal-bg,#191919);z-index:1;border-radius:50%;width:12px;height:12px;position:absolute;top:4px;left:-24px}.timeline-content{flex-direction:column;gap:8px;display:flex}.timeline-date{color:var(--text);align-items:baseline;gap:8px;font-size:.92rem;font-weight:700;display:flex}.timeline-day-count{color:var(--muted);font-size:.76rem;font-weight:400}.timeline-nodes{gap:8px;display:grid}.timeline-node{border:1px solid var(--line);background:var(--card);border-radius:14px;padding:10px 12px;transition:border-color .18s}.timeline-node:hover{border-color:#ffb0004d}.timeline-node.is-milestone{background:#ffb0000f;border-color:#ffb00066}.timeline-milestone-banner{border-bottom:1px dashed #ffb00033;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;padding-bottom:6px;display:flex}.timeline-milestone-tag{color:var(--accent);background:#ffb0001f;border-radius:999px;padding:2px 8px;font-size:.78rem;font-weight:800}.timeline-milestone-desc{color:var(--muted);font-size:.74rem}.timeline-node-head{align-items:center;gap:6px;display:flex}.timeline-node-order{color:var(--faint);min-width:28px;font-size:.72rem;font-weight:700}.timeline-node-title{color:var(--text);flex:1;font-size:.92rem}.timeline-star{color:#ffb020;font-size:.85rem}.timeline-node-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.timeline-node-topic{color:var(--muted);font-size:.76rem}.role-chip{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:1px 7px;font-size:.7rem;font-weight:600}.check-status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.check-status{color:var(--muted);font-size:.74rem}.timeline-node-confidence{color:var(--faint);font-size:.72rem}.growth-topic-list{gap:10px;display:grid}.growth-topic-row{gap:4px;display:grid}.growth-topic-head{justify-content:space-between;align-items:baseline;display:flex}.growth-topic-title{color:var(--text);font-size:.88rem;font-weight:600}.growth-topic-count{color:var(--muted);font-size:.78rem}.growth-topic-track{background:#ffffff0f;border-radius:999px;height:6px;overflow:hidden}.growth-topic-fill{background:var(--accent);opacity:.7;border-radius:999px;height:100%;transition:width .3s}.growth-topic-time{color:var(--faint);gap:12px;font-size:.72rem;display:flex}.growth-empty{text-align:center;padding:40px 20px}.growth-empty p{color:var(--muted);margin:0 0 6px;font-size:1rem}.growth-empty-hint{color:var(--faint)!important;font-size:.85rem!important}@media (width<=760px){.growth-overview-grid{grid-template-columns:repeat(2,1fr)}.growth-milestones{grid-template-columns:1fr}.timeline-node-meta{gap:6px}}.quiz-entry{color:#e65100;background:#fff3e0;border:1px solid #ffe0b2;position:relative}.quiz-entry.active{color:#fff;background:#ff9800;border-color:#ff9800;animation:2s ease-in-out infinite quiz-pulse}@keyframes quiz-pulse{0%,to{box-shadow:0 0 #ff980066}50%{box-shadow:0 0 0 6px #ff980000}}.verify-actions{gap:10px;margin:12px 0;display:flex}.verify-btn{cursor:pointer;background:#fff;border:1.5px solid #e0e0e0;border-radius:8px;flex:1;padding:10px 16px;font-size:14px;transition:all .15s}.verify-btn:hover{background:#ebf8ff;border-color:#4299e1}.verify-btn.quiz-btn{color:#e65100;border-color:#ff9800}.verify-btn.quiz-btn:hover{background:#fff3e0;border-color:#f57c00}.verify-btn.feynman-btn{color:#5b21b6;border-color:#7c3aed}.verify-btn.feynman-btn:hover{background:#f5f3ff;border-color:#6d28d9}.quiz-modal{max-width:600px}.quiz-progress{color:#888;background:#f5f5f5;border-radius:12px;padding:2px 10px;font-size:13px}.quiz-active{padding:16px 0}.quiz-meta{align-items:center;gap:10px;margin-bottom:14px;display:flex}.quiz-type-chip{color:#1565c0;background:#e3f2fd;border-radius:10px;padding:2px 10px;font-size:12px}.quiz-node-title{color:#888;font-size:13px}.quiz-question-card{background:#fafafa;border:1px solid #eee;border-radius:10px;margin-bottom:16px;padding:20px}.quiz-prompt{margin:0 0 12px;font-size:16px;font-weight:500;line-height:1.6}.quiz-hint{color:#888;font-size:13px}.quiz-hint summary{cursor:pointer;color:#999;font-size:12px}.quiz-hint p{background:#fff;border:1px dashed #ddd;border-radius:6px;margin:8px 0 0;padding:10px}.quiz-action-row{gap:12px;display:flex}.quiz-reveal-btn{color:#fff;cursor:pointer;background:#ff9800;border:none;border-radius:8px;flex:1;padding:12px 20px;font-size:15px;font-weight:500;transition:background .15s}.quiz-reveal-btn:hover{background:#f57c00}.quiz-skip-btn{color:#888;cursor:pointer;background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:12px 16px;font-size:14px}.quiz-skip-btn:hover{border-color:#bbb}.quiz-answer-section{animation:.3s fade-in}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.quiz-answer-card{background:#e8f5e9;border:1px solid #c8e6c9;border-radius:10px;margin-bottom:16px;padding:16px}.quiz-answer-card h4{color:#2e7d32;margin:0 0 8px;font-size:13px}.quiz-answer-card p{margin:0;font-size:14px;line-height:1.6}.quiz-rate-row{text-align:center}.quiz-rate-row>span{color:#666;margin-bottom:12px;font-size:14px;display:block}.quiz-rate-buttons{justify-content:center;gap:8px;display:flex}.rate-btn{cursor:pointer;background:#fff;border:2px solid #e0e0e0;border-radius:8px;flex:1;max-width:140px;padding:10px 8px;font-size:13px;transition:all .15s}.rate-btn:hover{border-color:#999}.rate-btn.rate-3:hover,.rate-btn.rate-3:active{background:#e8f5e9;border-color:#4caf50}.rate-btn.rate-2:hover,.rate-btn.rate-2:active{background:#f1f8e9;border-color:#8bc34a}.rate-btn.rate-1:hover,.rate-btn.rate-1:active{background:#fff3e0;border-color:#ff9800}.rate-btn.rate-0:hover,.rate-btn.rate-0:active{background:#ffebee;border-color:#f44336}.quiz-complete{text-align:center;padding:24px 16px}.quiz-complete-score{margin-bottom:20px}.score-number{color:#333;font-size:48px;font-weight:700}.score-label{color:#999;font-size:16px}.quiz-complete-stats{justify-content:center;gap:16px;margin-bottom:20px;display:flex}.stat-item{text-align:center;background:#f5f5f5;border-radius:10px;min-width:70px;padding:10px 16px}.stat-item strong{font-size:22px;display:block}.stat-item span{color:#888;font-size:12px}.stat-item.perfect strong{color:#4caf50}.stat-item.basic strong{color:#8bc34a}.stat-item.fuzzy strong{color:#ff9800}.stat-item.forgot strong{color:#f44336}.quiz-complete-message{color:#666;margin-bottom:20px;font-size:14px;line-height:1.6}.quiz-close-btn{color:#fff;cursor:pointer;background:#333;border:none;border-radius:8px;padding:12px 32px;font-size:15px}.review-actions-bar{border-bottom:1px solid #eee;align-items:center;gap:12px;margin-bottom:12px;padding:10px 0;display:flex}.quiz-start-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#ff9800;border:none;border-radius:8px;padding:8px 20px;font-size:14px;font-weight:500;transition:background .15s}.quiz-start-btn:hover{background:#f57c00}.review-actions-bar .quiz-hint-text{color:#aaa;font-size:12px}.feynman-modal{max-width:620px}.feynman-intro{margin-bottom:16px}.feynman-intro p{margin:4px 0;font-size:15px}.feynman-intro strong{color:#7c3aed}.feynman-hint-text{color:#888!important;font-size:13px!important}.feynman-input-section{gap:16px;display:flex}.feynman-input-area{flex:1}.feynman-input-area textarea{resize:vertical;box-sizing:border-box;border:1.5px solid #ddd;border-radius:10px;width:100%;padding:14px;font-family:inherit;font-size:14px;line-height:1.6}.feynman-input-area textarea:focus{border-color:#7c3aed;outline:none;box-shadow:0 0 0 3px #7c3aed1a}.feynman-input-actions{align-items:center;gap:10px;margin-top:10px;display:flex}.feynman-mode-label{color:#aaa;font-size:12px}.feynman-voice-btn{color:#7c3aed;cursor:pointer;background:#f5f3ff;border:1px solid #d4c4f7;border-radius:999px;align-items:center;gap:6px;padding:7px 16px;font-size:13px;font-weight:600;transition:all .18s;display:inline-flex}.feynman-voice-btn:hover{background:#ede9fe;border-color:#a78bfa;transform:translateY(-1px)}.feynman-voice-btn.active{color:#fff;background:#7c3aed;border-color:#7c3aed;animation:1.5s ease-in-out infinite feynman-voice-pulse;box-shadow:0 0 0 4px #7c3aed26}.feynman-voice-btn.active .voice-icon{animation:.8s ease-in-out infinite mic-bounce}@keyframes feynman-voice-pulse{0%,to{box-shadow:0 0 0 4px #7c3aed26}50%{box-shadow:0 0 0 8px #7c3aed0f}}.feynman-voice-btn .voice-icon{width:15px;height:15px}.feynman-voice-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.feynman-submit-btn{color:#fff;cursor:pointer;background:#7c3aed;border:none;border-radius:8px;margin-left:auto;padding:8px 20px;font-size:14px;transition:background .15s}.feynman-submit-btn:hover{background:#6d28d9}.feynman-submit-btn:disabled{cursor:not-allowed;background:#ccc}.feynman-rules{background:#faf5ff;border:1px solid #ede9fe;border-radius:10px;flex-shrink:0;width:200px;padding:14px}.feynman-rules h4{color:#7c3aed;margin:0 0 8px;font-size:13px}.feynman-rules ul{color:#666;margin:0;padding-left:16px;font-size:12px;line-height:1.7}.feynman-result-section{padding:8px 0;animation:.3s fade-in}.feynman-score-banner{border-radius:10px;align-items:center;gap:14px;margin-bottom:16px;padding:16px 20px;display:flex}.feynman-score-banner.score-perfect{background:#e8f5e9;border:1px solid #a5d6a7}.feynman-score-banner.score-good{background:#f1f8e9;border:1px solid #c5e1a5}.feynman-score-banner.score-ok{background:#fff8e1;border:1px solid #ffe082}.feynman-score-banner.score-weak{background:#fff3e0;border:1px solid #ffcc80}.feynman-score-banner.score-fail{background:#ffebee;border:1px solid #ef9a9a}.feynman-score-number{font-size:36px;font-weight:700}.feynman-score-banner.score-perfect .feynman-score-number{color:#2e7d32}.feynman-score-banner.score-good .feynman-score-number{color:#558b2f}.feynman-score-banner.score-ok .feynman-score-number{color:#f57f17}.feynman-score-banner.score-weak .feynman-score-number{color:#e65100}.feynman-score-banner.score-fail .feynman-score-number{color:#c62828}.feynman-score-text{color:#555;font-size:15px;font-weight:500}.feynman-overall{color:#444;margin-bottom:16px;padding:0 4px;font-size:14px;line-height:1.6}.feynman-block{margin-bottom:14px}.feynman-block h4{color:#666;margin:0 0 6px;font-size:13px}.feynman-block ul{color:#555;margin:0;padding-left:18px;font-size:13px;line-height:1.7}.feynman-strengths li{color:#2e7d32}.feynman-gaps li{color:#e65100}.feynman-suggestions li{color:#1565c0}.feynman-result-actions{justify-content:center;gap:12px;margin-top:20px;display:flex}.feynman-result-actions button{cursor:pointer;background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:10px 24px;font-size:14px}.feynman-retry-btn{color:#fff!important;background:#7c3aed!important;border-color:#7c3aed!important}.feynman-retry-btn:hover{background:#6d28d9!important}@media (width<=600px){.feynman-input-section{flex-direction:column}.feynman-rules{width:100%}.quiz-rate-buttons{flex-wrap:wrap}.rate-btn{flex:45%;max-width:none}.review-actions-bar{flex-direction:column;align-items:flex-start}}.graph-modal{width:min(960px,100%)}.graph-modal .modal-header button{color:#eaeaea;background:#ffffff14;border:1px solid #ffffff24;font-weight:600}.graph-modal .modal-header button:hover{color:#fff;background:#ffb00026;border-color:#ffb00080}.graph-modal .modal-header h2{color:#f0f0f0}.graph-node-count{color:var(--muted,#999);margin-left:4px;font-size:.78rem;font-weight:600}.graph-svg-wrap{border:1px solid var(--line);background:#ffffff0f;border-radius:18px;min-height:65vh;max-height:70vh;position:relative;overflow:hidden}.graph-svg-wrap svg{width:100%;height:100%;min-height:400px;display:block}.graph-toolbar{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;display:flex}.graph-toolbar .toolbar-label{color:#e8e8e8;letter-spacing:.02em;margin-right:2px;font-size:.78rem;font-weight:700}.graph-toolbar button{color:#eaeaea;background:#ffffff14;border:1px solid #ffffff24;border-radius:999px;padding:7px 13px;font-size:.82rem;font-weight:600;transition:all .18s}.graph-toolbar button:hover{color:#fff;background:#ffb00026;border-color:#ffb00080;transform:translateY(-1px)}.graph-toolbar button.active{color:#fff8eb;background:var(--accent);border-color:var(--accent);font-weight:800}.graph-toolbar .graph-fit-btn{color:#eaeaea;background:#ffb0001f;border:1px solid #ffb0004d;border-radius:999px;margin-left:auto;padding:7px 13px;font-size:.82rem;font-weight:600}.graph-toolbar .graph-fit-btn:hover{color:#fff;background:#ffb00038;border-color:#ffb00080}.graph-toolbar .graph-reset-btn{color:#c8c8c8;background:0 0;border:1px solid #ffffff24;border-radius:999px;padding:7px 13px;font-size:.82rem;font-weight:600}.graph-toolbar .graph-reset-btn:hover{color:#fff;background:#ffb00014;border-color:#ffb00066}.graph-legend{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:14px;flex-wrap:wrap;align-items:center;gap:14px;margin-top:10px;padding:10px 14px;display:flex}.graph-legend .legend-label{color:#e0e0e0;letter-spacing:.02em;margin-right:2px;font-size:.78rem;font-weight:700}.legend-section{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.graph-legend-item{color:#d0d0d0;align-items:center;gap:6px;font-size:.8rem;font-weight:500;display:inline-flex}.graph-legend-dot{border-radius:3px;flex-shrink:0;width:10px;height:10px}.graph-legend-dot.edge-child{background:var(--accent)}.graph-legend-dot.edge-related{background:var(--accent-3)}.graph-legend-dot.edge-prerequisite{background:var(--accent-2)}.graph-legend-dot.mastery-untested{background:var(--faint)}.graph-legend-dot.mastery-understood{background:#4caf50}.graph-legend-dot.mastery-uncertain{background:#ff9800}.graph-legend-dot.mastery-needs_review{background:#e05555}.graph-hint{text-align:center;width:100%;color:var(--faint,#777);margin-top:4px;font-size:.74rem;font-weight:500}.graph-node{cursor:pointer}.graph-minimap{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:10;background:#0000008c;border:1px solid #ffffff2e;border-radius:12px;width:160px;height:120px;position:absolute;bottom:12px;right:12px;overflow:hidden;box-shadow:0 4px 16px #0000004d}.graph-minimap-label{color:#ffffff80;z-index:1;pointer-events:none;letter-spacing:.03em;font-size:.68rem;font-weight:700;position:absolute;top:4px;left:8px}.graph-minimap-svg{cursor:pointer;width:100%;height:100%;display:block}@media (width<=760px){.graph-minimap{width:110px;height:80px;bottom:8px;right:8px}}.graph-node circle{transition:r .2s,stroke-width .2s,opacity .2s}.graph-node text{fill:var(--text);pointer-events:none;-webkit-user-select:none;user-select:none;font-family:inherit;font-size:11px}.graph-node text.node-title{font-weight:600}.graph-node text.node-layer{fill:var(--muted);font-size:9px}@keyframes graph-node-pulse{0%,to{stroke-opacity:1;stroke-width:2px}50%{stroke-opacity:.4;stroke-width:4px}}.graph-node.due circle.outer{stroke:#ff9800;animation:2s ease-in-out infinite graph-node-pulse}.graph-node.highlighted circle{filter:brightness(1.35);stroke-width:3.5px}.graph-node.dimmed{opacity:.15;pointer-events:none}.graph-node.selected circle{stroke:var(--accent);stroke-width:3px;stroke-dasharray:none}.graph-node.selected circle.ring{stroke:var(--accent);stroke-width:2px;opacity:.5;r:22}.graph-tooltip{z-index:1200;border:1px solid var(--line);pointer-events:none;max-width:260px;box-shadow:var(--shadow);background:#191919f5;border-radius:14px;padding:12px 14px;animation:.15s tooltip-in;position:absolute}@keyframes tooltip-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.graph-tooltip-title{color:#fff;margin-bottom:6px;font-size:.92rem;font-weight:700;line-height:1.3}.graph-tooltip-detail{color:#aaa;margin-bottom:6px;font-size:.82rem;line-height:1.5}.graph-tooltip-badge{color:#ccc;background:#ffffff14;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.graph-tooltip-badge.due{color:#ffb74d;background:#ff98002e;border-color:#ff98004d}.graph-tooltip-badge.starred{color:#ffd54f;background:#ffd70026;border-color:#ffd7004d}.path-modal{width:min(720px,100%)}.path-summary{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.path-summary-item{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:999px;align-items:center;gap:5px;padding:6px 12px;font-size:.82rem;font-weight:700;display:inline-flex}.path-summary-item.review{color:#b84040;background:#b840401a;border-color:#b8404040}.path-summary-item.gap{color:#b8751a;background:#b8751a1a;border-color:#b8751a40}.path-summary-item.strengthen{color:#4f69b6;background:#4f69b61a;border-color:#4f69b640}.path-summary-item.explore{color:#3f8d70;background:#3f8d701a;border-color:#3f8d7040}.path-summary-item small{color:var(--muted);font-size:.78rem;font-weight:600}.path-filters{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.path-filters button{color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:7px 13px;font-size:.82rem;font-weight:600;transition:all .18s}.path-filters button:hover{background:#ffb00021;border-color:#ffb00073;transform:translateY(-1px)}.path-filters button.active{color:#fff8eb;background:var(--accent);border-color:var(--accent);font-weight:800}.path-timeline{gap:10px;display:grid}.path-step{border:1px solid var(--line);border-left:4px solid var(--line);cursor:pointer;background:#ffffff0a;border-radius:16px;gap:6px;padding:14px 16px;transition:all .18s;display:grid}.path-step:hover{background:#ffffff12;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.path-step:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.path-step-arrow{color:var(--muted);flex-shrink:0;margin-left:auto;font-size:1.1rem;transition:transform .18s,color .18s}.path-step:hover .path-step-arrow{color:var(--accent);transform:translate(4px)}.path-step.review{border-left-color:#b84040}.path-step.gap{border-left-color:#b8751a}.path-step.strengthen{border-left-color:#4f69b6}.path-step.explore{border-left-color:#3f8d70}.path-step-head{align-items:center;gap:8px;display:flex}.path-step-reason{color:var(--muted);white-space:nowrap;background:#ffffff14;border:1px solid #ffffff1a;border-radius:999px;flex-shrink:0;align-items:center;padding:2px 8px;font-size:.7rem;font-weight:700;display:inline-flex}.path-step-title{color:#fff;font-size:.95rem;font-weight:700;line-height:1.3}.path-step-priority{color:var(--faint);flex-shrink:0;margin-left:auto;font-size:.72rem}.path-step-meta{color:var(--muted);flex-wrap:wrap;gap:10px;font-size:.78rem;display:flex}.path-step-meta span{align-items:center;gap:3px;display:inline-flex}.path-step-meta .confidence-label{font-weight:700}.path-step-meta .role-label{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:999px;padding:1px 7px;font-weight:600}.path-step-meta .srs-info{color:#ff9800;font-weight:600}.path-step-action{justify-self:start}.path-step-hint{color:var(--muted);opacity:.7;align-items:center;gap:4px;font-size:.78rem;font-weight:600;transition:all .18s;display:inline-flex}.path-step:hover .path-step-hint{opacity:1;color:var(--accent)}.heatmap-wrap{margin-bottom:16px}.heatmap-grid{grid-template-rows:repeat(7,1fr);grid-template-columns:repeat(12,1fr);gap:3px;padding:4px 0;display:grid}.heatmap-cell{background:#ffffff0f;border-radius:2px;width:12px;height:12px;transition:background .15s}.heatmap-cell[data-level="0"]{background:#ffffff0a}.heatmap-cell[data-level="1"]{background:color-mix(in srgb, var(--accent) 25%, transparent)}.heatmap-cell[data-level="2"]{background:color-mix(in srgb, var(--accent) 45%, transparent)}.heatmap-cell[data-level="3"]{background:color-mix(in srgb, var(--accent) 65%, transparent)}.heatmap-cell[data-level="4"]{background:color-mix(in srgb, var(--accent) 90%, transparent)}.heatmap-labels{justify-content:space-between;align-items:flex-end;padding:4px 0 0;display:flex}.heatmap-label-month{color:var(--faint);font-size:.7rem}.heatmap-label-day{color:var(--faint);grid-row-align:center;font-size:.68rem;line-height:1}.streak-info{border:1px solid var(--line);background:var(--card);border-radius:16px;align-items:baseline;gap:6px;margin-bottom:14px;padding:12px 14px;display:flex}.streak-number{color:var(--accent);font-size:2.2rem;font-weight:800;line-height:1}.streak-label{color:var(--muted);font-size:.88rem;font-weight:600}.srs-week{grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:16px;display:grid}.srs-day-card{border:1px solid var(--line);background:var(--card);border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;transition:all .18s;display:flex}.srs-day-card:hover{background:#ffffff0f;border-color:#ffb0004d}.srs-day-card.today{border-color:var(--accent);background:#5b8fb91a}.srs-day-label{color:var(--faint);font-size:.72rem;font-weight:600}.srs-day-date{color:var(--muted);font-size:.82rem;font-weight:700}.srs-day-count{color:var(--accent);font-size:1.1rem;font-weight:800}.srs-day-card.empty .srs-day-count{color:var(--faint);font-size:.85rem}.radar-wrap{justify-content:center;margin-bottom:14px;padding:10px 0;display:flex}.radar-wrap svg{max-width:280px;max-height:280px}.trend-wrap{justify-content:center;margin-bottom:14px;padding:10px 0;display:flex}.trend-wrap svg{width:100%;max-height:160px}@media (width<=760px){.graph-modal{width:min(100%,94vw)}.graph-svg-wrap{min-height:50vh}.graph-toolbar button{padding:6px 10px;font-size:.76rem}.graph-legend{gap:10px;padding:6px 10px}.graph-legend-item{font-size:.72rem}.graph-tooltip{max-width:200px;padding:10px 12px}.graph-tooltip-title{font-size:.85rem}.graph-tooltip-detail{font-size:.76rem}.path-modal{width:min(100%,94vw)}.path-summary-item{padding:5px 10px;font-size:.76rem}.path-filters button{padding:6px 10px;font-size:.76rem}.path-step{border-radius:14px;padding:10px 12px}.path-step-title{font-size:.88rem}.path-step-meta,.path-step-hint{font-size:.72rem}.heatmap-grid{gap:2px}.heatmap-cell{width:10px;height:10px}.streak-number{font-size:1.8rem}.srs-week{gap:4px}.srs-day-card{padding:8px 4px}.srs-day-count{font-size:.92rem}.radar-wrap svg{max-width:220px;max-height:220px}}.markdown-body p{margin:0 0 10px;line-height:1.75}.markdown-body p:last-child{margin-bottom:0}.markdown-body strong{color:var(--text);font-weight:800}.markdown-body code{background:#5b40231a;border-radius:5px;padding:1px 6px;font-family:Cascadia Code,Fira Code,monospace;font-size:.88em}.markdown-body ul,.markdown-body ol{margin:0 0 10px;padding-left:20px;line-height:1.75}.markdown-body li{margin-bottom:4px}.markdown-body blockquote{border-left:3px solid var(--accent);color:var(--muted);background:#b8751a0f;border-radius:0 8px 8px 0;margin:0 0 10px;padding:8px 14px}.markdown-body h4,.markdown-body h5{margin:14px 0 6px;font-size:.95rem;font-weight:800}.role-chip{border:1px solid var(--line);color:var(--muted);background:#ffffff0f;border-radius:999px;align-items:center;padding:5px 9px;font-size:.8rem;font-weight:800;display:inline-flex}.role-root{color:#ffd98a!important;background:#ffb00026!important;border-color:#ffb00057!important}.role-foundation{color:#a5f2ce!important;background:#74d3ae21!important;border-color:#74d3ae4d!important}.role-mechanism{color:#c5d2ff!important;background:#8da9ff21!important;border-color:#8da9ff4d!important}.role-application{color:#bdefff!important;background:#5fdcff1f!important;border-color:#5fdcff4d!important}.role-comparison{color:#e3c6ff!important;background:#cf99ff1f!important;border-color:#cf99ff4d!important}.role-boundary{color:#ffc4c4!important;background:#ff6b6b1f!important;border-color:#ff6b6b4d!important}.role-practice{color:#ffe5a8!important;background:#ffcd561f!important;border-color:#ffcd564d!important}.role-review{color:#e8e0d2!important;background:#ffffff1a!important;border-color:#ffffff3d!important}
