@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-vietnamese-wght-normal-Czsa-EzN.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-ext-wght-normal-C-3rgBeH.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-wght-normal-CCVVNp6i.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Work Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/work-sans-vietnamese-wght-normal-BKsN3ITN.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Work Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/work-sans-latin-ext-wght-normal-B5dZ8C4S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Work Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/work-sans-latin-wght-normal-Bl-S9Xys.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/spectral-cyrillic-ext-400-normal-B4-YHs9i.woff2)format("woff2"),url(/assets/spectral-cyrillic-ext-400-normal--n_iQ4wr.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/spectral-cyrillic-400-normal-Bx9Tn3WZ.woff2)format("woff2"),url(/assets/spectral-cyrillic-400-normal-X3p2PSzL.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/spectral-vietnamese-400-normal-C7CRHYqk.woff2)format("woff2"),url(/assets/spectral-vietnamese-400-normal-CWkMWCzb.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/spectral-latin-ext-400-normal-XDLFwhqg.woff2)format("woff2"),url(/assets/spectral-latin-ext-400-normal-BHbqXr-7.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/spectral-latin-400-normal-CTVgUekv.woff2)format("woff2"),url(/assets/spectral-latin-400-normal-D34IWA1h.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/spectral-cyrillic-ext-500-normal-bcG1qx3J.woff2)format("woff2"),url(/assets/spectral-cyrillic-ext-500-normal-B5u3KHyE.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/spectral-cyrillic-500-normal-medSbGbm.woff2)format("woff2"),url(/assets/spectral-cyrillic-500-normal-CNC_J6mt.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/spectral-vietnamese-500-normal-qnENts6X.woff2)format("woff2"),url(/assets/spectral-vietnamese-500-normal-BfZg6KYt.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/spectral-latin-ext-500-normal-CC9VEg_t.woff2)format("woff2"),url(/assets/spectral-latin-ext-500-normal-Bmnp8FUT.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/spectral-latin-500-normal-nNjq7_Cd.woff2)format("woff2"),url(/assets/spectral-latin-500-normal-PrYyf_gG.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/spectral-cyrillic-ext-600-normal-CvRHnPuy.woff2)format("woff2"),url(/assets/spectral-cyrillic-ext-600-normal-BVATWin6.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/spectral-cyrillic-600-normal-Dl75bDKp.woff2)format("woff2"),url(/assets/spectral-cyrillic-600-normal-veT-ELBO.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/spectral-vietnamese-600-normal-ZNiwCzjU.woff2)format("woff2"),url(/assets/spectral-vietnamese-600-normal-esmjhrFa.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/spectral-latin-ext-600-normal-DKlDBbgb.woff2)format("woff2"),url(/assets/spectral-latin-ext-600-normal-DnKmvInL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/spectral-latin-600-normal-DE3OxvnQ.woff2)format("woff2"),url(/assets/spectral-latin-600-normal-DXnQJnYb.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Spectral;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/spectral-cyrillic-ext-500-italic-DGZ5KH5h.woff2)format("woff2"),url(/assets/spectral-cyrillic-ext-500-italic-CxkamsWL.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Spectral;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/spectral-cyrillic-500-italic-D14WfPba.woff2)format("woff2"),url(/assets/spectral-cyrillic-500-italic-BLpmaxIM.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Spectral;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/spectral-vietnamese-500-italic-e7VYE3f9.woff2)format("woff2"),url(/assets/spectral-vietnamese-500-italic-q7ilnnst.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Spectral;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/spectral-latin-ext-500-italic-DMigwuN9.woff2)format("woff2"),url(/assets/spectral-latin-ext-500-italic-UnF3HUpx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Spectral;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/spectral-latin-500-italic-CqeZqSS8.woff2)format("woff2"),url(/assets/spectral-latin-500-italic-DxwFSvPk.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Spectral;font-style:italic;font-display:swap;font-weight:600;src:url(/assets/spectral-cyrillic-ext-600-italic-BlFp-EzC.woff2)format("woff2"),url(/assets/spectral-cyrillic-ext-600-italic-BALWFYsE.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Spectral;font-style:italic;font-display:swap;font-weight:600;src:url(/assets/spectral-cyrillic-600-italic-DfNbJtH6.woff2)format("woff2"),url(/assets/spectral-cyrillic-600-italic-3qoZ35Oe.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Spectral;font-style:italic;font-display:swap;font-weight:600;src:url(/assets/spectral-vietnamese-600-italic-LkrugzOn.woff2)format("woff2"),url(/assets/spectral-vietnamese-600-italic-CVwNstHI.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Spectral;font-style:italic;font-display:swap;font-weight:600;src:url(/assets/spectral-latin-ext-600-italic-6mcybWBm.woff2)format("woff2"),url(/assets/spectral-latin-ext-600-italic-BVaUeOvZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Spectral;font-style:italic;font-display:swap;font-weight:600;src:url(/assets/spectral-latin-600-italic-BQTRqdlx.woff2)format("woff2"),url(/assets/spectral-latin-600-italic-BlN5wCYG.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--green:#1a7f4b;--green-dark:#145f39;--green-light:#e8f5ee;--red:#d94f3d;--text:#1a1a1a;--text-muted:#666;--bg:#f8f9fa;--surface:#fff;--border:#e0e0e0;--shadow:0 2px 8px #0000001a;--radius:12px;--radius-sm:8px;--display-font:-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--body-font:-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--playing:var(--green);--it-style:italic;--it-weight:500;--it-size:22px;--label-bg:transparent;--label-color:var(--text-muted);--label-pad:0;--label-radius:0;--vocab-bg:var(--surface);--vocab-accent:var(--green-dark);--conj-bg:#f0f4ff;--conj-active-bg:#dbe4ff;--conj-active-text:#2c4db5}:root[data-theme=redactioneel]{--green:#2e6e6a;--green-dark:#245955;--green-light:#e7f0ee;--red:#b5523f;--text:#1b1f24;--text-muted:#6a7077;--bg:#fbfbf8;--surface:#fff;--border:#e7e7e1;--shadow:0 1px 3px #1b1f240f, 0 10px 28px #1b1f240d;--radius:6px;--radius-sm:4px;--display-font:"Newsreader Variable", Georgia, "Times New Roman", serif;--body-font:"Inter Variable", -apple-system, system-ui, sans-serif;--playing:#c98a3c;--it-style:normal;--it-weight:500;--it-size:25px;--label-color:#9aa0a6;--vocab-accent:var(--green-dark);--conj-bg:#f3f1eb;--conj-active-bg:#e7e2d4;--conj-active-text:#6a5a2e}:root[data-theme=italiaans]{--green:#2d5ba6;--green-dark:#21457e;--green-light:#e7eef8;--red:#c2643f;--text:#2a211b;--text-muted:#7a6a5c;--bg:#f3ead8;--surface:#fbf4e6;--border:#e2d3b8;--shadow:0 2px 4px #2a211b14, 0 12px 26px #2a211b1a;--radius:14px;--radius-sm:9px;--display-font:"Spectral", Georgia, serif;--body-font:"Work Sans Variable", -apple-system, system-ui, sans-serif;--playing:#c2643f;--it-style:italic;--it-weight:600;--it-size:24px;--label-bg:#2d5ba6;--label-color:#fbf4e6;--label-pad:3px 9px;--label-radius:4px;--vocab-bg:#fbf4e6;--vocab-accent:#21457e;--conj-bg:#ede3cc;--conj-active-bg:#e0a33e;--conj-active-text:#2a211b}:root[data-theme=speels]{--green:#6c4df6;--green-dark:#5638d6;--green-light:#eeeafe;--red:#ff6b5e;--text:#15183a;--text-muted:#6e7191;--bg:#f5f7ff;--surface:#fff;--border:#e4e7f5;--shadow:0 4px 12px #6c4df61a, 0 14px 34px #15183a14;--radius:20px;--radius-sm:14px;--display-font:"Space Grotesk Variable", -apple-system, system-ui, sans-serif;--body-font:"Inter Variable", -apple-system, system-ui, sans-serif;--playing:#18c29c;--it-style:normal;--it-weight:600;--it-size:23px;--label-bg:#6c4df6;--label-color:#fff;--label-pad:3px 11px;--label-radius:999px;--vocab-bg:#fff;--vocab-accent:#5638d6;--conj-bg:#eeeafe;--conj-active-bg:#6c4df6;--conj-active-text:#fff}html,body{height:100%;font-family:var(--body-font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:16px}.app h1,.app h2,.app h3,.view-header h2{font-family:var(--display-font)}.app{flex-direction:column;max-width:600px;height:100dvh;margin:0 auto;display:flex;overflow:hidden}.app-header{background:var(--green);color:#fff;padding:12px 20px 0;padding-top:max(12px, env(safe-area-inset-top,12px));z-index:100;flex-direction:column;display:flex;position:sticky;top:0;box-shadow:0 2px 8px #0003}.app-header-top{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.app-header h1{font-size:20px;font-weight:700}.lang-switcher-btn{cursor:pointer;appearance:none;color:inherit;border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;padding:2px 6px;font-size:16px;line-height:1}.lang-switcher-btn:hover{background:#00000014}.app-header nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:4px;padding-bottom:10px;display:flex;overflow-x:auto}.app-header nav::-webkit-scrollbar{display:none}.app-header nav button{color:#fff;cursor:pointer;white-space:nowrap;background:#ffffff26;border:none;border-radius:20px;flex-shrink:0;padding:5px 12px;font-size:13px;transition:background .2s}.app-header nav button:hover{background:#ffffff40}.app-header nav button.active{color:var(--green);background:#fff;font-weight:600}.app-header nav.nav-icons button{text-align:center;min-width:36px;padding:5px 8px}.nav-icon{font-size:16px}.nav-toggle-btn{opacity:.7;flex-shrink:0;margin-left:auto;font-size:15px;padding:5px 8px!important}.nav-badge{background:var(--red);color:#fff;pointer-events:none;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:1;display:flex;position:absolute;top:-3px;right:-3px}.spinner-small{border:2px solid #ccc;border-top-color:var(--green);border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin;display:inline-block}.header-user{opacity:.85;align-self:center;font-size:13px}.header-user-btn{cursor:pointer;color:inherit;border-radius:var(--radius-sm);background:0 0;border:none;padding:2px 6px;transition:background .15s}.header-user-btn:hover{opacity:1;background:#ffffff26}.app-main{min-height:0;padding:20px;padding-bottom:max(20px, env(safe-area-inset-bottom,20px));flex:1;overflow-y:auto}.build-version{text-align:center;color:var(--text-muted);opacity:.7;padding:4px 0 max(8px, env(safe-area-inset-bottom,8px));font-size:12px}.diagnostics-log{white-space:pre-wrap;word-break:break-word;max-height:60vh;color:var(--text-muted);background:#7f7f7f1f;border-radius:6px;padding:8px;font-size:11px;line-height:1.4;overflow:auto}.view-header{align-items:center;gap:12px;margin-bottom:24px;display:flex}.view-header h2{flex:1;font-size:22px;font-weight:700}.btn-back{color:var(--green);cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:16px;font-weight:600}.btn-primary{background:var(--green);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;padding:10px 20px;font-size:15px;font-weight:600;transition:background .2s}.btn-primary:hover{background:var(--green-dark)}.btn-primary.large{border-radius:var(--radius);width:100%;margin-top:8px;padding:16px;font-size:17px}.btn-primary.saved{background:#555}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{color:var(--green);border:1.5px solid var(--green);cursor:pointer;background:0 0;border-radius:10px;padding:8px 14px;font-size:15px;font-weight:600;transition:background .2s}.btn-secondary:hover{background:#0000000d}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.header-actions{align-items:center;gap:8px;display:flex}.setting-toggle-label{cursor:pointer;justify-content:space-between;align-items:center;font-size:16px;font-weight:600;display:flex}.toggle-switch{cursor:pointer;background:#ccc;border-radius:14px;flex-shrink:0;width:48px;height:28px;transition:background .2s;position:relative}.toggle-switch.on{background:var(--green)}.toggle-knob{background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.toggle-switch.on .toggle-knob{transform:translate(20px)}.owner-filter{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.owner-tab{color:var(--text-secondary,#666);cursor:pointer;background:0 0;border:1.5px solid #ccc;border-radius:20px;padding:6px 14px;font-size:14px;transition:all .15s}.owner-tab.active{background:var(--green);color:#fff;border-color:var(--green)}.subscribed-section{margin-top:28px}.subscribed-header{color:var(--text-secondary,#666);border-bottom:1px solid #e5e5e5;margin:0 0 10px;padding-bottom:6px;font-size:15px;font-weight:600}.loading{text-align:center;color:var(--text-muted);padding:60px 20px;font-size:18px}.progress-bar{background:var(--border);border-radius:3px;height:6px;overflow:hidden}.progress-fill{background:var(--green);border-radius:3px;height:100%;transition:width .3s}.home-view .view-header{justify-content:space-between}.home-view .view-header h2{flex:none}.empty-state{text-align:center;color:var(--text-muted);padding:60px 20px}.empty-state p{margin-bottom:8px;font-size:17px}.empty-state .btn-primary.large{max-width:300px;margin-top:24px;margin-left:auto;margin-right:auto}.text-list{flex-direction:column;gap:12px;list-style:none;display:flex}.text-item{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;-webkit-tap-highlight-color:transparent;align-items:center;gap:12px;padding:16px 12px 16px 16px;transition:transform .15s,box-shadow .15s;display:flex}.text-item:active{transform:scale(.98);box-shadow:0 1px 4px #0000001a}.text-item-content{flex-direction:column;flex:1;gap:4px;display:flex}.text-title{font-size:17px;font-weight:600}.text-meta{color:var(--text-muted);font-size:13px}.progress-done{color:var(--green);font-weight:600}.tag-group{margin-top:8px}.tag-group-header{text-transform:uppercase;letter-spacing:.06em;width:100%;color:var(--green-dark);background:var(--green-light);border-radius:var(--radius-sm);cursor:pointer;text-align:left;border:none;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:700;display:flex}.tag-group-header:active{opacity:.75}.tag-group-chevron{flex-shrink:0;font-size:11px}.tag-group-count{color:var(--text-muted);margin-left:2px;font-weight:400}.tag-group .text-list{border-radius:0 0 var(--radius-sm) var(--radius-sm);overflow:hidden}.text-item .progress-bar{margin-top:4px}.text-checkbox{width:20px;height:20px;accent-color:var(--green);cursor:pointer;flex-shrink:0}.text-item.selected{background:var(--green-light);border:1.5px solid var(--green)}.avail-icon{text-align:center;flex-shrink:0;width:24px;font-size:15px;font-weight:700}.avail-full{color:var(--green)}.avail-partial{color:#e07b00}.avail-none{color:var(--text-muted)}.avail-download-btn{cursor:pointer;background:0 0;border:none;align-items:center;padding:0;display:flex}.download-bar{background:var(--surface);border-radius:var(--radius);flex-direction:column;align-items:stretch;gap:10px;margin-top:16px;padding:16px;display:flex;position:sticky;bottom:20px;box-shadow:0 4px 20px #00000026}.btn-download{background:var(--green);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;width:100%;padding:14px 20px;font-size:16px;font-weight:700;transition:background .2s}.btn-download:hover{background:var(--green-dark)}.download-label{color:var(--text-muted);text-align:center;font-size:14px}.download-bar-progress{height:8px}.playlist-item-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.btn-playlist-download{color:var(--text-muted);cursor:pointer;opacity:.5;background:0 0;border:none;border-radius:50%;min-width:28px;padding:4px 6px;font-size:15px;font-weight:700;line-height:1;transition:opacity .2s,background .2s}.btn-playlist-download:hover:not(:disabled){opacity:1;background:#f0f0f0}.btn-playlist-download:disabled{cursor:default;opacity:1;color:var(--green);font-size:12px}.btn-hide-playlist{color:var(--text-muted);cursor:pointer;opacity:.4;background:0 0;border:none;border-radius:50%;padding:4px 6px;font-size:18px;line-height:1;transition:opacity .2s,background .2s}.btn-hide-playlist:hover{opacity:1;background:#f0f0f0}.tooltip-wrap{cursor:default;align-items:center;display:inline-flex;position:relative}.tooltip-text{visibility:hidden;opacity:0;pointer-events:none;color:#fff;border-radius:var(--radius-sm);white-space:nowrap;white-space:normal;z-index:100;background:#333;width:max-content;max-width:220px;padding:6px 10px;font-size:12px;transition:opacity .15s;position:absolute;bottom:calc(100% + 6px);right:0}.tooltip-wrap:hover .tooltip-text,.tooltip-wrap:focus-within .tooltip-text,.tooltip-wrap.tooltip-visible .tooltip-text{visibility:visible;opacity:1}.btn-delete{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;padding:4px 8px;font-size:24px;line-height:1;transition:color .2s,background .2s}.btn-delete:hover{color:var(--red);background:#fee}.list-controls{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.list-controls-row{gap:8px;display:flex}.filter-input{border:1.5px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);background:var(--surface);padding:10px 12px;font-family:inherit;font-size:15px;transition:border-color .2s}.filter-input:focus{border-color:var(--green);outline:none}.sort-select{border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text);background:var(--surface);cursor:pointer;flex:1;padding:10px 8px;font-family:inherit;font-size:14px}.sort-select:focus{border-color:var(--green);outline:none}.pagination{justify-content:center;align-items:center;gap:16px;margin-top:16px;display:flex}.page-btn{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;width:36px;height:36px;font-size:20px;transition:all .15s;display:flex}.page-btn:hover:not(:disabled){border-color:var(--green);color:var(--green)}.page-btn:disabled{opacity:.3;cursor:not-allowed}.page-info{color:var(--text-muted);font-size:14px}.add-form{flex-direction:column;gap:20px;display:flex}.usage-quota{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:6px;padding:10px 12px;display:flex}.usage-quota-row{color:var(--text-muted);justify-content:space-between;align-items:center;font-size:13px;display:flex}.usage-quota-bar{background:var(--border);border-radius:3px;height:6px;overflow:hidden}.usage-quota-fill{border-radius:3px;height:100%;transition:width .3s}.usage-quota-hint{color:var(--text-muted);margin:0;font-size:12px}.usage-quota-exhausted{color:var(--red);font-weight:600}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{font-size:15px;font-weight:600}.form-group input,.form-group textarea{border:2px solid var(--border);border-radius:var(--radius-sm);color:var(--text);background:var(--surface);width:100%;padding:12px;font-family:inherit;font-size:16px;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{border-color:var(--green);outline:none}.form-group textarea{resize:vertical;min-height:120px}.language-toggle{gap:8px;display:flex}.btn-lang-small{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;padding:3px 10px;font-size:13px;transition:all .15s}.btn-lang-small.active{border-color:var(--green);background:var(--green-light);color:var(--green-dark);font-weight:600}.language-toggle button{border:2px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;flex:1;padding:10px;font-size:15px;transition:all .2s}.language-toggle button.active{border-color:var(--green);background:var(--green-light);color:var(--green-dark);font-weight:600}.error-message{border:1px solid var(--red);color:var(--red);border-radius:var(--radius-sm);background:#fee;padding:12px;font-size:14px}.status-overlay{text-align:center;padding:60px 20px}.status-overlay p{margin-top:16px;font-size:18px;font-weight:600}.status-overlay .status-sub{color:var(--text-muted);margin-top:4px;font-size:14px;font-weight:400}.status-overlay .progress-bar.large{max-width:300px;height:10px;margin-top:16px;margin-left:auto;margin-right:auto}.status-pct{color:var(--green);margin-top:8px;font-size:28px;font-weight:700}.phase-stepper{text-align:left;max-width:320px;margin:16px auto 0;padding:0;list-style:none}.phase-step{align-items:center;gap:10px;padding:8px 4px;font-size:15px;font-weight:400;display:flex}.phase-step-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-weight:700;display:inline-flex}.phase-step--pending{color:var(--text-muted)}.phase-step--pending .phase-step-icon{color:var(--text-muted);border:1px solid var(--text-muted);font-size:12px}.phase-step--active{color:var(--green-dark);font-weight:600}.phase-step--done{color:var(--green-dark)}.phase-step--done .phase-step-icon{background:var(--green);color:#fff;font-size:14px}.phase-step-progress{color:var(--text-muted);font-size:13px;font-weight:400}.spinner{border:4px solid var(--border);border-top-color:var(--green);border-radius:50%;width:48px;height:48px;margin:0 auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.success-state{text-align:center;padding:60px 20px}.success-icon{background:var(--green);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 20px;font-size:36px;display:flex}.success-state h2{margin-bottom:12px;font-size:28px}.success-state p{color:var(--text-muted);max-width:280px;margin:0 auto 24px;font-size:16px}.player-view{flex-direction:column;gap:24px;display:flex}.player-progress{align-items:center;gap:12px;display:flex}.player-progress .progress-bar{flex:1}.progress-label{color:var(--text-muted);white-space:nowrap;font-size:14px}.progress-jump{flex-shrink:0;align-items:center;gap:4px;display:flex}.progress-jump-input{border:1.5px solid var(--green);border-radius:var(--radius-sm);width:52px;color:var(--text);background:var(--surface);text-align:center;padding:2px 6px;font-family:inherit;font-size:14px}.progress-jump-input:focus{outline:none}.sentence-display{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:20px;min-height:180px;padding:24px;display:flex}.sentence-italian,.sentence-dutch{flex-direction:column;gap:8px;display:flex}.lang-label{text-transform:uppercase;letter-spacing:.05em;color:var(--label-color);background:var(--label-bg);padding:var(--label-pad);border-radius:var(--label-radius);align-self:flex-start;font-size:12px;font-weight:700}.sentence-italian p{font-family:var(--display-font);font-size:var(--it-size);font-style:var(--it-style);font-weight:var(--it-weight);color:var(--green-dark);line-height:1.4}.sentence-dutch p{color:var(--text);font-size:18px;line-height:1.4}@media (width<=600px){.player-view .view-header h2,.playlist-player-title,.sentence-display:not(.question-display) .sentence-italian p,.sentence-display:not(.question-display) .sentence-dutch p,.trans-lang-selector{white-space:nowrap;text-overflow:clip;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;min-width:0;overflow:auto hidden}.player-view .view-header h2::-webkit-scrollbar{display:none}.playlist-player-title::-webkit-scrollbar{display:none}.sentence-display .sentence-italian p::-webkit-scrollbar{display:none}.sentence-display .sentence-dutch p::-webkit-scrollbar{display:none}.trans-lang-selector::-webkit-scrollbar{display:none}.sentence-display .trans-lang-selector{flex-wrap:nowrap}.sentence-display .trans-lang-selector>*{flex-shrink:0}.sentence-display:not(.question-display){height:230px;min-height:0;overflow-y:auto}}.player-controls{justify-content:center;align-items:center;gap:24px;display:flex}.btn-control{background:var(--surface);border:2px solid var(--border);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:22px;transition:all .2s;display:flex}.btn-control:hover:not(:disabled){border-color:var(--green);color:var(--green)}.btn-control:disabled{opacity:.3;cursor:not-allowed}.btn-play{background:var(--green);color:#fff;cursor:pointer;width:80px;height:80px;box-shadow:0 6px 18px color-mix(in srgb, var(--green) 42%, transparent);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:30px;transition:all .2s;display:flex}.btn-play:hover{background:var(--green-dark);transform:scale(1.05)}.btn-play:active{transform:scale(.97)}.play-pattern{background:var(--green-light);border-radius:var(--radius);padding:16px}.play-pattern p{color:var(--green-dark);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-size:13px;font-weight:600}.play-pattern ol{flex-direction:column;gap:4px;padding-left:20px;display:flex}.play-pattern li{color:var(--green-dark);font-size:14px}.login-screen,.wait-screen{background:var(--bg);justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.login-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;width:100%;max-width:360px;padding:40px 32px}.login-icon{margin-bottom:16px;font-size:48px}.login-card h1{color:var(--text);margin-bottom:28px;font-size:22px;font-weight:700}.login-form{flex-direction:column;gap:14px;display:flex}.login-form input[type=password]{border:2px solid var(--border);border-radius:var(--radius-sm);text-align:center;letter-spacing:.1em;background:var(--surface);width:100%;color:var(--text);padding:14px 16px;font-size:18px;transition:border-color .2s}.login-form input[type=password]:focus{border-color:var(--green);outline:none}.login-error{color:var(--red);border-radius:var(--radius-sm);background:#fee;padding:10px;font-size:14px}.login-google-btn{background:var(--green);color:#fff;border-radius:var(--radius-sm);width:100%;font-family:var(--body-font);cursor:pointer;border:none;margin-top:8px;padding:14px 20px;font-size:16px;font-weight:600}.login-google-btn:disabled{opacity:.6;cursor:default}.login-hint{color:var(--text-muted);margin-top:14px;font-size:13px}.settings-view{flex-direction:column;gap:24px;display:flex}.settings-section{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.settings-section h3{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:16px;font-size:12px;font-weight:700}.setting-item{flex-direction:column;gap:6px;display:flex}.setting-item label{font-size:16px;font-weight:600}.setting-description{color:var(--text-muted);font-size:13px}.setting-control{align-items:center;gap:16px;margin-top:8px;display:flex}.setting-control input[type=range]{accent-color:var(--green);flex:1;height:6px}.setting-value{color:var(--green);text-align:right;min-width:40px;font-size:18px;font-weight:700}.settings-section.info p{color:var(--text-muted);font-size:14px;line-height:1.6}.list-header-row{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.btn-select-all{color:var(--green);cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:14px;font-weight:600}.list-count{color:var(--text-muted);font-size:13px}.download-bar-actions{gap:10px;display:flex}.btn-delete-selected{color:var(--red);border:1.5px solid var(--red);border-radius:var(--radius-sm);cursor:pointer;background:0 0;flex:1;padding:14px 16px;font-size:15px;font-weight:700;transition:background .2s}.btn-delete-selected:hover{background:#fee}.btn-download{flex:1}.stats-view{flex-direction:column;gap:20px;display:flex}.stats-totals{gap:12px;display:flex}.stat-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;flex:1;align-items:center;gap:4px;padding:20px 16px;display:flex}.stat-value{color:var(--green);font-size:32px;font-weight:700}.stat-label{color:var(--text-muted);text-align:center;font-size:13px}.period-tabs{gap:8px;display:flex}.stats-chart{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 8px 8px}.stats-empty{text-align:center;color:var(--text-muted);padding:40px 20px;font-size:16px}.practice-view{flex-direction:column;gap:20px;display:flex}.practice-direction-row{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);align-items:center;gap:10px;padding:12px 16px;display:flex}.practice-lang{color:var(--green);font-size:14px;font-weight:600}.practice-arrow{color:var(--text-muted);font-size:16px}.btn-direction{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--text);background:0 0;margin-left:auto;padding:6px 12px;font-size:14px}.btn-direction:hover{background:var(--bg)}.practice-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;align-items:center;gap:20px;min-height:160px;padding:40px 24px 32px;display:flex}.practice-prompt{text-align:center;color:var(--text);font-size:32px;font-weight:700;line-height:1.2}.practice-reveal{text-align:center;color:var(--text-muted);margin-top:8px;font-size:22px;font-weight:500;animation:.4s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.btn-replay{cursor:pointer;opacity:.7;background:0 0;border:none;padding:4px;font-size:28px}.btn-replay:hover{opacity:1}.practice-controls{flex-direction:column;align-items:center;gap:12px;min-height:120px;display:flex}.btn-listen{background:var(--green);color:#fff;cursor:pointer;border:none;border-radius:50px;width:100%;max-width:320px;padding:18px 40px;font-size:18px;font-weight:600;transition:background .2s,transform .1s}.btn-listen:hover{background:var(--green-dark)}.btn-listen:active{transform:scale(.97)}.btn-listen.listening{background:var(--red);animation:1.5s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.practice-feedback{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;flex-direction:column;gap:8px;width:100%;padding:20px 24px;display:flex}.practice-feedback.correct{border-left:4px solid var(--green)}.practice-feedback.wrong{border-left:4px solid var(--red)}.practice-feedback-label{font-size:20px;font-weight:700}.practice-feedback.correct .practice-feedback-label{color:var(--green)}.practice-feedback.wrong .practice-feedback-label{color:var(--red)}.practice-transcript{color:var(--text-muted);font-size:14px}.practice-answer{color:var(--text);font-size:16px;font-weight:600}.practice-footer{justify-content:space-between;align-items:center;padding:8px 0;display:flex}.btn-skip{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:8px 0;font-size:15px}.btn-skip:hover{color:var(--text)}.practice-pool{color:var(--text-muted);font-size:13px}.practice-no-speech{border-radius:var(--radius);color:#856404;text-align:center;background:#fff3cd;border:1px solid #ffc107;padding:16px;font-size:14px}.practice-empty{text-align:center;color:var(--text-muted);flex-direction:column;gap:8px;padding:60px 20px;font-size:16px;display:flex}.admin-view{flex-direction:column;gap:16px;display:flex}.btn-refresh{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;margin-left:auto;padding:6px 10px;font-size:16px}.admin-date{color:var(--text-muted);margin-bottom:8px;font-size:13px}.admin-error{border:1px solid var(--red);border-radius:var(--radius-sm);color:var(--red);background:#fee;padding:12px 16px;font-size:14px}.admin-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.admin-table{border-collapse:collapse;background:var(--surface);border-radius:var(--radius);width:100%;box-shadow:var(--shadow);font-size:14px;overflow:hidden}.admin-table th{background:var(--green-light);color:var(--green-dark);text-align:left;white-space:nowrap;text-transform:uppercase;letter-spacing:.04em;padding:10px 12px;font-size:12px;font-weight:600}.admin-table td{border-top:1px solid var(--border);vertical-align:middle;padding:10px 12px}.admin-table tr:hover td{background:var(--bg)}.admin-email{text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-weight:500;overflow:hidden}.admin-date-cell{color:var(--text-muted);white-space:nowrap}.admin-limit-btn{background:var(--green-light);border:1px solid var(--green);border-radius:var(--radius-sm);color:var(--green-dark);cursor:pointer;min-width:60px;padding:4px 10px;font-size:14px;font-weight:600}.admin-limit-btn:hover{background:var(--green);color:#fff}.admin-group-cell{white-space:nowrap}.admin-group-select{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;padding:3px 6px;font-size:13px}.admin-group-select:disabled{opacity:.5;cursor:default}.upload-request-badge{color:#fff;text-align:center;cursor:default;background:#f59e0b;border-radius:50%;width:16px;height:16px;margin-left:4px;font-size:11px;font-weight:700;line-height:16px;display:inline-block}.admin-limit-edit{align-items:center;gap:4px;display:flex}.admin-limit-input{border:1px solid var(--green);border-radius:var(--radius-sm);width:80px;padding:4px 8px;font-size:14px;font-weight:600}.btn-save-limit{background:var(--green);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;padding:4px 8px;font-size:14px}.btn-cancel-limit{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-muted);background:0 0;padding:4px 8px;font-size:14px}.admin-usage{align-items:center;gap:6px;display:flex}.admin-usage-bar{background:var(--border);border-radius:3px;flex:1;min-width:40px;height:6px;overflow:hidden}.admin-usage-fill{border-radius:3px;height:100%;transition:width .3s}.admin-usage-pct{color:var(--text-muted);text-align:right;min-width:30px;font-size:12px}.admin-stats-section{flex-direction:column;gap:12px;display:flex}.admin-table-section{flex-direction:column;gap:8px;margin-top:8px;display:flex}.admin-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:15px;font-weight:600}.btn-admin-refresh{background:var(--surface);border:1px solid var(--border);cursor:pointer;white-space:nowrap;border-radius:6px;padding:4px 10px;font-size:12px}.btn-admin-refresh:hover:not(:disabled){background:var(--green-light);border-color:var(--green);color:var(--green-dark)}.btn-admin-refresh:disabled{opacity:.5;cursor:not-allowed}.admin-user-selector{flex-wrap:wrap;gap:6px;display:flex}.admin-user-btn{background:var(--surface);border:1px solid var(--border);cursor:pointer;color:var(--text);border-radius:20px;padding:5px 14px;font-size:13px;transition:all .15s}.admin-user-btn:hover{border-color:var(--green);color:var(--green)}.admin-user-btn.active{background:var(--green);border-color:var(--green);color:#fff;font-weight:600}.admin-chart-subtitle{color:var(--text-muted);margin-top:-4px;font-size:13px}.admin-row-selected td{background:var(--green-light)!important}.admin-row-pending td{background:#fff8e1}.btn-admin-delete{cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:14px;transition:opacity .15s}.btn-admin-delete:hover:not(:disabled){opacity:1;background:#fee2e2}.btn-admin-delete:disabled{opacity:.4;cursor:not-allowed}.app-gate{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.gate-card{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:16px;width:90%;max-width:400px;padding:48px 32px}.gate-icon{margin-bottom:16px;font-size:48px}.gate-card h2{color:var(--text);margin:0 0 12px}.gate-card p{color:var(--text-muted);margin:0 0 8px;line-height:1.6}.gate-sub{font-size:13px;margin-bottom:24px!important}.btn-logout{background:var(--surface);border:1px solid var(--border);cursor:pointer;color:var(--text-muted);border-radius:8px;margin-top:16px;padding:10px 24px;font-size:14px}.btn-logout:hover{border-color:var(--red,#ef4444);color:var(--red,#ef4444)}.admin-env-row{background:var(--bg);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px;display:flex}.admin-env-desc{color:var(--text-muted);margin:4px 0 0;font-size:13px;line-height:1.5}.btn-admin-copy{background:var(--surface);border:1px solid var(--border);cursor:pointer;white-space:nowrap;border-radius:8px;flex-shrink:0;padding:8px 16px;font-size:13px}.btn-admin-copy:hover:not(:disabled){background:#fef3c7;border-color:#f59e0b}.btn-admin-copy:disabled{opacity:.5;cursor:not-allowed}.btn-generate-link{background:var(--green-light);border:1px solid var(--green);color:var(--green-dark);cursor:pointer;border-radius:8px;margin-left:auto;padding:6px 12px;font-size:13px;font-weight:600}.btn-generate-link:hover{background:var(--green);color:#fff}.generate-numbers{grid-template-columns:1fr 1fr;gap:16px;display:grid}.number-input{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:8px;padding:10px 12px;font-size:16px}.generate-hint{color:var(--text-muted);margin:-8px 0 0;font-size:13px}.review-toggle{color:var(--text);cursor:pointer;align-items:center;gap:10px;padding:12px 0 4px;font-size:14px;display:flex}.review-toggle input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:var(--green);flex-shrink:0}.generate-history{border:1px solid var(--border);border-radius:var(--radius-sm);margin-top:20px;overflow:hidden}.generate-history summary{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--surface);padding:10px 14px;font-size:13px;font-weight:600}.generate-history-list{margin:0;padding:0;list-style:none}.generate-history-item{border-top:1px solid var(--border);cursor:pointer;flex-direction:column;gap:2px;padding:10px 14px;transition:background .1s;display:flex}.generate-history-item:hover{background:var(--green-light)}.generate-history-date{color:var(--text-muted);font-size:11px}.generate-history-desc{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.generate-history-meta{color:var(--text-muted);font-size:11px}.review-intro{color:var(--text-muted);padding:0 0 16px;font-size:14px}.review-blocks{flex-direction:column;gap:24px;margin-bottom:20px;display:flex}.review-block{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:16px}.info-view{flex-direction:column;gap:0;display:flex}.info-markdown{color:var(--text);padding:16px;font-size:14px;line-height:1.7;overflow-x:auto}.info-markdown h1{color:var(--green-dark);margin:0 0 16px;font-size:22px;font-weight:700}.info-markdown h2{border-bottom:1px solid var(--border);margin:24px 0 8px;padding-bottom:4px;font-size:18px;font-weight:600}.info-markdown h3{margin:16px 0 4px;font-size:15px;font-weight:600}.info-markdown pre{color:#d4d4d4;background:#1e1e1e;border-radius:8px;margin:12px 0;padding:12px;font-family:SF Mono,Fira Code,monospace;font-size:11px;line-height:1.5;overflow-x:auto}.info-markdown code{background:var(--bg);border-radius:4px;padding:2px 6px;font-family:SF Mono,monospace;font-size:12px}.info-markdown pre code{font-size:inherit;background:0 0;padding:0}.info-markdown table{border-collapse:collapse;width:100%;margin:12px 0}.info-markdown th,.info-markdown td{border:1px solid var(--border);padding:8px 12px;font-size:13px}.info-markdown th{background:var(--green-light);color:var(--green-dark)}.info-markdown ul,.info-markdown ol{padding-left:20px}.info-markdown li{margin:4px 0}.info-markdown p{margin:8px 0}.info-markdown strong{font-weight:600}.playlists-view,.playlist-detail-view{flex-direction:column;gap:0;display:flex}.playlist-create-row{flex-direction:column;gap:10px;margin-top:16px;display:flex}.playlist-create-actions{gap:8px;display:flex}.playlist-name-edit{flex:1;align-items:center;gap:8px;display:flex}.playlist-name-edit .filter-input{flex:1}.playlist-item{cursor:default;touch-action:pan-y}.drag-handle{color:var(--text-muted);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;flex-shrink:0;padding:4px 8px 4px 0;font-size:18px}.drag-handle:active{cursor:grabbing}.playlist-player-bar{background:var(--green);color:#fff;border-radius:var(--radius) var(--radius) 0 0;align-items:center;gap:10px;margin:-20px -20px 0;padding:8px 16px;font-size:13px;display:flex}.playlist-player-name{flex-shrink:0;font-weight:700}.playlist-player-progress{background:#ffffff40;border-radius:12px;flex-shrink:0;padding:2px 8px;font-weight:600}.playlist-player-title{opacity:.9;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.modal-overlay{z-index:200;background:#00000080;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}.confirm-dialog{background:var(--surface);border-radius:var(--radius);width:100%;max-width:360px;margin:20px;padding:24px 20px;box-shadow:0 8px 32px #0003}.confirm-message{margin:0 0 20px;font-size:15px;line-height:1.4}.confirm-actions{justify-content:flex-end;gap:10px;display:flex}.confirm-btn{min-width:100px}.modal-card{background:var(--surface);border-radius:var(--radius) var(--radius) 0 0;padding:24px 20px max(24px, env(safe-area-inset-bottom,24px));flex-direction:column;gap:0;width:100%;max-width:600px;max-height:80dvh;display:flex;overflow-y:auto}.modal-card h3{margin-bottom:16px;font-size:18px;font-weight:700}.playlist-modal-list{flex-direction:column;gap:4px;max-height:40dvh;list-style:none;display:flex;overflow-y:auto}.playlist-modal-item{border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:12px;padding:12px 8px;transition:background .15s;display:flex}.playlist-modal-item:hover{background:var(--bg)}.text-title-row{align-items:center;gap:4px;display:flex}.text-title-edit{flex-direction:column;display:flex}.btn-rename{color:var(--text-muted);cursor:pointer;opacity:.5;background:0 0;border:none;flex-shrink:0;padding:2px 3px;font-size:12px;line-height:1}.btn-rename:hover{opacity:1;color:var(--green)}.btn-privacy{cursor:pointer;opacity:.6;background:0 0;border:none;flex-shrink:0;padding:2px 3px;font-size:12px;line-height:1}.btn-privacy:hover{opacity:1}.text-type-badge{border:1px solid var(--border);color:var(--text-muted);background:0 0;border-radius:10px;flex-shrink:0;padding:1px 7px;font-size:11px;line-height:1.4}button.text-type-badge{cursor:pointer}.text-type-badge--terms{border-color:var(--green);background:var(--green-light);color:var(--green-dark)}.star-rating{flex-shrink:0;align-items:center;gap:1px;display:inline-flex}.star-btn{cursor:pointer;color:#ccc;background:0 0;border:none;padding:0;font-size:14px;line-height:1;transition:color .1s}.star-btn.filled,.star-rating:not(.star-rating--readonly) .star-btn:hover,.star-rating:not(.star-rating--readonly) .star-btn:hover~.star-btn{color:#f5a623}.star-rating--readonly .star-btn{cursor:default}.star-picker{align-items:center;gap:4px;display:flex}.star-picker-btn{cursor:pointer;color:#ccc;background:0 0;border:none;padding:0 2px;font-size:24px;line-height:1;transition:color .1s}.star-picker-btn.filled,.star-picker-btn:hover{color:#f5a623}.star-picker-label{color:var(--text-muted,#666);margin-left:4px;font-size:13px}.lang-pair-selector{background:var(--green-light);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;padding:8px 12px;display:flex}.lang-pair-label{color:var(--green-dark);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.lang-pair-lang{font-size:14px}.lang-pair-arrow{color:var(--green-dark);font-size:14px}.lang-checklist-wrap{position:relative}.lang-checklist-btn{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;text-align:left;min-width:80px;padding:4px 8px;font-size:13px}.lang-checklist-btn:focus{outline:2px solid var(--green)}.lang-checklist-panel{z-index:100;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow);min-width:140px;padding:4px 0;list-style:none;position:absolute;top:calc(100% + 4px);left:0}.lang-checklist-item{padding:6px 12px}.lang-checklist-item label{cursor:pointer;white-space:nowrap;align-items:center;gap:6px;font-size:14px;display:flex}.lang-checklist-item:first-child{border-bottom:1px solid var(--border);margin-bottom:2px;padding-bottom:8px}.pair-badge{margin-right:3px;font-size:13px}.pair-badge-0{color:var(--green)}.pair-badge-1{color:#e8a020}.pair-badge-2{opacity:.5}.lang-filter{gap:2px;display:flex}.lang-filter-btn{border:1px solid var(--border);cursor:pointer;opacity:.5;background:0 0;border-radius:6px;padding:2px 6px;font-size:14px}.lang-filter-btn.active{opacity:1;border-color:var(--green);background:var(--green-light)}.lang-filter-btn:hover{opacity:1}.difficulty-filter{gap:2px;display:flex}.difficulty-filter-btn{border:1px solid var(--border);cursor:pointer;color:var(--text-muted,#666);background:0 0;border-radius:6px;padding:3px 8px;font-size:12px}.difficulty-filter-btn.active{color:#f5a623;background:#fff8ee;border-color:#f5a623}.difficulty-filter-btn:hover{color:#f5a623;border-color:#f5a623}.privacy-icon{flex-shrink:0;margin-right:2px;font-size:11px}.btn-playlist{cursor:pointer;border-radius:var(--radius-sm);opacity:.6;background:0 0;border:none;flex-shrink:0;padding:4px 6px;font-size:16px;transition:opacity .2s}.btn-playlist:hover{opacity:1}.tab-bar{border-bottom:2px solid var(--border);scrollbar-width:none;gap:4px;margin-bottom:16px;padding:8px 0 0;display:flex;overflow-x:auto}.tab-bar::-webkit-scrollbar{display:none}.tab-btn{color:var(--text-muted);cursor:pointer;white-space:nowrap;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:8px 14px;font-size:14px;font-weight:500;transition:color .15s,border-color .15s}.tab-btn:hover{color:var(--text)}.tab-btn.active{color:var(--green);border-bottom-color:var(--green);background:var(--green-light);font-weight:600}.invite-add-row{gap:8px;margin-bottom:8px;display:flex}.invite-list{flex-direction:column;gap:4px;margin-top:8px;list-style:none;display:flex}.invite-item{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:6px 10px;font-size:14px;display:flex}.tag-filter-wrap{flex:1;min-width:120px;position:relative}.tag-filter-selected{background:var(--surface);border:1px solid var(--green);border-radius:var(--radius-sm);color:var(--text);align-items:center;gap:4px;padding:6px 10px;font-size:14px;display:flex}.tag-filter-selected span{flex:1}.tag-clear{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:0;font-size:16px;line-height:1}.tag-dropdown-list{background:var(--surface);border:1px solid var(--border);border-radius:0 0 var(--radius-sm) var(--radius-sm);z-index:200;border-top:none;max-height:200px;margin:0;padding:0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #00000026}.tag-dropdown-item{cursor:pointer;padding:8px 12px;font-size:14px}.tag-dropdown-item:hover{background:var(--green-light)}.lang-regen-wrap{flex-shrink:0;position:relative}.btn-lang-regen{cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;min-width:28px;min-height:28px;padding:4px 6px;font-size:16px;line-height:1;display:flex}.btn-lang-regen:hover{background:var(--green-light)}.btn-lang-regen:disabled{cursor:default}.lang-regen-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);z-index:200;min-width:150px;margin:4px 0 0;padding:4px 0;list-style:none;position:absolute;top:100%;right:0;box-shadow:0 4px 12px #00000026}.lang-regen-option{cursor:pointer;align-items:center;gap:8px;padding:8px 12px;font-size:14px;display:flex}.lang-regen-option:hover{background:var(--green-light)}.text-tags{flex-wrap:wrap;align-items:center;gap:4px;margin-top:4px;display:flex}.tag-chip{background:var(--green-light);color:var(--green-dark);border-radius:10px;align-items:center;gap:3px;padding:2px 8px;font-size:12px;line-height:1.4;display:inline-flex}.tag-chip-remove{cursor:pointer;color:var(--text-muted);background:0 0;border:none;margin-left:2px;padding:0;font-size:12px;line-height:1}.tag-chip-remove:hover{color:var(--red)}.tag-edit-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:10px;padding:2px 6px;font-size:12px}.tag-edit-btn:hover{background:var(--green-light);color:var(--green-dark)}.tag-add-wrap{align-items:center;gap:4px;display:flex}.tag-add-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);width:110px;padding:3px 8px;font-size:12px}.tag-add-btn{padding:3px 8px!important;font-size:12px!important}.btn-activity-trail{cursor:pointer;color:var(--text-muted);opacity:.6;background:0 0;border:none;border-radius:4px;padding:2px 5px;font-size:13px;line-height:1}.btn-activity-trail:hover{opacity:1;color:var(--green)}.btn-activity-trail.active{opacity:1;color:var(--green);background:var(--green-light)}.activity-trail-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-top:4px;padding:12px 16px}.activity-trail-panel h3{color:var(--text);justify-content:space-between;align-items:center;margin:0 0 12px;font-size:14px;font-weight:600;display:flex}.btn-close-trail{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:0 2px;font-size:18px;line-height:1}.btn-close-trail:hover{color:var(--text)}.activity-trail{flex-direction:column;gap:16px;max-height:400px;display:flex;overflow-y:auto}.activity-day{flex-direction:column;gap:6px;display:flex}.activity-day-header{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border);padding-bottom:4px;font-size:11px;font-weight:600}.activity-event{align-items:baseline;gap:8px;font-size:13px;line-height:1.4;display:flex}.activity-event-icon{flex-shrink:0;font-size:14px}.activity-event-time{color:var(--text-muted);flex-shrink:0;min-width:40px;font-size:11px}.activity-event-label{color:var(--text);flex-shrink:0;font-weight:500}.activity-event-detail{color:var(--text-muted);font-size:12px}.streak-bar{border-top:1px solid #fff3;flex-wrap:wrap;align-items:center;gap:16px;padding:4px 16px 6px;font-size:13px;display:flex}.streak-item{color:#fff;align-items:center;gap:3px;display:flex}.streak-item strong{font-size:15px}.streak-progress{color:#ffffffd9;font-size:12px}.streak-paused{color:#ffffffbf;font-size:12px;font-style:italic}.btn-streak-reset{cursor:pointer;opacity:.5;background:0 0;border:none;margin-left:4px;padding:1px 3px;font-size:12px;line-height:1}.btn-streak-reset:hover{opacity:1}.setting-number-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);width:70px;color:var(--text);padding:4px 8px;font-size:14px}.setting-select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);padding:4px 8px;font-size:14px}.conversation-view{flex-direction:column;height:100%;min-height:0;display:flex}.conv-context-label{color:var(--text-muted);background:var(--green-light);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:6px 16px;font-size:12px;display:flex}.conv-context-count{font-weight:500}.conv-level-badge{background:var(--green);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:700;display:flex}.conv-chat{flex-direction:column;flex:1;gap:12px;min-height:0;padding:16px;display:flex;overflow-y:auto}.conv-msg{align-items:flex-end;gap:8px;display:flex}.conv-msg-ai{align-self:flex-start}.conv-msg-user{flex-direction:row-reverse;align-self:flex-end}.conv-msg-avatar{flex-shrink:0;margin-bottom:2px;font-size:20px}.conv-msg-bubble{border-radius:var(--radius);white-space:pre-wrap;max-width:82%;padding:10px 14px;font-size:15px;line-height:1.5}.conv-msg-ai .conv-msg-bubble{background:var(--surface);border:1px solid var(--border);border-bottom-left-radius:4px}.conv-msg-user .conv-msg-bubble{background:var(--green);color:#fff;border-bottom-right-radius:4px}.conv-msg-loading{padding:14px 18px}.conv-dots{align-items:center;gap:5px;display:flex}.conv-dots span{background:var(--text-muted);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite conv-bounce}.conv-dots span:nth-child(2){animation-delay:.2s}.conv-dots span:nth-child(3){animation-delay:.4s}@keyframes conv-bounce{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1.1)}}.conv-diff-check{text-align:center;background:#fff8e6;border-top:1px solid #f0d080;padding:12px 16px}.conv-diff-check p{color:var(--text);margin:0 0 8px;font-size:14px;font-weight:600}.conv-diff-buttons{justify-content:center;gap:8px;display:flex}.conv-diff-btn{border-radius:var(--radius-sm);cursor:pointer;border:none;flex:1;max-width:110px;padding:7px 10px;font-size:13px;font-weight:600;transition:opacity .15s}.conv-diff-btn.easier{background:var(--green-light);color:var(--green-dark)}.conv-diff-btn.ok{background:var(--border);color:var(--text)}.conv-diff-btn.harder{color:var(--red);background:#fde8e8}.conv-diff-btn:hover{opacity:.85}.conv-input-area{border-top:1px solid var(--border);background:var(--surface);flex-direction:column;gap:8px;padding:10px 12px 12px;display:flex}.conv-level-controls{align-items:center;gap:8px;display:flex}.conv-level-btn{border:2px solid var(--green);width:28px;height:28px;color:var(--green);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:18px;line-height:1;transition:background .15s,color .15s;display:flex}.conv-level-btn:disabled{opacity:.3;cursor:default}.conv-level-btn:not(:disabled):hover{background:var(--green);color:#fff}.conv-level-label{color:var(--text-muted);text-align:center;flex:1;font-size:13px}.conv-input-row{align-items:flex-end;gap:8px;display:flex}.conv-input{resize:none;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);flex:1;min-height:44px;padding:8px 12px;font-family:inherit;font-size:15px;transition:border-color .15s}.conv-input:focus{border-color:var(--green);outline:none}.conv-input::placeholder{color:var(--text-muted)}.conv-send-btn{background:var(--green);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;transition:background .15s;display:flex}.conv-send-btn:disabled{opacity:.4;cursor:default}.conv-send-btn:not(:disabled):hover{background:var(--green-dark)}.question-display{background:var(--green-light);border:1.5px solid var(--green)}.question-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.question-close-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:0;font-size:18px;line-height:1}.question-close-btn:hover{color:var(--red)}.question-loading{text-align:center;padding:16px 0}.question-text-row{align-items:flex-start;gap:8px;margin-bottom:12px;display:flex}.question-text{white-space:pre-wrap;color:var(--text);flex:1;margin:0;font-size:17px;line-height:1.5}.question-replay-btn{cursor:pointer;opacity:.7;background:0 0;border:none;flex-shrink:0;padding:0;font-size:20px;transition:opacity .15s}.question-replay-btn:hover{opacity:1}.question-answer-row{align-items:center;gap:8px;display:flex}.question-input{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);flex:1;min-width:0;padding:9px 12px;font-family:inherit;font-size:15px}.question-input:focus{border-color:var(--green);outline:none}.question-mic-btn{border:1.5px solid var(--green);width:42px;height:42px;color:var(--green);cursor:pointer;background:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;transition:background .15s,color .15s;display:flex}.question-mic-btn:disabled{opacity:.4;cursor:default}.question-mic-btn.listening{background:var(--red);color:#fff;border-color:var(--red);animation:1s infinite pulse}.question-evaluation{flex-direction:column;gap:10px;display:flex}.question-evaluation p{margin:0;font-size:15px;line-height:1.5}.conj-display{background:var(--conj-bg)}.conj-dutch{color:var(--text);margin:0 0 10px;font-size:18px;font-weight:600}.conj-forms{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.conj-form{color:var(--text-muted);border-radius:var(--radius-sm);padding:3px 8px;font-size:15px;transition:background .2s,color .2s}.conj-form.active{background:var(--conj-active-bg);color:var(--conj-active-text);font-weight:600}.player-extra-btns{flex-wrap:wrap;justify-content:center;gap:8px;margin:8px 0 4px;display:flex}.trans-lang-selector{flex-wrap:wrap;align-items:center;gap:4px;margin:6px 0 4px;display:flex}.trans-lang-btn{border:1px solid var(--border);cursor:pointer;color:var(--text-muted);white-space:nowrap;background:0 0;border-radius:20px;padding:3px 10px;font-size:13px}.trans-lang-btn.active{background:var(--green);border-color:var(--green);color:#fff}.trans-lang-add{border:1px dashed var(--border);cursor:pointer;color:#888;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;display:flex}.trans-lang-add:hover{border-color:var(--green);color:var(--green)}.trans-lang-processing{align-items:center;padding:0 4px;display:flex}.add-lang-panel{border-radius:var(--radius);background:#f5f5f5;margin:4px 0 8px;padding:12px}.spinner-sm{border:2px solid var(--border);border-top-color:var(--green);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin;display:inline-block}.admin-ops-view{flex-direction:column;gap:0;display:flex}.backup-status-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.backup-status-row{align-items:center;gap:6px;padding:3px 0;font-size:13px;display:flex}.backup-status-label{color:var(--text-muted);flex:1}.backup-status-ok{color:var(--green);font-size:12px}.backup-status-err{color:var(--red);cursor:help;font-size:12px}.backup-status-dot{background:var(--border);border-radius:50%;flex-shrink:0;width:8px;height:8px}.backup-status-dot[data-status=klaar]{background:var(--green)}.backup-status-dot[data-status=bezig]{background:#f59e0b;animation:1.2s ease-in-out infinite pulse}.backup-status-dot[data-status=fout]{background:var(--red)}.backup-list{flex-direction:column;gap:10px;display:flex}.backup-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);padding:12px 14px}.backup-card-safety{background:#fffbeb;border-color:#fde68a}.backup-card-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.backup-card-header>div{align-items:center;gap:6px;min-width:0;display:flex}.backup-id{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-family:monospace;font-size:13px;font-weight:600;overflow:hidden}.backup-type-badge{color:#92400e;white-space:nowrap;background:#fde68a;border-radius:10px;padding:1px 7px;font-size:11px}.backup-card-meta{color:var(--text-muted);margin-bottom:4px;font-size:12px}.backup-card-counts{color:var(--text-muted);font-size:12px}.broadcast-banner{border-left:4px solid;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;font-size:14px;font-weight:500;display:flex}.broadcast-banner--info{color:#1d4ed8;background:#eff6ff;border-left-color:#3b82f6}.broadcast-banner--belangrijk{color:#92400e;background:#fffbeb;border-left-color:#f59e0b}.broadcast-banner--kritiek{color:#991b1b;background:#fef2f2;border-left-color:#ef4444}.broadcast-message{white-space:pre-wrap;flex:1;min-width:0}.broadcast-dismiss{cursor:pointer;opacity:.6;color:inherit;background:0 0;border:none;flex-shrink:0;padding:0 4px;font-size:16px;line-height:1}.broadcast-dismiss:hover{opacity:1}.update-banner{border-radius:var(--radius-sm);background:var(--green);color:#fff;align-items:center;gap:12px;margin:12px 16px 0;padding:14px 16px;animation:.35s ease-out update-banner-in;display:flex;box-shadow:0 6px 20px #0000002e}.update-banner-icon{flex-shrink:0;font-size:26px;line-height:1}.update-banner-text{flex-direction:column;flex:1;gap:2px;min-width:0;font-size:13px;line-height:1.35;display:flex}.update-banner-text strong{font-size:16px}.update-banner-text span{opacity:.9}.update-banner-reload{color:var(--green-dark);border-radius:var(--radius-sm);cursor:pointer;background:#fff;border:none;flex-shrink:0;padding:10px 16px;font-size:15px;font-weight:700;box-shadow:0 2px 6px #00000026}.update-banner-reload:hover{filter:brightness(.95)}.update-banner-close{color:#fff;opacity:.75;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:22px;line-height:1}.update-banner-close:hover{opacity:1}@media (width<=480px){.update-banner{flex-wrap:wrap}.update-banner-reload{order:3;width:100%}}@keyframes update-banner-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.broadcast-form{flex-direction:column;display:flex}.broadcast-form-label{color:var(--text-muted);margin-bottom:6px;font-size:13px;font-weight:600}.broadcast-textarea{border:1px solid var(--border);border-radius:var(--radius-sm);resize:vertical;box-sizing:border-box;width:100%;padding:10px 12px;font-family:inherit;font-size:14px}.broadcast-textarea:focus{border-color:var(--green);outline:none}.broadcast-level-row{flex-wrap:wrap;gap:8px;display:flex}.broadcast-level-btn{cursor:pointer;opacity:.6;border:2px solid #0000;border-radius:20px;padding:6px 16px;font-size:13px;font-weight:600}.broadcast-level-btn.active{opacity:1}.broadcast-level-btn--info{color:#1d4ed8;background:#eff6ff;border-color:#3b82f6}.broadcast-level-btn--info.active{color:#fff;background:#3b82f6}.broadcast-level-btn--belangrijk{color:#92400e;background:#fffbeb;border-color:#f59e0b}.broadcast-level-btn--belangrijk.active{color:#fff;background:#f59e0b}.broadcast-level-btn--kritiek{color:#991b1b;background:#fef2f2;border-color:#ef4444}.broadcast-level-btn--kritiek.active{color:#fff;background:#ef4444}.chat-panel{flex-direction:column;flex:1;min-height:0;display:flex}.chat-messages{flex-direction:column;flex:1;gap:2px;padding:12px 16px;display:flex;overflow-y:auto}.chat-messages-spacer{flex:1}.chat-date-header{text-align:center;color:var(--text-muted);margin:12px 0 6px;font-size:12px;font-weight:500}.chat-bubble-row{flex-direction:column;align-items:flex-start;margin-bottom:4px;display:flex}.chat-bubble-row.own{align-items:flex-end}.chat-sender{color:var(--text-muted);margin-bottom:2px;padding-left:4px;font-size:11px}.chat-bubble{background:var(--surface);border:1px solid var(--border);border-radius:16px 16px 16px 4px;flex-wrap:wrap;align-items:flex-end;gap:8px;max-width:75%;padding:8px 12px;display:flex}.chat-bubble.own{background:var(--green);color:#fff;border-color:var(--green);border-radius:16px 16px 4px}.chat-text{word-break:break-word;font-size:14px;line-height:1.4}.chat-time{opacity:.6;white-space:nowrap;flex-shrink:0;align-self:flex-end;font-size:11px}.chat-input-wrapper{flex-shrink:0;position:relative}.chat-input-row{border-top:1px solid var(--border);background:var(--bg);gap:8px;padding:10px 12px;display:flex}.chat-emoji-btn{cursor:pointer;opacity:.7;background:0 0;border:none;flex-shrink:0;align-self:center;padding:0 2px;font-size:20px;line-height:1}.chat-emoji-btn:hover{opacity:1}.chat-gif{border-radius:8px;max-width:220px;max-height:180px;display:block}.emoji-picker{background:var(--surface);border:1px solid var(--border);z-index:600;border-radius:12px;flex-direction:column;width:360px;display:flex;position:absolute;bottom:calc(100% + 4px);right:0;overflow:hidden;box-shadow:0 4px 20px #00000026}.emoji-picker--maximized{z-index:700;border-radius:0;flex-direction:column;width:100%;height:100%;max-height:none;display:flex;position:fixed;inset:0}.emoji-picker--maximized .emoji-picker-header{padding:20px 16px 0;padding-top:max(20px, env(safe-area-inset-top,20px))}.emoji-picker--maximized .emoji-picker-search{padding:10px 14px;font-size:15px}.emoji-picker--maximized .emoji-picker-maximize-btn{padding:8px 10px;font-size:18px}.emoji-picker--maximized .emoji-grid{flex:1;min-height:0;max-height:none}.emoji-picker--maximized .gif-grid{flex:1;grid-template-columns:1fr;align-content:start;min-height:0;max-height:none}.emoji-picker-header{flex-direction:column;gap:6px;padding:8px 8px 0;display:flex}.emoji-picker-search-row{align-items:center;gap:4px;display:flex}.emoji-picker-search{border:1px solid var(--border);background:var(--bg);box-sizing:border-box;border-radius:8px;flex:1;padding:6px 10px;font-family:inherit;font-size:13px}.emoji-picker-maximize-btn{border:1px solid var(--border);cursor:pointer;color:var(--text-muted,#666);background:0 0;border-radius:6px;flex-shrink:0;padding:4px 6px;font-size:14px;line-height:1}.emoji-picker-maximize-btn:hover{background:var(--bg)}.emoji-picker-search:focus{border-color:var(--green);outline:none}.emoji-picker-tabs{border-bottom:1px solid var(--border);gap:4px;padding-bottom:6px;display:flex}.emoji-tab-btn{cursor:pointer;color:var(--text-muted,#666);background:0 0;border:none;border-radius:6px;flex:1;padding:4px 0;font-size:12px;font-weight:600}.emoji-tab-btn.active{background:var(--green);color:#fff}.emoji-category-bar{border-bottom:1px solid var(--border);scrollbar-width:none;gap:2px;padding:4px 6px;display:flex;overflow-x:auto}.emoji-category-bar::-webkit-scrollbar{display:none}.emoji-cat-btn{cursor:pointer;opacity:.7;background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:4px 5px;font-size:18px;line-height:1}.emoji-cat-btn:hover,.emoji-cat-btn.active{background:var(--green-light);opacity:1}.emoji-grid{scrollbar-width:thin;grid-template-columns:repeat(8,1fr);gap:2px;max-height:180px;padding:6px;display:grid;overflow-y:auto}.emoji-btn{cursor:pointer;text-align:center;background:0 0;border:none;border-radius:6px;padding:4px 2px;font-size:22px;line-height:1}.emoji-btn:hover{background:var(--green-light)}.emoji-empty{text-align:center;color:var(--text-muted,#888);padding:12px;font-size:13px}.gif-grid{scrollbar-width:thin;grid-template-columns:1fr 1fr;gap:6px;max-height:360px;padding:8px;display:grid;overflow-y:auto}.gif-item{cursor:pointer;background:0 0;border:none;border-radius:6px;padding:0;overflow:hidden}.gif-item img{width:100%;height:auto;display:block}.gif-item:hover{opacity:.85}.chat-input{border:1px solid var(--border);background:var(--surface);border-radius:20px;flex:1;padding:9px 14px;font-family:inherit;font-size:14px}.chat-input:focus{border-color:var(--green);outline:none}.chat-send-btn{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-size:18px;display:flex}.chat-empty{text-align:center;color:var(--text-muted);padding:32px 16px;font-size:14px}.chat-user-list{flex:1;padding:8px 0;overflow-y:auto}.chat-user-item{border:none;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:12px;width:100%;padding:12px 16px;display:flex}.chat-user-item:hover{background:var(--surface)}.chat-user-avatar-wrap{flex-shrink:0;position:relative}.chat-user-avatar{background:var(--green-light);width:40px;height:40px;color:var(--green-dark);border-radius:50%;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.chat-presence-dot{border:2px solid var(--surface,#fff);vertical-align:middle;background:#ccc;border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.chat-user-avatar-wrap .chat-presence-dot{position:absolute;bottom:1px;right:1px}.chat-presence-dot.online{background:#22c55e}.settings-user{align-items:center;gap:6px;margin-left:auto;display:flex}.settings-user-name{color:var(--text-muted);font-size:14px;font-weight:500}.chat-user-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.chat-user-name{color:var(--text);font-size:14px;font-weight:600}.chat-user-email{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.chat-user-arrow{color:var(--text-muted);flex-shrink:0;font-size:20px}.chat-widget{z-index:500;flex-direction:column;align-items:flex-end;display:flex;position:fixed;bottom:16px;right:16px}.chat-widget-btn{background:var(--green);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;font-size:22px;transition:transform .15s;display:flex;position:relative;box-shadow:0 4px 16px #00000040}.chat-widget-btn:hover{transform:scale(1.07)}.chat-widget-badge{background:var(--red);color:#fff;pointer-events:none;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:10px;font-weight:700;display:flex;position:absolute;top:-4px;right:-4px}.chat-widget-badge--bar{vertical-align:middle;margin-left:6px;font-size:10px;position:static}.chat-widget-badge--inline{vertical-align:middle;min-width:16px;height:16px;margin-left:5px;font-size:10px;position:static}.chat-widget-badge--user{min-width:20px;height:20px;margin-left:auto;font-size:11px;position:static}.chat-widget-panel{background:var(--bg);border:1px solid var(--border);border-bottom:none;border-radius:12px 12px 0 0;flex-direction:column;width:340px;height:480px;display:flex;overflow:hidden;box-shadow:0 8px 32px #00000038}.chat-widget-panel--maximized{z-index:500;border:none;border-radius:0;width:auto;height:auto;position:fixed;inset:0}.chat-widget-titlebar{background:var(--green);color:#fff;flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.chat-widget-title{align-items:center;gap:6px;font-size:14px;font-weight:700;display:flex}.chat-widget-titlebar-actions{gap:4px;display:flex}.chat-widget-action-btn{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:15px;line-height:1;display:flex}.chat-widget-action-btn:hover{background:#ffffff4d}@media (width<=600px){.chat-widget{bottom:0;right:0}.chat-widget-btn{margin:0 12px 12px 0}.chat-widget-panel{border-radius:12px 12px 0 0;width:100%;height:75dvh}}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:8px;max-width:320px;display:flex;position:fixed;top:16px;right:16px}.toast{color:#fff;border-radius:var(--radius-sm);pointer-events:all;background:#1a1a1a;align-items:center;gap:10px;padding:12px 14px;font-size:14px;line-height:1.4;animation:.2s toast-in;display:flex;box-shadow:0 4px 16px #00000040}@keyframes toast-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.toast-icon{flex-shrink:0;font-size:18px}.toast-message{flex:1;min-width:0}.toast-close{color:#fff9;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:18px;line-height:1}.toast-close:hover{color:#fff}.pull-indicator{color:var(--green-dark);justify-content:center;align-items:center;gap:8px;padding:8px 0;font-size:13px;display:flex}.pull-indicator-inner{border:2px solid var(--green);background:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;transition:transform 50ms linear;display:flex;box-shadow:0 2px 8px #0000001f}@keyframes ptr-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pull-indicator-inner.spinning{animation:.7s linear infinite ptr-spin}.pull-indicator-hint{color:var(--text-muted);font-size:12px}.btn-detail{color:var(--text-muted);cursor:pointer;opacity:.5;background:0 0;border:none;flex-shrink:0;padding:2px 3px;font-size:12px;line-height:1}.btn-detail:hover{opacity:1;color:var(--green)}.text-detail-list{grid-template-columns:auto 1fr;gap:6px 12px;margin:0 0 8px;font-size:14px;display:grid}.text-detail-list dt{color:var(--text-muted);font-weight:500}.text-detail-list dd{margin:0}.add-text-mode-toggle{border:1px solid var(--border);border-radius:var(--radius);gap:0;margin:0 0 16px;display:flex;overflow:hidden}.add-text-mode-toggle button{background:var(--surface);border:none;border-right:1px solid var(--border);cursor:pointer;color:var(--text-muted);flex:1;padding:9px 12px;font-size:14px;transition:background .15s}.add-text-mode-toggle button:last-child{border-right:none}.add-text-mode-toggle button.active{background:var(--green);color:#fff;font-weight:600}.add-text-mode-toggle button:disabled{opacity:.4;cursor:default}.batch-file-list{flex-direction:column;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.batch-file-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:8px;padding:7px 10px;font-size:13px;display:flex}.batch-file-name{text-overflow:ellipsis;white-space:nowrap;color:var(--text);flex:1;overflow:hidden}.batch-deel-label{color:var(--text-muted);flex-shrink:0;align-items:center;gap:4px;font-size:12px;display:flex}.batch-deel-input{border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center;width:44px;padding:3px 5px;font-size:13px}.batch-title-preview{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;font-style:italic;overflow:hidden}.batch-remove-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:16px;line-height:1}.batch-remove-btn:hover{color:var(--red)}.batch-results-list{text-align:left;width:100%;margin:12px 0 16px;padding:0;list-style:none}.batch-result-item{border-bottom:1px solid var(--border);align-items:baseline;gap:8px;padding:5px 0;font-size:14px;display:flex}.batch-result-item:last-child{border-bottom:none}.batch-result-icon{flex-shrink:0;font-weight:700}.batch-result-item.ok .batch-result-icon{color:var(--green)}.batch-result-item.fail .batch-result-icon{color:var(--red)}.batch-result-title{flex:1}.batch-result-error{color:var(--red);font-size:12px}.wordlists-view,.wordlist-detail-view,.word-practice-view{padding:0}.wordlist-table-wrap{border:1px solid var(--border);border-radius:var(--radius);margin-top:8px;overflow:hidden}.wordlist-table-header{background:var(--green-light);color:var(--green-dark);grid-template-columns:1fr 1fr 60px;gap:8px;padding:8px 12px;font-size:13px;font-weight:600;display:grid}.wordlist-table-header--scores{grid-template-columns:1fr 1fr 48px 48px 72px}.wordlist-row{border-top:1px solid var(--border);grid-template-columns:1fr 1fr 60px;align-items:center;gap:8px;padding:8px 12px;font-size:14px;display:grid}.wordlist-row--scores{grid-template-columns:1fr 1fr 48px 48px 72px}.wordlist-score-col{text-align:center;font-size:11px}.word-score{color:var(--green-dark);letter-spacing:1px;font-size:11px}.word-score-empty{opacity:.2;font-size:11px}.wordlist-score-filter{flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;display:flex}.wordlist-score-filter-label{color:var(--text-muted);white-space:nowrap;font-size:13px}.score-filter-btn{border:1.5px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-muted);background:0 0;padding:2px 8px;font-size:13px;font-weight:600;transition:background .15s,color .15s,border-color .15s}.score-filter-btn.active,.score-filter-btn:hover{background:var(--green-light);border-color:var(--green);color:var(--green-dark)}.score-filter-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:13px}.wordlist-row:first-of-type{border-top:none}.wordlist-cell{word-break:break-word}.wordlist-edit-input{border:1.5px solid var(--green);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text);padding:4px 8px;font-size:14px}.tag-input{border:1.5px solid var(--green);border-radius:var(--radius-sm);background:var(--surface);cursor:text;flex-wrap:wrap;align-items:center;gap:4px;min-height:34px;padding:4px 6px;display:flex}.tag{background:var(--green-light);color:var(--text);white-space:nowrap;border-radius:4px;align-items:center;gap:3px;padding:2px 6px;font-size:13px;display:inline-flex}.tag-remove{cursor:pointer;color:var(--text-muted);background:0 0;border:none;align-items:center;padding:0 1px;font-size:14px;line-height:1;display:flex}.tag-remove:hover{color:var(--red)}.tag-text-input{min-width:60px;color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:0;font-size:14px}.practice-card-wrap{perspective:1000px;cursor:pointer;-webkit-tap-highlight-color:transparent;margin-bottom:20px}.practice-card-inner{transform-style:preserve-3d;transition:transform .45s;position:relative}.practice-card-inner--flipped{transform:rotateY(180deg)}.practice-card-face{backface-visibility:hidden}.practice-card-face--hidden{visibility:hidden}.practice-card-face--back{position:absolute;inset:0;transform:rotateY(180deg)}.practice-card-subword{color:var(--text-muted);border-top:1px solid var(--border);text-align:center;margin-top:12px;padding-top:10px;font-size:14px}.practice-prompt-card{background:var(--surface);border:2px solid var(--green-light);border-radius:var(--radius);text-align:center;box-shadow:var(--shadow);padding:28px 20px}.practice-prompt-word{color:var(--text);font-size:28px;font-weight:700;line-height:1.3}.btn-mic{border:2px solid var(--green);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--green-dark);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:14px;font-size:16px;font-weight:600;transition:background .15s;display:flex}.btn-mic:hover{background:var(--green-light)}.btn-mic--active{background:var(--green-light);border-color:var(--green-dark);animation:1s infinite mic-pulse-border}@keyframes mic-pulse-border{0%,to{border-color:var(--green)}50%{border-color:var(--green-dark)}}.mic-pulse{background:var(--green-dark);border-radius:50%;width:10px;height:10px;animation:.8s infinite mic-dot-pulse;display:inline-block}@keyframes mic-dot-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}.practice-close-feedback{border-radius:var(--radius);text-align:center;color:#78350f;background:#fff8e1;border:2px solid #f59e0b;padding:16px 20px}.practice-result{border-radius:var(--radius);text-align:center;padding:20px}.practice-result--correct{background:var(--green-light);border:2px solid var(--green)}.practice-result--wrong{border:2px solid var(--red);background:#fef2f2}.btn-secondary.active{background:var(--green-light);border-color:var(--green);color:var(--green-dark);font-weight:600}.filter-select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:8px 10px;font-size:14px}.cycling-view{flex-direction:column;height:100%;padding:0;display:flex}.cycling-meta{color:var(--text-muted);padding:6px 16px 12px;font-size:13px}.cycling-stage{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:24px;padding:24px 20px;display:flex}.cycling-hint{color:var(--text-muted);text-align:center;font-size:15px;line-height:1.6}.cycling-word,.cycling-translation{flex-direction:column;align-items:center;gap:8px;animation:.3s cycling-fade-in;display:flex}@keyframes cycling-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.cycling-flag{font-size:32px}.cycling-text{text-align:center;color:var(--text);font-size:28px;font-weight:600;line-height:1.3}.cycling-text--translation{color:var(--text-muted);font-size:22px;font-weight:400}.cycling-controls{justify-content:center;padding:24px 20px;display:flex}.actions-dropdown{border-radius:var(--radius-sm);z-index:200;background:#fff;border:1px solid #ddd;min-width:200px;position:absolute;top:calc(100% + 4px);right:0;overflow:hidden;box-shadow:0 4px 12px #0000001f}.actions-dropdown-item{text-align:left;cursor:pointer;width:100%;color:var(--text);background:0 0;border:none;border-bottom:1px solid #f0f0f0;padding:10px 14px;font-size:14px;display:block}.actions-dropdown-item:last-child{border-bottom:none}.actions-dropdown-item:hover:not(:disabled){background:#f5f5f5}.actions-dropdown-item:disabled{color:var(--text-muted);cursor:default}.sentence-display.playing{box-shadow:var(--shadow), 0 0 0 2px color-mix(in srgb, var(--playing) 30%, transparent)}@media (prefers-reduced-motion:no-preference){.sentence-display.playing{animation:2.6s ease-in-out infinite nowplaying}@keyframes nowplaying{0%,to{box-shadow:var(--shadow), 0 0 0 0 color-mix(in srgb, var(--playing) 0%, transparent)}50%{box-shadow:var(--shadow), 0 0 0 3px color-mix(in srgb, var(--playing) 30%, transparent)}}}:root[data-theme=redactioneel] .sentence-dutch{border-top:1px solid var(--border);padding-top:16px}:root[data-theme=italiaans] .sentence-display{border-top:3px solid var(--playing)}@media (prefers-reduced-motion:no-preference){:root[data-theme=speels] .vocab-display,:root[data-theme=speels] .conj-display,:root[data-theme=speels] .question-display{animation:.34s cubic-bezier(.2,.9,.3,1.3) pop-in}@keyframes pop-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}}.status-overlay .elapsed-time{font-variant-numeric:tabular-nums;margin-top:12px}.status-overlay .elapsed-time strong{color:var(--text);font-weight:600}.cost-toast-container{right:16px;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:9998;pointer-events:none;flex-direction:column;gap:8px;width:min(300px,100vw - 32px);display:flex;position:fixed}.cost-toast{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);pointer-events:all;padding:10px 12px 0;animation:.22s cost-toast-in;overflow:hidden;box-shadow:0 4px 16px #0000002e}@keyframes cost-toast-in{0%{opacity:0;transform:translate(16px,10px)}to{opacity:1;transform:translate(0)}}.cost-toast-row{align-items:flex-start;gap:8px;display:flex}.cost-toast-texts{flex-direction:column;flex:1;min-width:0;display:flex}.cost-toast-title{font-size:13px;font-weight:700}.cost-toast-meta{color:var(--text-muted);font-size:12px}.cost-toast-models{color:var(--text-muted);opacity:.75;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.cost-toast-amount{color:var(--green);white-space:nowrap;font-size:15px;font-weight:700}.cost-toast-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:18px;line-height:1}.cost-toast-day{color:var(--text-muted);margin-top:8px;font-size:12px}.cost-toast-day strong{color:var(--text)}.cost-toast-track{background:var(--border);height:2px;margin:10px -12px 0}.cost-toast-bar{background:var(--green);height:2px;animation:linear forwards cost-toast-drain}@keyframes cost-toast-drain{0%{width:100%}to{width:0}}.job-cost{flex-wrap:wrap;justify-content:center;gap:4px 12px;margin-top:4px;display:flex}.job-cost strong{color:var(--text)}.job-cost-day{opacity:.8}.edit-history-bar{align-items:center;gap:4px;display:inline-flex}.edit-history-btn{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;background:0 0;padding:3px 7px;font-size:15px;line-height:1}.edit-history-btn:disabled{cursor:default;opacity:.35}.edit-history-status{color:var(--text-muted);margin-left:4px;font-size:12px}.edit-history-status--error{color:var(--red)}.playlist-settings{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:10px;margin-top:20px;padding:10px 12px;font-size:13px;display:flex}.playlist-settings-header{color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-weight:600;display:flex}.playlist-settings-check{align-items:center;gap:6px;display:flex}.playlist-settings-numbers{color:var(--text-muted);flex-wrap:wrap;gap:8px 16px;display:flex}.playlist-settings-numbers label{align-items:center;gap:6px;display:flex}.playlist-settings-numbers input{border:1px solid var(--border);border-radius:4px;width:56px;padding:2px 6px;font-size:13px}.playlist-terms-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.playlist-terms-list li{align-items:center;gap:8px;display:flex}.playlist-terms-list li .text-title{flex:1;min-width:0;font-size:14px}
