:root{--bg: #f4f6f3;--panel: #ffffff;--panel-2: #f9fbf9;--ink: #1e2a24;--ink-2: #41524a;--muted: #7d8c84;--line: #e5ebe6;--line-strong: #d5dfd8;--brand: #4a8f74;--brand-ink: #356e59;--brand-soft: #e9f4ee;--ok: #3f8768;--ok-soft: #e9f4ee;--warn: #b8862f;--warn-soft: #fbf4e6;--danger: #c2635f;--danger-soft: #fbefee;--sidebar: #fbfcfa;--sidebar-ink: #2c3a33;--sidebar-muted: #7d8c84;--radius: 16px;--radius-sm: 9px;--shadow: 0 1px 2px rgba(30, 42, 36, .035), 0 10px 26px -22px rgba(30, 42, 36, .3);--hour-h: 56px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;cursor:pointer}input,select,textarea{font:inherit;color:inherit}h1,h2,h3{margin:0}.boot{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:var(--bg);color:var(--ink)}.boot-logo{letter-spacing:.32em;font-size:13px;color:var(--brand)}.boot-tip{color:var(--muted);font-size:12px}.shell{display:grid;grid-template-columns:236px minmax(0,1fr) 348px;min-height:100vh}.sidebar{background:var(--sidebar);color:var(--sidebar-ink);padding:22px 16px 18px;display:flex;flex-direction:column;gap:22px;position:sticky;top:0;height:100vh}.brand{display:flex;gap:10px;align-items:center;padding:0 4px}.brand-mark{width:34px;height:34px;border-radius:11px;background:linear-gradient(140deg,#7fb79c,#4a8f74);display:grid;place-items:center;font-size:11px;font-weight:700;letter-spacing:.04em;color:#fff}.brand-text{display:flex;flex-direction:column;line-height:1.3}.brand-text strong{font-size:11.5px;letter-spacing:.14em}.brand-text span{font-size:11px;color:var(--sidebar-muted)}.nav{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.nav-item{width:100%;display:flex;align-items:center;gap:10px;background:transparent;border:0;border-radius:10px;padding:9px 11px;color:var(--sidebar-muted);text-align:left;transition:background .15s,color .15s}.nav-item:hover{background:#4a8f7412;color:var(--ink)}.nav-item.active{background:var(--brand-soft);color:var(--brand-ink)}.nav-item.active .nav-hint{color:#5f8a76}.nav-icon{width:17px;flex:0 0 17px;opacity:.85}.nav-badge{margin-left:auto;background:var(--brand);color:#fff;font-size:10.5px;min-width:17px;height:17px;padding:0 5px;border-radius:9px;display:grid;place-items:center}.nav-dot{margin-left:auto;width:6px;height:6px;border-radius:50%;background:var(--warn)}.sidebar-foot{margin-top:auto;display:flex;flex-direction:column;gap:5px;padding:0 4px}.local-badge{font-size:11.5px;color:var(--brand)}.tiny{font-size:11px;line-height:1.5}.workspace{min-width:0;padding:24px 26px 60px}.page{max-width:980px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap}.page-head h1{font-size:24px;letter-spacing:-.01em}.page-sub{margin:2px 0 0;color:var(--muted);font-size:12.5px}.page-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 16px 0}.card-title{font-size:13.5px;font-weight:600;letter-spacing:.01em}.card-extra{display:flex;align-items:center;gap:8px}.card-body{padding:12px 16px 16px;display:flex;flex-direction:column;gap:12px}.muted{color:var(--muted)}.small{font-size:12px}.spacer{flex:1}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.btn{border:1px solid var(--line-strong);background:#fff;border-radius:9px;padding:7px 13px;font-size:13px;transition:background .15s,border-color .15s,transform .05s;white-space:nowrap}.btn:hover{background:var(--panel-2)}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand-ink)}.btn.ghost:hover{background:#14161a0a}.btn.danger{color:var(--danger);border-color:#f0c9c9}.btn.danger.ghost:hover{background:var(--danger-soft)}.btn.small{padding:5px 10px;font-size:12.5px}.btn.tiny{padding:3px 8px;font-size:11.5px;border-radius:7px}.btn:disabled{opacity:.55;cursor:not-allowed}.icon-btn{border:0;background:transparent;color:var(--muted);width:24px;height:24px;border-radius:7px;line-height:1;display:grid;place-items:center;font-size:15px}.icon-btn:hover{background:#14161a0f;color:var(--ink)}.icon-btn.danger:hover{background:var(--danger-soft);color:var(--danger)}.icon-btn.star.on{color:#e5a409}.chip{border:1px solid var(--line-strong);background:#fff;border-radius:999px;padding:4px 12px;font-size:12.5px;color:var(--muted)}.chip.on{background:var(--brand-soft);border-color:#c3ddcd;color:var(--brand-ink)}.segmented{display:inline-flex;background:#eef2ef;border-radius:10px;padding:3px;gap:2px}.segmented button{border:0;background:transparent;border-radius:8px;padding:4px 12px;font-size:12.5px;color:var(--muted)}.segmented button.active{background:#fff;color:var(--ink);box-shadow:0 1px 2px #1018281a}.field{display:flex;flex-direction:column;gap:5px}.field-label{font-size:12px;color:var(--muted)}.field-hint{font-size:11.5px;color:var(--muted)}input,select,textarea{border:1px solid var(--line-strong);border-radius:9px;padding:7px 10px;background:#fff;outline:none;transition:border-color .15s,box-shadow .15s;width:100%}input:focus,select:focus,textarea:focus{border-color:#a2c9b4;box-shadow:0 0 0 3px #4a8f741f}textarea{resize:vertical}.check{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ink-2)}.check input{width:auto}.row-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.row-3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.row-4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;display:flex;flex-direction:column;gap:4px;box-shadow:var(--shadow)}.stat-label{font-size:11.5px;color:var(--muted)}.stat-value{font-size:19px;font-weight:650;letter-spacing:-.01em}.stat-hint{font-size:11px;color:var(--muted)}.progress-wrap{display:flex;align-items:center;gap:8px}.progress{flex:1;height:6px;background:#eaf0ec;border-radius:999px;overflow:hidden}.progress-fill{height:100%;border-radius:999px;transition:width .25s ease}.tone-brand{background:linear-gradient(90deg,#8cc4a8,#4a8f74)}.tone-ok{background:linear-gradient(90deg,#93cbae,#3f8768)}.tone-warn{background:linear-gradient(90deg,#e6c07c,#b8862f)}.tone-muted{background:#c4cfc8}.progress-label{font-size:11.5px;color:var(--muted);min-width:30px;text-align:right}.banner{border-radius:var(--radius-sm);padding:9px 13px;font-size:12.5px;display:flex;flex-wrap:wrap;gap:4px}.banner.warn{background:var(--warn-soft);color:#8a6320;border:1px solid #f0e3cb}.today-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:14px;align-items:start}.today-left{display:flex;flex-direction:column;gap:14px}.timeline-card .card-body{padding-top:6px}.top3{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.top3 li{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 10px}.top3 li.done .top3-title{text-decoration:line-through;color:var(--muted)}.top3-main{flex:1;min-width:0}.top3-title{font-weight:550}.check-dot{width:19px;height:19px;border-radius:50%;border:1.5px solid var(--line-strong);background:#fff;display:grid;place-items:center;font-size:11px;color:var(--ok);flex:0 0 auto}.check-dot:hover{border-color:var(--ok)}.quick-add{display:flex;gap:8px}.task-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.task-item{display:flex;align-items:center;gap:8px;padding:7px 4px;border-radius:9px}.task-item:hover{background:var(--panel-2)}.task-item.done .task-title{text-decoration:line-through;color:var(--muted)}.task-title-btn{flex:1;min-width:0;border:0;background:transparent;text-align:left;display:flex;flex-direction:column;gap:1px;padding:0}.task-title{font-size:13.5px}.task-meta{font-size:11.5px;color:var(--muted)}.empty{border:1px dashed var(--line-strong);border-radius:var(--radius-sm);padding:18px;text-align:center;color:var(--muted);display:flex;flex-direction:column;gap:3px}.empty-text{font-size:13px}.empty-hint{font-size:11.5px;opacity:.85}.timeline{display:flex;position:relative;overflow:hidden}.tl-gutter{width:50px;flex:0 0 50px;position:relative}.tl-hour{position:relative;display:flex;align-items:flex-start;justify-content:flex-end;padding-right:8px}.tl-hour span{font-size:10.5px;color:var(--muted);transform:translateY(-6px);font-variant-numeric:tabular-nums}.tl-track{position:relative;flex:1;border-left:1px solid var(--line)}.tl-line{position:absolute;left:0;right:0;border-top:1px solid var(--line);pointer-events:none}.tl-block{position:absolute;left:2px;right:2px;border-radius:8px;padding:4px 8px;overflow:hidden;font-size:11.5px;display:flex;flex-direction:column;gap:1px;border:1px solid transparent}.tl-block-title{font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tl-block-time{font-size:10.5px;opacity:.72;font-variant-numeric:tabular-nums}.tl-block.fixed{background:#f2f5f2;border-color:#e6ebe7;color:#5e6d65}.tl-block.fixed.kind-rest,.tl-block.fixed.kind-meal{background:#f9f5ec;border-color:#efe7d7;color:#8a7a58}.tl-block.fixed.kind-course{background:#eef2f4;border-color:#dfe8ea;color:#51626a}.tl-block.task{background:var(--brand-soft);border-color:#cfe6d9;border-left:3px solid var(--brand);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.tl-block.task.p1{background:#fdf1ec;border-color:#f0dcd2;border-left-color:#c98a63}.tl-block.task.p3{background:#f1f6f2;border-color:#dde8e1;border-left-color:#86ab97}.tl-block.task.done{opacity:.55;text-decoration:line-through;cursor:default}.tl-block.task.dragging{opacity:.9;box-shadow:0 10px 24px -12px #1e2a2457;cursor:grabbing;z-index:5}.tl-handle{position:absolute;left:0;right:0;height:7px;cursor:ns-resize}.tl-handle.top{top:-2px}.tl-handle.bottom{bottom:-2px}.tl-now{position:absolute;left:0;right:0;border-top:1.5px solid #c2635f;z-index:4;pointer-events:none}.tl-now span{position:absolute;left:-46px;top:-8px;font-size:10px;color:#c2635f;background:#fff;padding:0 4px;border-radius:4px}.tl-tip{margin:6px 0 0}.layer-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.layer-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-strong);border-radius:999px;padding:4px 11px;font-size:12px;color:var(--muted);background:#fff}.layer-chip.on{border-color:#c3ddcd;background:var(--brand-soft);color:var(--brand-ink)}.layer-chip input{width:auto}.month-head{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.month-dow{font-size:11px;color:var(--muted);text-align:center}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.month-cell{min-height:82px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:6px 7px;text-align:left;display:flex;flex-direction:column;gap:3px;overflow:hidden}.month-cell:hover{border-color:#c3ddcd}.month-cell.dim{opacity:.42}.month-cell.today{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.month-date{font-size:12px;font-weight:600}.month-dots{display:flex;gap:3px}.dot{width:6px;height:6px;border-radius:50%}.dot.task{background:var(--brand)}.dot.event{background:#a9b8b0}.dot.goal{background:#cfa14a}.month-items{display:flex;flex-direction:column;gap:1px;overflow:hidden}.month-item{font-size:10.5px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.month-item.done{text-decoration:line-through;color:var(--muted)}.month-item.event{color:#6f7f77}.month-more{font-size:10px;color:var(--muted)}.month-done{margin-top:auto;font-size:10px;color:var(--muted)}.week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.week-col{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:8px;min-height:220px;display:flex;flex-direction:column;gap:5px}.week-col.today{border-color:#b7d5c5}.week-col-head{display:flex;align-items:baseline;justify-content:space-between;font-size:11.5px;color:var(--muted)}.week-col-head strong{font-size:15px;color:var(--ink)}.week-item{border:0;background:var(--brand-soft);border-radius:7px;padding:4px 6px;text-align:left;font-size:11px;display:flex;flex-direction:column;gap:0}.week-item.done{opacity:.55;text-decoration:line-through}.week-item-time{font-size:9.5px;color:var(--brand-ink)}.week-item-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-empty{color:var(--line-strong);font-size:11px}.day-events{display:flex;flex-direction:column;gap:5px}.mini-event{display:flex;align-items:center;gap:10px;font-size:12px;border:1px solid var(--line);border-radius:8px;padding:5px 10px}.mini-event.external{background:#f7f9f7}.plans-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:14px;align-items:start}.goal-list{display:flex;flex-direction:column;gap:12px}.goal{border:1px solid var(--line);border-radius:var(--radius-sm);padding:11px 12px;display:flex;flex-direction:column;gap:8px}.goal-head{display:flex;justify-content:space-between;gap:8px}.goal-title{font-weight:600}.goal-actions{display:flex;gap:2px}.kr-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}.kr-list li{display:grid;grid-template-columns:1fr 62px 42px 90px;align-items:center;gap:8px;font-size:12px}.kr-title{color:var(--ink-2)}.kr-input{padding:3px 6px;text-align:right}.kr-edit{display:flex;gap:6px;align-items:center}.kr-edit .kr-input{width:74px}.goal-tasks summary{font-size:12px;color:var(--muted);cursor:pointer}.goal-tasks ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:3px;font-size:12px}.goal-tasks li{display:flex;justify-content:space-between;gap:8px}.goal-tasks .done{text-decoration:line-through;color:var(--muted)}.topic-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.topic-stat{border-radius:8px;padding:6px 9px;display:flex;flex-direction:column;font-size:11px;color:var(--muted);background:var(--panel-2);border:1px solid var(--line)}.topic-stat strong{font-size:15px;color:var(--ink)}.topic-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;max-height:420px;overflow:auto;padding-right:2px}.topic-cell{display:flex;align-items:center;gap:6px;font-size:11.5px;border:1px solid var(--line);border-radius:8px;padding:5px 7px}.topic-index{font-variant-numeric:tabular-nums;color:var(--muted);font-size:10.5px}.topic-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topic-select{width:auto;padding:1px 4px;font-size:10.5px;border-radius:6px}.topic-cell.state-round1{background:#f1f6f3;border-color:#dbe8e0}.topic-cell.state-round2{background:#eef7f1;border-color:#d6e9dd}.topic-cell.state-mastered{background:#e6f3ea;border-color:#c9e3d4}.inbox-modes{display:flex;align-items:center;gap:6px}.inbox-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.inbox-raw{margin:0;padding:9px 12px;border-left:3px solid var(--line-strong);background:var(--panel-2);color:var(--ink-2);font-size:12.5px;border-radius:0 8px 8px 0;white-space:pre-wrap}.candidate-list{display:flex;flex-direction:column;gap:6px}.candidate-head{font-size:12px;color:var(--muted)}.candidate{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 10px}.candidate.accepted{background:var(--ok-soft);border-color:#cfe6da}.candidate-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.candidate-title{font-size:13px;font-weight:550;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.candidate-meta{font-size:11.5px;color:var(--muted)}.candidate-btns{display:flex;gap:4px}.candidate-edit{display:grid;grid-template-columns:1.2fr .8fr .8fr .7fr;gap:6px;margin-top:4px}.ok-mark{color:var(--ok)}.badge{font-size:10.5px;padding:1px 7px;border-radius:999px;background:#eef0f4;color:var(--muted);font-weight:500}.badge.warn{background:var(--warn-soft);color:#8a5606}.badge.fixed{background:#edf2f0;color:#4d6259}.badge.accepted{background:var(--ok-soft);color:var(--ok)}.badge.dismissed{background:#f1f2f5;color:var(--muted)}.badge.week,.badge.month{background:var(--brand-soft);color:var(--brand-ink)}.inbox-foot{display:flex;align-items:center;gap:10px}.inbox-history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}.inbox-history li{display:flex;align-items:center;gap:8px;font-size:12px}.inbox-history-raw{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.warn-line{font-size:12px;color:#8a5606;margin:2px 0}.review-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:14px;align-items:start}.ratio-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.ratio-head{display:flex;justify-content:space-between;font-size:12.5px}.ratio-bars{display:flex;flex-direction:column;gap:3px;margin-top:4px}.ratio-bar{height:6px;border-radius:999px}.ratio-bar.target{background:#e3e7ef}.ratio-bar.actual{background:linear-gradient(90deg,#8cc4a8,#4a8f74)}.rank-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;counter-reset:rank}.rank-list li{display:flex;align-items:center;gap:8px;font-size:12.5px}.rank-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.questions{display:flex;flex-direction:column;gap:10px}.goal-progress-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.goal-progress-head{display:flex;justify-content:space-between;font-size:12.5px;margin-bottom:4px}.review-history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.review-history li{border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 11px}.review-history-head{display:flex;align-items:center;gap:8px;font-size:12.5px}.review-history p{margin:3px 0 0;font-size:12px;color:var(--ink-2)}.course-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.course-list li{display:grid;grid-template-columns:78px 1fr 96px 96px 26px;gap:6px;align-items:center}.data-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.data-actions input{width:180px}.snapshot-list{display:flex;flex-direction:column;gap:4px}.snapshot-row{display:flex;align-items:center;gap:10px;font-size:12px;border-bottom:1px dashed var(--line);padding:5px 0}.snapshot-row>span:first-child{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-stats{list-style:none;margin:8px 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;font-size:12px}.import-stats li{display:flex;justify-content:space-between;border-bottom:1px dashed var(--line);padding:3px 0}.ai-panel{background:var(--panel);border-left:1px solid var(--line);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;min-height:0}.ai-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:18px 16px 10px}.ai-title{font-size:14px;font-weight:650}.ai-sub{font-size:11px;color:var(--muted)}.ai-head-right{display:flex;align-items:center;gap:6px}.provider-select{width:auto;font-size:11.5px;padding:3px 6px;border-radius:7px}.ai-tabs{padding:0 16px 10px}.ai-body{flex:1;min-height:0;overflow-y:auto;padding:0 16px 20px;display:flex;flex-direction:column;gap:9px}.ai-hint{font-size:11.5px;color:var(--muted);margin:0}.ai-textarea{font-size:12.5px}.ai-row{display:flex;align-items:center;gap:8px}.ai-row.wrap{flex-wrap:wrap}.ai-divider{font-size:11px;color:var(--muted);border-top:1px dashed var(--line);padding-top:8px;margin-top:4px}.ai-notes{font-size:12px;color:var(--ink-2);background:var(--panel-2);padding:7px 9px;border-radius:8px}.ai-backdrop{display:none}.ai-fab{display:none;position:fixed;right:18px;bottom:84px;z-index:40;width:50px;height:50px;border-radius:50%;background:linear-gradient(140deg,#7fb79c,#4a8f74);color:#fff;border:0;font-size:12.5px;font-weight:700;letter-spacing:.04em;box-shadow:0 10px 22px -10px #4a8f74a8}.ai-fab.hidden,.mobile-nav{display:none}.toasts{position:fixed;left:50%;bottom:24px;transform:translate(-50%);display:flex;flex-direction:column;gap:6px;z-index:90}.toast{background:#2c3a33;color:#f3f7f4;font-size:12.5px;padding:8px 14px;border-radius:10px;box-shadow:0 12px 28px -14px #1e2a2480}.toast.warn{background:#7a4f08}.toast.err{background:#8d2323}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#18221d52;display:grid;place-items:center;padding:20px;z-index:80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{width:min(560px,100%);max-height:88vh;overflow:auto;background:var(--panel);border-radius:16px;box-shadow:0 26px 56px -26px #1e2a2466;display:flex;flex-direction:column}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 6px}.modal-head h3{font-size:14.5px}.modal-body{padding:8px 16px 14px;display:flex;flex-direction:column;gap:11px}.modal-foot{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--line);background:var(--panel-2)}.editor-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}@media (max-width: 1240px){.shell{grid-template-columns:212px minmax(0,1fr) 320px}.workspace{padding:20px 18px 60px}.today-grid,.plans-grid,.review-grid{grid-template-columns:1fr}}@media (max-width: 1000px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.ai-panel{position:fixed;right:0;top:0;bottom:0;width:min(360px,92vw);z-index:70;transform:translate(102%);transition:transform .22s ease;border-left:1px solid var(--line);box-shadow:-18px 0 40px -30px #0009}.ai-panel.open{transform:translate(0)}.ai-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0c0f1659;z-index:65}.ai-backdrop:has(+.ai-panel.open){display:block}.ai-fab{display:grid;place-items:center}.workspace{padding:18px 16px 96px}.mobile-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fcfdfcf5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}.mobile-nav button{flex:1;border:0;background:transparent;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10.5px;padding:4px 0;border-radius:8px;position:relative}.mobile-nav button.active{color:var(--brand)}.mobile-nav .nav-badge{position:absolute;top:0;right:18%}.row-4{grid-template-columns:1fr 1fr}.stat-row{grid-template-columns:1fr}.month-cell{min-height:64px}.month-items{display:none}.topic-grid{grid-template-columns:1fr;max-height:none}.week-grid{grid-template-columns:repeat(7,minmax(0,1fr));overflow-x:auto}.kr-list li{grid-template-columns:1fr 54px 38px}.kr-list li .progress-wrap{display:none}}@media (max-width: 620px){.page-head h1{font-size:21px}.row-3,.row-2{grid-template-columns:1fr 1fr}.course-list li{grid-template-columns:66px 1fr 26px}.course-list li input[type=time]{display:none}.week-grid{grid-template-columns:repeat(7,110px)}.modal{border-radius:14px}.toasts{bottom:84px}}.icon{display:block;flex:0 0 auto}.btn .icon,.nav-icon,.icon-btn .icon{vertical-align:-2px}.btn{display:inline-flex;align-items:center;gap:6px}.btn.small,.btn.tiny{line-height:1.2}.icon-btn{display:inline-flex;align-items:center;justify-content:center}.side-capture{display:flex;align-items:center;gap:9px;width:100%;padding:9px 12px;border:1px solid #d9e8df;border-radius:12px;background:linear-gradient(180deg,#f4faf6,#eef7f1);color:var(--brand-ink);font-size:13px;font-weight:550;transition:border-color .15s,background .15s}.side-capture:hover{border-color:#bcd9c8;background:#edf7f1}.side-capture-plus{width:20px;height:20px;border-radius:7px;background:#fff;display:grid;place-items:center;border:1px solid #d3e6da}.side-capture kbd{margin-left:auto;font-family:inherit;font-size:10.5px;color:#6c8a7c;background:#fff;border:1px solid #dceade;border-radius:5px;padding:1px 5px}.nav-item{align-items:center}.nav-text{display:flex;flex-direction:column;line-height:1.25;min-width:0}.nav-label{font-size:13px}.nav-hint{font-size:10.5px;color:var(--muted)}.card-heading{display:flex;flex-direction:column;gap:1px;min-width:0}.card-hint{margin:0;font-size:11.5px;color:var(--muted);font-weight:400}.focus-row{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:12px}.now-card{background:linear-gradient(180deg,#f3faf6,#eef7f2);border:1px solid #d9ebe1;border-radius:var(--radius);padding:14px 16px;display:flex;flex-direction:column;gap:7px}.now-head{display:flex;align-items:center;gap:8px}.now-label{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:#4b7d66}.now-time{margin-left:auto;font-size:12px;color:#6f9784;font-variant-numeric:tabular-nums}.now-body{margin:0;font-size:13px;color:var(--ink-2)}.now-body strong{color:var(--brand-ink)}.now-suggest{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #dcece2;border-radius:12px;padding:9px 12px}.now-suggest-label{font-size:10.5px;color:var(--muted)}.now-suggest-title{font-size:14px;font-weight:600}.now-actions{display:flex;gap:6px;margin-left:auto}.exam-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:13px 15px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow)}.exam-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.exam-name{font-size:13.5px;font-weight:600;display:flex;align-items:baseline;gap:7px}.exam-target{font-size:11px;font-weight:400;color:var(--muted)}.exam-count{font-size:12px;color:var(--brand-ink);font-variant-numeric:tabular-nums}.exam-count.urgent{color:#b8712f}.exam-bars{display:flex;flex-direction:column;gap:5px}.exam-bar{display:grid;grid-template-columns:32px 1fr 40px;align-items:center;gap:8px;font-size:11.5px}.exam-bar-track{height:5px;background:#eef2ef;border-radius:999px;overflow:hidden}.exam-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#8cc4a8,#4a8f74)}.mobile-add{flex:0 0 auto!important;width:52px;height:52px;margin:-18px 8px 0;border-radius:50%!important;background:linear-gradient(140deg,#7fb79c,#4a8f74)!important;color:#fff!important;display:grid!important;place-items:center;box-shadow:0 8px 18px -8px #4a8f74b3}.qp-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#18221d4d;display:grid;place-items:center;padding:18px;z-index:85;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.qp{width:min(680px,100%);max-height:88vh;overflow:auto;background:var(--panel);border-radius:18px;box-shadow:0 28px 60px -28px #1e2a246b;display:flex;flex-direction:column}.qp-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px 10px;border-bottom:1px solid var(--line)}.qp-head h3{font-size:15px}.qp-sub{margin:2px 0 0;font-size:11.5px;color:var(--muted)}.qp-steps{display:flex;align-items:center;gap:6px}.qp-dot{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:10.5px;color:var(--muted);background:#f0f4f1;border:1px solid var(--line)}.qp-dot.on{background:var(--brand);border-color:var(--brand);color:#fff}.qp-body{padding:14px 18px 16px;display:flex;flex-direction:column;gap:10px}.qp-modes{display:flex;gap:6px}.qp-textarea{min-height:108px;font-size:13px}.qp-tools{display:flex;gap:6px;flex-wrap:wrap}.qp-progress{font-size:12px;color:var(--brand-ink);background:var(--brand-soft);border-radius:8px;padding:6px 10px}.qp-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:4px}.qp-table{display:flex;flex-direction:column;gap:6px;border-top:1px dashed var(--line);padding-top:10px}.qp-table-head{display:flex;align-items:center;font-size:12px}.qp-course-row{display:grid;grid-template-columns:74px 1fr 92px 92px 26px;gap:6px;align-items:center}.qp-item{border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:5px}.qp-item.on{border-color:#c3ddcd;background:#fbfdfb}.qp-item-top{display:flex;align-items:center;gap:8px}.qp-item-title{border:0;background:transparent;padding:2px 0;font-size:13.5px;font-weight:550}.qp-item-title:focus{box-shadow:none;border-bottom:1px solid #c3ddcd}.qp-item-meta{display:flex;flex-wrap:wrap;gap:5px;font-size:11.5px;color:var(--muted)}.qp-item-why{font-size:11.5px;color:#6c7d74;background:var(--panel-2);border-radius:8px;padding:5px 8px}.qp-split summary{font-size:11.5px;color:var(--brand-ink);cursor:pointer}.qp-split-list{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.diff{font-size:10.5px;padding:1px 8px;border-radius:999px;margin-left:auto;border:1px solid transparent}.diff-light{background:#eef7f1;color:#4a7d64;border-color:#d8ebdf}.diff-medium{background:#fbf4e6;color:#8a6320;border-color:#f0e3cb}.diff-heavy{background:#fdf0ec;color:#a35f43;border-color:#f3ddd3}.qp-prefer{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.qp-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.qp-slot{border:1px solid var(--line);background:#fff;border-radius:12px;padding:9px 11px;display:flex;flex-direction:column;gap:1px;text-align:left}.qp-slot:hover{border-color:#c3ddcd}.qp-slot.on{border-color:var(--brand);background:var(--brand-soft)}.qp-slot-day{font-size:10.5px;color:var(--brand-ink)}.qp-slot strong{font-size:13.5px;font-variant-numeric:tabular-nums}.qp-summary{display:flex;flex-direction:column;gap:4px;border-top:1px dashed var(--line);padding-top:8px}.qp-summary-row{display:flex;justify-content:space-between;gap:10px;font-size:12.5px}.qp-summary-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 1240px){.focus-row{grid-template-columns:1fr}}@media (max-width: 1000px){.qp{width:100%;max-height:92vh;border-radius:16px}.qp-course-row{grid-template-columns:64px 1fr 26px}.qp-course-row input[type=time]{display:none}.mobile-nav{align-items:flex-end}.mobile-nav button{padding-bottom:6px}}@media (max-width: 620px){.qp-mask{padding:0;align-items:end}.qp{max-height:94vh;border-radius:18px 18px 0 0}.qp-slots{grid-template-columns:1fr 1fr}.focus-row{grid-template-columns:1fr}.now-suggest{flex-direction:column;align-items:flex-start;gap:8px}.now-actions{margin-left:0}}.banner.setup{background:#f2f8f4;border:1px solid #dbeadf;color:#4a6f5c;align-items:center}*{-webkit-tap-highlight-color:transparent}html,body{-webkit-text-size-adjust:100%}@supports (height: 100dvh){.sidebar,.ai-panel{height:100dvh}.modal,.qp{max-height:92dvh}}@media (max-width: 1000px){body{font-size:15px}.workspace{padding:calc(14px + env(safe-area-inset-top)) 14px calc(92px + env(safe-area-inset-bottom))}.btn{min-height:38px}.btn.small{min-height:34px;padding:6px 12px}.btn.tiny{min-height:30px;padding:5px 10px}.icon-btn{width:34px;height:34px}.icon-btn .icon{width:17px;height:17px}.check-dot{width:24px;height:24px}.task-item{padding:9px 2px}.task-title{font-size:14.5px}.task-meta{font-size:12px}.segmented button,.chip{padding:7px 13px;font-size:13px}input,select,textarea,.qp-textarea{font-size:16px}.mobile-nav button{min-height:46px}.mobile-nav{padding-bottom:calc(6px + env(safe-area-inset-bottom))}.row-3{grid-template-columns:1fr 1fr}.course-list li{grid-template-columns:72px 1fr 34px;row-gap:6px}.course-list li input[type=time]{display:block}.course-list li input[type=time]:nth-of-type(1){grid-column:1 / 2}.course-list li input[type=time]:nth-of-type(2){grid-column:2 / 3}.tl-gutter{width:42px;flex-basis:42px}.tl-block{font-size:11px;padding:3px 6px}.tl-block-time{font-size:10px}.month-cell{min-height:62px;padding:5px 6px}.month-dow{font-size:10px}.data-actions input{width:100%}.snapshot-row{flex-wrap:wrap}.modal{width:100%;max-height:92dvh}.qp-head{padding:14px 14px 9px}.qp-body{padding:12px 14px 14px}.ai-fab{bottom:calc(88px + env(safe-area-inset-bottom));right:14px}.toasts{bottom:calc(94px + env(safe-area-inset-bottom));left:14px;right:14px;transform:none}.toast{width:100%}}@media (max-width: 620px){.modal-mask{padding:0;align-items:flex-end}.modal{border-radius:18px 18px 0 0;max-height:92dvh;padding-bottom:env(safe-area-inset-bottom)}.modal-foot{position:sticky;bottom:0}.page{gap:12px}.page-head h1{font-size:20px}.page-actions{width:100%;justify-content:flex-start}.row-2,.row-3,.row-4{grid-template-columns:1fr}.stat-value{font-size:17px}.focus-row{grid-template-columns:1fr}.qp-slots{grid-template-columns:1fr 1fr}.course-list li{grid-template-columns:72px 1fr 30px}.kr-list li{grid-template-columns:1fr auto;row-gap:4px}.kr-edit .kr-input{width:64px}.month-grid{gap:4px}.month-cell{min-height:52px}.top3 li{padding:7px 9px}.quick-add input{min-width:0}}@media (max-height: 520px) and (orientation: landscape){.sidebar{display:none}.shell{grid-template-columns:minmax(0,1fr) 300px}.ai-panel{position:sticky;height:100dvh}.mobile-nav{display:none}.workspace{padding-bottom:24px}}.dictation-live{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--brand-ink);background:var(--brand-soft);border-radius:8px;padding:6px 10px}.dictation-dot{width:7px;height:7px;border-radius:50%;background:#d1735c;animation:dictation-pulse 1.2s ease-in-out infinite}@keyframes dictation-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.78)}}.dictation-error{font-size:11.5px;line-height:1.55;color:#8a5a2a;background:#fbf4e6;border:1px solid #f0e3cb;border-radius:8px;padding:7px 10px}.btn.recording{border-color:#e0b9a8;background:#fdf2ed;color:#a35f43}.btn:disabled{opacity:.5}.speech-diag{display:flex;flex-direction:column;gap:8px}.diag-line{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--ink-2);border-left:2px solid var(--line-strong);padding:2px 0 2px 10px}.diag-line strong{font-size:12px;color:var(--ink)}.diag-line.ok{border-left-color:#9cc9b3}.diag-line.warn{border-left-color:#e0b9a8}.risk-card{background:#fdf6ef;border:1px solid #f0e0cf;border-radius:var(--radius);padding:12px 14px;display:flex;flex-direction:column;gap:6px}.risk-head{display:flex;align-items:center;gap:7px;font-size:12.5px;color:#8a6320}.risk-line{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"tag title" "tag detail";gap:2px 9px;border:0;background:#fff;border-radius:10px;padding:8px 11px;text-align:left;align-items:center;border:1px solid #f2e5d6}.risk-line.high{border-color:#eed3c4;background:#fffaf7}.risk-line:hover{border-color:#e3c9b4}.risk-tag{grid-area:tag;align-self:center;font-size:10.5px;padding:2px 8px;border-radius:999px;background:#f4e7d8;color:#8a6320}.risk-tag.high{background:#fbe4d8;color:#a34f2e}.risk-tag.medium{background:#fbf1dc;color:#8a6320}.risk-title{grid-area:title;font-size:13px;font-weight:550}.risk-detail{grid-area:detail;font-size:11.5px;color:var(--muted)}.habit-strip{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:11px 14px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow)}.habit-strip-head{display:flex;align-items:center;gap:7px;font-size:12.5px}.habit-items{display:flex;gap:8px;flex-wrap:wrap}.habit-item{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:6px 13px 6px 9px;background:#fff;font-size:12.5px}.habit-item:hover{border-color:#c3ddcd}.habit-item.done{background:var(--brand-soft);border-color:#cfe6d9;color:var(--brand-ink)}.habit-item.paused{opacity:.55}.habit-dot{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--line-strong);display:grid;place-items:center}.habit-item.done .habit-dot{background:var(--brand);border-color:var(--brand);color:#fff}.habit-name{font-weight:500}.habit-streak{font-size:11px;color:var(--muted)}.habit-list{display:flex;flex-direction:column;gap:10px}.habit-row{border:1px solid var(--line);border-radius:12px;padding:9px 11px;display:flex;flex-direction:column;gap:4px}.habit-row.paused{opacity:.6}.habit-row-head{display:flex;align-items:center;gap:8px}.habit-row-head strong{font-size:13px}.habit-row-head .habit-streak{margin-left:auto}.habit-days{display:flex;gap:3px;margin-top:3px}.habit-day{width:12px;height:12px;border-radius:3px;background:#eef2ef}.habit-day.done{background:#4a8f74}.habit-day.open{background:#d9e8df}.habit-day.none{background:#f2f5f2}.habit-new{display:grid;grid-template-columns:1.4fr 90px 60px 70px 100px auto;gap:6px;align-items:center;border-top:1px dashed var(--line);padding-top:10px}.search-hits{display:flex;flex-direction:column;gap:4px}.search-hits-head{font-size:11.5px;color:var(--muted)}.search-hit{display:flex;flex-direction:column;gap:1px;text-align:left;border:1px solid var(--line);border-radius:9px;padding:7px 10px;background:#fff}.search-hit:hover{border-color:#c3ddcd;background:var(--panel-2)}.search-hit-title{font-size:13px}.search-hit-meta{font-size:11px;color:var(--muted)}.toast{display:flex;align-items:center;gap:12px}.toast-action{border:1px solid rgba(255,255,255,.28);background:transparent;color:#fff;border-radius:7px;padding:3px 10px;font-size:12px;white-space:nowrap}.toast-action:hover{background:#ffffff24}@media (max-width: 620px){.habit-new{grid-template-columns:1fr 1fr}.habit-new input:first-child{grid-column:1 / -1}.risk-line{grid-template-areas:"tag" "title" "detail";grid-template-columns:auto}}.learning-tabs{display:flex}.search-input{width:200px;font-size:12.5px}.word-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.word-item{display:flex;align-items:flex-start;gap:10px;padding:9px 6px;border-radius:10px;border-bottom:1px solid var(--line)}.word-item:hover{background:var(--panel-2)}.word-main{flex:1;min-width:0;cursor:pointer;display:flex;flex-direction:column;gap:2px}.word-term{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:14px;font-weight:600}.word-pos{font-size:10.5px;font-weight:400;color:var(--muted);background:var(--panel-2);border-radius:5px;padding:0 5px}.word-ipa{font-size:11.5px;font-weight:400;color:var(--muted);font-family:ui-monospace,monospace}.word-state{font-size:10px;font-weight:400;padding:1px 7px;border-radius:999px;background:#eef2ef;color:var(--muted)}.word-state.mastered{background:var(--ok-soft);color:var(--brand-ink)}.word-state.learning{background:var(--warn-soft);color:#8a6320}.word-meaning{font-size:12.5px;color:var(--ink-2)}.word-colloc{font-size:11.5px;color:var(--muted)}.word-meta{display:flex;align-items:center;gap:4px;flex:0 0 auto}.quiz{display:flex;flex-direction:column;gap:12px}.quiz-prompt{font-size:20px;line-height:1.5;font-weight:550;letter-spacing:-.01em;padding:14px 16px;background:var(--panel-2);border-radius:12px;border:1px solid var(--line);word-break:break-word}.quiz-hint{font-size:12px;color:var(--muted)}.quiz-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quiz-option{border:1px solid var(--line-strong);background:#fff;border-radius:10px;padding:11px 13px;font-size:13.5px;text-align:left}.quiz-option:hover:not(:disabled){border-color:#c3ddcd;background:var(--panel-2)}.quiz-option.right{border-color:#9cc9b3;background:var(--ok-soft);color:var(--brand-ink)}.quiz-option.wrong{border-color:#e6bcb0;background:#fdf1ec;color:#a35f43}.quiz-result{border-radius:12px;padding:11px 13px;display:flex;flex-direction:column;gap:5px}.quiz-result.ok{background:var(--ok-soft);border:1px solid #cfe6da}.quiz-result.bad{background:#fdf1ec;border:1px solid #f0d9d1}.quiz-answer{font-size:13.5px;font-weight:600}.quiz-example{font-size:12.5px;color:var(--ink-2);font-style:italic;border-left:2px solid var(--line-strong);padding-left:9px}.quiz-grades{display:flex;gap:6px;margin-top:5px;flex-wrap:wrap}.review-done{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 0}.review-done-num{font-size:26px;font-weight:650;color:var(--brand-ink)}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.compare-group{border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.compare-head{font-size:13.5px;font-weight:600}.compare-table{width:100%;border-collapse:collapse;font-size:12px}.compare-table td{padding:4px 6px;border-top:1px dashed var(--line);vertical-align:top}.compare-term{font-weight:600;white-space:nowrap}.import-preview{display:flex;flex-direction:column;gap:3px;border-top:1px dashed var(--line);padding-top:8px}.import-row{display:flex;gap:8px;font-size:12.5px}@media (max-width: 1000px){.compare-grid,.quiz-options{grid-template-columns:1fr}.search-input{width:100%}}@media (max-width: 620px){.quiz-prompt{font-size:17px;padding:11px 13px}}:root{--bg: #f4f9f6;--panel: #ffffff;--panel-2: #f7fbf8;--ink: #223029;--ink-2: #46584f;--muted: #7f918a;--line: #e9f1ec;--line-strong: #d8e6dd;--brand: #4a9d7c;--brand-ink: #2f7359;--brand-soft: #eaf7f0;--ok: #3f8f6f;--ok-soft: #eaf7f0;--warn: #b98a3c;--warn-soft: #fdf6e9;--danger: #c26b64;--danger-soft: #fdf0ef;--sidebar: #fbfdfb;--sidebar-ink: #2b3a33;--sidebar-muted: #7f918a;--radius: 18px;--radius-sm: 12px;--shadow: 0 1px 2px rgba(34, 48, 41, .025), 0 16px 36px -30px rgba(34, 48, 41, .28)}body{background-color:var(--bg);background-image:radial-gradient(1100px 520px at 12% -8%,#e9f7ef,#e9f7ef00 62%),radial-gradient(900px 460px at 92% 4%,#eef8f6,#eef8f600 58%);background-attachment:fixed}.card{border-color:#edf5ef}.stat,.habit-strip,.exam-card{background:linear-gradient(180deg,#fff,#fbfefc);border-color:#edf5ef}.btn.primary{background:linear-gradient(180deg,#5fbb95,#4a9d7c);border-color:#46a07c;box-shadow:0 2px 10px -5px #4a9d7cbf}.btn.primary:hover{background:linear-gradient(180deg,#56b18b,#419474)}.btn{border-color:var(--line-strong);background:#fff}.btn.ghost{background:transparent}.btn.ghost:hover{background:#4a9d7c12}.segmented{background:#eef6f1}.segmented button.active{background:#fff;color:var(--brand-ink)}input,select,textarea{border-color:var(--line-strong);background:#fff}input:focus,select:focus,textarea:focus{border-color:#9dd4ba;box-shadow:0 0 0 4px #4a9d7c1a}.chip{border-color:var(--line-strong);background:#fff}.chip.on{background:var(--brand-soft);border-color:#c6e6d5;color:var(--brand-ink)}.nav-item.active{background:#eaf7f0;color:var(--brand-ink)}.nav-item:hover{background:#4a9d7c0f}.toast{background:#fff;color:var(--ink);border:1px solid var(--line-strong);box-shadow:0 12px 30px -18px #22302973}.toast.warn{background:var(--warn-soft);color:#8a6320;border-color:#f2e5cc}.toast.err{background:var(--danger-soft);color:#a35f43;border-color:#f0d9d1}.toast-action{border-color:#c6e6d5;color:var(--brand-ink)}.toast-action:hover{background:var(--brand-soft)}.risk-card{background:linear-gradient(180deg,#fdf8f1,#fdfaf5);border-color:#f2e6d5}.quick-add input{background:#fff}.knowledge-page{max-width:1100px}.kb-layout{display:grid;grid-template-columns:268px minmax(0,1fr);gap:14px;align-items:start}.kb-side{background:var(--panel);border:1px solid #edf5ef;border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;gap:9px;position:sticky;top:16px;max-height:calc(100dvh - 40px);overflow:auto;box-shadow:var(--shadow)}.kb-search{font-size:12.5px}.kb-hits{display:flex;flex-direction:column;gap:3px}.kb-hit{display:flex;flex-direction:column;gap:1px;text-align:left;border:1px solid var(--line);border-radius:10px;padding:6px 9px;background:#fff;font-size:12.5px}.kb-hit:hover{border-color:#c6e6d5;background:var(--panel-2)}.kb-tree{display:flex;flex-direction:column;gap:1px}.kb-empty-tip{padding:8px 4px;line-height:1.6}.kb-tree-item{display:flex;flex-direction:column}.kb-tree-row{display:flex;align-items:center;gap:2px;border-radius:9px;padding:3px 6px 3px 0}.kb-tree-row:hover{background:var(--panel-2)}.kb-tree-row.on{background:var(--brand-soft)}.kb-caret{border:0;background:transparent;color:var(--muted);width:16px;height:18px;font-size:10px;line-height:1;display:grid;place-items:center;flex:0 0 16px}.kb-caret.hidden{visibility:hidden}.kb-tree-label{border:0;background:transparent;text-align:left;display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-2);flex:1;min-width:0;padding:2px 0}.kb-tree-row.on .kb-tree-label{color:var(--brand-ink);font-weight:550}.kb-tree-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kb-dot{width:6px;height:6px;border-radius:50%;flex:0 0 6px;background:#cfe3d8}.kb-dot.domain{background:#4a9d7c}.kb-dot.topic{background:#8cc8ab}.kb-dot.note{background:#dcc08a}.kb-ok{color:var(--brand);font-size:11px}.kb-missing{display:flex;flex-wrap:wrap;gap:4px;border-top:1px dashed var(--line);padding-top:8px}.kb-missing .chip{font-size:11px;padding:3px 9px}.kb-main{min-width:0}.kb-detail{display:flex;flex-direction:column;gap:14px}.kb-crumb{display:flex;align-items:center;flex-wrap:wrap;gap:2px;font-size:11.5px}.kb-crumb-item{border:0;background:transparent;color:var(--muted);padding:0;font-size:11.5px}.kb-crumb-item:hover{color:var(--brand-ink);text-decoration:underline}.kb-summary{margin:0;font-size:13.5px;color:var(--ink-2);background:var(--brand-soft);border-radius:10px;padding:9px 12px}.kb-content{font-size:13.5px;line-height:1.75;color:var(--ink-2)}.kb-content h3,.kb-content h4,.kb-content h5{font-size:14px;margin:14px 0 6px;color:var(--ink);border-left:3px solid #bfe3d1;padding-left:9px}.kb-content p{margin:0 0 8px}.kb-content ul{margin:0 0 10px;padding-left:20px}.kb-content li{margin-bottom:3px}.kb-content code{background:var(--panel-2);border:1px solid var(--line);border-radius:5px;padding:1px 5px;font-size:12px}.kb-content .wikilink{color:var(--brand-ink);cursor:pointer;border-bottom:1px dashed rgba(74,157,124,.5)}.kb-content .wikilink:hover{background:var(--brand-soft)}.kb-links{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.kb-graph{border:1px solid var(--line);border-radius:14px;background:radial-gradient(circle at 50% 40%,#fff,#f7fbf8);overflow:hidden}.wd-head{display:flex;flex-direction:column;gap:3px;border-bottom:1px solid var(--line);padding-bottom:9px}.wd-term{font-size:22px;font-weight:650;letter-spacing:-.01em;color:var(--ink)}.wd-sub{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.wd-block{display:flex;flex-direction:column;gap:5px}.wd-label{font-size:11px;color:var(--brand-ink);letter-spacing:.02em;text-transform:uppercase}.wd-sense{display:grid;grid-template-columns:22px 1fr;gap:8px;border:1px solid var(--line);border-radius:10px;padding:8px 10px}.wd-sense-idx{width:20px;height:20px;border-radius:50%;background:var(--brand-soft);color:var(--brand-ink);font-size:11px;display:grid;place-items:center}.wd-example{font-size:12.5px;color:var(--ink-2);font-style:italic;border-left:2px solid #cfe6d9;padding-left:9px;margin:2px 0}.wd-list{margin:0;padding-left:18px;font-size:13px;color:var(--ink-2)}.wd-rel{display:flex;gap:8px;font-size:13px;align-items:baseline}.wd-stats{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--ink-2)}.wd-stats span{background:var(--panel-2);border-radius:7px;padding:3px 9px}@media (max-width: 1000px){.kb-layout{grid-template-columns:1fr}.kb-side{position:static;max-height:none}}.kb-rel-list{display:flex;flex-direction:column;gap:4px}.kb-rel-row{display:flex;align-items:center;gap:8px;font-size:12.5px;flex-wrap:wrap}.kb-rel-type{font-size:10.5px;padding:1px 8px;border-radius:999px;background:var(--brand-soft);color:var(--brand-ink)}.kb-rel-add{display:grid;grid-template-columns:90px 1fr 1fr auto;gap:6px;align-items:center}@media (max-width: 620px){.kb-rel-add{grid-template-columns:1fr 1fr}}.word-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.word-toolbar select{width:auto;font-size:12px;padding:4px 8px}.wd-context{border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:var(--panel-2);display:flex;flex-direction:column;gap:2px}.wd-context-sentence{font-size:13px;color:var(--ink-2);line-height:1.6}.qb-preview{max-height:220px;overflow:auto;font-size:12.5px;color:var(--ink-2)}.qb-preview h3,.qb-preview h4,.qb-preview h5{font-size:13px;margin:8px 0 4px}.qb-preview ul{padding-left:18px;margin:4px 0}.qb-preview p{margin:0 0 6px}.qb-preview .wikilink{color:var(--brand-ink);border-bottom:1px dashed rgba(74,157,124,.5)}@media (max-width: 620px){.word-toolbar{width:100%}.word-toolbar .search-input{flex:1}}.nav{overflow-y:auto;overflow-x:hidden}.nav::-webkit-scrollbar{width:4px}.nav::-webkit-scrollbar-thumb{background:#dbe9e0;border-radius:4px}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.media-card{background:var(--panel);border:1px solid #edf5ef;border-radius:var(--radius);padding:13px 14px;display:flex;flex-direction:column;gap:7px;box-shadow:var(--shadow)}.media-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.media-title{font-size:14px;font-weight:600}.media-synopsis{margin:0;font-size:12.5px;color:var(--ink-2);line-height:1.6}.media-meta{display:flex;gap:10px;font-size:11.5px;color:var(--muted)}.media-actions{display:flex;align-items:center;gap:5px}.badge.todo{background:#eef2ef;color:var(--muted)}.badge.watching,.badge.reading{background:var(--warn-soft);color:#8a6320}.badge.done{background:var(--brand-soft);color:var(--brand-ink)}.badge.unread{background:#eef2ef;color:var(--muted)}.badge.rewatch{background:#eef6f1;color:var(--brand-ink)}.sp-player{border-radius:12px;overflow:hidden;background:#f4f9f6;border:1px solid var(--line)}.sp-video{width:100%;max-height:300px;background:#000;display:block}.sp-video.placeholder{height:0}.sp-video-empty{padding:14px;display:flex;flex-direction:column;align-items:center;gap:8px}.sp-controls{display:flex;align-items:center;gap:8px}.sp-cue{background:var(--brand-soft);border:1px solid #cfe6d9;border-radius:12px;padding:10px 13px;display:flex;flex-direction:column;gap:4px}.sp-cue-text{font-size:16px;line-height:1.75}.sp-word{border:0;background:transparent;padding:0 1px;font:inherit;color:var(--ink);border-bottom:1px dashed transparent;border-radius:3px}.sp-word:hover{background:#fff;border-bottom-color:#9dd4ba}.sp-word.on{background:#fff;color:var(--brand-ink);border-bottom-color:var(--brand)}.sp-cue-meta{font-size:11px;color:var(--muted)}.sp-pick{display:flex;align-items:center;gap:10px;border:1px solid #cfe6d9;background:#fff;border-radius:12px;padding:9px 12px}.sp-pick-word{font-size:15px;font-weight:600;color:var(--brand-ink)}.sp-suggest{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.sp-list{max-height:240px;overflow:auto;display:flex;flex-direction:column;gap:2px}.sp-line{display:grid;grid-template-columns:46px 1fr;gap:8px;border:0;background:transparent;text-align:left;padding:5px 7px;border-radius:8px;font-size:12.5px;color:var(--ink-2)}.sp-line:hover{background:var(--panel-2)}.sp-line.on{background:var(--brand-soft);color:var(--brand-ink)}.sp-line-time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.sp-line-text{overflow:hidden;text-overflow:ellipsis}.fs-panel{display:flex;flex-direction:column;gap:8px}.fs-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}@media (max-width: 620px){.media-grid{grid-template-columns:1fr}.sp-cue-text{font-size:15px}}.task-board{display:flex;flex-direction:column;gap:8px}.task-card{background:var(--panel);border:1px solid #edf5ef;border-radius:14px;padding:11px 13px;display:flex;flex-direction:column;gap:6px;border-left:3px solid #d9ece2;box-shadow:0 1px 2px #22302905}.task-card.p1{border-left-color:#d59b74}.task-card.p3{border-left-color:#b9d4c5}.task-card.done{opacity:.62}.task-card.done .task-card-title{text-decoration:line-through;color:var(--muted)}.task-card-head{display:flex;align-items:center;gap:8px}.task-card-title{border:0;background:transparent;text-align:left;padding:0;font-size:14px;font-weight:550;color:var(--ink);flex:1;min-width:0}.task-card-title:hover{color:var(--brand-ink)}.task-card-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:11.5px;color:var(--muted)}.task-card-note{margin:0;font-size:12px;color:var(--ink-2)}.task-card-actions{display:flex;align-items:center;gap:5px}.defer-menu{display:flex;align-items:center;flex-wrap:wrap;gap:5px;background:var(--panel-2);border:1px dashed var(--line-strong);border-radius:10px;padding:7px 9px;margin-top:2px}.defer-date input{width:140px;font-size:12px;padding:3px 7px}.cal-list{display:flex;flex-direction:column;gap:2px}.cal-list-day{display:grid;grid-template-columns:82px 1fr;gap:10px;padding:7px 4px;border-bottom:1px dashed var(--line)}.cal-list-day.empty{opacity:.55}.cal-list-date{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:5px;padding-top:2px}.cal-list-items{display:flex;flex-direction:column;gap:3px}.cal-list-item{display:flex;align-items:center;gap:9px;border:0;background:var(--brand-soft);border-radius:8px;padding:5px 9px;font-size:12.5px;text-align:left;color:var(--ink-2)}.cal-list-item.event{background:#f2f6f4;color:#5b6b62}.cal-list-item.done{opacity:.6;text-decoration:line-through}.cal-list-time{font-size:11px;color:var(--brand-ink);min-width:38px;font-variant-numeric:tabular-nums}@media (max-width: 620px){.cal-list-day{grid-template-columns:62px 1fr}}.ai-direct{display:flex;flex-direction:column;gap:10px}.ai-warn{background:var(--warn-soft);border:1px solid #f0e3cb;border-radius:10px;padding:9px 12px;font-size:11.5px;color:#8a6320;line-height:1.7}.ai-warn strong{display:block;margin-bottom:4px}.ai-warn ul{margin:0;padding-left:17px}.ai-warn li{margin-bottom:2px}.ai-stream{display:flex;flex-direction:column;gap:4px;background:var(--brand-soft);border-radius:8px;padding:7px 10px;font-size:11.5px;color:var(--brand-ink)}.ai-stream-text{margin:0;max-height:90px;overflow:auto;font-family:ui-monospace,monospace;font-size:10.5px;color:var(--ink-2);white-space:pre-wrap;word-break:break-all}.coach-plan{display:flex;flex-direction:column;gap:6px}.coach-item{display:flex;align-items:flex-start;gap:9px;border:1px solid var(--line);border-radius:11px;padding:9px 11px;background:#fff}.coach-item.skipped{opacity:.45}.coach-item input[type=checkbox]{width:auto;margin-top:3px}.coach-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.coach-title{font-size:13.5px;font-weight:550}.coach-reason{font-size:11.5px;color:var(--ink-2)}.coach-time{font-size:12px;color:var(--brand-ink);font-variant-numeric:tabular-nums;background:var(--brand-soft);border-radius:7px;padding:2px 8px}.fs-steps{margin:0;padding-left:18px;font-size:12.5px;color:var(--ink-2);line-height:1.85}.fs-steps code{background:var(--panel-2);border:1px solid var(--line);border-radius:5px;padding:1px 5px;font-size:11.5px}.sync-badge{font-size:11px;padding:2px 9px;border-radius:999px;white-space:nowrap}.sync-ok{background:var(--brand-soft);color:var(--brand-ink)}.sync-local{background:var(--warn-soft);color:#8a6320}.sync-wait{background:#eef2ef;color:var(--muted)}.boot-error{max-width:420px;text-align:center;color:#a35f43;background:#fdf1ec;border:1px solid #f0d9d1;border-radius:10px;padding:10px 14px;line-height:1.6}.boot-actions{display:flex;gap:8px;margin-top:4px}.sub-nav{list-style:none;margin:4px 0 2px;padding:0 0 0 8px;display:flex;flex-direction:column;gap:1px;border-left:2px solid #e4efe8}.sub-nav-item{border:0;background:transparent;text-align:left;font-size:12.5px;color:var(--muted);padding:5px 10px;border-radius:8px;width:100%}.sub-nav-item:hover{background:#4a9d7c12;color:var(--ink)}.sub-nav-item.on{background:var(--brand-soft);color:var(--brand-ink);font-weight:550}.top-tabs{display:none}@media (max-width: 1000px){.top-tabs{display:flex;gap:4px;overflow-x:auto;padding-bottom:8px;margin-bottom:4px;border-bottom:1px solid var(--line);-webkit-overflow-scrolling:touch}.top-tabs::-webkit-scrollbar{display:none}.top-tab{border:0;background:transparent;white-space:nowrap;font-size:13px;color:var(--muted);padding:6px 12px;border-radius:999px;position:relative}.top-tab.on{background:var(--brand-soft);color:var(--brand-ink);font-weight:550}.tab-dot{position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:50%;background:var(--brand)}}.word-hit{font-size:10px;padding:1px 7px;border-radius:999px;background:var(--warn-soft);color:#8a6320}.draft-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.draft-item{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:11px;padding:9px 11px;background:#fff}.draft-item:hover{border-color:#cfe6d9}.draft-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.import-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:14px;align-items:start}.drop-zone{border:1.5px dashed #cfe6d9;border-radius:14px;background:linear-gradient(180deg,#fbfefc,#f5fbf7);padding:22px 16px;text-align:center;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--ink-2);font-size:13px;transition:border-color .15s,background .15s}.drop-zone:hover,.drop-zone.on{border-color:var(--brand);background:var(--brand-soft)}.import-files{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.mapping{border-top:1px dashed var(--line);padding-top:9px;display:flex;flex-direction:column;gap:6px}.mapping-head{font-size:12px;color:var(--brand-ink)}.mapping-rows{display:flex;flex-direction:column;gap:5px}.mapping-row{display:grid;grid-template-columns:110px 150px 1fr;gap:8px;align-items:center;font-size:12px}.mapping-src{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mapping-row select{font-size:12px;padding:4px 6px}.import-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.import-stat{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:7px 9px;display:flex;flex-direction:column;align-items:center}.import-stat strong{font-size:17px;color:var(--brand-ink)}.import-stat span{font-size:10.5px;color:var(--muted)}.import-stat.warn strong{color:#b8862f}.import-preview-list{display:flex;flex-direction:column;gap:3px;max-height:240px;overflow:auto}.import-row{display:flex;gap:8px;font-size:12.5px;align-items:baseline;flex-wrap:wrap;padding:3px 0;border-bottom:1px dashed var(--line)}.import-example{font-size:11px;color:var(--muted);font-style:italic}@media (max-width: 1000px){.import-grid{grid-template-columns:1fr}.import-stats-row{grid-template-columns:1fr 1fr}.mapping-row{grid-template-columns:1fr;gap:3px}}.doc-info{display:flex;flex-direction:column;gap:2px;background:var(--brand-soft);border-radius:9px;padding:7px 10px}.ocr-prompt{display:flex;flex-direction:column;gap:8px;background:var(--warn-soft);border:1px solid #f0e3cb;border-radius:11px;padding:10px 12px;font-size:12.5px;color:#8a6320}.ocr-table-wrap{display:flex;flex-direction:column;gap:8px;border:1px solid #cfe6d9;border-radius:12px;padding:10px 12px;background:#fbfefc}.ocr-table-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ocr-table-scroll{max-height:320px;overflow:auto;border:1px solid var(--line);border-radius:8px}.ocr-table{border-collapse:collapse;width:100%;font-size:12px}.ocr-table td{border:1px solid var(--line);padding:4px 7px;min-width:52px;white-space:nowrap;color:var(--ink-2)}.ocr-table td:focus{outline:2px solid #9dd4ba;background:#fff}.ocr-table tr:nth-child(odd) td{background:#fbfdfb}.semester-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px;padding:10px 0 12px;border-bottom:1px dashed var(--line);margin-bottom:10px}.semester-row label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--ink-3)}.semester-row input{font-size:13px}.crash-wrap{max-width:680px;margin:0 auto;padding:28px 20px 60px}.crash-wrap h2{font-size:17px;margin:0 0 6px;color:var(--ink)}.crash-msg{background:#fdf1ec;border:1px solid #f0d9d1;border-radius:10px;padding:12px;font-size:12.5px;color:#a35f43;white-space:pre-wrap;word-break:break-word;margin:12px 0}.crash-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 18px}.crash-detail{margin-top:10px;font-size:12px;color:var(--ink-3)}.crash-detail summary{cursor:pointer;padding:6px 0}.crash-detail pre{background:#f6f9f6;border:1px solid var(--line);border-radius:8px;padding:10px;font-size:11px;overflow:auto;max-height:240px;white-space:pre-wrap;word-break:break-word}.qp-time-given{color:#2f7d5d;font-weight:500}.exam-empty{padding:10px 0 4px}.exam-empty p{margin:0 0 6px;font-size:13px}.exam-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;padding:10px 0;border-bottom:1px dashed var(--line);margin-bottom:10px}.exam-fact{display:flex;flex-direction:column;gap:2px}.exam-fact-k{font-size:11px;color:var(--ink-3)}.exam-fact-v{font-size:15px;font-weight:600;color:var(--ink)}.thes-group{display:flex;gap:8px;align-items:flex-start;margin:8px 0}.thes-tag{flex:0 0 auto;font-size:11px;color:#2f7d5d;background:#eef7f1;border-radius:5px;padding:2px 6px;margin-top:2px}.thes-tag.thes-ant{color:#a35f43;background:#fdf1ec}.thes-words{display:flex;flex-wrap:wrap;gap:5px}.thes-chip{font-size:12px}.thes-chip.ant{color:#a35f43;border-color:#f0d9d1;background:#fffaf8}.en-sense{margin:8px 0}.en-def{font-size:13px;color:var(--ink);line-height:1.6}.en-idx{display:inline-block;min-width:16px;color:var(--ink-3);font-size:12px;margin-right:4px}.en-sub{margin:4px 0 0 16px;padding:0;font-size:12px;color:var(--ink-2)}.en-sub li{list-style:"▪ ";margin:2px 0}.en-ex{margin:4px 0 0 16px;font-size:12px;color:#5b7a6f;font-style:italic}.skill-rows{display:flex;flex-direction:column;gap:6px;margin:8px 0}.skill-row{display:flex;align-items:center;gap:10px}.skill-name{flex:0 0 68px;font-size:12px;color:var(--ink-2)}.skill-track{display:flex;gap:4px}.skill-pip{width:18px;height:7px;border-radius:3px;background:#e6ede8;display:block}.skill-pip.on{background:#4a9d7c}.learn-home{display:flex;flex-direction:column;gap:14px;padding-top:4px}.lh-tasks{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:10px;margin:6px 0 14px}.lh-task{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 8px;border-radius:12px;background:#f7faf8;border:1px solid var(--line)}.lh-task.on{background:#eef7f1;border-color:#cfe6d9}.lh-num{font-size:22px;font-weight:600;color:var(--ink);line-height:1}.lh-task.on .lh-num{color:#2f7d5d}.lh-label{font-size:11px;color:var(--ink-3)}.learn-home-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.lh-weak{display:flex;flex-wrap:wrap;gap:8px}.lh-weak-item{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:9px;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:13px}.lh-weak-item:hover{border-color:#9dd4ba;background:#f7fbf8}.lh-weak-term{font-weight:500;color:var(--ink)}.lh-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:10px;margin:4px 0 8px}.lh-facts>div{display:flex;flex-direction:column;align-items:center;gap:2px}.lh-fact-n{font-size:20px;font-weight:600;color:var(--ink)}.learn-review-switch{padding:6px 0 12px}.quiz-dims{display:flex;gap:6px;margin-bottom:10px;flex-wrap:wrap}.quiz-dim{font-size:11px;padding:2px 7px;border-radius:6px;background:#f2f6f3;color:#9aaba3;border:1px solid transparent}.quiz-dim.on{background:#eef7f1;color:#2f7d5d;border-color:#cfe6d9}.relation-probe{display:flex;gap:8px;margin-bottom:10px}.relation-probe input{flex:1}.relation-result{border-top:1px dashed var(--line);padding-top:10px;margin-top:6px}.enrich-note{font-size:12px;color:#2f7d5d;background:#eef7f1;border:1px solid #cfe6d9;border-radius:8px;padding:7px 10px;margin:8px 0}.kb-empty-guide{padding:6px 0}.kb-empty-guide>p{margin:0 0 12px}.kb-steps{margin:0 0 14px;padding-left:18px;display:flex;flex-direction:column;gap:10px}.kb-steps li{font-size:13px;color:var(--ink)}.kb-steps li strong{display:block;margin-bottom:2px}.kb-steps li span{display:block}
