[data-font=serif]{--display-font:"Playfair Display", serif;--body-font:"Lora", serif;--body-weight:400;--chapter-title-font:"Playfair Display", serif;--chapter-title-style:italic;--chapter-letter-spacing:.01em;--chapter-text-transform:none}[data-font=modern]{--display-font:"DM Serif Display", serif;--body-font:"Open Sans", sans-serif;--body-weight:400;--chapter-title-font:"DM Serif Display", serif;--chapter-title-style:normal;--chapter-letter-spacing:0;--chapter-text-transform:none}[data-font=accessible]{--display-font:"Atkinson Hyperlegible", "Open Sans", sans-serif;--body-font:"Atkinson Hyperlegible", "Open Sans", sans-serif;--body-weight:400;--chapter-title-font:"Atkinson Hyperlegible", "Open Sans", sans-serif;--chapter-title-style:normal;--chapter-letter-spacing:0;--chapter-text-transform:none}[data-theme=library]{--shell-bg:#d6cdc0;--bg:#f9f3e8;--bg-grad:radial-gradient(ellipse at 20% 85%, #c47a2b12 0%, transparent 55%);--surface:#f9f3e8eb;--border:#3d2f1e1a;--text:#3d2f1e;--text-muted:#9a7a52;--heading:#2a1f0e;--accent:#c47a2b;--word-hover:#c47a2b21;--word-active:#f4d08a;--word-active-fg:#2a1f0e;--popup-bg:#231806;--popup-fg:#f5e6c8;--popup-word-fg:#f4d08a;--popup-note-fg:#a8896a;--popup-pos-fg:#7a6040;--popup-shadow:0 8px 28px #00000052;--popup-border-color:#c47a2b40;--popup-radius:10px;--btn-bg:#c47a2b;--btn-fg:#fff;--btn-radius:10px;--progress-bg:#3d2f1e1a;--tag-bg:#c47a2b;--tag-fg:#fff;--tag-radius:5px;--tag-border:none;--settings-icon-color:#9a7a52;--header-border:1px solid #3d2f1e1a}[data-theme=midnight]{--shell-bg:#04090f;--bg:#0a1118;--bg-grad:radial-gradient(ellipse at 50% 0%, #1432508c 0%, transparent 65%);--surface:#0a1118eb;--border:#ffffff12;--text:#c0cfe6;--text-muted:#3e5670;--heading:#dce8f8;--accent:#5ce0d8;--word-hover:#5ce0d817;--word-active:#5ce0d833;--word-active-fg:#fff;--popup-bg:#081622;--popup-fg:#dce8f8;--popup-word-fg:#5ce0d8;--popup-note-fg:#3e5670;--popup-pos-fg:#263a4a;--popup-shadow:0 0 0 1px #5ce0d824, 0 16px 40px #000000bf;--popup-border-color:transparent;--popup-radius:10px;--btn-bg:#5ce0d81a;--btn-fg:#5ce0d8;--btn-radius:10px;--btn-border:1px solid #5ce0d838;--progress-bg:#ffffff0f;--tag-bg:#5ce0d81a;--tag-fg:#5ce0d8;--tag-radius:5px;--tag-border:1px solid #5ce0d847;--settings-icon-color:#3e5670;--header-border:1px solid #ffffff12}[data-theme=studio]{--shell-bg:#cdc8c0;--bg:#f4efe9;--bg-grad:none;--surface:#f4efe9;--border:#000000d9;--text:#1a1a1a;--text-muted:#888;--heading:#1a1a1a;--accent:#e8391a;--word-hover:#e8391a12;--word-active:#e8391a;--word-active-fg:#fff;--popup-bg:#1a1a1a;--popup-fg:#f4efe9;--popup-word-fg:#e8391a;--popup-note-fg:#777;--popup-pos-fg:#444;--popup-shadow:4px 4px 0 #e8391a;--popup-border-color:#e8391a;--popup-radius:0;--btn-bg:#e8391a;--btn-fg:#fff;--btn-radius:0;--progress-bg:#0000001f;--tag-bg:#e8391a;--tag-fg:#fff;--tag-radius:0;--tag-border:none;--settings-icon-color:#888;--header-border:2px solid #1a1a1a}.settings-overlay{z-index:8000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000002e;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.settings-panel{z-index:8001;border-radius:16px;width:min(440px,100vw - 32px);max-height:calc(100vh - 32px);padding:22px 24px 26px;font-family:DM Sans,sans-serif;animation:.2s ease-out fadeIn;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 30px 80px #00000040}[data-theme=midnight] .settings-panel{color:#c0cfe6;background:#0d1f2d;border:1px solid #ffffff1a}[data-theme=library] .settings-panel,[data-theme=studio] .settings-panel{color:#111;background:#fff;border:1px solid #e0e0e0}.settings-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.settings-title{font-size:18px;font-weight:800}.close-btn{cursor:pointer;background:#0000000d;border:none;border-radius:999px;justify-content:center;align-items:center;width:32px;height:32px;font-size:22px;line-height:1;display:flex}.settings-section{margin-bottom:20px}.settings-label{text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px;font-size:10px;font-weight:700;display:block}[data-theme=midnight] .settings-label{color:#3e5670}[data-theme=library] .settings-label,[data-theme=studio] .settings-label{color:#aaa}.option-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.option-btn{cursor:pointer;text-align:center;border:none;border-radius:10px;padding:10px;font-size:13px;font-weight:600;transition:all .2s}.option-btn.active{background:var(--accent);color:#fff}[data-theme=midnight] .option-btn:not(.active){color:#c0cfe6;background:#ffffff12}[data-theme=library] .option-btn:not(.active),[data-theme=studio] .option-btn:not(.active){color:#111;background:#f5f5f5}.option-btn.disabled{opacity:.3;cursor:not-allowed;filter:grayscale()}.font-grid{grid-template-columns:repeat(2,1fr)}.font-option-serif{font-family:Lora,serif}.font-option-sans{font-family:Open Sans,sans-serif}.font-option-accessible{font-family:Atkinson Hyperlegible,Open Sans,sans-serif}.size-controls{align-items:center;gap:15px;display:flex}.size-preview-small{opacity:.4;font-size:13px}.size-preview-large{opacity:.7;font-size:21px}.size-btn{cursor:pointer;background:#f5f5f5;border:1px solid #0000001a;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex}[data-theme=midnight] .size-btn{color:#fff;background:#ffffff12;border-color:#ffffff1a}input[type=range]{accent-color:var(--accent);flex:1}.auth-panel{z-index:8001;border-radius:16px;width:min(420px,100vw - 32px);max-height:calc(100vh - 32px);padding:22px 24px 26px;font-family:DM Sans,sans-serif;animation:.2s ease-out fadeIn;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 30px 80px #00000040}.auth-header{font-size:22px;line-height:1}.auth-input{color:#111;background:#f5f5f5;border:1px solid #0000001a;border-radius:10px;outline:none;width:100%;padding:12px 14px;font-family:DM Sans,sans-serif;font-size:14px;transition:border-color .15s,box-shadow .15s}.auth-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent)}.auth-password-input-wrap{position:relative}.auth-password-input{padding-right:48px}.auth-password-toggle{width:36px;height:36px;color:inherit;cursor:pointer;opacity:.58;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;transition:opacity .15s,background .15s;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.auth-password-toggle:hover,.auth-password-toggle:focus-visible{opacity:.9;background:#0000000f;outline:none}.auth-password-toggle .material-icons{font-size:20px;line-height:1}[data-theme=midnight] .auth-panel{color:#c0cfe6;background:#0d1f2d;border:1px solid #ffffff1a}[data-theme=library] .auth-panel,[data-theme=studio] .auth-panel{color:#111;background:#fff;border:1px solid #e0e0e0}[data-theme=midnight] .auth-input{color:#c0cfe6;background:#ffffff12;border-color:#ffffff1a}[data-theme=midnight] .auth-password-toggle:hover,[data-theme=midnight] .auth-password-toggle:focus-visible{background:#ffffff14}.auth-provider-list{flex-direction:row;gap:10px;margin-bottom:18px;display:flex}.auth-provider-btn{color:#111;cursor:pointer;background:#fff;border:1px solid #00000024;border-radius:10px;justify-content:center;align-items:center;gap:10px;width:100%;padding:12px 16px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:700;transition:opacity .15s,transform 50ms;display:flex}.auth-provider-btn:hover:not(:disabled){opacity:.88}.auth-provider-btn:active:not(:disabled){transform:translateY(1px)}.auth-provider-btn:disabled{opacity:.55;cursor:progress}.auth-provider-mark{color:#fff;background:#111;border-radius:999px;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;font-weight:800;display:inline-flex}.auth-divider{opacity:.58;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:0 0 18px;font-size:12px;display:grid}.auth-divider span:first-child,.auth-divider span:last-child{opacity:.22;background:currentColor;height:1px}[data-theme=midnight] .auth-provider-btn{color:#c0cfe6;background:#ffffff12;border-color:#ffffff1f}[data-theme=midnight] .auth-provider-mark{color:#0d1f2d;background:#c0cfe6}.auth-primary-btn{cursor:pointer;background:var(--accent);border:1px solid var(--accent);width:100%;color:var(--accent);background:0 0;border-radius:10px;padding:12px 16px;font-size:14px;font-weight:700;transition:opacity .15s,transform 50ms}.auth-primary-btn:hover:not(:disabled){opacity:.92}.auth-primary-btn:active:not(:disabled){transform:translateY(1px)}.auth-primary-btn:disabled{opacity:.55;cursor:progress}.auth-secondary-btn{cursor:pointer;width:100%;color:inherit;background:0 0;border:1px solid #0000002e;border-radius:10px;padding:12px 16px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:700;transition:opacity .15s,transform 50ms}.auth-secondary-btn:hover:not(:disabled){opacity:.82}.auth-secondary-btn:active:not(:disabled){transform:translateY(1px)}.auth-secondary-btn:disabled{opacity:.55;cursor:progress}[data-theme=midnight] .auth-secondary-btn{border-color:#ffffff29}.auth-email-display{word-break:break-all;background:#0000000a;border-radius:10px;padding:10px 12px;font-size:14px;font-weight:600}[data-theme=midnight] .auth-email-display{background:#ffffff12}.auth-message{border-radius:10px;margin-bottom:16px;padding:10px 12px;font-size:13px;line-height:1.4}.auth-message-error{color:#b91c1c;background:#dc26261a;border:1px solid #dc262640}.auth-message-success{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent)}.auth-message-info{color:inherit;background:#0000000a}[data-theme=midnight] .auth-message-info{background:#ffffff12}.auth-footnote{opacity:.65;text-align:center;margin-top:10px;font-size:12px;line-height:1.4}.option-btn.active{background:var(--accent)}.auth-mode-tabs{grid-template-columns:repeat(2,1fr)}.auth-mode-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 12px;margin-top:-4px;display:flex}.auth-link-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:4px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:700}.auth-link-btn:hover{text-decoration:underline}.auth-link-btn:disabled{opacity:.55;cursor:progress;text-decoration:none}.auth-stack{flex-direction:column;gap:0;margin-bottom:20px;display:flex}@media (width<=600px){.auth-input{font-size:16px}}header{--header-inline-padding:clamp(16px, 4vw, 36px);z-index:50;background:var(--surface);-webkit-backdrop-filter:blur(14px);border-bottom:var(--header-border);flex:none;position:sticky;top:0}.reader-header{border-bottom:none}.story-name{justify-content:center;align-items:center;gap:8px;width:100%;padding:clamp(8px,1.5vw,12px) clamp(16px,4vw,36px);display:flex}.site-logo{color:var(--text-muted)}.current-story{color:var(--text-muted);text-align:center;font-family:var(--body-font);padding-left:10px;font-weight:600}.header-content{max-width:1080px;padding:clamp(12px, 2vw, 18px) var(--header-inline-padding);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;margin:0 auto;display:grid}.header-title{flex-direction:row;grid-column:2;justify-self:center;gap:8px;display:flex}.header-left{flex-direction:row;grid-area:1/1;justify-self:start;gap:8px;display:flex}.header-right{flex-direction:row;grid-area:1/3;justify-self:end;gap:8px;display:flex}header:not(.home-header)>.header-content{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"title title""left right";row-gap:8px}.reader-header>.header-content{max-width:calc(var(--reader-content-width) + (var(--header-inline-padding) * 2))}header:not(.home-header)>.header-content .header-title{grid-area:title;justify-content:center;justify-self:stretch;min-width:0}header:not(.home-header)>.header-content .header-left{grid-area:left;justify-self:start}header:not(.home-header)>.header-content .header-right{grid-area:right;justify-self:end}header:not(.home-header)>.header-content .story-name{min-width:0;padding:0}header:not(.home-header)>.header-content .current-story{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.header-btn{cursor:pointer;width:36px;height:36px;color:var(--accent);background:0 0;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.material-icons{font-size:24px;font-weight:200}.account-btn.logged-in .material-icons{font-weight:400}[data-mode=practice] .mode-icon:before{content:"description"}[data-mode=read] .mode-icon:before{content:"quiz"}.current-level,.current-chapter{font-family:var(--body-font);color:var(--text-muted);text-align:center;min-width:28px;font-size:13px;font-weight:800}.chapter-nav,.level-nav{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.chapter-btn,.level-btn{font-family:var(--body-font);cursor:pointer;color:var(--accent);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:20px;font-weight:600;line-height:1;transition:background .2s;display:flex}.level-btn{padding:0 8px}.chapter-btn{padding:0 20px 3px}.chapter-btn:disabled,.level-btn:disabled{color:var(--text-muted);cursor:not-allowed;opacity:.3}.chapter-btn:hover:not(:disabled),.level-btn:hover:not(:disabled){background:#0000000d}@media (width<=550px){.chapter-btn{padding:0 7px}.level-btn{padding:0 14px}}@media (width<=525px){header:not(.home-header)>.header-content{column-gap:6px;padding:8px 12px}header:not(.home-header)>.header-content .header-left,header:not(.home-header)>.header-content .header-right,header:not(.home-header)>.header-content .chapter-nav,header:not(.home-header)>.header-content .level-nav{gap:4px}header:not(.home-header)>.header-content .header-btn{width:32px;height:32px}header:not(.home-header)>.header-content .chapter-btn,header:not(.home-header)>.header-content .level-btn{width:28px;height:32px;padding:0}header:not(.home-header)>.header-content .current-level,header:not(.home-header)>.header-content .current-chapter{white-space:nowrap;min-width:auto;font-size:12px}.chapter-btn{padding:0 7px}.level-btn{padding:0 14px}}@media (width<=390px){header:not(.home-header)>.header-content{grid-template-columns:minmax(0,1fr);grid-template-areas:"title""left""right";row-gap:6px}header:not(.home-header)>.header-content .header-left,header:not(.home-header)>.header-content .header-right{justify-self:stretch;gap:8px}header:not(.home-header)>.header-content .chapter-nav,header:not(.home-header)>.header-content .level-nav{flex:0 0 176px;grid-template-columns:32px 88px 32px;gap:12px;display:grid}header:not(.home-header)>.header-content .chapter-nav+.header-btn,header:not(.home-header)>.header-content .level-nav+.header-btn{margin-left:auto}header:not(.home-header)>.header-content .chapter-btn,header:not(.home-header)>.header-content .level-btn{width:32px;height:36px;padding:0}header:not(.home-header)>.header-content .current-level,header:not(.home-header)>.header-content .current-chapter{justify-content:center;align-items:center;min-width:0;font-size:13px;display:flex}}@media (width<=300px){header:not(.home-header)>.header-content .chapter-nav,header:not(.home-header)>.header-content .level-nav{flex-basis:156px;grid-template-columns:30px 84px 30px;gap:6px}}*{box-sizing:border-box;margin:0;padding:0}:root{--reader-content-width:680px}html,body{width:100%;height:100%}body{overflow:hidden}#root{flex-direction:column;width:100%;height:100%;display:flex}main{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.auth-loading-screen{color:#252018;background:#f8f4eb;align-content:center;place-items:center;gap:14px;width:100%;min-height:100vh;display:grid}.auth-loading-mark{background:#fffaf0;border:1px solid #25201824;border-radius:8px;place-items:center;width:56px;height:56px;display:grid;box-shadow:0 12px 32px #25201814}.auth-loading-mark .material-icons{font-size:30px;line-height:1}.auth-loading-text{letter-spacing:0;font-family:Georgia,Times New Roman,serif;font-size:1.05rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes lingua-spin{to{transform:rotate(360deg)}}.app-container{background:var(--bg);background-image:var(--bg-grad);flex-direction:column;flex:1;width:100%;height:100%;min-height:0;transition:background .35s;display:flex;overflow:hidden}.home-container{background:color-mix(in srgb, var(--accent) 12%, transparent);width:100%;min-height:100vh;color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);flex-direction:column;align-items:center;font-family:Lora,serif;display:flex}.home-header{z-index:100;background-color:#fff;justify-content:center;align-items:center;width:100%;height:60px;padding:15px;display:flex;position:sticky;top:0;box-shadow:0 2px 4px #0000001a}.home-logo-title{justify-content:center;align-items:center;gap:8px;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700;display:flex}.site-beta-tag{border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);color:var(--text-muted);font-family:var(--body-font);text-transform:lowercase;border-radius:4px;align-self:center;padding:2px 6px;font-size:.7rem;font-weight:600;line-height:1}.home-header{background-color:#fff}.home-header>.header-content{width:100%;max-width:none;padding:0}.home-header .header-btn{cursor:pointer;color:#000;background-color:#fcfaf7;border:none;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:25px;display:inline-flex}.home-header .account-btn{border:1px solid gray;flex-direction:row;gap:8px;display:flex}.home-hero{text-align:center;color:#2c3e50;flex-direction:row;gap:8px;margin-top:60px;margin-bottom:20px;padding:0 20px;font-family:Playfair Display,serif;font-size:2.5rem;display:flex}.home-level-picker{text-align:center;margin-top:20px}.home-level-picker h2{margin-bottom:20px;font-size:1.2rem;font-weight:400}.level-buttons{justify-content:center;gap:15px;display:flex}.level-button{cursor:pointer;color:inherit;background:0 0;border:2px solid #2c3e50;border-radius:4px;justify-content:center;align-items:center;padding:10px 25px;font-size:1.1rem;font-weight:600;line-height:1;text-decoration:none;transition:all .3s;display:inline-flex}.level-button:hover{color:#fff;background-color:#2c3e50}.home-featured-book{box-sizing:border-box;grid-template-columns:minmax(0,1fr) 300px minmax(0,1fr);grid-template-areas:"english cover french";place-items:center stretch;gap:4%;width:100%;max-width:1600px;margin-top:20px;padding:40px 24px;display:grid}.book-text{color:#34495e;flex-flow:wrap;gap:8px;min-width:0;font-family:Playfair Display,serif;font-size:1.9rem;font-style:italic;line-height:1.2;display:flex}.book-text span{white-space:nowrap}.book-text.left{text-align:right;grid-area:english;justify-content:flex-end}.book-text.right{text-align:left;grid-area:french;justify-content:flex-start}.book-cover{background-color:#eee;border-radius:4px;grid-area:cover;justify-content:center;justify-self:center;align-items:center;width:300px;height:450px;display:flex;overflow:hidden;box-shadow:0 10px 20px #0003}.book-cover img{object-fit:cover;width:100%;height:100%}.cover-placeholder{text-align:center;color:#666;padding:20px;font-style:italic}@media (width<=950px){.home-featured-book{grid-template-columns:minmax(0,1fr) minmax(190px,240px) minmax(0,1fr);grid-template-areas:"english cover french";justify-items:stretch;column-gap:24px}.book-cover{aspect-ratio:2/3;width:min(240px,32vw);height:auto}.book-text{font-size:1.5rem}.book-text.left{text-align:right;justify-content:flex-end}.book-text.right{text-align:left;justify-content:flex-start}}@media (width<=725px){.home-hero{flex-direction:column}.home-featured-book{grid-template-columns:1fr;grid-template-areas:"english""french""cover";justify-items:center;row-gap:16px;padding:32px 20px}.book-text{text-align:center;justify-content:center;width:100%;max-width:max-content;font-size:1.65rem}.book-text.left,.book-text.right{text-align:center;justify-content:center}.book-cover{width:min(280px,100%)}}@media (width<=430px){.book-text{font-size:1.45rem}.book-cover{aspect-ratio:2/3;width:min(260px,100%);height:auto}}.article-container{max-width:var(--reader-content-width);padding:var(--reader-scroll-padding-block) 0;margin:0 auto}.main-scroll-area{--reader-scroll-padding-block:clamp(40px, 8vw, 80px);--reader-scroll-padding-inline:clamp(16px, 5vw, 40px);overflow-anchor:none;min-height:0;padding:0 var(--reader-scroll-padding-inline);scrollbar-width:none;-ms-overflow-style:none;flex:1;overflow-y:auto}.main-scroll-area::-webkit-scrollbar{width:0;height:0;display:none}.reader-progress{z-index:20;height:3px;margin:0 calc(-1 * var(--reader-scroll-padding-inline));background:var(--progress-bg);pointer-events:none;position:sticky;top:0}.reader-progress-track{width:100%;height:100%;overflow:hidden}.reader-progress-fill{background:var(--accent);transform-origin:0;width:100%;height:100%;transition:transform 80ms linear;transform:scaleX(0)}@media (hover:none) and (pointer:coarse) and (width<=900px){.main-scroll-area .article-container{-webkit-user-select:none;user-select:none}}.chapter-number{font-family:var(--display-font);color:var(--chapter-num-color);margin-bottom:10px;font-size:clamp(60px,12vw,100px);font-weight:800;line-height:.8}.chapter-title-fr{font-family:var(--chapter-title-font);color:var(--heading);font-size:clamp(28px,5vw,42px);font-weight:700;line-height:1.1;font-style:var(--chapter-title-style);letter-spacing:var(--chapter-letter-spacing);text-transform:var(--chapter-text-transform)}.chapter-title-en{font-family:var(--body-font);color:var(--text-muted);margin-top:15px;font-size:clamp(15px,2vw,18px);font-weight:400}.content-paragraph{line-height:1.85;font-size:var(--font-size);color:var(--text);font-family:var(--body-font);font-weight:var(--body-weight);text-wrap:pretty;margin-bottom:clamp(16px,2vw,26px)}.loader-container{flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:clamp(60px,12vw,140px) 0;display:flex}.big-spinner{border:3px solid var(--progress-bg);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.9s linear infinite lingua-spin}.loading-text{color:var(--text-muted);letter-spacing:.14em;text-transform:uppercase;font-family:DM Sans,sans-serif;font-size:12px}.error-container{flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:clamp(60px,12vw,140px) 0;display:flex}.error-title{color:var(--accent);fontWeight:600;text-align:center;font-family:DM Sans,sans-serif;font-size:16px}.error-message{color:var(--text-muted);text-align:center;max-width:80%;font-family:DM Sans,sans-serif;font-size:14px}.retry-btn{border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:0 0;border-radius:8px;padding:10px 20px;font-weight:600}.token-text{font-family:var(--body-font);font-weight:var(--body-weight);color:var(--text)}.token-word{cursor:pointer;-webkit-tap-highlight-color:transparent;font-family:var(--body-font);font-weight:var(--body-weight);color:var(--text);border-radius:3px;padding:0 1px;transition:background .1s,color .1s,box-shadow .1s}@media (hover:hover) and (pointer:fine){.token-word:hover{background:var(--word-hover);box-shadow:0 0 0 2px var(--word-hover);color:var(--accent)}}.token-word.active,.token-selected,.token-matched{background:var(--word-active)!important;color:var(--word-active-fg)!important;box-shadow:0 0 0 2px var(--word-active)!important}.popup-container{z-index:100;pointer-events:none;animation:.15s ease-out fadeIn;position:absolute}.popup-box{background:var(--popup-bg);color:var(--popup-fg);border-radius:var(--popup-radius);box-shadow:var(--popup-shadow);border:1px solid var(--popup-border-color);z-index:9991;pointer-events:auto;flex-direction:column;gap:4px;width:50px;min-width:140px;padding:12px 16px;display:flex;position:fixed}.popup-box.hidden{display:none}.popup-word{color:var(--popup-word-fg);margin-bottom:2px;font-size:16px;font-weight:700;display:block}.popup-pos{text-transform:uppercase;letter-spacing:.05em;color:var(--popup-pos-fg);margin-bottom:6px;font-size:12px;font-weight:700;display:block}.popup-note{color:var(--popup-note-fg);margin-bottom:2px;font-size:13px;font-style:italic;display:block}.popup-loading{font-family:var(--body-font);color:var(--popup-fg);opacity:.7;align-items:center;gap:8px;margin-top:4px;font-size:13px;font-style:italic;display:flex}.spinner{border:2px solid var(--popup-fg);opacity:.6;border-top-color:#0000;border-radius:50%;width:10px;height:10px;animation:.8s linear infinite lingua-spin}.popup-error{font-family:var(--body-font);color:var(--popup-fg);opacity:.7;margin-top:4px;font-size:13px;font-style:italic}.popup-trans{font-family:var(--body-font);color:var(--popup-fg);margin-top:2px;font-size:14px;font-weight:400;line-height:1.4}.popup-note{color:var(--popup-note-fg);border-top:1px solid #ffffff1a;margin-top:8px;padding-top:8px;font-size:13px;font-style:italic;display:block}.popup-overlay{z-index:9990;pointer-events:none;position:fixed;inset:0}.popup-overlay.hidden{display:none}.end-cap{border-top:1px solid var(--border);flex-direction:column;align-items:center;gap:20px;margin-top:clamp(36px,5vw,60px);padding-top:clamp(24px,3vw,36px);display:flex}.end-actions{justify-content:center;align-items:center;gap:12px;width:100%;padding-top:20px;display:flex}.end-btn{background:var(--btn-bg);color:var(--btn-fg);border:var(--btn-border);border-radius:var(--btn-radius);cursor:pointer;font-family:var(--body-font);letter-spacing:var(--chapter-letter-spacing);text-transform:var(--chapter-text-transform);padding:13px 28px;font-size:15px;font-weight:600}.end-text{font-family:var(--body-font);color:var(--text-muted);letter-spacing:.18em;text-transform:uppercase;text-align:center;font-size:12px}.article-container{max-width:680px;margin:0 auto}.deck-container,.flashcards-article-container{text-align:center;flex-direction:column;align-items:center;padding-top:40px;display:flex}.deck-title,.flashcards-title{font-family:var(--title-font);color:var(--text);margin-bottom:20px}.flashcards-loading{min-height:360px;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex}.flashcards-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite flashcardsSpin}.flashcards-loading-text{font-family:var(--body-font);color:var(--text-muted);font-size:14px}.flashcard-word-large{color:var(--accent);font-size:32px;font-weight:700}.flashcard-word-popup{font-size:24px}.flashcard-trans-popup{margin-top:10px;font-size:18px}.flashcard-no-data,.flashcard-status-text{color:var(--text-muted);padding-bottom:50px}.flashcard-status-text{margin-bottom:20px}.flashcard-container{perspective:1000px;cursor:pointer;width:100%;max-width:400px;height:250px;position:relative}.flashcard-inner{text-align:center;width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s;position:relative}.flashcard-container.no-transition .flashcard-inner{transition:none}.flashcard-container.is-flipped .flashcard-inner{transform:rotateY(180deg)}.flashcard-front,.flashcard-back{backface-visibility:hidden;border:1px solid var(--border);box-sizing:border-box;background-color:#000;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:40px;display:flex;position:absolute;box-shadow:0 4px 12px #0000001a}.flashcard-back{transform:rotateY(180deg)}.flashcard-nav{justify-content:center;align-items:center;gap:30px;width:100%;margin-top:30px;display:flex}.flashcards-endcap{border-top:0;margin-top:28px;padding-top:0}.flashcards-endcap .end-actions{padding-top:0}.nav-arrow{background:var(--btn-bg);color:var(--btn-fg);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;transition:opacity .2s;display:flex}.nav-arrow:disabled{opacity:.3;cursor:not-allowed}.shuffle-btn{background:var(--btn-bg);color:var(--btn-fg);cursor:pointer;border:none;border-radius:20px;padding:8px 16px;font-size:14px;transition:opacity .2s}.shuffle-btn:hover{opacity:.8}.flashcard-delete-btn{color:var(--text-muted);cursor:pointer;z-index:10;background:0 0;border:none;border-radius:50%;padding:5px 10px;font-size:24px;line-height:1;transition:color .2s,background-color .2s;position:absolute;top:10px;right:10px}.flashcard-delete-btn:hover{color:var(--text);background-color:#0000000d}.flashcard-sentence{color:var(--text-muted);text-align:center;margin-top:45px;font-size:14px;font-style:italic;line-height:1.4}.flashcard-sentence-highlight{color:var(--accent);background:0 0;font-style:normal;font-weight:700}[data-theme=midnight] .flashcard-delete-btn:hover{background-color:#ffffff1a}.next-btn:disabled{cursor:not-allowed;opacity:.55}@keyframes flashcardsSpin{to{transform:rotate(360deg)}}.game-overlay-backdrop{z-index:8000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000002e;position:fixed;inset:0}.game-overlay-panel{z-index:8001;border-radius:16px;width:min(620px,100vw - 32px);max-height:calc(100vh - 48px);padding:24px clamp(18px,4vw,34px) 28px;font-family:DM Sans,sans-serif;animation:.2s ease-out fadeIn;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 30px 80px #00000040}.game-overlay-close{z-index:1;margin-left:auto;position:sticky;top:0}.game-overlay-panel .main-scroll-area{flex:initial;min-height:auto;padding:0;overflow:visible}.game-overlay-panel .flashcards-article-container{padding-top:6px}[data-theme=midnight] .game-overlay-panel{color:#c0cfe6;background:#0d1f2d;border:1px solid #ffffff1a}[data-theme=library] .game-overlay-panel,[data-theme=studio] .game-overlay-panel{color:#111;background:#fff;border:1px solid #e0e0e0}@media (width<=560px){.game-overlay-panel{width:min(440px,100vw - 24px);max-height:calc(100vh - 24px);padding:18px 16px 22px}}
