.keyboard{background:var(--surface);border:1px solid var(--border);-webkit-user-select:none;user-select:none;border-radius:14px;flex-direction:column;align-items:center;gap:6px;width:min(940px,100%);margin:0 auto;padding:14px;display:flex}.keyboard__row{gap:6px;width:100%;display:flex}.keyboard__key{border:1px solid var(--border);background:var(--key);min-width:0;height:clamp(42px,7.1vh,64px);color:var(--key-text);border-radius:7px;flex:1 1 0;justify-content:center;align-items:center;padding:4px;font-family:Hind,Mukta,sans-serif;font-size:20px;transition:transform 60ms,background-color .12s,box-shadow .12s,border-color .12s,color .12s;display:flex;position:relative;overflow:hidden}.keyboard__key--wide{letter-spacing:.04em;color:var(--text-dim);flex:1.6 1 0;font-size:12px}.keyboard__key--space{color:var(--text-dim);flex:7 1 0}.keyboard__label{opacity:.75;font-size:11px}.keyboard__key .material-icons{font-size:clamp(15px,2.2vh,19px)}.keyboard__corner{white-space:nowrap;opacity:.55;align-items:baseline;gap:5px;font-size:11px;line-height:1;transition:opacity .11s;display:flex;position:absolute;top:4px;left:6px;right:6px}.keyboard__shift-face{color:var(--accent-soft);transition:font-size .11s,font-weight .11s}.keyboard__eng-face{color:var(--text-dim)}.keyboard__nep-face{padding-top:9px;font-size:clamp(16px,2.9vh,24px);transition:font-size .11s,opacity .11s}.keyboard__shift-face.is-tag,.keyboard__nep-face.is-tag{letter-spacing:.04em;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10px}.keyboard__key.is-shifted .keyboard__nep-face.is-tag,.keyboard__nep-face.is-tag{opacity:.85;padding-top:10px;font-size:11px}.keyboard__key.is-shifted .keyboard__shift-face.is-tag{font-size:12px}.keyboard__key.is-pressed{background-color:var(--key-active);transform:translateY(1px)}.keyboard__key.is-shifted .keyboard__corner{opacity:1}.keyboard__key.is-shifted .keyboard__shift-face{font-size:20px;font-weight:600}.keyboard__key.is-shifted .keyboard__nep-face{opacity:.45;font-size:12px}.keyboard__key.is-heat{background-color:hsl(var(--heat-hue) var(--heat-sat) var(--heat-light) / calc(var(--heat-fill) + var(--heat-weight) * .42));border-color:hsl(var(--heat-hue) var(--heat-sat) var(--heat-edge-light) / calc(.3 + var(--heat-weight) * .4))}.keyboard__key.is-target{background-color:var(--accent);border-color:var(--accent);color:var(--accent-contrast);box-shadow:0 0 0 3px var(--accent-ring)}.keyboard__key.is-target .keyboard__corner{opacity:.8}.keyboard__key.is-target .keyboard__eng-face,.keyboard__key.is-target .keyboard__shift-face{color:var(--accent-contrast)}.keyboard__key.is-shift-hint{background-color:var(--accent-fill);box-shadow:inset 0 0 0 1px var(--accent)}@media (width<=860px){.keyboard__key{height:46px;font-size:16px}.keyboard__nep-face{padding-top:7px;font-size:17px}.keyboard__corner{font-size:9px}}.keyboard__key.is-locked{background-color:var(--accent-tint);border-color:var(--accent);color:var(--accent-strong)}.keyboard__key.is-locked:after{content:"";background:var(--accent);width:6px;height:6px;box-shadow:0 0 0 2px var(--accent-ring);border-radius:50%;position:absolute;top:5px;right:5px}.pace{flex-direction:column;gap:4px;width:min(940px,100%);min-height:0;margin:0 auto;display:flex}.pace__head{align-items:baseline;gap:8px;display:flex}.pace__label{letter-spacing:.09em;text-transform:uppercase;color:var(--text-faint);font-size:10px;font-weight:600}.pace__value{font-variant-numeric:tabular-nums;color:var(--text);font-size:13px;font-weight:600}.pace__unit{color:var(--text-faint);margin-left:3px;font-size:10px;font-weight:400}.pace__window{font-variant-numeric:tabular-nums;color:var(--text-faint);margin-left:auto;font-size:10px}.pace__plot{background:var(--surface);border:1px solid var(--border);border-radius:9px;height:clamp(34px,5.5vh,62px);overflow:hidden}.pace__svg{width:100%;height:100%;display:block}.pace__area{fill:var(--chart-1-fill);stroke:none}.pace__line{fill:none;stroke:var(--chart-1);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.practice{flex-direction:column;justify-content:center;gap:10px;width:min(940px,100%);min-height:0;display:flex}.practice__line{--line-pad:clamp(20px, 4.5vh, 46px);--line-leading:1.75;max-height:calc(6 * var(--line-leading) * 1em + 2 * var(--line-pad));min-height:0;padding:var(--line-pad) clamp(18px, 2.4vw, 32px);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-1);font-size:clamp(24px,4.2vh,38px);line-height:var(--line-leading);text-align:left;word-spacing:0;border-radius:14px;flex:auto;overflow-y:auto}.practice__word{white-space:nowrap;display:inline-block}.practice__cluster.is-done{color:var(--text-faint)}.practice__cluster.is-pending{color:var(--text)}.practice__gap{width:.42em;display:inline-block}.practice__cluster.is-split{vertical-align:middle;border-radius:9px;align-items:stretch;gap:1px;height:1.6em;margin:0 1px;padding:2px;animation:.16s ease-out practice-open;display:inline-flex}.practice__cluster.is-split.is-multi{background:var(--surface-3);outline:1px dashed var(--border-strong)}.practice__unit{min-width:.6em;color:var(--text);border-radius:7px;justify-content:center;align-items:center;padding:2px 3px;line-height:1;transition:color .12s,background-color .12s,box-shadow .12s;animation:.14s ease-out practice-unit-in;display:inline-flex}.practice__unit.is-space{opacity:.8;min-width:1.2em;font-size:.62em}.practice__unit.is-tag{letter-spacing:.05em;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.34em}.practice__unit.is-done{color:var(--text-faint)}.practice__unit.is-current{background:var(--accent);color:var(--accent-contrast);box-shadow:0 0 0 3px var(--accent-ring)}.practice__unit.is-miss-a{animation:.22s practice-miss-a}.practice__unit.is-miss-b{animation:.22s practice-miss-b}.practice__unit.is-pending{color:var(--text-dim)}.practice__base{opacity:0}.practice__meter{background:var(--surface-3);border-radius:999px;height:4px;overflow:hidden}.practice__meter span{border-radius:inherit;background:var(--accent);height:100%;transition:width .14s;display:block}.practice__progress{letter-spacing:.04em;color:var(--text-faint);font-variant-numeric:tabular-nums;font-size:12px}.practice__complete{color:var(--accent);font-weight:600}.practice.is-finished .practice__line{border-color:var(--accent);color:var(--accent)}.practice.is-finished .practice__cluster.is-done{color:var(--accent)}@keyframes practice-open{0%{background-color:#0000;outline-color:#0000}}@keyframes practice-unit-in{0%{opacity:0;transform:translateY(2px)}}@keyframes practice-miss-a{0%{background:var(--danger);transform:translate(0)}25%{background:var(--danger);transform:translate(-4px)}75%{transform:translate(4px)}to{transform:translate(0)}}@keyframes practice-miss-b{0%{background:var(--danger);transform:translate(0)}25%{background:var(--danger);transform:translate(-4px)}75%{transform:translate(4px)}to{transform:translate(0)}}@media (prefers-reduced-motion:reduce){.practice__unit,.practice__cluster.is-split{animation:none}}.guide{max-width:760px;color:var(--text-dim);padding-bottom:20px;line-height:1.8}.guide__masthead{border-bottom:1px solid var(--border);flex-direction:column;gap:10px;margin-bottom:28px;padding-bottom:24px;display:flex}.guide__eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--accent-strong);font-size:11px;font-weight:600}.guide__masthead h1{color:var(--text);text-wrap:balance;margin:0;font-family:Rajdhani,Hind,Mukta,sans-serif;font-size:clamp(28px,3.4vw,38px);line-height:1.2}.guide__lead{color:var(--text-dim);margin:0;font-size:16px}.guide__toc{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-1);border-radius:12px;margin-bottom:34px;padding:16px 18px}.guide__toc-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin-bottom:10px;font-size:11px;font-weight:600;display:block}.guide__toc ol{gap:2px;margin:0;padding:0;list-style:none;display:grid}.guide__toc button{width:100%;color:var(--text-dim);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:baseline;gap:10px;padding:5px 8px;font-size:15px;line-height:1.5;transition:background-color .12s,color .12s;display:flex}.guide__toc button:hover{background:var(--hover);color:var(--text)}.guide__num{font-variant-numeric:tabular-nums;min-width:1.9em;color:var(--accent-strong);flex:none;font-weight:600}.guide__section{margin-bottom:38px;scroll-margin-top:12px}.guide__section-head{align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.guide__section-head h2{color:var(--text);text-wrap:balance;margin:0;font-family:Rajdhani,Hind,Mukta,sans-serif;font-size:clamp(20px,2.2vw,25px);line-height:1.3}.guide__section h3{color:var(--text);margin:22px 0 8px;font-size:17px}.guide__section p{margin:0 0 14px;font-size:15.5px}.guide__section strong{color:var(--text);font-weight:600}.guide__code{background:var(--surface-3);color:var(--accent-strong);border-radius:5px;padding:.1em .4em;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.86em}.guide__callout{background:var(--accent-tint);color:var(--text);border-radius:10px;margin:16px 0;padding:12px 15px}.guide__list{gap:8px;margin:0 0 14px;padding:0;list-style:none;display:grid}.guide__list li{gap:10px;font-size:15.5px;display:flex}.guide__list li:before{content:"";background:var(--accent);border-radius:50%;flex:none;width:6px;height:6px;margin-top:.62em}.guide__cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:16px 0;display:grid}.guide__card{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:15px 16px}.guide__tag{letter-spacing:.1em;text-transform:uppercase;color:var(--accent-strong);margin-bottom:5px;font-size:10px;font-weight:600;display:block}.guide__card h4{color:var(--text);margin:0 0 6px;font-size:16px}.guide__card p{margin:0;font-size:14.5px}.guide__table-scroll{border:1px solid var(--border);border-radius:12px;margin:16px 0;overflow-x:auto}.guide__table{border-collapse:collapse;background:var(--surface);width:100%;min-width:420px;font-size:14.5px}.guide__table th,.guide__table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 14px}.guide__table thead th{background:var(--surface-2);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);font-size:11px;font-weight:600}.guide__table tbody tr:last-child td{border-bottom:0}.guide__formula{white-space:nowrap;color:var(--text-dim)}.guide__result{color:var(--text);font-size:19px}.guide__footer{border-top:1px solid var(--border);flex-direction:column;gap:6px;margin-top:6px;padding-top:22px;display:flex}.guide__brand{color:var(--accent-strong);font-size:19px;font-weight:700}.guide__footer p{margin:0;font-size:14.5px}@media (prefers-reduced-motion:reduce){.guide__toc button{transition:none}}.about{max-width:760px;color:var(--text-dim);padding-bottom:20px;line-height:1.8}.about__masthead{border-bottom:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:28px;padding-bottom:24px;display:flex}.about__mark{color:var(--accent);font-family:Rajdhani,Hind,Mukta,sans-serif;font-size:34px;font-weight:700;line-height:1}.about__masthead h1{color:var(--text);text-wrap:balance;margin:0;font-family:Rajdhani,Hind,Mukta,sans-serif;font-size:clamp(26px,3.2vw,35px);line-height:1.2}.about__lead{color:var(--text-dim);margin:0;font-size:16px}.about__section .guide__section-head{margin-bottom:10px}.about__foot{border-top:1px solid var(--border);align-items:center;gap:10px;padding-top:20px;display:flex}.about__foot p{color:var(--text-faint);margin:0;font-size:13px}.about__foot .flag{height:1.4em}.auth-backdrop{background:var(--overlay);z-index:50;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.auth{background:var(--surface);border:1px solid var(--border);width:min(420px,100%);box-shadow:var(--shadow-3);border-radius:14px;padding:22px}.auth__tabs{background:var(--bg);border-radius:10px;gap:4px;margin-bottom:18px;padding:4px;display:flex}.auth__tabs button{color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;flex:1;padding:9px}.auth__tabs button.is-active{background:var(--key-active);color:var(--text)}.auth__form{flex-direction:column;gap:14px;display:flex}.auth__form label{color:var(--text-dim);flex-direction:column;gap:6px;font-size:13px;display:flex}.auth__form input[type=text],.auth__form input[type=password],.auth__form input:not([type]){border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;border-radius:8px;padding:10px 12px}.auth__form input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.auth__check{align-items:center;color:var(--text)!important;flex-direction:row!important;gap:8px!important}.auth__hint,.auth__footnote{color:var(--text-dim);margin:0;font-size:12px;line-height:1.5}.auth__footnote{border-top:1px solid var(--border);margin-top:16px;padding-top:14px}.auth__notice{background:var(--danger-tint);border:1px solid var(--danger);border-radius:8px;margin:0 0 14px;padding:10px 12px;font-size:13px;line-height:1.5}.auth__error{color:var(--danger);margin:0;font-size:13px}.auth__actions{justify-content:space-between;gap:10px;margin-top:4px;display:flex}.avatar{width:var(--avatar-size,56px);height:var(--avatar-size,56px);font-size:var(--avatar-size,56px);background:var(--accent-tint);color:var(--accent-strong);border-radius:50%;flex:none;place-items:center;display:grid;position:relative;overflow:hidden}.avatar__image{object-fit:cover;width:100%;height:100%;display:block}.avatar__initial{font-family:Rajdhani,Hind,Mukta,sans-serif;font-size:.5em;font-weight:700;line-height:1;transform:translateY(.02em)}.stats{flex-direction:column;gap:26px;display:flex}.stats__banner{background:var(--accent-tint);border:1px solid var(--accent);border-radius:9px;margin:0;padding:11px 14px;font-size:13px}.stats__empty,.stats__caption{color:var(--text-dim);font-size:13px}.stats h3{letter-spacing:.02em;margin:0 0 4px;font-size:15px}.stats__cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:11px;padding:16px}.stat-card__value{font-variant-numeric:tabular-nums;font-size:27px;font-weight:600}.stat-card__suffix{color:var(--text-dim);margin-left:5px;font-size:13px;font-weight:400}.stat-card__label{color:var(--text-dim);margin-top:3px;font-size:13px}.stat-card__hint{color:var(--text-dim);opacity:.8;margin-top:6px;font-size:11px}.stats__split{grid-template-columns:repeat(auto-fit,minmax(330px,1fr));align-items:start;gap:26px;display:grid}.key-table,.runs-table{border-collapse:collapse;width:100%;margin-top:10px;font-size:13px}.key-table th,.runs-table th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);border-bottom:1px solid var(--border);padding:7px 8px;font-size:11px;font-weight:500}.key-table td,.runs-table td{border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums;padding:7px 8px}.key-table__char{font-family:Hind,sans-serif;font-size:20px}.key-table__physical{color:var(--text-dim);font-family:ui-monospace,monospace}.key-table__pin-head{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.key-table__pin{width:24px;height:24px;color:var(--text-faint);cursor:pointer;opacity:.45;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;transition:opacity .12s,color .12s,background-color .12s;display:grid}.key-table__pin .material-icons{font-size:16px}.key-table tr:hover .key-table__pin,.key-table__pin:focus-visible{opacity:1}.key-table__pin:hover{background:var(--surface-3);color:var(--text);opacity:1}.key-table__pin.is-pinned{color:var(--accent);opacity:1}.key-table__bar{background:var(--surface-3);border-radius:4px;min-width:96px;height:17px;position:relative;overflow:hidden}.key-table__bar span{background:linear-gradient(90deg, var(--danger), var(--accent));position:absolute;inset:0 auto 0 0}.key-table__bar em{padding-left:7px;font-size:11px;font-style:normal;line-height:17px;display:block;position:relative}.runs-table__when{color:var(--text-dim);white-space:nowrap}.chart{flex-direction:column;gap:10px;display:flex}.chart__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.chart__legend{color:var(--text-dim);gap:16px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.chart__legend li{align-items:center;gap:7px;display:flex}.chart__swatch{border-top:2px solid var(--chart-1);width:16px;height:0}.chart__swatch.is-tone-2{border-color:var(--chart-2)}.chart__swatch.is-dashed{border-top-style:dashed}.chart__plot{background:var(--surface);border:1px solid var(--border);border-radius:11px;padding:4px;position:relative;overflow:hidden}.chart__plot svg{display:block}.chart__grid{stroke:var(--border);stroke-width:1px}.chart__axis{fill:var(--text-faint);font-variant-numeric:tabular-nums;font-size:10px}.chart__unit{letter-spacing:.06em;text-transform:uppercase;font-size:9px}.chart__area{fill:var(--chart-1-fill);stroke:none}.chart__line{fill:none;stroke:var(--chart-1);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart__line.is-tone-2{stroke:var(--chart-2)}.chart__line.is-dashed{stroke-dasharray:5 4}.chart__dot{fill:var(--chart-1);stroke:var(--surface);stroke-width:2px}.chart__crosshair{stroke:var(--border-strong);stroke-width:1px;stroke-dasharray:3 3}.chart__hit{fill:#0000}.chart__tooltip{background:var(--surface-2);border:1px solid var(--border-strong);box-shadow:var(--shadow-2);color:var(--text-dim);pointer-events:none;white-space:nowrap;border-radius:9px;flex-direction:column;gap:2px;padding:8px 10px;font-size:12px;display:flex;position:absolute;top:10px}.chart__tooltip strong,.chart__tooltip b{color:var(--text);font-variant-numeric:tabular-nums}.chart__tooltip-sub{color:var(--text-faint)}.chart__table summary{color:var(--text-dim);cursor:pointer;font-size:12px}.chart__table[open] summary{margin-bottom:6px}.analysis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.analysis__card{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:2px;padding:11px 13px;display:flex}.analysis__label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);font-size:10px;font-weight:600}.analysis__value{font-variant-numeric:tabular-nums;font-size:20px}.analysis__value.is-up:before{content:"▲ ";color:var(--accent);font-size:12px}.analysis__value.is-down:before{content:"▼ ";color:var(--danger);font-size:12px}.analysis__hint{color:var(--text-dim);font-size:11px}.certificate{flex-direction:column;gap:16px;max-width:1100px;margin:0 auto;display:flex}.certificate__intro h2{margin:0 0 4px;font-size:19px}.certificate__layout{align-items:flex-start;gap:20px;display:flex}.certificate__rail{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;flex:0 0 232px;gap:12px;padding:14px 16px;display:flex}.certificate__sheet{flex:auto;min-width:0}.certificate__field{flex-direction:column;align-items:stretch;gap:6px;display:flex}.certificate__field>span{color:var(--text-dim);font-size:13px}.certificate__input{border:1px solid var(--border-strong);background:var(--surface-2);height:34px;color:var(--text);font:inherit;border-radius:8px;padding:0 11px;font-size:14px}.certificate__input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.certificate__hint{color:var(--text-faint);margin:0;font-size:12px}.certificate__tip{border-top:1px solid var(--border);color:var(--text-faint);margin:0;padding-top:10px;font-size:11.5px;line-height:1.45}@media (width<=760px){.certificate__layout{flex-direction:column}.certificate__rail{flex:none;width:100%}.certificate__field{flex-direction:row;align-items:center}.certificate__field>span{flex:none}.certificate__input{flex:auto;min-width:0}}.certificate__locked{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;gap:12px;padding:18px 20px;display:flex}.certificate__locked-lead{margin:0;font-size:14px}.certificate__reqs{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.certificate__req{border:1px solid var(--border);background:var(--surface-2);opacity:.6;border-radius:11px;align-items:flex-start;gap:10px;padding:11px 13px;transition:opacity .14s,border-color .14s;display:flex}.certificate__req.is-met{opacity:1;border-color:var(--accent)}.certificate__req>.material-icons{color:var(--text-faint);flex:none;font-size:19px}.certificate__req.is-met>.material-icons{color:var(--accent)}.certificate__req-text{flex-direction:column;gap:3px;min-width:0;display:flex}.certificate__req-text strong{font-size:13.5px;font-weight:600}.certificate__req-text small{font-variant-numeric:tabular-nums;color:var(--text-faint);font-size:11.5px}.certificate__req-bar{background:var(--surface-3);border-radius:3px;height:4px;display:block;overflow:hidden}.certificate__req-bar i{background:var(--accent);border-radius:3px;height:100%;display:block}.cert{background:var(--cert-paper);width:100%;color:var(--cert-ink);box-shadow:var(--shadow-2);border-radius:10px;overflow:hidden;container-type:inline-size}.cert__frame{border:.55cqi solid var(--cert-rule);outline:.12cqi solid var(--cert-rule);outline-offset:-1.3cqi;text-align:center;flex-direction:column;align-items:center;padding:3.8cqi 6cqi 2.4cqi;display:flex}.cert__head{flex-direction:column;align-items:center;gap:.4cqi;display:flex}.cert__mark{color:var(--cert-gold);font-family:Rajdhani,Hind,Mukta,sans-serif;font-size:max(18px,3.4cqi);font-weight:700;line-height:1}.cert__kicker{letter-spacing:.22em;text-transform:uppercase;color:var(--cert-ink-dim);font-size:max(8px,1.3cqi)}.cert__title{letter-spacing:.06em;margin:1.8cqi 0 0;font-family:Rajdhani,Hind,Mukta,sans-serif;font-size:max(17px,4cqi);font-weight:600;line-height:1.15}.cert__lead{letter-spacing:.16em;text-transform:uppercase;color:var(--cert-ink-dim);margin:1.1cqi 0 0;font-size:max(9px,1.6cqi)}.cert__who{align-items:center;gap:2.2cqi;max-width:100%;margin-top:1.1cqi;display:flex}.cert .avatar{--avatar-size:6cqi}.cert__name{overflow-wrap:anywhere;min-width:0;margin:0;font-family:Rajdhani,Hind,Mukta,sans-serif;font-size:max(22px,5cqi);font-weight:700;line-height:1.1}.cert__body{border-top:.12cqi solid var(--cert-rule);max-width:74cqi;color:var(--cert-ink-dim);margin:1.4cqi 0 0;padding-top:1.4cqi;font-size:max(10px,1.8cqi);line-height:1.55}.cert__level{background:var(--cert-tint);border-radius:999px;align-items:baseline;gap:1.4cqi;margin:1.5cqi 0 0;padding:.8cqi 3cqi;display:flex}.cert__level-label{letter-spacing:.18em;text-transform:uppercase;color:var(--cert-ink-dim);font-size:max(8px,1.4cqi)}.cert__level strong{color:var(--cert-gold);font-family:Rajdhani,Hind,Mukta,sans-serif;font-size:max(15px,2.7cqi);font-weight:700}.cert__level-tier{color:var(--cert-ink-dim);font-size:max(8px,1.4cqi)}.cert__figures{grid-template-columns:repeat(6,1fr);gap:1.4cqi;width:100%;margin:1.8cqi 0 0;padding:0;list-style:none;display:grid}.cert__figure{background:var(--cert-tint);border-radius:1cqi;flex-direction:column;gap:.5cqi;padding:1.2cqi .6cqi;display:flex}.cert__figure-value{font-variant-numeric:tabular-nums;font-family:Rajdhani,Hind,Mukta,sans-serif;font-size:max(13px,2.5cqi);font-weight:700;line-height:1}.cert__figure-unit{color:var(--cert-ink-dim);margin-left:.4cqi;font-size:max(7px,1.3cqi);font-weight:500}.cert__figure-label{color:var(--cert-ink-dim);font-size:max(7px,1.25cqi);line-height:1.3}.cert__foot{grid-template-columns:1fr auto 1fr;align-items:end;gap:2cqi;width:100%;margin-top:auto;padding-top:1.4cqi;display:grid}.cert__foot-block{text-align:left;flex-direction:column;gap:.3cqi;min-width:0;display:flex}.cert__foot-block--end{text-align:right}.cert__foot-block>span{letter-spacing:.14em;text-transform:uppercase;color:var(--cert-ink-dim);font-size:max(7px,1.25cqi)}.cert__foot-block>b{font-size:max(9px,1.8cqi);font-weight:600}.cert__foot-block>small{color:var(--cert-ink-dim);font-size:max(7px,1.25cqi)}html[lang=ne] .cert__kicker,html[lang=ne] .cert__lead,html[lang=ne] .cert__level-label,html[lang=ne] .cert__foot-block>span{letter-spacing:.03em}.cert__reference{font-variant-numeric:tabular-nums;letter-spacing:.08em}.cert__seal{border:.25cqi solid var(--cert-gold);width:8.5cqi;height:8.5cqi;color:var(--cert-gold);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:.4cqi;display:flex}.cert__seal .flag{height:2.4cqi}.cert__seal span{font-family:Rajdhani,Hind,Mukta,sans-serif;font-size:max(9px,1.8cqi);font-weight:700;line-height:1}.cert__note{max-width:82cqi;color:var(--cert-ink-faint);margin:.8cqi 0 0;font-size:max(6.5px,1.1cqi);line-height:1.45}@media (width>=641px){.cert__frame{min-height:65cqi}}@media print{@page{size:A4 landscape;margin:12mm}.app:has(.certificate){height:auto;display:block;overflow:visible}:is(.app:has(.certificate) .app__header,.app:has(.certificate) .app__toast,.app:has(.certificate) .site-foot,.app:has(.certificate) .certificate__intro,.app:has(.certificate) .certificate__rail,.app:has(.certificate) .stats__banner){display:none!important}.app:has(.certificate) .app__panel{padding:0;display:block;overflow:visible}.app:has(.certificate) .app__panel-content{flex:none;padding:0;display:block;overflow:visible}:is(.app:has(.certificate) .app__panel-content>*,.app:has(.certificate) .certificate,.app:has(.certificate) .certificate__layout,.app:has(.certificate) .certificate__sheet){width:100%;max-width:none}.app:has(.certificate) .cert{box-shadow:none;break-inside:avoid;border-radius:0}:is(.app:has(.certificate) .cert,.app:has(.certificate) .cert *){-webkit-print-color-adjust:exact;print-color-adjust:exact}}.drill{flex-direction:column;gap:10px;min-height:0;display:flex}.drill__head{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:11px 13px}.drill__hint{color:var(--text-dim);margin:5px 0 0;font-size:11px;line-height:1.5}.drill__keys{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:4px;min-height:0;margin:0;padding:6px;list-style:none;display:flex;overflow-y:auto}.drill__keys li{border-radius:6px;grid-template-columns:22px 18px minmax(0,1fr) 34px;align-items:center;gap:6px;padding:3px 5px;display:grid}.drill__keys li.is-pair{border-left:2px solid var(--accent-soft);grid-template-columns:34px 30px minmax(0,1fr) 34px;padding-left:3px}.drill__keys li.is-pinned{grid-template-columns:14px 22px 18px minmax(0,1fr) 34px}.drill__keys li.is-pinned.is-pair{grid-template-columns:14px 34px 30px minmax(0,1fr) 34px}.drill__unpin{width:14px;height:14px;color:var(--accent);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.drill__unpin .material-icons{font-size:13px}.drill__unpin:hover{color:var(--danger)}.drill__char{font-size:18px;line-height:1}.drill__press{color:var(--text-faint);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10px}.drill__bar{background:var(--surface-3);border-radius:999px;height:6px;display:block;overflow:hidden}.drill__bar i{border-radius:inherit;background:linear-gradient(90deg, var(--danger), var(--accent));height:100%;display:block}.drill__pct{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-dim);font-size:11px}.drill__sizes button{font-variant-numeric:tabular-nums}.feedback{flex-direction:column;gap:16px;max-width:720px;margin:0 auto;display:flex}.feedback__intro h2{margin:0 0 4px;font-size:19px}.feedback__form{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;gap:16px;padding:18px 20px;display:flex}.feedback__kinds{border:0;margin:0;padding:0}.feedback__kinds legend{color:var(--text-dim);margin-bottom:8px;padding:0;font-size:13px}.feedback__kind-row{flex-wrap:wrap;gap:8px;display:flex}.feedback__kind{border:1px solid var(--border-strong);color:var(--text-dim);cursor:pointer;border-radius:999px;padding:7px 14px;font-size:13px;transition:background-color .12s,border-color .12s,color .12s;position:relative}.feedback__kind:hover{background:var(--hover);color:var(--text)}.feedback__kind.is-active{background:var(--accent-tint);border-color:var(--accent);color:var(--accent-strong);font-weight:600}.feedback__kind input{clip-path:inset(50%);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.feedback__kind:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.feedback__field{flex-direction:column;gap:6px;min-width:0;display:flex}.feedback__field>span{color:var(--text-dim);font-size:13px}.feedback__textarea,.feedback__input{border:1px solid var(--border-strong);background:var(--surface-2);width:100%;min-width:0;color:var(--text);font:inherit;border-radius:9px;padding:10px 12px;font-size:14px;line-height:1.6}.feedback__textarea{resize:vertical;min-height:150px}.feedback__textarea:focus-visible,.feedback__input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.feedback__count,.feedback__hint{color:var(--text-faint);font-size:11.5px}.feedback__count{font-variant-numeric:tabular-nums;align-self:flex-end}.feedback__attached{background:var(--surface-2);color:var(--text-faint);border-radius:9px;margin:0;padding:9px 12px;font-size:12px;line-height:1.55}.feedback__error{border:1px solid var(--danger);background:var(--danger-tint);color:var(--danger);border-radius:9px;margin:0;padding:9px 12px;font-size:13px}.feedback__actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.feedback__thanks{border:1px solid var(--accent);background:var(--surface);border-radius:12px;align-items:center;gap:14px;padding:18px 20px;display:flex}.feedback__thanks>.material-icons{color:var(--accent);flex:none;font-size:30px}.feedback__thanks div{flex:auto;min-width:0}.feedback__thanks strong{font-size:15px;display:block}.feedback__thanks p{color:var(--text-dim);margin:3px 0 0;font-size:13px}@media (width<=560px){.feedback__thanks{flex-wrap:wrap}}.site-foot{border-top:1px solid var(--border);background:var(--surface);flex-shrink:0;justify-content:center;padding:0 clamp(12px,2.5vw,26px);display:flex}.site-foot__inner{width:min(1120px,100%);color:var(--text-faint);flex-wrap:wrap;align-items:center;gap:8px 16px;padding:14px 0;font-size:12.5px;display:flex}.site-foot__mark{color:var(--text-dim);font-family:Rajdhani,Hind,Mukta,sans-serif;font-size:19px;font-weight:700;line-height:1}.site-foot__links{flex-wrap:wrap;gap:14px;display:flex}.site-foot__links button{font:inherit;color:var(--text-dim);cursor:pointer;background:0 0;border:0;padding:0;transition:color .12s}.site-foot__links button:hover{color:var(--accent-strong);text-underline-offset:3px;text-decoration:underline}.site-foot__links button.is-active{color:var(--accent-strong);font-weight:600}.site-foot__links button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}.site-foot__copy{font-variant-numeric:tabular-nums;margin-left:auto}@media (width<=520px){.site-foot__copy{width:100%;margin-left:0}}.game{flex-direction:column;align-items:center;gap:18px;max-width:720px;height:100%;min-height:0;margin:0 auto;display:flex}.game__idle{text-align:center;background:var(--surface);border:1px solid var(--border);width:100%;box-shadow:var(--shadow-1);border-radius:16px;flex-direction:column;align-items:center;gap:10px;padding:40px 24px;display:flex}.game__title{margin:0;font-size:clamp(24px,3vw,32px)}.game__tagline{color:var(--text-dim);margin:0;font-size:15px}.game__instructions{max-width:46ch;color:var(--text);margin:6px 0 0}.game__hint{max-width:46ch;color:var(--text-faint);margin:0;font-size:13px}.game__best-line{color:var(--accent-strong);margin-top:6px;font-weight:600}.game__start{margin-top:10px}.game__arcade{border-radius:16px;flex-direction:column;gap:10px;width:100%;height:100%;min-height:0;transition:background-color .12s;display:flex;position:relative}.game__arcade.is-miss{background-color:var(--danger-tint)}.game__hud{background:var(--surface);border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:center;gap:20px;padding:10px 16px;display:flex}.game__hud-left,.game__hud-right{align-items:center;gap:20px;display:flex}.game__stat{flex-direction:column;min-width:3.5em;display:flex}.game__stat-value{font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.game__stat-label{letter-spacing:.04em;color:var(--text-faint);text-transform:uppercase;font-size:11px}.game__combo.is-hot .game__stat-value{color:var(--accent-strong);transform:scale(1.08)}.game__lives{gap:4px;display:flex}.game__heart{color:var(--border-strong);font-size:20px}.game__heart.is-full{color:var(--danger)}.game__level-bar{background:var(--surface-3);border-radius:999px;height:5px;overflow:hidden}.game__level-bar span{background:var(--accent);height:100%;transition:width .16s;display:block}.game__toast{background:var(--accent);color:var(--accent-contrast);box-shadow:var(--shadow-2);pointer-events:none;border-radius:999px;padding:6px 16px;font-weight:700;animation:1.2s forwards game-toast-in;position:absolute;top:90px;left:50%;transform:translate(-50%)}@keyframes game-toast-in{0%{opacity:0;transform:translate(-50%,6px)}15%{opacity:1;transform:translate(-50%)}80%{opacity:1}to{opacity:0}}.game__field{background:var(--surface-2);border:1px solid var(--border);border-radius:14px;flex:auto;min-height:220px;max-height:640px;position:relative;overflow:hidden}.game__ground{background:repeating-linear-gradient(90deg, var(--border-strong) 0 10px, transparent 10px 20px);height:2px;position:absolute;bottom:10%;left:0;right:0}.game__word{white-space:nowrap;color:var(--text);border-radius:8px;padding:3px 8px;font-size:clamp(18px,2.4vw,26px);position:absolute;transform:translateY(-50%)}.game__word.is-locked{background:var(--accent-tint);outline:1px solid var(--accent)}.game__word-done{color:var(--accent-strong);font-weight:700}.game__word-pending{color:var(--text)}.game__over{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:22px;display:flex}.game__over h3{margin:0}.game__new-best{color:var(--accent-strong);margin:0;font-size:18px;font-weight:700}.game__over-actions{margin-top:10px}.game__quit{align-self:center}@media (prefers-reduced-motion:reduce){.game__toast{animation:none}.game__combo.is-hot .game__stat-value{transform:none}}.insights{flex-direction:column;gap:26px;display:flex}.insights__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.insights h2{margin:0;font-size:21px}.insights h3{letter-spacing:.02em;margin:0 0 4px;font-size:15px}.insights__lede,.insights__note,.insights__empty{color:var(--text-dim);margin:4px 0 0;font-size:13px}.insights__error{background:var(--danger-tint);border:1px solid var(--danger);border-radius:9px;margin:0;padding:11px 14px;font-size:13px}.insights__gate{background:var(--surface);border:1px solid var(--border);border-radius:11px;flex-wrap:wrap;align-items:center;gap:10px;padding:18px;display:flex}.insights__gate label{color:var(--text-dim);font-size:13px}.insights__gate input{border:1px solid var(--border-strong);background:var(--bg);min-width:0;color:var(--text);font:inherit;border-radius:8px;flex:240px;padding:9px 11px;font-size:13px}.insights__gate button{background:var(--accent);color:var(--accent-contrast);font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;padding:9px 16px;font-size:13px}.insights code{background:var(--hover);border-radius:5px;padding:1px 5px;font-size:.92em}.insights__controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.insights__range{background:var(--hover);border:1px solid var(--border);border-radius:9px;gap:3px;padding:3px;display:flex}.insights__range button{color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 11px;font-size:12px}.insights__range button.is-active{background:var(--surface);color:var(--text)}.insights__toggle{color:var(--text-dim);align-items:center;gap:6px;font-size:12px;display:flex}.insights__forget{border:1px solid var(--border-strong);color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;border-radius:7px;padding:6px 11px;font-size:12px}.insights__cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.insights__card{background:var(--surface);border:1px solid var(--border);border-radius:11px;padding:16px}.insights__card-value{font-variant-numeric:tabular-nums;font-size:27px;font-weight:600}.insights__card-label{color:var(--text-dim);margin-top:3px;font-size:13px}.insights__card-hint{color:var(--text-dim);opacity:.8;margin-top:6px;font-size:11px}.insights__section{background:var(--surface);border:1px solid var(--border);border-radius:11px;padding:16px}.insights__days{align-items:flex-end;gap:2px;height:150px;margin-top:12px;padding-top:6px;display:flex}.insights__day{flex:1 1 0;justify-content:center;align-items:flex-end;min-width:0;max-width:40px;height:100%;display:flex;position:relative}.insights__day span{border-radius:3px 3px 0 0;position:absolute;bottom:0}.insights__day-views{background:var(--chart-1);opacity:.32;left:0;right:0}.insights__day-visitors{background:var(--chart-2);left:22%;right:22%}.insights__axis{color:var(--text-faint);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:6px;font-size:11px;display:flex}.insights__legend{color:var(--text-dim);align-items:center;gap:6px;margin:10px 0 0;font-size:12px;display:flex}.insights__swatch{border-radius:3px;width:11px;height:11px}.insights__swatch.is-views{background:var(--chart-1);opacity:.32;margin-left:0}.insights__swatch.is-visitors{background:var(--chart-2);margin-left:12px}.insights__grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:start;gap:12px;display:grid}.insights__breakdown{background:var(--surface);border:1px solid var(--border);border-radius:11px;padding:14px 16px 16px}.insights__breakdown ul{flex-direction:column;gap:8px;margin:10px 0 0;padding:0;list-style:none;display:flex}.insights__bar{background:linear-gradient(to right, var(--accent-tint) 0 var(--fill,0%), transparent var(--fill,0%) 100%);border-radius:6px;justify-content:space-between;align-items:baseline;gap:10px;padding:5px 8px;font-size:13px;display:flex;position:relative}.insights__bar em{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-style:normal;overflow:hidden}.insights__bar b{font-variant-numeric:tabular-nums;font-weight:600}.insights__bar-sub{color:var(--text-faint);padding:0 8px;font-size:11px;display:block}.insights__scroller{margin-top:10px;overflow-x:auto}.insights__table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:12px}.insights__table th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);border-bottom:1px solid var(--border);padding:7px 8px;font-size:11px;font-weight:500}.insights__table td{border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums;padding:7px 8px}.insights__table tr:last-child td{border-bottom:0}.insights__id,.insights__ip{color:var(--text-dim);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.insights__tag{background:var(--accent-tint);color:var(--accent-strong);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:10px}.insights__feedback{flex-direction:column;gap:10px;margin:12px 0 0;padding:0;list-style:none;display:flex}.insights__message{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:12px 14px}.insights__message-head{color:var(--text-faint);flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:11.5px;display:flex}.insights__kind{background:var(--surface-3);letter-spacing:.03em;text-transform:uppercase;color:var(--text-dim);border-radius:999px;padding:2px 8px;font-weight:600}.insights__kind.is-bug{background:var(--danger-tint);color:var(--danger)}.insights__kind.is-praise{background:var(--accent-tint);color:var(--accent-strong)}.insights__contact{color:var(--accent-strong);margin-left:auto;font-weight:600}.insights__message-body{color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0;font-size:13.5px;line-height:1.6}.lessons{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;gap:28px;display:grid}.lessons__column h3{margin:0 0 8px;font-size:15px}.lessons__column h3+p,.lessons__column ul+h3{margin-top:0}.lessons__column ul+h3{margin-top:22px}.lessons__list{flex-direction:column;gap:7px;margin:0 0 4px;padding:0;list-style:none;display:flex}.lessons__list li{border:1px solid var(--border);background:var(--surface);border-radius:10px;align-items:stretch;gap:6px;display:flex;overflow:hidden}.lessons__list li.is-active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.lessons__pick{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;gap:4px;padding:11px 13px;display:flex}.lessons__pick:hover{background:var(--hover)}.lessons__title{text-overflow:ellipsis;white-space:nowrap;font-family:Hind,sans-serif;font-size:15px;overflow:hidden}.lessons__body{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-family:Hind,sans-serif;font-size:13px;overflow:hidden}.lessons__delete{border:0;border-left:1px solid var(--border);width:36px;color:var(--text-dim);cursor:pointer;background:0 0;font-size:19px;line-height:1}.lessons__delete:hover{background:var(--danger-tint);color:var(--danger)}.lessons__caption{color:var(--text-faint);margin:-4px 0 8px;font-size:12px}.lessons__empty,.lessons__hint{color:var(--text-dim);margin:0 0 4px;font-size:13px}.lessons__form{flex-direction:column;gap:13px;display:flex}.lessons__form label{color:var(--text-dim);flex-direction:column;gap:6px;font-size:13px;display:flex}.lessons__form input,.lessons__form textarea{border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;resize:vertical;border-radius:8px;padding:10px 12px;font-family:Hind,Mukta,sans-serif;font-size:16px}.lessons__form input:focus-visible,.lessons__form textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.lessons__meta{color:var(--text-dim);justify-content:space-between;gap:12px;font-size:12px;display:flex}.lessons__warn{color:var(--danger);font-family:Hind,sans-serif}.lessons__error{color:var(--danger);margin:0;font-size:13px}.lessons__actions{justify-content:flex-end;gap:10px;display:flex}.course__stage+.course__stage{margin-top:18px}.course__stage-name{letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);margin:0 0 7px;font-size:12px;font-weight:600}.course__pick{flex-direction:row;align-items:center;gap:10px;padding:8px 12px}.course__number{text-align:right;font-variant-numeric:tabular-nums;min-width:22px;color:var(--text-faint);flex:none;font-size:12px}.course__chars{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-family:Hind,sans-serif;font-size:15px;overflow:hidden}.course__tag{background:var(--hover);color:var(--text-dim);border-radius:999px;flex:none;padding:2px 7px;font-family:Hind,sans-serif;font-size:11px}.course__bar{background:var(--surface-3);border-radius:999px;flex:0 0 44px;height:5px;overflow:hidden}.course__bar i{border-radius:inherit;background:linear-gradient(90deg, var(--danger), var(--accent));height:100%;display:block}.course__pct{text-align:right;font-variant-numeric:tabular-nums;min-width:30px;color:var(--text-dim);flex:none;font-size:11px}.plan{flex-direction:column;gap:10px;min-height:0;display:flex}.plan__head{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:11px 13px}.plan__hint{color:var(--text-dim);margin:5px 0 0;font-size:11px;line-height:1.5}.plan__due{border:1px solid var(--border);background:var(--surface);color:var(--text-dim);cursor:default;border-radius:10px;align-items:center;gap:6px;padding:8px 11px;font-family:inherit;font-size:12px;display:flex}.plan__due.is-due{color:var(--accent);border-color:var(--accent-soft);cursor:pointer}.plan__due .material-icons{font-size:15px}.plan__pick{flex-direction:column;gap:5px;min-width:0;display:flex}.plan__pick .app__select{width:100%;min-width:0}.plan__clock{background:var(--surface);border:1px solid var(--border);border-radius:10px;align-items:baseline;gap:8px;padding:8px 11px;display:flex}.plan__time{font-variant-numeric:tabular-nums;font-size:20px}.plan__clock.is-urgent .plan__time{color:var(--danger)}.plan__targets{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;flex:auto;gap:4px;min-height:0;margin:0;padding:6px;list-style:none;display:flex;overflow-y:auto}.plan__targets li{border-left:2px solid #0000;border-radius:6px;grid-template-columns:36px minmax(0,1fr) auto 34px;align-items:center;gap:6px;padding:3px 5px;display:grid}.plan__targets li.is-weak{border-left-color:var(--danger)}.plan__targets li.is-known{border-left-color:var(--accent-soft)}.plan__targets li.is-fresh{border-left-color:var(--accent)}.plan__chars{font-size:18px;line-height:1}.plan__kind{text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:10px;overflow:hidden}.plan__press{color:var(--text-faint);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10px}.plan__pct{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-dim);font-size:11px}.plan__empty{color:var(--text-dim);padding:8px 5px;font-size:11px;line-height:1.5;display:block}.app__nav-badge{background:var(--accent);color:var(--surface);font-variant-numeric:tabular-nums;vertical-align:1px;border-radius:999px;margin-left:5px;padding:0 5px;font-size:10px}.profile{flex-direction:column;gap:18px;max-width:1100px;margin:0 auto;display:flex}.profile__head{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-1);border-radius:14px;align-items:center;gap:16px;padding:18px 20px;display:flex}.avatar-picker{flex-direction:column;flex:none;align-items:center;gap:5px;display:flex}.avatar-picker__button{cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0;line-height:0;display:block;position:relative}.avatar-picker__button:disabled{cursor:progress}.avatar-picker__button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.avatar-picker__overlay{background:var(--surface);border:1px solid var(--border-strong);width:24px;height:24px;color:var(--text-dim);border-radius:50%;place-items:center;transition:background-color .12s,color .12s,border-color .12s;display:grid;position:absolute;bottom:-1px;right:-1px}.avatar-picker__overlay .material-icons{font-size:14px}.avatar-picker__button:hover .avatar-picker__overlay,.avatar-picker__button:focus-visible .avatar-picker__overlay{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.avatar-picker__input{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.avatar-picker__remove{font:inherit;color:var(--text-faint);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;font-size:11.5px;text-decoration:underline}.avatar-picker__remove:hover:not(:disabled){color:var(--danger)}.avatar-picker__error{text-align:center;max-width:15ch;color:var(--danger);margin:0;font-size:11px;line-height:1.35}.profile__identity{flex:auto;min-width:0}.profile__identity h2{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:21px;overflow:hidden}.profile__since{color:var(--text-dim);margin:3px 0 0;font-size:13px}.profile__score{flex-direction:column;flex:none;align-items:flex-end;gap:1px;display:flex}.profile__score strong{color:var(--accent-strong);font-family:Rajdhani,sans-serif;font-size:30px;line-height:1}.profile__score span{color:var(--text-faint);font-size:12px}.profile h3{margin:6px 0 0;font-size:17px}.profile__track h4{letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);align-items:center;gap:7px;margin:0 0 8px;font-size:13px;font-weight:600;display:flex}.profile__track h4 .material-icons{color:var(--text-faint);font-size:17px}.profile__badges{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.badge{border:1px solid var(--border);background:var(--surface);opacity:.55;border-radius:12px;align-items:center;gap:11px;padding:11px 13px;transition:opacity .14s,border-color .14s,box-shadow .14s;display:flex}.badge.is-earned{opacity:1;border-color:var(--accent);box-shadow:var(--shadow-1)}.badge__medal{background:var(--surface-3);width:42px;height:42px;color:var(--text-faint);border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.badge.is-earned .badge__medal{background:var(--accent-tint);color:var(--accent-strong);box-shadow:inset 0 0 0 2px var(--accent)}.badge__medal .material-icons{font-size:21px}.badge__tier{background:var(--surface);border:1px solid var(--border);min-width:16px;height:16px;color:var(--text-dim);border-radius:8px;place-items:center;padding:0 3px;font-size:10px;font-style:normal;font-weight:700;display:grid;position:absolute;bottom:-2px;right:-2px}.badge.is-earned .badge__tier{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.badge__text{flex-direction:column;gap:2px;min-width:0;display:flex}.badge__text strong{font-size:14px}.badge__text small{color:var(--text-dim);font-size:11.5px;line-height:1.35}.badge__bar{background:var(--surface-3);border-radius:3px;height:4px;margin-top:4px;display:block;overflow:hidden}.badge__bar i{background:var(--accent);border-radius:3px;height:100%;display:block}.badge__progress{font-variant-numeric:tabular-nums;color:var(--text-faint)}@media (width<=700px){.profile__head{flex-wrap:wrap}}.test{flex-direction:column;gap:10px;min-height:0;display:flex}.test__clock{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:10px;flex-direction:column;gap:2px;padding:12px 13px;display:flex}.test__time{font-variant-numeric:tabular-nums;font-size:clamp(30px,5vh,44px);font-weight:600;line-height:1}.test__clock.is-urgent{border-color:var(--danger)}.test__clock.is-urgent .test__time{color:var(--danger)}.test__durations button{font-variant-numeric:tabular-nums;font-size:12px}.test__custom{background:var(--surface);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:8px 13px;display:flex}.test__custom input{border:1px solid var(--border-strong);background:var(--bg);width:72px;color:var(--text);font:inherit;font-variant-numeric:tabular-nums;text-align:center;border-radius:7px;padding:5px 8px;font-size:13px}.test__custom input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.test__source,.test__result{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:6px;padding:11px 13px;display:flex}.test__source strong{font-size:15px}.test__result{border-color:var(--accent);background:var(--accent-tint)}.test__result strong{font-variant-numeric:tabular-nums;font-size:22px}.test__result span:last-child{color:var(--text-dim);font-size:12px}.board{flex-direction:column;gap:10px;min-height:0;display:flex}.board__head{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:11px 13px}.board__hint{color:var(--text-dim);margin:5px 0 0;font-size:11px;line-height:1.5}.board__empty,.board__footnote{background:var(--surface-2);border:1px solid var(--border);color:var(--text-dim);border-radius:10px;margin:0;padding:11px 13px;font-size:11px;line-height:1.55}.board__list{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:4px;min-height:0;margin:0;padding:6px;list-style:none;display:flex;overflow-y:auto}.board__list li{border-radius:7px;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:8px;padding:5px 6px;display:grid}.board__list li.is-you{background:var(--accent-tint);box-shadow:inset 0 0 0 1px var(--accent)}.board__rank{text-align:center;font-variant-numeric:tabular-nums;color:var(--text-faint);font-size:11px}.board__rank.is-medal-1,.board__rank.is-medal-2,.board__rank.is-medal-3{color:var(--accent-strong);font-weight:700}.board__who{flex-direction:column;min-width:0;display:flex}.board__who strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.board__meta{color:var(--text-faint);font-variant-numeric:tabular-nums;font-size:10px}.board__wpm{font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.board__unit{color:var(--text-faint);margin-left:3px;font-size:10px;font-weight:400}.consent{z-index:45;background:var(--surface);border:1px solid var(--border-strong);width:min(380px,100vw - 32px);box-shadow:var(--shadow-3);color:var(--text);border-radius:14px;padding:16px 18px 12px;font-size:13px;line-height:1.5;position:fixed;bottom:16px;right:16px}.consent__title{margin:0 0 6px;font-size:15px;font-weight:700}.consent__body{color:var(--text-dim);margin:0 0 8px}.consent__actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}.consent__btn{border:1px solid var(--accent);background:var(--accent-tint);color:var(--accent-strong);font:inherit;cursor:pointer;border-radius:10px;padding:9px 10px;font-weight:600;transition:background .12s}.consent__btn:hover{background:var(--accent-fill)}.consent__btn:focus-visible,.consent__more:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.consent__more{font:inherit;color:var(--text-faint);cursor:pointer;background:0 0;border:0;margin:10px auto 0;padding:0;font-size:12px;text-decoration:underline;display:block}@media (width<=420px){.consent__actions{grid-template-columns:1fr}}:root,:root[data-theme=light]{--bg:#eef3f1;--surface:#fff;--surface-2:#f3f7f5;--surface-3:#e3ede9;--border:#d6e2dd;--border-strong:#bacdc6;--text:#16302a;--text-dim:#5b7169;--text-faint:#8ba099;--accent:#0f9d80;--accent-strong:#0b7f68;--accent-soft:#2f9c82;--accent-contrast:#fff;--accent-tint:#0f9d8021;--accent-ring:#0f9d8040;--accent-fill:#0f9d8047;--danger:#d24a41;--danger-tint:#d24a411f;--key:#fff;--key-active:#dbe9e4;--key-text:#22403a;--hover:#14322a0d;--overlay:#12262173;--shadow-1:0 1px 2px #142d2614;--shadow-2:0 8px 24px #142d261f;--shadow-3:0 22px 50px #142d2638;--chart-1:#0f9d80;--chart-2:#6d5ae0;--chart-1-fill:#0f9d8024;--heat-sat:62%;--heat-light:46%;--heat-fill:.16;--heat-edge-light:40%;--cert-paper:#fdfaf3;--cert-ink:#241f16;--cert-ink-dim:#6d6350;--cert-ink-faint:#9a9080;--cert-rule:#cbb98c;--cert-gold:#9a7620;--cert-tint:#f4eddc;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0f1a18;--surface:#16211f;--surface-2:#1b2b28;--surface-3:#22332f;--border:#2a3a37;--border-strong:#3b514c;--text:#dcece8;--text-dim:#7d918d;--text-faint:#5f736e;--accent:#4ec9a5;--accent-strong:#6bdcbb;--accent-soft:#8fd9c4;--accent-contrast:#0b1412;--accent-tint:#4ec9a529;--accent-ring:#4ec9a54d;--accent-fill:#4ec9a547;--danger:#e2564d;--danger-tint:#e2564d29;--key:#1d2b29;--key-active:#2b423e;--key-text:#dcece8;--hover:#ffffff0d;--overlay:#060c0bb8;--shadow-1:0 1px 2px #0000004d;--shadow-2:0 8px 24px #00000059;--shadow-3:0 22px 50px #00000080;--chart-1:#1faa8b;--chart-2:#8272ee;--chart-1-fill:#1faa8b33;--heat-sat:60%;--heat-light:42%;--heat-fill:.18;--heat-edge-light:55%;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:system-ui,Segoe UI,Roboto,Helvetica Neue,Arial,Hind,Mukta,sans-serif;font-size:15px;transition:background-color .16s,color .16s}.nep{font-family:Hind,Mukta,system-ui,sans-serif}.app{grid-template-rows:auto minmax(0,1fr);height:100dvh;display:grid;overflow:hidden}.app__header{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:16px;height:56px;padding:0 clamp(12px,2.5vw,26px);display:flex}.app__brand{align-items:baseline;gap:9px;min-width:0;display:flex}.app__brand h1{margin:0;line-height:1}.app__brand h1 button{letter-spacing:.01em;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-family:Rajdhani,Hind,Mukta,sans-serif;font-size:30px;font-weight:700;line-height:1;transition:color .12s}.app__brand h1 button:hover{color:var(--accent-strong)}.app__brand span{color:var(--text-faint);white-space:nowrap;font-size:12px}.app__nav{gap:2px;margin-left:12px;display:flex}.app__nav button{height:34px;color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:6px;padding:0 12px;font-size:14px;transition:background-color .12s,color .12s;display:flex}.app__nav button:hover{background:var(--hover);color:var(--text)}.app__nav button.is-active{background:var(--accent-tint);color:var(--accent-strong);font-weight:600}.app__nav-icon{color:inherit;opacity:.75;font-size:18px}.app__nav button.is-active .app__nav-icon{opacity:1}.app__account{align-items:center;gap:9px;margin-left:auto;display:flex}.app__user{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:0;font-size:14px;font-weight:600;transition:color .12s;display:flex}.app__user-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:14ch;overflow:hidden}.app__user:hover{color:var(--accent-strong)}.app__muted{color:var(--text-faint);font-size:13px}.button{border:1px solid var(--border-strong);background:var(--surface);height:34px;color:var(--text);font:inherit;white-space:nowrap;cursor:pointer;box-shadow:var(--shadow-1);border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:500;transition:background-color .12s,border-color .12s,color .12s,transform 60ms;display:inline-flex}.button:hover:not(:disabled){background:var(--surface-3);border-color:var(--accent);color:var(--accent-strong)}.button:active:not(:disabled){transform:translateY(1px)}.button--primary{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast);font-weight:600}.button--primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong);color:var(--accent-contrast)}.button--block{width:100%}.button .material-icons{font-size:17px}.button:disabled,button:disabled{opacity:.45;cursor:not-allowed}.app__icon-button{border:1px solid var(--border);background:var(--surface);width:34px;height:34px;color:var(--text-dim);cursor:pointer;border-radius:7px;place-items:center;padding:0;transition:background-color .12s,color .12s;display:grid}.app__icon-button:hover{background:var(--surface-3);color:var(--text)}.app__icon-button .material-icons{font-size:19px}.app__field{align-items:center;gap:7px;display:flex}.app__field-label{color:var(--text-dim);white-space:nowrap;font-size:13px}.app__select{border:1px solid var(--border);background:var(--surface);max-width:170px;height:34px;color:var(--text);font:inherit;field-sizing:content;cursor:pointer;border-radius:7px;padding:0 8px;font-family:Hind,Mukta,sans-serif;font-size:13px}.app__select:hover{background:var(--surface-3)}.app__select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.app__select option{background:var(--surface);color:var(--text)}.segmented{--seg-gap:3px;--seg-pad:3px;gap:var(--seg-gap);padding:var(--seg-pad);background:var(--surface-2);border:1px solid var(--border);border-radius:9px;display:flex}.segmented button{height:28px;color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13px;transition:background-color .12s,color .12s;display:flex}.segmented button:hover:not(:disabled){color:var(--text)}.segmented button.is-active{background:var(--accent-tint);color:var(--accent-strong);font-weight:600}.segmented button:disabled{opacity:.5;cursor:not-allowed}.segmented--compact{--seg-pad:2px;border-radius:8px}.segmented--compact button{flex:none;min-width:34px;height:28px;padding:0 8px;font-size:12px;font-weight:600}.segmented--slide{grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:relative}.segmented--slide:before{content:"";z-index:0;top:var(--seg-pad);bottom:var(--seg-pad);left:var(--seg-pad);width:calc((100% - 2 * var(--seg-pad) - (var(--seg-count,1) - 1) * var(--seg-gap)) / var(--seg-count,1));background:var(--accent-tint);transform:translateX(calc(var(--seg-index,0) * (100% + var(--seg-gap))));border-radius:6px;transition:transform .34s cubic-bezier(.34,1.32,.46,1);position:absolute}.segmented--slide button{z-index:1;transition:color .24s;position:relative}.segmented--slide button.is-active{background:0 0}.segmented--slide .flag{opacity:.6;transition:transform .34s cubic-bezier(.34,1.32,.46,1),opacity .24s;transform:scale(.88)}.segmented--slide button.is-active .flag{opacity:1;transform:scale(1)}@media (prefers-reduced-motion:reduce){.segmented--slide:before,.segmented--slide .flag,.segmented--slide button{transition-duration:1ms}}.app__practice{grid-template-columns:clamp(190px,17vw,236px) minmax(0,1fr) clamp(190px,17vw,236px);gap:clamp(12px,1.6vw,22px);min-height:0;padding:clamp(10px,1.6vh,18px) clamp(12px,2.5vw,26px);display:grid}.hud{flex-direction:column;gap:10px;min-height:0;display:flex;overflow:hidden auto}.hud__lesson{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:11px 13px}.hud__lesson-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.hud__shuffle{width:22px;height:22px;color:var(--text-faint);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;margin:-3px -3px -3px 0;padding:0;transition:background-color .12s,color .12s;display:grid}.hud__shuffle:hover{background:var(--surface-3);color:var(--text)}.hud__shuffle .material-icons{font-size:16px}.hud__label{letter-spacing:.09em;text-transform:uppercase;color:var(--text-faint);font-size:10px;font-weight:600;display:block}.hud__lesson strong{text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-family:Hind,Mukta,sans-serif;font-size:16px;font-weight:600;display:block;overflow:hidden}.hud__tiles{flex-direction:column;gap:8px;display:flex}.hud__tile{background:var(--surface);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:baseline;gap:8px;padding:10px 13px;display:flex}.hud__tile-value{font-variant-numeric:tabular-nums;font-size:clamp(20px,2.6vh,26px);font-weight:600;line-height:1.1}.hud__tile-unit{color:var(--text-faint);margin-left:3px;font-size:12px;font-weight:400}.hud__tile-label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-dim);font-size:11px}.hud__tile.is-miss .hud__tile-value{color:var(--danger)}.hud__best{background:var(--surface-2);border:1px solid var(--border);color:var(--text-dim);border-radius:10px;justify-content:space-between;gap:8px;padding:9px 13px;font-size:12px;display:flex}.hud__best b{color:var(--text);font-variant-numeric:tabular-nums}.hud__legend{color:var(--text-faint);margin:auto 0 0;padding-top:4px;font-size:11px;line-height:1.55}.stage{grid-template-rows:minmax(0,1fr) auto auto;gap:clamp(8px,1.3vh,16px);min-height:0;display:grid}.stage__text{place-items:stretch center;min-height:0;display:grid;overflow:hidden}.app__panel{flex-direction:column;min-height:0;display:flex}.app__panel-content{flex:auto;min-height:0;padding:clamp(14px,2vh,24px) clamp(12px,2.5vw,26px) 24px;overflow-y:auto}.app__panel-content>*{width:min(1120px,100%);margin:0 auto}.app__toast{background:var(--surface);border:1px solid var(--border-strong);color:var(--text);text-align:center;box-shadow:var(--shadow-2);z-index:40;border-radius:18px;flex-direction:column;align-items:center;gap:3px;padding:10px 18px;font-size:13px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.app__toast-badge{color:var(--accent-strong);font-size:12.5px;display:block}@media (width>=861px) and (width<=1650px){.app__header{flex-wrap:wrap;height:auto;padding-top:8px;padding-bottom:8px}.app__nav{order:3;justify-content:center;width:100%;margin-left:0}}@media (width<=860px){.app{height:auto;min-height:100dvh;overflow:visible}.app__header{flex-wrap:wrap;height:auto;padding:10px clamp(12px,2.5vw,26px)}.app__nav{order:3;width:100%;margin-left:0}.app__nav button{flex:1}.app__practice{grid-template-columns:minmax(0,1fr)}.hud__tiles{flex-direction:row}.hud__tile{flex-direction:column;flex:1;align-items:flex-start;gap:2px}.hud__legend,.hud__best{display:none}}@media (width<=1750px){.app__field-label{display:none}}.flag{width:auto;height:1.05em;filter:drop-shadow(0 0 .5px var(--border-strong));border-radius:1px;flex:none}.flag--nepal{border-radius:0;height:1.2em}.flag--us{outline:1px solid var(--border);outline-offset:-.5px;height:.85em}
