.aic-chip{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 9px;border-radius:99px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);font-size:12px;font-weight:750;white-space:nowrap;text-decoration:none;line-height:1}.aic-chip svg{flex:none;opacity:.8}.aic-chip[data-tone=free]{background:var(--success-soft);border-color:transparent;color:var(--success)}.aic-chip[data-tone=danger]{background:var(--danger-soft);border-color:transparent;color:var(--danger)}a.aic-chip:hover{filter:brightness(.97)}a.aic-chip:focus-visible{outline:none;box-shadow:var(--focus-ring)}.aic-inline{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12.5px;color:var(--text-2)}.aic-inline svg{color:var(--danger);flex:none}.aic-notice{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border-radius:16px;background:var(--danger-soft);border:1px solid color-mix(in srgb,var(--danger) 25%,transparent)}.aic-notice-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:var(--surface);color:var(--danger)}.aic-notice strong{display:block;font-size:13.5px}.aic-notice small{display:block;color:var(--text-2);font-size:12.5px}.aic-notice .ui-btn{min-height:40px}@media (max-width:420px){.aic-notice{grid-template-columns:auto minmax(0,1fr)}.aic-notice .ui-btn{grid-column:1/-1}}.rd{display:grid;gap:8px;padding:10px 10px 8px}.rd-head{display:flex;align-items:center;gap:8px;min-height:30px;padding:0 4px}.rd-head>:first-child{flex:1;min-width:0}.rd-line{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0;color:var(--text-2);font-size:13px;font-weight:650;line-height:1.7;animation:rd-in var(--dur) var(--ease)}.rd-line[data-muted]{color:var(--muted);font-weight:550;animation:none}.rd-line[data-tone=danger]{color:var(--danger)}.rd-line[data-tone=info]{color:var(--accent-ink)}.rd-line svg{flex:none}.rd-line .ui-link{display:inline-flex;align-items:center;gap:4px;min-height:32px;font-size:12.5px;font-weight:800}.rd-notice{padding:2px 10px;border-radius:12px;color:var(--accent-ink);background:color-mix(in srgb,var(--accent) 12%,transparent)}.rd-notice bdi{font-family:var(--font-latin)}.rd-heard{color:var(--danger)}.rd-words{display:inline-flex;flex-wrap:wrap;gap:4px;direction:ltr}.rd-words i{padding:0 7px;border-radius:8px;font-family:var(--font-latin);font-size:13.5px;font-style:normal;font-weight:700;color:var(--success);background:var(--success-soft)}.rd-words i[data-status=close]{color:var(--warning);background:var(--warning-soft)}.rd-words i[data-status=missing],.rd-words i[data-status=wrong]{color:var(--danger);background:var(--danger-soft)}.rd-words i[data-status=missing]{text-decoration:line-through;opacity:.8}.rd-counter{flex:none;gap:8px;color:var(--muted);font-size:11.5px;font-weight:700}.rd-counter,.rd-counter span{display:inline-flex;align-items:center}.rd-counter span{gap:3px}.rd-counter b{color:var(--text-2);font-weight:800}@keyframes rd-in{0%{opacity:0;transform:translateY(3px)}}.ls{position:relative;container-type:inline-size;padding:6px 2px 4px;cursor:text;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.ls-input{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;font-size:16px;color:transparent;background:transparent;caret-color:transparent;pointer-events:none;z-index:-1}.ls-row{--gap:clamp(3px,1.2cqw,6px);--slot:clamp(20px,calc((100cqw - (var(--n) - 1) * var(--gap)) / var(--n)),48px);display:flex;flex-wrap:wrap;justify-content:center;gap:10px calc(var(--slot) * .5);direction:ltr}.ls-row,.ls-word{align-items:flex-end}.ls-word{display:inline-flex;gap:var(--gap);white-space:nowrap}.ls-sep{display:inline-grid;place-items:center;min-width:calc(var(--slot) * .4);height:calc(var(--slot) * 1.22);color:var(--muted);font-size:calc(var(--slot) * .6);font-weight:700}.ls-sep,.ls-slot{font-family:var(--font-latin)}.ls-slot{--c:var(--border-strong);position:relative;display:grid;place-items:center;width:var(--slot);height:calc(var(--slot) * 1.22);border-radius:calc(var(--slot) * .24);border:solid color-mix(in srgb,var(--c) 70%,transparent);border-width:1.5px 1.5px 3px;background:var(--surface);color:var(--text);font-size:calc(var(--slot) * .62);font-weight:650;line-height:1;transition:border-color var(--dur-fast),background var(--dur-fast),color var(--dur-fast),transform var(--dur-fast) var(--ease)}.ls-slot b{font-weight:inherit}.ls-slot[data-state=empty]{background:var(--surface-2);border-style:solid}.ls-slot[data-state=filled]{--c:var(--text-2)}.ls-slot[data-state=composing]{--c:var(--brand);color:var(--text-2);border-bottom-style:dashed}.ls-slot[data-state=correct]{--c:var(--success);color:var(--success);background:var(--success-soft)}.ls-slot[data-state=hint]{--c:var(--accent);color:var(--accent-ink);background:var(--accent-soft)}.ls-slot[data-state=revealed]{--c:var(--border-strong);color:var(--text-2);background:var(--surface-2)}.ls-slot[data-state=wrong]{--c:var(--danger);color:var(--danger);background:var(--danger-soft);animation:ls-shake .42s var(--ease)}.ls-slot[data-cursor]{--c:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 22%,transparent)}.ls-end:after,.ls-slot[data-cursor][data-state=empty]:after{content:"";position:absolute;left:50%;bottom:22%;width:2px;height:46%;border-radius:1px;background:var(--brand);transform:translateX(-50%);animation:ls-caret 1.05s steps(1) infinite}.ls-end{position:relative;display:inline-block;width:4px}.ls-slot[data-pop]{animation:ls-pop .52s var(--ease-spring)}.ls-lock{position:absolute;top:-6px;right:-5px;display:grid;place-items:center;width:15px;height:15px;border-radius:50%;color:#fff;background:var(--c);box-shadow:0 0 0 2px var(--surface)}.ls[data-busy] .ls-slot[data-state=filled]{animation:ls-wait .9s var(--ease) infinite alternate;animation-delay:calc(var(--i) * 40ms)}.ls[data-done]{cursor:default}.ls[data-done] .ls-slot[data-state=correct]{animation:ls-win .52s var(--ease-spring) both;animation-delay:calc(var(--i) * 28ms)}@keyframes ls-shake{0%,to{transform:translateX(0)}20%{transform:translateX(-4px)}40%{transform:translateX(4px)}60%{transform:translateX(-3px)}80%{transform:translateX(2px)}}@keyframes ls-caret{50%{opacity:0}}@keyframes ls-pop{0%{transform:scale(.6)}60%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes ls-wait{to{opacity:.55}}@keyframes ls-win{0%{transform:translateY(0)}40%{transform:translateY(-5px)}to{transform:translateY(0)}}.rd-tools{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px}.rd-side{display:flex;align-items:center;gap:6px;min-width:0}.rd-side-end{justify-content:flex-end;flex-wrap:wrap;row-gap:2px}.rd-tool{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 14px;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-size:13.5px;font-weight:800;white-space:nowrap;transition:color var(--dur-fast),border-color var(--dur-fast),background var(--dur-fast),transform var(--dur-fast) var(--ease)}.rd-tool:hover:not(:disabled){color:var(--brand);border-color:var(--brand)}.rd-tool:active:not(:disabled){transform:scale(.96)}.rd-continue:focus-visible,.rd-manual button:focus-visible,.rd-reveal:focus-visible,.rd-tool:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.rd-tool:disabled{opacity:.45;cursor:not-allowed}.rd-tool[aria-pressed=true]{color:var(--brand-ink);background:var(--brand-soft);border-color:color-mix(in srgb,var(--brand) 45%,transparent)}.rd-tool svg{color:var(--accent-ink)}.rd-tool[data-warn] svg{color:var(--danger)}.rd-tool-icon{width:44px;padding:0}.rd-tool-icon svg{color:currentColor}.rd-jcuken{font-family:var(--font-latin);font-size:13px;font-weight:800;letter-spacing:.02em}.rd-badge{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:99px;color:var(--accent-ink);background:var(--accent-soft);font-size:11px}.rd-reveal .ui-kbd,.rd-tool .ui-kbd{position:absolute;top:-8px;inset-inline-end:-4px;min-width:18px;height:18px;font-size:10px}.rd-check{color:var(--on-brand);background:var(--brand);border-color:transparent}.rd-check svg{color:currentColor}.rd-check:hover:not(:disabled){color:#fff;filter:brightness(1.07)}.rd-check:disabled{color:var(--muted);background:var(--surface-2);border-color:var(--border);opacity:1}.rd-reveal{position:relative;display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:0 8px;color:var(--muted);font-size:13px;font-weight:750;text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);text-underline-offset:4px}.rd-reveal:hover{color:var(--text)}.rd-mic{place-items:center}.rd-mic,.rm{display:grid}.rm{position:relative;place-items:center;width:64px;height:64px}.rm-halo{position:absolute;inset:0;border-radius:50%;background:color-mix(in srgb,var(--danger) 22%,transparent);transform:scale(calc(.8 + var(--level, 0) * .45));opacity:0;transition:transform 90ms linear,opacity var(--dur-fast)}.rm[data-phase=recording] .rm-halo{opacity:1}.rm-ring{position:absolute;inset:-3px;width:calc(100% + 6px);height:calc(100% + 6px);transform:rotate(-90deg);pointer-events:none}.rm-ring circle{fill:none;stroke:var(--danger);stroke-width:3.5;stroke-linecap:round;stroke-dasharray:100;transition:stroke-dashoffset .12s linear}.rm-btn{position:relative;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;color:#fff;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--danger) 70%,#fff),var(--danger) 62%);box-shadow:0 10px 22px -12px var(--danger),inset 0 -3px 0 color-mix(in srgb,#000 12%,transparent);touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;transition:transform var(--dur) var(--ease-spring),background var(--dur-fast),box-shadow var(--dur-fast)}.rm-btn:active{transform:scale(.93)}.rm-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--surface),0 0 0 6px color-mix(in srgb,var(--danger) 55%,transparent)}.rm-btn:disabled{background:var(--surface-3);color:var(--muted);box-shadow:none;cursor:not-allowed}.rm[data-phase=recording] .rm-btn{transform:scale(1.06)}.rm[data-held] .rm-btn{transform:scale(1.14)}.rm[data-cancel] .rm-btn{background:var(--text-2)}.rm[data-phase=requesting] .rm-btn,.rm[data-phase=scoring] .rm-btn,.rm[data-phase=uploading] .rm-btn{color:var(--on-brand);background:var(--brand)}.rm-status{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;color:var(--text-2);font-size:13px;line-height:1.6;animation:rd-in var(--dur) var(--ease)}.rm-status strong{font-weight:800}.rm-status small{color:var(--muted);font-size:12px}.rm-status[data-phase=error],.rm-status[data-phase=recording] strong{color:var(--danger)}.rm-status[data-phase=error] .ui-link{font-weight:800}.rm-dot{width:8px;height:8px;border-radius:50%;background:var(--danger);animation:rm-blink 1s ease-in-out infinite}@keyframes rm-blink{50%{opacity:.3}}.rm-meter{display:inline-flex;align-items:center;gap:2px;height:20px;direction:ltr}.rm-meter i{width:3px;height:calc(var(--h, .2) * 100%);min-height:3px;border-radius:2px;background:var(--danger);transition:height 70ms linear}.rm-time{color:var(--text-2);font-size:12.5px;font-weight:800;direction:ltr}.rm-time[data-low]{color:var(--danger)}.rm-cancel{display:inline-flex;align-items:center;gap:3px;min-height:32px;margin-inline-start:auto;font-size:12.5px}.rm-progress{position:relative;flex:0 1 110px;height:5px;border-radius:99px;background:var(--track);overflow:hidden}.rm-progress i{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,var(--brand),var(--success),var(--brand));background-size:200% 100%;animation:rm-shimmer 1.1s linear infinite}@keyframes rm-shimmer{to{background-position:-200% 0}}.rd-manual{display:grid;gap:4px;padding-top:6px;border-top:1px dashed var(--border);animation:rd-in var(--dur) var(--ease)}.rd-manual-note{padding:0 4px;color:var(--muted);font-size:11.5px;font-weight:700}.rd-manual-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.rd-manual[data-count="2"] .rd-manual-row{grid-template-columns:repeat(2,minmax(0,1fr))}.rd-manual button{--gc:var(--brand);position:relative;display:grid;justify-items:center;align-content:center;gap:0;min-height:44px;padding:3px 2px;border-radius:12px;border:1.5px solid transparent;color:var(--gc);background:color-mix(in srgb,var(--gc) 11%,var(--surface));font-size:13.5px;font-weight:800;transition:transform var(--dur-fast) var(--ease),border-color var(--dur-fast)}.rd-manual button[data-tone=danger]{--gc:var(--danger)}.rd-manual button[data-tone=warning]{--gc:var(--warning)}.rd-manual button[data-tone=success]{--gc:var(--success)}.rd-manual button:hover:not(:disabled){border-color:currentColor}.rd-manual button:active:not(:disabled){transform:scale(.96)}.rd-manual button:disabled{opacity:.5}.rd-manual button[data-suggested]{border-color:currentColor}.rd-manual small{color:color-mix(in srgb,var(--gc) 70%,var(--text-2));font-size:var(--fs-2xs);font-weight:650}.rd-manual .ui-kbd{position:absolute;top:4px;inset-inline-end:4px;min-width:16px;height:16px;font-size:9.5px}.rd-result{gap:6px}.rd-continue{--gc:var(--brand);display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;min-height:56px;padding:0 18px;border-radius:16px;color:#fff;background:linear-gradient(135deg,var(--gc),color-mix(in srgb,var(--gc) 72%,#000));box-shadow:0 12px 24px -16px var(--gc);font-size:16px;font-weight:850;text-align:start;transition:transform var(--dur-fast) var(--ease),filter var(--dur-fast);animation:rd-in var(--dur-slow) var(--ease)}.rd-continue[data-tone=success]{--gc:var(--success)}.rd-continue[data-tone=warning]{--gc:var(--warning)}.rd-continue[data-tone=danger]{--gc:var(--danger)}.rd-continue:hover:not(:disabled){filter:brightness(1.06)}.rd-continue:active:not(:disabled){transform:scale(.98)}.rd-continue-grade{padding:3px 10px;border-radius:99px;background:color-mix(in srgb,#fff 20%,transparent);font-size:12.5px;font-weight:750}.rd-continue .ui-kbd{color:inherit;background:color-mix(in srgb,#fff 16%,transparent);border-color:transparent}.rd-reveal-main{width:100%}.rr{--tone:var(--brand);display:grid;gap:6px;margin:14px 16px 0;padding:12px 14px;border-radius:18px;border:1.5px solid color-mix(in srgb,var(--tone) 32%,transparent);background:color-mix(in srgb,var(--tone) 7%,var(--surface));text-align:start;animation:rd-in var(--dur-slow) var(--ease)}.rr[data-tone=success]{--tone:var(--success)}.rr[data-tone=warning]{--tone:var(--warning)}.rr[data-tone=danger]{--tone:var(--danger)}.rr-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.rr-badge{align-items:center;height:32px;padding:0 12px;border-radius:99px;background:color-mix(in srgb,var(--tone) 15%,transparent);font-size:14.5px;font-weight:850}.rr-badge,.rr-grade{display:inline-flex;gap:6px;color:var(--tone)}.rr-grade{align-items:baseline;margin-inline-start:auto}.rr-grade small{color:var(--muted);font-size:12px;font-weight:700}.rr-grade b{font-size:20px;font-weight:900}.rr-reason{margin:0;color:var(--text);font-size:14.5px;font-weight:700}.rr-facts{display:flex;flex-wrap:wrap;gap:4px 12px;margin:0;color:var(--muted);font-size:12px}.rr-facts span{display:inline-flex;align-items:center;gap:3px}.rr-letters{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:3px;margin:2px 0 0;direction:ltr}.rr-l{display:grid;place-items:center;min-width:26px;height:32px;padding:0 4px;border-radius:8px;font-family:var(--font-latin);font-size:18px;font-weight:700;color:var(--success);background:var(--success-soft)}.rr-l[data-state=hint]{color:var(--accent-ink);background:var(--accent-soft)}.rr-l[data-state=revealed]{color:var(--text-2);background:var(--surface-2)}.rr-sep{width:10px}.rr-heard{margin:0;color:var(--text-2);font-size:13px}.rr-heard bdi{font-family:var(--font-latin)}.rc-gsteps{display:inline-flex;align-items:center;gap:8px;justify-self:center;padding:4px 12px 4px 6px;border-radius:99px;background:var(--brand-soft);color:var(--brand-ink);font-size:12.5px;font-weight:800}.rc-gsteps ol{display:inline-flex;gap:4px;margin:0;padding:0;list-style:none;direction:ltr}.rc-gsteps li{width:18px;height:6px;border-radius:99px;background:color-mix(in srgb,var(--brand) 22%,transparent)}.rc-gsteps li[data-state=done]{background:var(--brand)}.rc-gsteps li[data-state=current]{background:linear-gradient(90deg,var(--brand) 50%,color-mix(in srgb,var(--brand) 22%,transparent) 50%)}.rs-grades button .rs-grade-step{font-size:var(--fs-2xs);font-weight:700;opacity:.85}@media (max-width:560px){.rd{padding:8px 6px 6px;gap:6px}.rd-tool{min-height:44px;padding:0 10px;font-size:13px}.rd-hint .rd-tool-text{display:none}.rd-hint{width:48px;padding:0}.rd-hint .rd-badge{position:absolute;top:-6px;inset-inline-start:-4px}.rd-check{padding:0 12px}.rd-reveal{padding:0 4px;font-size:12.5px}.rm{width:68px;height:68px}.rm-btn{width:60px;height:60px}.rd-continue{min-height:54px;padding:0 14px;font-size:15px}.rr{margin:12px 12px 0}}@media (max-width:370px){.rd-check .rd-tool-text{display:none}.rd-check{width:44px;padding:0}}@media (max-height:500px) and (orientation:landscape){.rd-manual button{min-height:38px}.rm,.rm-btn{width:48px;height:48px}}@media (prefers-reduced-motion:reduce){.rd-continue,.rd-line,.rd-manual,.rm-status,.rr{animation:none}.ls-slot{transition:none}.ls-end:after,.ls-slot[data-cursor][data-state=empty]:after,.ls-slot[data-pop],.ls-slot[data-state=wrong],.ls[data-busy] .ls-slot[data-state=filled],.ls[data-done] .ls-slot[data-state=correct],.rm-dot,.rm-progress i{animation:none}.rm-btn,.rm-halo,.rm-meter i,.rm-ring circle{transition:none}.rm[data-held] .rm-btn,.rm[data-phase=recording] .rm-btn{transform:none}}