@charset "UTF-8";@font-face{font-family:Bebas Neue;font-style:normal;font-display:swap;font-weight:400;src:url("./media/bebas-neue-latin-ext-400-normal-4QDJKHGD.woff2") format("woff2"),url("./media/bebas-neue-latin-ext-400-normal-LM5LIVLD.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Bebas Neue;font-style:normal;font-display:swap;font-weight:400;src:url("./media/bebas-neue-latin-400-normal-6RSG64MI.woff2") format("woff2"),url("./media/bebas-neue-latin-400-normal-JLQIET42.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:300;src:url("./media/dm-sans-latin-ext-300-normal-PDSKXTLB.woff2") format("woff2"),url("./media/dm-sans-latin-ext-300-normal-RVJHP7MG.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:DM Sans;font-style:normal;font-display:swap;font-weight:300;src:url("./media/dm-sans-latin-300-normal-7EDD6MND.woff2") format("woff2"),url("./media/dm-sans-latin-300-normal-4G5ACMOL.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./media/dm-sans-latin-ext-400-normal-2ZR6XYBL.woff2") format("woff2"),url("./media/dm-sans-latin-ext-400-normal-TBIAKTDR.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./media/dm-sans-latin-400-normal-PK6QQEPM.woff2") format("woff2"),url("./media/dm-sans-latin-400-normal-MGJ5Z327.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./media/dm-sans-latin-ext-500-normal-26EY6OLJ.woff2") format("woff2"),url("./media/dm-sans-latin-ext-500-normal-7LSA2WRE.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./media/dm-sans-latin-500-normal-EEBZRNR6.woff2") format("woff2"),url("./media/dm-sans-latin-500-normal-DXK3D23C.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./media/dm-sans-latin-ext-600-normal-I7LCOF75.woff2") format("woff2"),url("./media/dm-sans-latin-ext-600-normal-EPKCPTQL.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./media/dm-sans-latin-600-normal-VVAUUCVV.woff2") format("woff2"),url("./media/dm-sans-latin-600-normal-RFO53SGX.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url("./media/dm-sans-latin-ext-700-normal-YO5Z2BEM.woff2") format("woff2"),url("./media/dm-sans-latin-ext-700-normal-MVCRPVDV.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url("./media/dm-sans-latin-700-normal-3NSIJ7YI.woff2") format("woff2"),url("./media/dm-sans-latin-700-normal-X22FQDE6.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:italic;font-display:swap;font-weight:300;src:url("./media/dm-sans-latin-ext-300-italic-XP77K4OH.woff2") format("woff2"),url("./media/dm-sans-latin-ext-300-italic-SNJQAMQ5.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:DM Sans;font-style:italic;font-display:swap;font-weight:300;src:url("./media/dm-sans-latin-300-italic-ONHSQ3FF.woff2") format("woff2"),url("./media/dm-sans-latin-300-italic-QI2QFRMH.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"DM Serif Display";font-style:normal;font-display:swap;font-weight:400;src:url("./media/dm-serif-display-latin-ext-400-normal-GP44XTZK.woff2") format("woff2"),url("./media/dm-serif-display-latin-ext-400-normal-EMQ76DPB.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:"DM Serif Display";font-style:normal;font-display:swap;font-weight:400;src:url("./media/dm-serif-display-latin-400-normal-DCCDLJOI.woff2") format("woff2"),url("./media/dm-serif-display-latin-400-normal-LTKJ7RSC.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"DM Serif Display";font-style:italic;font-display:swap;font-weight:400;src:url("./media/dm-serif-display-latin-ext-400-italic-QUYR73UK.woff2") format("woff2"),url("./media/dm-serif-display-latin-ext-400-italic-7RAWEPZW.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:"DM Serif Display";font-style:italic;font-display:swap;font-weight:400;src:url("./media/dm-serif-display-latin-400-italic-NM54ELTO.woff2") format("woff2"),url("./media/dm-serif-display-latin-400-italic-H7XRCZ7A.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url("./media/source-serif-4-cyrillic-ext-400-normal-LAJCCUJJ.woff2") format("woff2"),url("./media/source-serif-4-cyrillic-ext-400-normal-423LEDT5.woff") format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url("./media/source-serif-4-cyrillic-400-normal-HY2SWSDV.woff2") format("woff2"),url("./media/source-serif-4-cyrillic-400-normal-MKLB53VB.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url("./media/source-serif-4-greek-400-normal-EZOXQMRX.woff2") format("woff2"),url("./media/source-serif-4-greek-400-normal-MA4K5MFG.woff") format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url("./media/source-serif-4-vietnamese-400-normal-57GSP655.woff2") format("woff2"),url("./media/source-serif-4-vietnamese-400-normal-7AUKEVUK.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url("./media/source-serif-4-latin-ext-400-normal-7BWUONMX.woff2") format("woff2"),url("./media/source-serif-4-latin-ext-400-normal-NTY52RFT.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url("./media/source-serif-4-latin-400-normal-IDFWSPAZ.woff2") format("woff2"),url("./media/source-serif-4-latin-400-normal-HWN3UKSE.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:italic;font-display:swap;font-weight:400;src:url("./media/source-serif-4-cyrillic-ext-400-italic-3RQSPGRM.woff2") format("woff2"),url("./media/source-serif-4-cyrillic-ext-400-italic-TWTSU4E7.woff") format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:italic;font-display:swap;font-weight:400;src:url("./media/source-serif-4-cyrillic-400-italic-OP4LCDPK.woff2") format("woff2"),url("./media/source-serif-4-cyrillic-400-italic-7PO5JWEE.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:italic;font-display:swap;font-weight:400;src:url("./media/source-serif-4-greek-400-italic-QIHZW3RR.woff2") format("woff2"),url("./media/source-serif-4-greek-400-italic-SMACZKJE.woff") format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4";font-style:italic;font-display:swap;font-weight:400;src:url("./media/source-serif-4-vietnamese-400-italic-2U3QUEG5.woff2") format("woff2"),url("./media/source-serif-4-vietnamese-400-italic-BMCMFQZP.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4";font-style:italic;font-display:swap;font-weight:400;src:url("./media/source-serif-4-latin-ext-400-italic-FOJTTIPM.woff2") format("woff2"),url("./media/source-serif-4-latin-ext-400-italic-US7VPLKY.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:"Source Serif 4";font-style:italic;font-display:swap;font-weight:400;src:url("./media/source-serif-4-latin-400-italic-QH2PBJT5.woff2") format("woff2"),url("./media/source-serif-4-latin-400-italic-FW6ATC2W.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url("./media/source-serif-4-cyrillic-ext-600-normal-4W75A3FT.woff2") format("woff2"),url("./media/source-serif-4-cyrillic-ext-600-normal-OJ37HLEA.woff") format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url("./media/source-serif-4-cyrillic-600-normal-PBNCXW43.woff2") format("woff2"),url("./media/source-serif-4-cyrillic-600-normal-JOOCHY6U.woff") format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url("./media/source-serif-4-greek-600-normal-6G6NHTG2.woff2") format("woff2"),url("./media/source-serif-4-greek-600-normal-7AMFU6RC.woff") format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url("./media/source-serif-4-vietnamese-600-normal-VKJ5XQLQ.woff2") format("woff2"),url("./media/source-serif-4-vietnamese-600-normal-KSADB7JE.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url("./media/source-serif-4-latin-ext-600-normal-BBP4BHYB.woff2") format("woff2"),url("./media/source-serif-4-latin-ext-600-normal-IM5NSXW4.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url("./media/source-serif-4-latin-600-normal-6CNTK5AD.woff2") format("woff2"),url("./media/source-serif-4-latin-600-normal-DXAYH32T.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@keyframes shimmer-slide{to{transform:translate(100%)}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(var(--fade-distance, 14px))}to{opacity:1;transform:translateY(0)}}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:none}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg);color:var(--text);min-height:100dvh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse at 20% 0%,var(--accent-dim) 0%,transparent 50%),radial-gradient(ellipse at 80% 100%,var(--accent-dim) 0%,transparent 40%);opacity:.4}button{font-family:inherit;border:none;outline:none;background:none;color:inherit;text-align:inherit;line-height:inherit;cursor:pointer}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed}a.btn,a[role=button]{text-decoration:none}body.df-scroll-lock{overflow:hidden}p,h1,h2,h3,h4,h5,h6,li,label,td,th{unicode-bidi:plaintext}h1,h2,h3,h4{text-wrap:balance}p{text-wrap:pretty}body.df-fullscreen-active .app-header,body.df-fullscreen-active .mobile-bottom-nav{display:none}.hidden{display:none!important}html{scrollbar-width:thin;scrollbar-color:var(--border-bright) transparent}html::-webkit-scrollbar{width:6px;height:6px}html::-webkit-scrollbar-track{background:transparent}html::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:3px}::selection{background:var(--accent-dim);color:var(--text)}a{transition:color var(--transition)}@media(prefers-reduced-motion:no-preference){html.theme-transition,html.theme-transition *,html.theme-transition *:before,html.theme-transition *:after{transition:background-color var(--transition-theme),border-color var(--transition-theme),color var(--transition-theme),fill var(--transition-theme),stroke var(--transition-theme),box-shadow var(--transition-theme)!important;transition-delay:0s!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--bg-base: #0d0e1a;--bg-surface: #131526;--bg-elevated: #1a1d31;--bg-input: #1f223a;--bg-hover: #272b46;--bg: var(--bg-base);--bg-2: var(--bg-surface);--bg-3: var(--bg-elevated);--bg-4: var(--bg-hover);--border-subtle: rgba(228, 230, 255, .08);--border-default: rgba(228, 230, 255, .14);--border-strong: rgba(228, 230, 255, .24);--border-focus: rgba(124, 92, 255, .65);--border: var(--border-subtle);--border-bright: var(--border-default);--border-glow: rgba(124, 92, 255, .24);--text-primary: rgba(240, 240, 255, .96);--text-secondary: rgba(225, 226, 250, .66);--text-tertiary: rgba(225, 226, 250, .44);--text: var(--text-primary);--text-2: var(--text-secondary);--text-3: var(--text-tertiary);--accent: #7c5cff;--accent-strong: #6342ed;--accent-soft: #a18bff;--accent-dim: rgba(124, 92, 255, .16);--accent-glow: rgba(124, 92, 255, .42);--accent-text: #ffffff;--accent-gradient: linear-gradient(135deg, #8a6bff 0%, #5f3fee 100%);--accent-gradient-soft: linear-gradient(135deg, rgba(124, 92, 255, .18) 0%, rgba(95, 63, 238, .06) 100%);--secondary: #2dd4c8;--secondary-strong: #1bb5aa;--secondary-soft: #6ee8de;--secondary-dim: rgba(45, 212, 200, .14);--secondary-glow: rgba(45, 212, 200, .38);--feature-videos: #7c5cff;--feature-reader: #2dd4c8;--feature-notes: #59d6b4;--feature-study: #4fa3ff;--feature-games: #ff5ca8;--red: #ff5577;--green: #2fd49a;--amber: #ffb84d;--blue: #4fa3ff;--radius: 12px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 20px;--radius-sm: 8px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--shadow-sm: 0 1px 2px rgba(5, 5, 15, .5), 0 2px 6px rgba(5, 5, 15, .32);--shadow: 0 4px 14px rgba(5, 5, 15, .46), 0 12px 32px rgba(5, 5, 15, .4);--shadow-lg: 0 12px 28px rgba(5, 5, 15, .54), 0 28px 70px rgba(5, 5, 15, .62);--shadow-accent: 0 6px 24px var(--accent-glow);--ring: 0 0 0 3px var(--accent-dim);--ring-strong: 0 0 0 3px rgba(124, 92, 255, .4);--ease-out: cubic-bezier(.4, 0, .2, 1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--transition: .18s var(--ease-out);--transition-fast: .12s var(--ease-out);--transition-slow: .32s var(--ease-out);--transition-theme: .35s var(--ease-out);--z-dropdown: 10;--z-header: 100;--z-sidebar: 150;--z-drawer: 300;--z-modal: 500;--z-toast: 1000;--font-display: "Bebas Neue", sans-serif;--font-body: "DM Sans", sans-serif;--font-mono: "DM Mono", monospace;--font-serif: "DM Serif Display", serif;--font-reading: "Source Serif 4", "Iowan Old Style", Georgia, serif;--font-arabic: "Noto Naskh Arabic", "Noto Sans Arabic", "Scheherazade New", "Amiri", "Cairo", "Tajawal", "Segoe UI", "Traditional Arabic", serif;--fs-xs: 12px;--fs-sm: 13px;--fs-md: 14px;--fs-base: 15px;--fs-lg: 17px;--fs-xl: 19px;--fs-2xl: 22px;--fs-3xl: 26px;--fs-hero: 34px;--fs-hero-mobile: 28px;--bg-header: rgba(13, 14, 26, .72);--bg-glass: rgba(19, 21, 38, .82);--bg-tooltip: rgba(31, 34, 58, .96);--color-surface: rgba(228, 230, 255, .05);--skeleton-base: rgba(228, 230, 255, .06);--skeleton-sheen: rgba(228, 230, 255, .12);--sidebar-bg: #080914;--sidebar-active-bg: rgba(124, 92, 255, .16);--nav-item-radius: 10px;--green-dim: rgba(47, 212, 154, .1);--green-border: rgba(47, 212, 154, .3);--red-dim: rgba(255, 85, 119, .1);--red-border: rgba(255, 85, 119, .28);--amber-dim: rgba(255, 184, 77, .1);--amber-border: rgba(255, 184, 77, .3);--blue-dim: rgba(79, 163, 255, .1);--blue-border: rgba(79, 163, 255, .3);--shell-gap: 12px;--sidebar-width: 264px;--sidebar-rail: 80px;--topbar-height: 68px;--radius-2xl: 24px;--shell-surface: rgba(17, 19, 36, .72);--shell-surface-solid: #111324;--shell-border: rgba(228, 230, 255, .07);--shell-highlight: inset 0 1px 0 rgba(255, 255, 255, .05);--shell-shadow: 0 24px 60px rgba(3, 3, 12, .55), 0 2px 8px rgba(3, 3, 12, .35);--surface-card: rgba(26, 29, 49, .58);--surface-card-hover: rgba(34, 38, 63, .78);--aurora-1: rgba(124, 92, 255, .3);--aurora-2: rgba(45, 212, 200, .16);--aurora-3: rgba(255, 92, 168, .12);--scrim: rgba(5, 5, 14, .62);--on-media: #ffffff;--media-scrim: linear-gradient(180deg, rgba(5, 5, 14, 0) 38%, rgba(5, 5, 14, .86) 100%);--media-chip: rgba(5, 5, 14, .62);--media-border: rgba(255, 255, 255, .16);--media-base: #05050e}[data-theme=light]{--bg-base: #f3f3fb;--bg-surface: #ffffff;--bg-elevated: #ffffff;--bg-input: #ffffff;--bg-hover: #eaeaf7;--bg: var(--bg-base);--bg-2: var(--bg-surface);--bg-3: var(--bg-elevated);--bg-4: var(--bg-hover);--border-subtle: rgba(30, 27, 75, .08);--border-default: rgba(30, 27, 75, .14);--border-strong: rgba(30, 27, 75, .24);--border-focus: rgba(99, 66, 237, .6);--border: var(--border-subtle);--border-bright: var(--border-default);--border-glow: rgba(99, 66, 237, .18);--text-primary: #161531;--text-secondary: #4c4a6e;--text-tertiary: #71708f;--text: var(--text-primary);--text-2: var(--text-secondary);--text-3: var(--text-tertiary);--accent: #6342ed;--accent-strong: #5132d4;--accent-soft: #7c5cff;--accent-dim: rgba(99, 66, 237, .09);--accent-glow: rgba(99, 66, 237, .22);--accent-text: #ffffff;--accent-gradient: linear-gradient(135deg, #6e4ded 0%, #5132d4 100%);--accent-gradient-soft: linear-gradient(135deg, rgba(99, 66, 237, .1) 0%, rgba(81, 50, 212, .04) 100%);--secondary: #0f9c91;--secondary-strong: #0c7f76;--secondary-soft: #2dd4c8;--secondary-dim: rgba(15, 156, 145, .1);--secondary-glow: rgba(15, 156, 145, .22);--feature-videos: #6342ed;--feature-reader: #0f9c91;--feature-notes: #10916f;--feature-study: #2f7fe0;--feature-games: #d6308a;--red: #d6325a;--green: #0c9c6e;--amber: #b3790f;--blue: #2f7fe0;--shadow-sm: 0 1px 2px rgba(30, 27, 75, .06), 0 1px 3px rgba(30, 27, 75, .07);--shadow: 0 2px 8px rgba(30, 27, 75, .07), 0 10px 28px rgba(30, 27, 75, .09);--shadow-lg: 0 12px 28px rgba(30, 27, 75, .1), 0 28px 70px rgba(30, 27, 75, .14);--shadow-accent: 0 6px 22px var(--accent-glow);--ring: 0 0 0 3px var(--accent-dim);--ring-strong: 0 0 0 3px rgba(99, 66, 237, .26);--bg-header: rgba(243, 243, 251, .78);--bg-glass: rgba(255, 255, 255, .84);--bg-tooltip: rgba(255, 255, 255, .97);--color-surface: rgba(30, 27, 75, .04);--skeleton-base: rgba(30, 27, 75, .06);--skeleton-sheen: rgba(30, 27, 75, .11);--sidebar-bg: #eaeaf7;--sidebar-active-bg: rgba(99, 66, 237, .1);--green-dim: rgba(12, 156, 110, .1);--green-border: rgba(12, 156, 110, .28);--red-dim: rgba(214, 50, 90, .09);--red-border: rgba(214, 50, 90, .26);--amber-dim: rgba(179, 121, 15, .1);--amber-border: rgba(179, 121, 15, .3);--blue-dim: rgba(47, 127, 224, .09);--blue-border: rgba(47, 127, 224, .26);--shell-surface: rgba(255, 255, 255, .78);--shell-surface-solid: #ffffff;--shell-border: rgba(30, 27, 75, .08);--shell-highlight: inset 0 1px 0 rgba(255, 255, 255, .9);--shell-shadow: 0 20px 50px rgba(30, 27, 75, .1), 0 2px 6px rgba(30, 27, 75, .06);--surface-card: rgba(255, 255, 255, .86);--surface-card-hover: #ffffff;--aurora-1: rgba(99, 66, 237, .16);--aurora-2: rgba(15, 156, 145, .1);--aurora-3: rgba(214, 48, 138, .08);--scrim: rgba(22, 21, 49, .38)}.app-shell{position:relative;height:100dvh;overflow:hidden;display:flex;background:var(--bg);isolation:isolate}.app-shell.is-unauth,.app-shell.is-unauth .app-main,.app-shell.is-unauth .app-content{display:block;height:auto;min-height:0;overflow:visible;background:none}.app-main{position:relative;z-index:1;min-width:0;min-height:0;flex:1;display:flex;flex-direction:column}.app-shell.is-in-game .app-main{z-index:auto}.app-content{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border-bright) transparent}.app-content::-webkit-scrollbar{width:8px;height:8px}.app-content::-webkit-scrollbar-track{background:transparent}.app-content::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:4px}@media(max-width:768px){.modal-card{display:flex;flex-direction:column}.modal-inner{flex-direction:column;flex:1;overflow:hidden}.modal-info{padding:20px;overflow-y:auto;min-height:0}.modal-title{font-size:24px}}@media(max-width:480px){.auth-card{padding:28px 20px;margin:16px;max-width:100%}.auth-bg-glow{width:400px;height:400px}.app-shell:not(.is-unauth) .app-content{padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))}.ctrl-select{font-size:12px;padding:6px 22px 6px 9px}.empty-state{padding:48px 20px}.empty-state h2{font-size:22px}.modal-overlay{align-items:center;padding:16px}.modal-card{max-width:100%;max-height:85dvh;border-radius:var(--radius-lg);overflow:hidden}.modal-inner{flex-direction:row;min-height:0}.modal-info{flex:1;padding:14px 16px 16px 12px;gap:8px}.modal-title{font-size:20px}.modal-close{top:10px;right:10px}.modal-actions{flex-direction:column;align-self:stretch}}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.auth-bg{position:absolute;inset:0;z-index:0}.auth-bg-glow{position:absolute;width:800px;height:800px;border-radius:50%;filter:blur(80px);background:radial-gradient(ellipse,var(--accent-dim) 0%,transparent 65%);pointer-events:none;left:50%;top:50%;transform:translate(-50%,-50%)}.auth-bg-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:60px 60px;-webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 30%,transparent 100%);mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 30%,transparent 100%)}.auth-card{position:relative;z-index:1;width:100%;max-width:420px;padding:48px 40px;background:var(--bg-2);border:1px solid var(--border-bright);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);box-shadow:var(--shadow-lg),0 0 0 1px var(--border-glow);animation:slideUp .5s var(--ease-out-expo) both}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.auth-logo{display:flex;align-items:center;gap:10px;margin-bottom:6px}.logo-icon{font-size:24px;color:var(--accent);line-height:1}.logo-text{font-family:var(--font-display);font-size:28px;letter-spacing:3px;color:var(--text)}.auth-tagline{font-family:var(--font-serif);font-style:italic;color:var(--text-2);font-size:14px;margin-bottom:32px}.auth-redirecting{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:40px 0 24px;color:var(--text-2);font-size:14px}.auth-redirect-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}.btn-google{width:100%;position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-family:var(--font-body);border-radius:var(--radius);transition:all var(--transition-fast);text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none;gap:6px}.btn-google:disabled,.btn-google[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none;box-shadow:none;transform:none}.btn-google:active:not(:disabled):not([aria-disabled=true]){transform:translateY(0)}.btn-google{padding:11px 22px;font-size:14px;gap:7px;font-weight:600;background:transparent;border:1px solid var(--border-bright);color:var(--text-2);transition:all var(--transition-fast)}.btn-google:hover:not(:disabled):not([aria-disabled=true]){color:var(--text);border-color:var(--border-strong);background:var(--color-surface);transform:translateY(-1px)}.btn-google:active:not(:disabled):not([aria-disabled=true]){background:var(--bg-4);transform:translateY(0)}.btn-google:focus-visible{outline:none;box-shadow:var(--ring-strong)}.btn-google:disabled,.btn-google[aria-disabled=true]{color:var(--text-3);border-color:var(--border);background:transparent}.btn-google{font-weight:500}.btn-google:hover{background:var(--bg-4);border-color:var(--border-strong)}.auth-divider{display:flex;align-items:center;gap:16px;margin:24px 0;color:var(--text-3);font-size:12px;letter-spacing:.5px;text-transform:uppercase}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-tabs{display:flex;border-bottom:1px solid var(--border);margin-bottom:24px}.auth-tab{flex:1;padding:10px;background:none;border:none;color:var(--text-3);font-family:var(--font-body);font-size:14px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all var(--transition)}.auth-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.auth-form{display:none;flex-direction:column;gap:12px}.auth-form.active{display:flex}.auth-input{width:100%;padding:11px 14px;background:var(--bg-input);border:1px solid var(--border-bright);border-radius:var(--radius-md);color:var(--text);font-family:var(--font-body);font-size:var(--fs-md);outline:none;transition:border-color var(--transition),box-shadow var(--transition),background var(--transition)}.auth-input::placeholder{color:var(--text-3)}.auth-input:hover:not(:disabled):not(:focus){border-color:var(--border-strong)}.auth-input:focus{border-color:var(--accent);box-shadow:var(--ring)}.auth-input:disabled{opacity:.55;cursor:not-allowed}.auth-input{padding:13px 16px;border-radius:var(--radius)}.btn-primary{width:100%;margin-top:4px;padding:13px;font-size:15px;position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-family:var(--font-body);border-radius:var(--radius);transition:all var(--transition-fast);text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none;gap:6px}.btn-primary:disabled,.btn-primary[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none;box-shadow:none;transform:none}.btn-primary:active:not(:disabled):not([aria-disabled=true]){transform:translateY(0)}.btn-primary{background:var(--accent);border:1px solid transparent;color:var(--accent-text);font-weight:600;box-shadow:var(--shadow-sm);transition:all var(--transition-fast)}.btn-primary:hover:not(:disabled):not([aria-disabled=true]){background:color-mix(in srgb,var(--accent) 88%,white);transform:translateY(-1px);box-shadow:var(--shadow-accent)}.btn-primary:active:not(:disabled):not([aria-disabled=true]){background:var(--accent-strong);transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-primary:focus-visible{outline:none;box-shadow:var(--ring-strong)}.btn-primary:disabled,.btn-primary[aria-disabled=true]{background:var(--bg-4);color:var(--text-3);box-shadow:none}.auth-error{font-size:13px;color:var(--red);min-height:18px;text-align:center}.df-search-bar{display:flex;align-items:center;gap:0;border:1px solid var(--border-bright);border-radius:14px;background:var(--bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:0 6px 0 14px;height:44px;transition:border-color var(--transition),box-shadow var(--transition);box-shadow:var(--shadow-sm);width:100%;min-width:0}.df-search-bar:focus-within{border-color:var(--accent);box-shadow:var(--ring),var(--shadow)}.df-search-icon{color:var(--text-3);flex-shrink:0;margin-right:10px}.df-search-input{flex:1;border:none;background:transparent;color:var(--text);font-size:14px;outline:none;min-width:0}.df-search-input::placeholder{color:var(--text-3)}.df-search-clear{width:28px;height:28px;border:none;background:transparent;color:var(--text-3);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;flex-shrink:0;transition:color var(--transition-fast),background var(--transition-fast)}.df-search-clear:hover{color:var(--text);background:var(--bg-3)}.df-search-lang{position:relative;flex-shrink:0;margin:0 4px}.df-search-lang-trigger{display:flex;align-items:center;gap:4px;height:34px;padding:0 8px;border:1px solid var(--border);border-radius:8px;background:var(--bg-3);cursor:pointer;color:var(--text-2);transition:border-color var(--transition-fast),background var(--transition-fast)}.df-search-lang-trigger .fi{width:20px;height:15px;border-radius:2px;display:block;background-size:cover;flex-shrink:0}.df-search-lang-trigger:hover,.df-search-lang.open .df-search-lang-trigger{border-color:var(--accent);background:var(--accent-dim)}.df-search-lang-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:160px;max-height:320px;overflow-y:auto;border:1px solid var(--border-bright);border-radius:12px;background:var(--bg-glass);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:var(--shadow-lg);padding:4px;display:flex;flex-direction:column;gap:1px;z-index:500;pointer-events:none;opacity:0;transform:translateY(-4px) scale(.97);transform-origin:top right;transition:opacity var(--transition-fast),transform var(--transition-fast)}.df-search-lang.open .df-search-lang-dropdown{pointer-events:auto;opacity:1;transform:translateY(0) scale(1)}.df-search-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-family:var(--font-body);border-radius:var(--radius);transition:all var(--transition-fast);text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none;gap:6px}.df-search-btn:disabled,.df-search-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none;box-shadow:none;transform:none}.df-search-btn:active:not(:disabled):not([aria-disabled=true]){transform:translateY(0)}.df-search-btn{font-size:13px;gap:6px;border-radius:var(--radius-sm);padding:0 16px;height:36px;flex-shrink:0;background:var(--accent);border:1px solid transparent;color:var(--accent-text);font-weight:600;box-shadow:var(--shadow-sm);transition:all var(--transition-fast)}.df-search-btn:hover:not(:disabled):not([aria-disabled=true]){background:color-mix(in srgb,var(--accent) 88%,white);transform:translateY(-1px);box-shadow:var(--shadow-accent)}.df-search-btn:active:not(:disabled):not([aria-disabled=true]){background:var(--accent-strong);transform:translateY(0);box-shadow:var(--shadow-sm)}.df-search-btn:focus-visible{outline:none;box-shadow:var(--ring-strong)}.df-search-btn:disabled,.df-search-btn[aria-disabled=true]{background:var(--bg-4);color:var(--text-3);box-shadow:none}.df-search-btn:disabled{opacity:.65;cursor:default}.df-search-btn-icon{display:none}.df-search-lang .df-lang-chevron{width:10px;height:6px;color:var(--text-3);flex-shrink:0;transition:transform var(--transition-fast)}.df-search-lang.open .df-lang-chevron{transform:rotate(180deg)}.df-lang-option{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:none;border-radius:7px;background:transparent;cursor:pointer;text-align:left;transition:background var(--transition-fast)}.df-lang-option:hover{background:var(--bg-3)}.df-lang-option.active{background:var(--accent-dim)}.df-lang-option-flag{display:flex;align-items:center;flex-shrink:0}.df-lang-option-flag .fi{width:20px;height:15px;border-radius:2px;display:block;background-size:cover}.df-lang-option-name{font-size:13px;font-weight:500;color:var(--text)}.df-lang-option.active .df-lang-option-name{color:var(--accent)}.controls-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 32px;border-top:1px solid var(--border);flex-wrap:wrap}.controls-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ctrl-select{padding:7px 28px 7px 12px;background:var(--bg-3);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-2);font-family:var(--font-body);font-size:13px;cursor:pointer;outline:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238890a4' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;transition:all var(--transition)}.ctrl-select:hover,.ctrl-select:focus{border-color:var(--accent);color:var(--text)}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:80px 32px;text-align:center;animation:fade-in-up .4s var(--ease-out-expo) both;--fade-distance: 10px}.empty-icon{font-size:64px;color:var(--text-3);opacity:.4;font-family:var(--font-display)}.empty-state-icon-ring{display:flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;color:var(--accent);background:var(--accent-gradient-soft);border:1px solid var(--border-glow);margin-bottom:4px}.empty-state h2{font-family:var(--font-display);font-size:28px;letter-spacing:2px;color:var(--text-2)}.empty-state p{font-size:15px;color:var(--text-3);max-width:360px;line-height:1.6}.skeleton{position:relative;overflow:hidden;background:var(--skeleton-base);border-radius:var(--radius-sm);pointer-events:none;color:transparent;-webkit-user-select:none;user-select:none}.skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,var(--skeleton-sheen) 50%,transparent 100%);transform:translate(-100%);animation:shimmer-slide 1.6s ease-in-out infinite}.skeleton-text{position:relative;overflow:hidden;background:var(--skeleton-base);border-radius:4px;pointer-events:none;color:transparent;-webkit-user-select:none;user-select:none}.skeleton-text:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,var(--skeleton-sheen) 50%,transparent 100%);transform:translate(-100%);animation:shimmer-slide 1.6s ease-in-out infinite}.skeleton-text{height:14px;width:100%}.skeleton-title{position:relative;overflow:hidden;background:var(--skeleton-base);border-radius:6px;pointer-events:none;color:transparent;-webkit-user-select:none;user-select:none}.skeleton-title:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,var(--skeleton-sheen) 50%,transparent 100%);transform:translate(-100%);animation:shimmer-slide 1.6s ease-in-out infinite}.skeleton-title{height:22px;width:55%}.skeleton-circle{position:relative;overflow:hidden;background:var(--skeleton-base);border-radius:50%;pointer-events:none;color:transparent;-webkit-user-select:none;user-select:none}.skeleton-circle:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,var(--skeleton-sheen) 50%,transparent 100%);transform:translate(-100%);animation:shimmer-slide 1.6s ease-in-out infinite}.skeleton-card{position:relative;overflow:hidden;background:var(--skeleton-base);border-radius:var(--radius-lg);pointer-events:none;color:transparent;-webkit-user-select:none;user-select:none}.skeleton-card:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,var(--skeleton-sheen) 50%,transparent 100%);transform:translate(-100%);animation:shimmer-slide 1.6s ease-in-out infinite}.modal-overlay{position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;padding:20px;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-card{position:relative;background:var(--bg-2);border:1px solid var(--border-bright);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:680px;max-height:90vh;overflow:hidden;animation:modalIn .25s cubic-bezier(.4,0,.2,1) both}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(16px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-close{position:absolute;top:16px;right:16px;position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-family:var(--font-body);border-radius:var(--radius);transition:all var(--transition-fast);text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none;gap:6px}.modal-close:disabled,.modal-close[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none;box-shadow:none;transform:none}.modal-close:focus-visible{outline:none;box-shadow:var(--ring-strong)}.modal-close:active:not(:disabled):not([aria-disabled=true]){transform:translateY(0)}.modal-close{width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0;gap:0;background:var(--bg-4);border:1px solid var(--border);color:var(--text-2);font-size:13px;z-index:10}.modal-close:hover{background:var(--red-dim);color:var(--red);border-color:var(--red-border)}.modal-inner{display:flex;gap:0;max-height:90vh;overflow-y:auto}.modal-poster-wrap{position:relative;flex-shrink:0;width:220px}.modal-poster{width:100%;height:100%;min-height:320px;object-fit:cover;display:block}.modal-poster-glow{position:absolute;inset:0;background:linear-gradient(to right,transparent 80%,var(--bg-2) 100%)}.modal-info{flex:1;padding:32px 28px 28px;display:flex;flex-direction:column;gap:12px}.modal-meta{font-size:12px;color:var(--accent);letter-spacing:1px;text-transform:uppercase;font-family:var(--font-display)}.modal-title{font-family:var(--font-display);font-size:32px;letter-spacing:2px;color:var(--text);line-height:1.1}.modal-badges{display:flex;gap:8px;flex-wrap:wrap}.badge{padding:4px 10px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.badge-lang{background:var(--bg-4);color:var(--text-2);border:1px solid var(--border)}.badge-rating{background:var(--accent-dim);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.modal-overview{font-size:14px;line-height:1.7;color:var(--text-2);flex:1}.btn-remove,.btn-watched{position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-family:var(--font-body);border-radius:var(--radius);transition:all var(--transition-fast);text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none;gap:6px}.btn-remove:disabled,.btn-remove[aria-disabled=true],.btn-watched:disabled,.btn-watched[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none;box-shadow:none;transform:none}.btn-remove:focus-visible,.btn-watched:focus-visible{outline:none;box-shadow:var(--ring-strong)}.btn-remove:active:not(:disabled):not([aria-disabled=true]),.btn-watched:active:not(:disabled):not([aria-disabled=true]){transform:translateY(0)}.btn-remove,.btn-watched{padding:8px 16px;font-size:13px;gap:6px;font-weight:600}.btn-remove.btn-remove,.btn-watched.btn-remove{background:var(--red-dim);border:1px solid var(--red-border);color:var(--red);transition:all var(--transition-fast)}.btn-remove.btn-remove:hover:not(:disabled):not([aria-disabled=true]),.btn-watched.btn-remove:hover:not(:disabled):not([aria-disabled=true]){background:color-mix(in srgb,var(--red) 20%,transparent);border-color:var(--red)}.btn-remove.btn-remove:active:not(:disabled):not([aria-disabled=true]),.btn-watched.btn-remove:active:not(:disabled):not([aria-disabled=true]){background:color-mix(in srgb,var(--red) 28%,transparent);transform:translateY(0)}.btn-remove.btn-remove:focus-visible,.btn-watched.btn-remove:focus-visible{outline:none;box-shadow:var(--ring-strong)}.btn-remove.btn-remove:disabled,.btn-remove.btn-remove[aria-disabled=true],.btn-watched.btn-remove:disabled,.btn-watched.btn-remove[aria-disabled=true]{background:var(--red-dim);color:var(--text-3);border-color:var(--border)}.btn-remove.btn-watched,.btn-watched.btn-watched{background:var(--green-dim);border:1px solid var(--green-border);color:var(--green);transition:all var(--transition-fast)}.btn-remove.btn-watched:hover:not(:disabled):not([aria-disabled=true]),.btn-watched.btn-watched:hover:not(:disabled):not([aria-disabled=true]){background:color-mix(in srgb,var(--green) 20%,transparent);border-color:var(--green)}.btn-remove.btn-watched:active:not(:disabled):not([aria-disabled=true]),.btn-watched.btn-watched:active:not(:disabled):not([aria-disabled=true]){background:color-mix(in srgb,var(--green) 28%,transparent);transform:translateY(0)}.btn-remove.btn-watched:focus-visible,.btn-watched.btn-watched:focus-visible{outline:none;box-shadow:var(--ring-strong)}.btn-remove.btn-watched:disabled,.btn-remove.btn-watched[aria-disabled=true],.btn-watched.btn-watched:disabled,.btn-watched.btn-watched[aria-disabled=true]{background:var(--green-dim);color:var(--text-3);border-color:var(--border)}.btn-remove.btn-watched.active,.btn-watched.btn-watched.active{background:color-mix(in srgb,var(--green) 20%,transparent);border-color:var(--green)}.modal-actions{display:flex;gap:10px;margin-top:auto;align-self:flex-start;flex-wrap:wrap}.modal-actions .btn-remove,.modal-actions .btn-watched{margin-top:0;align-self:auto}.toast{position:fixed;bottom:32px;left:50%;transform:translate(-50%) translateY(100px);background:var(--bg-tooltip);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-bright);border-radius:999px;padding:12px 24px;font-size:14px;color:var(--text);box-shadow:var(--shadow-lg);z-index:var(--z-toast);transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s ease;opacity:0;white-space:nowrap}@media(max-width:480px){.toast{bottom:calc(100px + env(safe-area-inset-bottom,0px));font-size:13px;padding:10px 20px;white-space:normal;text-align:center;max-width:calc(100vw - 32px)}}.toast.show{transform:translate(-50%) translateY(0);opacity:1}.toast.success{border-color:var(--green);color:var(--green)}.toast.error{border-color:var(--red);color:var(--red)}.spinner{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}.mini-spinner{width:12px;height:12px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .82s linear infinite;flex:0 0 auto}@keyframes spin{to{transform:rotate(360deg)}}.ghost-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-family:var(--font-body);border-radius:var(--radius);transition:all var(--transition-fast);text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none;gap:6px}.ghost-btn:disabled,.ghost-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none;box-shadow:none;transform:none}.ghost-btn:active:not(:disabled):not([aria-disabled=true]){transform:translateY(0)}.ghost-btn{padding:8px 16px;font-size:13px;gap:6px;font-weight:600;border-radius:var(--radius-sm);background:transparent;border:1px solid var(--border-bright);color:var(--text-2);transition:all var(--transition-fast)}.ghost-btn:hover:not(:disabled):not([aria-disabled=true]){color:var(--text);border-color:var(--border-strong);background:var(--color-surface);transform:translateY(-1px)}.ghost-btn:active:not(:disabled):not([aria-disabled=true]){background:var(--bg-4);transform:translateY(0)}.ghost-btn:focus-visible{outline:none;box-shadow:var(--ring-strong)}.ghost-btn:disabled,.ghost-btn[aria-disabled=true]{color:var(--text-3);border-color:var(--border);background:transparent}.df-back-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-family:var(--font-body);border-radius:var(--radius);transition:all var(--transition-fast);text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none;gap:6px}.df-back-btn:disabled,.df-back-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none;box-shadow:none;transform:none}.df-back-btn:active:not(:disabled):not([aria-disabled=true]){transform:translateY(0)}.df-back-btn{font-size:12px;gap:5px;font-weight:600;padding:7px 14px;border-radius:var(--radius-sm);background:var(--bg-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-bright);color:var(--text-2);transition:all var(--transition-fast)}.df-back-btn:hover:not(:disabled):not([aria-disabled=true]){color:var(--text);border-color:var(--accent);background:var(--accent-dim)}.df-back-btn:active:not(:disabled):not([aria-disabled=true]){background:var(--color-surface);transform:translateY(0)}.df-back-btn:focus-visible{outline:none;box-shadow:var(--ring-strong)}.df-back-btn:disabled,.df-back-btn[aria-disabled=true]{color:var(--text-3);border-color:var(--border)}.upload-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-family:var(--font-body);border-radius:var(--radius);transition:all var(--transition-fast);text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none;gap:6px}.upload-btn:disabled,.upload-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none;box-shadow:none;transform:none}.upload-btn:active:not(:disabled):not([aria-disabled=true]){transform:translateY(0)}.upload-btn{padding:8px 16px;font-size:13px;gap:6px;font-weight:600;border-radius:var(--radius-sm);background:transparent;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);color:var(--accent);transition:all var(--transition-fast)}.upload-btn:hover:not(:disabled):not([aria-disabled=true]){background:var(--accent-dim);border-color:var(--accent);transform:translateY(-1px)}.upload-btn:active:not(:disabled):not([aria-disabled=true]){background:color-mix(in srgb,var(--accent) 18%,transparent);transform:translateY(0)}.upload-btn:focus-visible{outline:none;box-shadow:var(--ring-strong)}.upload-btn:disabled,.upload-btn[aria-disabled=true]{color:var(--text-3);border-color:var(--border);background:transparent}.upload-btn input{display:none}.fallback-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.level-badge{display:inline-flex;align-items:center;flex-shrink:0;padding:2px 7px;border-radius:var(--radius-sm);background:var(--level-dim, var(--bg-4));color:var(--level-hue, var(--text-2));font-family:var(--font-body);font-size:10.5px;font-weight:700;letter-spacing:.06em;line-height:1.5;box-shadow:0 0 0 1px color-mix(in srgb,var(--level-hue, var(--border)) 26%,transparent)}.level-badge[data-level=A1]{--level-hue: var(--feature-notes);--level-dim: color-mix(in srgb, var(--feature-notes) 13%, transparent)}.level-badge[data-level=A2]{--level-hue: var(--feature-reader);--level-dim: color-mix(in srgb, var(--feature-reader) 13%, transparent)}.level-badge[data-level=B1]{--level-hue: var(--feature-study);--level-dim: color-mix(in srgb, var(--feature-study) 13%, transparent)}.level-badge[data-level=B2]{--level-hue: var(--amber);--level-dim: var(--amber-dim)}.level-badge[data-level=C1]{--level-hue: var(--feature-games);--level-dim: color-mix(in srgb, var(--feature-games) 13%, transparent)}
