@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:Noto Sans Arabic Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/noto-sans-arabic-arabic-wght-normal-BhzieyvS.woff2)format("woff2-variations");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Noto Sans Arabic Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/noto-sans-arabic-math-wght-normal-pS2d8anF.woff2)format("woff2-variations");unicode-range:U+302-303,U+305,U+307-308,U+310,U+312,U+315,U+31A,U+326-327,U+32C,U+32F-330,U+332-333,U+338,U+33A,U+346,U+34D,U+391-3A1,U+3A3-3A9,U+3B1-3C9,U+3D1,U+3D5-3D6,U+3F0-3F1,U+3F4-3F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE??}@font-face{font-family:Noto Sans Arabic Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/noto-sans-arabic-symbols-wght-normal-BJ6p-EzA.woff2)format("woff2-variations");unicode-range:U+1-C,U+E-1F,U+7F-9F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+28??,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B??,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F0??,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F7??,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB??}@font-face{font-family:Noto Sans Arabic Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/noto-sans-arabic-latin-ext-wght-normal-CIz31GGw.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:Noto Sans Arabic Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/noto-sans-arabic-latin-wght-normal-BQEJrIpl.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}:root{--font-sans:"Inter Variable", "Noto Sans Arabic Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--radius-sm:8px;--radius:10px;--radius-lg:14px;--radius-pill:999px;--sidebar-w:240px;--rail-w:72px;--tabbar-h:62px;--ease:cubic-bezier(.2, .7, .2, 1);--bg:#f7f6f3;--surface:#fff;--surface-2:#f1efeb;--surface-hover:#ebe9e4;--border:#e6e3dd;--border-strong:#d4d0c8;--text:#1c1b19;--text-2:#5f5b54;--text-3:#8e8a82;--on-accent:#fff;--danger:#b4441c;--success:#2f7d4f;--shadow-lg:0 10px 40px #1c1b1924;--soft-mix:11%;--accent:#5b5bd6;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--bg:#131312;--surface:#1b1b19;--surface-2:#242421;--surface-hover:#2b2b28;--border:#2e2d2a;--border-strong:#3d3c38;--text:#eceae5;--text-2:#aaa69e;--text-3:#77736c;--on-accent:#121211;--danger:#f08a5d;--success:#6cc58f;--shadow-lg:0 10px 40px #00000080;--soft-mix:16%;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-accent=iris]{--accent:#5b5bd6}[data-accent=teal]{--accent:#0f8b7e}[data-accent=terracotta]{--accent:#bd5f38}[data-accent=ink]{--accent:#2f5e8e}[data-accent=graphite]{--accent:#4a4945}[data-theme=dark][data-accent=iris],[data-theme=dark] [data-accent=iris]{--accent:#9192f2}[data-theme=dark][data-accent=teal],[data-theme=dark] [data-accent=teal]{--accent:#45c7b6}[data-theme=dark][data-accent=terracotta],[data-theme=dark] [data-accent=terracotta]{--accent:#ea9470}[data-theme=dark][data-accent=ink],[data-theme=dark] [data-accent=ink]{--accent:#7eaee0}[data-theme=dark][data-accent=graphite],[data-theme=dark] [data-accent=graphite]{--accent:#d3d0c8}:root,[data-accent]{--accent-soft:color-mix(in srgb, var(--accent) var(--soft-mix), transparent);--accent-text:color-mix(in srgb, var(--accent) 82%, var(--text));--accent-hover:color-mix(in srgb, var(--accent) 88%, var(--text))}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;margin:0;font-size:15px;line-height:1.55}:lang(ckb) body,body:lang(ckb){line-height:1.75}h1,h2,h3,h4,p{margin:0}a{color:var(--accent-text)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:color-mix(in srgb, var(--accent) 28%, transparent)}.icon{flex:none;display:block}[dir=rtl] .icon-flip-rtl{transform:scaleX(-1)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);min-height:100dvh;display:grid}.sidebar{height:100dvh;padding:20px 14px 16px;background:var(--surface);border-inline-end:1px solid var(--border);flex-direction:column;gap:2px;padding-block-start:max(20px, env(safe-area-inset-top));display:flex;position:sticky;top:0}.brand{color:var(--text);letter-spacing:-.01em;align-items:center;gap:10px;padding:4px 10px 20px;font-size:18px;font-weight:650;text-decoration:none;display:flex}.nav{flex-direction:column;gap:2px;display:flex}.nav-link{border-radius:var(--radius-sm);min-height:40px;color:var(--text-2);text-align:start;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:8px 12px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav-link:hover{background:var(--surface-2);color:var(--text)}.nav-link.active{background:var(--accent-soft);color:var(--accent-text)}.sidebar-footer{flex-direction:column;gap:2px;margin-block-start:auto;display:flex}.main{min-width:0}.topbar,.tabbar{display:none}@media (width<=1023px){.shell{grid-template-columns:var(--rail-w) minmax(0, 1fr)}.sidebar{align-items:center;padding-inline:10px}.brand{padding-inline:0}.brand-name,.nav-label{display:none}.nav-link{justify-content:center;width:48px;min-height:44px;padding:0}}@media (width<=639px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.topbar{z-index:20;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(14px);justify-content:space-between;align-items:center;padding:10px 12px 10px 16px;padding-block-start:max(10px, env(safe-area-inset-top));display:flex;position:sticky;top:0}.topbar .brand{padding:0;font-size:17px}.tabbar{inset-inline:0;z-index:20;background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(14px);border-block-start:1px solid var(--border);grid-template-columns:repeat(5,1fr);padding-block-end:env(safe-area-inset-bottom);display:grid;position:fixed;bottom:0}.tab{height:var(--tabbar-h);color:var(--text-3);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:11px;font-weight:500;text-decoration:none;display:flex}.tab.active{color:var(--accent-text)}}.page{width:100%;max-width:1040px;margin-inline:auto;padding:44px 40px 96px}.page-narrow{max-width:760px}@media (width<=1023px){.page{padding:32px 28px 80px}}@media (width<=639px){.page{padding:12px 16px calc(var(--tabbar-h) + 40px + env(safe-area-inset-bottom))}}.page-header{margin-block-end:32px}.page-header h1,.module-hero h1{letter-spacing:-.02em;font-size:30px;font-weight:650;line-height:1.15}@media (width<=639px){.page-header h1,.module-hero h1{font-size:26px}}.eyebrow{color:var(--text-3);margin-block-end:6px;font-size:13px;font-weight:500}.subtitle{max-width:62ch;color:var(--text-2);margin-block-start:8px;font-size:16px}.back-link{color:var(--text-2);align-items:center;gap:6px;margin-block-end:20px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--text)}.section{margin-block-start:40px}.section-head{justify-content:space-between;align-items:baseline;gap:16px;margin-block-end:14px;display:flex}.section-title{letter-spacing:-.01em;font-size:17px;font-weight:600}.section-head .section-title,.section-intro{margin-block-end:0}.section-intro{margin-block-end:14px}.section-sub{color:var(--text-2);margin-block-start:2px;font-size:14px}.link{color:var(--accent-text);font-size:14px;font-weight:500;text-decoration:none}.link:hover{text-decoration:underline}.muted{color:var(--text-2)}.small{font-size:13px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}.card-title{margin-block-end:10px;font-size:15px;font-weight:600}.card-link{color:inherit;transition:border-color .15s, transform .15s var(--ease), background .15s;text-decoration:none;display:block}.card-link:hover{border-color:var(--border-strong);background:color-mix(in srgb, var(--surface) 70%, var(--surface-2))}.card-link:active{transform:scale(.99)}.grid{gap:12px;display:grid}.grid-subjects{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.grid-modules{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.icon-badge{background:var(--accent-soft);width:40px;height:40px;color:var(--accent-text);border-radius:11px;flex:none;place-items:center;display:inline-grid}.icon-badge.sm{border-radius:var(--radius-pill);width:30px;height:30px}.icon-badge.xl{border-radius:18px;width:64px;height:64px}.icon-badge.neutral{background:var(--surface-2);color:var(--text-2)}.chip{border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text-2);white-space:nowrap;align-items:center;gap:6px;padding:2px 9px;font-size:12px;font-weight:500;display:inline-flex}.chip-row{flex-wrap:wrap;gap:8px;display:flex}.chip-row .chip{padding:4px 10px;font-size:13px}.btn{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:38px;color:var(--text);white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:550;text-decoration:none;transition:background .15s,border-color .15s,opacity .15s;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--accent);color:var(--on-accent);border-color:#0000}.btn-primary:hover{background:var(--accent-hover)}.btn-ghost{background:0 0;border-color:#0000}.btn-danger{color:var(--danger)}.icon-btn{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--text-2);cursor:pointer;background:0 0;border:0;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.btn-row{flex-wrap:wrap;gap:10px;display:flex}@media (pointer:coarse){.btn{min-height:44px}}.segmented{background:var(--surface-2);border-radius:11px;gap:2px;padding:3px;display:inline-flex}.segmented button{color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:7px;padding:7px 14px;font-size:14px;font-weight:500;display:inline-flex}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #0000001a}.swatches{flex-wrap:wrap;gap:12px;display:flex}.swatch{border-radius:var(--radius-pill);background:var(--accent);cursor:pointer;border:0;width:30px;height:30px;padding:0;transition:box-shadow .15s}.swatch[aria-pressed=true]{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--accent)}.switch{border-radius:var(--radius-pill);background:var(--border-strong);cursor:pointer;border:0;flex:none;width:42px;height:24px;padding:0;transition:background .2s;position:relative}.switch:after{content:"";top:3px;width:18px;height:18px;transition:transform .2s var(--ease);background:#fff;border-radius:50%;position:absolute;inset-inline-start:3px;box-shadow:0 1px 2px #00000040}.switch[aria-checked=true]{background:var(--accent)}.switch[aria-checked=true]:after{transform:translate(18px)}[dir=rtl] .switch[aria-checked=true]:after{transform:translate(-18px)}.list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.row{align-items:center;gap:14px;min-height:56px;padding:12px 16px;display:flex}.row+.row{border-block-start:1px solid var(--border)}.row-main{flex:1;min-width:0}.row-title{font-weight:500}.row-sub{color:var(--text-2);font-size:13px}.row-block{display:block}.row-block>*+*{margin-block-start:12px}button.row{text-align:start;cursor:pointer;background:0 0;border:0;width:100%}button.row:hover:not(:disabled){background:var(--surface-2)}button.row:disabled{cursor:default}.banner{border-radius:var(--radius);background:var(--accent-soft);gap:12px;padding:14px 16px;display:flex}.banner .icon{color:var(--accent-text);margin-block-start:2px}.banner p{color:var(--text-2);margin-block-start:2px;font-size:14px}.notice{border-radius:var(--radius-sm);background:var(--surface-2);padding:10px 14px;font-size:14px}.notice.error{background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger)}.notice.success{background:color-mix(in srgb, var(--success) 12%, transparent);color:var(--success)}.toast-region{z-index:50;max-width:calc(100vw - 32px);position:fixed;inset-block-end:24px;inset-inline-end:24px}.toast{background:var(--text);max-width:calc(100vw - 32px);color:var(--bg);box-shadow:var(--shadow-lg);animation:toast-in .25s var(--ease);border-radius:14px;align-items:center;gap:14px;padding:10px 10px 10px 18px;padding-inline:18px 10px;font-size:14px;display:flex}.toast .btn{min-height:34px}.toast .btn-ghost{color:inherit}.toast .btn-ghost:hover{background:color-mix(in srgb, var(--bg) 14%, transparent)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}@media (width<=639px){.toast-region{inset-block-end:calc(var(--tabbar-h) + 12px + env(safe-area-inset-bottom));inset-inline:12px}}.today-card{grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding:24px;display:grid}.today-count{flex-direction:column;align-items:center;min-width:84px;display:flex}.big-number{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:44px;font-weight:650;line-height:1}.today-count .label{color:var(--text-3);margin-block-start:6px;font-size:13px}.today-text h2{font-size:16px;font-weight:600}.today-text p{color:var(--text-2);margin-block-start:4px;font-size:14px}@media (width<=720px){.today-card{grid-template-columns:auto 1fr}.today-card .btn{grid-column:1/-1}}.subject-tile{flex-direction:column;gap:12px;padding:18px;display:flex}.subject-tile h3,.module-card h3{font-size:15px;font-weight:600}.subject-tile p,.module-card p{color:var(--text-2);margin-block-start:2px;font-size:13.5px;line-height:1.45}@media (width<=639px){.grid-subjects{grid-template-columns:1fr 1fr;gap:10px}.subject-tile{padding:14px}.subject-tile p{display:none}}.technique-chips{flex-wrap:wrap;gap:8px;display:flex}.technique-chip{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--text);align-items:center;gap:8px;padding-block:5px;padding-inline:5px 14px;font-size:14px;font-weight:500;text-decoration:none;transition:border-color .15s;display:inline-flex}.technique-chip:hover{border-color:var(--border-strong)}.module-card{flex-direction:column;gap:14px;padding:18px;display:flex}.module-card-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.module-hero{align-items:center;gap:20px;margin-block-end:32px;display:flex}@media (width<=639px){.module-hero{flex-direction:column;align-items:flex-start;gap:16px}}.module-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:16px;display:grid}.module-main,.module-aside{gap:16px;display:grid}@media (width<=860px){.module-layout{grid-template-columns:minmax(0,1fr)}}.prose{max-width:64ch;color:var(--text)}.steps{counter-reset:step;gap:14px;margin:0;padding:0;list-style:none;display:grid}.steps li{counter-increment:step;grid-template-columns:28px 1fr;align-items:start;gap:12px;display:grid}.steps li:before{content:counter(step);border-radius:var(--radius-pill);background:var(--surface-2);width:28px;height:28px;color:var(--text-2);place-items:center;font-size:13px;font-weight:600;display:grid}.steps li span{padding-block-start:3px}.subject-row-icon{color:var(--accent-text)}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:56px 24px;display:flex}.empty-state h2{font-size:18px;font-weight:600}.empty-state p{max-width:46ch;color:var(--text-2)}.settings-section{margin-block-end:32px;scroll-margin-top:80px}.settings-section>h2{color:var(--text-2);align-items:center;gap:8px;margin-block-end:10px;padding-inline:4px;font-size:14px;font-weight:600;display:flex}.settings-section>p{color:var(--text-2);margin-block:-4px 12px;padding-inline:4px;font-size:14px}.lang-native{font-weight:500}.import-preview{gap:12px;display:grid}.import-preview dl{grid-template-columns:auto 1fr;gap:4px 16px;margin:0;font-size:14px;display:grid}.import-preview dt{color:var(--text-2)}.import-preview dd{margin:0}.option-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);text-align:start;cursor:pointer;gap:4px;padding:14px 16px;display:grid}.option-card:hover{border-color:var(--border-strong);background:var(--surface-2)}.option-card strong{font-weight:600}.option-card span{color:var(--text-2);font-size:13px}.option-card.danger strong{color:var(--danger)}.option-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.row-link{color:inherit;text-decoration:none;transition:background .15s}.row-link:hover{background:var(--surface-2)}.row-main>.row-title,.row-main>.row-sub{display:block}.below-list{margin-block-start:14px}.subject-head{flex-wrap:wrap;align-items:center;gap:16px;margin-block-end:24px;display:flex}.subject-head h1{letter-spacing:-.02em;font-size:28px;font-weight:650;line-height:1.15}.subject-head-text{flex:1;min-width:0}.subject-head-actions{gap:8px;display:flex}.icon-badge.lg{border-radius:15px;width:52px;height:52px}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-block-end:14px;display:flex}.search{flex:1;min-width:200px;position:relative}.search .icon{top:50%;color:var(--text-3);pointer-events:none;position:absolute;inset-inline-start:12px;transform:translateY(-50%)}.search .input{padding-inline-start:40px}.input.select-compact{width:auto;min-width:0}.filter-chips{flex-wrap:wrap;gap:6px;margin-block-end:14px;display:flex}.item-row{min-height:64px;color:inherit;align-items:center;gap:14px;padding:10px 16px;text-decoration:none;transition:background .15s;display:flex}.item-row+.item-row{border-block-start:1px solid var(--border)}.item-row:hover{background:var(--surface-2)}.item-title,.item-sub{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.item-title{font-weight:550}.item-sub{color:var(--text-2);font-size:13.5px}.thumb{object-fit:cover;background:var(--surface-2);border-radius:9px;flex:none;width:44px;height:44px;display:block}.thumb-placeholder{color:var(--text-3);place-items:center;display:grid}.empty-inline{padding:24px 4px}@media (width<=639px){.hide-sm{display:none}.subject-tile p.tile-count{display:block}}.tile-count{font-weight:500;color:var(--accent-text)!important}.form{gap:16px;display:grid}.form-card{gap:20px;padding:22px;display:grid}.field{gap:6px;display:grid}.field-label{min-height:24px;color:var(--text-2);justify-content:space-between;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.field-label label{align-items:center;gap:6px;display:inline-flex}.input,.textarea{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:42px;color:var(--text);padding:8px 12px;font-size:16px;line-height:1.45;transition:border-color .15s,box-shadow .15s}.input:focus,.textarea:focus,.tag-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.input::placeholder,.textarea::placeholder,.tag-input input::placeholder{color:var(--text-3)}.textarea{resize:vertical;field-sizing:content;min-height:84px;max-height:60vh}.icon-btn-sm{width:30px;height:30px}.icon-btn:disabled{opacity:.35;cursor:default}.choice-group{flex-wrap:wrap;gap:6px;display:flex}.choice{border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface);min-height:34px;color:var(--text);cursor:pointer;padding:5px 13px;font-size:14px;transition:background .15s,border-color .15s}.choice:hover{background:var(--surface-2)}.choice[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:#0000}.image-grid{flex-wrap:wrap;gap:10px;display:flex}.image-tile,.image-add{border-radius:11px;width:112px;height:112px}.image-tile{border:1px solid var(--border);background:var(--surface-2);position:relative;overflow:hidden}.image-tile img{object-fit:cover;width:100%;height:100%;display:block}.image-remove{top:6px;border-radius:var(--radius-pill);color:#fff;cursor:pointer;background:#0000008c;border:0;place-items:center;width:28px;height:28px;display:grid;position:absolute;inset-inline-end:6px}.image-add{border:1.5px dashed var(--border-strong);color:var(--text-2);cursor:pointer;background:0 0;align-content:center;place-items:center;gap:6px;font-size:13px;display:grid}.image-add:hover{border-color:var(--accent);color:var(--accent-text)}.tag-input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);flex-wrap:wrap;align-items:center;gap:6px;min-height:44px;padding:5px 8px;display:flex}.tag-input input{background:0 0;border:0;outline:0;flex:1;min-width:140px;padding:4px;font-size:16px}.tag-chip{border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent-text);align-items:center;gap:2px;padding-block:3px;padding-inline:10px 4px;font-size:13.5px;font-weight:500;display:inline-flex}.tag-chip button{border-radius:var(--radius-pill);color:inherit;cursor:pointer;background:0 0;border:0;padding:2px;display:grid}.form-actions{z-index:5;background:linear-gradient(to bottom, transparent, var(--bg) 35%);flex-wrap:wrap;align-items:center;gap:10px;padding-block:14px;display:flex;position:sticky;bottom:0}.form-actions .spacer{flex:1}@media (width<=639px){.form-actions{bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom))}.form-card{padding:16px}}.inline-form{flex-wrap:wrap;gap:8px;display:flex}.inline-form .input{flex:1;width:auto;min-width:180px}.icon-picker{grid-template-columns:repeat(auto-fill,46px);gap:8px;display:grid}.icon-pick{border:1px solid var(--border);background:var(--surface);width:46px;height:46px;color:var(--text-2);cursor:pointer;border-radius:11px;place-items:center;display:grid}.icon-pick:hover{background:var(--surface-2)}.icon-pick[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text)}.field-row{align-items:flex-start}.reorder{flex-direction:column;display:flex}.field-row-main{flex:1;gap:8px;min-width:0;display:grid}.field-row-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.field-row-meta .select-compact{min-height:34px;padding-block:4px;font-size:14px}.card-type-head{align-items:center;gap:10px;display:flex}.card-type-head .input{flex:1}.side-picker{grid-template-columns:52px 1fr;align-items:start;gap:10px;display:grid}.side-label{color:var(--text-3);padding-block-start:6px;font-size:12px;font-weight:600}.choice-sm{min-height:30px;padding:3px 11px;font-size:13px}.input-number{text-align:center;width:88px}.review-start{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:24px;display:flex}.review-counts{gap:32px;display:flex}.review-counts>div{flex-direction:column;display:flex}.review-counts .label{color:var(--text-3);font-size:13px}.btn-lg{min-height:48px;padding-inline:22px;font-size:16px}.review-subjects{margin-block-start:14px}.review-page{flex-direction:column;max-width:720px;min-height:calc(100dvh - 40px);padding-block-start:20px;display:flex}.review-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-block-end:16px;display:flex}.review-top .back-link{margin:0}.review-meta{color:var(--text-3);font-size:13px}.review-card{border:1px solid var(--border);background:var(--surface);text-align:center;border-radius:20px;flex-direction:column;flex:1;gap:14px;min-height:300px;padding:36px 28px;display:flex}.review-front,.review-back{justify-items:center;gap:10px;display:grid}.review-front{margin-block-start:auto}.review-back{margin-block-end:auto}.review-card:not(:has(.review-back)) .review-front{margin-block:auto}.review-divider{border-block-start:1px solid var(--border);width:100%;margin-block:6px}.review-text-row{align-items:center;gap:6px;display:inline-flex}.review-text{white-space:pre-line}.review-hero{letter-spacing:-.01em;font-size:32px;font-weight:600;line-height:1.25}.review-sub{color:var(--text-2);font-size:18px}.review-answer{font-size:24px;font-weight:550;line-height:1.3}.review-detail{max-width:56ch;font-size:16px}.review-label{color:var(--text-3);margin-block-end:2px;font-size:12px;font-weight:600}.review-images{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.review-image{object-fit:contain;background:var(--surface-2);border-radius:12px;max-width:100%;display:block}.review-images-hero .review-image{max-height:46vh}.review-images-answer .review-image,.review-images-detail .review-image{max-height:24vh}.typing{justify-items:center;gap:10px;display:grid}.typing-input{text-align:center;max-width:340px;font-size:20px}.notice.typing-correct{background:color-mix(in srgb, var(--success) 13%, transparent);color:var(--success)}.notice.typing-accent{background:color-mix(in srgb, var(--accent) 13%, transparent);color:var(--accent-text)}.notice.typing-wrong{background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger)}.review-actions{background:linear-gradient(to bottom, transparent, var(--bg) 22%);gap:8px;padding-block:14px 6px;display:grid;position:sticky;bottom:0}@media (width<=639px){.review-actions{bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom))}.review-card{padding:26px 16px}.review-hero{font-size:27px}}.btn-reveal{min-height:56px;font-size:16px}.answer-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}@media (width<=480px){.answer-grid{grid-template-columns:repeat(2,1fr)}}.answer-btn{border:1px solid var(--border-strong);background:var(--surface);min-height:60px;color:var(--text);cursor:pointer;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:8px 6px;transition:background .15s,border-color .15s,transform .1s;display:flex}.answer-btn:hover{background:var(--surface-2)}.answer-btn:active{transform:scale(.98)}.answer-label{font-size:14.5px;font-weight:550}.answer-sub{color:var(--text-3);font-size:12px}.answer-got-it{background:var(--accent);color:var(--on-accent);border-color:#0000}.answer-got-it:hover{background:var(--accent-hover)}.answer-got-it .answer-sub{color:color-mix(in srgb, var(--on-accent) 75%, transparent)}.review-tools{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.review-tools .btn{min-height:34px;color:var(--text-2);font-size:13px}.review-keys{color:var(--text-3);margin-inline-start:auto;font-size:12px}.progress-summary{color:var(--text-2);margin-block:-4px 14px}.progress-grid{gap:12px;display:grid}.progress-card{gap:14px;display:grid}.progress-card-title{font-size:14px;font-weight:600}.mosaic-head{color:var(--text-2);align-items:center;gap:6px;margin-block-end:6px;font-size:13px;font-weight:500;display:flex}.mosaic{flex-wrap:wrap;gap:4px;display:flex}.tile{border-radius:3px;width:14px;height:14px;display:inline-block}a.tile:hover{outline:2px solid var(--text);outline-offset:1px}.tile-new{background:var(--border-strong)}.tile-learning{background:color-mix(in srgb, var(--accent) 30%, var(--surface))}.tile-familiar{background:color-mix(in srgb, var(--accent) 65%, var(--surface))}.tile-strong{background:var(--accent)}.legend{color:var(--text-2);flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.legend>span{align-items:center;gap:6px;display:inline-flex}.legend .tile{width:11px;height:11px}.forecast{grid-template-columns:repeat(7,1fr);gap:8px;height:120px;display:grid}.forecast-day{flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;min-width:0;display:flex}.forecast-count{color:var(--text-2);font-variant-numeric:tabular-nums;font-size:12px}.forecast-bar{background:color-mix(in srgb, var(--accent) 55%, var(--surface));border-radius:5px 5px 2px 2px;width:100%;max-width:44px}.forecast-day:first-child .forecast-bar{background:var(--accent)}.forecast-label{color:var(--text-3);white-space:nowrap;font-size:11.5px}.calendar{grid-template-rows:repeat(7,1fr);grid-auto-flow:column;gap:3px;display:grid}.cal-day{aspect-ratio:1;border-radius:3px;min-width:8px}.cal-0{background:var(--surface-2)}.cal-1{background:color-mix(in srgb, var(--accent) 28%, var(--surface))}.cal-2{background:color-mix(in srgb, var(--accent) 50%, var(--surface))}.cal-3{background:color-mix(in srgb, var(--accent) 75%, var(--surface))}.cal-4{background:var(--accent)}.cal-future{background:0 0}.changelog{color:var(--text-2);gap:6px;margin:0;padding-inline-start:20px;font-size:14px;display:grid}
