:root{--bg: #f4f6f1;--bg-strong: #e8ede4;--panel: rgba(255, 255, 252, .92);--panel-strong: rgba(255, 251, 245, .95);--line: rgba(41, 54, 47, .14);--line-soft: rgba(113, 83, 53, .1);--text: #1a2620;--muted: #5a6b60;--brand: #2f7a5e;--brand-strong: #1a5a44;--brand-light: rgba(47, 122, 94, .08);--pink-strong: #b0506e;--pink-soft: #fdf0f3;--blue: #4f8f9d;--blue-soft: #e9f5f7;--accent: #b07028;--success: #2d8a52;--danger: #b04830;--input-bg: #fffdf8;--surface-soft: rgba(255, 253, 248, .92);--surface-active: rgba(255, 247, 238, .96);--chip-bg: rgba(176, 112, 40, .1);--empty-bg: rgba(244, 240, 232, .68);--modal-overlay: rgba(28, 35, 30, .42);--toast-bg: rgba(28, 35, 30, .94);--focus-ring: rgba(47, 122, 94, .16);--search-mark: rgba(222, 181, 83, .34);--note-mark: rgba(92, 150, 130, .24);--saved-mark: rgba(186, 120, 84, .25);--pending-mark: rgba(92, 150, 130, .18);--mark-edge: rgba(47, 122, 94, .18);--mark-target: rgba(201, 111, 42, .9);--shadow-sm: 0 2px 8px rgba(36, 48, 42, .06);--shadow: 0 8px 28px rgba(36, 48, 42, .08), 0 2px 8px rgba(36, 48, 42, .04);--shadow-lg: 0 20px 56px rgba(36, 48, 42, .12), 0 6px 16px rgba(36, 48, 42, .06);--shadow-glow: 0 0 0 4px var(--focus-ring);--radius-xl: 20px;--radius-lg: 16px;--radius-md: 12px;--radius-sm: 8px;--lesson-drawer-width: min(420px, calc(100vw - 24px) )}.my-inputs-panel{display:block}.my-inputs-layout,.my-input-upload{display:grid;gap:16px}.panel-section{padding:18px;border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:var(--panel-strong)}.my-input-editor-note{margin:0;color:var(--muted);font-size:.92rem;line-height:1.5}.section-title{margin:0;font-size:1rem;line-height:1.4}.my-input-drop-zone{display:flex;align-items:center;justify-content:center;min-height:96px;padding:18px;border:1.5px dashed color-mix(in srgb,var(--brand) 30%,var(--line));border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface-soft) 80%,var(--brand) 6%);color:var(--muted);font-size:.88rem;font-weight:700;text-align:center;cursor:pointer;transition:border-color .22s ease,background .22s ease,color .22s ease,transform .22s ease}.my-input-drop-zone:hover{border-color:color-mix(in srgb,var(--brand) 48%,var(--line))}.my-input-drop-zone.drag-over{border-color:var(--brand);border-width:2px;background:color-mix(in srgb,var(--surface-active) 72%,var(--brand) 16%);color:var(--brand-strong);transform:scale(1.01)}.inline-info-button{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:24px;margin-left:4px;border:1px solid color-mix(in srgb,var(--brand) 28%,var(--line));border-radius:999px;background:var(--surface-soft);color:var(--brand-strong);font-size:.78rem;font-weight:800;cursor:pointer}.format-example-code{margin:0;padding:16px;overflow:auto;border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--input-bg);color:var(--text);font-family:Noto Sans JP,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem;line-height:1.6;white-space:pre-wrap}.my-input-upload-list-wrap{display:grid;gap:10px}.my-input-upload-list-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.my-input-upload-list-header h4{margin:0;font-size:.98rem}.my-input-upload-list{display:grid;gap:10px}.my-input-upload-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:16px;border:1px solid var(--line-soft);background:var(--input-bg)}.my-input-upload-item[data-state=error]{border-color:#9b442e57;background:#9b442e14}.my-input-upload-item-main{min-width:0;display:grid;gap:4px}.my-input-upload-item-name{min-width:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.my-input-upload-item-name strong{font-size:.96rem}.my-input-upload-item-meta{color:var(--muted);font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.my-input-upload-remove{width:38px;height:38px;min-width:38px;padding:0;border-radius:999px}.my-input-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.my-inputs-list-wrap{display:grid;gap:12px;min-width:0}.my-inputs-list-heading{align-items:center;flex-wrap:wrap;margin-bottom:8px}.my-input-upload-heading{align-items:flex-start;margin-bottom:0}.my-input-upload-heading>div{flex:1 1 auto;min-width:0}.my-input-image-upload-button{flex:0 0 84px;width:84px;height:84px;padding:9px 6px;font-size:.68rem}.my-input-image-upload-button svg{width:25px;height:25px}#my-input-text{min-height:320px;font-family:Noto Sans JP,Be Vietnam Pro,system-ui,sans-serif}body[data-theme=dark]{--bg: #1a1d1a;--bg-strong: #222520;--panel: rgba(38, 42, 38, .94);--panel-strong: rgba(44, 48, 44, .96);--line: rgba(216, 220, 208, .12);--line-soft: rgba(216, 220, 208, .08);--text: #e4e7df;--muted: #9ba59c;--brand: #7da895;--brand-strong: #c8d6cc;--brand-light: rgba(125, 168, 149, .1);--pink-strong: #ff9fbc;--pink-soft: rgba(177, 80, 118, .18);--blue: #7ec1cf;--blue-soft: rgba(79, 143, 157, .22);--accent: #d1b77d;--success: #8fbe98;--danger: #d29a87;--input-bg: #2e342e;--surface-soft: rgba(48, 54, 48, .94);--surface-active: rgba(58, 62, 50, .96);--chip-bg: rgba(209, 183, 125, .12);--empty-bg: rgba(46, 50, 46, .88);--modal-overlay: rgba(10, 12, 10, .48);--toast-bg: rgba(32, 36, 32, .96);--focus-ring: rgba(125, 168, 149, .14);--search-mark: rgba(191, 159, 82, .28);--note-mark: rgba(113, 154, 136, .24);--saved-mark: rgba(178, 123, 92, .24);--pending-mark: rgba(113, 154, 136, .16);--mark-edge: rgba(210, 218, 207, .16);--mark-target: rgba(224, 148, 78, .92);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .16);--shadow: 0 8px 28px rgba(0, 0, 0, .22), 0 2px 8px rgba(0, 0, 0, .12);--shadow-lg: 0 20px 56px rgba(0, 0, 0, .32), 0 6px 16px rgba(0, 0, 0, .18);--shadow-glow: 0 0 0 4px var(--focus-ring)}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:linear-gradient(180deg,var(--bg-strong) 0%,var(--bg) 46%,var(--bg) 100%);color:var(--text);font-family:Be Vietnam Pro,Noto Sans JP,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page-shell{width:min(1180px,calc(100vw - 28px));margin:0 auto;padding:18px 0 40px;display:grid;gap:18px}.floating-menu-button{position:fixed;top:18px;left:18px;z-index:46;width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:var(--brand);color:#fff;box-shadow:0 6px 18px #2f7a5e3d,0 2px 6px #2f7a5e1f;transition:left .3s cubic-bezier(.4,0,.2,1),transform .2s ease,box-shadow .2s ease,background .2s ease}.floating-menu-icon{position:relative;width:18px;height:14px}.floating-menu-icon span{position:absolute;left:0;width:18px;height:2px;border-radius:999px;background:currentColor;transform-origin:center;transition:transform .24s cubic-bezier(.4,0,.2,1),opacity .18s ease,top .24s ease}.floating-menu-icon span:nth-child(1){top:0}.floating-menu-icon span:nth-child(2){top:6px}.floating-menu-icon span:nth-child(3){top:12px}.floating-menu-button:hover{transform:translateY(-2px);box-shadow:0 10px 28px #2f7a5e52,0 4px 10px #2f7a5e29}.floating-menu-button.active{left:calc(var(--lesson-drawer-width) - 68px);top:20px}.floating-menu-button[aria-label="\110\f3ng danh s\e1 ch b\e0i \111\1ecd c"]{background:var(--danger);box-shadow:0 6px 18px #b0483047}.floating-menu-button.active .floating-menu-icon span:nth-child(1){top:6px;transform:rotate(45deg)}.floating-menu-button.active .floating-menu-icon span:nth-child(2){opacity:0}.floating-menu-button.active .floating-menu-icon span:nth-child(3){top:6px;transform:rotate(-45deg)}.floating-manual-note-button{position:fixed;left:18px;bottom:18px;z-index:46;display:inline-flex;align-items:center;gap:10px;border:0;border-radius:999px;padding:11px 16px;background:linear-gradient(135deg,#c0723a,#925230);color:#fffaf4;box-shadow:0 8px 24px #c0723a3d,0 2px 8px #92523029;transition:transform .2s ease,box-shadow .2s ease}body[data-theme=dark] .floating-manual-note-button{background:linear-gradient(135deg,#727d5f,#565f48);color:#eef2ea;box-shadow:0 10px 24px #0000003d}body[data-theme=dark] .floating-menu-button{box-shadow:0 10px 24px #00000042}.floating-manual-note-button:hover{transform:translateY(-2px);box-shadow:0 12px 30px #c0723a52}.floating-manual-note-label{font-size:.86rem;font-weight:700}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow);backdrop-filter:blur(16px)}.app-header{position:relative;z-index:2;padding:12px 24px 10px;background:var(--panel)}.app-header-top{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.header-brand h1{margin:0;font-size:1.25rem;line-height:1.2;letter-spacing:-.02em;font-weight:700;white-space:nowrap}.header-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.header-level-badge{display:inline-flex;align-items:center;justify-content:center;min-width:40px;padding:5px 13px;border:1px solid color-mix(in srgb,var(--brand) 18%,var(--line));border-radius:999px;background:var(--brand-light);color:var(--brand-strong);font-size:.82rem;font-weight:700;white-space:nowrap}.header-select-sm{border:1px solid var(--line);border-radius:var(--radius-sm);padding:5px 24px 5px 8px;min-height:32px;background:var(--panel);color:var(--text);font-size:.76rem;font-weight:700;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 12px) 50%,calc(100% - 8px) 50%;background-repeat:no-repeat;background-size:4px 4px;background-color:var(--panel);transition:border-color .18s ease}.header-select-sm:hover{border-color:color-mix(in srgb,var(--brand) 28%,var(--line))}.header-select-sm:focus{outline:none;border-color:var(--brand);box-shadow:var(--shadow-glow)}.header-theme-btn{width:32px;height:32px;border:1px solid var(--line);border-radius:50%;background:var(--panel);color:var(--muted);transition:all .18s ease}.header-theme-btn:hover{border-color:color-mix(in srgb,var(--brand) 24%,var(--line));color:var(--text)}.icon-sun,.icon-moon{transition:opacity .18s ease}body:not([data-theme=dark]) .icon-moon{display:none}body[data-theme=dark] .icon-sun{display:none}.auth-panel{display:flex;align-items:center;gap:6px;min-width:0;padding:4px 8px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);transition:all .2s ease}body.is-authenticated .auth-panel{padding:3px 6px 3px 12px;background:color-mix(in srgb,var(--surface-soft) 90%,var(--brand) 6%);border-color:color-mix(in srgb,var(--brand) 14%,var(--line))}.auth-status{flex:0 0 auto;margin:0;color:var(--muted);font-size:.72rem;line-height:1.35;white-space:nowrap}body.is-authenticated .auth-status{display:none}.auth-form{display:flex;align-items:center;gap:5px;flex-wrap:nowrap;min-width:0}.auth-summary{display:inline-flex;align-items:center;gap:6px;min-width:0}.auth-user-email{margin:0;min-width:0;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:700;color:var(--text)}.auth-form input{flex:1 1 120px;min-width:0;width:140px;border:1px solid var(--line);border-radius:999px;min-height:30px;padding:0 10px;background:var(--input-bg);color:var(--text);font-size:.78rem;transition:border-color .18s ease,box-shadow .18s ease}.auth-form input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--focus-ring)}.auth-actions{display:inline-flex;flex-wrap:nowrap;gap:4px}.auth-form .ghost-button{min-height:30px;padding:4px 10px;border-radius:999px;font-size:.78rem}.auth-logout-button{min-height:34px;padding:7px 12px;border-radius:10px;font-size:.82rem;font-weight:800;display:inline-flex;align-items:center;gap:6px;border-color:var(--line-soft)!important;background:var(--panel)!important;color:var(--text)!important}.auth-logout-button:hover{border-color:var(--danger)!important;color:var(--danger)!important;background:color-mix(in srgb,var(--danger) 10%,var(--panel))!important}body.auth-pending .mode-tabs,body.auth-pending .floating-menu-button,body.auth-pending .floating-manual-note-button,body.auth-pending #open-my-inputs-button,body.auth-pending #open-stats-button,body:not(.is-authenticated) .mode-tabs,body:not(.is-authenticated):not(.auth-pending) .reader-shell,body:not(.is-authenticated) .floating-menu-button,body:not(.is-authenticated) .floating-manual-note-button,body:not(.is-authenticated) #open-my-inputs-button,body:not(.is-authenticated) #open-stats-button{display:none}.mode-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:5px;margin-top:18px;border:1px solid var(--line-soft);border-radius:14px;background:var(--empty-bg)}.mode-tab{border:1px solid transparent;border-radius:10px;padding:11px 14px;background:transparent;color:var(--muted);font-size:.95rem;font-weight:700;transition:all .22s cubic-bezier(.4,0,.2,1)}.mode-tab:hover{color:var(--text);background:color-mix(in srgb,var(--panel) 50%,transparent)}.mode-tab.active{border-color:#2f7a5e29;background:var(--panel);color:var(--brand-strong);box-shadow:var(--shadow-sm)}.level-badge{display:inline-flex;align-items:center;justify-content:center;min-width:60px;min-height:38px;padding:6px 13px;border-radius:999px;background:var(--brand-light);color:var(--brand-strong);font-size:.84rem;font-weight:700}.level-badge.compact{min-width:auto;padding:4px 11px;font-size:.8rem;min-height:auto}.ghost-link,.ghost-button,.primary-button,.modal-close-button{border-radius:10px;padding:9px 14px;text-decoration:none;transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease}.ghost-link,.ghost-button,.modal-close-button{border:1px solid var(--line);background:var(--panel);color:var(--text)}.ghost-button:hover,.ghost-link:hover,.modal-close-button:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--brand) 24%,var(--line));background:color-mix(in srgb,var(--surface-soft) 80%,var(--brand) 6%)}.primary-button{border:1px solid transparent;background:var(--brand);color:#fff;box-shadow:0 4px 14px #2f7a5e33}.primary-button:hover{transform:translateY(-1px);box-shadow:0 8px 22px #2f7a5e47}.primary-button[data-done=true]{background:linear-gradient(135deg,#379a64,#257050)}.primary-button:active,.ghost-button:active,.modal-close-button:active{transform:translateY(0)}.primary-button:focus-visible,.ghost-button:focus-visible,.modal-close-button:focus-visible{box-shadow:var(--shadow-glow)}.icon-button{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;padding:0;font-size:1rem;font-weight:800}.reader-shell,.manage-shell{padding:24px}.search-field{flex:1}.search-field input,.field select,.field input,.study-note-input{width:100%;border:1px solid var(--line-soft);border-radius:18px;background:var(--input-bg);color:var(--text);outline:none}.search-field input,.field select,.field input{min-height:52px;padding:0 16px}.compact-field select,.compact-field input{min-height:38px;padding:0 12px;border-radius:10px;font-size:.88rem}.compact-field select{padding-right:36px;background-position:calc(100% - 18px) 50%,calc(100% - 12px) 50%}.field select{appearance:none;-webkit-appearance:none;padding-right:48px;background-color:var(--input-bg);background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 24px) 50%,calc(100% - 18px) 50%;background-repeat:no-repeat;background-size:6px 6px}.search-field input:focus,.field select:focus,.field input:focus,.study-note-input:focus{border-color:#bb643a7a;box-shadow:0 0 0 4px var(--focus-ring)}.toolbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.active-filter-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.filter-chip{display:inline-flex;align-items:center;border-radius:999px;padding:6px 11px;background:var(--chip-bg);color:var(--accent);font-size:.8rem;font-weight:700;border:1px solid color-mix(in srgb,var(--accent) 14%,transparent)}.lesson-list,.manage-lesson-grid{display:grid;gap:10px}.lesson-card,.manage-lesson-card{border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--panel-strong);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.lesson-card{width:100%;padding:14px 16px;text-align:left}.lesson-card:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--brand) 26%,var(--line));box-shadow:var(--shadow-sm)}.lesson-card.active{border-color:#b0702857;background:color-mix(in srgb,var(--panel-strong) 82%,var(--accent) 14%);box-shadow:inset 3px 0 0 var(--accent)}.lesson-card-header,.manage-lesson-card-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.lesson-card-header strong{font-size:.96rem;line-height:1.45}.lesson-card-meta{display:grid;gap:4px;margin-top:8px;color:var(--muted);font-size:.86rem;line-height:1.5}.reader-empty,.empty-state{padding:44px 24px;border-radius:var(--radius-lg);background:var(--empty-bg);color:var(--muted);text-align:center;border:1px dashed var(--line-soft)}.reader-empty h2,.manage-lesson-card h2,.section-heading h3,.modal-header h2{margin:0}.reader-empty p,.manage-lesson-card p{margin:8px 0 0}.reader-empty h2{font-size:1.15rem;color:var(--text);opacity:.7}.reader-empty p{font-size:.92rem}.reader-content{display:grid;gap:18px}.reader-title-row{display:flex;align-items:start;justify-content:space-between;gap:16px}.reader-title-main{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.reader-title-row h2{margin:0;font-size:clamp(1.4rem,2vw,2rem);line-height:1.2}.reader-title-actions{display:flex;flex-wrap:wrap;justify-content:end;gap:10px}.reading-mode-button[aria-pressed=true]{border-color:#bb643a61;background:var(--surface-active);color:var(--brand-strong)}.study-action-status,.manage-status{padding:12px 14px;border-radius:16px;font-size:.92rem;font-weight:600}.study-action-status[data-type=success],.manage-status[data-type=success]{background:#2d7a461a;color:var(--success)}.study-action-status[data-type=pending],.manage-status[data-type=pending]{background:#1f6b611f;color:var(--accent)}.study-action-status[data-type=error],.manage-status[data-type=error]{background:#a846301f;color:var(--danger)}.study-action-status[data-type=info]{background:#71533517;color:var(--muted)}.reader-focus-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,.95fr);gap:18px;transition:grid-template-columns .24s ease}.reader-focus-grid.notes-hidden,.image-focus-grid.notes-hidden{grid-template-columns:minmax(0,1fr)}.content-card,.note-card,.personal-note-card,.summary-tile{border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:var(--panel-strong)}.content-card,.note-card,.personal-note-card{padding:20px}.content-card-reading{position:relative;padding-bottom:72px;transition:padding-right .22s ease}.content-card-reading:has(#term-detail-overlay:not(.hidden)){min-height:640px;padding-right:clamp(20px,calc(100% - 320px),386px)}.reader-display-toggles{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px}.reader-toolbar-group{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.reader-toolbar-icon-actions{display:inline-flex;align-items:center;gap:8px}.toggle-chip{display:inline-flex;align-items:center;gap:9px;padding:7px 11px 7px 9px;border:1px solid var(--line-soft);border-radius:999px;background:var(--surface-soft);color:var(--text);font-size:.84rem;font-weight:700;line-height:1.2;letter-spacing:.01em;box-shadow:inset 0 1px #ffffff61;transition:border-color .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease}.toggle-chip:hover{transform:translateY(-1px)}.toggle-chip input{position:relative;flex:0 0 auto;width:36px;height:20px;margin:0;border:1px solid rgba(96,112,102,.24);border-radius:999px;background:#6c766f38;appearance:none;-webkit-appearance:none;outline:none;transition:background .22s cubic-bezier(.4,0,.2,1),border-color .22s ease,box-shadow .22s ease}.toggle-chip input:after{content:"";position:absolute;top:1.5px;left:1.5px;width:15px;height:15px;border-radius:50%;background:#fffdfa;box-shadow:0 2px 5px #2a251f26;transition:transform .22s cubic-bezier(.4,0,.2,1)}.toggle-chip input:checked{background:linear-gradient(135deg,var(--brand) 0%,var(--brand-strong) 100%);border-color:color-mix(in srgb,var(--brand-strong) 72%,white)}.toggle-chip input:checked:after{transform:translate(15px)}.toggle-chip input:focus-visible{box-shadow:0 0 0 4px var(--focus-ring)}.toggle-chip:has(input:checked){border-color:color-mix(in srgb,var(--brand) 22%,var(--line));background:color-mix(in srgb,var(--surface-soft) 78%,var(--brand) 10%);color:var(--brand-strong);box-shadow:inset 0 1px #ffffff6b,var(--shadow-sm)}.reader-body{padding:4px 2px}.reader-body p{margin:0 0 24px;font-family:Hiragino Sans,Yu Gothic,Noto Sans JP,sans-serif;font-size:22px;line-height:2.05;letter-spacing:.02em;color:#2c2823}.reader-body p:last-child{margin-bottom:0}.reader-body ruby{ruby-position:over;ruby-align:center}.reader-body rt{color:#a89a8e;font-family:Hiragino Sans,Yu Gothic,Noto Sans JP,sans-serif;font-size:10px;font-weight:600;letter-spacing:.03em;line-height:1;user-select:none;-webkit-user-select:none;pointer-events:none;transition:opacity .2s ease}.reader-body.hide-furigana rt{opacity:0}.reader-inline-translation{margin:-6px 0 28px;padding:14px 16px;border-left:3px solid #daccd4;border-radius:0 12px 12px 0;background:#fcf8f9b3;color:#6a6062;font-size:.92rem;font-weight:600;line-height:1.7}.reader-term{display:inline;cursor:pointer;border-radius:2px;padding:0;margin:0;transition:.16s ease}.reader-vocab{background:linear-gradient(transparent 58%,#d9678e2e 58%);box-shadow:none}.reader-grammar{background:linear-gradient(transparent 63%,#4f8f9d2b 63%);border-bottom:1px dashed rgba(79,143,157,.58);color:inherit;box-shadow:none}.reader-term:hover,.reader-term:focus-visible,.reader-term.selected{box-shadow:none}.reader-vocab:hover,.reader-vocab:focus-visible,.reader-vocab.selected{background:var(--pink-soft);color:var(--pink-strong)}.reader-grammar:hover,.reader-grammar:focus-visible,.reader-grammar.selected{background:var(--blue-soft, #e9f5f7);color:#397887}.reader-term ruby{transition:inherit}.term-detail-overlay{position:absolute;top:18px;right:18px;bottom:18px;z-index:30;display:block;width:min(320px,calc(100% - 36px));padding:0;background:transparent;pointer-events:none}.term-detail-popup{width:100%;min-height:min(520px,100%);max-height:100%;overflow:auto;pointer-events:auto;border:1px solid rgba(219,210,201,.65);border-radius:18px;background:linear-gradient(180deg,#fffdfafc,#fcf8f3fa);box-shadow:var(--shadow-lg);animation:popupSlideIn .24s cubic-bezier(.4,0,.2,1)}@keyframes popupSlideIn{0%{opacity:0;transform:translate(16px) scale(.98)}to{opacity:1;transform:translate(0) scale(1)}}.term-detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 18px;border-bottom:1px solid rgba(219,210,201,.65)}.term-detail-head strong{color:#9a8e7e;font-size:.76rem;font-weight:850;letter-spacing:.16em;line-height:1.35;text-transform:uppercase}.term-detail-close-button{width:32px;height:32px;border:0;border-radius:10px;background:#f4efebb3;color:#9b8f87;font-size:1.3rem;line-height:1;cursor:pointer;transition:background .2s,color .2s}.term-detail-close-button:hover{background:#e8e0d8e6;color:#6b5f57}.term-detail-body{padding:18px}.term-detail-type,.term-detail-label{color:#9a8e7e;font-size:.62rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.term-detail-word{margin-top:0;color:#2a2520;font-family:Yu Mincho,Hiragino Mincho ProN,"Noto Serif JP",serif;font-size:2.1rem;font-weight:700;line-height:1.1;letter-spacing:-.03em}.term-detail-reading{margin-top:8px;color:#b8607a;font-size:1.04rem;font-weight:800;line-height:1.4}.term-detail-meaning{margin-top:12px;color:#3a322e;font-size:.95rem;font-weight:700;line-height:1.55}.term-detail-divider{height:1px;margin:10px 0;background:#dbd2c9a6}.term-detail-example{padding:14px;border-radius:14px;background:#f4efeb99;max-height:160px;overflow:auto}.term-detail-example-jp{margin:0;color:#2e2925;font-family:Hiragino Sans,Yu Gothic,Noto Sans JP,sans-serif;font-size:.94rem;line-height:1.65}.term-detail-example-vi{margin:8px 0 0;color:#8d847c;font-size:.86rem;line-height:1.6;font-weight:650}.term-detail-status-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.term-detail-status-chip{min-height:46px;border-radius:12px;border:1px solid transparent;background:#f4efeb99;color:#8a7e76;font-size:.8rem;font-weight:800;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.term-detail-status-chip:hover{background:#ebe4ddcc;transform:translateY(-1px)}.term-detail-status-chip.active{border-color:#d4ccc4;background:#eeeae6cc;color:#6a625c}.term-detail-status-chip.learning.active{border-color:#eed08c;background:#fff4d7;color:#8d6a1e}.term-detail-status-chip.known.active{border-color:#c8e0d4;background:#eaf5ef;color:#3e7558}.term-detail-note{padding:10px 12px;border-radius:12px;background:#deedf3b3;color:#4a6f7c;font-size:.68rem;line-height:1.6;font-weight:700}.term-detail-note strong{display:block;margin-bottom:6px;color:#386473;font-size:.78rem;line-height:1.2}#reader-reading-section{display:none!important}.support-section{display:grid;gap:12px;margin-top:16px;padding:16px;border-radius:16px;background:var(--empty-bg);border:1px solid var(--line-soft)}.support-section-body{display:grid;gap:10px}.support-section-body p,.support-placeholder{margin:0;line-height:1.75}.support-placeholder{color:var(--muted)}.study-check-button{position:absolute;right:18px;bottom:18px;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-strong) 100%);color:#fffaf4;box-shadow:0 6px 16px #2f7a5e3d;opacity:.72;transition:transform .2s ease,background .2s ease,box-shadow .2s ease,opacity .2s ease}.study-check-button[data-done=true]{background:linear-gradient(135deg,#3a9a64,#257050);box-shadow:0 6px 16px #3a9a643d;opacity:.88}.study-check-button svg{width:21px;height:21px;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;fill:none}.study-check-button:hover{opacity:1;transform:translateY(-2px) scale(1.05);box-shadow:0 10px 28px #2f7a5e4d}.study-check-button[data-done=true]:hover{box-shadow:0 10px 28px #3a9a644d}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.muted-meta{color:var(--muted);font-size:.9rem}.note-list{display:flex;flex-wrap:wrap;gap:10px}.note-card{display:grid;align-content:start;gap:12px;position:relative}.note-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:8px}.note-tabs{display:inline-flex;flex-wrap:wrap;gap:8px;margin-bottom:0}.note-tabs[role=tablist]{flex:1 1 auto}.note-tab{border:1px solid var(--line-soft);border-radius:999px;padding:7px 13px;background:var(--surface-soft);color:var(--muted);font-size:.84rem;font-weight:700;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.note-tab:hover{border-color:color-mix(in srgb,var(--brand) 28%,var(--line));color:var(--text)}.note-tab.active{border-color:#2f7a5e3d;background:color-mix(in srgb,var(--surface-soft) 82%,var(--brand) 10%);color:var(--brand-strong);box-shadow:var(--shadow-sm)}.note-tab:disabled{opacity:.48;cursor:not-allowed}.note-collapse-button{flex-shrink:0;width:32px;height:32px;border:1px solid var(--line-soft)!important;border-radius:50%!important;background:var(--surface-soft)!important;color:var(--muted)!important;transition:all .2s cubic-bezier(.4,0,.2,1)}.note-collapse-button:hover{border-color:var(--danger)!important;color:var(--danger)!important;transform:translateY(-1px)}.note-icon-actions{display:inline-flex;align-items:center;gap:8px}.comment-panel-host{position:relative;overflow:visible}.comment-panel-host>.side-reopen-button{position:absolute;top:50%;right:-40px;z-index:8;transform:translateY(-50%);width:80px;height:80px;min-width:80px;padding:0;border-color:color-mix(in srgb,var(--brand) 18%,var(--line))!important;background:color-mix(in srgb,var(--panel) 78%,var(--brand) 20%)!important;color:var(--brand-strong)!important;border-radius:50%;box-shadow:var(--shadow-sm);border:1px solid var(--line-soft)!important;clip-path:inset(0 50% 0 0)}.comment-panel-host>.side-reopen-button .icon-panel-open{transform:translate(-20px)}.comment-panel-host>.side-reopen-button .icon-panel-open:before{display:none}.comment-panel-host>.side-reopen-trigger{position:absolute;top:8px;right:0;bottom:8px;width:40px;z-index:7;padding:0;border:0;background:transparent;cursor:pointer}.comment-panel-host>.side-reopen-button:hover,.comment-panel-host>.side-reopen-button:focus-visible,.comment-panel-host>.side-reopen-trigger:hover+.side-reopen-button,.comment-panel-host>.side-reopen-trigger:focus-visible+.side-reopen-button{transform:translateY(-50%);border-color:color-mix(in srgb,var(--brand) 38%,var(--line))!important;background:color-mix(in srgb,var(--panel) 58%,var(--brand) 38%)!important;color:var(--brand-strong)!important;box-shadow:var(--shadow)}.floating-reading-mode-button{position:absolute;top:12px;right:12px;z-index:4;backdrop-filter:blur(10px)}.note-item{border:1px solid var(--line-soft);border-radius:12px;padding:8px 11px;background:var(--surface-soft);color:var(--text);font-size:.88rem;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.note-item:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--brand) 24%,var(--line));box-shadow:var(--shadow-sm)}.note-item.active{border-color:#2f7a5e4d;background:color-mix(in srgb,var(--surface-soft) 82%,var(--brand) 10%)}.icon-note,.icon-plus,.icon-check,.icon-comment,.icon-close,.icon-panel-open,.icon-eye,.icon-eye-off{position:relative;display:inline-block;width:18px;height:18px}.icon-note:before{content:"";position:absolute;left:3px;top:12px;width:12px;height:3px;border-radius:999px;background:currentColor;transform:rotate(-42deg);transform-origin:center}.icon-note:after{content:"";position:absolute;left:11px;top:4px;width:4px;height:4px;border-radius:1px;background:currentColor;transform:rotate(-42deg);box-shadow:-8px 9px 0 -1px currentColor}.icon-plus:before{content:"";position:absolute;top:8px;left:2px;right:2px;height:2px;background:currentColor}.icon-plus:after{content:"";position:absolute;left:8px;top:2px;bottom:2px;width:2px;background:currentColor}.icon-check:before{content:"";position:absolute;left:3px;top:9px;width:5px;height:2px;background:currentColor;transform:rotate(45deg)}.icon-check:after{content:"";position:absolute;left:6px;top:7px;width:10px;height:2px;background:currentColor;transform:rotate(-45deg)}.icon-comment:before{content:"";position:absolute;inset:2px 1px 5px;border:2px solid currentColor;border-radius:6px}.icon-comment:after{content:"";position:absolute;left:5px;bottom:1px;width:7px;height:7px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:skew(-24deg) rotate(-10deg);background:transparent}.icon-close:before{content:"";position:absolute;top:8px;left:3px;right:3px;height:2px;background:currentColor;transform:rotate(45deg)}.icon-close:after{content:"";position:absolute;top:8px;left:3px;right:3px;height:2px;background:currentColor;transform:rotate(-45deg)}.icon-panel-open:before{content:"";position:absolute;top:2px;right:2px;width:2px;height:14px;border-radius:999px;background:currentColor}.icon-panel-open:after{content:"";position:absolute;top:5px;left:3px;width:8px;height:8px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}.icon-eye:before,.icon-eye-off:before{content:"";position:absolute;inset:4px 1px;border:2px solid currentColor;border-radius:12px/8px}.icon-eye:after,.icon-eye-off:after{content:"";position:absolute;top:7px;left:7px;width:4px;height:4px;border-radius:999px;background:currentColor}.icon-eye-off{transform:rotate(-18deg)}.icon-eye-off:before{inset:4px 1px}.icon-eye-off:after{top:0;left:8px;width:2px;height:18px;border-radius:999px;background:currentColor}.accordion-button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;background:none;padding:0;color:var(--text);font-size:1rem;font-weight:700}.accordion-state{color:var(--muted);font-size:.9rem}.personal-note-panel{display:grid;gap:14px;margin-top:16px}.personal-note-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.study-note-status{color:var(--muted);font-size:.92rem;font-weight:600}.study-note-status[data-saved=true]{color:var(--success)}.study-note-view,.study-note-input{min-height:150px}.study-note-view{padding:16px;border-radius:18px;background:var(--surface-soft);line-height:1.7}.study-note-input{padding:16px;resize:vertical}.compact-empty{width:100%;padding:14px 16px}.inline-note-placeholder{margin:0;color:var(--muted)}.drawer-overlay{position:fixed;inset:0;z-index:44;background:var(--modal-overlay);backdrop-filter:blur(2px)}.lesson-drawer{position:fixed;top:0;left:0;z-index:45;width:var(--lesson-drawer-width);height:100vh;display:grid;grid-template-rows:auto 1fr;background:linear-gradient(180deg,var(--panel-strong) 0%,color-mix(in srgb,var(--panel-strong) 94%,var(--bg) 6%) 100%);border-right:1px solid var(--line-soft);box-shadow:var(--shadow-lg);transform:translate(calc(-100% - 24px));opacity:0;pointer-events:none;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .24s ease}.lesson-drawer.open{transform:translate(0);opacity:1;pointer-events:auto}.lesson-drawer-header{display:flex;align-items:start;justify-content:flex-start;gap:16px;padding:20px 18px 14px 22px;border-bottom:1px solid var(--line-soft);background:linear-gradient(180deg,color-mix(in srgb,var(--brand) 6%,var(--panel-strong)) 0%,transparent 100%)}.lesson-drawer-header h2{margin:0;font-size:1.15rem;letter-spacing:-.01em;font-weight:700}.lesson-drawer-header .modal-eyebrow{margin:0 0 2px}.lesson-drawer-body{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:12px;min-height:0;padding:14px 18px 20px;align-content:start}.lesson-drawer-actions{justify-content:space-between}.drawer-action-group{display:inline-flex;align-items:center;gap:8px}.lesson-drawer-actions .ghost-button{font-size:.84rem;padding:6px 12px;min-height:34px}.lesson-drawer-actions .drawer-sort-button{display:inline-grid;place-items:center;width:34px;min-width:34px;padding:0}.drawer-sort-button svg{width:17px;height:17px;transition:transform .16s ease}.drawer-sort-button.active{border-color:color-mix(in srgb,var(--brand) 45%,var(--line-soft));background:color-mix(in srgb,var(--brand) 11%,var(--panel-strong));color:var(--brand)}.drawer-sort-button.descending svg{transform:scaleY(-1)}.lesson-drawer-search{flex:none}.lesson-drawer-search input{min-height:40px;border-radius:12px;font-size:.88rem}.lesson-drawer .lesson-list{align-content:start;min-height:0;overflow:auto;padding-right:2px}.lesson-drawer .filter-chip{font-size:.78rem;padding:4px 10px}.modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;overflow:auto;overscroll-behavior:contain;background:var(--modal-overlay);animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}body.modal-open{overflow:hidden}.toast{position:fixed;left:50%;bottom:22px;z-index:70;min-width:min(320px,calc(100vw - 28px));max-width:calc(100vw - 28px);padding:12px 18px;border-radius:14px;background:var(--toast-bg);color:#fffaf4;text-align:center;font-size:.9rem;font-weight:600;box-shadow:var(--shadow-lg);transform:translate(-50%,18px);opacity:0;transition:opacity .28s cubic-bezier(.4,0,.2,1),transform .28s cubic-bezier(.4,0,.2,1)}.toast.visible{opacity:1;transform:translate(-50%)}.toast[data-type=error]{background:color-mix(in srgb,var(--danger) 42%,var(--toast-bg) 58%)}.toast[data-type=success]{background:color-mix(in srgb,var(--success) 38%,var(--toast-bg) 62%)}.toast[data-type=info]{background:var(--toast-bg)}.modal-surface{width:min(640px,100%);max-height:min(82vh,720px);overflow:auto;overscroll-behavior:contain;border-radius:var(--radius-xl);border:1px solid var(--line);background:var(--panel-strong);box-shadow:var(--shadow-lg);animation:slideUp .28s cubic-bezier(.4,0,.2,1)}@keyframes slideUp{0%{transform:translateY(20px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.modal-surface-wide{width:min(920px,100%)}.modal-header{display:flex;align-items:start;justify-content:space-between;gap:16px;padding:20px 22px 0}.modal-header h2{letter-spacing:-.01em}.modal-eyebrow{margin:0 0 2px;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.modal .modal-header .modal-eyebrow{display:none}.modal-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.modal-body{padding:16px 22px 20px}.modal-body:has(+.modal-footer){padding-bottom:16px}.modal-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 22px 20px;border-top:1px solid var(--line-soft)}.modal-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.modal-span-2{grid-column:1 / -1}.modal-form-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.modal[aria-hidden=false] .modal-body:has(.settings-tabs-field){display:grid;gap:24px;padding-top:22px;padding-bottom:24px}.settings-tabs-field{display:grid;gap:14px;padding:0;margin:0;border:0}.settings-tabs-field legend,.settings-levels-field legend{margin:0;padding:0;color:var(--muted);font-size:.88rem;font-weight:700;white-space:nowrap}.settings-tabs-row{display:flex;flex-wrap:nowrap;align-items:center;gap:18px;overflow-x:auto;padding-bottom:4px}.settings-levels-field{display:grid;gap:14px;padding:0;margin:0;border:0}.settings-levels-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.settings-levels-grid .compact-field{min-width:0}.settings-switch{display:inline-flex;align-items:center;gap:8px;min-height:28px;padding:2px 0;white-space:nowrap;color:var(--text);font-size:.9rem;font-weight:700;cursor:pointer;flex:0 0 auto}.settings-switch input{position:absolute;opacity:0;pointer-events:none}.settings-switch-track{position:relative;width:42px;height:24px;flex:0 0 auto;border-radius:999px;background:color-mix(in srgb,var(--muted) 28%,transparent);border:1px solid var(--line);transition:background .18s ease,border-color .18s ease}.settings-switch-track:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:999px;background:var(--panel);box-shadow:0 2px 6px #24302a29;transition:transform .18s ease}.settings-switch input:checked+.settings-switch-track{border-color:color-mix(in srgb,var(--brand) 42%,var(--line));background:var(--brand)}.settings-switch input:checked+.settings-switch-track:after{transform:translate(18px)}.settings-switch input:focus-visible+.settings-switch-track{box-shadow:0 0 0 4px var(--focus-ring)}.field{display:grid;gap:8px}.field span{font-size:.92rem;font-weight:600}.compact-field{min-width:140px}.compact-field span{font-size:.82rem}.info-list,.history-list{display:grid;gap:12px}.reading-history-panel{display:grid;gap:16px}.history-filter-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.history-filter-row .field input{min-height:40px;border-radius:12px;font-size:.9rem}.history-filter-row .field span{font-size:.82rem}.history-chart{min-height:240px;padding:16px;border:1px solid var(--line-soft);border-radius:18px;background:var(--empty-bg);overflow-x:auto}.history-chart-scroll{min-width:100%}.history-chart-svg{width:100%;min-width:560px;height:220px;display:block}.history-chart-grid-line{stroke:var(--line-soft);stroke-width:1;stroke-dasharray:4 6}.history-chart-baseline{stroke:color-mix(in srgb,var(--brand) 22%,var(--line));stroke-width:1.4}.history-chart-axis-label,.history-chart-date,.history-chart-bar-value{fill:var(--muted);font-size:11px;font-weight:700;text-anchor:middle;font-family:Be Vietnam Pro,Noto Sans JP,sans-serif}.history-chart-axis-label{text-anchor:start}.history-chart-bar-value{fill:var(--text)}.history-chart-bar-rect{fill:url(#history-chart-bar-gradient);opacity:.92}.history-chart-area{fill:url(#history-chart-area-gradient)}.history-chart-curve{fill:none;stroke:color-mix(in srgb,var(--accent) 64%,var(--brand));stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.history-chart-point{fill:var(--panel);stroke:var(--brand-strong);stroke-width:2}.history-chart-column:focus-visible .history-chart-bar-rect,.history-chart-column:hover .history-chart-bar-rect{opacity:1;filter:brightness(1.06)}.history-list-heading{margin-bottom:0}.info-row,.history-item{display:flex;align-items:start;justify-content:space-between;gap:16px;padding:12px 15px;border-radius:14px;background:var(--surface-soft);border:1px solid var(--line-soft)}.info-row span,.history-item p{color:var(--muted)}.history-item p{margin:4px 0 0}mark.search-highlight,mark.lesson-note-highlight,mark.saved-note-highlight,mark.pending-note-highlight{padding:0;border-radius:2px;color:inherit;box-decoration-break:clone;-webkit-box-decoration-break:clone;margin:0;transition:.16s ease}mark.search-highlight{background:linear-gradient(transparent 58%,#d9678e2e 58%)}mark.lesson-note-highlight{background:linear-gradient(transparent 58%,#d9678e2e 58%);cursor:pointer;color:#35312e}mark.lesson-note-highlight:hover{background:var(--pink-soft);color:var(--pink-strong)}.saved-note-highlight{position:relative;background:var(--saved-mark);box-shadow:inset 0 -1px 0 var(--mark-edge),inset 0 -4px 0 -1px var(--mark-target);cursor:pointer}.saved-note-highlight.comment-target-active{background:color-mix(in srgb,var(--mark-target) 30%,var(--saved-mark));box-shadow:inset 0 -2px 0 var(--mark-edge),inset 0 -6px 0 -1px var(--mark-target),0 0 0 3px color-mix(in srgb,var(--mark-target) 24%,transparent)}.highlight-index-badge{position:absolute;top:-17px;left:50%;z-index:5;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:2px solid var(--panel-strong);border-radius:50%;background:var(--brand-strong);color:#fff;font-family:Be Vietnam Pro,sans-serif;font-size:.68rem;font-weight:850;line-height:1;pointer-events:none;transform:translate(-50%);box-shadow:0 3px 9px #2c42333d}.image-region-index-badge{top:-13px}body[data-theme=dark] .highlight-index-badge{border-color:#333a35;background:#83a98d;color:#15251a;box-shadow:0 4px 11px #00000061}.pending-note-highlight{background:var(--pending-mark);box-shadow:inset 0 -1px 0 var(--mark-edge),inset 0 -4px 0 -1px var(--mark-target)}.highlight-popover{position:fixed;z-index:72;width:min(360px,calc(100vw - 24px));display:grid;gap:12px;padding:14px;overflow:auto;border:1px solid var(--line-soft);border-radius:20px;background:var(--panel-strong);box-shadow:var(--shadow);animation:popoverFadeIn .18s ease}@keyframes popoverFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.highlight-selection-preview{margin:0;color:var(--text);font-size:.92rem;font-weight:700;line-height:1.6}.highlight-comment-view{min-height:100px;padding:14px;border:1px solid var(--line-soft);border-radius:18px;background:var(--panel);font-family:Be Vietnam Pro,Noto Sans JP,sans-serif;font-size:.96rem;line-height:1.82;letter-spacing:.014em;color:#a43d34}.highlight-comment-view p{margin:0}.highlight-example-list{display:grid;gap:10px}.highlight-example-item{padding:10px 12px;border-radius:14px;background:var(--surface-soft);border:1px solid var(--line-soft)}.highlight-example-item strong,.highlight-example-item p{margin:0}.highlight-example-item strong{display:block;margin-bottom:4px;font-family:Noto Sans JP,Hiragino Sans,sans-serif;color:#8f2e27;font-size:1.04rem;line-height:1.5;letter-spacing:.024em;font-weight:800}.highlight-example-item p{font-family:Yu Mincho,Hiragino Mincho ProN,"Noto Serif JP",serif;font-size:1rem;line-height:1.9;letter-spacing:.015em;color:#6d2c27}.highlight-comment-input{width:100%;min-height:100px;padding:14px;border:1px solid var(--line-soft);border-radius:18px;background:var(--input-bg);color:var(--text);font-family:Be Vietnam Pro,Noto Sans JP,sans-serif;font-size:.96rem;line-height:1.76;letter-spacing:.012em;resize:vertical;outline:none}.highlight-comment-input:focus{border-color:#bb643a7a;box-shadow:0 0 0 4px var(--focus-ring)}.stats-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:16px}.stats-toolbar>.note-tabs{flex:0 0 auto}.stats-toolbar-controls{display:flex;align-items:center;gap:10px;flex:0 0 auto}.stats-toolbar .compact-field{min-width:160px}.stats-summary-table{justify-self:end;width:min(360px,100%)}.stats-summary-table table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border-radius:12px;background:var(--input-bg);border:1px solid var(--line-soft);font-size:.84rem;box-shadow:var(--shadow)}.stats-summary-table th,.stats-summary-table td{padding:8px 10px;text-align:right;border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.stats-summary-table th:last-child,.stats-summary-table td:last-child{border-right:0}.stats-summary-table tr:last-child th,.stats-summary-table tr:last-child td{border-bottom:0}.stats-summary-table th:first-child{text-align:left;color:var(--muted)}.stats-summary-table thead th{background:#1f6b611f;color:var(--accent);font-weight:700}.stats-catalog-path{margin:0 0 14px;color:var(--muted);font-size:.92rem}.stats-list{display:grid;gap:12px}.stats-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:14px;background:var(--surface-soft);border:1px solid var(--line-soft);cursor:pointer;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.stats-item:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--brand) 22%,var(--line));box-shadow:var(--shadow-sm)}.stats-item-main{min-width:0}.stats-item-main h3{display:flex;gap:6px;align-items:baseline;margin:0;font-size:1rem}.stats-item-order{color:var(--muted);font-size:.86rem;flex:none}.stats-item-term{min-width:0}.stats-document-count{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:24px;padding:0 9px;border-radius:999px;background:#1f6b611f;color:var(--accent);font-size:.82rem;font-weight:800;line-height:1}.stats-item-meta{margin:0;color:var(--muted);line-height:1.5;font-size:.9rem}.status-badge-learned,.status-badge-unlearned{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;font-size:1rem;font-weight:700;flex:none}.status-badge-learned{background:#2d7a461f;color:var(--success)}.status-badge-unlearned{background:#bb643a1f;color:var(--brand-strong)}.prompt-output-field{margin-top:18px}#prompt-output{min-height:360px;font-size:.92rem;line-height:1.6}.manual-notes-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;margin-bottom:16px}.my-inputs-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:16px}.my-inputs-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.my-inputs-view-tabs{display:inline-flex;flex-wrap:nowrap;gap:4px;width:fit-content;max-width:100%;overflow-x:auto;padding:5px;border:1px solid var(--line);border-radius:14px;background:var(--empty-bg)}.my-input-status-tabs{display:inline-flex;flex:0 0 auto;flex-wrap:nowrap;gap:4px;max-width:100%;overflow-x:auto;padding:4px;border:1px solid var(--line);border-radius:14px;background:var(--empty-bg)}.available-lessons-heading{align-items:center}.available-selected-only-control{margin-left:auto;padding:2px 2px 2px 12px}.my-inputs-view-tabs .mode-tab,.my-input-status-tabs .mode-tab{min-width:0;padding:9px 14px;font-size:.88rem;white-space:nowrap;flex:0 1 auto}.my-input-status-tabs .mode-tab{padding-inline:13px}.available-lessons-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;min-width:0}.available-lessons-filter-label{color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.available-lessons-toolbar .compact-field{min-width:110px;flex:0 1 auto}.available-lessons-toolbar .compact-field span{display:none}.available-lessons-search{margin-bottom:16px}.available-lessons-search .field input{min-height:40px;border-radius:12px}.my-input-search-field{position:relative;flex:1 1 auto;min-width:0;display:flex;align-items:center;min-height:40px;border:1px solid var(--line-soft);border-radius:12px;background:var(--input-bg);overflow:hidden}.my-input-search-icon{position:absolute;top:50%;left:14px;width:18px;height:18px;color:var(--muted);transform:translateY(-50%);pointer-events:none}.my-input-search-icon svg{display:block;width:100%;height:100%}.my-input-search-field input{width:100%;min-width:0;height:100%;min-height:40px;padding-left:38px;padding-right:14px;border:0;border-radius:0;background:transparent;color:var(--text);outline:none;box-shadow:none;font-size:.9rem}.my-input-search-field:focus-within{border-color:#bb643a7a;box-shadow:0 0 0 4px var(--focus-ring)}.manual-notes-filter-bar{display:inline-flex;align-items:center;gap:6px;flex-wrap:nowrap}.manual-filter-chip{border:1px solid var(--line-soft);border-radius:999px;padding:8px 13px;background:var(--surface-soft);color:var(--muted);font-size:.84rem;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer;white-space:nowrap}.manual-filter-chip:hover{border-color:color-mix(in srgb,var(--brand) 24%,var(--line));color:var(--text)}.manual-filter-chip.active{background:color-mix(in srgb,var(--surface-soft) 82%,var(--brand) 10%);color:var(--brand-strong);border-color:#2f7a5e38;box-shadow:var(--shadow-sm)}.manual-notes-list{display:grid;gap:10px}.manual-note-item{display:grid;gap:10px;padding:14px 16px;border-radius:14px;background:var(--surface-soft);border:1px solid var(--line-soft);transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;position:relative}.manual-note-item:hover{border-color:color-mix(in srgb,var(--brand) 20%,var(--line));box-shadow:var(--shadow-sm);transform:translateY(-1px)}.my-input-image-preview{position:fixed;top:0;left:0;z-index:80;width:clamp(260px,28vw,380px);max-height:54vh;box-sizing:border-box;padding:7px;border:1px solid color-mix(in srgb,var(--brand) 18%,var(--line));border-radius:10px;background:var(--panel-strong);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;pointer-events:none;transform:translateZ(0);contain:layout paint style;will-change:transform,opacity;transition:opacity .12s ease,visibility 0s linear .12s}.my-input-image-preview img{display:block;width:100%;max-height:calc(54vh - 16px);border-radius:6px;object-fit:contain}.my-input-image-preview.is-visible:not(.is-loading){opacity:1;visibility:visible;transition-delay:0s}.manual-note-item[data-completed=true]{border-color:var(--success);border-left:3px solid var(--success);background:color-mix(in srgb,var(--surface-soft) 94%,var(--success) 6%)}.manual-note-item[data-completed=true]:after{content:"\2713";position:absolute;top:14px;right:14px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:var(--success);color:#fff;font-size:.8rem;font-weight:700}.custom-term-card{cursor:pointer;transition:border-color .2s ease,transform .2s ease,background .2s ease}.custom-term-card:hover{border-color:#bb643a47;background:var(--surface-active);transform:translateY(-1px)}.available-lesson-item.selected{border-color:#2f6f5e4d;background:#e7f1ec94}.available-lesson-status{color:var(--muted);font-weight:800}.available-lesson-status.selected{color:var(--brand-strong)}.available-lesson-toggle{display:inline-grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:999px;padding:0;background:var(--panel);color:var(--muted);font-size:1.18rem;font-weight:900;transition:all .2s ease;cursor:pointer}.available-lesson-toggle.selected{border-color:#2f6f5e47;background:var(--brand);color:#fff}.manual-note-item[data-input-status=DELETED]{opacity:.82;border-style:dashed}.manual-note-item-head,.manual-note-item-meta,.manual-note-item-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.my-input-action-button{flex:0 0 auto}.my-input-action-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.my-input-action-button[data-input-action=favorite].active svg{fill:currentColor;stroke:currentColor}.my-input-action-button[data-input-action=favorite]{color:#b27642}.my-input-action-button.danger{color:var(--danger)}.my-input-action-button.active{border-color:color-mix(in srgb,currentColor 32%,var(--line));background:color-mix(in srgb,currentColor 9%,var(--panel))}.manual-note-item-head{justify-content:space-between;align-items:flex-start}.manual-note-item-head h3{margin:0;font-size:1rem;line-height:1.4}.manual-note-item-meta{color:var(--muted);font-size:.88rem}.manual-note-status{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;background:var(--chip-bg);color:var(--brand-strong);font-size:.78rem;font-weight:700}.manual-note-item-content{margin:0;color:var(--text);line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.manual-note-field{margin-top:0}.manual-note-content-input{min-height:320px;padding:14px 16px;resize:vertical}.favorite-button[aria-pressed=true]{border-color:#bb643a61;background:var(--surface-active);color:var(--brand-strong)}.image-focus-grid{grid-template-columns:minmax(0,1.65fr) minmax(290px,.95fr)}.image-stage-card{position:relative;padding:16px}.image-stage-tool-button{position:absolute;top:12px;left:12px;z-index:4;backdrop-filter:blur(10px)}.image-stage-tool-button[aria-pressed=true],.image-region-mode-active{border-color:#2f7a5e47!important;background:color-mix(in srgb,var(--surface-active) 88%,var(--brand) 12%)!important;color:var(--brand-strong)!important}.image-stage{position:relative;width:100%;overflow:auto;border-radius:16px;background:var(--empty-bg);touch-action:pan-y}.image-stage.region-popover-open{padding-bottom:var(--image-region-popover-space, 300px)}.image-stage img{display:block;width:100%;height:auto;user-select:none;-webkit-user-drag:none}.image-stage.selection-mode{cursor:crosshair;touch-action:none}.image-region-layer,.image-region-draft,.image-region{position:absolute}.image-region-layer{top:0;left:0;width:100%;height:100%;pointer-events:none}.image-region,.image-region-draft{border:2px solid var(--mark-target);border-radius:8px;background:color-mix(in srgb,var(--mark-target) 18%,transparent);box-shadow:inset 0 0 0 1px #ffffff61,0 8px 18px #79421c2e}.image-region{padding:0;pointer-events:auto}.image-region:hover{background:color-mix(in srgb,var(--mark-target) 28%,transparent)}.image-region.comment-target-active{border-color:var(--brand-strong);background:color-mix(in srgb,var(--mark-target) 36%,transparent);box-shadow:inset 0 0 0 2px var(--panel-strong),0 0 0 4px color-mix(in srgb,var(--brand) 30%,transparent),0 10px 22px #79421c38}.image-region-popover{position:absolute;transform:translate(-50%,12px);max-height:none}.image-lesson-list{max-height:34vh;overflow:auto;padding-right:4px}.image-lesson-card .lesson-card-meta span:last-child{overflow-wrap:anywhere}.image-meta-panel{display:grid;gap:12px;padding-top:14px;border-top:1px solid var(--line-soft)}.image-vocabulary-list{max-height:170px;overflow:auto;padding:2px}.image-vocabulary-chip{font-size:.9rem}.image-note-card{min-width:0}.comment-note-panel{min-width:0;max-height:min(720px,calc(100vh - 180px));overflow:hidden}.comment-note-header>div{display:flex;min-width:0;align-items:baseline;gap:9px}.comment-note-title{margin:0;color:var(--text);font-size:1rem;font-weight:850;letter-spacing:-.01em}.comment-note-count{color:var(--muted);font-size:.76rem;font-weight:700;white-space:nowrap}.comment-panel-close{font-family:Arial,sans-serif;font-size:1.25rem;font-weight:500;line-height:1}.comment-note-list{display:grid;align-content:start;gap:14px;min-height:0;overflow-y:auto;padding:4px 8px 8px 2px;scrollbar-gutter:stable}.comment-note-card{display:grid;grid-template-columns:26px minmax(0,1fr);gap:8px 10px;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.comment-note-index{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-top:9px;border:1px solid color-mix(in srgb,var(--brand) 22%,var(--line-soft));border-radius:50%;background:color-mix(in srgb,var(--brand-light) 45%,var(--panel-strong));color:var(--brand-strong);font-size:.72rem;font-weight:800}.comment-note-bubble{position:relative;display:block;min-width:0;padding:13px 15px;border:1px solid color-mix(in srgb,var(--brand) 20%,var(--line-soft));border-radius:18px 18px 18px 7px;background:color-mix(in srgb,var(--brand-light) 48%,var(--panel-strong));color:var(--text);font-size:.92rem;font-weight:650;line-height:1.55;overflow-wrap:anywhere;box-shadow:0 7px 18px #34302912;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.comment-note-bubble:before{content:"";position:absolute;left:-7px;bottom:8px;width:13px;height:13px;border-bottom:1px solid color-mix(in srgb,var(--brand) 20%,var(--line-soft));border-left:1px solid color-mix(in srgb,var(--brand) 20%,var(--line-soft));background:inherit;transform:rotate(45deg)}.comment-note-context{grid-column:2;display:-webkit-box;margin:-2px 8px 0;overflow:hidden;color:var(--muted);font-family:"Noto Serif JP",Yu Mincho,serif;font-size:.76rem;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.comment-note-card:hover .comment-note-bubble,.comment-note-card:focus-visible .comment-note-bubble{border-color:color-mix(in srgb,var(--brand) 46%,var(--line-soft));background:color-mix(in srgb,var(--brand-light) 72%,var(--panel-strong));box-shadow:0 10px 24px #3430291f}.comment-note-card.active .comment-note-bubble{border-color:color-mix(in srgb,var(--brand) 70%,var(--line-soft));background:color-mix(in srgb,var(--brand-light) 86%,var(--panel-strong));box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 16%,transparent),0 12px 28px #34302924}.comment-note-card.active .comment-note-index{border-color:var(--brand-strong);background:var(--brand-strong);color:#fff}.comment-note-card:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px;border-radius:18px}.comment-note-empty{grid-column:1 / -1}body[data-theme=dark] .comment-note-bubble{border-color:#a6b9ab33;background:#343934f5;color:#edf1ec;box-shadow:0 10px 25px #0000002e}body[data-theme=dark] .comment-note-index{border-color:#a6b9ab38;background:#414a43f5;color:#dce9df}body[data-theme=dark] .comment-note-card:hover .comment-note-bubble,body[data-theme=dark] .comment-note-card:focus-visible .comment-note-bubble{border-color:#a6c9b073;background:#3d453ffa}body[data-theme=dark] .comment-note-card.active .comment-note-bubble{border-color:#a6c9b0b8;background:#434f46fc;box-shadow:0 0 0 3px #83a98d2b,0 12px 28px #00000047}body[data-theme=dark] .comment-note-card.active .comment-note-index{border-color:#b7d0bd;background:#83a98d;color:#15251a}.image-note-editor{display:grid;gap:12px;padding:16px 0 0;margin-top:4px;border-top:2px solid var(--line)}.image-note-suggestions{display:flex;flex-wrap:wrap;gap:8px}.image-note-editor .field input{min-height:40px}.lesson-note-editor-group{display:grid;gap:8px;width:100%}.lesson-note-editor-group+.lesson-note-editor-group{margin-top:12px}.lesson-note-editor-title{color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.lesson-note-editor-chips{display:flex;flex-wrap:wrap;gap:8px}.lesson-note-editor-chips .note-item:disabled{cursor:default;opacity:.7}.lesson-note-editor-chips .note-item.removable{border-color:#bb643a42;background:var(--surface-active)}.lesson-note-editor-actions{display:flex;justify-content:flex-start;margin-top:12px}.lesson-note-editor-actions .ghost-button:disabled{cursor:default;opacity:.55}.restore-base-terms-list{display:grid;gap:10px}.restore-base-term-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.restore-base-term-item span{display:grid;gap:3px}.restore-base-term-item small{color:var(--muted);font-size:.82rem}.restore-base-term-item .ghost-button{align-self:center;white-space:nowrap}.image-suggestion-chip{font-size:.88rem}body[data-theme=dark] .content-card,body[data-theme=dark] .note-card,body[data-theme=dark] .personal-note-card{background:#262a26f0}body[data-theme=dark] .reader-body p{color:#e8e0d4}body[data-theme=dark] .reader-body rt{color:#c4a8a0}body[data-theme=dark] .reader-inline-translation{border-left-color:#ff9fbc47;background:#3a303585;color:#ccc4ba}body[data-theme=dark] .reader-vocab{background:linear-gradient(transparent 58%,#ff8ba629 58%)}body[data-theme=dark] .reader-vocab:hover,body[data-theme=dark] .reader-vocab:focus-visible,body[data-theme=dark] .reader-vocab.selected{background:#ff8ba62e;color:#ffb4c7}body[data-theme=dark] .reader-vocab:hover rt,body[data-theme=dark] .reader-vocab:focus-visible rt,body[data-theme=dark] .reader-vocab.selected rt{color:#ffd0d9}body[data-theme=dark] .reader-grammar{background:linear-gradient(transparent 63%,#7ec1cf2e 63%);border-bottom-color:#7ec1cf94;color:inherit}body[data-theme=dark] .reader-grammar:hover,body[data-theme=dark] .reader-grammar:focus-visible,body[data-theme=dark] .reader-grammar.selected{background:#4f8f9d52;color:#b8edf5}body[data-theme=dark] .reader-grammar:hover rt,body[data-theme=dark] .reader-grammar:focus-visible rt,body[data-theme=dark] .reader-grammar.selected rt{color:#b8edf5}body[data-theme=dark] .term-detail-popup{border-color:#e6dacc24;background:linear-gradient(180deg,#282623fa,#24221ffa);box-shadow:var(--shadow-lg)}body[data-theme=dark] .term-detail-head{border-color:#e6dacc24}body[data-theme=dark] .term-detail-word,body[data-theme=dark] .term-detail-meaning,body[data-theme=dark] .term-detail-example-jp{color:#f2e7da}body[data-theme=dark] .term-detail-head strong,body[data-theme=dark] .term-detail-type,body[data-theme=dark] .term-detail-label,body[data-theme=dark] .term-detail-example-vi{color:#b9ada2}body[data-theme=dark] .term-detail-close-button,body[data-theme=dark] .term-detail-example,body[data-theme=dark] .term-detail-status-chip{background:#4a443ed1;color:#d8ccc0}body[data-theme=dark] .term-detail-divider{background:#e6dacc24}body[data-theme=dark] .term-detail-status-chip.active{border-color:#d8d0c957;background:#544f49e0;color:#d8ccc0}body[data-theme=dark] .term-detail-status-chip.learning.active{border-color:#eed08cad;background:#77581e57;color:#f3d68f}body[data-theme=dark] .term-detail-status-chip.known.active{border-color:#9fbea694;background:#365f4861;color:#bce4c5}body[data-theme=dark] .term-detail-note{background:#2b4952d1;color:#cbe8ef}body[data-theme=dark] .term-detail-note strong{color:#9fdae7}body[data-theme=dark] .support-section{background:#363a34f5}body[data-theme=dark] .support-section-body p,body[data-theme=dark] .support-placeholder{color:#d6d0c6}body[data-theme=dark] .toggle-chip{border-color:#d6dcd21f;background:#3a3f3af5;color:#d8ddd5;box-shadow:inset 0 1px #ffffff0a}body[data-theme=dark] .toggle-chip input{border-color:#d6dcd22e;background:#c0c9bf29}body[data-theme=dark] .toggle-chip input:after{background:#f4efe7;box-shadow:0 2px 8px #00000052}body[data-theme=dark] .toggle-chip:has(input:checked){border-color:#8aa7956b;background:#45564beb;color:#eef3ee;box-shadow:inset 0 1px #ffffff0d,0 10px 24px #0000002e}body[data-theme=dark] .highlight-selection-preview{color:#ebe4d8}body[data-theme=dark] .highlight-comment-view{border-color:#c66e623d;background:#3f2a27eb;color:#ff9b90}body[data-theme=dark] .highlight-example-item{background:#4e3430d1;border-color:#c66e6233}body[data-theme=dark] .highlight-example-item strong{color:#ffb2a8}body[data-theme=dark] .highlight-example-item p{color:#ffe1dc}body[data-theme=dark] .highlight-comment-input{border-color:#c66e6238;background:#382a28f5;color:#f6ece8}body[data-theme=dark] .highlight-comment-input::placeholder{color:#f6ece894}.dropdown-wrapper{position:relative}.dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:38;min-width:200px;display:grid;gap:4px;padding:8px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);box-shadow:var(--shadow);animation:popoverFadeIn .16s ease}.dropdown-menu.is-closed{display:none}.dropdown-menu-right{right:0;left:auto}.dropdown-menu .dropdown-item{width:100%;justify-content:flex-start;text-align:left;padding:11px 14px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--text);font-size:.93rem;font-weight:600;white-space:nowrap;transition:background .15s ease,color .15s ease;display:flex;align-items:center;gap:10px}.dropdown-menu .dropdown-item:hover{background:color-mix(in srgb,var(--brand) 12%,var(--surface-soft));color:var(--brand-strong)}.header-more-toggle{width:42px;height:42px;font-size:1.25rem;font-weight:800;letter-spacing:-.05em;line-height:1}.icon-more{display:block;width:20px;height:20px;position:relative}.icon-more:before{content:"\22ee";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:900;letter-spacing:-.06em;line-height:1;color:currentColor}.compact-action{font-size:.85rem;padding:7px 12px;min-height:36px;border-radius:8px;font-weight:600}.compact-action.icon-button{width:36px;height:36px;font-size:.95rem}.reader-title-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;align-items:center}.reader-display-toggles{gap:8px;margin-bottom:16px}.reader-toolbar-group{gap:6px}.reader-toolbar-icon-actions{gap:4px}.note-card{gap:10px}.note-tabs{gap:6px}.mode-tabs{padding:5px;gap:6px;margin-top:18px}.panel-section{padding:16px}.modal-footer .ghost-button,.modal-footer .primary-button{padding:8px 16px;font-size:.9rem;min-height:38px;border-radius:10px}.modal-header .ghost-button,.modal-header .modal-close-button{padding:7px 14px;font-size:.88rem;min-height:36px;border-radius:10px}.lesson-card{padding:14px 16px}.lesson-card-header strong{font-size:.96rem}.lesson-card-meta{margin-top:8px;font-size:.86rem}.search-field input{min-height:42px;border-radius:12px;font-size:.9rem}.filter-chip{padding:6px 10px;font-size:.8rem}.reader-shell{padding:22px}body[data-theme=dark] .dropdown-menu{border-color:#d8dcd01f;background:var(--panel)}body[data-theme=dark] .dropdown-menu .dropdown-item{color:var(--text)}body[data-theme=dark] .dropdown-menu .dropdown-item:hover{background:color-mix(in srgb,var(--brand) 14%,rgba(58,63,58,.94));color:var(--brand-strong)}@media(max-width:860px){.app-header-top,.reader-title-row,.personal-note-toolbar,.manage-lesson-card-head,.manage-lesson-card-foot,.info-row,.history-item,.manual-note-item-head{flex-direction:column}.header-controls,.stats-toolbar-controls{justify-content:flex-start;flex-wrap:wrap}.reader-title-right{width:100%;align-items:flex-start;margin-left:0}.reader-title-actions{justify-content:flex-start;flex-wrap:wrap}.reader-focus-grid,.image-focus-grid,.manage-summary-row,.modal-form-grid,.history-filter-row,.manual-notes-toolbar,.my-inputs-toolbar{grid-template-columns:1fr}.reader-title-main{width:100%}.my-inputs-toolbar{display:grid;align-items:stretch}.my-inputs-topbar{display:flex;flex-direction:column;align-items:stretch;gap:10px}.available-lessons-toolbar{justify-content:flex-start;flex-wrap:wrap;min-width:0}.available-lessons-toolbar .compact-field{flex:1 1 120px}.settings-levels-grid{grid-template-columns:1fr}.auth-panel{min-width:0;border-radius:999px}.my-input-upload-item{align-items:flex-start}.my-input-image-preview{width:min(76vw,340px);max-height:48vh}.my-input-image-preview img{max-height:calc(48vh - 16px)}.reader-focus-grid.notes-hidden,.image-focus-grid.notes-hidden{grid-template-columns:minmax(0,1fr)}.content-card-reading:has(#term-detail-overlay:not(.hidden)){padding-right:20px;padding-bottom:620px}.term-detail-overlay{inset:auto 16px 18px;width:auto;max-height:560px}.stats-summary-table{justify-self:stretch;width:100%}.stats-item{align-items:start;flex-direction:column}.toolbar-actions{width:100%;justify-content:flex-start}.reader-display-toggles,.note-tabs{width:100%}.note-header{align-items:flex-start}.floating-reading-mode-button{top:12px;right:12px}.image-stage-tool-button{top:12px;left:12px}}@media(max-width:640px){.auth-form{display:grid;grid-template-columns:1fr}.auth-actions{width:100%}.my-input-upload-list-header,.my-input-form-actions{flex-direction:column;align-items:stretch}.page-shell{width:min(100vw - 18px,100%);padding:18px 0 28px}.floating-menu-button{top:12px;left:12px;width:52px;height:52px}.floating-manual-note-button{left:12px;right:12px;bottom:12px;justify-content:center}.floating-menu-button.active{left:calc(100vw - 76px);top:16px}.panel,.modal-surface{border-radius:22px}.app-header,.reader-shell,.manage-shell,.modal-header,.modal-body,.modal-footer{padding-left:16px;padding-right:16px}.mode-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.mode-tab{min-width:0;padding:10px 6px;font-size:clamp(.68rem,2.6vw,.86rem)}.search-field,.toolbar-actions,.toolbar-actions .ghost-button,.toolbar-actions .primary-button{width:100%}.lesson-drawer{width:calc(100vw - 12px)}.content-card-reading:has(#term-detail-overlay:not(.hidden)){padding-bottom:650px}.term-detail-overlay{right:12px;left:12px;max-height:590px}.term-detail-popup{border-radius:20px}.term-detail-status-row{grid-template-columns:1fr}}:root{--bg: #f5f1e8;--bg-strong: #e9eee4;--panel: rgba(255, 253, 247, .9);--panel-strong: #fffdf7;--line: rgba(57, 74, 62, .14);--line-soft: rgba(119, 99, 73, .12);--text: #25352c;--muted: #758076;--brand: #477b62;--brand-strong: #285744;--brand-light: rgba(87, 137, 110, .11);--pink-strong: #ab5870;--pink-soft: #faedf1;--blue: #5d8d9d;--blue-soft: #eaf3f4;--accent: #b47743;--input-bg: #fffdf8;--surface-soft: rgba(250, 247, 238, .92);--surface-active: #f8efe5;--shadow-sm: 0 4px 14px rgba(50, 64, 53, .07);--shadow: 0 14px 44px rgba(50, 64, 53, .08), 0 3px 12px rgba(50, 64, 53, .04);--shadow-lg: 0 24px 70px rgba(42, 56, 47, .16), 0 7px 20px rgba(42, 56, 47, .07);--radius-xl: 28px;--radius-lg: 22px;--radius-md: 15px}body{min-height:100vh;background:radial-gradient(circle at 7% 12%,rgba(197,211,184,.5) 0 5%,transparent 18%),radial-gradient(circle at 95% 9%,rgba(226,195,182,.38) 0 4%,transparent 17%),radial-gradient(circle at 88% 92%,rgba(183,207,205,.34) 0 6%,transparent 21%),linear-gradient(145deg,#edf1e8,#f7f3ea 45%,#f2ece3);background-attachment:fixed}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.45;background-image:radial-gradient(circle at 20% 30%,rgba(69,93,76,.11) 0 1px,transparent 1.5px),radial-gradient(circle at 78% 66%,rgba(131,102,75,.1) 0 1px,transparent 1.5px);background-size:24px 24px,31px 31px;mask-image:linear-gradient(to bottom,black,transparent 84%)}body[data-theme=dark]{--panel: rgba(36, 42, 37, .91);--panel-strong: #2a302b;--input-bg: #303730;--surface-soft: rgba(49, 56, 49, .94);--surface-active: rgba(74, 65, 55, .94);background:radial-gradient(circle at 8% 12%,rgba(92,120,99,.18) 0 7%,transparent 21%),radial-gradient(circle at 94% 8%,rgba(136,91,82,.14) 0 5%,transparent 18%),linear-gradient(145deg,#19201b,#20231f 48%,#24211d)}.page-shell{width:min(1460px,calc(100vw - 44px));gap:22px;padding:22px 0 52px}.panel{border-color:#48594c1f;box-shadow:var(--shadow)}.app-header{padding:14px 20px 10px;border-radius:24px;background:#fffdf7e0;box-shadow:0 10px 34px #33443712}body[data-theme=dark] .app-header{background:#262c27eb}.header-brand{display:flex;align-items:center;gap:12px;min-width:230px}.brand-seal{position:relative;width:44px;height:44px;flex:0 0 auto;display:grid;place-items:center;overflow:hidden;border-radius:42% 58% 55% 45%/52% 45% 55% 48%;background:linear-gradient(145deg,#5f8e72,#37644e);color:#fffdf6;box-shadow:0 6px 16px #32654b38;transform:rotate(-3deg)}.brand-seal:after{content:"";position:absolute;width:20px;height:9px;right:-4px;top:2px;border-radius:100% 0;background:#e5eececc;transform:rotate(-22deg)}.brand-seal span{font-family:"Noto Serif JP",serif;font-size:1.15rem;font-weight:700;transform:rotate(3deg)}.header-brand-copy{min-width:0}.brand-kicker{margin:0 0 2px;color:var(--brand);font-size:.61rem;font-weight:700;letter-spacing:.16em}.header-brand h1{overflow:hidden;font-family:Fraunces,"Noto Serif JP",serif;font-size:1.22rem;font-weight:600;text-overflow:ellipsis}.header-controls{gap:8px}.today-progress{display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:6px 13px 6px 10px;border:1px solid rgba(86,127,101,.14);border-radius:15px;background:linear-gradient(145deg,#e8f1e4d1,#f8f6ebeb);color:var(--text);text-align:left;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.today-progress:hover{transform:translateY(-1px);border-color:#477b6257;box-shadow:var(--shadow-sm)}.today-progress-leaf{position:relative;width:24px;height:24px;border-radius:16px 3px;background:linear-gradient(145deg,#8aaa7e,#4f7b62);transform:rotate(-12deg)}.today-progress-leaf:after{content:"";position:absolute;left:11px;top:3px;width:1px;height:20px;background:#fffff79e;transform:rotate(38deg)}.today-progress-copy{display:grid;gap:1px;line-height:1.1}.today-progress-copy small{color:var(--muted);font-size:.62rem;font-weight:600}.today-progress-copy strong{font-size:.75rem;white-space:nowrap}body[data-theme=dark] .today-progress{background:linear-gradient(145deg,#455646e6,#323730f5)}.header-level-badge{min-height:38px;border-radius:13px;background:#f8ecdab8;color:#8a5d37}body[data-theme=dark] .header-level-badge{border-color:#c4a67e47;background:#463f35e0;color:#e0c6a5}.header-select-sm,.header-theme-btn,.header-more-toggle{border-radius:13px;background-color:#fffdf7c2}.auth-panel{border-radius:14px}.mode-tabs{width:max-content;max-width:100%;grid-template-columns:repeat(4,minmax(88px,auto));margin:10px 0 0 56px;padding:3px;border:0;border-radius:12px;background:#eaece1b8}.mode-tab{padding:7px 16px;border-radius:9px;font-size:.8rem;font-weight:600}.mode-tab.active{border-color:#5679631f;background:#fffdf8;box-shadow:0 3px 9px #36453912}body[data-theme=dark] .mode-tab.active{background:#3a413a}.learner-login{width:min(1200px,calc(100vw - 32px));min-height:480px;margin:6vh auto 44px;padding:48px 44px;display:grid;grid-template-columns:minmax(0,1fr) 380px;align-items:center;gap:40px;border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--panel);box-shadow:var(--shadow-lg)}.learner-login-hero{display:flex;flex-direction:column;min-width:0}.learner-login-icon{margin-bottom:20px}.learner-login-icon .brand-seal{width:52px;height:52px}.learner-login-eyebrow{margin:0 0 8px;color:var(--brand-strong);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.learner-login h1{max-width:720px;margin:0 0 12px;font-family:Fraunces,"Noto Serif JP",serif;font-size:clamp(2rem,5vw,4rem);line-height:1.04;letter-spacing:-.02em}.learner-login-description{max-width:620px;margin:0;color:var(--muted);line-height:1.65}.auth-form.learner-login-form{display:grid;align-items:stretch;gap:14px}.learner-login-field{display:grid;gap:6px}.learner-login-field>span{color:var(--muted);font-size:.78rem;font-weight:700}.auth-form.learner-login-form input{width:100%;min-height:0;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--input-bg);color:var(--text);font-size:.95rem}.auth-form.learner-login-form input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--focus-ring)}.auth-actions.learner-login-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.auth-form.learner-login-form .learner-login-actions button{min-height:48px;padding:12px 14px;justify-content:center;border-radius:var(--radius-md);font-size:.9rem;font-weight:800}.learner-login .auth-status{min-height:22px;margin:0;color:var(--muted);font-size:.82rem;white-space:normal}body:not(.is-authenticated):not(.auth-pending) .page-shell{display:none}body.is-authenticated .learner-login{display:none}body.auth-pending .learner-login{opacity:.72;pointer-events:none}@media(max-width:780px){.learner-login{width:calc(100vw - 24px);grid-template-columns:1fr;gap:26px;margin-top:12px;padding:30px 22px;border-radius:var(--radius-lg)}.learner-login-hero{align-items:center;text-align:center}.learner-login h1{font-size:clamp(2rem,10vw,3rem)}}@media(max-width:480px){.auth-actions.learner-login-actions{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.learner-login,.learner-login *{scroll-behavior:auto;transition-duration:.01ms!important}}.floating-menu-button{top:25px;left:max(14px,calc((100vw - min(1460px,calc(100vw - 44px)))/2 - 62px));width:46px;height:46px;border:1px solid rgba(255,255,255,.58);background:linear-gradient(145deg,#638b71,#38644f)}.reader-shell{position:relative;overflow:hidden;padding:30px;border-radius:32px;background:linear-gradient(90deg,rgba(150,171,143,.07) 1px,transparent 1px),linear-gradient(rgba(150,171,143,.07) 1px,transparent 1px),#faf8f0e0;background-size:28px 28px}.reader-shell:before,.reader-shell:after{content:"";position:absolute;z-index:0;width:230px;height:150px;pointer-events:none;filter:blur(1px);opacity:.38}.reader-shell:before{top:-68px;right:-40px;border-radius:42% 58% 60% 40%;background:radial-gradient(ellipse at 30% 70%,#d9bfc0 0 20%,transparent 22%),radial-gradient(ellipse at 65% 40%,#b9cfad 0 26%,transparent 28%);transform:rotate(12deg)}.reader-shell:after{bottom:-90px;left:-35px;border-radius:54% 46%;background:radial-gradient(ellipse at 35% 45%,#b8d4d1 0 23%,transparent 25%),radial-gradient(ellipse at 70% 62%,#d8c2a7 0 26%,transparent 28%)}.reader-shell>*{position:relative;z-index:1}body[data-theme=dark] .reader-shell{background-color:#212722ed}.reader-content{gap:24px}.reader-title-row{align-items:flex-end;padding:2px 5px 0}.reader-title-right{display:flex;flex-direction:column;align-items:flex-end;gap:16px;margin-left:auto}.reader-title-right>.reader-title-actions{padding:5px 8px;border:1px solid color-mix(in srgb,var(--line-soft) 78%,transparent);border-radius:13px;background:color-mix(in srgb,var(--surface-soft) 88%,transparent)}.reader-title-main{display:grid;gap:5px;max-width:860px}.reader-title-overline{display:flex;align-items:center;flex-wrap:wrap;gap:9px;color:var(--brand);font-size:.67rem;font-weight:700;letter-spacing:.16em}.reader-title-flourish{position:relative;width:38px;height:1px;background:currentColor}.reader-title-flourish:after{content:"";position:absolute;right:3px;top:-8px;width:13px;height:8px;border-radius:100% 0;border:1px solid currentColor;background:#fffdf7b3;transform:rotate(-25deg)}.reader-title-row h2{font-family:Fraunces,"Noto Serif JP",serif;font-size:clamp(2rem,3.4vw,3.6rem);font-weight:600;line-height:1.08;letter-spacing:-.035em}.reader-title-main .level-badge{min-width:0;padding:3px 8px;border:1px solid rgba(180,119,67,.16);background:#f8ebdbc2;color:#9a6338;letter-spacing:.02em}.reader-title-actions{flex-wrap:nowrap;margin-left:auto;padding-bottom:0;letter-spacing:0;justify-content:flex-end}.reader-title-actions .ghost-button{border-radius:12px;background:#fffdf7b3}.favorite-button{color:#b27642;font-size:1.14rem!important}.reader-focus-grid{grid-template-columns:minmax(0,1fr) minmax(300px,350px);gap:22px;align-items:start}.reader-focus-grid.notes-hidden{grid-template-columns:minmax(0,1fr)}.content-card-reading{min-height:620px;padding:22px clamp(24px,4.4vw,68px) 84px;overflow:hidden;border:1px solid rgba(155,128,95,.15);border-radius:26px 18px 24px 20px;background:radial-gradient(circle at 12% 8%,rgba(216,195,162,.08),transparent 26%),repeating-linear-gradient(0deg,rgba(91,75,53,.014) 0 1px,transparent 1px 5px),#fffdf7;box-shadow:0 18px 45px #3b463b14,inset 0 0 70px #cdb9960f}.content-card-reading:before{content:"";position:absolute;top:-18px;left:-22px;width:132px;height:118px;pointer-events:none;opacity:.56;background:radial-gradient(ellipse at 36% 34%,rgba(165,190,149,.7) 0 15%,transparent 17%),radial-gradient(ellipse at 66% 30%,rgba(214,169,164,.58) 0 13%,transparent 15%),radial-gradient(ellipse at 50% 70%,rgba(188,207,177,.55) 0 20%,transparent 22%);transform:rotate(-18deg)}.content-card-reading:after{content:"\2726";position:absolute;right:28px;bottom:26px;color:#b7865352;font-family:Fraunces,serif;font-size:1.25rem}body[data-theme=dark] .content-card-reading{border-color:#dad1be1a;background:repeating-linear-gradient(0deg,rgba(255,250,235,.014) 0 1px,transparent 1px 5px),#292f2a}.reader-display-toggles{position:relative;z-index:3;margin:0 -10px 14px;padding:8px 10px;border:1px solid rgba(128,109,83,.1);border-radius:15px;background:#f8f5ecc2}.toggle-chip{padding:6px 10px 6px 7px;border:0;background:transparent;box-shadow:none;font-size:.76rem}.toggle-chip:hover{background:#fffdf7b8}.toggle-chip:has(input:checked){border:0;background:#fffdf7d1;box-shadow:var(--shadow-sm)}.toggle-chip input{width:31px;height:18px}.toggle-chip input:after{width:13px;height:13px}.toggle-chip input:checked:after{transform:translate(13px)}.reader-guidance{display:flex;flex-wrap:wrap;align-items:center;gap:7px 12px;margin:3px 0 0;padding:0;border-bottom:0;color:#8a8b81;font-size:.72rem;font-weight:500}.reader-guidance span{display:inline-flex;align-items:center;gap:6px}.reader-guidance-hint{color:var(--muted);font-size:.83rem}.reader-guidance-hint:after{content:"";width:3px;height:3px;margin-left:2px;border-radius:50%;background:color-mix(in srgb,var(--muted) 55%,transparent)}.reader-guidance-item{color:color-mix(in srgb,var(--muted) 86%,var(--text));font-size:.68rem}.guidance-dot{width:9px;height:9px;border-radius:50%}.guidance-dot-vocab{background:#d376928c}.guidance-dot-grammar{background:#5391a18c}.guidance-pen{width:11px;height:4px;border-radius:99px;background:#be8f488c;transform:rotate(-20deg)}.reader-body p{margin:0 0 30px;font-family:"Noto Serif JP",Yu Mincho,serif;font-size:clamp(1.14rem,1.35vw,1.32rem);font-weight:500;line-height:2.28;letter-spacing:.045em;color:#2d342f;text-wrap:pretty}body[data-theme=dark] .reader-body p{color:#e7e8df}.reader-body p:first-letter{margin-left:.08em}.reader-body rt{color:#ad9d8d;font-size:.48em;font-weight:500}.reader-inline-translation{margin:-12px 0 30px;padding:11px 16px 11px 18px;border-left:2px solid rgba(169,102,126,.42);border-radius:0 10px 10px 0;background:#f8eff18f;color:#726a68;font-family:Be Vietnam Pro,sans-serif;font-size:.82rem;font-weight:500;line-height:1.75}.reader-vocab{background:linear-gradient(transparent 67%,#dd7c9938 67%)}.reader-grammar{background:linear-gradient(transparent 70%,#5391a130 70%);border-bottom-color:#4581918c}.saved-note-highlight{border-radius:4px;background:linear-gradient(100deg,#f1cb7066,#efbc723d)}.study-check-button{right:24px;bottom:23px;width:48px;height:48px;opacity:.84}.study-check-button[data-done=true]{outline:5px solid rgba(66,143,95,.1)}.content-card-reading:has(#term-detail-overlay:not(.hidden)){min-height:650px;padding-right:min(390px,38%)}.term-detail-overlay{top:76px;right:20px;bottom:20px;width:min(330px,calc(100% - 40px))}.term-detail-popup{border:1px solid rgba(145,120,91,.16);border-radius:16px 23px 18px 20px;background:repeating-linear-gradient(0deg,transparent 0 27px,rgba(113,139,120,.07) 27px 28px),#fffaf1;box-shadow:0 22px 58px #343f352b}.term-detail-popup:before{content:"";position:absolute;top:-8px;left:50%;width:84px;height:20px;background:#d7c3a285;transform:translate(-50%) rotate(-2deg);clip-path:polygon(3% 12%,96% 0,100% 86%,0 100%)}body[data-theme=dark] .term-detail-popup{background:repeating-linear-gradient(0deg,transparent 0 27px,rgba(185,198,187,.05) 27px 28px),#303731}body[data-theme=dark] .term-detail-word,body[data-theme=dark] .term-detail-meaning,body[data-theme=dark] .term-detail-example-jp{color:var(--text)}body[data-theme=dark] .term-detail-head strong,body[data-theme=dark] .term-detail-type,body[data-theme=dark] .term-detail-label,body[data-theme=dark] .term-detail-example-vi{color:var(--muted)}.term-detail-head{padding-top:13px}.term-detail-word{font-family:"Noto Serif JP",serif}.highlight-popover{border-radius:18px;background:#fffaf1;box-shadow:var(--shadow-lg)}body[data-theme=dark] .highlight-popover{background:#303731}.floating-manual-note-button{left:auto;right:22px;bottom:20px;background:linear-gradient(145deg,#bd8054,#8f5938)}.lesson-drawer{background:#fbf8ef}body[data-theme=dark] .lesson-drawer{background:#282e29}.lesson-drawer-header{min-height:116px;padding:31px 24px 18px 82px;background:radial-gradient(circle at 17% 35%,rgba(170,195,158,.62),transparent 24%),linear-gradient(180deg,rgba(245,232,217,.8),transparent)}.lesson-drawer-header h2{font-family:Fraunces,"Noto Serif JP",serif;font-size:1.7rem}.lesson-card{border-radius:13px 17px 14px 12px;background:#fffdf7e0}.lesson-card.active{border-color:#477b6247;background:#edf3e9;box-shadow:inset 4px 0 0 var(--brand)}body[data-theme=dark] .lesson-card{background:#313831eb}body[data-theme=dark] .lesson-card.active{background:#4b5f4cb8}.reader-empty{min-height:440px;display:grid;align-content:center;border-radius:24px;background:radial-gradient(circle at 50% 28%,rgba(187,208,180,.44),transparent 23%),#fffdf7ad}.reader-empty h2{font-family:Fraunces,"Noto Serif JP",serif;font-size:1.8rem}@media(max-width:1120px){.page-shell{width:min(100% - 28px,1120px)}.today-progress{display:none}.reader-focus-grid{grid-template-columns:minmax(0,1fr) 300px}.content-card-reading{padding-left:34px;padding-right:34px}}@media(max-width:860px){.app-header-top{align-items:stretch}.header-controls{width:100%;padding-left:56px}.mode-tabs{margin-left:56px}.reader-shell{padding:22px}.reader-title-row{align-items:flex-start}.reader-title-actions{flex-direction:row}.reader-focus-grid{grid-template-columns:1fr}.note-card{position:relative;top:auto;max-height:none}.content-card-reading:has(#term-detail-overlay:not(.hidden)){padding-right:30px;padding-bottom:640px}.term-detail-overlay{inset:auto 18px 70px;width:auto;max-height:540px}}@media(max-width:640px){.page-shell{width:calc(100% - 14px);padding-top:8px}.app-header{padding:12px 12px 9px;border-radius:19px}.header-brand{padding-left:54px}.brand-seal{width:38px;height:38px}.brand-kicker{font-size:.52rem}.header-brand h1{font-size:1.03rem}.header-controls{padding-left:54px}.auth-panel{order:5;width:100%}.mode-tabs{width:100%;grid-template-columns:repeat(4,minmax(0,1fr));margin:9px 0 0}.mode-tab{padding:8px 4px}.floating-menu-button{top:15px;left:15px;width:42px;height:42px}.reader-shell{padding:18px 12px;border-radius:24px}.reader-title-row{padding:2px 6px 0}.reader-title-row h2{font-size:clamp(1.85rem,10vw,2.7rem)}.reader-title-actions{width:auto;overflow-x:visible;flex-wrap:wrap;padding:3px 0 4px}.reader-title-actions .ghost-button{flex:0 0 auto}.content-card-reading{min-height:520px;padding:16px 17px 76px;border-radius:19px}.reader-display-toggles{margin:0 0 12px}.reader-guidance{margin-bottom:0}.reader-guidance .reader-guidance-item:nth-of-type(3){display:none}.reader-body p{font-size:1.06rem;line-height:2.18;letter-spacing:.025em}.reader-inline-translation{font-size:.76rem}.note-card{padding:16px}.floating-manual-note-button{right:12px;left:12px}}:root{--bg: #e9e6de;--bg-strong: #dde3da;--panel: rgba(242, 239, 231, .94);--panel-strong: #f2eee5;--line: rgba(57, 70, 61, .16);--line-soft: rgba(104, 88, 68, .13);--text: #303a34;--muted: #6d766f;--brand: #537762;--brand-strong: #365c49;--brand-light: rgba(83, 119, 98, .12);--pink-soft: #eee2e5;--blue-soft: #e1eae9;--input-bg: #f5f0e6;--surface-soft: rgba(238, 234, 224, .94);--surface-active: #eee3d8;--empty-bg: rgba(228, 225, 216, .76)}body{background:radial-gradient(circle at 7% 12%,rgba(170,188,162,.34) 0 5%,transparent 19%),radial-gradient(circle at 95% 9%,rgba(203,174,164,.26) 0 4%,transparent 18%),radial-gradient(circle at 88% 92%,rgba(159,186,181,.24) 0 6%,transparent 22%),linear-gradient(145deg,#e1e6dd,#ece8df 46%,#e8e1d8)}.app-header{background:#f2efe7f0}.today-progress{background:linear-gradient(145deg,#dce4d8e6,#ede8dcf5)}.header-select-sm,.header-theme-btn,.header-more-toggle,.reader-title-actions .ghost-button{background-color:#f1ede3e6}.mode-tab.active{background:#f1ede4}.reader-shell{background:linear-gradient(90deg,rgba(117,137,120,.07) 1px,transparent 1px),linear-gradient(rgba(117,137,120,.07) 1px,transparent 1px),#ebe8def0;background-size:28px 28px}.content-card-reading{background:radial-gradient(circle at 12% 8%,rgba(190,169,138,.09),transparent 26%),repeating-linear-gradient(0deg,rgba(91,75,53,.018) 0 1px,transparent 1px 5px),#f4efe5}.reader-title-flourish:after{background:#f2eee4cc}.reader-title-actions .ghost-button{background:#f0ece2eb}.reader-display-toggles{background:#e9e5dae6}.toggle-chip:hover,.toggle-chip:has(input:checked){background:#f4f0e7e0}.reader-body p{color:#343b36}.reader-body rt{color:#90877e}.reader-inline-translation{background:#e8dedeb3;color:#69645f}.lesson-drawer{background:#efebe2}.lesson-card{background:#f4f0e7eb}.lesson-card.active{background:#e3e9df}.reader-empty{background:radial-gradient(circle at 50% 28%,rgba(170,190,164,.34),transparent 24%),#efebe1d1}.term-detail-popup{background:repeating-linear-gradient(0deg,transparent 0 27px,rgba(105,126,110,.07) 27px 28px),#f2eadf}.highlight-popover{background:#f2eadf}body[data-theme=dark]{--bg: #262a27;--bg-strong: #2c302c;--panel: rgba(45, 49, 45, .95);--panel-strong: #303530;--line: rgba(201, 205, 197, .1);--line-soft: rgba(201, 205, 197, .075);--text: #cbd0c9;--muted: #939b94;--brand: #789783;--brand-strong: #a6b9ab;--brand-light: rgba(120, 151, 131, .13);--pink-strong: #c28a9a;--pink-soft: rgba(153, 92, 111, .18);--blue: #7d9ca5;--blue-soft: rgba(91, 125, 134, .2);--accent: #b49270;--success: #85a58d;--danger: #bd8274;--input-bg: #343934;--surface-soft: rgba(52, 57, 52, .95);--surface-active: rgba(65, 60, 53, .95);--empty-bg: rgba(48, 53, 48, .9);--toast-bg: rgba(38, 42, 38, .96);background:radial-gradient(circle at 8% 12%,rgba(92,116,99,.12) 0 7%,transparent 22%),radial-gradient(circle at 94% 8%,rgba(123,91,84,.1) 0 5%,transparent 19%),linear-gradient(145deg,#242825,#292c29 48%,#2c2926)}body[data-theme=dark] .app-header{background:#2d312df2}body[data-theme=dark] .today-progress{background:linear-gradient(145deg,#3a433bf0,#333631fa)}body[data-theme=dark] .header-select-sm,body[data-theme=dark] .header-theme-btn,body[data-theme=dark] .header-more-toggle,body[data-theme=dark] .reader-title-actions .ghost-button{background-color:#343934}body[data-theme=dark] .mode-tab.active{background:#3a3f3a;color:#b7c3b9}body[data-theme=dark] .reader-shell{background:linear-gradient(90deg,rgba(172,184,173,.035) 1px,transparent 1px),linear-gradient(rgba(172,184,173,.035) 1px,transparent 1px),#2a2e2af5;background-size:28px 28px}body[data-theme=dark] .content-card-reading{border-color:#cdcabe14;background:repeating-linear-gradient(0deg,rgba(225,223,211,.012) 0 1px,transparent 1px 5px),#303530;box-shadow:0 18px 45px #0000001f,inset 0 0 70px #00000009}body[data-theme=dark] .content-card,body[data-theme=dark] .note-card,body[data-theme=dark] .personal-note-card{background-color:#303530}body[data-theme=dark] .reader-title-flourish:after{background:#2f3430}body[data-theme=dark] .reader-display-toggles{background:#313631eb}body[data-theme=dark] .toggle-chip{color:#bfc5be;background:transparent}body[data-theme=dark] .toggle-chip:hover,body[data-theme=dark] .toggle-chip:has(input:checked){background:#3c443dd1;color:#cbd1ca}body[data-theme=dark] .toggle-chip input:after{background:#cfd2cb}body[data-theme=dark] .reader-body p{color:#c9cec7}body[data-theme=dark] .reader-body rt{color:#9a9d97}body[data-theme=dark] .reader-guidance{color:#8f9690}body[data-theme=dark] .reader-inline-translation{border-left-color:#b07d8d42;background:#43393d75;color:#aaa8a3}body[data-theme=dark] .reader-vocab:hover,body[data-theme=dark] .reader-vocab:focus-visible,body[data-theme=dark] .reader-vocab.selected{background:#a05e7033;color:#c998a6}body[data-theme=dark] .reader-vocab:hover rt,body[data-theme=dark] .reader-vocab:focus-visible rt,body[data-theme=dark] .reader-vocab.selected rt{color:#b9959f}body[data-theme=dark] .reader-grammar:hover,body[data-theme=dark] .reader-grammar:focus-visible,body[data-theme=dark] .reader-grammar.selected{background:#577b843b;color:#9bb7bd}body[data-theme=dark] .reader-grammar:hover rt,body[data-theme=dark] .reader-grammar:focus-visible rt,body[data-theme=dark] .reader-grammar.selected rt{color:#94aeb3}body[data-theme=dark] .lesson-drawer{background:#2d322e}body[data-theme=dark] .lesson-card{background:#333934f0}body[data-theme=dark] .lesson-card.active{background:#414e43c2}body[data-theme=dark] .term-detail-popup,body[data-theme=dark] .highlight-popover{background:repeating-linear-gradient(0deg,transparent 0 27px,rgba(190,197,190,.035) 27px 28px),#343934}body[data-theme=dark] .term-detail-word,body[data-theme=dark] .term-detail-meaning,body[data-theme=dark] .term-detail-example-jp{color:#ccd0ca}body[data-theme=dark] .term-detail-close-button,body[data-theme=dark] .term-detail-example,body[data-theme=dark] .term-detail-status-chip{background:#3b403b;color:#afb5ae}body[data-theme=dark] .term-detail-note{background:#354348;color:#aebdc0}body[data-theme=dark] .term-detail-note strong{color:#9eafb2}.image-upload-file-field{min-width:0}.image-file-control{min-height:52px;display:flex;align-items:center;gap:12px;padding:6px;border:1px solid var(--line-soft);border-radius:16px;background:var(--input-bg)}.image-file-select-button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:0 0 auto;padding:8px 13px;border:1px solid color-mix(in srgb,var(--brand) 24%,var(--line));border-radius:11px;background:color-mix(in srgb,var(--surface-soft) 84%,var(--brand) 8%);color:var(--brand-strong);font-size:.8rem;font-weight:700;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.image-file-select-button:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--brand) 44%,var(--line))}.image-file-select-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.image-file-select-button.disabled{opacity:.5;pointer-events:none;cursor:default}.image-file-select-button span{font-size:inherit}.image-file-name{min-width:0;overflow:hidden;color:var(--muted);font-size:.78rem!important;font-weight:500!important;text-overflow:ellipsis;white-space:nowrap}.image-file-name.has-file{color:var(--text);font-weight:600!important}.image-file-help{color:var(--muted);font-size:.7rem;line-height:1.45}body[data-theme=dark] .image-file-control{background:#343934}body[data-theme=dark] .image-file-select-button{background:#3d463f;color:#b3c1b7}.image-upload-tag-field{position:relative;min-width:0}.image-upload-tag-combobox{display:flex;align-items:center;flex-wrap:wrap;gap:7px;min-height:52px;padding:6px 7px;border:1px solid var(--line-soft);border-radius:16px;background:var(--input-bg);transition:border-color .18s ease,box-shadow .18s ease}.image-upload-tag-combobox:focus-within{border-color:color-mix(in srgb,var(--brand) 52%,var(--line));box-shadow:0 0 0 4px var(--focus-ring)}.image-upload-tag-list{display:flex;flex-wrap:wrap;gap:6px;min-height:34px;align-items:center}#image-upload-tag-search{flex:1 1 130px;width:auto;min-width:100px;min-height:34px;padding:5px 7px;border:0;background:transparent;box-shadow:none;outline:none}.image-upload-tag-create-button{flex:0 0 auto;max-width:100%;min-height:34px;padding:6px 10px;overflow:hidden;color:var(--brand-strong);font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}.image-upload-tag-suggestions{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:80;display:grid;gap:4px;max-height:220px;padding:6px;overflow-y:auto;border:1px solid var(--line-soft);border-radius:14px;background:var(--panel-strong);box-shadow:var(--shadow)}.image-upload-tag-suggestions button{width:100%;padding:9px 11px;border:0;border-radius:9px;background:transparent;color:var(--text);font:inherit;font-size:.82rem;text-align:left;cursor:pointer}.image-upload-tag-suggestions button:hover,.image-upload-tag-suggestions button:focus-visible{background:var(--surface-active);color:var(--brand-strong)}.image-upload-selected-tags{display:grid;gap:10px;margin-top:16px;padding:14px 16px;border:1px solid var(--line-soft);border-radius:18px;background:color-mix(in srgb,var(--surface-soft) 72%,transparent)}.image-upload-selected-tags-label{color:var(--text);font-size:.82rem;font-weight:750}.image-upload-tag-chip{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:6px 7px 6px 11px;border:1px solid color-mix(in srgb,var(--brand) 34%,var(--line-soft));border-radius:999px;background:color-mix(in srgb,var(--brand-light) 68%,var(--panel-strong));color:var(--text);font-size:.8rem;font-weight:700}.image-upload-tag-chip>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-upload-tag-chip button{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:0;border-radius:50%;background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--muted);font:700 1rem/1 Arial,sans-serif;cursor:pointer;transition:background .18s ease,color .18s ease}.image-upload-tag-chip button:hover,.image-upload-tag-chip button:focus-visible{background:color-mix(in srgb,var(--danger) 18%,transparent);color:var(--danger)}.image-upload-tags-empty{color:var(--muted);font-size:.78rem}body[data-theme=dark] .image-upload-tag-combobox,body[data-theme=dark] .image-upload-tag-chip{background:#343934f5}body[data-theme=dark] .image-upload-tag-chip{border-color:#a6c9b047}body[data-theme=dark] .image-upload-tag-suggestions{border-color:#a6b9ab2e;background:#343934}body[data-theme=dark] .image-upload-selected-tags{background:#2b302cb8}@media(max-width:520px){.image-file-control{align-items:stretch;flex-direction:column}.image-file-select-button{width:100%}.image-file-name{padding:2px 6px 5px;text-align:center}}.content-card-reading{padding-bottom:38px}.reader-display-toggles{position:relative;z-index:12;margin:0 0 6px}.reader-display-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:6px;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:15px;background:color-mix(in srgb,var(--panel-strong) 60%,transparent);box-shadow:0 4px 14px #5246360b}.reader-grid-action,.reader-grid-chip{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:52px;padding:8px 6px;border:0;border-radius:11px;background:transparent;color:var(--muted);font:inherit;font-size:.68rem;font-weight:700;line-height:1.15;cursor:pointer;text-align:center;text-decoration:none;box-shadow:none;transition:background .18s ease,color .18s ease}.reader-grid-chip{background:color-mix(in srgb,var(--surface-soft) 88%,transparent)}.reader-grid-action:hover,.reader-grid-chip:hover{background:color-mix(in srgb,var(--brand-light) 60%,var(--panel-strong));color:var(--brand-strong)}.reader-grid-chip:has(input:checked){border-color:color-mix(in srgb,var(--brand) 18%,var(--line-soft));background:color-mix(in srgb,var(--brand-light) 48%,var(--surface-soft));color:var(--brand-strong)}.reader-grid-action:focus-visible,.reader-grid-chip:focus-within,.reader-grid-chip:has(input:focus-visible){outline:3px solid var(--focus-ring);outline-offset:2px}.reader-grid-chip input{position:absolute;opacity:0;pointer-events:none}.reader-done-check{position:absolute;top:-8px;right:-8px;z-index:13;width:28px;height:28px;display:flex;align-items:center;justify-content:center;padding:0;border:1.5px solid color-mix(in srgb,var(--brand) 30%,transparent);border-radius:50%;background:var(--panel-strong);color:var(--brand-strong);cursor:pointer;box-shadow:0 2px 8px #5246361a;transition:background .18s ease,color .18s ease,transform .18s ease}.reader-done-check:hover{transform:scale(1.1)}.reader-done-check:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.reader-done-check svg{width:14px;height:14px;stroke-width:2.5}.reader-done-check[data-done=true]{background:color-mix(in srgb,var(--success) 30%,var(--panel-strong));border-color:color-mix(in srgb,var(--success) 40%,transparent);color:var(--success)}body[data-theme=dark] .reader-display-grid{background:#2d322dc7;box-shadow:0 5px 18px #0000001a}body[data-theme=dark] .reader-grid-chip{background:#343934e6}body[data-theme=dark] .reader-done-check{background:#343934f2}body[data-theme=dark] .reader-title-right>.reader-title-actions{background:#343934e6}.reader-language-tabs{width:max-content;max-width:100%;grid-template-columns:repeat(4,minmax(86px,auto));margin:0 0 7px 47px;gap:7px;padding:5px;border:1px solid color-mix(in srgb,var(--line) 76%,transparent);border-radius:15px;background:color-mix(in srgb,var(--panel-strong) 74%,var(--bg-strong));box-shadow:inset 0 1px #ffffff85,0 10px 24px #4a463914}.image-reader-title-main{display:grid;gap:7px}#image-reader-title-row .reader-language-tabs{margin:2px 0 0}.reader-language-tabs .mode-tab{--mode-accent: var(--brand);--mode-accent-strong: var(--brand-strong);position:relative;border-color:color-mix(in srgb,var(--mode-accent) 13%,transparent);background:color-mix(in srgb,var(--mode-accent) 5%,var(--surface-soft));color:color-mix(in srgb,var(--text) 78%,var(--mode-accent-strong));box-shadow:inset 0 -1px color-mix(in srgb,var(--mode-accent) 10%,transparent);font-weight:800}.reader-language-tabs .mode-tab[data-mode-tab=japanese]{--mode-accent: #4f8f68;--mode-accent-strong: #1f6241}.reader-language-tabs .mode-tab[data-mode-tab=english]{--mode-accent: #4f86a6;--mode-accent-strong: #245f80}.reader-language-tabs .mode-tab[data-mode-tab=chinese]{--mode-accent: #b06a72;--mode-accent-strong: #8a3f4a}.reader-language-tabs #image-study-tab{--mode-accent: #b9893e;--mode-accent-strong: #815b20}.reader-language-tabs .mode-tab:hover{border-color:color-mix(in srgb,var(--mode-accent) 34%,var(--line));background:color-mix(in srgb,var(--mode-accent) 12%,var(--surface-soft));color:var(--mode-accent-strong)}.reader-language-tabs .mode-tab.active{border-color:color-mix(in srgb,var(--mode-accent) 42%,var(--line));background:linear-gradient(180deg,color-mix(in srgb,var(--mode-accent) 18%,#fffdf8),color-mix(in srgb,var(--mode-accent) 9%,#f8f3e8));color:var(--mode-accent-strong);transform:translateY(-1px);box-shadow:inset 0 1px #ffffff9e,inset 0 -2px color-mix(in srgb,var(--mode-accent) 38%,transparent),0 7px 16px color-mix(in srgb,var(--mode-accent) 16%,transparent)}body[data-theme=dark] .reader-language-tabs{border-color:#ced5cb1a;background:#2d322df0;box-shadow:inset 0 1px #ffffff09,0 12px 28px #00000029}body[data-theme=dark] .reader-language-tabs .mode-tab{border-color:color-mix(in srgb,var(--mode-accent) 20%,transparent);background:color-mix(in srgb,var(--mode-accent) 9%,#303530);color:color-mix(in srgb,#d8ded7 78%,var(--mode-accent))}body[data-theme=dark] .reader-language-tabs .mode-tab:hover{border-color:color-mix(in srgb,var(--mode-accent) 38%,transparent);background:color-mix(in srgb,var(--mode-accent) 15%,#343934);color:color-mix(in srgb,#eef3ed 78%,var(--mode-accent))}body[data-theme=dark] .reader-language-tabs .mode-tab.active{border-color:color-mix(in srgb,var(--mode-accent) 48%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--mode-accent) 24%,#3a3f3a),color-mix(in srgb,var(--mode-accent) 14%,#303530));color:color-mix(in srgb,#f3f6f1 82%,var(--mode-accent));box-shadow:inset 0 1px #ffffff0f,inset 0 -2px color-mix(in srgb,var(--mode-accent) 42%,transparent),0 5px 14px #00000029}.reader-header-stage{display:grid;grid-template-columns:minmax(0,1fr) 438px;align-items:stretch;gap:clamp(18px,2.5vw,34px);width:100%;height:252px;min-height:252px;padding:2px 5px 0}.reader-header-stage .reader-title-main{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;align-content:stretch;gap:5px;width:100%;max-width:none;min-width:0;height:100%}.reader-header-stage .reader-language-tabs,#image-reader-title-row .reader-language-tabs{margin:0 0 7px 47px}.reader-header-stage h2{display:-webkit-box;min-width:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.reader-header-stage .reader-guidance{min-height:34px;align-content:flex-start}.image-reader-guidance>span:not(:first-child):before{content:"\2022";margin-right:6px;color:var(--brand)}.reader-header-stage .reader-title-right{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:14px;width:438px;min-width:0;height:100%;margin-left:0}.lesson-info-button{position:absolute;top:16px;right:16px;z-index:4;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:0;appearance:none;background:none;color:var(--muted);box-shadow:none;cursor:pointer;transition:color .18s ease}.lesson-info-button svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.lesson-info-button:hover:not(:disabled){transform:none;background:none;color:var(--brand-strong);box-shadow:none}.reader-control-row{display:flex;align-items:center;justify-content:flex-end;gap:10px;width:100%;min-width:0}.reader-control-row .reader-display-toggles{flex:0 0 100%;width:100%;min-width:0;margin:0}.reader-display-layout{display:grid;grid-template-columns:minmax(0,1fr) 76px;align-items:center;gap:8px;width:100%;min-width:0}.reader-upload-grid-action{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:76px;height:76px;padding:8px 5px;border:1px solid color-mix(in srgb,var(--brand) 22%,var(--line-soft));border-radius:12px;background:color-mix(in srgb,var(--brand-light) 42%,var(--panel-strong));color:var(--brand-strong);font:inherit;font-size:.63rem;font-weight:800;line-height:1.15;text-align:center;box-shadow:inset 0 1px #ffffff80,0 5px 14px #52463612;transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease}.reader-upload-grid-action svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.reader-upload-grid-action:hover:not(:disabled){transform:translateY(-1px);border-color:color-mix(in srgb,var(--brand) 42%,var(--line-soft));background:color-mix(in srgb,var(--brand-light) 66%,var(--panel-strong))}.reader-grid-action:disabled,.reader-grid-chip:has(input:disabled),.reader-done-check:disabled,.reader-upload-grid-action:disabled,.reader-header-stage .reader-title-actions button:disabled,.image-stage-tool-button:disabled{cursor:not-allowed;filter:saturate(.45);opacity:.42}.reader-grid-action:disabled:hover,.reader-grid-chip:has(input:disabled):hover,.reader-done-check:disabled:hover,.reader-upload-grid-action:disabled:hover{color:var(--muted);transform:none}.reader-upload-grid-action:disabled,.reader-upload-grid-action:disabled:hover{border-color:color-mix(in srgb,var(--line) 76%,transparent);background:color-mix(in srgb,var(--surface-soft) 78%,transparent);box-shadow:none}.reader-grid-chip:has(input:disabled),.reader-grid-chip:has(input:disabled):hover{background:color-mix(in srgb,var(--surface-soft) 78%,transparent)}.image-stage-card{min-height:620px}body[data-theme=dark] .reader-grid-chip:has(input:disabled),body[data-theme=dark] .reader-grid-chip:has(input:disabled):hover{background:#343934a8}body[data-theme=dark] .reader-upload-grid-action{border-color:#94b49d33;background:#374239eb;color:#b8cabb;box-shadow:0 5px 14px #0000001f}body[data-theme=dark] .reader-upload-grid-action:disabled{border-color:#ced5cb14;background:#3439349e;color:var(--muted)}.reader-title-right>.reader-title-actions,.reader-display-grid{border:1px solid color-mix(in srgb,var(--line) 76%,transparent);background:color-mix(in srgb,var(--panel-strong) 74%,var(--bg-strong));box-shadow:inset 0 1px #ffffff85,0 10px 24px #4a463912}.reader-title-actions .ghost-button,.reader-grid-action,.reader-grid-chip,.reader-upload-grid-action{--action-accent: var(--brand);--action-accent-strong: var(--brand-strong);border:1px solid color-mix(in srgb,var(--action-accent) 13%,transparent);background:color-mix(in srgb,var(--action-accent) 5%,var(--surface-soft));color:color-mix(in srgb,var(--text) 76%,var(--action-accent-strong));box-shadow:inset 0 -1px color-mix(in srgb,var(--action-accent) 10%,transparent);transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}.reader-title-actions .ghost-button:hover:not(:disabled),.reader-grid-action:hover:not(:disabled),.reader-grid-chip:not(:has(input:disabled)):hover,.reader-upload-grid-action:hover:not(:disabled){border-color:color-mix(in srgb,var(--action-accent) 34%,var(--line));background:color-mix(in srgb,var(--action-accent) 12%,var(--surface-soft));color:var(--action-accent-strong);transform:translateY(-1px)}.reader-title-actions .ghost-button[aria-pressed=true],.reader-grid-action[aria-pressed=true],.reader-grid-chip:has(input:checked:not(:disabled)){border-color:color-mix(in srgb,var(--action-accent) 42%,var(--line));background:linear-gradient(180deg,color-mix(in srgb,var(--action-accent) 18%,#fffdf8),color-mix(in srgb,var(--action-accent) 9%,#f8f3e8));color:var(--action-accent-strong);transform:translateY(-1px);box-shadow:inset 0 1px #ffffff9e,inset 0 -2px color-mix(in srgb,var(--action-accent) 38%,transparent),0 7px 16px color-mix(in srgb,var(--action-accent) 16%,transparent)}.reader-done-check{border-radius:10px}.reader-done-check[data-done=true]{transform:translateY(-1px);box-shadow:inset 0 -2px color-mix(in srgb,var(--success) 42%,transparent),0 6px 14px color-mix(in srgb,var(--success) 18%,transparent)}body[data-theme=dark] .reader-title-right>.reader-title-actions,body[data-theme=dark] .reader-display-grid{border-color:#ced5cb1a;background:#2d322df0;box-shadow:inset 0 1px #ffffff09,0 12px 28px #00000024}body[data-theme=dark] .reader-title-actions .ghost-button,body[data-theme=dark] .reader-grid-action,body[data-theme=dark] .reader-grid-chip,body[data-theme=dark] .reader-upload-grid-action{border-color:color-mix(in srgb,var(--action-accent) 20%,transparent);background:color-mix(in srgb,var(--action-accent) 9%,#303530);color:color-mix(in srgb,#d8ded7 78%,var(--action-accent))}body[data-theme=dark] .reader-title-actions .ghost-button:hover:not(:disabled),body[data-theme=dark] .reader-grid-action:hover:not(:disabled),body[data-theme=dark] .reader-grid-chip:not(:has(input:disabled)):hover,body[data-theme=dark] .reader-upload-grid-action:hover:not(:disabled){border-color:color-mix(in srgb,var(--action-accent) 38%,transparent);background:color-mix(in srgb,var(--action-accent) 15%,#343934);color:color-mix(in srgb,#eef3ed 78%,var(--action-accent))}body[data-theme=dark] .reader-title-actions .ghost-button[aria-pressed=true],body[data-theme=dark] .reader-grid-action[aria-pressed=true],body[data-theme=dark] .reader-grid-chip:has(input:checked:not(:disabled)){border-color:color-mix(in srgb,var(--action-accent) 48%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--action-accent) 24%,#3a3f3a),color-mix(in srgb,var(--action-accent) 14%,#303530));color:color-mix(in srgb,#f3f6f1 82%,var(--action-accent));box-shadow:inset 0 1px #ffffff0f,inset 0 -2px color-mix(in srgb,var(--action-accent) 42%,transparent),0 5px 14px #00000029}.manual-note-item.selected,.available-lesson-item.selected{border-color:color-mix(in srgb,var(--brand) 38%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--brand-light) 42%,var(--panel-strong)),color-mix(in srgb,var(--surface-soft) 94%,var(--brand) 6%));box-shadow:inset 3px 0 color-mix(in srgb,var(--brand) 62%,transparent),0 8px 20px #3e544414}.manual-note-item.selected:hover,.available-lesson-item.selected:hover{border-color:color-mix(in srgb,var(--brand) 52%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--brand-light) 54%,var(--panel-strong)),color-mix(in srgb,var(--surface-soft) 90%,var(--brand) 10%))}body[data-theme=dark] .manual-note-item.selected,body[data-theme=dark] .available-lesson-item.selected{border-color:#7f9d8752;background:linear-gradient(135deg,#3d4c41e6,#313933f5);box-shadow:inset 3px 0 #8bae949e,0 9px 22px #00000024}body[data-theme=dark] .manual-note-item.selected:hover,body[data-theme=dark] .available-lesson-item.selected:hover{border-color:#91b59a70;background:linear-gradient(135deg,#425346f0,#333d36fa)}@media(max-width:860px){.reader-header-stage{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:16px;height:470px;min-height:470px}.reader-header-stage .reader-title-right{align-items:stretch;width:100%;height:auto;margin-left:0}.reader-header-stage .reader-title-right>.reader-title-actions{align-self:flex-end;justify-content:flex-end}.reader-control-row{justify-content:flex-end}}@media(max-width:640px){.content-card-reading{padding-bottom:32px}.reader-display-grid{gap:4px;padding:5px}.reader-language-tabs{width:100%;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:2px 0 8px;padding:4px}.reader-header-stage{height:480px;min-height:480px;padding-inline:0}.reader-header-stage .reader-language-tabs,#image-reader-title-row .reader-language-tabs{margin:2px 0 8px}.reader-control-row{display:block}.reader-display-layout{grid-template-columns:minmax(0,1fr) 68px;gap:6px}.reader-upload-grid-action{width:68px;height:68px;padding-inline:4px;font-size:.59rem}.reader-control-row .reader-display-toggles{width:100%}.reader-language-tabs .mode-tab{min-width:0;padding:8px 4px;font-size:clamp(.66rem,2.6vw,.8rem)}.reader-grid-action,.reader-grid-chip{min-height:48px;font-size:.65rem}.image-stage-card{min-height:520px}}@media(max-width:520px){.reader-header-stage{height:510px;min-height:510px}}.study-view-skeleton{display:grid;gap:24px;min-height:680px;padding:2px 5px 0}.reader-shell.is-study-loading>.reader-content,.reader-shell.is-study-loading>.image-reader-content,.reader-shell.is-study-loading>.active-filter-chips{display:none!important}.skeleton-header{display:grid;align-content:end;gap:12px;min-height:190px;padding-bottom:12px}.skeleton-line,.skeleton-card{position:relative;overflow:hidden;background:color-mix(in srgb,var(--line) 48%,var(--surface-soft))}.skeleton-line:after,.skeleton-card:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--panel) 72%,transparent),transparent);animation:study-skeleton-shimmer 1.25s ease-in-out infinite}.skeleton-line{display:block;height:13px;border-radius:999px}.skeleton-overline{width:170px;height:10px}.skeleton-tabs{width:min(420px,72%);height:38px;border-radius:12px}.skeleton-title{width:min(560px,82%);height:54px;border-radius:16px}.skeleton-hint{width:min(680px,92%)}.skeleton-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:22px}.skeleton-card{display:grid;align-content:start;gap:18px;min-height:440px;padding:42px;border:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-radius:26px 18px 24px 20px}.skeleton-side-card{min-height:360px}.skeleton-copy-wide{width:100%}.skeleton-copy-medium{width:72%}.skeleton-copy-short{width:45%}@keyframes study-skeleton-shimmer{to{transform:translate(100%)}}.reader-content.is-loading .reader-header-stage{opacity:.78}.reader-content.is-loading .reader-empty{opacity:.72}.reader-header-stage.is-empty .reader-title-right{display:none}.reader-content>.reader-empty{min-height:clamp(260px,42vh,440px);margin-top:18px}.reader-grid-switch{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--line) 76%,transparent);border-radius:11px;background:color-mix(in srgb,var(--surface-soft) 88%,transparent);color:var(--text);font-size:.72rem;font-weight:700;line-height:1.15;cursor:pointer;transition:border-color .18s ease,background .18s ease,color .18s ease}.reader-grid-switch input{position:absolute;opacity:0;pointer-events:none}.reader-grid-switch-track{position:relative;width:38px;height:22px;flex:0 0 auto;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--muted) 28%,transparent);transition:background .18s ease,border-color .18s ease}.reader-grid-switch-track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--panel);box-shadow:0 2px 6px #24302a2e;transition:transform .18s ease}.reader-grid-switch input:checked+.reader-grid-switch-track{border-color:color-mix(in srgb,var(--brand) 52%,var(--line));background:var(--brand)}.reader-grid-switch input:checked+.reader-grid-switch-track:after{transform:translate(16px)}.reader-grid-switch:has(input:focus-visible){outline:3px solid var(--focus-ring);outline-offset:2px}.reader-grid-switch:hover{border-color:color-mix(in srgb,var(--brand) 34%,var(--line));background:color-mix(in srgb,var(--brand-light) 50%,var(--surface-soft))}.reader-grid-switch:has(input:disabled){cursor:not-allowed;filter:saturate(.45);opacity:.42}body[data-theme=dark] .reader-grid-switch{border-color:#ced5cb1f;background:#343934e6;color:#d8ded7}@media(prefers-reduced-motion:reduce){.skeleton-line:after,.skeleton-card:after{animation:none}.reader-content.is-loading .reader-header-stage,.reader-content.is-loading .reader-empty,.reader-grid-switch,.reader-grid-switch-track,.reader-grid-switch-track:after{transition:none}.comment-note-bubble{transition:none}}.reader-overline-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;margin-left:2px;padding:7px 12px;border:1px solid color-mix(in srgb,var(--brand) 22%,var(--line-soft));border-radius:11px;background:color-mix(in srgb,var(--brand-light) 36%,var(--panel-strong));color:var(--brand-strong);font-size:.75rem;font-weight:800;letter-spacing:0;box-shadow:inset 0 1px #ffffff7a}.reader-focus-icon{width:17px;height:17px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.reader-overline-action[aria-pressed=true]{border-color:color-mix(in srgb,var(--brand) 70%,var(--brand-strong));background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 88%,#ffffff),var(--brand-strong));color:#fff;transform:translateY(-1px);box-shadow:inset 0 1px #fff3,0 6px 16px color-mix(in srgb,var(--brand) 28%,transparent)}.reader-overline-action[aria-pressed=true] .reader-focus-icon{stroke-width:2.25}.comments-toggle-button[aria-pressed=true]{border-color:color-mix(in srgb,var(--brand) 42%,var(--line-soft));background:color-mix(in srgb,var(--brand-light) 72%,var(--panel-strong));color:var(--brand-strong);transform:none;box-shadow:inset 0 1px #ffffff80}.comments-toggle-button[aria-pressed=true] .reader-focus-icon{stroke-width:2}.reader-header-stage .reader-title-right{justify-content:flex-start;padding-top:34px}.reader-control-row{justify-content:center}.reader-header-stage .reader-guidance{margin-top:0}.reader-content{gap:10px}.reader-display-layout{grid-template-columns:minmax(0,1fr) 76px;align-items:stretch}.reader-utility-stack{display:grid;grid-template-rows:34px 1fr;gap:6px;width:76px;min-width:0}.reader-utility-favorite{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:34px;padding:0;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line-soft));border-radius:11px;background:color-mix(in srgb,var(--accent) 8%,var(--panel-strong));color:#b27642;font:inherit;font-size:1.08rem;cursor:pointer;box-shadow:inset 0 1px #ffffff80;transition:transform .18s ease,border-color .18s ease,background .18s ease}.reader-utility-favorite:hover:not(:disabled),.reader-utility-favorite[aria-pressed=true]{border-color:color-mix(in srgb,var(--accent) 44%,var(--line-soft));background:color-mix(in srgb,var(--accent) 15%,var(--panel-strong));transform:translateY(-1px)}.reader-utility-stack .reader-upload-grid-action{height:100%;min-height:0}body[data-theme=dark] .reader-overline-action,body[data-theme=dark] .reader-utility-favorite{border-color:#b4927033;background:#3a3a33eb}body[data-theme=dark] .reader-overline-action[aria-pressed=true]{border-color:color-mix(in srgb,var(--brand) 76%,#dfe8e0);background:linear-gradient(135deg,#6f927a,#52745e);color:#fff}body[data-theme=dark] .comments-toggle-button[aria-pressed=true]{border-color:#a6c9b061;background:#414d44f5;color:#e4eee6}.highlight-popover{width:min(390px,calc(100vw - 24px));gap:10px;padding:16px;border-radius:18px;box-shadow:0 18px 48px #34302933}.highlight-popover-header{display:flex;align-items:flex-start;gap:12px;min-width:0;padding-bottom:10px;border-bottom:1px solid color-mix(in srgb,var(--brand) 16%,var(--line-soft))}.highlight-selection-preview{flex:1 1 auto;min-width:0;padding-left:12px;border-left:3px solid color-mix(in srgb,var(--accent) 72%,var(--brand));color:color-mix(in srgb,var(--text) 88%,var(--brand-strong));font-family:"Noto Serif JP",Yu Mincho,serif;font-size:.94rem;font-weight:600;line-height:1.65}.highlight-icon-actions{display:inline-flex;flex:0 0 auto;align-items:center;gap:6px}.highlight-icon-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid color-mix(in srgb,var(--brand) 20%,var(--line-soft));border-radius:10px;background:color-mix(in srgb,var(--brand-light) 34%,var(--panel-strong));color:var(--brand-strong);cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.highlight-icon-button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.highlight-icon-button:hover{border-color:color-mix(in srgb,var(--brand) 42%,var(--line-soft));background:color-mix(in srgb,var(--brand-light) 70%,var(--panel-strong));transform:translateY(-1px)}.highlight-icon-button-danger{color:var(--danger)}.highlight-comment-view,.highlight-comment-input{min-height:88px;border-radius:14px}body[data-theme=dark] .highlight-icon-button{border-color:#a6b9ab29;background:#343934f0}@media(max-width:860px){.reader-header-stage .reader-title-right{padding-top:0}}@media(max-width:640px){.reader-overline-action{margin-left:0}.reader-display-layout{grid-template-columns:minmax(0,1fr) 68px}.reader-utility-stack{width:68px}}.term-detail-loading{display:grid;gap:18px;min-height:360px}.term-detail-loading-word{min-height:42px;color:var(--text);font-family:"Noto Serif JP",serif;font-size:2.1rem;font-weight:700;line-height:1.1}.term-detail-skeleton-line,.term-detail-skeleton-block,.term-detail-skeleton-chips span{position:relative;overflow:hidden;background:color-mix(in srgb,var(--line) 48%,var(--surface-soft))}.term-detail-skeleton-line:after,.term-detail-skeleton-block:after,.term-detail-skeleton-chips span:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--panel) 78%,transparent),transparent);animation:study-skeleton-shimmer 1.25s ease-in-out infinite}.term-detail-skeleton-line{width:82%;height:14px;border-radius:999px}.term-detail-skeleton-line.is-note{width:94%}.term-detail-skeleton-line.is-note-short{width:66%}.term-detail-skeleton-block{width:100%;height:88px;border-radius:14px}.term-detail-skeleton-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.term-detail-skeleton-chips span{height:32px;border-radius:999px}@media(prefers-reduced-motion:reduce){.term-detail-skeleton-line:after,.term-detail-skeleton-block:after,.term-detail-skeleton-chips span:after{animation:none}}@media(max-width:760px){.skeleton-workspace{grid-template-columns:1fr}.skeleton-side-card{display:none}.skeleton-card{min-height:420px;padding:28px 22px}}body[data-theme=dark] .reader-empty{border-color:#97ae9d47;background:radial-gradient(circle at 50% 28%,rgba(103,137,112,.2),transparent 26%),#2a302bf0;color:#b9c4bb}body[data-theme=dark] .reader-empty h2{color:#eef3ed;opacity:.92}body[data-theme=dark] .reader-empty p{color:#b9c4bb}.drawer-overlay{display:none!important}.lesson-drawer{box-shadow:none;opacity:1;transform:translate(-100%);transition:transform .28s cubic-bezier(.4,0,.2,1)}.lesson-drawer.open{transform:translate(0)}.floating-menu-button,.floating-menu-button.active{top:50%;left:0;width:34px;height:68px;border:1px solid color-mix(in srgb,var(--brand) 54%,var(--line));border-left:0;border-radius:0 14px 14px 0;background:linear-gradient(145deg,#638b71,#38644f);box-shadow:0 5px 14px #2f523e2e;transform:translateY(-50%);transition:left .28s cubic-bezier(.4,0,.2,1),background .18s ease,border-color .18s ease}.floating-menu-button.active{left:var(--lesson-drawer-width)}.floating-menu-button:hover,.floating-menu-button.active:hover{transform:translateY(-50%);border-color:color-mix(in srgb,var(--brand) 76%,var(--line));background:linear-gradient(145deg,#6f987d,#416c58);box-shadow:0 6px 16px #2f523e38}.floating-menu-chevron{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .24s ease}.floating-menu-button.active .floating-menu-chevron{transform:rotate(180deg)}@media(max-width:899px){.floating-menu-button.active{left:calc(var(--lesson-drawer-width) - 34px);border-right:0;border-left:1px solid color-mix(in srgb,var(--brand) 54%,var(--line));border-radius:14px 0 0 14px}}body[data-theme=dark] .lesson-drawer-header{border-bottom-color:#becdc124;background:radial-gradient(circle at 17% 35%,rgba(91,119,98,.22),transparent 27%),linear-gradient(180deg,#343b35,#2d332e)}body[data-theme=dark] .lesson-drawer-header .modal-eyebrow{color:#aebcaf}body[data-theme=dark] .lesson-drawer-header h2{color:#f0f4ef}.drawer-load-more{width:100%;min-height:40px;margin-top:4px;border-style:dashed;color:var(--brand-strong)}.lesson-drawer .lesson-card{content-visibility:auto;contain-intrinsic-size:104px}@media(prefers-reduced-motion:reduce){.lesson-drawer,.floating-menu-button,.floating-menu-chevron{transition:none}}.reader-shell{position:relative;min-height:760px}.study-view-skeleton{position:absolute;inset:22px;z-index:20;grid-template-rows:220px minmax(440px,1fr);min-height:0;padding:0}.skeleton-header{min-height:220px}.reader-header-stage{grid-template-columns:minmax(0,1fr) 438px;height:auto;min-height:0}.reader-header-stage .reader-title-main{grid-template-rows:auto auto auto minmax(0,1fr)}.reader-header-stage .reader-title-right{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:14px;width:438px;min-width:0;height:100%;margin-left:0}.reader-header-stage .reader-title-right>.reader-title-actions{align-self:flex-end;flex:0 0 auto;max-width:100%}.reader-header-stage.is-empty{grid-template-columns:minmax(0,1fr);height:auto;min-height:0}.reader-header-stage.is-empty .reader-title-main{grid-template-rows:auto auto;height:auto}.reader-header-stage.is-empty h2,.reader-header-stage.is-empty .reader-title-right,.reader-header-stage.is-empty .reader-guidance{display:none}.reader-content:has(.reader-header-stage.is-empty){gap:0}.reader-content>.reader-empty{min-height:610px;margin-top:0;border-radius:0 0 24px 24px}.reader-term{padding:0;margin:0}.reader-title-right button:disabled,.reader-grid-switch:has(input:disabled){cursor:not-allowed;pointer-events:none;filter:saturate(.45);opacity:.42}@media(max-width:860px){.reader-shell{min-height:820px}.study-view-skeleton{grid-template-rows:390px minmax(420px,1fr)}.skeleton-header{min-height:390px}.reader-header-stage{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;height:auto;min-height:0}.reader-header-stage .reader-title-right{width:100%;height:auto}.reader-header-stage.is-empty{grid-template-rows:auto;height:auto;min-height:0}}@media(max-width:640px){.reader-shell{min-height:860px}.study-view-skeleton{inset:18px}.reader-header-stage,.reader-header-stage.is-empty{height:auto;min-height:0}.reader-content>.reader-empty{min-height:680px}}@media(max-width:520px){.reader-header-stage,.reader-header-stage.is-empty{height:auto;min-height:0}}.study-view-skeleton{display:none!important}.reader-shell.is-study-loading>.reader-content:not(.hidden),.reader-shell.is-study-loading>.image-reader-content:not(.hidden){display:grid!important;visibility:visible;pointer-events:none}.reader-shell.is-study-loading>.active-filter-chips{visibility:hidden}.reader-shell.is-study-loading .reader-title-overline,.reader-shell.is-study-loading .reader-language-tabs .mode-tab,.reader-shell.is-study-loading .reader-header-stage h2,.reader-shell.is-study-loading .reader-guidance>span,.reader-shell.is-study-loading .reader-title-actions>button,.reader-shell.is-study-loading .reader-grid-action,.reader-shell.is-study-loading .reader-grid-switch,.reader-shell.is-study-loading .reader-upload-grid-action,.reader-shell.is-study-loading .reader-done-check,.reader-shell.is-study-loading .reader-empty h2,.reader-shell.is-study-loading .reader-empty p,.reader-shell.is-study-loading #reader-body>p,.reader-shell.is-study-loading .reader-inline-translation,.reader-shell.is-study-loading .image-stage-card,.reader-shell.is-study-loading .note-card{position:relative;overflow:hidden;color:transparent!important;border-color:transparent!important;background:color-mix(in srgb,var(--line) 46%,var(--surface-soft))!important;box-shadow:none!important}.reader-shell.is-study-loading .reader-title-overline>*,.reader-shell.is-study-loading .reader-language-tabs .mode-tab>*,.reader-shell.is-study-loading .reader-guidance>span>*,.reader-shell.is-study-loading .reader-title-actions>button>*,.reader-shell.is-study-loading .reader-grid-action>*,.reader-shell.is-study-loading .reader-grid-switch>*,.reader-shell.is-study-loading .reader-upload-grid-action>*,.reader-shell.is-study-loading .reader-done-check>*,.reader-shell.is-study-loading .image-stage-card>*,.reader-shell.is-study-loading .note-card>*{opacity:0}.reader-shell.is-study-loading .reader-title-overline:after,.reader-shell.is-study-loading .reader-language-tabs .mode-tab:after,.reader-shell.is-study-loading .reader-header-stage h2:after,.reader-shell.is-study-loading .reader-guidance>span:after,.reader-shell.is-study-loading .reader-title-actions>button:after,.reader-shell.is-study-loading .reader-grid-action:after,.reader-shell.is-study-loading .reader-grid-switch:after,.reader-shell.is-study-loading .reader-upload-grid-action:after,.reader-shell.is-study-loading .reader-done-check:after,.reader-shell.is-study-loading .reader-empty h2:after,.reader-shell.is-study-loading .reader-empty p:after,.reader-shell.is-study-loading #reader-body>p:after,.reader-shell.is-study-loading .reader-inline-translation:after,.reader-shell.is-study-loading .image-stage-card:after,.reader-shell.is-study-loading .note-card:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--panel) 76%,transparent),transparent);animation:study-skeleton-shimmer 1.25s ease-in-out infinite}.reader-shell.is-study-loading .reader-title-overline{width:170px;min-height:18px;border-radius:999px}.reader-shell.is-study-loading .reader-header-stage h2{width:min(560px,82%);min-height:54px;border-radius:16px}.reader-shell.is-study-loading .reader-guidance>span{min-width:116px;min-height:13px;border-radius:999px}.reader-shell.is-study-loading .reader-empty{background:var(--empty-bg)}.reader-shell.is-study-loading .reader-empty h2{width:min(380px,72%);min-height:30px;margin-inline:auto;border-radius:10px}.reader-shell.is-study-loading .reader-empty p{width:min(520px,86%);min-height:16px;margin:12px auto 0;border-radius:999px}.reader-shell.is-study-loading #reader-body>p{min-height:22px;border-radius:8px}.lesson-drawer.is-loading .lesson-card,.lesson-drawer.is-loading .lesson-list>.empty-state,.lesson-drawer.is-loading .drawer-load-more{position:relative;min-height:104px;overflow:hidden;color:transparent!important;border-color:transparent!important;background:color-mix(in srgb,var(--line) 46%,var(--surface-soft))!important;box-shadow:none!important;pointer-events:none}.lesson-drawer.is-loading .lesson-card>*,.lesson-drawer.is-loading .lesson-list>.empty-state>*,.lesson-drawer.is-loading .drawer-load-more>*{opacity:0}.lesson-drawer.is-loading .lesson-card:after,.lesson-drawer.is-loading .lesson-list>.empty-state:after,.lesson-drawer.is-loading .drawer-load-more:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--panel) 76%,transparent),transparent);animation:study-skeleton-shimmer 1.25s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.reader-shell.is-study-loading .reader-title-overline:after,.reader-shell.is-study-loading .reader-language-tabs .mode-tab:after,.reader-shell.is-study-loading .reader-header-stage h2:after,.reader-shell.is-study-loading .reader-guidance>span:after,.reader-shell.is-study-loading .reader-title-actions>button:after,.reader-shell.is-study-loading .reader-grid-action:after,.reader-shell.is-study-loading .reader-grid-switch:after,.reader-shell.is-study-loading .reader-upload-grid-action:after,.reader-shell.is-study-loading .reader-done-check:after,.reader-shell.is-study-loading .reader-empty h2:after,.reader-shell.is-study-loading .reader-empty p:after,.reader-shell.is-study-loading #reader-body>p:after,.reader-shell.is-study-loading .reader-inline-translation:after,.reader-shell.is-study-loading .image-stage-card:after,.reader-shell.is-study-loading .note-card:after,.lesson-drawer.is-loading .lesson-card:after,.lesson-drawer.is-loading .lesson-list>.empty-state:after,.lesson-drawer.is-loading .drawer-load-more:after{animation:none}}
/*# sourceMappingURL=styles.css.map */
