@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2) format("woff2-variations");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:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2) format("woff2-variations");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:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2) format("woff2-variations");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}:root,:root[data-theme=light]{--bg: #fff8ec;--bg-glow: #ffe6b0;--surface: #ffffff;--surface-2: #fff3dd;--border: #efdcb9;--text: #1d2346;--muted: #565c7f;--primary: #2f5bd3;--primary-strong: #2246a8;--primary-text: #ffffff;--primary-soft: #e4ebff;--accent: #ffbe1a;--accent-text: #3b2a00;--accent-soft: #fff0c2;--joy: #ff7a59;--success: #137a40;--success-bg: #1f9d55;--success-soft: #dcf5e6;--danger: #bf3434;--danger-bg: #d64545;--danger-soft: #fde4e4;--on-color: #ffffff;--shadow: 0 6px 20px rgba(47, 64, 120, .12);--shadow-strong: 0 10px 30px rgba(47, 64, 120, .2);--focus: #2f5bd3;--scrim: rgba(29, 35, 70, .45);color-scheme:light}:root[data-theme=dark]{--bg: #11172e;--bg-glow: #1f2c62;--surface: #1a2242;--surface-2: #222c52;--border: #33406e;--text: #f5f2ea;--muted: #b3b9d6;--primary: #86a3ff;--primary-strong: #adc0ff;--primary-text: #0d1430;--primary-soft: #26346b;--accent: #ffc83d;--accent-text: #2b1f00;--accent-soft: #3d3418;--joy: #ff8d70;--success: #5fe09a;--success-bg: #1f9d55;--success-soft: #17402b;--danger: #ff8a8a;--danger-bg: #d64545;--danger-soft: #4c2027;--on-color: #ffffff;--shadow: 0 6px 24px rgba(0, 0, 0, .35);--shadow-strong: 0 10px 32px rgba(0, 0, 0, .5);--focus: #ffc83d;--scrim: rgba(0, 0, 0, .6);color-scheme:dark}:root{font-size:18px;--radius: 18px;--radius-small: 12px;--tap: 3.4rem;--page: 36rem}:root[data-text-size=large]{font-size:20px}:root[data-text-size=xlarge]{font-size:23px}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:Nunito Variable,Nunito,system-ui,-apple-system,Segoe UI,sans-serif;font-size:1rem;line-height:1.45;color:var(--text);background-color:var(--bg);background-image:radial-gradient(120% 60% at 50% -10%,var(--bg-glow) 0%,transparent 60%);background-repeat:no-repeat;background-attachment:fixed;min-height:100dvh;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none;touch-action:manipulation}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:var(--radius-small)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.page{max-width:var(--page);margin:0 auto;padding:calc(env(safe-area-inset-top,0px) + .75rem) 1rem calc(env(safe-area-inset-bottom,0px) + 1.5rem);display:flex;flex-direction:column;gap:1rem;min-height:100dvh}.page.has-footer{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 7rem)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:var(--tap)}.topbar h1{font-size:1.15rem;line-height:1.2;font-weight:800;flex:1;text-align:center}.topbar-spacer{min-width:5.5rem}.brand{display:flex;align-items:center;gap:.6rem}.brand img{width:2.6rem;height:2.6rem;border-radius:.8rem;box-shadow:var(--shadow)}.brand-name{font-size:1.3rem;font-weight:900;letter-spacing:-.01em;line-height:1.1}.brand-tagline{font-size:.85rem;color:var(--muted);font-weight:700}h2{font-size:1.15rem;font-weight:800}.muted{color:var(--muted)}.small{font-size:.88rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:var(--tap);padding:.6rem 1.2rem;border-radius:var(--radius);font-weight:800;font-size:1rem;line-height:1.2;text-align:center;transition:transform .12s ease,background-color .15s ease,box-shadow .15s ease;-webkit-user-select:none;user-select:none}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--primary-text);box-shadow:var(--shadow)}.btn-primary:hover:not(:disabled){background:var(--primary-strong)}.btn-accent{background:var(--accent);color:var(--accent-text);box-shadow:var(--shadow)}.btn-soft{background:var(--primary-soft);color:var(--text)}.btn-ghost{background:transparent;color:var(--text);border:2px solid var(--border)}.btn-danger{background:var(--danger-bg);color:var(--on-color)}.btn-block{width:100%}.btn-big{min-height:4.2rem;font-size:1.2rem;border-radius:1.4rem}.btn-back{min-height:var(--tap);padding:.5rem .9rem;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);font-weight:800;display:inline-flex;align-items:center;gap:.35rem}.icon{font-size:1.25em;line-height:1}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.1rem}.stack{display:flex;flex-direction:column;gap:.75rem}.row{display:flex;gap:.75rem;align-items:center}.row-wrap{display:flex;flex-wrap:wrap;gap:.6rem}.hello h2{font-size:1.6rem;font-weight:900}.play-now{display:flex;align-items:center;gap:1rem;width:100%;text-align:left;padding:1.2rem;border-radius:1.5rem;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-strong) 100%);color:var(--primary-text);box-shadow:var(--shadow-strong);transition:transform .12s ease}.play-now:active{transform:scale(.98)}.play-now .play-icon{flex:none;display:grid;place-items:center;width:3.6rem;height:3.6rem;border-radius:50%;background:var(--accent);color:var(--accent-text);font-size:1.6rem}.play-now strong{display:block;font-size:1.45rem;font-weight:900}.play-now span{font-weight:700;opacity:.92}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.mode-card{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;min-height:7.5rem;padding:1rem;text-align:left;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);transition:transform .12s ease}.mode-card:active{transform:scale(.97)}.mode-card .emoji{font-size:1.8rem;line-height:1}.mode-card strong{font-size:1.05rem;font-weight:900;line-height:1.2}.mode-card span{font-size:.85rem;color:var(--muted);font-weight:600}.mode-card.wide{grid-column:1 / -1;min-height:auto;flex-direction:row;align-items:center;gap:.9rem}.install-card{display:flex;flex-direction:column;gap:.75rem;padding:1.1rem;border-radius:1.4rem;background:linear-gradient(135deg,var(--accent) 0%,var(--joy) 140%);color:var(--accent-text);box-shadow:var(--shadow-strong)}.install-card .row{align-items:flex-start}.install-card .emoji{font-size:2.2rem;line-height:1}.install-card strong{font-size:1.2rem;font-weight:900;display:block}.install-card p{font-weight:700}.install-card .btn-dark{background:var(--accent-text);color:var(--accent)}.install-card .btn-later{background:transparent;color:var(--accent-text);text-decoration:underline;font-weight:700;min-height:2.6rem}.notice{display:flex;flex-direction:column;gap:.75rem;border-radius:var(--radius);padding:1rem;background:var(--primary-soft);box-shadow:var(--shadow)}.notice.is-new{background:var(--accent-soft)}.notice strong{font-size:1.1rem;font-weight:900}.verse{border-left:5px solid var(--accent);padding:.9rem 1rem;background:var(--surface-2);border-radius:0 var(--radius) var(--radius) 0}.verse blockquote{font-style:italic;font-size:1.02rem}.verse cite{display:block;margin-top:.4rem;font-style:normal;font-weight:800;color:var(--muted);font-size:.9rem}.section{display:flex;flex-direction:column;gap:.7rem}.section-title{display:flex;align-items:center;gap:.6rem}.section-title .step{flex:none;display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--accent);color:var(--accent-text);font-weight:900}.group-title{font-size:.95rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:.4rem}.theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}@media(min-width:34rem){.theme-grid{grid-template-columns:1fr 1fr 1fr}}.theme-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;min-height:6rem;padding:.75rem;text-align:left;border-radius:var(--radius);background:var(--surface);border:3px solid transparent;box-shadow:var(--shadow);transition:border-color .15s ease,background-color .15s ease}.theme-tile .emoji{font-size:1.6rem;line-height:1}.theme-tile strong{font-size:.95rem;font-weight:800;line-height:1.2}.theme-tile span{font-size:.78rem;color:var(--muted);font-weight:700}.theme-tile[aria-pressed=true]{border-color:var(--primary);background:var(--primary-soft)}.theme-tile .check{position:absolute;top:.5rem;right:.5rem;display:none;place-items:center;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--primary);color:var(--primary-text);font-weight:900;font-size:.9rem}.theme-tile[aria-pressed=true] .check{display:grid}.chips{display:flex;flex-wrap:wrap;gap:.5rem}.chip{min-height:var(--tap);padding:.5rem 1rem;border-radius:999px;background:var(--surface);border:3px solid var(--border);font-weight:800;display:inline-flex;align-items:center;gap:.4rem}.chip[aria-pressed=true],.chip[aria-checked=true]{border-color:var(--primary);background:var(--primary);color:var(--primary-text)}.chip .count{font-size:.8rem;opacity:.85;font-weight:700}.chips.levels .chip{flex:1 1 0;justify-content:center;flex-direction:column;gap:0;border-radius:var(--radius);min-height:4rem}.stars{letter-spacing:.05em}.hint{font-size:.9rem;color:var(--muted);font-weight:600}.footer-bar{position:fixed;left:0;right:0;bottom:0;z-index:10;padding:.75rem 1rem calc(env(safe-area-inset-bottom,0px) + .75rem);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--border)}.footer-bar .inner{max-width:var(--page);margin:0 auto;display:flex;flex-direction:column;gap:.4rem}.footer-bar .summary{text-align:center;font-weight:700;font-size:.9rem;color:var(--muted)}.footer-bar .summary.is-warning{color:var(--danger)}.play-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.play-status{text-align:center;font-weight:800;font-size:.95rem;line-height:1.25;flex:1;white-space:nowrap}.play-top .btn-back{padding:.5rem .75rem}.play-status .score{display:block;font-size:.85rem;color:var(--success)}.progress-track{height:.6rem;border-radius:999px;background:var(--surface-2);overflow:hidden}.progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--joy));transition:width .3s ease}.timer{display:flex;align-items:center;gap:.6rem;font-weight:900;font-variant-numeric:tabular-nums}.timer .progress-track{flex:1;height:.8rem}.timer .progress-fill{background:var(--primary);transition:width .25s linear}.timer.is-low .progress-fill{background:var(--danger-bg)}.timer.is-low .time{color:var(--danger)}.question-card{display:flex;flex-direction:column;gap:.8rem}.question-meta{display:flex;flex-wrap:wrap;gap:.4rem;font-size:.85rem;font-weight:800}.tag{padding:.2rem .65rem;border-radius:999px;background:var(--surface-2);color:var(--muted)}.question-text{font-size:1.35rem;font-weight:800;line-height:1.3}.answers{display:flex;flex-direction:column;gap:.65rem;list-style:none}.answer-btn{display:flex;align-items:center;gap:.8rem;width:100%;min-height:3.8rem;padding:.7rem .9rem;border-radius:var(--radius);background:var(--surface);border:3px solid var(--border);box-shadow:var(--shadow);text-align:left;font-weight:700;font-size:1.05rem;transition:transform .12s ease,border-color .15s ease,background-color .15s ease}.answer-btn:active:not(:disabled){transform:scale(.98)}.answer-btn:disabled{cursor:default}.answer-btn .letter{flex:none;display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--primary-soft);font-weight:900}.answer-btn.is-right{border-color:var(--success-bg);background:var(--success-soft)}.answer-btn.is-right .letter{background:var(--success-bg);color:var(--on-color)}.answer-btn.is-wrong{border-color:var(--danger-bg);background:var(--danger-soft)}.answer-btn.is-wrong .letter{background:var(--danger-bg);color:var(--on-color)}.answer-btn.is-dim{opacity:.55}.feedback{display:flex;flex-direction:column;gap:.6rem;border-radius:var(--radius);padding:1rem;border:3px solid transparent;animation:pop .25s ease}.feedback.is-right{background:var(--success-soft);border-color:var(--success-bg)}.feedback.is-wrong{background:var(--accent-soft);border-color:var(--accent)}.feedback-title{font-size:1.25rem;font-weight:900;display:flex;align-items:center;gap:.5rem}.feedback.is-right .feedback-title{color:var(--success)}.feedback.is-wrong .feedback-title{color:var(--text)}.feedback .ref{font-weight:800;color:var(--muted)}.link-btn{align-self:flex-start;min-height:2.6rem;font-weight:700;color:var(--muted);text-decoration:underline;text-underline-offset:3px}.streak{align-self:center;padding:.4rem 1rem;border-radius:999px;background:var(--accent);color:var(--accent-text);font-weight:900;animation:pop .3s ease}.paused{display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center;padding:2.5rem 1rem}.paused .emoji{font-size:3rem}.result-hero{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:1.5rem 1rem}.result-hero .emoji{font-size:4rem;line-height:1;animation:pop .5s ease}.result-hero .big-score{font-size:2.6rem;font-weight:900;line-height:1.1}.result-hero .message{font-size:1.15rem;font-weight:800}.review{list-style:none;display:flex;flex-direction:column;gap:.6rem}.review li{border-left:5px solid var(--success-bg);padding:.6rem .8rem;background:var(--surface);border-radius:0 var(--radius-small) var(--radius-small) 0}.review li.is-wrong{border-left-color:var(--danger-bg)}.review .q{font-weight:800}details summary{cursor:pointer;min-height:var(--tap);display:flex;align-items:center;font-weight:800}.confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:30}.confetti i{position:absolute;top:-1rem;width:.6rem;height:1rem;border-radius:2px;animation:fall 2.6s ease-in forwards}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.stat{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:.9rem;display:flex;flex-direction:column;gap:.2rem}.stat strong{font-size:1.6rem;font-weight:900;line-height:1.1}.stat span{font-size:.85rem;color:var(--muted);font-weight:700}.theme-progress{list-style:none;display:flex;flex-direction:column;gap:.6rem}.theme-progress li{display:flex;flex-direction:column;gap:.35rem;padding:.75rem .9rem;background:var(--surface);border-radius:var(--radius-small)}.theme-progress .name{font-weight:800}.history{list-style:none;display:flex;flex-direction:column;gap:.4rem}.history li{display:flex;justify-content:space-between;gap:.5rem;padding:.6rem .9rem;background:var(--surface);border-radius:var(--radius-small);font-weight:700}.setting{display:flex;flex-direction:column;gap:.55rem}.setting>h2{font-size:1.05rem}.segmented{display:flex;gap:.4rem;padding:.3rem;border-radius:calc(var(--radius) + .3rem);background:var(--surface-2)}.segmented button{flex:1 1 0;min-height:var(--tap);border-radius:var(--radius);font-weight:800;padding:.4rem .5rem}.segmented button[aria-checked=true]{background:var(--primary);color:var(--primary-text);box-shadow:var(--shadow)}.scrim{position:fixed;inset:0;z-index:40;background:var(--scrim);display:flex;align-items:flex-end;justify-content:center;padding:1rem;animation:fade .2s ease}@media(min-width:34rem){.scrim{align-items:center}}.dialog{width:100%;max-width:30rem;max-height:calc(100dvh - 2rem);overflow-y:auto;background:var(--surface);border-radius:1.4rem;box-shadow:var(--shadow-strong);padding:1.3rem;display:flex;flex-direction:column;gap:1rem;animation:rise .25s ease}.dialog h2{font-size:1.3rem}.dialog ol{padding-left:1.4rem;display:flex;flex-direction:column;gap:.5rem;font-weight:600}.dialog textarea{width:100%;min-height:6rem;padding:.75rem;border-radius:var(--radius-small);border:2px solid var(--border);background:var(--surface-2);resize:vertical}.benefits{list-style:none;display:flex;flex-direction:column;gap:.4rem;font-weight:700}.banner{position:fixed;left:.75rem;right:.75rem;bottom:calc(env(safe-area-inset-bottom,0px) + .75rem);z-index:35;max-width:34rem;margin:0 auto;display:flex;flex-direction:column;gap:.6rem;padding:1rem;border-radius:var(--radius);background:var(--text);color:var(--bg);box-shadow:var(--shadow-strong);font-weight:700;animation:rise .25s ease}.banner .btn-accent{box-shadow:none}.status{padding:.8rem 1rem;border-radius:var(--radius-small);font-weight:700}.status.is-ok{background:var(--success-soft);color:var(--success)}.status.is-error{background:var(--danger-soft);color:var(--danger)}.loading{display:grid;place-items:center;gap:1rem;padding:3rem 1rem;text-align:center;font-weight:700;color:var(--muted)}.spinner{width:2.6rem;height:2.6rem;border-radius:50%;border:5px solid var(--primary-soft);border-top-color:var(--primary);animation:spin .9s linear infinite}@keyframes pop{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes rise{0%{transform:translateY(1.5rem);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(105vh) rotate(540deg);opacity:.8}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.confetti{display:none}}.home-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.2rem;padding:.8rem 1rem;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);font-weight:700;color:var(--muted)}.home-stats strong{font-size:1.15rem;font-weight:900;color:var(--primary)}:root[data-theme=dark] .home-stats strong{color:var(--primary-strong)}.stat .small{color:var(--muted);font-weight:600}.bars{list-style:none;display:flex;flex-direction:column;gap:.55rem}.bar-row{display:grid;grid-template-columns:minmax(6rem,40%) 1fr auto;align-items:center;gap:.6rem;font-weight:700;font-size:.92rem}.bar-track{height:.7rem;border-radius:999px;background:var(--surface-2);overflow:hidden}.bar-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--joy))}.bar-value{font-variant-numeric:tabular-nums;min-width:2.5rem;text-align:right}.table-scroll{overflow-x:auto;margin:0 -.4rem}.data-table{width:100%;border-collapse:collapse;font-size:.88rem;font-variant-numeric:tabular-nums}.data-table th,.data-table td{padding:.45rem .4rem;border-bottom:1px solid var(--border);text-align:right}.data-table th[scope=row],.data-table thead th:first-child{text-align:left;font-weight:700}.data-table thead th{color:var(--muted);font-weight:800;white-space:nowrap}.field{display:flex;flex-direction:column;gap:.35rem;font-weight:800}.field input,.field select{min-height:var(--tap);padding:.5rem .8rem;border-radius:var(--radius-small);border:2px solid var(--border);background:var(--surface-2);font-weight:600;width:100%}.qa{display:flex;flex-direction:column;gap:.55rem}.qa-question{font-size:1.08rem;font-weight:800;line-height:1.3}.qa-answers{list-style:none;display:flex;flex-direction:column;gap:.25rem}.qa-answers li{padding:.3rem .6rem;border-radius:var(--radius-small)}.qa-answers li.is-right{background:var(--success-soft);color:var(--success);font-weight:800}.qa-status{font-weight:700;color:var(--muted)}.qa-status.is-right{color:var(--success)}.qa-status.is-wrong{color:var(--danger)}.tag.mono{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-weight:600}.book-list{list-style:none;display:flex;flex-direction:column;gap:.45rem}.book{background:var(--surface);border-radius:var(--radius-small);box-shadow:var(--shadow)}.book summary{display:grid;grid-template-columns:minmax(7rem,38%) 1fr auto;align-items:center;gap:.6rem;padding:.5rem .9rem}.book-name{font-weight:800}.book-detail{padding:0 .9rem .9rem}.chip.chip-small{min-height:2.75rem;padding:.3rem .8rem;font-size:.9rem;border-width:2px}
