:root{color-scheme:light;--ink: #171411;--muted: #736b5f;--paper: #fffaf0;--paper-strong: #fffdf8;--surface: rgba(255, 255, 255, .86);--surface-soft: rgba(245, 248, 244, .82);--line: rgba(43, 35, 24, .13);--green: #1f6f56;--green-dark: #263528;--blue: #2454d6;--amber: #dfa248;--red: #b63d2b;--shadow: 0 24px 80px rgba(58, 44, 22, .14)}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--ink);font-family:Noto Sans SC,sans-serif;background:linear-gradient(115deg,#f7f9f4e6,#e5efebdb 54%,#faf4e6d1),url(/assets/study-lab-bg-DJ0vRTsC.png) center / cover fixed,#eef3ed}button,input,textarea,select{font:inherit}button{cursor:pointer}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px 12px;color:var(--ink);background:#ffffffc7;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}input:focus,textarea:focus,select:focus{outline:none;border-color:#1f6f568c;box-shadow:0 0 0 4px #1f6f561f;transform:translateY(-1px)}textarea{resize:vertical}.boot-screen,.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(820px,100%);display:grid;gap:18px;padding:clamp(28px,5vw,58px);border-radius:10px;background:#fffaf0e6;border:1px solid rgba(255,255,255,.72);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.auth-brand,.brand-block{display:flex;align-items:center;gap:14px}.auth-brand img{width:82px;height:82px;border-radius:8px;object-fit:cover;box-shadow:0 14px 40px #2635282e}.auth-card h1,.topbar h1{margin:0;font-family:Space Grotesk,Noto Sans SC,sans-serif;font-size:clamp(2rem,4.2vw,3.55rem);line-height:1;letter-spacing:0}.auth-card p,.muted-text,.form-section__head p,.empty-state p{color:var(--muted);line-height:1.75}.auth-form,.form-stack{display:grid;gap:14px}.workspace{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:space-between;gap:18px;padding:20px 18px;color:#fff9ee;background:linear-gradient(180deg,#263528f2,#182219f2),radial-gradient(circle at top,rgba(244,195,107,.18),transparent 40%)}.brand-block img{width:54px;height:54px;flex:none;border-radius:8px;object-fit:cover;border:1px solid rgba(255,255,255,.28)}.sidebar h2{margin:0;font-family:Space Grotesk,Noto Sans SC,sans-serif;font-size:1.45rem}.side-nav{display:grid;gap:10px}.side-nav button,.user-chip button{border:0;border-radius:8px;padding:11px 12px;color:inherit;text-align:left;background:#ffffff14}.side-nav button{display:grid;gap:3px}.side-nav small{color:#fff9ee9e}.side-nav button.active{color:#1f2a20;background:linear-gradient(135deg,#f4c36b,#ffe5a6)}.side-nav button.active small{color:#1f2a20b8}.user-chip{display:grid;gap:10px;color:#fff9eec7;word-break:break-all}.content{min-width:0;padding:22px 24px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}.eyebrow,.button,.count-chip,.badge,.meta{font-family:Space Grotesk,Noto Sans SC,sans-serif}.eyebrow{margin:0 0 8px;color:var(--green);font-weight:800;letter-spacing:.12em;text-transform:uppercase}.sidebar .eyebrow{color:#f4c36b}.button{border:0;border-radius:999px;padding:10px 16px;color:#fffaf0;font-weight:800;background:var(--green);transition:transform .16s ease,opacity .16s ease}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.55;cursor:wait}.button--ghost{color:var(--green);border:1px solid rgba(31,111,86,.2);background:#1f6f5614}.button--text{padding:0;color:var(--muted);background:transparent}.grid{display:grid;gap:18px}.dashboard-grid{grid-template-columns:repeat(3,minmax(180px,1fr))}.panel,.stat-card,.note-card,.word-card,.toast-message{border:1px solid rgba(255,255,255,.72);background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.panel{border-radius:8px;padding:18px}.wide{grid-column:span 2}.stat-card{border-radius:8px;padding:18px}.stat-card strong{display:block;font-size:2.1rem}.stat-card span,.meta,.empty-state{color:var(--muted)}.split{display:grid;grid-template-columns:minmax(320px,440px) minmax(0,1fr);gap:22px;align-items:start}.sticky-panel{position:sticky;top:24px}.english-page{display:grid;gap:14px}.english-tabs{display:inline-flex;gap:8px;justify-self:start;padding:8px;border-radius:999px}.english-tabs button{border:0;border-radius:999px;padding:10px 18px;color:var(--muted);font-weight:800;background:transparent}.english-tabs button.active{color:#fffaf0;background:var(--green)}.word-list-panel{grid-column:1 / -1}.english-workspace{display:grid;gap:14px;align-items:start}.english-toolbox{display:grid;gap:14px}.toolbox-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.toolbox-actions button{display:grid;gap:3px;min-height:64px;padding:12px 14px;border:1px solid rgba(43,35,24,.08);border-radius:8px;color:var(--ink);text-align:left;background:#ffffff94}.toolbox-actions button.active{color:#fffaf0;background:linear-gradient(135deg,var(--green),#2b7f66)}.toolbox-actions small{color:var(--muted)}.toolbox-actions button.active small{color:#fffaf0c7}.tool-panel{display:grid;gap:12px;padding-top:12px;border-top:1px solid rgba(43,35,24,.08)}.tool-panel-grid,.three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tool-panel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.english-side{display:grid;gap:22px}.word-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:12px;min-width:0}.two-col,.filters,.memory-controls,.answer-row,.settings-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.filters{grid-template-columns:minmax(260px,1fr) repeat(3,minmax(140px,180px));margin-bottom:12px}.library-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px;padding:10px 12px;border-radius:8px;background:#ffffff80;border:1px solid rgba(43,35,24,.08)}.library-toolbar .actions{justify-content:flex-end}.segmented{display:inline-flex;gap:4px;max-width:100%;padding:4px;border:1px solid rgba(31,111,86,.14);border-radius:999px;background:#ffffff9e}.segmented button{border:0;border-radius:999px;padding:8px 12px;color:var(--muted);font-weight:800;background:transparent;white-space:nowrap}.segmented button.active{color:#fffaf0;background:var(--green)}.segmented button:disabled{cursor:wait;opacity:.62}.recategorize-segment{overflow-x:auto}.ai-operation-progress{display:grid;gap:10px;min-width:0;padding:12px;border:1px solid rgba(31,111,86,.16);border-radius:8px;background:#ffffff9e}.ai-operation-progress--inline{margin:-4px 0 14px}.progress-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0;color:var(--muted);font-size:.92rem;font-weight:700}.progress-meta span{min-width:0;overflow-wrap:anywhere}.section-heading,.actions,.tag-row,.check-row,.floating-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.section-heading{min-width:0}.section-heading>div{min-width:min(100%,220px)}.card-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px;min-width:0}.check-row--inline{justify-content:flex-start;font-weight:800;color:var(--muted)}.check-row input,.word-select input{width:auto;margin:0}.section-heading h2,.panel h2,.form-section h3{margin:0}.form-section{display:grid;gap:10px;padding:12px;border-radius:8px;background:#ffffff6b;border:1px solid rgba(43,35,24,.08)}.form-section__head p{margin:4px 0 0;font-size:.92rem}.form-section__body{display:grid;gap:12px}.floating-actions{position:sticky;bottom:12px;justify-content:flex-end;padding:10px;border-radius:8px;background:#fffaf0db;border:1px solid rgba(43,35,24,.08);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.count-chip,.badge,.tag{border-radius:999px;padding:6px 10px;font-size:.84rem;font-weight:800}.count-chip{color:var(--green);background:#1f6f561a}.badge{color:#80501c;background:#df8b3529}.note-card,.word-card{margin-top:12px;border-radius:8px;padding:14px;min-width:0;overflow:hidden;animation:rise .26s ease}.word-grid .word-card{margin-top:0}.word-card.selected{border-color:#1f6f5675;box-shadow:0 20px 70px #1f6f562e}.word-select{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:999px;background:#1f6f5614}.note-card p,.word-card p{color:#39342e;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}.word-card h3,.note-card h3{margin:4px 0 0;font-size:1.18rem;min-width:0;overflow-wrap:anywhere}.word-card small{color:var(--muted);font-size:.9rem;font-weight:500;overflow-wrap:anywhere}.word-card .meta{display:inline-flex;max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag{display:inline-flex;max-width:100%;overflow-wrap:anywhere;color:#334035;background:#0000000f}.tag.danger,.danger{color:var(--red);background:#b63d2b1a}.tag.ok{color:var(--green);background:#1f6f561a}.actions{justify-content:flex-start}.actions button,.priority-list button,.star{border:0;color:var(--green);font-weight:800;background:transparent}.danger-text{color:var(--red)!important}.priority-list{display:grid;gap:10px}.priority-list button{padding:14px;border-radius:8px;text-align:left;background:#ffffffad}.empty-state{display:grid;gap:6px;margin-top:14px;padding:18px;border-radius:8px;text-align:center;background:#ffffff94;border:1px dashed var(--line)}.empty-state p{margin:0}.toast-message{position:sticky;top:14px;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;padding:12px 14px;border-radius:8px}.toast-message--success{color:var(--green)}.toast-message--error{color:var(--red)}.toast-message button{border:0;color:inherit;font-weight:800;background:transparent}.memory-panel{display:grid;gap:14px}.memory-heading{align-items:flex-start}.memory-heading__meta{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.count-chip--dark{color:#fffaf0;background:var(--green)}.memory-layout{display:grid;grid-template-columns:minmax(230px,300px) minmax(0,1fr);gap:14px;align-items:start}.memory-controls{position:sticky;top:14px;display:grid;gap:10px}.memory-controls h3,.memory-word-panel h3{margin:0}.field-label{display:grid;gap:6px;color:var(--muted);font-weight:800}.memory-count{margin:-8px 0 18px;color:var(--muted);font-weight:700}.memory-word-panel{display:grid;gap:12px}.memory-word-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;max-height:520px;overflow:auto;padding-right:4px}.memory-word-row{display:grid;grid-template-columns:auto minmax(110px,.8fr) minmax(120px,1fr) minmax(90px,auto);align-items:center;gap:10px;min-height:58px;padding:10px;border:1px solid rgba(43,35,24,.08);border-radius:8px;background:#ffffff8f}.memory-word-row.selected{border-color:#1f6f566b;background:#1f6f5617}.memory-word-row input{width:auto}.memory-word-row span{min-width:0;display:grid;gap:2px}.memory-word-row strong,.memory-word-row em,.memory-word-row small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.memory-word-row em{color:#39342e;font-style:normal}.memory-word-row small{color:var(--muted)}.memory-session{display:grid;gap:12px}.flash-card{min-height:300px;display:grid;place-items:center;align-content:center;gap:14px;padding:34px;border-radius:8px;text-align:center;color:#fff9ef;background:linear-gradient(135deg,#1f6f56f5,#2454d6d1),radial-gradient(circle at top left,rgba(244,195,107,.5),transparent 35%);box-shadow:var(--shadow);transform-style:preserve-3d;transition:transform .26s ease;cursor:pointer}.flash-card.flipped{transform:rotateX(2deg) scale(1.01)}.flash-card h2{margin:0;font-family:Space Grotesk,Noto Sans SC,sans-serif;font-size:clamp(2rem,6vw,4.6rem);line-height:.95}.flash-card__phonetic{margin:0;color:#fff9efc7;font-weight:800}.card-answer{max-width:720px;padding:16px;border-radius:8px;background:#ffffff29}.card-answer p{margin:8px 0 0}.answer-row{grid-template-columns:1fr auto auto;margin-top:12px}.result-panel{margin-top:0}.result-grid{display:flex;flex-wrap:wrap;gap:10px}.ai-assistant{position:fixed;z-index:40}.ai-orb{position:relative;width:76px;height:76px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.78);border-radius:16px;color:#fffaf0;font-weight:900;background:linear-gradient(145deg,#1f6f56f5,#dfa248eb),var(--green);box-shadow:0 20px 54px #2635283d;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.ai-orb img{width:54px;height:54px;border-radius:8px;object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.ai-orb span{position:absolute;right:7px;bottom:6px;padding:3px 6px;border-radius:999px;color:#1f2a20;font-size:.75rem;background:#ffe5a6}.ai-chat{position:absolute;right:0;bottom:88px;width:min(430px,calc(100vw - 32px));max-height:min(680px,calc(100vh - 126px));display:grid;grid-template-rows:auto minmax(220px,1fr) auto;overflow:hidden;border:1px solid rgba(255,255,255,.74);border-radius:8px;background:#fffaf0f0;box-shadow:0 30px 90px #26352842;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.ai-chat__head,.ai-chat__input{display:flex;align-items:center;gap:12px;padding:14px;border-bottom:1px solid rgba(43,35,24,.1)}.ai-chat__head img{width:48px;height:48px;border-radius:8px;object-fit:cover}.ai-chat__head div{flex:1;display:grid;gap:2px}.ai-chat__head small{color:var(--muted)}.ai-chat__head button{width:34px;height:34px;border:0;border-radius:999px;color:var(--green);font-size:1.4rem;background:#1f6f5614}.ai-chat__messages{display:grid;align-content:start;gap:12px;padding:14px;min-width:0;overflow-y:auto;overflow-x:hidden}.ai-message{min-width:0;max-width:92%;padding:12px;border-radius:8px;line-height:1.65;overflow-wrap:anywhere;word-break:break-word;animation:ai-message-in .18s ease-out both}.ai-message p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.ai-message--assistant{justify-self:start;background:#ffffffad}.ai-message--assistant.is-waiting{min-width:74px;background:#ffffffc7}.ai-waiting{height:24px;display:inline-flex;align-items:center;gap:6px}.ai-waiting span{width:7px;height:7px;border-radius:999px;background:var(--green);opacity:.32;animation:ai-waiting-dot .96s ease-in-out infinite}.ai-waiting span:nth-child(2){animation-delay:.14s}.ai-waiting span:nth-child(3){animation-delay:.28s}.ai-typing-text:after{content:"";display:inline-block;width:1px;height:1.05em;margin-left:3px;vertical-align:-.15em;background:var(--green);animation:ai-typing-caret .82s ease-in-out infinite}.ai-message--user{justify-self:end;max-width:min(88%,320px);color:#fffaf0;background:var(--green)}.ai-task-preview{display:grid;min-width:0;max-width:100%;gap:10px;margin-top:10px;padding:12px;border-radius:8px;color:var(--ink);background:#f4c36b29;border:1px solid rgba(223,162,72,.22)}.ai-task-preview .button{justify-self:start}.ai-word-preview{max-height:180px;display:flex;flex-wrap:wrap;gap:8px;min-width:0;max-width:100%;overflow-y:auto;overflow-x:hidden}.ai-task-preview>.ai-word-preview{display:grid;gap:8px}.ai-preview-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.ai-preview-tools input{min-width:0;width:100%;padding:9px 11px;border-radius:999px}.ai-preview-tools small{color:var(--muted);font-weight:800}.ai-word-preview__list{max-height:220px;display:flex;flex-wrap:wrap;gap:8px;min-width:0;max-width:100%;overflow-y:auto;overflow-x:hidden}.ai-word-preview--compact{max-height:140px}.ai-word-chip{max-width:100%;display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;color:#334035;background:#ffffffb8;border:1px solid rgba(43,35,24,.08)}.ai-word-chip strong,.ai-word-chip small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-word-chip small{max-width:140px;color:var(--muted)}.ai-word-chip.active{color:#fffaf0;background:var(--green)}.ai-word-chip.active small{color:#fffaf0c7}.ai-import-progress{display:grid;min-width:0;gap:10px;margin-top:10px}.ai-progress-head{display:flex;justify-content:space-between;gap:12px;color:var(--green);font-weight:800}.ai-progress-bar{height:9px;overflow:hidden;border-radius:999px;background:#1f6f561f}.ai-progress-bar span{display:block;height:100%;border-radius:inherit;background:var(--green);transition:width .18s ease}.ai-chat__input{border-top:1px solid rgba(43,35,24,.1);border-bottom:0;align-items:flex-end}.ai-chat__input textarea{min-height:52px;max-height:120px}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes ai-message-in{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ai-waiting-dot{0%,80%,to{opacity:.28;transform:translateY(0) scale(.86)}36%{opacity:.9;transform:translateY(-4px) scale(1)}}@keyframes ai-typing-caret{0%,45%{opacity:.95}70%,to{opacity:.18}}@media(max-width:1180px){.workspace,.split,.dashboard-grid{grid-template-columns:1fr}.sidebar{position:static;height:auto}.side-nav{grid-template-columns:repeat(5,minmax(0,1fr))}.side-nav button{min-width:0}.wide,.word-list-panel{grid-column:auto}.sticky-panel{position:static}.memory-layout{grid-template-columns:1fr}.memory-controls{position:static;grid-template-columns:repeat(3,minmax(0,1fr))}.memory-controls h3,.memory-controls .button{grid-column:auto}}@media(max-width:760px){body{background-attachment:scroll}.content,.sidebar{padding:14px}.workspace{display:block;padding-bottom:76px}.sidebar{position:fixed;inset:auto 10px 10px;z-index:35;height:auto;gap:0;padding:8px;border-radius:8px;box-shadow:0 18px 44px #18221947}.sidebar .brand-block,.sidebar .user-chip{display:none}.brand-block img{width:48px;height:48px;border-radius:8px}.sidebar h2{font-size:1.2rem}.topbar,.two-col,.three-col,.tool-panel-grid,.toolbox-actions,.filters,.memory-controls,.answer-row,.settings-actions,.word-grid,.side-nav{grid-template-columns:1fr}.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;margin-bottom:14px}.topbar .eyebrow{margin-bottom:2px;font-size:.76rem}.brand-block{align-items:flex-start}.auth-card h1,.topbar h1{font-size:clamp(1.9rem,10vw,2.7rem);letter-spacing:0}.side-nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.side-nav button{min-height:48px;display:grid;place-items:center;gap:0;padding:7px 4px;border-radius:8px;text-align:center;font-size:.84rem}.side-nav small{display:none}.floating-actions{position:sticky;bottom:8px;z-index:8;justify-content:stretch}.floating-actions .button{flex:1}.library-toolbar,.library-toolbar .actions,.section-heading,.actions{align-items:stretch}.library-toolbar .actions,.section-heading .actions,.library-toolbar .button,.section-heading .button,.segmented{width:100%}.segmented{justify-content:stretch;border-radius:8px}.segmented button{flex:1;min-width:0;padding-inline:8px;white-space:normal}.panel{padding:18px;border-radius:8px}.memory-panel{min-height:auto}.memory-controls{grid-template-columns:1fr 1fr;gap:10px}.memory-controls input[type=search],.memory-controls .button{grid-column:1 / -1}.memory-word-list{grid-template-columns:1fr;max-height:none;padding-right:0}.memory-word-row{grid-template-columns:auto minmax(0,1fr)}.memory-word-row em,.memory-word-row>small{grid-column:2}.toolbox-actions button{min-height:54px}.flash-card{min-height:310px;padding:24px 16px;border-radius:8px}.word-card,.note-card{padding:15px}.ai-assistant{right:14px!important;bottom:92px!important}.ai-orb{width:64px;height:64px;border-radius:14px}.ai-orb img{width:46px;height:46px;border-radius:8px}.ai-chat{position:fixed;inset:auto 10px 86px;width:auto;max-height:min(72vh,660px);border-radius:8px}.ai-message{max-width:100%}.ai-message--user{max-width:min(86%,280px)}.ai-chat__input{display:grid;grid-template-columns:1fr}.ai-assistant.open .ai-orb{display:none}.ai-task-preview{padding:10px}.ai-word-preview__list{max-height:190px}.ai-word-chip{width:100%;justify-content:space-between}.ai-word-chip small{max-width:180px}}
