.learning-controls{position:relative;flex-shrink:0;margin:10px 0 8px;font-size:.86rem}.learning-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.learning-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;line-height:24px;min-height:44px;margin:0}.learning-toggle input{appearance:none;-webkit-appearance:none;display:block;box-sizing:border-box;flex:0 0 40px;width:40px;min-width:40px;max-width:40px;height:24px;min-height:24px;max-height:24px;padding:0;border:1px solid var(--line);border-radius:20px;background:#415563;position:relative;margin:0}.learning-toggle input:before{content:'';position:absolute;left:2px;top:50%;width:18px;height:18px;transform:translateY(-50%);border-radius:50%;background:white}.learning-toggle input:checked{background:#7759dd}.learning-toggle input:checked:before{transform:translate(16px,-50%)}.learning-toggle input:focus-visible,.learning-picker summary:focus-visible{outline:2px solid var(--cyan,#45d8fc);outline-offset:3px}.learning-picker{position:relative}.learning-picker summary{list-style:none;cursor:pointer;padding:8px 14px;border:1px solid var(--line);border-radius:18px;background:var(--surface);max-width:240px;overflow-wrap:anywhere}.learning-picker summary::-webkit-details-marker{display:none}.learning-picker summary:after{content:'⌄';margin-left:10px}.learning-options{position:absolute;bottom:calc(100% + 8px);left:0;z-index:40;width:240px;max-width:calc(100vw - 44px);max-height:240px;overflow:auto;padding:6px;background:#101c25;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 28px #0004}.learning-options button{display:block;width:100%;text-align:left;border:0;background:transparent;color:var(--text);border-radius:10px;padding:10px 12px;white-space:normal;overflow-wrap:anywhere;min-height:44px}.learning-options button[aria-pressed=true]{background:#9c7ef32b}.learning-options button[aria-pressed=true]:after{content:' ✓'}.learning-options button:hover{background:#ffffff12}.learning-hint{font-size:.76rem;color:var(--muted);margin:6px 0 0}.learning-hint:empty{display:none}.learning-divider{display:flex;align-items:center;gap:12px;margin:16px 0;flex-shrink:0;color:var(--muted);font-size:.78rem}.learning-divider:before,.learning-divider:after{content:'';height:1px;background:var(--line);flex:1}.learning-divider span{max-width:70%;overflow-wrap:anywhere;border:1px solid var(--line);padding:5px 12px;border-radius:20px}.learning-add-form{display:grid;gap:14px}.learning-add-form h2{margin:0}.learning-add-form input{width:100%}.learning-add-actions{display:flex;justify-content:flex-end;gap:10px}html[data-theme=white] .learning-options{background:#fff;box-shadow:0 8px 25px #17243d18}html[data-theme=white] .learning-options button:hover{background:#f2f3f7}html[data-theme=white] .learning-toggle input:not(:checked){background:#bbc6d6}
@media(prefers-reduced-motion:no-preference){.learning-toggle input,.learning-toggle input:before{transition:background-color 150ms ease,transform 150ms ease}.learning-picker[open] .learning-options{animation:learning-picker-in 200ms cubic-bezier(.22,1,.36,1)}.learning-arrive{animation:learning-divider-in 200ms ease-out}#learning-add[open]{animation:learning-picker-in 200ms ease-out}.learning-options button{transition:background-color 150ms ease,transform 150ms ease}.learning-options button:active{transform:scale(.98)}}
@keyframes learning-picker-in{from{opacity:0;transform:translateY(5px) scale(.98)}to{opacity:1;transform:none}}@keyframes learning-divider-in{from{opacity:0}to{opacity:1}}
@media(max-width:700px){.learning-controls{margin:6px 0}.learning-picker summary{padding:6px 12px}.learning-options{left:auto;right:0}.learning-hint{font-size:.72rem}}
html[data-theme=white] .learning-toggle input:checked{background:#7759dd;border-color:#7759dd}
html[data-theme=white] .learning-toggle input:before{background:#fff}

/* Keep the chevron optically centered, independent of font glyph baselines. */
.learning-picker summary{display:flex;align-items:center;justify-content:space-between;gap:12px;line-height:1.35;min-height:36px;box-sizing:border-box}
.learning-picker summary:after{content:'';display:block;flex:0 0 7px;width:7px;height:7px;border-right:1.7px solid currentColor;border-bottom:1.7px solid currentColor;transform:translateY(-2px) rotate(45deg);margin:0 2px 0 0}
.learning-bank-button{font-size:inherit;min-height:36px;padding:7px 12px;white-space:normal}
#subject-bank{margin:auto;box-sizing:border-box;width:min(680px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border-radius:24px;color:var(--text);background:var(--surface);border:1px solid var(--line)}
#subject-bank[open]{display:block}#subject-bank *{box-sizing:border-box}#subject-bank h2{font-size:1.25rem;margin:4px 0 0}#subject-bank h3{font-size:1rem;margin:24px 0 12px}#subject-bank p{overflow-wrap:anywhere}#subject-bank .muted,#subject-bank-name{color:var(--muted)}
.subject-bank-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.subject-bank-header>div{min-width:0}#subject-bank-name{margin:0;font-size:.85rem}#subject-bank-close{flex-shrink:0}
.subject-auto-label{display:flex;align-items:center;gap:10px;font-size:.9rem;min-height:44px}.subject-auto-label input{width:18px;height:18px;min-width:18px;min-height:18px;margin:0;accent-color:#8060d8}.subject-bank-help{font-size:.82rem;line-height:1.5;margin:8px 0 12px}#subject-bank-status{font-size:.85rem;color:var(--muted)}#subject-bank-error{color:#e47272}#subject-bank-error:empty,#subject-bank-status:empty{display:none}
.subject-note{padding:14px 0;border-bottom:1px solid var(--line)}.subject-note:first-child{padding-top:0}.subject-note-text{white-space:pre-wrap;margin:0 0 8px;line-height:1.6}.subject-note-source{font-size:.8rem;color:var(--muted);margin:6px 0}.subject-note-source summary{cursor:pointer;padding:6px 0}.subject-note-source p{white-space:pre-wrap;margin:6px 0}.subject-note-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
#subject-bank button{min-height:40px;font-size:.85rem;padding:8px 12px}#subject-bank textarea{display:block;width:100%;max-width:100%;padding:10px 12px;margin:8px 0;resize:vertical;font-size:.95rem;line-height:1.5;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:12px;min-height:80px}#subject-note-form{margin-top:22px}#subject-note-form label{font-size:.9rem}.subject-material{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0}.subject-material span{min-width:0;overflow-wrap:anywhere;font-size:.85rem}.subject-material button{flex-shrink:0}.subject-bank-danger{margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}#subject-delete-confirm p{font-size:.9rem;line-height:1.6}#subject-delete-submit{background:#ab3434;color:white;border:1px solid #ab3434}
html[data-theme=white] #subject-bank,html[data-theme=white] #subject-bank textarea{background:white;color:#17243d}html[data-theme=white] #subject-bank-error{color:#aa2424}
@media(max-width:700px){#subject-bank{padding:18px;max-height:calc(100dvh - 24px)}#subject-bank button{min-height:44px}.learning-row{gap:8px}.learning-bank-button{font-size:.78rem}.subject-bank-header{gap:10px}#subject-bank h2{font-size:1.1rem}}
@media(prefers-reduced-motion:no-preference){#subject-bank[open]{animation:learning-picker-in 180ms ease-out}}

.learning-options #learning-bank{border-top:1px solid var(--line);border-radius:0;margin-top:6px;padding-top:12px}
@media(max-width:700px){#subject-bank textarea{font-size:16px}}

.learning-knowledge{margin-bottom:24px}.learning-knowledge h2{margin-bottom:6px}.learning-knowledge-intro{font-size:.9rem;margin-bottom:16px}.learning-knowledge-subjects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.learning-knowledge-subjects:empty{display:none}#learning-knowledge-status{color:var(--muted);font-size:.9rem;margin:0 0 14px}#learning-knowledge-status:empty{display:none}
.learning-subject-card{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;min-height:72px;padding:14px 16px;text-align:left;border:1px solid var(--line);border-radius:14px;background:var(--surface2);color:var(--text)}.learning-subject-copy{display:grid;gap:3px;min-width:0}.learning-subject-copy strong{font-size:.95rem;font-weight:600;overflow-wrap:anywhere}.learning-subject-hint{font-size:.8rem;color:var(--muted)}.learning-subject-arrow{flex:0 0 7px;width:7px;height:7px;border-top:1.7px solid currentColor;border-right:1.7px solid currentColor;transform:rotate(45deg);margin-right:3px;color:var(--muted)}.learning-subject-card:hover{border-color:var(--cyan)}
html[data-theme=white] .learning-subject-card{background:#fff}
@media(max-width:700px){.learning-knowledge-subjects{grid-template-columns:1fr}.learning-subject-card{min-height:72px;padding:12px 14px}}
@media(prefers-reduced-motion:no-preference){.learning-subject-card{transition:border-color 150ms ease,transform 150ms ease}.learning-subject-card:active{transform:scale(.985)}}
