.okv2{--ink-0:#fff;--ink-50:#f5f5fa;--ink-100:#ececf4;--ink-200:#d7d7e5;--ink-300:#98a2b4;--ink-500:#657387;--ink-700:#4a5568;--ink-900:#2f3e4e;--lilac-50:#efebfc;--lilac-100:#e0d9f8;--lilac-300:#b3a7f0;--lilac-500:#8e7ee8;--lilac-700:#6a5cc8;--lilac-800:#3d2e80;--lilac-900:#1f1846;--mint-50:#e0f3f2;--mint-100:#c6e8e6;--mint-500:#7bcec9;--mint-700:#5ba8a3;--peach-50:#ffe8e1;--peach-100:#ffd3c6;--peach-500:#ffa99a;--peach-700:#e07762;--rose-50:#fce0e0;--rose-100:#f8c2c2;--rose-500:#e85a5a;--rose-700:#c04040;--gold-50:#fdf4d9;--gold-100:#fbe8a8;--gold-300:#e8c893;--gold-500:#e5b546;--gold-700:#b78b2a;--gold-900:#5c3a00;--sand-bg:#f5f5fa;--sand-surface:#fafafe;--sand-card:#fff;--sand-line:#ececf4;--sand-divider:#d7d7e5;--bg:var(--sand-bg);--surface:var(--sand-surface);--card:var(--sand-card);--line:var(--sand-line);--line-strong:var(--sand-divider);--ink:var(--ink-900);--ink-soft:var(--ink-500);--ink-mute:var(--ink-300);--ink-inverse:var(--ink-0);--color-brand:var(--lilac-500);--color-brand-deep:var(--lilac-700);--color-brand-soft:var(--lilac-50);--color-success:var(--mint-500);--color-success-deep:var(--mint-700);--color-success-soft:var(--mint-50);--color-warm:var(--peach-500);--color-warm-deep:var(--peach-700);--color-warm-soft:var(--peach-50);--color-error:var(--rose-500);--color-error-deep:var(--rose-700);--color-error-soft:var(--rose-50);--sh-xs:0 1px 2px #2f3e4e0a;--sh-sm:0 2px 8px #2f3e4e0d;--sh-md:0 8px 24px #2f3e4e14;--sh-lg:0 14px 40px #2f3e4e1f;--sh-brand:0 6px 20px #8e7ee852;--sh-warm:0 6px 20px #e0776247;--sh-focus:0 0 0 3px #8e7ee840;--r-xs:6px;--r-sm:10px;--r-md:14px;--r-lg:18px;--r-xl:24px;--r-full:999px;--font-display:"Plus Jakarta Sans", "Noto Sans SC", system-ui, -apple-system, sans-serif;--font-body:"Plus Jakarta Sans", "Noto Sans SC", system-ui, -apple-system, sans-serif;--font-jp:"Noto Serif JP", serif;--font-jp-sans:"Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans JP", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, monospace;--text-display-size:32px;--text-display-line:1.15;--text-h1-size:26px;--text-h1-line:1.22;--text-h2-size:20px;--text-h2-line:1.3;--text-h3-size:16px;--text-h3-line:1.4;--text-body-lg-size:15px;--text-body-lg-line:1.65;--text-body-size:14px;--text-body-line:1.55;--text-small-size:12.5px;--text-small-line:1.5;--text-caption-size:11.5px;--text-caption-line:1.4;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-extrabold:800;--dur-instant:80ms;--dur-fast:.16s;--dur-smooth:.24s;--dur-slow:.38s;--ease-standard:cubic-bezier(.4, 0, .2, 1);--ease-emphasized:cubic-bezier(.2, 0, 0, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-out-expo:cubic-bezier(.19, 1, .22, 1);--z-rail:40;--z-modal:60;--z-toast:80;--ok-content-max:1280px;--ok-rail-w:72px;--ok-skel-bg:linear-gradient(90deg, var(--sand-line) 0%, #2f3e4e14 50%, var(--sand-line) 100%);--ok-skel-anim:ok-skeleton-wave 1.4s linear infinite;--leaf:var(--color-brand);--leaf-deep:var(--color-brand-deep);--leaf-soft:var(--color-brand-soft);--coral:var(--color-warm);--coral-deep:var(--color-warm-deep);--coral-soft:var(--color-warm-soft);--gold:var(--color-warm);--gold-deep:var(--color-warm-deep);--gold-soft:var(--color-warm-soft);--rose:var(--color-error);--rose-deep:var(--color-error-deep);--rose-soft:var(--color-error-soft);--teal:var(--color-success);--teal-deep:var(--color-success-deep);--teal-soft:var(--color-success-soft);--stone:var(--ink-300);--stone-deep:var(--ink-500);--stone-soft:var(--sand-line);--card-ring:var(--line);--r-m:var(--r-md);--r-l:var(--r-lg);--sh-1:var(--sh-sm);--sh-2:var(--sh-md);font-family:var(--font-body);color:var(--ink);font-feature-settings:"ss01" on, "cv11" on}.okv2 .ok-shell-app,.okv2 .ok-shell-main,.okv2 .ok-shell-rail{background:var(--bg)}
.okv2 .ok-btn{--btn-h:40px;--btn-px:18px;--btn-r:var(--r-full);--btn-fs:14px;--btn-fw:var(--fw-semibold);height:var(--btn-h);padding:0 var(--btn-px);border-radius:var(--btn-r);font-family:var(--font-body);font-size:var(--btn-fs);font-weight:var(--btn-fw);letter-spacing:.01em;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid var(--line-strong);background:var(--card);color:var(--ink);box-shadow:var(--sh-xs);transition:background var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard), box-shadow var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard), transform var(--dur-instant) var(--ease-standard);justify-content:center;align-items:center;gap:8px;line-height:1;text-decoration:none;display:inline-flex}.okv2 .ok-btn:hover{background:var(--ink-50);border-color:var(--ink-300);box-shadow:var(--sh-sm);transform:translateY(-1px)}.okv2 .ok-btn:active{box-shadow:var(--sh-xs);transform:translateY(0)}.okv2 .ok-btn:focus-visible{box-shadow:var(--sh-focus);outline:none}.okv2 .ok-btn[disabled],.okv2 .ok-btn.is-disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.okv2 .ok-btn-primary{background:linear-gradient(135deg, var(--lilac-500), var(--lilac-700));color:var(--ink-0);border-color:var(--lilac-700);box-shadow:var(--sh-brand)}.okv2 .ok-btn-primary:hover{background:linear-gradient(135deg, var(--lilac-500), var(--lilac-700));border-color:var(--lilac-700);transform:translateY(-2px);box-shadow:0 10px 28px #8e7ee86b}.okv2 .ok-btn-primary:active{box-shadow:var(--sh-brand);transform:translateY(0)}.okv2 .ok-btn-warm{background:linear-gradient(135deg, var(--peach-500), var(--peach-700));color:var(--ink-0);border-color:var(--peach-700);box-shadow:var(--sh-warm)}.okv2 .ok-btn-warm:hover{background:linear-gradient(135deg, var(--peach-500), var(--peach-700));border-color:var(--peach-700);transform:translateY(-2px);box-shadow:0 10px 28px #e0776259}.okv2 .ok-btn-warm:active{box-shadow:var(--sh-warm);transform:translateY(0)}.okv2 .ok-btn-danger{background:var(--color-error);color:var(--ink-0);border-color:var(--color-error-deep);box-shadow:0 6px 20px #e85a5a47}.okv2 .ok-btn-danger:hover{background:var(--color-error-deep);transform:translateY(-2px);box-shadow:0 10px 28px #e85a5a59}.okv2 .ok-btn-outline{color:var(--ink);border-color:var(--line-strong);box-shadow:none;background:0 0}.okv2 .ok-btn-outline:hover{background:var(--card);border-color:var(--ink-300);box-shadow:var(--sh-xs)}.okv2 .ok-btn-ghost{color:var(--ink-soft);box-shadow:none;background:0 0;border-color:#0000}.okv2 .ok-btn-ghost:hover{background:var(--ink-50);color:var(--ink);box-shadow:none;border-color:#0000;transform:none}.okv2 .ok-btn-sm{--btn-h:32px;--btn-px:12px;--btn-fs:12.5px}.okv2 .ok-btn-lg{--btn-h:48px;--btn-px:24px;--btn-fs:15px}.okv2 .ok-btn .ic{flex:none;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.okv2 .ok-btn-sm .ic{width:14px;height:14px}.okv2 .ok-btn-lg .ic{width:18px;height:18px}.okv2 .ok-btn-block{width:100%}.okv2 .ok-back{background:var(--card);border:1px solid var(--line);color:var(--ink-soft);font-size:var(--text-small-size,13px);font-weight:var(--fw-semibold);border-radius:var(--r-full);cursor:pointer;transition:background var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard);align-items:center;gap:6px;padding:6px 12px 6px 10px;text-decoration:none;display:inline-flex}.okv2 .ok-back svg{flex:none;width:14px;height:14px}.okv2 .ok-back:hover{background:var(--color-brand-soft);color:var(--color-brand-deep);border-color:var(--color-brand)}.okv2 .ok-back:focus-visible{box-shadow:var(--sh-focus);outline:0}.okv2 .ok-back.is-float{z-index:10;-webkit-backdrop-filter:blur(8px);background:#ffffffb3;position:absolute;top:24px;left:24px}@media (max-width:600px){.okv2 .ok-back.is-float{min-height:44px;padding:0 14px 0 12px;top:16px;left:16px}}.okv2 .ok-chip{--chip-h:24px;--chip-px:10px;--chip-fs:11.5px;height:var(--chip-h);padding:0 var(--chip-px);border-radius:var(--r-full);background:var(--sand-line);color:var(--ink-soft);font-family:var(--font-body);font-size:var(--chip-fs);font-weight:var(--fw-bold);letter-spacing:.02em;white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;line-height:1;display:inline-flex}.okv2 .ok-chip-brand{background:var(--color-brand-soft);color:var(--color-brand-deep)}.okv2 .ok-chip-success{background:var(--color-success-soft);color:var(--color-success-deep)}.okv2 .ok-chip-warm{background:var(--color-warm-soft);color:var(--color-warm-deep)}.okv2 .ok-chip-error{background:var(--color-error-soft);color:var(--color-error-deep)}.okv2 .ok-chip-outline{color:var(--ink-soft);border-color:var(--line-strong);background:0 0}.okv2 .ok-chip .dot{background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.okv2 .ok-chip-sm{--chip-h:20px;--chip-px:8px;--chip-fs:10.5px;gap:4px}.okv2 .ok-chip .remove{color:currentColor;cursor:pointer;opacity:.6;width:14px;height:14px;transition:opacity var(--dur-fast) var(--ease-standard), background var(--dur-fast) var(--ease-standard);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;margin-right:-2px;font-size:14px;line-height:1;display:inline-flex}.okv2 .ok-chip .remove:hover{opacity:1;background:#0000000f}.okv2 .ok-badge{border-radius:var(--r-full);background:var(--color-error);min-width:18px;height:18px;color:var(--ink-0);font-family:var(--font-body);font-size:10.5px;font-weight:var(--fw-bold);letter-spacing:.02em;border:2px solid var(--card);justify-content:center;align-items:center;padding:0 5px;line-height:1;display:inline-flex}.okv2 .ok-badge-brand{background:var(--color-brand)}.okv2 .ok-badge-warm{background:var(--color-warm)}.okv2 .ok-badge-success{background:var(--color-success)}.okv2 .ok-badge-dot{width:10px;min-width:10px;height:10px;padding:0}.okv2 .ok-badge-pulse{position:relative}.okv2 .ok-badge-pulse:after{content:"";border-radius:var(--r-full);background:inherit;opacity:.55;animation:ok-badge-pulse 1.6s var(--ease-out-expo) infinite;z-index:-1;position:absolute;inset:-2px}@keyframes ok-badge-pulse{0%{opacity:.5;transform:scale(1)}70%{opacity:0;transform:scale(1.8)}to{opacity:0;transform:scale(1)}}.okv2 .ok-badge-anchor{z-index:1;position:absolute;top:-6px;right:-6px}.okv2 .ok-avatar{--av-size:40px;--av-fs:14px;--av-ring:2px;width:var(--av-size);height:var(--av-size);background:var(--ink-100);color:var(--ink-700);font-family:var(--font-jp);font-size:var(--av-fs);font-weight:var(--fw-bold);border:var(--av-ring) solid var(--card);box-shadow:var(--sh-xs);-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex;position:relative;overflow:visible}.okv2 .ok-avatar img,.okv2 .ok-avatar svg{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.okv2 .ok-avatar-brand{background:var(--color-brand-soft);color:var(--color-brand-deep)}.okv2 .ok-avatar-success{background:var(--color-success-soft);color:var(--color-success-deep)}.okv2 .ok-avatar-warm{background:var(--color-warm-soft);color:var(--color-warm-deep)}.okv2 .ok-avatar-error{background:var(--color-error-soft);color:var(--color-error-deep)}.okv2 .ok-avatar-ink{background:var(--ink-900);color:var(--ink-0)}.okv2 .ok-avatar-solid-brand{background:linear-gradient(135deg, var(--lilac-500), var(--lilac-700));color:var(--ink-0);box-shadow:var(--sh-brand)}.okv2 .ok-avatar-solid-warm{background:linear-gradient(135deg, var(--peach-500), var(--peach-700));color:var(--ink-0);box-shadow:var(--sh-warm)}.okv2 .ok-avatar-xs{--av-size:24px;--av-fs:10px;--av-ring:1.5px}.okv2 .ok-avatar-sm{--av-size:32px;--av-fs:12px}.okv2 .ok-avatar-lg{--av-size:56px;--av-fs:20px}.okv2 .ok-avatar-xl{--av-size:72px;--av-fs:26px;--av-ring:3px}.okv2 .ok-avatar .indicator{background:var(--color-success);border:2px solid var(--card);border-radius:50%;width:25%;min-width:8px;height:25%;min-height:8px;position:absolute;bottom:2px;right:2px}.okv2 .ok-avatar .indicator.offline{background:var(--ink-300)}.okv2 .ok-avatar .indicator.busy{background:var(--color-error)}.okv2 .ok-avatar-group{align-items:center;display:inline-flex}.okv2 .ok-avatar-group .ok-avatar+.ok-avatar{margin-left:-10px}.okv2 .ok-avatar-group .ok-avatar-xs+.ok-avatar-xs{margin-left:-6px}.okv2 .ok-avatar-group .ok-avatar-sm+.ok-avatar-sm{margin-left:-8px}.okv2 .ok-toggle-chip{background:var(--card);border:1px solid var(--line);border-radius:var(--r-full);color:var(--ink-soft);font-family:var(--font-body);font-size:12.5px;font-weight:var(--fw-semibold);letter-spacing:.01em;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard);align-items:center;gap:6px;padding:6px 12px;line-height:1.2;text-decoration:none;display:inline-flex}.okv2 .ok-toggle-chip:hover{background:var(--ink-50);color:var(--ink);border-color:var(--line-strong)}.okv2 .ok-toggle-chip[aria-pressed=true]{background:var(--color-brand-soft);color:var(--color-brand-deep);border-color:var(--color-brand)}.okv2 .ok-toggle-chip svg{stroke:currentColor;stroke-width:1.8px;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:none;width:15px;height:15px}.okv2 .ok-toggle-chip.is-action{background:var(--color-brand);border-color:var(--color-brand);color:var(--ink-0)}.okv2 .ok-toggle-chip.is-action:hover{background:var(--color-brand-deep);border-color:var(--color-brand-deep);color:var(--ink-0)}.okv2 .ok-toggle-chip.is-action svg path[fill=currentColor]{fill:currentColor}.okv2 .ok-toggle-chip:disabled,.okv2 .ok-toggle-chip[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}.okv2 .ok-audio-btn,.okv2 .autoplay-icon-btn{background:var(--color-brand-soft);color:var(--color-brand-deep);cursor:pointer;transition:background var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard), transform var(--dur-fast) var(--ease-standard), box-shadow var(--dur-fast) var(--ease-standard);border:none;border-radius:50%;flex-shrink:0;place-items:center;padding:0;display:inline-grid}.okv2 .ok-audio-btn:hover,.okv2 .autoplay-icon-btn:hover{background:var(--color-brand);color:var(--ink-0);transform:scale(1.05)}.okv2 .ok-audio-btn:active,.okv2 .autoplay-icon-btn:active{transform:scale(.97)}.okv2 .ok-audio-btn svg,.okv2 .autoplay-icon-btn svg{fill:currentColor;stroke:none}.okv2 .ok-audio-btn-sm{width:28px;height:28px}.okv2 .ok-audio-btn-sm svg{width:11px;height:11px}.okv2 .ok-audio-btn-md,.okv2 .autoplay-icon-btn{width:34px;height:34px}.okv2 .ok-audio-btn-md svg,.okv2 .autoplay-icon-btn svg{width:13px;height:13px}.okv2 .ok-audio-btn-lg{width:44px;height:44px}.okv2 .ok-audio-btn-lg svg{width:16px;height:16px}.okv2 .ok-audio-btn-solid{background:var(--color-brand);color:var(--ink-0)}.okv2 .ok-audio-btn-solid:hover{background:var(--color-brand-deep);color:var(--ink-0)}.okv2 .ok-audio-btn-ghost{color:var(--ink-soft);background:0 0}.okv2 .ok-audio-btn-ghost:hover{background:var(--color-brand-soft);color:var(--color-brand-deep)}.okv2 .ok-audio-btn.is-playing,.okv2 .autoplay-icon-btn.is-playing{background:var(--color-brand);color:var(--ink-0);animation:1.4s ease-in-out infinite ok-audio-pulse;transform:none}.okv2 .ok-audio-btn.is-playing:hover,.okv2 .autoplay-icon-btn.is-playing:hover{background:var(--color-brand-deep);transform:none}@keyframes ok-audio-pulse{0%,to{box-shadow:0 0 #8e7ee873}50%{box-shadow:0 0 0 8px #8e7ee800}}.okv2 .ok-audio-btn.is-loading{background:var(--color-brand-soft);pointer-events:none;position:relative;color:#0000!important}.okv2 .ok-audio-btn.is-loading:after{content:"";border:1.5px solid var(--color-brand-deep);border-right-color:#0000;border-radius:50%;width:55%;height:55%;animation:.7s linear infinite ok-audio-spin;position:absolute}@keyframes ok-audio-spin{to{transform:rotate(360deg)}}.okv2 .ok-audio-btn:disabled,.okv2 .ok-audio-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}.okv2 .ok-switch{background:var(--sand-line);border-radius:var(--r-full);cursor:pointer;width:44px;height:24px;transition:background var(--dur-fast) var(--ease-standard);border:0;flex-shrink:0;padding:2px;position:relative}.okv2 .ok-switch:focus-visible{box-shadow:var(--sh-focus);outline:0}.okv2 .ok-switch.is-on{background:var(--color-brand)}.okv2 .ok-switch:disabled{opacity:.5;cursor:not-allowed}.okv2 .ok-switch-thumb{background:var(--card);width:20px;height:20px;transition:transform var(--dur-fast) var(--ease-standard);border-radius:50%;display:block;transform:translate(0);box-shadow:0 1px 3px #0003}.okv2 .ok-switch.is-on .ok-switch-thumb{transform:translate(20px)}.okv2 .ok-otp{justify-content:center;gap:8px;display:flex}.okv2 .ok-otp-cell{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-md);width:44px;height:52px;font-size:22px;font-weight:var(--fw-bold);color:var(--ink);text-align:center;font-family:var(--font-mono);transition:all var(--dur-fast) var(--ease-standard)}.okv2 .ok-otp-cell:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px var(--color-brand-soft);outline:0}.okv2 .ok-otp-cell.is-filled{background:var(--color-brand-soft);border-color:var(--color-brand-deep);color:var(--color-brand-deep)}.okv2 .ok-otp-cell.is-error{border-color:var(--color-error,#d44a4a);background:var(--color-error-soft,#d44a4a0d);color:var(--color-error-deep,#b03838);animation:ok-otp-shake .36s var(--ease-standard)}@keyframes ok-otp-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.okv2 .ok-segment{background:var(--sand-line);border-radius:var(--r-full);gap:2px;padding:3px;display:inline-flex}.okv2 .ok-segment-btn{color:var(--ink-soft);font-size:12.5px;font-weight:var(--fw-semibold);cursor:pointer;border-radius:var(--r-full);transition:all var(--dur-fast) var(--ease-standard);white-space:nowrap;background:0 0;border:0;padding:6px 14px;font-family:inherit;line-height:1.4}.okv2 .ok-segment-btn:hover:not(.is-current){color:var(--ink)}.okv2 .ok-segment-btn.is-current{background:var(--card);color:var(--ink);box-shadow:var(--sh-xs)}.okv2 .ok-tabs{align-items:center;gap:8px;margin:0 0 32px;display:flex}.okv2 .ok-tab{color:var(--ink-mute);font-size:16px;font-weight:var(--fw-semibold);cursor:pointer;border-radius:var(--r-full);white-space:nowrap;transition:all var(--dur-fast) var(--ease-standard);background:0 0;border:0;flex:none;padding:14px 32px;font-family:inherit;line-height:1.4;position:relative}.okv2 .ok-tab:hover:not(.is-current){color:var(--ink);background:var(--sand-line)}.okv2 .ok-tab.is-current{color:#fff;background:var(--color-brand-deep);font-weight:var(--fw-bold);box-shadow:0 6px 16px -4px #624fbf66}.okv2 .ok-stepper{align-items:center;gap:0;display:flex}.okv2 .ok-stepper-step{cursor:pointer;font-family:inherit;font-size:13px;font-weight:var(--fw-semibold);color:var(--ink-mute);transition:color var(--dur-fast) var(--ease-standard);white-space:nowrap;background:0 0;border:0;align-items:center;gap:8px;padding:6px 10px;display:inline-flex}.okv2 .ok-stepper-step .num{border:1.5px solid var(--line);background:var(--card);width:22px;height:22px;color:var(--ink-mute);font-size:11px;font-weight:var(--fw-bold);transition:all var(--dur-fast) var(--ease-standard);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.okv2 .ok-stepper-step.is-done{color:var(--color-success-deep)}.okv2 .ok-stepper-step.is-done .num{background:var(--color-success-deep);border-color:var(--color-success-deep);color:#fff}.okv2 .ok-stepper-step.is-current{color:var(--color-brand-deep)}.okv2 .ok-stepper-step.is-current .num{background:var(--color-brand-deep);border-color:var(--color-brand-deep);color:#fff;box-shadow:0 0 0 4px #624fbf1f}.okv2 .ok-stepper-line{background:var(--line);flex:none;width:32px;height:1.5px}.okv2 .ok-stepper-line.is-done{background:var(--color-success-deep)}.okv2 .ok-choice{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r-md);cursor:pointer;transition:all var(--dur-fast) var(--ease-standard);text-align:left;color:inherit;align-items:center;gap:14px;width:100%;padding:14px 18px;font-family:inherit;display:flex}.okv2 .ok-choice:hover{border-color:var(--ink-soft);background:var(--card)}.okv2 .ok-choice.is-selected{border-color:var(--color-brand-deep);background:var(--color-brand-soft);box-shadow:0 0 0 2px #624fbf26}.okv2 .ok-choice-num{background:var(--sand-line);width:28px;height:28px;color:var(--ink-soft);font-size:13px;font-weight:var(--fw-bold);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.okv2 .ok-choice.is-selected .ok-choice-num{background:var(--color-brand-deep);color:#fff}.okv2 .ok-choice-text{color:var(--ink);font-size:16px}.okv2 .ok-choice.is-num-only{justify-content:center;gap:0;padding:16px 12px}.okv2 .ok-choice.is-num-only .ok-choice-num{width:36px;height:36px;font-size:16px}.okv2 .ok-choice.is-correct,.okv2 .ok-choice.is-correct.is-selected{border-color:var(--color-success-deep);background:var(--color-success-soft);cursor:default;box-shadow:0 0 0 2px #4caf5026}.okv2 .ok-choice.is-correct .ok-choice-num{background:var(--color-success-deep);color:#fff}.okv2 .ok-choice.is-wrong,.okv2 .ok-choice.is-wrong.is-selected{border-color:var(--color-warm-deep);background:var(--color-warm-soft);cursor:default;box-shadow:0 0 0 2px #e0776226}.okv2 .ok-choice.is-wrong .ok-choice-num{background:var(--color-warm-deep);color:#fff}.okv2 .ok-choice-tag{font-size:11px;font-weight:var(--fw-bold);letter-spacing:.04em;border-radius:var(--r-full);flex:none;margin-left:auto;padding:2px 8px}.okv2 .ok-choice.is-correct .ok-choice-tag{background:var(--color-success-deep);color:#fff}.okv2 .ok-choice.is-wrong .ok-choice-tag{background:var(--color-warm-deep);color:#fff}.okv2 .ok-score-bar{grid-template-columns:110px 1fr 90px;align-items:center;gap:14px;padding:10px 0;display:grid}.okv2 .ok-score-bar-label{font-size:13.5px;font-weight:var(--fw-semibold);color:var(--ink)}.okv2 .ok-score-bar-track{background:var(--sand-line);border-radius:var(--r-full);height:8px;position:relative;overflow:hidden}.okv2 .ok-score-bar-fill{background:var(--color-brand-deep);border-radius:var(--r-full);height:100%;transition:width .4s}.okv2 .ok-score-bar-fill.is-ok{background:var(--color-success-deep)}.okv2 .ok-score-bar-fill.is-warn{background:var(--color-warm-deep)}.okv2 .ok-score-bar-fill.is-mute{background:var(--ink-mute)}.okv2 .ok-score-bar-value{text-align:right;color:var(--ink-soft);font-size:13px;font-family:var(--font-mono);letter-spacing:.02em}.okv2 .ok-score-bar-value b{color:var(--ink);font-weight:var(--fw-bold)}.okv2 .ok-num-badge{background:var(--ink);color:#fff;border-radius:var(--r-sm);min-width:36px;height:28px;font-size:12px;font-weight:var(--fw-bold);font-family:var(--font-mono);flex:none;justify-content:center;align-items:center;padding:0 10px;display:inline-flex}.okv2 .ok-num-badge.is-soft{background:var(--sand-line);color:var(--ink-soft)}.okv2 .ok-num-badge.is-brand{background:var(--color-brand-deep);color:#fff}.okv2 .ok-passage{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);color:var(--ink);margin:0 0 24px;padding:22px 26px;font-family:Hiragino Kaku Gothic ProN,Yu Gothic,Noto Sans JP,sans-serif;font-size:14.5px;line-height:1.85}.okv2 .ok-passage p{margin:0 0 14px}.okv2 .ok-passage p:last-child{margin-bottom:0}.okv2 .ok-passage-title{font-family:var(--font-body);font-size:12px;font-weight:var(--fw-bold);color:var(--ink-mute);letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px}.okv2 .ok-passage-source{border-top:1px solid var(--line);color:var(--ink-mute);text-align:right;font-size:12px;font-family:var(--font-body);margin-top:16px;padding-top:12px}.okv2 .ok-audio-player{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);align-items:center;gap:16px;margin:0 0 24px;padding:16px 20px;display:flex}.okv2 .ok-audio-player-btn{background:var(--color-brand-deep);color:#fff;cursor:pointer;width:44px;height:44px;transition:all var(--dur-fast) var(--ease-standard);border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.okv2 .ok-audio-player-btn:hover:not(:disabled){background:var(--lilac-700)}.okv2 .ok-audio-player-btn:disabled,.okv2 .ok-audio-player.is-locked .ok-audio-player-btn{background:var(--ink-mute);cursor:not-allowed}.okv2 .ok-audio-player-btn svg{fill:currentColor;width:18px;height:18px}.okv2 .ok-audio-player-info{flex:1;min-width:0}.okv2 .ok-audio-player-meta{color:var(--ink-mute);justify-content:space-between;align-items:center;gap:8px;margin:0 0 6px;font-size:12px;display:flex}.okv2 .ok-audio-player-meta-label{font-weight:var(--fw-semibold);color:var(--ink-soft)}.okv2 .ok-audio-player-meta-time{font-family:var(--font-mono);letter-spacing:.04em}.okv2 .ok-audio-player-bar{background:var(--sand-line);border-radius:2px;height:4px;overflow:hidden}.okv2 .ok-audio-player-progress{background:var(--color-brand-deep);height:100%;transition:width .3s}.okv2 .ok-image-choice{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r-md);cursor:pointer;transition:all var(--dur-fast) var(--ease-standard);width:100%;padding:12px;font-family:inherit;display:block;position:relative}.okv2 .ok-image-choice:hover{border-color:var(--ink-soft);background:var(--card)}.okv2 .ok-image-choice.is-selected{border-color:var(--color-brand-deep);background:var(--color-brand-soft);box-shadow:0 0 0 2px #624fbf26}.okv2 .ok-image-choice-num{border:1.5px solid var(--line);width:26px;height:26px;color:var(--ink);font-size:12px;font-weight:var(--fw-bold);z-index:2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffe6;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:18px;left:18px}.okv2 .ok-image-choice.is-selected .ok-image-choice-num{background:var(--color-brand-deep);border-color:var(--color-brand-deep);color:#fff}.okv2 .ok-image-choice-img{aspect-ratio:4/3;border-radius:var(--r-sm);background:var(--sand-line);object-fit:cover;width:100%;display:block}.okv2 .ok-image-choice-caption{color:var(--ink-soft);text-align:center;margin-top:8px;font-size:12px}
.okv2 .ok-page{width:min(100%, var(--ok-content-max));margin:0 auto}.okv2 .ok-page-header{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:24px;display:flex}.okv2 .ok-page-header.is-centered{text-align:center;flex-direction:column;align-items:center}.okv2 .ok-page-header-copy{max-width:72ch}.okv2 .ok-page-eyebrow{border-radius:var(--r-full);background:var(--color-brand-soft);color:var(--color-brand-deep);font-size:var(--text-caption-size);font-weight:var(--fw-bold);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:10px;padding:6px 12px;display:inline-flex}.okv2 .ok-page-eyebrow:before{content:"●";color:var(--color-brand);font-size:8px}.okv2 .ok-page-title{color:var(--ink);font-family:var(--font-display);font-size:clamp(26px,3.5vw,32px);font-weight:var(--fw-extrabold);line-height:var(--text-h1-line);letter-spacing:-.015em;margin:0}.okv2 .ok-page-subtitle{color:var(--ink-soft);font-size:var(--text-body-lg-size);line-height:var(--text-body-lg-line);margin:10px 0 0}.okv2 .ok-page-actions{flex-wrap:wrap;gap:10px;display:flex}.okv2 .ok-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm);padding:22px 24px}.okv2 .ok-card-interactive{cursor:pointer;transition:transform var(--dur-smooth) var(--ease-standard), box-shadow var(--dur-smooth) var(--ease-standard), border-color var(--dur-smooth) var(--ease-standard)}.okv2 .ok-card-interactive:hover{box-shadow:var(--sh-md);border-color:var(--line-strong);transform:translateY(-2px)}.okv2 .ok-card-panel{background:var(--surface)}.okv2 .ok-card-muted{background:var(--sand-line);box-shadow:none}.okv2 .ok-card-hero{background:var(--card);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--sh-sm);margin-bottom:20px;padding:36px 40px;position:relative;overflow:hidden}.okv2 .ok-card-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:16px;display:flex}.okv2 .ok-card-head h3{color:var(--ink);font-family:var(--font-display);font-size:var(--text-h3-size);font-weight:var(--fw-bold);line-height:var(--text-h3-line);margin:0}.okv2 .ok-card-head a,.okv2 .ok-card-head .link{color:var(--color-brand-deep);font-size:var(--text-small-size);font-weight:var(--fw-semibold);cursor:pointer;text-decoration:none}.okv2 .ok-card-head a:hover,.okv2 .ok-card-head .link:hover{text-decoration:underline}.okv2 .ok-card-foot{border-top:1px solid var(--line);font-size:var(--text-small-size);color:var(--ink-soft);margin-top:16px;padding-top:14px;line-height:1.6}.okv2 .ok-field{flex-direction:column;gap:8px;display:flex}.okv2 .ok-field-label{color:var(--ink-soft);font-size:var(--text-small-size);font-weight:var(--fw-bold);letter-spacing:.02em}.okv2 .ok-field-label .opt{color:var(--ink-mute);font-weight:var(--fw-medium);margin-left:6px}.okv2 .ok-input{--in-h:44px;--in-px:14px;--in-fs:14px;width:100%;height:var(--in-h);padding:0 var(--in-px);font-family:var(--font-body);font-size:var(--in-fs);color:var(--ink);background:var(--card);border:1px solid var(--line-strong);border-radius:var(--r-md);transition:border-color var(--dur-fast) var(--ease-standard), box-shadow var(--dur-fast) var(--ease-standard), background var(--dur-fast) var(--ease-standard);outline:none;line-height:1.4;display:block}.okv2 .ok-input::placeholder{color:var(--ink-mute)}.okv2 .ok-input:hover:not(:focus):not(:disabled){border-color:var(--ink-300)}.okv2 .ok-input:focus{border-color:var(--color-brand);box-shadow:var(--sh-focus)}.okv2 .ok-input:disabled{background:var(--sand-line);color:var(--ink-mute);cursor:not-allowed}.okv2 .ok-input.is-error{border-color:var(--color-error);background:var(--color-error-soft)}.okv2 .ok-input.is-error:focus{box-shadow:0 0 0 3px #e85a5a33}.okv2 textarea.ok-input{resize:vertical;height:auto;min-height:96px;padding:12px 14px}.okv2 .ok-input-sm{--in-h:36px;--in-px:10px;--in-fs:13px}.okv2 .ok-input-lg{--in-h:52px;--in-px:16px;--in-fs:15px}.okv2 .ok-input-group{align-items:center;display:flex;position:relative}.okv2 .ok-input-group .ok-input{padding-left:40px}.okv2 .ok-input-group .ig-ic{width:18px;height:18px;color:var(--ink-mute);pointer-events:none;place-items:center;display:grid;position:absolute;left:12px}.okv2 .ok-field-hint,.okv2 .ok-field-error{font-size:var(--text-caption-size);line-height:1.55}.okv2 .ok-field-hint{color:var(--ink-mute)}.okv2 .ok-field-error{color:var(--color-error-deep)}.okv2 .ok-progress-block{flex-direction:column;gap:8px;display:flex}.okv2 .ok-progress-meta{color:var(--ink-soft);font-size:var(--text-small-size);font-weight:var(--fw-semibold);justify-content:space-between;align-items:center;gap:10px;display:flex}.okv2 .ok-progress-meta b{color:var(--ink);font-family:var(--font-mono);font-weight:var(--fw-bold)}.okv2 .ok-progress{border-radius:var(--r-full);background:var(--sand-line);height:8px;overflow:hidden}.okv2 .ok-progress-lg{height:12px}.okv2 .ok-progress-sm{height:5px}.okv2 .ok-progress-fill{border-radius:inherit;background:var(--color-brand);height:100%;transition:width var(--dur-slow) var(--ease-out-expo)}.okv2 .ok-progress-fill.is-brand{background:linear-gradient(90deg, var(--lilac-500), var(--lilac-700))}.okv2 .ok-progress-fill.is-success{background:var(--color-success)}.okv2 .ok-progress-fill.is-warm{background:var(--color-warm)}.okv2 .ok-progress-fill.is-error{background:var(--color-error)}.okv2{--ok-skel-bg:linear-gradient(90deg, var(--sand-line) 0%, #ffffffe6 50%, var(--sand-line) 100%);--ok-skel-anim:ok-skeleton-wave 1.4s linear infinite;--ok-skel-radius:var(--r-sm)}.okv2 .ok-skeleton{border-radius:var(--r-md);background:var(--ok-skel-bg);animation:var(--ok-skel-anim);background-size:200% 100%;position:relative;overflow:hidden}.okv2 .ok-skeleton-line{border-radius:6px;height:12px}.okv2 .ok-skeleton-box{height:72px}.okv2 .ok-skeleton-circle{border-radius:50%;width:40px;height:40px}.ok-loading-app{background:radial-gradient(circle at 50% 44%, #8e7ee81a, transparent 34%), var(--bg,#f5f5fa);place-items:center;min-height:100svh;padding:32px;display:grid}.ok-loading-app-inner{justify-items:center;gap:16px;display:grid}.ok-loading-app-mark{background:linear-gradient(135deg, var(--color-brand,#8e7ee8), var(--color-brand-deep,#6a5cc8));width:58px;height:58px;color:var(--ink-inverse,#fff);box-shadow:var(--sh-brand,0 6px 20px #8e7ee852);font-family:var(--font-jp-sans,system-ui, sans-serif);letter-spacing:0;border-radius:18px;place-items:center;font-size:26px;font-weight:800;line-height:1;display:grid;position:relative}.ok-loading-app-mark:after{content:"";opacity:.8;animation:ok-app-loading-ring 1.8s var(--ease-out-expo,ease-out) infinite;border:1px solid #8e7ee838;border-radius:24px;position:absolute;inset:-8px}.ok-loading-app-mark span{transform:translateY(-1px)}.ok-loading-app-dots{align-items:center;gap:7px;display:flex}.ok-loading-app-dots i{background:var(--color-brand,#8e7ee8);opacity:.34;width:7px;height:7px;animation:ok-app-loading-dot 1.08s var(--ease-standard,ease) infinite;border-radius:50%}.ok-loading-app-dots i:nth-child(2){animation-delay:.14s}.ok-loading-app-dots i:nth-child(3){animation-delay:.28s}.ok-lesson-loading-screen{min-height:100svh}.ok-loading-auth{background:var(--sand-bg,#f6f6fa);place-items:center;min-height:100vh;padding:24px;display:grid}.ok-loading-auth-card{flex-direction:column;align-items:center;gap:14px;display:flex}.okv2 .ok-loading-content{padding-top:24px}@keyframes ok-skeleton-wave{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes ok-app-loading-ring{0%{opacity:.72;transform:scale(.92)}to{opacity:0;transform:scale(1.22)}}@keyframes ok-app-loading-dot{0%,80%,to{opacity:.34;transform:translateY(0)}38%{opacity:1;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.okv2 .ok-skeleton,.okv2 [class*=is-skeleton] :before,.ok-loading-app-mark:after,.ok-loading-app-dots i{opacity:.75;animation:none}}.okv2 .is-skeleton{pointer-events:none;-webkit-user-select:none;user-select:none}.okv2 .is-skeleton .ok-chip,.okv2 .is-skeleton .ok-btn,.okv2 .is-skeleton button,.okv2 .is-skeleton svg:not(.ok-skel-keep){visibility:hidden}.okv2 .ok-alert{border:1px solid var(--line);border-radius:var(--r-md);background:var(--card);box-shadow:var(--sh-xs);justify-content:space-between;align-items:flex-start;gap:14px;padding:14px 16px;display:flex}.okv2 .ok-alert-info{border-color:var(--lilac-100);background:var(--color-brand-soft)}.okv2 .ok-alert-success{border-color:var(--mint-100);background:var(--color-success-soft)}.okv2 .ok-alert-warn{border-color:var(--peach-100);background:var(--color-warm-soft)}.okv2 .ok-alert-err{border-color:var(--rose-100);background:var(--color-error-soft)}.okv2 .ok-alert-body{min-width:0}.okv2 .ok-alert-title{color:var(--ink);font-size:var(--text-body-size);font-weight:var(--fw-bold);margin:0}.okv2 .ok-alert-copy{color:var(--ink-soft);font-size:var(--text-small-size);margin-top:4px;line-height:1.65}.okv2 .ok-alert-actions{flex:none;align-items:center;gap:8px;display:flex}.okv2 .ok-empty-state{border:1px dashed var(--line-strong);border-radius:var(--r-lg);background:var(--surface);text-align:center;flex-direction:column;align-items:center;gap:12px;padding:40px 24px;display:flex}.okv2 .ok-empty-icon{border-radius:var(--r-lg);background:var(--color-brand-soft);width:56px;height:56px;color:var(--color-brand-deep);place-items:center;font-size:24px;display:grid}.okv2 .ok-empty-title{color:var(--ink);font-size:var(--text-h2-size);font-weight:var(--fw-bold);margin:0}.okv2 .ok-empty-desc{max-width:52ch;color:var(--ink-soft);font-size:var(--text-body-size);margin:0;line-height:1.7}.okv2 .ok-empty-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:6px;display:flex}.okv2 .ok-modal-scrim{z-index:var(--z-modal);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:ok-scrim-in var(--dur-smooth) var(--ease-standard);background:#2f3e4e61;place-items:center;padding:24px;display:grid;position:fixed;inset:0}@keyframes ok-scrim-in{0%{opacity:0}to{opacity:1}}.okv2 .ok-modal{background:var(--card);border:1px solid var(--line);border-radius:var(--r-xl);width:min(480px,100%);box-shadow:var(--sh-lg);animation:ok-modal-in var(--dur-smooth) var(--ease-emphasized);overflow:hidden}@keyframes ok-modal-in{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.okv2 .ok-modal-head{padding:22px 24px 10px}.okv2 .ok-modal-head h3{color:var(--ink);font-family:var(--font-display);font-size:var(--text-h2-size);font-weight:var(--fw-bold);line-height:var(--text-h2-line);margin:0}.okv2 .ok-modal-head .sub{color:var(--ink-soft);font-size:var(--text-small-size);margin-top:6px;line-height:1.6}.okv2 .ok-modal-body{padding:10px 24px 20px}.okv2 .ok-modal-foot{background:var(--surface);border-top:1px solid var(--line);justify-content:flex-end;gap:10px;padding:14px 20px 18px;display:flex}.okv2 .ok-toast-stack{z-index:var(--z-toast);pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.okv2 .ok-toast{pointer-events:auto;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);min-width:260px;max-width:380px;box-shadow:var(--sh-md);font-size:var(--text-body-size);animation:ok-toast-in var(--dur-smooth) var(--ease-emphasized);align-items:flex-start;gap:12px;padding:12px 14px;line-height:1.55;display:flex}@keyframes ok-toast-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.okv2 .ok-toast .ic{background:var(--sand-line);width:22px;height:22px;color:var(--ink);border-radius:50%;flex:none;place-items:center;font-size:14px;display:grid}.okv2 .ok-toast-success{border-color:var(--mint-100)}.okv2 .ok-toast-success .ic{background:var(--color-success-soft);color:var(--color-success-deep)}.okv2 .ok-toast-warm{border-color:var(--peach-100)}.okv2 .ok-toast-warm .ic{background:var(--color-warm-soft);color:var(--color-warm-deep)}.okv2 .ok-toast-error{border-color:var(--rose-100)}.okv2 .ok-toast-error .ic{background:var(--color-error-soft);color:var(--color-error-deep)}.okv2 .ok-toast-body{flex:1;min-width:0}.okv2 .ok-toast-title{color:var(--ink);font-weight:var(--fw-bold);font-size:var(--text-body-size);margin:0}.okv2 .ok-toast-desc{color:var(--ink-soft);font-size:var(--text-small-size);margin-top:2px}.okv2 .ok-modal-backdrop,.okv2.ok-modal-backdrop{z-index:1200;background:#0f172a52;justify-content:center;align-items:center;padding:24px;animation:.15s ease-out ok-modal-fade-in;display:flex;position:absolute;inset:0}.okv2 .ok-modal-backdrop.is-fixed,.okv2.ok-modal-backdrop.is-fixed{position:fixed}.okv2 .ok-modal{background:var(--card);border-radius:var(--r-lg);width:100%;max-width:440px;box-shadow:var(--sh-lg);padding:32px 32px 28px;animation:.18s cubic-bezier(.16,1,.3,1) ok-modal-pop-in;position:relative}.okv2 .ok-modal-close{width:32px;height:32px;color:var(--ink-mute);cursor:pointer;transition:all var(--dur-fast) var(--ease-standard);background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:14px;right:14px}.okv2 .ok-modal-close:hover{background:var(--sand-line);color:var(--ink)}.okv2 .ok-modal-close svg{width:14px;height:14px}.okv2 .ok-modal-title{font-size:var(--text-h2-size);font-weight:var(--fw-bold);color:var(--ink);line-height:var(--text-h2-line);letter-spacing:-.01em;margin:0 0 10px;padding-right:36px}.okv2 .ok-modal-desc{font-size:var(--text-body-size);color:var(--ink-soft);margin:0 0 24px;line-height:1.65}.okv2 .ok-modal-actions{flex-direction:column;gap:8px;display:flex}.okv2 .ok-modal-actions .ok-btn{width:100%}.okv2 .ok-modal-actions.is-row{flex-direction:row;justify-content:flex-end;gap:10px}.okv2 .ok-modal-actions.is-row .ok-btn{width:auto;min-width:100px}@keyframes ok-modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ok-modal-pop-in{0%{opacity:0;transform:translateY(8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}