.pwa-install{box-sizing:border-box;width:calc(100% - var(--space-8));max-width:var(--overlay-card-max-width);max-height:calc(100dvh - var(--space-8));overflow-y:auto;overscroll-behavior:contain;margin:auto;padding:var(--space-6);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);text-align:center;font:var(--weight-medium) var(--text-sm) / var(--leading-ja) var(--font-ja)}.pwa-install::backdrop{background:var(--overlay-scrim);backdrop-filter:blur(var(--overlay-blur));-webkit-backdrop-filter:blur(var(--overlay-blur))}.pwa-install-icon{display:block;width:var(--space-16);height:var(--space-16);margin:0 auto var(--space-4);border-radius:var(--radius-md)}.pwa-install h2{margin:0 0 var(--space-3);font-size:var(--text-xl);font-weight:var(--weight-bold);line-height:var(--leading-ja)}.pwa-install-description{margin:0;color:var(--color-text-muted)}.pwa-install-steps{list-style:none;padding:var(--space-4);margin:var(--space-6) 0 var(--space-4);background:var(--color-bg-default);border-radius:var(--radius-sm);text-align:left;display:grid;gap:var(--space-4)}.pwa-install-steps li{display:flex;gap:var(--space-3);align-items:flex-start}.pwa-install-steps li>span{display:grid;place-items:center;flex-shrink:0;width:var(--space-6);height:var(--space-6);background:var(--color-brand-tint);color:var(--color-brand);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-bold)}.pwa-install svg{width:var(--space-6);height:var(--space-6);vertical-align:middle;flex-shrink:0}.pwa-install-note{color:var(--color-text-muted);font-size:var(--text-xs);text-align:left;margin:0 0 var(--space-4)}.pwa-install-benefit{margin:var(--space-6) 0;padding:var(--space-4);background:var(--color-brand-tint);color:var(--color-brand-strong);border-radius:var(--radius-sm);text-align:left;display:flex;align-items:center;gap:var(--space-3)}.pwa-install button{font:inherit;min-height:var(--button-height);width:100%;border-radius:var(--radius-sm);font-weight:var(--weight-bold);cursor:pointer}.pwa-install-primary{color:var(--color-surface);background:var(--color-brand);border:var(--border-width) solid var(--color-brand)}.pwa-install-primary:hover{background:var(--color-brand-strong)}.pwa-install-secondary{margin-top:var(--space-2);color:var(--color-text);background:var(--color-surface);border:var(--border-width) solid var(--color-border)}.pwa-install-preference{display:flex;justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--button-height);margin-top:var(--space-3);cursor:pointer;color:var(--color-text-muted)}.pwa-install-preference input{width:var(--space-4);height:var(--space-4);margin:0;accent-color:var(--color-brand)}.pwa-install :focus-visible{outline:var(--border-width) solid var(--color-brand);outline-offset:var(--space-1)}@media (max-width: 360px){.pwa-install{padding:var(--space-4)}}:root{--color-brand: #028560;--color-brand-strong: #026b4e;--color-brand-tint: #d9f0e9;--color-brand-faint: #b5ddd0;--color-bg-default: #f1f5f7;--color-bg-success: #d9f0e9;--color-bg-error: #fff0f0;--color-bg-warning: #fcf8e8;--color-surface: #ffffff;--color-border: #e5e5e5;--color-text: #333333;--color-text-secondary: #333333;--color-text-muted: #737373;--color-success: #028560;--color-error: #b71518;--color-warning: #a16207;--color-info: #0b6e99;--color-sphere-bg: #000000;--color-sphere-border: #151515;--color-sphere-text: #f4f4f4;--color-sphere-text-muted: #8b8b8b;--color-sphere-hint: #616161;--color-sphere-panel: rgba(12, 12, 12, .72);--color-sphere-panel-border: #303030;--color-sphere-surface: #151515;--color-sphere-border-strong: #484848;--color-sphere-brand-tint: #14251f;--color-sphere-text-soft: #cccccc;--color-sphere-accent: #43cda6;--color-audio-active: var(--color-brand);--color-weakpoint: #b71518;--font-ja: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Noto Sans JP", sans-serif;--font-en: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Inter", sans-serif;--font-num: var(--font-en);--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-lg: 18px;--text-xl: 20px;--text-2xl: 28px;--text-hero: 34px;--text-num: 40px;--leading-ja: 1.5;--leading-en: 1.4;--leading-tight: 1.2;--weight-regular: 300;--weight-medium: 500;--weight-bold: 700;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 40px;--space-16: 64px;--radius-sm: 10px;--radius-md: 14px;--radius-full: 9999px;--flag-w-sm: 24px;--flag-h-sm: 18px;--flag-radius-sm: 3px;--flag-w-lg: 48px;--flag-h-lg: 36px;--flag-radius-lg: 6px;--border-width: 1px;--shadow-card: none;--overlay-scrim: rgba(31, 35, 48, .48);--overlay-blur: 3px;--overlay-card-max-width: 340px;--overlay-workspace-max-height: 640px;--z-app-chrome: 10;--z-overlay-sheet: 40;--z-overlay-fullscreen: 70;--z-overlay-dialog: 100;--z-overlay-alert: 110;--container-max: 430px;--container-max-wide: 640px;--sidenav-width: 220px;--rail-width: 320px;--pc-zoom: 1.25;--header-height: 44px;--button-height: 50px;--duration-fast: .15s;--duration-base: .25s;--duration-slow: .5s;--ease-standard: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.32, .72, 0, 1)}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;overscroll-behavior:none}body{font-family:var(--font-ja);color:var(--color-text);background:var(--color-bg-default);line-height:var(--leading-ja);font-feature-settings:"palt";-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer;border:0;padding:0;background:transparent;color:inherit}input,textarea,select{font-size:var(--text-base)}textarea{resize:none}.audio-orb,.roy-mascot,.bottom-nav .tab.elevated .ico,.bottom-nav .tab .ico .ico-img,.hint-btn{flex-shrink:0;aspect-ratio:1 / 1}a{color:var(--color-brand)}.app-shell{min-height:100dvh;display:flex;flex-direction:column;align-items:center;background:var(--color-bg-default)}.app-frame{width:100%;height:100dvh;background:var(--color-bg-default);display:flex;flex-direction:column;position:relative;overflow:hidden}.app-page{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--color-bg-default);view-transition-name:app-page}::view-transition-group(app-page){animation-name:none;overflow:visible}:root[data-nav-dir]::view-transition-group(app-page){z-index:1}:root[data-nav-dir]::view-transition-group(bottom-nav){z-index:0}:root[data-nav-dir]::view-transition-group(mini-player){z-index:0}:root[data-nav-dir]::view-transition-group(side-nav){z-index:2}:root[data-nav-dir]::view-transition-old(bottom-nav),:root[data-nav-dir]::view-transition-new(bottom-nav),:root[data-nav-dir]::view-transition-old(mini-player),:root[data-nav-dir]::view-transition-new(mini-player),:root[data-nav-dir]::view-transition-old(side-nav),:root[data-nav-dir]::view-transition-new(side-nav){animation:none;mix-blend-mode:normal}:root[data-nav-dir]::view-transition-old(app-page),:root[data-nav-dir]::view-transition-new(app-page){animation-duration:.38s;animation-timing-function:cubic-bezier(.32,.72,0,1);mix-blend-mode:normal}:root[data-nav-dir=push]::view-transition-new(app-page){animation-name:nav-slide-from-right}:root[data-nav-dir=push]::view-transition-old(app-page){animation-name:nav-parallax-out}:root[data-nav-dir=pop]::view-transition-old(app-page){z-index:1;animation-name:nav-slide-to-right}:root[data-nav-dir=pop]::view-transition-new(app-page){animation-name:nav-parallax-in}@keyframes nav-slide-from-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes nav-slide-to-right{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes nav-parallax-out{0%{transform:translate(0)}to{transform:translate(-30%)}}@keyframes nav-parallax-in{0%{transform:translate(-30%)}to{transform:translate(0)}}@media (min-width: 600px){.app-frame{max-width:var(--container-max);border-left:1px solid var(--color-border);border-right:1px solid var(--color-border)}}@media (min-width: 1024px){.app-shell{flex-direction:row;align-items:stretch;zoom:var(--pc-zoom);min-height:calc(100dvh / var(--pc-zoom))}.app-frame{height:calc(100dvh / var(--pc-zoom));max-width:none;flex:1;min-width:0;border-left:0;border-right:0;--pc-col-pad-left: max( var(--space-4), calc((100% - var(--container-max-wide)) / 2) );--pc-col-pad-right: var(--pc-col-pad-left)}.app-frame .page-scroll{padding-bottom:var(--space-6)}.app-shell .app-page>.page-scroll,.app-shell .app-page>.page-scroll.page-scroll-no-topbar{padding-top:var(--space-6);padding-left:var(--pc-col-pad-left);padding-right:var(--pc-col-pad-right)}.app-page>.topbar{min-height:calc(var(--space-6) + var(--header-height));padding-top:var(--space-6);padding-bottom:0;padding-left:var(--pc-col-pad-left);padding-right:var(--pc-col-pad-right);background:transparent;border-bottom-color:transparent}.app-frame .app-toast{bottom:var(--space-6);left:calc(var(--pc-col-pad-left) + (100% - var(--pc-col-pad-left) - var(--pc-col-pad-right)) / 2)}.app-frame .offline-notice{left:var(--pc-col-pad-left);right:var(--pc-col-pad-right)}.app-frame .confirm-overlay,.app-frame .popup-overlay,.app-frame .earphone-gate-overlay,.app-frame .rp-skip-confirm-backdrop,.app-frame .stage-complete-overlay,.app-frame .onb-loader-overlay{padding-left:var(--pc-col-pad-left);padding-right:var(--pc-col-pad-right)}}@media (min-width: 1280px){.side-nav+.app-frame{--pc-col-pad-left: max( var(--space-4), calc( (100% - var(--container-max-wide) - var(--rail-width)) / 2 + var(--space-4) ) );--pc-col-pad-right: max( var(--space-4), calc((100% - var(--rail-width)) / 2 - var(--space-4)) )}}.app-toast{position:absolute;z-index:30;bottom:calc(84px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:var(--space-1);max-width:calc(100% - 48px);padding:9px var(--space-4);border:0;border-radius:var(--radius-full);background:var(--color-text);color:var(--color-surface);font-family:inherit;font-size:var(--text-sm);font-weight:var(--weight-bold);white-space:normal;overflow-wrap:anywhere;text-align:left;animation:app-toast-in var(--duration-base) var(--ease-standard)}.app-toast>svg{flex-shrink:0}.app-toast.tappable{background:var(--color-surface);color:var(--color-brand);border:1px solid var(--color-brand);cursor:pointer}.app-toast.tappable:active{opacity:.6}@keyframes app-toast-in{0%{opacity:0;transform:translate(-50%,6px)}}@media (prefers-reduced-motion: reduce){.app-toast{animation:none}}.offline-notice{position:absolute;z-index:30;top:calc(10px + env(safe-area-inset-top));left:12px;right:12px;min-height:40px;display:flex;align-items:center;justify-content:center;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-warning);color:var(--color-warning);font-size:var(--text-xs);font-weight:var(--weight-bold);line-height:1.35;text-align:center}.env-badge{position:absolute;z-index:var(--z-app-chrome);top:calc(12px + env(safe-area-inset-top));right:0;pointer-events:none;writing-mode:vertical-rl;padding:6px 2px;border-radius:6px 0 0 6px;font-size:var(--text-xs);font-weight:var(--weight-bold);line-height:1;color:var(--color-surface)}.env-badge--dev{background:#6b7280}.env-badge--stg{background:#d97706}.app-frame .page-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:14px 16px 90px;display:flex;flex-direction:column;gap:12px;background:var(--color-bg-default)}.app-frame:has(.page-full-width){max-width:none;border:0}.app-shell .app-page>.page-scroll.page-full-width{padding:0}.app-frame.frame-immersive .page-scroll{padding-bottom:calc(20px + env(safe-area-inset-bottom))}.app-frame .page-scroll.page-scroll-no-topbar{padding-top:calc(20px + env(safe-area-inset-top))}.topbar{display:flex;align-items:center;gap:12px;padding:calc(12px + env(safe-area-inset-top)) 14px 12px;background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0}.topbar .stat{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-ja);font-weight:var(--weight-bold);font-size:var(--text-xs);color:var(--color-text);font-variant-numeric:tabular-nums}.topbar .stat.mute{color:var(--color-text-muted);font-weight:var(--weight-bold)}.topbar .stat.btn{background:transparent;border:0;cursor:pointer}.topbar .spacer{flex:1}.topbar-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:-12px 0;padding:0;background:transparent;border:0;border-radius:12px;color:var(--color-text-muted);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),opacity var(--duration-fast) var(--ease-standard)}@media (hover: hover){.topbar-iconbtn:hover{background:var(--color-bg-default);color:var(--color-text)}@media (min-width: 1024px){.app-page>.topbar .topbar-iconbtn:hover,.lesson-topbar .topbar-iconbtn:hover,.lx-detail-head .topbar-iconbtn:hover{background:var(--color-brand-tint)}}}.topbar-iconbtn:active{opacity:.6}.topbar-iconbtn+.topbar-iconbtn{margin-left:4px}.topbar-title{flex:1;min-width:0;text-align:center;font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-slot{flex-shrink:0;width:44px}.confirm-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--overlay-scrim);-webkit-backdrop-filter:blur(var(--overlay-blur));backdrop-filter:blur(var(--overlay-blur));display:grid;place-items:center;grid-template-rows:minmax(0,1fr);z-index:var(--z-overlay-alert);padding:24px;animation:confirm-fade var(--duration-fast) var(--ease-standard)}.confirm-card{max-height:100%;overflow-y:auto;overscroll-behavior:contain;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-6);width:100%;max-width:var(--overlay-card-max-width);animation:confirm-pop var(--duration-base) var(--ease-spring)}.confirm-eyebrow{font-size:var(--text-xs);color:var(--color-error);font-weight:var(--weight-medium);margin-bottom:6px}.confirm-title{display:block;font-family:var(--font-ja);font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--color-text);line-height:1.4}.confirm-message{margin:8px 0 0;font-size:var(--text-sm);line-height:1.65;color:var(--color-text-muted);white-space:pre-line}.confirm-message.learning-route-context-message{font-size:var(--text-base);font-weight:var(--weight-bold);line-height:1.55;color:var(--color-text)}.confirm-actions{display:flex;flex-direction:column;gap:8px;margin-top:18px}.confirm-actions .duo-btn{width:100%;margin:0}@keyframes confirm-fade{0%{opacity:0}to{opacity:1}}@keyframes confirm-pop{0%{opacity:0;transform:scale(.94) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}.duo-bar{flex:1;height:8px;background:var(--color-border);border-radius:var(--radius-full);overflow:hidden}.duo-bar>i{display:block;height:100%;background:var(--color-brand)}.roy-mascot{flex-shrink:0;border-radius:50%;border:1px solid var(--color-border);background:var(--color-surface);display:grid;place-items:center;overflow:hidden;-webkit-user-select:none;user-select:none}.roy-mascot img{width:100%;height:100%;display:block;pointer-events:none}.roy-mascot.sm{width:36px;height:36px;font-size:var(--text-sm)}.roy-mascot.big{width:88px;height:88px;border:1px solid white;font-size:var(--text-2xl);margin:4px auto 0}.roy-say{background:var(--color-surface);border:1px solid var(--color-border);border-radius:18px;padding:12px 14px;font-size:var(--text-sm);line-height:1.55;color:var(--color-text);position:relative}.roy-say:before{content:"";position:absolute;top:14px;left:-9px;width:14px;height:14px;background:var(--color-surface);border-left:1px solid var(--color-border);border-top:1px solid var(--color-border);transform:rotate(-45deg)}.duo-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px 14px;font-size:var(--text-sm);line-height:1.55;color:var(--color-text-secondary)}.duo-card.gold{border-color:var(--color-border)}.duo-card.pink{background:var(--color-brand-tint);border-color:var(--color-border);color:var(--color-text)}.duo-card.muted{background:var(--color-border);opacity:.65}.duo-card.dashed{border-style:dashed;background:var(--color-surface)}.duo-card .lbl{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:var(--weight-medium);margin-bottom:var(--space-1)}.duo-card.pink .lbl,.duo-card.gold .lbl{color:var(--color-brand)}.duo-card b{font-size:var(--text-sm);color:var(--color-text);display:block}.duo-card p{margin:4px 0 0}.duo-btn{display:block;width:100%;background:var(--color-brand);color:var(--color-surface);font-weight:var(--weight-bold);font-size:var(--text-sm);padding:14px 18px;border-radius:var(--radius-sm);text-align:center;border:0;cursor:pointer;font-family:var(--font-ja);transition:opacity var(--duration-fast) var(--ease-standard)}.duo-btn:active{opacity:.6}.duo-btn.outline{background:var(--color-surface);color:var(--color-brand);border:1px solid var(--color-brand)}.duo-btn.danger{background:var(--color-error);color:var(--color-surface);border:0}.duo-btn.gold{background:var(--color-brand);color:var(--color-surface)}.duo-btn[disabled],.duo-btn:disabled{opacity:.45;cursor:not-allowed}.lesson-topbar{display:flex;align-items:center;gap:12px;padding:calc(12px + env(safe-area-inset-top)) 14px 12px;background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0}.range-seek{width:100%;accent-color:var(--color-brand)}.seek-time{display:flex;justify-content:space-between;font-family:var(--font-num);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-muted);margin:-2px 0 4px;font-variant-numeric:tabular-nums}.turn-avatar{position:relative;width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--color-surface);cursor:pointer;border:0;padding:0;flex-shrink:0;font-family:inherit}.turn-avatar.other{background:var(--color-brand);color:var(--color-surface)}.turn-avatar.self{background:var(--color-brand-tint);color:var(--color-brand)}.turn-avatar svg{width:20px;height:20px}.turn-avatar .turn-no{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;border-radius:999px;background:var(--color-surface);color:var(--color-text);font-size:var(--text-xs);font-weight:var(--weight-bold);display:inline-flex;align-items:center;justify-content:center;padding:0 4px;font-variant-numeric:tabular-nums;border:1px solid var(--color-bg-default)}.turn-avatar.is-current{outline:1px solid var(--color-text);outline-offset:2px}.turn-avatar:active{opacity:.6}.chip-row{display:flex;flex-wrap:wrap;gap:14px;padding:0}.seek-time+.chip-row{margin-top:-16px}.lesson-bar-bottom{flex-shrink:0;padding:10px 16px calc(14px + env(safe-area-inset-bottom));background:var(--color-bg-default);border-top:1px solid var(--color-border)}.lesson-scroll{flex:1;overflow-y:auto;padding:14px 16px 18px;display:flex;flex-direction:column;gap:14px;background:var(--color-bg-default)}.parallel-passage{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;padding:14px 16px 18px;display:flex;flex-direction:column;gap:16px;position:relative;flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.parallel-passage::-webkit-scrollbar{width:6px}.parallel-passage::-webkit-scrollbar-track{background:transparent}.parallel-passage::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:999px}.parallel-passage.flow{flex:0 0 auto;min-height:0;overflow:visible;border-width:1px;border-radius:8px;padding:8px 10px;gap:6px}.lesson-scroll:has(.parallel-passage:not(.flow)){overflow:hidden}.parallel-turn{display:flex;gap:12px;align-items:flex-start}.parallel-turn .line .tl-w.is-live{color:var(--color-brand-strong);background-color:#9c1f2e1f;border-radius:4px;transition:color .16s ease,background-color .16s ease}.parallel-turn .speaker{flex-shrink:0;width:32px;height:32px;border-radius:50%;color:var(--color-surface);display:inline-flex;align-items:center;justify-content:center;margin-top:3px;position:relative}.parallel-turn .speaker.other{background:var(--color-brand);color:var(--color-surface)}.parallel-turn .speaker.self{background:var(--color-brand-tint);color:var(--color-brand)}.parallel-turn .speaker svg{width:17px;height:17px}.turn-seek{display:inline-flex;align-items:center;vertical-align:baseline;margin:-12px 0 -12px -4px;padding:12px 6px 12px 4px;border:0;background:transparent;color:var(--color-brand);font-family:var(--font-en);font-variant-numeric:tabular-nums;font-size:var(--text-xs);font-weight:var(--weight-bold);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;cursor:pointer}@media (hover: hover){.turn-seek:hover:not(:disabled){background:var(--color-brand-tint);border-radius:var(--radius-sm)}}.turn-seek:active{opacity:.6}.turn-seek:disabled{color:var(--color-text-muted);cursor:default}.parallel-turn .content{flex:1;min-width:0}.parallel-passage .parallel-turn .content{padding-right:38px}.parallel-passage.flow .parallel-turn{gap:8px}.parallel-passage.flow .parallel-turn .speaker{width:24px;height:24px;margin-top:1px}.parallel-passage.flow .parallel-turn .speaker svg{width:13px;height:13px}.parallel-passage.flow .parallel-turn .line{font-size:var(--text-sm);line-height:1.5}.parallel-passage.flow .parallel-turn .jp{margin:2px 0 0;font-size:var(--text-xs);line-height:1.45;color:var(--color-text-muted)}.parallel-passage.compact{padding:10px 12px 12px;gap:8px;flex:0 1 auto}.parallel-passage.compact .parallel-turn{gap:8px}.parallel-passage.compact .parallel-turn .speaker{width:24px;height:24px;margin-top:1px}.parallel-passage.compact .parallel-turn .speaker svg{width:13px;height:13px}.parallel-passage.compact .parallel-turn .line{font-size:var(--text-xs);line-height:1.45}.parallel-passage.compact .parallel-turn .jp{margin:2px 0 0;font-size:var(--text-xs);line-height:1.45}.parallel-turn .line{font-size:var(--text-base);line-height:1.7;color:var(--color-text);margin:0;font-weight:var(--weight-medium)}.parallel-turn .line .kw{color:var(--color-text);border-radius:4px;transition:color .16s ease,background-color .16s ease}.parallel-turn .line .kw-hl-run{display:inline;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:1px 3px;border-radius:5px;background:#b48a3e38}.parallel-turn .line .kw.active{color:var(--color-brand-strong);background-color:#9c1f2e1f}.parallel-turn .line .kw.kw-phrase{font-weight:var(--weight-bold)}.parallel-turn .jp{display:block;margin:6px 0 0;font-size:var(--text-sm);line-height:1.75;color:var(--color-text-muted);font-weight:var(--weight-medium)}.duo-title{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:var(--weight-medium);margin:2px 2px 0;text-align:center}.audio-orb{flex-shrink:0;width:var(--button-height);height:var(--button-height);aspect-ratio:1 / 1;border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-brand);display:grid;place-items:center;font-family:var(--font-ja);margin:6px auto;border:1px solid var(--color-brand);cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.audio-orb.rec{border-color:var(--color-audio-active);background:var(--color-audio-active);color:var(--color-surface)}@media (hover: hover){.audio-orb:hover:not(.rec):not(.muted):not(:disabled){border-color:var(--color-brand);background:var(--color-brand-tint)}}.audio-orb.muted{background:var(--color-border);color:var(--color-text-muted)}.audio-orb:active{opacity:.6}.listen-audio-bar{flex-shrink:0;display:flex;flex-direction:column;gap:4px;padding:7px 16px 6px;background:var(--color-bg-default);border-bottom:1px solid var(--color-border)}.listen-audio-bar .audio-orb{margin:0 auto 2px}.report-card .lesson-replay-compact{background:transparent;border-bottom:0;padding:0}.listen-audio-bar.is-compact .audio-orb{margin:0}.listen-transport{display:flex;flex-direction:column;gap:4px;align-items:stretch}.listen-transport .audio-orb{align-self:center}.listen-audio-bar.is-compact .listen-transport{flex-direction:row;align-items:center;gap:10px}.listen-audio-bar.is-compact .listen-transport .audio-orb{align-self:center;flex-shrink:0}.listen-seek-inline{flex:1;min-width:0}.listen-seek-timelabel{flex-shrink:0;font-family:var(--font-num);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-muted);font-variant-numeric:tabular-nums;min-width:32px;text-align:center}.listen-audio-bar .range-seek{height:16px}.listen-audio-bar .seek-time{margin:0;font-size:var(--text-xs);line-height:1.2}.listen-speaker-strip{display:flex;justify-content:center;gap:8px;min-height:28px}.listen-scene{display:flex;flex-direction:column;gap:var(--space-3)}.listen-scene-title{margin:0;font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--color-text);line-height:var(--leading-tight)}.listen-scene-image{border-radius:var(--radius-md);overflow:hidden}.listen-scene-image img{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover}.listen-footer{display:flex;flex-direction:column;gap:var(--space-2)}.listen-footer .listen-transport{flex-direction:row;align-items:center;gap:10px}.listen-footer .audio-orb,.listen-audio-bar .audio-orb{background:var(--color-brand);border-color:var(--color-brand);color:var(--color-surface)}.listen-footer .audio-orb{margin:0}@media (hover: hover){.listen-footer .audio-orb:hover:not(.rec):not(:disabled),.listen-audio-bar .audio-orb:hover:not(.rec):not(:disabled){background:var(--color-brand-strong);border-color:var(--color-brand-strong)}}.listen-footer .audio-orb .media-action-icon,.listen-audio-bar .audio-orb .media-action-icon{fill:currentColor}.listen-footer .audio-orb:disabled,.listen-audio-bar .audio-orb:disabled{opacity:.6}.listen-audio-bar.is-compact .listen-transport+.listen-speaker-strip{margin-top:12px}.listen-audio-bar .turn-avatar{width:28px;height:28px}.listen-audio-bar .turn-avatar svg{width:15px;height:15px}.listen-audio-bar .turn-avatar .turn-no{min-width:14px;height:14px;font-size:var(--text-xs)}.listen-audio-bar .turn-avatar.is-current{outline-width:1px}@media (min-width: 1024px){.lesson-topbar,.listen-audio-bar,.lesson-scroll,.lesson-bar-bottom{padding-left:var(--pc-col-pad-left);padding-right:var(--pc-col-pad-right)}.lesson-topbar{min-height:calc(var(--space-6) + var(--header-height));padding-top:var(--space-6);padding-bottom:0;background:transparent;border-bottom-color:transparent}.lesson-bar-bottom{padding-bottom:var(--space-6)}.lesson-scroll{padding-top:var(--space-3);padding-bottom:var(--space-6)}.lesson-scroll .listen-audio-bar{padding-left:0;padding-right:0}}.lesson-cols-side,.lesson-cols-main{display:contents}@media (min-width: 1280px){.lesson-scroll.lesson-cols,.lesson-scroll:has(.lesson-cols){padding-left:var(--pc-col-pad-left);padding-right:max(var(--space-4),calc(var(--pc-col-pad-right) - var(--rail-width) - var(--space-4)))}.lesson-cols.lesson-cols{display:grid;grid-template-columns:minmax(0,1fr) var(--rail-width);gap:var(--space-4);align-items:start;align-content:start}.lesson-cols>.lesson-cols-main{display:flex;flex-direction:column;gap:14px;min-width:0;grid-column:1;grid-row:1}.lesson-cols>.trace-lens-area>*{grid-column:1;grid-row:1}.lesson-cols>.lesson-cols-side{display:flex;flex-direction:column;gap:14px;grid-column:2;grid-row:1;position:sticky;top:0;max-height:calc(100dvh / var(--pc-zoom) - 240px);overflow-y:auto}}.duo-chip{display:inline-block;padding:5px 10px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;font-size:var(--text-xs);color:var(--color-text);font-weight:var(--weight-medium);margin:2px 4px 2px 0}.duo-chip.gold,.duo-chip.pink{color:var(--color-surface);background:var(--color-brand);border-color:var(--color-border)}.duo-chip.green{color:var(--color-surface);background:var(--color-success);border-color:var(--color-border)}:where(button,a,label,[role=button]).duo-chip.gold{border-color:var(--color-brand)}:where(button,a,label,[role=button]).duo-chip.pink{border-color:var(--color-brand)}:where(button,a,label,[role=button]).duo-chip.green{border-color:var(--color-success)}@media (hover: hover){:where(button,a,label,[role=button]).duo-chip:hover:not(:disabled){background:var(--color-brand-tint)}:where(button,a,label,[role=button]).duo-chip.gold:hover:not(:disabled),:where(button,a,label,[role=button]).duo-chip.pink:hover:not(:disabled),:where(button,a,label,[role=button]).duo-chip.green:hover:not(:disabled){background:var(--color-brand-strong);border-color:var(--color-brand-strong)}}.hint-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:var(--color-border);color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--weight-bold);border:0;padding:0;cursor:pointer;line-height:1;font-family:inherit}.hint-btn:after{content:"";position:absolute;top:-15px;right:-15px;bottom:-15px;left:-15px}.hint-btn[aria-expanded=true]{background:var(--color-brand);color:var(--color-surface)}@media (hover: hover){.hint-btn:hover{background:var(--color-brand);color:var(--color-surface)}}@keyframes skelShimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.duo-skel-dots span{animation:skelDots 1.2s infinite;opacity:0}.duo-skel-dots span:nth-child(2){animation-delay:.2s}.duo-skel-dots span:nth-child(3){animation-delay:.4s}@keyframes skelDots{0%,to{opacity:0}50%{opacity:1}}.lc-spin{animation:lc-spin .9s linear infinite}@keyframes lc-spin{to{transform:rotate(360deg)}}.onb-loader-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:48px 24px;background:var(--color-bg-default);animation:confirm-fade .22s ease-out}.onb-loader-glow{position:relative;width:min(260px,70vw);aspect-ratio:474 / 328}.onb-loader-glow:before{position:absolute;top:20%;right:20%;bottom:20%;left:20%;content:"";background:#02856026;border-radius:var(--radius-full);filter:blur(18px)}.onb-loader-keiko{position:relative;display:block;width:100%;height:100%;object-fit:contain}.onb-loader-title{font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--color-text);text-align:center}.onb-loader-bar{width:100%;max-width:320px;height:6px;border-radius:3px;background:var(--color-border);overflow:hidden;position:relative}.onb-loader-bar:after{content:"";position:absolute;inset:0 auto 0 0;width:40%;border-radius:inherit;background:var(--color-brand);animation:onb-loader-sweep 1.4s ease-in-out infinite}@keyframes onb-loader-sweep{0%{transform:translate(-100%)}to{transform:translate(250%)}}.onb-meet{flex:1;display:flex;flex-direction:column;gap:var(--space-6)}.onb-meet-stage{position:relative;flex:1;min-height:220px}.onb-meet-stage canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.onb-meet-keiko{position:absolute;left:50%;bottom:0;width:180px;aspect-ratio:474 / 328;transform:translate(-50%);view-transition-name:onb-keiko}.onb-meet-say{display:flex;flex-direction:column;gap:var(--space-3);visibility:hidden;opacity:0;transform:translateY(var(--space-2));transition:opacity var(--duration-slow) var(--ease-standard),transform var(--duration-slow) var(--ease-spring)}.onb-meet-say.is-in{visibility:visible;opacity:1;transform:none}.onb-meet-title{margin:0;font-size:var(--text-xl);font-weight:var(--weight-bold);line-height:var(--leading-tight);text-align:center}.onb-meet-q{margin:0;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-muted);text-align:center}.onb-name-input{width:100%;height:var(--button-height);padding:0 var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);font:inherit;font-size:var(--text-base);color:var(--color-text)}.onb-name-input::placeholder{color:var(--color-text-muted)}.onb-name-input:focus{outline:none;border-color:var(--color-brand)}.keiko-row{display:flex;gap:var(--space-2);align-items:flex-start}.keiko-row .roy-say{flex:1;min-width:0;overflow-wrap:anywhere}.keiko-face{flex:none;width:36px;height:auto;aspect-ratio:474 / 328;margin-top:var(--space-1);view-transition-name:onb-keiko}:root[data-nav-dir=keiko]::view-transition-old(app-page),:root[data-nav-dir=keiko]::view-transition-new(app-page){animation-duration:.6s}:root[data-nav-dir=keiko]::view-transition-group(onb-keiko){animation-duration:.6s;animation-timing-function:var(--ease-spring)}:root[data-nav-dir]::view-transition-group(onb-keiko){z-index:2}.onb-rest{display:flex;flex-direction:column;gap:inherit}.onb-meet-say{view-transition-name:onb-s0}.onb-step-1 .keiko-row .roy-say{view-transition-name:onb-s1-say}.onb-step-1 .onb-rest{view-transition-name:onb-s1-rest}.onb-step-2 .keiko-row .roy-say{view-transition-name:onb-s2-say}.onb-step-2 .onb-rest{view-transition-name:onb-s2-rest}.onb-step-3 .keiko-row .roy-say{view-transition-name:onb-s3-say}.onb-step-3 .onb-rest{view-transition-name:onb-s3-rest}.onb-progress{view-transition-name:onb-progress}:root[data-nav-dir=onb-seat],:root[data-nav-dir=onb-leave]{--onb-in-at: .6s}:root[data-nav-dir=onb-puddle]{--onb-in-at: .65s}:root[data-nav-dir=onb-nod]{--onb-in-at: .35s}:root[data-nav-dir^=onb-]::view-transition-old(app-page),:root[data-nav-dir^=onb-]::view-transition-new(app-page){animation-name:none}:root[data-nav-dir^=onb-]::view-transition-group(onb-s0),:root[data-nav-dir^=onb-]::view-transition-group(onb-s1-say),:root[data-nav-dir^=onb-]::view-transition-group(onb-s1-rest),:root[data-nav-dir^=onb-]::view-transition-group(onb-s2-say),:root[data-nav-dir^=onb-]::view-transition-group(onb-s2-rest),:root[data-nav-dir^=onb-]::view-transition-group(onb-s3-say),:root[data-nav-dir^=onb-]::view-transition-group(onb-s3-rest){z-index:2}:root[data-nav-dir^=onb-]::view-transition-group(onb-keiko){z-index:3}:root[data-nav-dir=onb-seat]::view-transition-new(app-page){animation:onb-fade-in .2s var(--ease-standard) var(--onb-in-at) both}:root[data-nav-dir=onb-leave]::view-transition-old(app-page){z-index:1;animation:onb-fade-out .2s var(--ease-standard) both}:root[data-nav-dir^=onb-]::view-transition-group(onb-progress){z-index:2;animation-duration:var(--duration-base);animation-delay:var(--onb-in-at);animation-timing-function:var(--ease-standard)}:root[data-nav-dir=onb-leave]::view-transition-group(onb-progress){animation-duration:.2s;animation-delay:0ms}:root[data-nav-dir^=onb-]::view-transition-old(onb-s0),:root[data-nav-dir^=onb-]::view-transition-old(onb-s1-say),:root[data-nav-dir^=onb-]::view-transition-old(onb-s1-rest),:root[data-nav-dir^=onb-]::view-transition-old(onb-s2-say),:root[data-nav-dir^=onb-]::view-transition-old(onb-s2-rest),:root[data-nav-dir^=onb-]::view-transition-old(onb-s3-say),:root[data-nav-dir^=onb-]::view-transition-old(onb-s3-rest){animation:onb-fade-out var(--duration-fast) var(--ease-standard) both}:root[data-nav-dir=onb-puddle]::view-transition-old(onb-s1-say),:root[data-nav-dir=onb-puddle]::view-transition-old(onb-s2-say){transform-origin:0 50%;animation:onb-say-out .22s var(--ease-standard) both}:root[data-nav-dir^=onb-]::view-transition-new(onb-s1-say),:root[data-nav-dir^=onb-]::view-transition-new(onb-s2-say),:root[data-nav-dir^=onb-]::view-transition-new(onb-s3-say){transform-origin:0 50%;animation:onb-say-in var(--duration-base) var(--ease-spring) var(--onb-in-at) both}:root[data-nav-dir^=onb-]::view-transition-new(onb-s1-rest),:root[data-nav-dir^=onb-]::view-transition-new(onb-s2-rest),:root[data-nav-dir^=onb-]::view-transition-new(onb-s3-rest){animation:onb-content-in var(--duration-base) var(--ease-standard) calc(var(--onb-in-at) + .12s) both}:root[data-nav-dir^=onb-]::view-transition-new(onb-s0){animation:onb-content-in var(--duration-base) var(--ease-standard) var(--onb-in-at) both}:root[data-nav-dir=onb-seat]::view-transition-group(onb-keiko),:root[data-nav-dir=onb-leave]::view-transition-group(onb-keiko){animation-duration:.45s;animation-delay:var(--duration-fast);animation-timing-function:var(--ease-spring)}:root[data-nav-dir=onb-seat]::view-transition-new(onb-keiko),:root[data-nav-dir=onb-leave]::view-transition-old(onb-keiko){animation:none;opacity:0}:root[data-nav-dir=onb-seat]::view-transition-old(onb-keiko),:root[data-nav-dir=onb-leave]::view-transition-new(onb-keiko){animation:none;mix-blend-mode:normal}:root[data-nav-dir=onb-puddle]::view-transition-group(onb-keiko){animation-duration:.65s}:root[data-nav-dir=onb-puddle]::view-transition-image-pair(onb-keiko){transform-origin:50% 100%;animation:onb-keiko-puddle .65s linear both}:root[data-nav-dir=onb-nod]::view-transition-group(onb-keiko){animation-duration:.2s;animation-delay:var(--duration-fast)}:root[data-nav-dir=onb-nod]::view-transition-image-pair(onb-keiko){animation:onb-keiko-nod .2s var(--ease-standard) var(--duration-fast) both}@keyframes onb-fade-in{0%{opacity:0}}@keyframes onb-fade-out{to{opacity:0}}@keyframes onb-content-in{0%{opacity:0;transform:translateY(var(--space-2))}}@keyframes onb-say-in{0%{opacity:0;transform:scale(.92)}}@keyframes onb-say-out{to{opacity:0;transform:scale(.6)}}@keyframes onb-keiko-puddle{0%{transform:scale(1);animation-timing-function:cubic-bezier(.5,0,.8,1)}22%{transform:scale(1.8,.22);animation-timing-function:linear}42%{transform:scale(1.9,.2);animation-timing-function:cubic-bezier(.2,.9,.4,1)}66%{transform:translateY(-14px) scale(.8,1.4);animation-timing-function:cubic-bezier(.4,0,.6,1)}82%{transform:translateY(0) scale(1.12,.9);animation-timing-function:cubic-bezier(.3,0,.6,1)}to{transform:scale(1)}}@keyframes onb-keiko-nod{50%{transform:translateY(3px)}}.level-opts{display:grid;gap:var(--space-2)}.level-opt{height:var(--button-height);display:flex;align-items:center;justify-content:center;padding:0 var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font:inherit;font-size:var(--text-base);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;cursor:pointer}.level-opt.is-on{background:var(--color-brand-tint);border-color:var(--color-brand)}.level-opt:active:not(:disabled){opacity:.6}.level-opt:disabled{cursor:default}@media (hover: hover){.level-opt:hover:not(:disabled):not(.is-on){background:var(--color-brand-tint)}}.accent-opts{grid-template-columns:repeat(2,minmax(0,1fr))}.accent-opt{height:auto;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-2);text-align:center}.accent-opt-flags{display:flex;gap:var(--space-1)}.accent-opt-flags .accent-flag{width:var(--flag-w-lg);height:var(--flag-h-lg);border-radius:var(--flag-radius-lg)}.accent-opt-label{font-size:var(--text-sm);font-weight:var(--weight-bold);line-height:var(--leading-tight)}@media (prefers-reduced-motion: reduce){.onb-meet-say{transition:none}}.onb-foot-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.app-frame .page-scroll.onb-fixed-foot{overflow:hidden;padding-bottom:calc(12px + env(safe-area-inset-bottom))}.onb-foot-scroll{display:flex;flex-direction:column;gap:inherit;flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:none}.onb-foot-scroll>*{flex:none}.onb-foot-scroll .goal-example-section{margin-top:0}.onb-foot-scroll::-webkit-scrollbar{width:0;height:0}.onb-post-error{position:absolute;left:var(--space-3);right:var(--space-3);bottom:calc(var(--space-4) + env(safe-area-inset-bottom));z-index:999;padding:var(--space-2) var(--space-3);background:var(--color-border);border:1px solid var(--color-error);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--text-xs);line-height:var(--leading-ja);text-align:center;cursor:pointer}@media (min-width: 1024px){.app-frame.frame-immersive .page-scroll.onb-scroll{padding-bottom:var(--space-6)}.onb-meet{justify-content:center}.onb-meet-stage{flex:1 1 auto;min-height:200px;max-height:320px}.onb-foot-scroll .goal-templates{display:grid;grid-template-columns:1fr 1fr}.onb-post-error{left:var(--pc-col-pad-left);right:var(--pc-col-pad-right);bottom:var(--space-6)}}.level-opts-rows .level-opt{height:auto;min-height:var(--button-height);justify-content:flex-start;gap:var(--space-3);padding:var(--space-2) var(--space-4);text-align:left}.level-opt-body{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.level-opt-detail{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-muted)}.bottom-nav{position:sticky;bottom:0;view-transition-name:bottom-nav;left:0;right:0;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--color-surface);border-radius:var(--radius-full);flex-shrink:0;margin:var(--space-2) var(--space-4) calc(var(--space-2) + env(safe-area-inset-bottom));padding:var(--space-1);z-index:5;touch-action:none}.nav-drag-pill{position:absolute;left:0;top:0;width:0;height:0;opacity:0;border-radius:var(--radius-full);background:var(--color-brand-tint);pointer-events:none;transition:left var(--duration-base) var(--ease-standard)}.bottom-nav.dragging .nav-drag-pill{transition:none}.bottom-nav .tab.drag-near{color:var(--color-brand)}.bottom-nav .tab.drag-near .lbl{font-weight:var(--weight-bold)}.bottom-nav .tab .ico .ico-img{width:22px;height:22px;border-radius:var(--radius-full);object-fit:cover;display:block;margin:0 auto;filter:grayscale(.35) saturate(.85);opacity:.7;transition:filter var(--duration-fast) var(--ease-standard),opacity var(--duration-fast) var(--ease-standard)}.bottom-nav .tab.active .ico .ico-img{filter:none;opacity:1}.bottom-nav .tab .tab-badge,.side-nav .tab .tab-badge{position:absolute;top:-2px;right:-2px;min-width:16px;height:16px;padding:0 4px;border-radius:var(--radius-full);background:var(--color-error);color:var(--color-surface);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:16px;text-align:center;border:1px solid white}.bottom-nav .tab{position:relative;text-align:center;padding:var(--space-2) 0;color:var(--color-text-muted);border-radius:var(--radius-full);text-decoration:none;display:block;transition:color var(--duration-fast) var(--ease-standard),opacity var(--duration-fast) var(--ease-standard)}.bottom-nav .tab:active{opacity:.6}.bottom-nav .tab .ico{font-size:var(--text-lg);line-height:1;display:block;position:relative}.bottom-nav .tab .ico-svg{width:22px;height:22px;display:inline-block;vertical-align:middle}.bottom-nav .tab .lbl{font-size:var(--text-xs);font-weight:var(--weight-medium);margin-top:3px;display:block}.bottom-nav .tab.active{color:var(--color-brand)}.bottom-nav .tab.active .lbl{font-weight:var(--weight-bold)}.side-nav{display:none}@media (min-width: 1024px){.bottom-nav{display:none}.side-nav{display:flex;flex-direction:column;gap:var(--space-1);view-transition-name:side-nav;width:var(--sidenav-width);flex-shrink:0;padding:var(--space-6) var(--space-3);background:var(--color-surface);border-right:1px solid var(--color-border)}.side-nav-brand{--wordmark-h: 28px;height:var(--header-height);margin:0 var(--space-3) var(--space-6);background:url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20id='_レイヤー_2'%20data-name='レイヤー%202'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20236.01%2043.48'%3e%3cdefs%3e%3cstyle%3e%20.cls-1%20{%20fill:%20%23171717;%20}%20.cls-2%20{%20fill:%20%23231815;%20}%20%3c/style%3e%3c/defs%3e%3cg%20id='_レイヤー_1-2'%20data-name='レイヤー%201'%3e%3cg%3e%3cpath%20class='cls-1'%20d='M43.96,42.86v-5.56c0-.31.25-.57.57-.57h23.2c.31,0,.57-.25.57-.57V11.18c0-.31-.25-.57-.57-.57h-22.61c-.31,0-.57-.25-.57-.57v-5.56c0-.31.25-.57.57-.57h29.31c.31,0,.57.25.57.57v38.38c0,.31-.25.57-.57.57h-29.89c-.31,0-.57-.25-.57-.57Z'/%3e%3cpath%20class='cls-1'%20d='M80.55,42.86v-5.56c0-.31.25-.57.57-.57h12.81c.31,0,.57-.25.57-.57V11.18c0-.31-.25-.57-.57-.57h-10.96c-.31,0-.57-.25-.57-.57v-5.56c0-.31.25-.57.57-.57h29.77c.31,0,.57.25.57.57v5.56c0,.31-.25.57-.57.57h-10.97c-.31,0-.57.25-.57.57v24.99c0,.31.25.57.57.57h12.81c.31,0,.57.25.57.57v5.56c0,.31-.25.57-.57.57h-33.46c-.31,0-.57-.25-.57-.57Z'/%3e%3cpath%20class='cls-2'%20d='M18.22,43.43c-.26,0-.49-.18-.55-.44-1.19-4.9-2.06-9.65-2.7-14.86-.05-.43-.1-.89-.14-1.35-.03-.32-.06-.64-.1-.94-.03-.29-.28-.5-.56-.5H.57c-.31,0-.57-.25-.57-.57v-5.56c0-.31.25-.57.57-.57h12.92c.16,0,.31-.07.41-.18.11-.11.16-.27.15-.42-.14-2.15-.25-4.46-.34-6.87-.01-.3-.26-.55-.57-.55H.57c-.31,0-.57-.25-.57-.57v-5.56c0-.31.25-.57.57-.57h12.39c.15,0,.3-.06.4-.17.11-.11.17-.25.16-.41l-.02-1.39c0-.45-.02-.91-.02-1.37,0-.32.25-.58.57-.58h5.56c.31,0,.56.25.57.57,0,.53.01,1.05.02,1.57l.02,1.22c0,.31.26.56.57.56h15.1c.31,0,.57.25.57.57v5.56c0,.31-.25.57-.57.57h-14.9c-.15,0-.3.06-.41.17-.11.11-.16.26-.16.42.1,2.5.23,4.83.39,6.92.02.3.27.52.57.52h14.52c.31,0,.57.25.57.57v5.56c0,.31-.25.57-.57.57h-13.75c-.16,0-.32.07-.43.19-.11.12-.16.28-.14.45.76,6,1.83,11.36,3.36,16.74.1.36-.17.72-.54.72h-6.17Z'/%3e%3crect%20class='cls-2'%20x='164.83'%20y='18.72'%20width='30.49'%20height='6.16'%20rx='.57'%20ry='.57'/%3e%3cpath%20class='cls-2'%20d='M201.65,42.8V.62c0-.31.25-.57.57-.57h5.81c.31,0,.57.25.57.57v17.53c0,.31.25.57.57.57h26.29c.31,0,.57.25.57.57v5.03c0,.31-.25.57-.57.57h-26.29c-.31,0-.57.25-.57.57v17.35c0,.31-.25.57-.57.57h-5.81c-.31,0-.57-.25-.57-.57Z'/%3e%3cpath%20class='cls-1'%20d='M135.91,43.46c-.37,0-.63-.34-.55-.7,1.14-4.76,1.97-9.39,2.6-14.46.93-7.36,1.41-16.19,1.5-27.7,0-.31.25-.57.57-.57h5.5c.32,0,.57.26.57.58-.09,11.46-.56,20.24-1.49,27.55-.33,2.67-.73,5.27-1.22,7.93-.04.2.04.41.2.54.1.08.23.13.36.13.07,0,.15-.01.22-.04,2.47-1.02,4.49-2.71,5.85-4.9,1.78-2.87,2.74-8.77,2.93-12.56.01-.3.26-.54.56-.54l4.54-.02c.32,0,.58.26.57.58-.14,3.87-.99,10.1-2.3,12.94-2,4.32-5.35,7.58-9.7,9.41-1.4.59-2.83,1.03-4.38,1.36-1.36.28-2.64.44-3.91.48h-2.41Z'/%3e%3cpath%20class='cls-2'%20d='M122.13,42.76c3.06-10.8,4.44-22.08,4.7-38.24,0-.31.26-.56.57-.56h5.55c.32,0,.57.27.57.58-.16,9.72-.61,17.25-1.42,23.64-.64,5.21-1.51,9.96-2.7,14.86-.06.25-.29.44-.55.44h-6.17c-.38,0-.64-.36-.54-.72Z'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e") left center / auto var(--wordmark-h) no-repeat}.side-nav .tab{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-sm);color:var(--color-text-muted);text-decoration:none;transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),opacity var(--duration-fast) var(--ease-standard)}@media (hover: hover){.side-nav .tab:hover{background:var(--color-bg-default);color:var(--color-text)}}.side-nav .tab:active{opacity:.6}.side-nav .tab .ico{position:relative;line-height:1;display:block}.side-nav .tab .ico-svg{width:22px;height:22px;display:block}.side-nav .tab .lbl{font-size:var(--text-sm);font-weight:var(--weight-medium)}.side-nav .tab.active{color:var(--color-brand);background:var(--color-brand-tint)}.side-nav .tab.active .lbl{font-weight:var(--weight-bold)}}.word-progress-summary{display:flex;flex-direction:column;gap:var(--space-3)}.duo-card.word-progress-card{flex-shrink:0;padding:0;overflow:hidden}.word-progress-row{padding:var(--space-4) var(--space-4) var(--space-3)}.word-progress-content{display:flex;align-items:flex-start;flex-direction:column;gap:var(--space-2);min-width:0}.word-progress-heading,.word-progress-value{display:flex;min-width:0}.word-progress-heading{align-items:center}.word-progress-heading h2{margin:0;color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-medium)}.word-progress-value{align-items:baseline;gap:var(--space-1);color:var(--color-text);font-variant-numeric:tabular-nums;white-space:nowrap}.word-progress-value .now{font-family:var(--font-num);font-size:var(--text-hero);font-weight:var(--weight-bold);line-height:1;letter-spacing:-.01em}.word-progress-value .goal{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-regular)}.word-progress-track{height:6px;margin-top:var(--space-3);overflow:hidden;border-radius:var(--radius-full);background:var(--color-border)}.word-progress-track>span{display:block;height:100%;border-radius:inherit;background:var(--color-brand)}.word-progress-milestones{margin:0;padding:0;list-style:none}.word-progress-milestones li{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border-top:1px solid var(--color-border)}.word-progress-milestones .marker{flex-shrink:0;width:20px;height:20px;margin-top:1px;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface)}.word-progress-milestones .passed .marker,.word-progress-milestones .current .marker{border-color:var(--color-brand);background:var(--color-brand)}.word-progress-milestones .current{background:var(--color-brand-tint)}.word-progress-milestones .milestone-body{display:flex;min-width:0;flex-direction:column;gap:2px}.word-progress-milestones .milestone-goal{color:var(--color-text);font-family:var(--font-num);font-size:var(--text-sm);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.word-progress-milestones .milestone-description{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:1.5}.word-progress-milestones .future .milestone-description{color:var(--color-text-muted)}.word-growth{margin:0 var(--space-4);padding:var(--space-3) 0;border-top:1px solid var(--color-border)}.word-growth-periods{display:flex;justify-content:flex-end;gap:var(--space-1)}.word-growth-periods button{border:0;border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);background:var(--color-bg-default);color:var(--color-text-muted);font-size:var(--text-xs)}.word-growth-periods button[aria-pressed=true]{background:var(--color-brand-tint);color:var(--color-brand)}.word-growth-delta{margin:var(--space-2) 0 0;text-align:right;color:var(--color-brand);font-size:var(--text-xs);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.word-growth-plot{display:block;width:100%;max-width:520px;height:auto;margin:0 auto}.word-growth-plot text{font-family:var(--font-num);font-size:var(--text-xs);fill:var(--color-text-muted)}.word-growth-grid{stroke:var(--color-border)}.word-growth-line{fill:none;stroke:var(--color-brand);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.word-growth-fill{stop-color:var(--color-brand)}.word-growth-dot{fill:var(--color-brand);stroke:var(--color-surface);stroke-width:2}.word-growth-empty,.word-growth-message{color:var(--color-text-muted);font-size:var(--text-xs);text-align:center}.word-growth-message{display:flex;justify-content:center;align-items:center;gap:var(--space-2)}.word-growth-message button{background:var(--color-surface);color:var(--color-brand);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2)}.sent-meta{text-align:center;font-size:var(--text-xs);color:var(--color-text-muted);font-weight:var(--weight-bold);margin:0}.quiz-recap-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.quiz-recap-card .qr-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.quiz-recap-card .qr-title{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--color-text);margin:0}.qr-jp-loading{font-size:var(--text-xs);color:var(--color-text-muted);margin:0}.qr-q-jp{font-size:var(--text-xs);color:var(--color-text-muted);margin:0 0 4px 30px;line-height:1.6}.quiz-recap-item{padding-bottom:10px;border-bottom:1px dashed var(--color-border)}.quiz-recap-item:last-child{padding-bottom:0;border-bottom:0}.qr-q{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--color-text);margin:0 0 4px;display:flex;align-items:flex-start;gap:8px}.qr-mark-na{flex-shrink:0;width:22px;display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-bold);line-height:1;margin-top:1px}.qr-detail{margin:4px 0 0 30px;display:flex;flex-direction:column;gap:5px}.qr-row{margin:0;font-size:var(--text-xs);line-height:1.6;display:flex;align-items:baseline;gap:8px}.qr-label{flex-shrink:0;font-size:var(--text-xs);font-weight:var(--weight-medium);padding:2px 7px;border-radius:999px;line-height:1.3;white-space:nowrap}.qr-row.your .qr-label{background:var(--color-border);color:var(--color-text-muted)}.qr-row.your.ok .qr-label{background:var(--color-bg-success);color:var(--color-brand-strong)}.qr-row.your.ng .qr-label{background:var(--color-bg-error);color:var(--color-error)}.qr-row.correct .qr-label{background:var(--color-bg-success);color:var(--color-brand-strong)}.qr-val{color:var(--color-text-secondary);font-weight:var(--weight-medium)}.qr-row.correct .qr-val{color:var(--color-brand-strong);font-weight:var(--weight-bold)}.qr-jp-inline{color:var(--color-text-muted);font-weight:var(--weight-regular)}.shadow-guide{margin:0;font-size:var(--text-sm);line-height:var(--leading-ja);color:var(--color-text-secondary);text-align:center}.script-visible-toggle{align-self:flex-start;display:inline-flex;align-items:center;gap:var(--space-2);border:0;background:none;padding:0;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text);cursor:pointer}.script-visible-toggle:active{opacity:.6}.ios-switch{position:relative;flex:none;width:51px;height:31px;border-radius:var(--radius-full);background:var(--color-border);transition:background var(--duration-base)}.ios-switch.on{background:var(--color-brand)}.ios-switch-knob{position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:var(--radius-full);background:var(--color-surface);transition:transform var(--duration-base)}.ios-switch.on .ios-switch-knob{transform:translate(20px)}.script-visible-toggle+.parallel-passage{margin-top:-6px}.parallel-passage.is-script-hidden{position:relative}.parallel-passage.is-script-hidden .parallel-turn{visibility:hidden}.script-hidden-note{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);color:var(--color-text-muted)}.record-controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:6px 0 2px}.seek-time+.sent-meta{margin-top:-8px}.sent-meta+.record-controls{padding-top:0;margin-top:-6px}.record-side{display:flex;align-items:center;font-family:inherit}.record-side.left{justify-content:flex-start}.record-side.right{justify-content:flex-end}.record-mic-wrap{position:relative;display:grid;place-items:center}.record-mic-btn{width:76px;height:76px;border-radius:50%;background:var(--color-brand);color:var(--color-surface);border:1px solid white;display:grid;place-items:center;cursor:pointer;flex-shrink:0;font-family:inherit}.record-mic-btn svg{width:28px;height:28px}@media (hover: hover){.record-mic-btn:hover:not(:disabled):not(.is-recording){background:var(--color-brand-strong)}}.record-mic-btn:active{transform:translateY(2px)}.record-mic-btn.is-recording{background:var(--color-brand-strong)}.record-mic-btn:disabled{opacity:.6;cursor:not-allowed;animation:none}.shadowing-retry-btn{display:flex;align-items:center;justify-content:center;gap:6px}.rec-dot{width:14px;height:14px;border-radius:50%;background:var(--color-brand);flex-shrink:0;animation:rec-dot-blink 1.1s ease-in-out infinite}.rec-stop{width:12px;height:12px;border-radius:3px;background:currentColor;flex-shrink:0}.audio-orb:disabled{cursor:default;opacity:1}@keyframes rec-dot-blink{0%,to{opacity:1}50%{opacity:.25}}.rec-progress{flex:1;min-width:0;height:6px;border-radius:3px;background:var(--color-border);overflow:hidden}.rec-progress-fill{display:block;height:100%;border-radius:inherit;background:var(--color-brand);transition:width .18s linear}.shadowing-preview-bar{display:flex;align-items:center;gap:10px;margin:10px 0 2px}.shadowing-preview-seek{flex:1;min-width:0;margin:0}.shadowing-preview-time{flex-shrink:0;font-family:var(--font-num);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-muted);font-variant-numeric:tabular-nums;min-width:34px;text-align:center}.audio-orb.shadowing-preview-orb{margin:0}.audio-orb.shadowing-preview-orb:active{opacity:.6}.popup-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--overlay-scrim);-webkit-backdrop-filter:blur(var(--overlay-blur));backdrop-filter:blur(var(--overlay-blur));display:flex;align-items:center;justify-content:center;padding:16px;z-index:var(--z-overlay-dialog)}.popup-card{position:relative;background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-6);width:100%;max-width:var(--overlay-card-max-width);border:1px solid var(--color-border);max-height:calc(100% - 32px);overflow-y:auto;animation:confirm-pop var(--duration-base) var(--ease-spring)}.popup-card .popup-title{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-brand);margin:0 var(--space-8) var(--space-3) 0}.popup-close{position:absolute;top:var(--space-3);right:var(--space-3);width:var(--header-height);height:var(--header-height);border-radius:var(--radius-sm);background:transparent;border:0;color:var(--color-text-muted);cursor:pointer;display:grid;place-items:center;transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),opacity var(--duration-fast) var(--ease-standard)}@media (hover: hover){.popup-close:hover{background:var(--color-bg-default);color:var(--color-text)}}.popup-close:active{opacity:.6}.popup-close svg{width:18px;height:18px}.rp-skip-confirm-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay-alert);display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:var(--overlay-scrim);-webkit-backdrop-filter:blur(var(--overlay-blur));backdrop-filter:blur(var(--overlay-blur));animation:confirm-fade var(--duration-fast) var(--ease-standard)}.rp-skip-confirm{width:100%;max-width:var(--overlay-card-max-width);padding:var(--space-6);background:var(--color-bg-default);border:1px solid var(--color-border);border-radius:var(--radius-md);animation:confirm-pop var(--duration-base) var(--ease-spring);text-align:center}.rp-skip-confirm h3{margin:0;font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--color-text);line-height:1.35}.rp-skip-confirm-actions{display:flex;flex-direction:column;gap:10px;margin-top:18px}.rp-skip-confirm-actions .duo-btn{margin:0;width:100%}.shadowing-report{display:flex;flex-direction:column;gap:14px;padding:0 0 12px}.report-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:14px 14px 16px}.shadowing-verdict{text-align:center;padding:18px 16px 14px}.shadowing-verdict .pv-big{font-size:var(--text-num);font-weight:var(--weight-bold);color:var(--color-brand);line-height:1;font-variant-numeric:tabular-nums}.shadowing-verdict .pv-big small{font-size:var(--text-base);color:var(--color-text);font-weight:var(--weight-bold);margin-left:2px}.shadowing-verdict .pv-cap{font-size:var(--text-sm);font-weight:var(--weight-bold);margin-top:6px}.shadowing-verdict .pv-compare{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:4px;font-variant-numeric:tabular-nums}.shadowing-verdict .pv-compare b.up{color:var(--color-brand)}.shadowing-verdict .pv-compare b.down{color:var(--color-text)}.shadowing-verdict .pv-chips{display:flex;justify-content:center;gap:6px;margin-top:12px}.shadowing-verdict .pv-chip{font-size:var(--text-xs);color:var(--color-text-muted);background:var(--color-bg-default);border-radius:var(--radius-full);padding:3px 10px;font-variant-numeric:tabular-nums}.shadowing-verdict .pv-chip b{color:var(--color-text);margin-left:3px}.shadowing-verdict .pv-chip.low b{color:var(--color-weakpoint)}.sm-soundmap .sm-turn-group{margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.sm-soundmap .sm-turn-group>:last-child{margin-bottom:0}.sm-soundmap .sm-turn{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-3);padding:0 var(--space-3)}.sm-soundmap .sm-turn-header{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:var(--space-2)}.sm-soundmap .sm-turn-listen{grid-column:3;justify-self:end;display:flex;align-items:center;gap:var(--space-2)}.sm-soundmap .sm-turn-players{display:flex;border:var(--border-width) solid var(--color-brand);border-radius:var(--radius-full);background:var(--color-surface);overflow:hidden;flex-shrink:0}.sm-soundmap .sm-turn-play{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-3);border:0;background:var(--color-surface);color:var(--color-brand);font:inherit;font-size:var(--text-xs);white-space:nowrap;cursor:pointer}.sm-soundmap .sm-turn-play+.sm-turn-play{border-left:var(--border-width) solid var(--color-brand)}@media (hover: hover){.sm-soundmap .sm-turn-play:not([aria-pressed=true]):hover{background:var(--color-brand-tint)}}.sm-soundmap .sm-turn-play[aria-pressed=true]{background:var(--color-brand);color:var(--color-surface)}.sm-soundmap .sm-turn-play:focus-visible{outline:2px solid var(--color-brand);outline-offset:-3px}.sm-soundmap .sm-turn-play[aria-pressed=true]:focus-visible{outline-color:var(--color-surface)}.sm-soundmap .sm-turn-play .media-action-icon{width:12px;height:12px;fill:currentColor}.sm-soundmap .sm-avatar{width:30px;height:30px;padding:0;border:0;border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.sm-soundmap .sm-avatar svg{width:16px;height:16px}.sm-soundmap .sm-avatar.other{background:var(--color-brand);color:var(--color-surface)}.sm-soundmap .sm-avatar.self{background:var(--color-brand-tint);color:var(--color-brand)}.sm-soundmap .sm-line{margin:0;font-size:var(--text-sm);line-height:1.65;padding-top:3px}.sm-soundmap .sm-drop{background:var(--color-bg-error);border:var(--border-width) solid var(--color-weakpoint);border-radius:4px;padding:0 3px;color:inherit}.sm-soundmap mark.sm-hs-mark{background:none;border:0;padding:0;font-weight:var(--weight-bold);color:var(--color-info)}.sm-soundmap mark.sm-drop.sm-hs-mark{background:var(--color-bg-error);border:var(--border-width) solid var(--color-weakpoint);border-radius:4px;padding:0 3px;color:var(--color-info)}.sm-soundmap mark.sm-drop .tl-w{border-bottom:none}.sm-soundmap mark.sm-drop.sm-join-next{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0;padding-right:0}.sm-soundmap mark.sm-drop.sm-join-prev{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0;padding-left:0}.sm-soundmap mark.sm-drop,.sm-soundmap mark.sm-hs-mark{cursor:pointer}.sm-soundmap .sm-rule-expand{padding:8px 12px;border-radius:10px;background:var(--color-brand-tint);color:var(--color-brand-strong);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:1.7}.sm-soundmap .sm-rule-expand .phonology-rule-ex{opacity:.75}.sm-soundmap .sm-panel.is-shake{animation:sm-panel-shake .4s ease}@keyframes sm-panel-shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}@media (prefers-reduced-motion: reduce){.sm-soundmap .sm-panel.is-shake{animation:none}}.sm-soundmap .sm-panel{margin:4px 0 10px;border-radius:0 0 var(--radius-sm) var(--radius-sm);padding:14px 14px 12px;display:flex;flex-direction:column;gap:8px}.sm-soundmap .sm-panel+.sm-panel{margin-top:-10px}.sm-soundmap .sm-panel:has(+.sm-panel){border-radius:0}.sm-soundmap .sm-panel.drop-panel{background:var(--color-bg-error)}.sm-soundmap .sm-panel.hs-panel{background:var(--color-bg-default)}.sm-soundmap .sm-panel.hs-panel.orphan{margin-top:0;border-radius:var(--radius-sm)}.sm-soundmap .sm-panel-hd{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.sm-soundmap .sm-panel-hd .tx{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:var(--space-1)}.sm-soundmap .sm-panel-hd .lab{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--color-weakpoint)}.sm-soundmap .sm-panel-hd .lab.hs{color:var(--color-info)}.sm-soundmap .sm-panel-hd .lab .lab-merged-hs{color:var(--color-info);margin-left:6px}.sm-soundmap .sm-span{display:block;min-width:0}.sm-soundmap .sm-span .ph{font-size:var(--text-sm);font-weight:var(--weight-bold)}.sm-soundmap .sm-span .sound-sound_change-rule-label{display:inline-flex;align-items:center;justify-content:center;min-height:32px;margin-left:var(--space-2);padding:3px var(--space-3);vertical-align:middle}.sm-soundmap .sound-sound_change-rule-label{gap:var(--space-2);border:var(--border-width) solid var(--color-info);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-info);font-size:var(--text-xs);font-weight:var(--weight-bold);white-space:nowrap;cursor:pointer}.sm-soundmap .sound-sound_change-rule-label:after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg)}.sm-soundmap .sound-sound_change-rule-label:hover,.sm-soundmap .sound-sound_change-rule-label.is-open{background:var(--color-info);color:var(--color-surface)}.sm-soundmap .sound-sound_change-rule-label.is-open:after{transform:translateY(2px) rotate(225deg)}.sm-soundmap .sound-sound_change-rule-label:focus-visible{outline:2px solid var(--color-info);outline-offset:3px}.sm-soundmap .sm-hs-phrase{margin:0;font-size:var(--text-sm);font-weight:var(--weight-bold);line-height:1.5}.sm-soundmap .sm-kanaline .hs{color:var(--color-info)}.sm-soundmap .sm-kanaline{margin:0;font-size:var(--text-xs);font-weight:var(--weight-bold)}.sm-soundmap .sm-kanaline .from{color:var(--color-weakpoint)}.sm-soundmap .sm-kanaline .arrow{color:var(--color-text-muted);margin:0 6px}.sm-soundmap .sm-kanaline .to{color:var(--color-brand)}.sm-soundmap .sm-oneline{margin:0;font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.7}@media (max-width: 600px){.sm-soundmap .sm-turn{padding-right:0;padding-left:0}.sm-soundmap .sm-turn-header{grid-template-columns:30px minmax(0,1fr);align-items:start}.sm-soundmap .sm-turn-listen{grid-column:2;justify-self:end}.sm-soundmap .sm-turn-players{width:auto}.sm-soundmap .sm-turn-play{flex:0 0 auto;gap:var(--space-1);min-height:36px;min-width:72px;padding-right:var(--space-2);padding-left:var(--space-2);font-size:var(--text-xs)}.sm-soundmap .sm-panel-hd{flex-direction:column}.sm-soundmap .sm-panel-hd .tx{width:100%}.sm-soundmap .sm-panel-hd>.sm-turn-players{align-self:flex-end}}.report-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}.shadowing-report-actions-bar .report-actions{margin-top:0}.shadowing-attempt-tabs{display:flex;gap:6px}.shadowing-attempt-tab{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:1px;padding:7px 4px 6px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg-default);cursor:pointer;font-family:inherit}.shadowing-attempt-tab .lab{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--color-text-muted);white-space:nowrap}.shadowing-attempt-tab .sc{font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--color-text-secondary);line-height:1.05}.shadowing-attempt-tab.active{background:var(--color-surface);border-color:var(--color-brand)}.shadowing-attempt-tab.ghost{border-style:dashed;background:transparent}.shadowing-attempt-tab.ghost .lab{font-weight:var(--weight-medium)}.shadowing-attempt-tab.ghost .sc{color:var(--color-text-muted);font-weight:var(--weight-medium)}.shadowing-attempt-tab.active .lab{color:var(--color-brand)}.shadowing-attempt-tab.active .sc{color:var(--color-text)}.shadowing-players{display:flex;flex-direction:column;gap:10px;padding-top:4px;padding-bottom:2px}.shadowing-player-row{display:flex;flex-direction:column;gap:4px}.shadowing-player-label{font-size:var(--text-xs);font-weight:var(--weight-bold);display:inline-flex;align-items:center;gap:5px}.shadowing-player-label:before{content:"";width:8px;height:8px;border-radius:999px;flex-shrink:0}.shadowing-player-label.is-model{color:var(--color-text-secondary)}.shadowing-player-label.is-model:before{background:var(--color-text-muted)}.shadowing-player-label.is-self{color:var(--color-brand)}.shadowing-player-label.is-self:before{background:var(--color-brand)}.wave{display:flex;gap:3px;justify-content:center;align-items:flex-end;height:32px;margin-top:6px}.wave i{display:block;width:5px;background:var(--color-brand);border-radius:2px}.row-between{display:flex;justify-content:space-between;align-items:center}.row{display:flex;gap:8px;align-items:center}.center{text-align:center}.muted{color:var(--color-text-muted)}.pink,.gold{color:var(--color-brand)}.green{color:var(--color-success)}.divider{height:1px;background:var(--color-border);border:0}.tiny,.small{font-size:var(--text-xs)}.stage-complete-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay-dialog);display:flex;align-items:center;justify-content:center;background:var(--overlay-scrim);backdrop-filter:blur(var(--overlay-blur));-webkit-backdrop-filter:blur(var(--overlay-blur));animation:pc-fade-in var(--duration-base) var(--ease-standard);pointer-events:auto;cursor:pointer;overflow:hidden}.stage-complete-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);min-width:240px;padding:var(--space-6) var(--space-8);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;animation:pc-pop var(--duration-base) var(--ease-spring)}.stage-complete-spinner,.stage-complete-error-mark{width:56px;height:56px;border-radius:var(--radius-full)}.stage-complete-spinner{border:5px solid var(--color-brand-tint);border-top-color:var(--color-brand);animation:stage-complete-spin .8s linear infinite}.stage-complete-error-mark{display:grid;place-items:center;background:var(--color-bg-error);color:var(--color-error);font-size:var(--text-2xl);font-weight:var(--weight-bold)}.stage-complete-title{max-width:300px;font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--color-text);text-align:center;line-height:var(--leading-tight)}.stage-complete-sub{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:var(--weight-medium)}.stage-complete-error{max-width:300px;margin:0;color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-ja);text-align:center}.stage-complete-actions{display:grid;width:min(100%,300px);gap:var(--space-2);margin-top:var(--space-2)}.daily-limit-overlay,.daily-limit-overlay .stage-complete-card{cursor:default}.daily-limit-overlay{overflow-y:auto;padding:var(--space-4)}.daily-limit-card{width:min(var(--overlay-card-max-width),100%);min-width:0;flex-shrink:0;margin:auto;padding:var(--space-6);gap:0;text-align:center;border-radius:var(--radius-md)}.daily-limit-keiko-slot{position:relative;width:160px;height:120px;flex-shrink:0;margin:0 auto var(--space-6);display:grid;place-items:center}.daily-limit-keiko{display:block;width:160px;height:111px;transform-origin:50% 94%;animation:daily-limit-breathing 5s ease-in-out infinite}.daily-limit-clock,.mic-popup-badge{position:absolute;right:calc(-1 * var(--space-1));bottom:0;width:var(--space-12);height:var(--space-12);display:grid;place-items:center;border:var(--space-1) solid var(--color-surface);border-radius:var(--radius-full);background:var(--color-bg-warning);color:var(--color-warning)}.mic-popup-badge{background:var(--color-bg-error);color:var(--color-error)}.daily-limit-title{margin:0 0 var(--space-4);font-size:var(--text-xl);font-weight:var(--weight-bold);line-height:var(--leading-ja)}.daily-limit-label{margin:0 0 var(--space-6);color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--leading-ja)}.daily-limit-label strong{color:var(--color-text-secondary);font-weight:var(--weight-medium)}.daily-limit-plan-note{margin:0 0 var(--space-3);color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-ja)}.daily-limit-upgrade,.daily-limit-dismiss{min-height:var(--button-height);padding:var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-base)}.daily-limit-dismiss{margin-top:var(--space-2)}@keyframes pc-fade-in{0%{opacity:0}to{opacity:1}}@keyframes pc-pop{0%{opacity:0;transform:scale(.92) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes daily-limit-breathing{0%,to{transform:scaleY(.97)}50%{transform:scaleY(1)}}@keyframes stage-complete-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.stage-complete-overlay,.stage-complete-card,.stage-complete-spinner,.daily-limit-keiko{animation:none}}.daily-route-limit-usage{margin:0 0 var(--space-6);color:var(--color-error);font-size:var(--text-sm)}.daily-route-limit-reset{margin:0 0 var(--space-6);color:var(--color-text-muted);font-size:var(--text-xs);line-height:var(--leading-ja)}.earphone-gate-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay-dialog);display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:var(--overlay-scrim);backdrop-filter:blur(var(--overlay-blur));-webkit-backdrop-filter:blur(var(--overlay-blur));animation:confirm-fade var(--duration-fast) var(--ease-standard)}.earphone-gate-card{max-height:100%;overflow-y:auto;overscroll-behavior:contain;position:relative;width:100%;max-width:var(--overlay-card-max-width);display:flex;flex-direction:column;align-items:center;gap:10px;padding:var(--space-6);background:var(--color-bg-default);border:1px solid var(--color-border);border-radius:var(--radius-md);animation:confirm-pop var(--duration-base) var(--ease-spring);text-align:center}.earphone-gate-card>*{flex-shrink:0}.earphone-gate-help{display:flex}.earphone-gate-help-popover{width:100%;padding:13px 14px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--weight-regular);line-height:1.65;text-align:left;animation:pc-fade-in .16s ease-out}.earphone-gate-help-note{display:block;margin-top:6px;font-size:var(--text-xs);color:var(--color-text-muted)}.mindset-brain{display:block;margin:0 auto}.mindset-title{font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--color-text);line-height:1.35}.mindset-sub{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.5}.mindset-divider{width:100%;height:1px;background:var(--color-border);margin:6px 0 2px}.mindset-ear-row{display:flex;align-items:center;justify-content:center;gap:8px;font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-text)}.mindset-ear-row svg{color:var(--color-brand);flex-shrink:0}.lc-log{display:flex;flex-direction:column;gap:var(--space-3)}.lc-turn{display:flex;flex-direction:column;gap:var(--space-2)}.lc-msg{display:flex;align-items:flex-start;gap:var(--space-2)}.lc-msg-coach{justify-content:flex-start}.lc-msg-user{justify-content:flex-end}.lc-avatar{flex-shrink:0;width:32px;height:32px;border-radius:50%;border:var(--border-width) solid var(--color-border);background:var(--color-surface);overflow:hidden;display:grid;place-items:center;margin-top:3px;-webkit-user-select:none;user-select:none}.lc-bubble-wrap{position:relative;flex:1;min-width:0}.lc-bubble{position:relative;display:flex;flex-direction:column;gap:var(--space-1);width:100%;text-align:left;background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);font-family:inherit;font-size:var(--text-base);line-height:var(--leading-en);color:var(--color-text)}button.lc-bubble{border-color:var(--color-brand);cursor:pointer}button.lc-bubble:active{opacity:.6}@media (hover: hover){button.lc-bubble:hover{background:var(--color-brand-tint)}}.lc-msg-user .lc-bubble{max-width:88%}.lc-bubble.is-ok{background:var(--color-bg-success);border-color:var(--color-bg-success)}.lc-msg-user .lc-bubble.is-ng{background:var(--color-bg-error);border-color:var(--color-bg-error)}.lc-cheer{font-weight:var(--weight-bold);color:var(--color-brand-strong)}.lc-fb-lead{font-size:var(--text-sm)}.lc-correct-quote{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2) var(--space-3);font-weight:var(--weight-medium)}.lc-bubble.is-blurred .lc-q-text{filter:blur(7px);-webkit-user-select:none;user-select:none}.lc-reveal-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--color-surface);border-radius:var(--radius-full);padding:2px var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--color-brand);white-space:nowrap}.lc-tap-hint{align-self:flex-end;display:inline-flex;align-items:center;gap:4px;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-brand)}.lc-q-jp{font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-ja)}.lc-hint{margin:var(--space-1) 0 0;font-size:var(--text-xs);color:var(--color-text-muted)}.lc-choices{display:flex;flex-direction:column;gap:var(--space-2);align-self:flex-end;width:88%}.lc-choice{min-height:44px;width:100%;text-align:left;padding:var(--space-2) var(--space-4);background:var(--color-surface);border:var(--border-width) solid var(--color-brand);border-radius:var(--radius-full);color:var(--color-text);font-family:inherit;font-size:var(--text-base);font-weight:var(--weight-medium);cursor:pointer}.lc-choice:active{opacity:.6}.lc-choice:disabled{opacity:.45}.lc-speaking{min-height:44px;justify-content:center}.lc-dots{display:inline-flex;gap:var(--space-1)}.lc-dots i{width:6px;height:6px;border-radius:50%;background:var(--color-text-muted);animation:lc-dot 1.2s var(--ease-standard) infinite}.lc-dots i:nth-child(2){animation-delay:.15s}.lc-dots i:nth-child(3){animation-delay:.3s}@keyframes lc-dot{0%,60%,to{opacity:.25}30%{opacity:1}}@media (prefers-reduced-motion: reduce){.lc-dots i{animation:none;opacity:.6}}.lc-msg .playback-action-button .media-action-icon{fill:currentColor}.settings-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--overlay-scrim);-webkit-backdrop-filter:blur(var(--overlay-blur));backdrop-filter:blur(var(--overlay-blur));z-index:var(--z-overlay-sheet);cursor:pointer}.settings-sheet{position:absolute;left:0;right:0;bottom:0;background:var(--color-bg-default);border-top:1px solid var(--color-border);border-radius:var(--radius-md) var(--radius-md) 0 0;padding:12px 14px calc(14px + env(safe-area-inset-bottom));z-index:calc(var(--z-overlay-sheet) + 1);display:flex;flex-direction:column;gap:var(--space-2);max-height:86%;overflow:hidden;font-family:var(--font-ja)}.settings-sheet .note{flex-shrink:0;margin:0}.settings-sheet .body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;display:flex;flex-direction:column;gap:var(--space-2)}.settings-sheet .body>*{flex-shrink:0}@media (min-width: 1024px){.settings-sheet{top:50%;bottom:auto;left:var(--pc-col-pad-left);right:var(--pc-col-pad-right);width:auto;max-width:var(--container-max);max-height:calc(100% - var(--space-16) - var(--space-4));margin-inline:auto;padding:var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);transform:translateY(-50%);animation:settings-dialog-in var(--duration-base) var(--ease-spring)}.settings-sheet .grip{display:none}}@keyframes settings-dialog-in{0%{opacity:0;transform:translateY(calc(-50% + var(--space-2))) scale(.97)}to{opacity:1;transform:translateY(-50%) scale(1)}}@media (prefers-reduced-motion: reduce){.settings-sheet{animation:none}}.settings-sheet .grip{width:36px;height:4px;background:var(--color-border);border-radius:2px;margin:-4px auto 4px;flex-shrink:0}.settings-sheet .head{display:flex;align-items:center;gap:var(--space-2)}.settings-sheet .head .title{font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--color-text)}.settings-sheet .head .close{margin-left:auto;flex:none;width:44px;height:44px;margin-block:-7px;margin-right:calc(-1 * var(--space-2));border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);cursor:pointer;display:grid;place-items:center;transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),opacity var(--duration-fast) var(--ease-standard)}@media (hover: hover){.settings-sheet .head .close:hover{background:var(--color-brand-tint);color:var(--color-text)}}.settings-sheet .head .close:active{opacity:.6}.settings-sheet .footer{display:flex;gap:var(--space-2);margin-top:6px;flex-shrink:0}.settings-sheet .footer .duo-btn{flex:1}@media (hover: hover){.settings-sheet .head .close{border-radius:var(--radius-sm);transition:background var(--duration-fast) var(--ease-standard)}.settings-sheet .head .close:hover{background:var(--color-brand-tint);color:var(--color-text)}}.home-v2 .topbar{display:flex;align-items:center;gap:var(--space-2);padding:calc(var(--space-3) + env(safe-area-inset-top)) var(--space-4) var(--space-2);background:var(--color-bg-default);border-bottom:0;flex-shrink:0}.home-v2 .streak-block{display:flex;align-items:center;min-width:0;flex:1 1 auto}.home-v2 .streak{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:0 var(--space-2);color:var(--color-text);line-height:var(--leading-tight);min-width:0;background:transparent;border:0;padding:0;cursor:pointer;font-family:inherit}@media (hover: hover){.home-v2 .streak{padding:0 var(--space-2);margin-left:calc(-1 * var(--space-2));border-radius:var(--radius-sm);transition:background var(--duration-fast) var(--ease-standard)}.home-v2 .streak:hover{background:var(--color-brand-tint)}}.home-v2 .streak .num{font-size:var(--text-num);font-weight:var(--weight-bold);font-family:var(--font-num);font-variant-numeric:tabular-nums;color:var(--color-brand);flex-shrink:0}.home-v2 .streak .lbl{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text);white-space:nowrap}.home-v2 .top-actions{margin-left:auto;display:flex;align-items:center;gap:var(--space-4);flex-shrink:0}.home-v2 .top-actions button{background:transparent;border:0;padding:0;cursor:pointer;color:var(--color-text);display:inline-flex;align-items:center;justify-content:center;position:relative}.home-v2 .top-actions button svg{width:24px;height:24px}.home-v2 .stage-week{padding:0 var(--space-4) var(--space-3);background:var(--color-bg-default);flex-shrink:0}.home-v2 .stage-week-days{display:grid;grid-template-columns:repeat(var(--week-cols, 7),minmax(0,1fr));align-items:start;gap:var(--space-1)}.home-v2 .stage-week-days .day{justify-self:center;display:inline-flex;flex-direction:column;align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-style:normal;font-variant-numeric:tabular-nums}.home-v2 .stage-week-days .weekday{font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:var(--leading-tight)}.home-v2 .stage-week-days .date{width:40px;height:40px;border-radius:var(--radius-full);background:var(--color-surface);display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:var(--weight-medium)}.home-v2 .stage-week-days .day.current .weekday{color:var(--color-text);font-weight:var(--weight-bold)}.home-v2 .stage-week-days .day.current .date{background:var(--color-brand);color:var(--color-surface)}.home-v2 .stage-week-days .day.done .date{background:var(--color-brand-tint);color:var(--color-brand)}.home-v2 .page-scroll{padding:var(--space-2) var(--space-4) 90px;gap:var(--space-3);background:var(--color-bg-default)}.home-v2 .card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4)}.home-v2 .card.hero-card{padding:var(--space-4)}.home-v2 .lesson-card-carousel-shell{display:flex;flex-direction:column;gap:var(--space-1);position:relative}.home-v2 .lesson-card-carousel{display:flex;align-items:flex-start;gap:var(--space-3);overflow-x:auto;overflow-y:hidden;padding:0 16px 8px;margin:0 -16px 2px;scroll-padding:0 16px;scroll-snap-type:x mandatory;scrollbar-width:none;flex-shrink:0;overscroll-behavior-x:contain;transition:height var(--duration-base) var(--ease-standard)}.home-v2 .lesson-card-carousel::-webkit-scrollbar{display:none}.home-v2 .lesson-card-carousel .hero-card{flex:0 0 90%;max-width:100%;box-sizing:border-box;scroll-snap-align:start;scroll-snap-stop:always;position:relative;background:var(--color-surface)}.home-v2 .lesson-card-carousel .gen-card{flex:0 0 90%;max-width:100%;box-sizing:border-box;scroll-snap-align:start;scroll-snap-stop:always}.home-v2 .lesson-card-carousel .hero-card:only-child,.home-v2 .lesson-card-carousel .gen-card:only-child{margin-inline:auto}.home-v2 .lesson-carousel-dots{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-top:var(--space-1)}.home-v2 .lesson-carousel-dots button{width:6px;height:6px;padding:0;border:0;cursor:pointer;border-radius:var(--radius-full);background:var(--color-brand-faint);transition:width var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard)}.home-v2 .lesson-carousel-dots button.on{width:16px;background:var(--color-brand)}@media (prefers-reduced-motion: reduce){.home-v2 .lesson-card-carousel{transition:none}}.home-columns{flex:1;min-height:0;display:flex}.home-columns .page-scroll{flex:1;min-width:0}@media (min-width: 1024px){.home-v2 .page-scroll{padding-bottom:var(--space-6)}.home-v2 .topbar{padding-top:var(--space-6)}.home-v2 .streak .num{line-height:var(--header-height)}.home-v2 .topbar,.home-v2 .stage-week,.home-columns{width:100%;max-width:var(--container-max-wide);margin-inline:auto}}@media (min-width: 1280px){.home-columns{max-width:none;padding-right:max(0px,calc((100% - var(--container-max-wide) - var(--rail-width)) / 2))}.home-v2 .lesson-card-carousel .hero-card,.home-v2 .lesson-card-carousel .gen-card{flex-basis:min(calc(var(--container-max-wide) - var(--space-8) - var(--space-12)),100%);scroll-snap-align:end}.home-v2 .lesson-card-carousel .hero-card:only-child,.home-v2 .lesson-card-carousel .gen-card:only-child{margin-inline:0}.home-v2 .lesson-card-carousel{padding-left:max(16px,calc(100% - var(--container-max-wide) + var(--space-8) + var(--space-4)));margin-right:0;padding-right:var(--space-12);scroll-padding-right:var(--space-12)}.home-v2 .topbar{max-width:calc(var(--container-max-wide) + var(--rail-width))}.home-v2 .stage-week{max-width:min(calc(var(--container-max-wide) - var(--space-6)),calc(100% - var(--rail-width) - var(--space-6)));margin-left:max(0px,calc((100% - var(--container-max-wide) - var(--rail-width)) / 2));margin-right:auto}}@media (min-width: 1280px){.home-rail{width:var(--rail-width);flex-shrink:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-3) var(--space-4) var(--space-6) 0;margin-top:-60px}.home-rail .home-radio-section{gap:var(--space-6)}}.home-v2 .hero-card .title{font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--color-text);line-height:var(--leading-tight);margin:0 0 var(--space-2)}.home-v2 .hero-card .title .sub{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text);margin-bottom:var(--space-3)}.lesson-accent-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.hero-card .lesson-accent-tags{margin-bottom:var(--space-3)}.accent-chip{display:inline-flex;align-items:center;gap:var(--space-1);border:0;background:transparent;padding:0;line-height:0}button.accent-chip{cursor:pointer;background:var(--color-bg-default);border-radius:var(--radius-full);min-height:var(--space-6);padding:var(--space-1) var(--space-2);transition:background var(--duration-fast) var(--ease-standard)}button.accent-chip:active{opacity:.6}.accent-popup-current{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-2);font-size:var(--text-lg);line-height:var(--leading-ja)}@media (hover: hover){button.accent-chip:hover{background:var(--color-border)}}.home-v2 .hero-card .title .sub .lesson-no{flex-shrink:0;white-space:nowrap;font-variant-numeric:tabular-nums}.home-v2 .learning-route-context-badge{border:0;background:var(--color-bg-default);color:var(--color-text);border-radius:var(--radius-full);padding:3px var(--space-2);font:inherit;font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:var(--leading-tight);white-space:nowrap;cursor:pointer}.home-v2 .learning-route-context-badge:active{opacity:.6}.home-v2 .stage-chip{margin-left:auto;display:inline-flex;align-items:center;gap:var(--space-1);flex-shrink:0;min-height:24px;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:var(--color-brand-tint);color:var(--color-brand);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:var(--leading-tight);white-space:nowrap}.home-v2 .stage-chip svg{flex-shrink:0}.home-v2 .stage-chip.wait{background:var(--color-bg-default);color:var(--color-text-muted)}.home-v2 .gen-wait{display:flex;flex-direction:column;gap:var(--space-2);width:70%;align-items:center}.home-v2 .gen-wait-txt{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-muted)}.home-v2 .gen-wait-track{width:100%;height:6px;border-radius:var(--radius-full);background:var(--color-border);overflow:hidden;position:relative}.home-v2 .gen-wait-fill{position:absolute;top:0;bottom:0;width:40%;border-radius:var(--radius-full);background:var(--color-brand);animation:gen-wait-slide 1.6s var(--ease-standard) infinite alternate}.home-v2 .route-card-draft-title{color:var(--color-text-muted);font-weight:var(--weight-medium);font-size:var(--text-base)}.home-v2 .draft-chapters{font-family:var(--font-num);font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--color-text);line-height:var(--leading-tight);font-variant-numeric:tabular-nums}.home-v2 .draft-chapters small{font-size:var(--text-sm);font-weight:var(--weight-regular);color:var(--color-text-muted);margin-left:var(--space-1)}@keyframes gen-wait-slide{0%{left:0}to{left:60%}}@media (prefers-reduced-motion: reduce){.home-v2 .gen-wait-fill{animation:none;width:100%}}.home-v2 .hero-image{position:relative;border-radius:var(--radius-sm);margin-bottom:var(--space-3);background:var(--color-border);overflow:visible;aspect-ratio:16 / 9}.home-v2 .hero-image:before{content:"";position:absolute;z-index:0;top:0;right:0;bottom:0;left:0;background:var(--color-border);opacity:1;pointer-events:none;animation:hero-image-loading 1.4s var(--ease-standard) infinite;transition:opacity var(--duration-base) var(--ease-standard)}.home-v2 .hero-image.is-loaded:before{opacity:0;animation:none}@keyframes hero-image-loading{0%,to{opacity:1}50%{opacity:.6}}.home-v2 .hero-image img{position:relative;z-index:1;display:block;width:100%;height:100%;border-radius:var(--radius-sm);object-fit:cover;object-position:center;opacity:1;transition:opacity var(--duration-base) var(--ease-standard)}.home-v2 .hero-image.is-loading img{opacity:0}.home-v2 .hero-image.placeholder{display:flex;align-items:center;justify-content:center;background:var(--color-bg-default);color:var(--color-text-muted)}@media (prefers-reduced-motion: reduce){.home-v2 .hero-image:before{animation:none}.home-v2 .hero-image img{transition:none}}.home-v2 .hero-card .scene-speakers{margin:0 0 14px}.home-v2 .cta-pill{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;margin:0 auto;padding:var(--space-3) var(--space-4);border-radius:var(--radius-full);border:0;cursor:pointer;background:var(--color-brand);color:var(--color-surface);font-size:var(--text-sm);font-weight:var(--weight-bold);position:relative;font-family:inherit;transition:opacity var(--duration-fast) var(--ease-standard)}.home-v2 .cta-pill:active{opacity:.6}@media (hover: hover){.home-v2 .cta-pill:hover:not(:disabled){background:var(--color-brand-strong)}}.home-v2 .cta-pill:disabled{cursor:wait;opacity:.5}.home-v2 .cta-pill:disabled:active{opacity:.5}.home-v2 .cta-pill .play-circle{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:var(--radius-full);background:#ffffff38;display:inline-flex;align-items:center;justify-content:center}.home-v2 .cta-pill .play-circle svg{display:block}.home-v2 .mini-steps{display:flex;align-items:center;justify-content:center;margin:var(--space-3) 0 0}.home-v2 .mini-steps .step{flex-shrink:0;width:40px;height:40px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:var(--radius-sm);background:var(--color-bg-default);color:var(--color-text);position:relative;font-family:inherit;cursor:default;transition:opacity var(--duration-fast) var(--ease-standard)}.home-v2 .mini-steps .step svg{display:block}.home-v2 .mini-steps button.step{cursor:pointer}.home-v2 .mini-steps button.step:active{opacity:.6}@media (hover: hover){.home-v2 .mini-steps button.step:hover:not(:disabled){background:var(--color-brand-tint)}.home-v2 .learning-route-context-badge:hover{background:var(--color-brand-tint)}}.home-v2 .mini-steps .step.current{background:var(--color-surface);border:1px solid var(--color-brand);color:var(--color-brand)}.home-v2 .mini-steps .step.done{background:var(--color-surface);border:1px solid var(--color-brand-tint);color:var(--color-brand)}.home-v2 .mini-steps .step.locked{opacity:.55;color:var(--color-text-muted)}.home-v2 .mini-steps .step .step-lock{position:absolute;top:-5px;right:-5px;width:16px;height:16px;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);display:inline-flex;align-items:center;justify-content:center}.home-v2 .mini-steps .step-link{width:var(--space-4);height:1px;background:var(--color-border);flex-shrink:0}.home-v2 .mini-steps .step-link.on{background:var(--color-brand)}.home-v2 .rest-note{text-align:center;font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--color-text);margin:var(--space-1) 0 var(--space-2);line-height:var(--leading-ja)}.home-v2 .hero-card>.rest-note{margin:0 0 var(--space-2);font-size:var(--text-sm);line-height:var(--leading-tight)}.home-v2 .lesson-repair-note{margin:var(--space-3) auto 0;max-width:520px;text-align:center}.home-v2 .lesson-repair-note .rest-note{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-muted)}.library-tabs{display:flex;gap:4px;padding:4px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px}.library-tabs button{flex:1;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:9px 4px;border:0;border-radius:10px;background:transparent;color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-bold);white-space:nowrap;cursor:pointer;font-family:inherit;transition:background .14s ease,color .14s ease}@media (hover: hover){.library-tabs button:hover:not(.is-active):not(:disabled){background:var(--color-bg-default);color:var(--color-text)}}.library-tabs button svg{display:none}.library-tabs button.is-active,.library-tabs button.new.is-active,.library-tabs button.sound.is-active{background:var(--color-brand);color:var(--color-surface)}.library-tabs button.word.is-active{background:var(--color-success);color:var(--color-surface)}.library-page{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;background:var(--color-bg-default);overflow:hidden;touch-action:pan-y}.library-sticky-controls{z-index:12;flex-shrink:0;display:flex;flex-direction:column;gap:10px;padding:calc(20px + env(safe-area-inset-top)) 16px 10px;background:var(--color-bg-default);border-bottom:1px solid var(--color-border)}.library-scroll-list{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;display:flex;flex-direction:column;gap:12px;padding:12px 16px 16px;background:var(--color-bg-default)}.library-review-footer{flex:none;padding:var(--space-3) var(--space-4);background:var(--color-bg-default);border-top:1px solid var(--color-border)}.library-filter-toggle{position:relative;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer}.library-filter-badge{position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:var(--radius-full);background:var(--color-success)}.library-search-field{flex:1 1 0;min-width:0;display:flex;align-items:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-3) 0 var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text-secondary)}.library-search-field input{flex:1;min-width:0;border:none;background:transparent;font-size:var(--text-base);color:var(--color-text);outline:none}.library-search-field input::placeholder{color:var(--color-text-muted)}.library-search-field input::-webkit-search-cancel-button{display:none}.library-search-field>svg{flex:0 0 auto}.library-search-field>button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:24px;height:24px;padding:0;border:none;border-radius:var(--radius-full);background:var(--color-bg-default);color:var(--color-text-muted);cursor:pointer}.library-filter-panel{display:flex;flex-direction:column;gap:4px}.library-filter-panel>*{margin-top:0!important;margin-bottom:0!important}.library-filter-panel .lbl{font-family:var(--font-ja);font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--color-text-muted);line-height:1.2;margin-bottom:4px!important}@media (min-width: 1024px){.library-page .library-sticky-controls,.library-page .library-scroll-list,.library-page .library-review-footer{padding-left:var(--pc-col-pad-left);padding-right:var(--pc-col-pad-right)}.library-page .library-sticky-controls{padding-top:var(--space-6);border-bottom-color:transparent}.library-page .library-review-footer,.library-filter-sheet-body .library-filter-sheet-foot{padding-bottom:var(--space-6)}}.sgr-sheet-body.library-filter-sheet-body{display:flex;flex-direction:column;gap:var(--space-4);padding-bottom:0}.library-filter-sheet-body .library-filter-panel{gap:var(--space-4)}.library-filter-sheet-foot{position:sticky;bottom:0;margin-top:auto;padding:var(--space-3) 0 calc(var(--space-4) + env(safe-area-inset-bottom));background:var(--color-bg-default)}@media (hover: hover){.library-filter-toggle:hover:not(:disabled){background:var(--color-brand-tint)}}.sound-sound_change-kana{margin:3px 0 0;color:var(--color-brand-strong);font-size:var(--text-xs);font-weight:var(--weight-bold);line-height:1.35}.sound-review-answer{width:100%;text-align:left}.sound-review-answer p{margin:0}.sound-review-answer .phrase{color:var(--color-text);font-size:var(--text-2xl);font-weight:var(--weight-bold);line-height:1.3;word-break:break-word}.sound-review-answer .translation{margin-top:12px;color:var(--color-text-secondary);font-size:var(--text-base);font-weight:var(--weight-bold);line-height:1.55}.sound-review-answer .kana{margin-top:14px;color:var(--color-brand-strong);font-size:var(--text-lg);font-weight:var(--weight-bold);line-height:1.4}@media (max-width: 380px){.library-tabs button{font-size:var(--text-xs)}}.library-entry-card{padding:var(--space-2) var(--space-4)}.library-control-row{gap:var(--space-2);flex-wrap:wrap}.library-entry-card .media-action-button{width:40px;min-width:40px;height:40px;min-height:40px}.library-entry-card .media-action-button .media-action-icon{width:20px;height:20px}.library-headword{margin:0;font-family:var(--font-en);font-size:var(--text-sm);font-weight:var(--weight-bold);line-height:1.3;color:var(--color-text);word-break:break-word}.library-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:22px;margin:0;padding:2px 7px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-brand-tint);color:var(--color-brand-strong);font-family:inherit;font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:1.3;text-align:center;white-space:nowrap}.library-chip-band{background:color-mix(in srgb,var(--color-info) 12%,var(--color-surface));border-color:var(--color-border);color:var(--color-info)}.library-entry-card .small,.library-entry-card .tiny{font-size:var(--text-xs)}.library-card-open{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border);cursor:auto}.library-card-open .lx-link-row{margin-top:0}.library-entry-card{cursor:pointer}.library-card-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-3)}.library-card-main{flex:1;min-width:0}.library-card-main .library-headword{margin-top:var(--space-1)}.library-card-subtitle{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--text-xs)}.library-card-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.library-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-top:var(--space-2)}.library-card-tags{display:flex;flex-wrap:wrap;gap:var(--space-1)}.library-detail-toggle,.library-more{border:none;background:none;font:inherit;color:var(--color-text-muted);font-size:var(--text-xs);cursor:pointer}.library-detail-toggle{flex-shrink:0;padding:var(--space-1) 0}.library-more{padding:var(--space-1) var(--space-2);background:var(--color-bg-default);border-radius:var(--radius-full)}.library-section-title{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);margin:var(--space-3) 0 var(--space-2)}.library-explanation{border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-bottom:var(--space-2);overflow:hidden}.library-explanation>summary{padding:var(--space-3);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-bold)}.library-explanation[open]>summary{background:color-mix(in srgb,var(--color-brand-tint) 35%,var(--color-surface))}.library-explanation-body{padding:var(--space-3) var(--space-4);font-size:var(--text-xs);line-height:1.7}.library-explanation-body p{margin:0 0 var(--space-2)}.library-rule-note+.library-rule-note{border-top:1px solid var(--color-border);margin-top:var(--space-2);padding-top:var(--space-2)}.library-rule-note p{margin:var(--space-1) 0 0;color:var(--color-text-muted)}.library-example{border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);background:var(--color-bg-default)}.library-example span{display:block;color:var(--color-text-muted);margin-top:var(--space-1)}.library-template-slot{color:var(--color-brand);border-bottom:2px solid var(--color-brand-tint)}.library-encounter{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-bottom:var(--space-2);padding:var(--space-3) var(--space-4)}.library-past-scenes>summary{color:var(--color-brand-strong);font-size:var(--text-xs);padding:var(--space-2) 0;cursor:pointer}@media (max-width: 380px){.library-card-actions{gap:var(--space-1)}.library-entry-card .media-action-button{width:34px;min-width:34px;height:34px;min-height:34px}.library-entry-card .media-action-button .media-action-icon{width:17px;height:17px}}.app-frame:has(.fc-overlay)>.bottom-nav,.app-frame:has(.fc-overlay)>.mini-player{display:none}.fc-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay-fullscreen);display:flex;flex-direction:column;background:var(--color-bg-default);user-select:none;-webkit-user-select:none}@media (min-width: 1024px){.fc-overlay{padding-left:calc(var(--pc-col-pad-left) - var(--space-4));padding-right:calc(var(--pc-col-pad-right) - var(--space-4))}.fc-overlay .fc-top{min-height:calc(var(--space-6) + var(--header-height));padding:var(--space-6) var(--space-4) var(--space-2)}.fc-overlay .fc-close{display:inline-flex;align-items:center;justify-content:center;width:var(--header-height);height:var(--header-height);padding:0;border-radius:var(--radius-sm)}@media (hover: hover){.fc-overlay .fc-close:hover{background:var(--color-brand-tint);color:var(--color-text)}}.fc-overlay .fc-player{padding:10px var(--space-4) var(--space-6)}}.fc-top{flex-shrink:0;display:flex;align-items:center;gap:12px;padding:calc(20px + env(safe-area-inset-top)) 16px 8px}.fc-close{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--color-text-muted)}.fc-progress{flex:1;height:10px;border-radius:999px;background:var(--color-surface);border:1px solid var(--color-border);overflow:hidden}.fc-progress>i{display:block;height:100%;background:var(--color-success);border-radius:999px;transition:width .18s ease}.fc-count{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--color-text-muted);min-width:44px;text-align:right}.fc-stage{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;padding:10px 26px calc(60px + var(--space-2))}.fc-stage:before{content:"";flex:1 1 0;max-height:48px}.fc-stage:after{content:"";flex:2 1 0}.fc-stack{position:relative;width:100%;max-width:330px;flex:100 1 auto;min-height:0;max-height:470px;touch-action:pan-y}.fc-card{position:absolute;top:0;right:0;bottom:0;left:0;will-change:transform;perspective:1100px;cursor:pointer}.fc-flip{position:absolute;top:0;right:0;bottom:0;left:0;transform-style:preserve-3d;transition:transform .22s cubic-bezier(.3,.8,.4,1)}.fc-flip.is-flipped{transform:rotateY(180deg)}.fc-face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;padding:26px 22px;text-align:center;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}.fc-content{flex:none;width:100%;margin-block:auto;display:flex;flex-direction:column;align-items:center}.fc-face.back{transform:rotateY(180deg)}.fc-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:16px}.fc-word{font-size:var(--text-hero);font-weight:var(--weight-bold);line-height:1.3;word-break:break-word}.fc-ans{font-size:var(--text-2xl);font-weight:var(--weight-bold);line-height:1.3;word-break:break-word}.fc-speak{margin-top:18px}.fc-bookmark{position:absolute;bottom:12px;right:12px;z-index:3}.fc-legend{position:absolute;left:0;right:0;bottom:-60px;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:0 4px;font-size:var(--text-xs);font-weight:var(--weight-bold)}.fc-legend button{flex:1 1 0;max-width:108px;text-align:center;padding:5px 10px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:999px;background:var(--color-surface);font:inherit;font-weight:var(--weight-bold);color:var(--color-text-secondary);cursor:pointer;opacity:.85;transition:opacity .12s ease,transform .12s ease}.fc-legend button:disabled{opacity:.35;cursor:default}.fc-legend button:active:not(:disabled){transform:scale(.97)}.fc-legend button.is-hot{opacity:1;transform:scale(1.08)}.fc-legend .hint{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--color-text-muted);opacity:.8;transition:opacity .4s ease}.fc-legend .hint.is-gone{opacity:0}.fc-autoplay-row{flex-shrink:0;display:flex;justify-content:center;padding:8px 16px 0}.fc-autoplay{display:inline-flex;align-items:center;gap:6px;height:46px;padding:0 16px;border-radius:999px;background:var(--color-success);border:1px solid var(--color-success);color:var(--color-surface);font-size:var(--text-sm);font-weight:var(--weight-bold)}.fc-autoplay>svg{width:16px;height:16px}.fc-autoplay .sw{width:28px;height:18px;border-radius:999px;background:#ffffff4d;position:relative;transition:background .15s ease}.fc-autoplay .sw:after{content:"";position:absolute;top:2px;left:12px;width:14px;height:14px;border-radius:50%;background:var(--color-surface);transition:left .15s ease}.fc-autoplay.is-off{background:var(--color-surface);color:var(--color-success)}.fc-autoplay.is-off .sw{background:var(--color-border)}.fc-autoplay.is-off .sw:after{left:2px}.fc-autoplay:active{transform:translateY(2px)}.fc-player{background:transparent;border-bottom:0;padding:10px 22px calc(20px + env(safe-area-inset-bottom))}.fc-overlay.accent-pink .fc-progress>i{background:var(--color-brand)}.fc-overlay.accent-pink .fc-speak.is-playing{border-color:var(--color-brand);color:var(--color-brand);animation-name:fc-speak-pulse-pink}.fc-overlay.accent-gold .fc-progress>i{background:var(--color-brand)}.fc-overlay.accent-gold .fc-speak.is-playing{border-color:var(--color-brand);color:var(--color-brand-strong)}@keyframes fc-speak-pulse-pink{}.fc-done{position:absolute;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:var(--color-bg-default);text-align:center;padding:30px}.fc-done .actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;width:min(240px,100%)}.fc-done .oncemore{padding:11px 22px;border-radius:14px;font-weight:var(--weight-bold);font-size:var(--text-sm);background:var(--color-brand);color:var(--color-surface)}.fc-done .actions button:active{transform:translateY(2px)}.fc-done-finish{margin-top:16px;padding:8px 16px;font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-text-secondary);text-decoration:underline;text-underline-offset:3px}.fc-done-finish:active{opacity:.6}@media (hover: hover){.fc-legend button:hover:not(:disabled){background:var(--color-brand-tint);opacity:1}.fc-autoplay:hover{background:var(--color-brand-strong);border-color:var(--color-brand-strong)}.fc-autoplay.is-off:hover{background:var(--color-brand-tint);border-color:var(--color-brand)}}@keyframes roy-spin{to{transform:rotate(360deg)}}.spin{animation:roy-spin .9s linear infinite}.learning-routes-page{max-width:480px;min-width:0;width:100%;box-sizing:border-box;margin:0 auto;padding:var(--space-2) var(--space-1) var(--space-8)}@media (min-width: 1024px){.learning-routes-page{max-width:none;padding-top:0;padding-left:0;padding-right:0}}.learning-routes-recs-loading{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm);padding:var(--space-2) var(--space-1)}.learning-routes-error{color:var(--color-brand);font-size:var(--text-sm);margin-top:var(--space-3)}.learning-route-reject-card{display:flex;gap:var(--space-3);align-items:flex-start;background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-3);margin-top:var(--space-3);animation:trc-pop .35s ease both;animation-delay:.4s}@keyframes trc-pop{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.trc-text{font-size:var(--text-sm);line-height:1.55;color:var(--color-error);font-weight:var(--weight-bold);margin:0}.trc-shake{animation:trc-shake .45s ease}@keyframes trc-shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.learning-routes-empty{color:var(--color-text-muted);font-size:var(--text-sm);text-align:center;padding:var(--space-8) var(--space-3)}.rm-title{font-size:var(--text-2xl);font-weight:var(--weight-bold);margin:var(--space-1) 0 0;color:var(--color-text)}.road{position:relative}.course-road{margin-top:0}.road.course-road .step{gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-3) 0;margin-bottom:var(--space-1)}.road.course-road .step.is-openable:active{transform:translateY(1px)}.road.course-road .step.is-openable .st-cando{color:var(--color-text)}.road.course-road .step .node{width:28px;height:28px;font-size:var(--text-xs)}.road.course-road .step:not(:last-child):before{left:13px;top:22px;bottom:-5px}.road.course-road .step .st-body{padding-top:var(--space-1)}.road.course-road .step.is-openable .st-body{display:flex;align-items:center;gap:var(--space-3);margin-top:calc(-1 * var(--space-2));padding:var(--space-3) var(--space-3) var(--space-3) var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface)}.road.course-road .step .st-copy{min-width:0;flex:1}.road.course-road .step .st-cando{font-size:var(--text-sm)}.road.course-road .step-open{flex:none;width:28px;height:28px;display:grid;place-items:center;color:var(--color-brand);border-radius:var(--radius-full);background:var(--color-brand-tint)}.road.course-road .step-open svg{display:block}.road .step{position:relative;display:flex;gap:var(--space-3);align-items:flex-start;width:100%;text-align:left;background:transparent;border:none;padding:0 0 var(--space-4) 0;cursor:pointer}.road .step:disabled{cursor:default}.road .step .node{position:relative;z-index:1;flex:none;width:30px;height:30px;border-radius:var(--radius-full);display:grid;place-items:center;font-size:var(--text-sm);font-weight:var(--weight-bold)}.road .step:not(:last-child):before{content:"";position:absolute;left:14px;top:24px;bottom:-6px;width:calc(var(--border-width) * 2);background:var(--color-border)}.road .step.done .node{background:var(--color-success);color:var(--color-surface)}.road .step.done:before{background:var(--color-success)}.road .step.current .node{background:var(--color-brand);color:var(--color-surface)}.road .step.upcoming .node{background:var(--color-surface);border:var(--border-width) solid var(--color-border);color:var(--color-border)}.road .step.goal .node{background:var(--color-brand);color:var(--color-surface)}.road .step .st-body{flex:1;padding-top:var(--space-1)}.road .step .st-cando{display:block;font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-text)}.road .step.upcoming .st-cando{color:var(--color-text-muted)}.road .step .st-meta{display:block;margin-top:var(--space-1)}.road .step .st-mini{font-size:var(--text-xs);color:var(--color-text-muted)}.clear-progress{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-bold)}.clear-marks{display:inline-flex;align-items:center;gap:var(--space-1)}.clear-mark{width:10px;height:10px;border-radius:var(--radius-sm);border:var(--border-width) solid var(--color-border);background:var(--color-surface);color:var(--color-surface);display:inline-grid;place-items:center;font-size:var(--text-xs);line-height:1;font-weight:var(--weight-bold)}.clear-mark.done{border-color:var(--color-border);background:var(--color-brand)}.clear-count{white-space:nowrap}.chip-done{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-success);background:var(--color-bg-success);border-radius:var(--radius-full);padding:var(--space-1) var(--space-2)}.pbar{height:8px;background:var(--color-border);border-radius:var(--radius-full);overflow:hidden}.pbar.slim{height:6px}.pbar>i{display:block;height:100%;border-radius:var(--radius-full);background:var(--color-brand);transition:width .4s ease}.sec-row{display:flex;align-items:center;justify-content:space-between;margin:var(--space-4) 0 var(--space-2)}.sec-h{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-text)}.sec-count{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-text-muted);margin-left:var(--space-1)}.add-btn{display:inline-flex;align-items:center;gap:var(--space-1);background:var(--color-brand);color:var(--color-surface);border:none;border-radius:var(--radius-full);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:var(--weight-bold);cursor:pointer}.add-btn:active{transform:translateY(1px)}.add-btn:disabled{cursor:not-allowed;opacity:.6}.tcard{display:block;text-align:left;font:inherit;background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-top:var(--space-3);box-sizing:border-box;width:100%}button.tcard{cursor:pointer}.tcard:disabled{cursor:default;opacity:.75}.tcard-active{border:calc(var(--border-width) * 2) solid var(--color-brand);padding:var(--space-3) var(--space-4);cursor:default}.tcard-spin{margin-left:auto;color:var(--color-brand);flex:none}.tcard-topic{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-3)}.tcard-topic .tcard-title{min-width:0;line-height:1.45}.topic-right{display:flex;align-items:center;gap:var(--space-1)}.tcard-head{display:flex;align-items:center;gap:var(--space-2)}.tcard-head .tcard-del{margin-left:auto}.tcard-title{font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--color-text)}.tcard-route{flex:none;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-muted);white-space:nowrap}.tcard-draft .tcard-title{min-width:0;font-weight:var(--weight-medium);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tcard-draft-lbl{display:inline-flex;align-items:center;gap:var(--space-1);margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted)}.tcard-draft-lbl .spin{color:var(--color-brand)}.tcard-draft .gen-wait-track{height:var(--space-1);margin-top:var(--space-2);border-radius:var(--radius-full);background:var(--color-bg-default);overflow:hidden;position:relative}.tcard-draft .gen-wait-fill{position:absolute;top:0;bottom:0;width:40%;border-radius:var(--radius-full);background:var(--color-brand);animation:gen-wait-slide 1.6s var(--ease-standard) infinite alternate}@media (prefers-reduced-motion: reduce){.tcard-draft .gen-wait-fill{animation:none;width:100%}}.tcard-draft .tcard-foot{margin-top:0}.tcard .pbar{margin-top:var(--space-2)}.tcard-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-top:var(--space-3)}.btn-mini{flex:none;background:none;border:none;color:var(--color-brand);font-size:var(--text-sm);font-weight:var(--weight-bold);cursor:pointer;padding:var(--space-1) var(--space-1)}.btn-mini:active{transform:translateY(1px)}.learning-routes-empty.sm{font-size:var(--text-sm);padding:var(--space-2) var(--space-1);color:var(--color-text-muted)}@media (hover: hover){.add-btn:hover:not(:disabled){background:var(--color-brand-strong)}.btn-mini:hover{color:var(--color-brand-strong)}.tcard:hover:not(:disabled):not(.tcard-active):not(.tcard-draft){background:var(--color-brand-tint)}}@media (hover: hover){.road .step:hover:not(:disabled) .st-cando{color:var(--color-brand-strong)}.road.course-road .step.is-openable:hover:not(:disabled) .st-body{background:var(--color-brand-tint)}}.route-plan-status{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-2);margin:0 0 var(--space-4);color:var(--color-text-muted);font-size:var(--text-xs);line-height:var(--leading-ja)}.route-plan-upsell{display:flex;align-items:center;gap:var(--space-4);margin:var(--space-6) var(--space-1) 0;padding:var(--space-6) var(--space-1) 0;border-top:var(--border-width) solid var(--color-border);font-size:var(--text-xs)}.route-plan-upsell img{flex:0 0 68px;width:68px;height:52px;object-fit:contain}.route-plan-upsell p{margin:0;color:var(--color-text-muted);line-height:var(--leading-ja)}.route-plan-upsell .route-plan-link{font-weight:var(--weight-bold)}.app-frame .page-scroll.course-preview-page{overflow:hidden;padding-bottom:calc(12px + env(safe-area-inset-bottom))}.learning-routes-page.learning-routes-page-preview{flex:1;min-height:0;display:flex;flex-direction:column;padding-bottom:0}.cnp-head{flex:none}.cnp-scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:none;padding-top:4px}.cnp-scroll::-webkit-scrollbar{width:0;height:0}.cnp-foot{flex:none;display:flex;gap:var(--space-2);padding-top:var(--space-3)}.cnp-foot .duo-btn,.cnt-sheet-foot .duo-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);margin:0}.chap-preview li.changed .cp-num{border-color:var(--color-border);color:var(--color-brand-strong);background:var(--color-brand-tint)}.cp-badge{margin-left:auto;flex:none;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-brand-strong);background:var(--color-brand-tint);border:1px solid var(--color-border);border-radius:999px;padding:2px 8px}.cnt-sheet{padding-bottom:calc(12px + env(safe-area-inset-bottom))}.cnt-sheet .sgr-sheet-body{padding-bottom:0}.cnt-sheet-sub{flex:none;padding:0 18px 6px;font-size:var(--text-xs);color:var(--color-text-muted)}.cnt-chips-label{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--color-text-muted);margin:14px 0 8px}.cnt-chips{display:flex;flex-wrap:wrap;gap:7px}.cnt-chip{font:inherit;font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);border-radius:999px;padding:8px 12px}.cnt-chip:active{background:var(--color-brand-tint);border-color:var(--color-brand);color:var(--color-brand)}@media (hover: hover){.cnt-chip:hover:not(:disabled){background:var(--color-brand-tint)}}.cnt-sheet-foot{flex:none;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4) 18px 0}.cnt-toast{position:absolute;left:50%;top:calc(14px + env(safe-area-inset-top));transform:translate(-50%);z-index:46;background:var(--color-text);color:var(--color-surface);font-size:var(--text-xs);font-weight:var(--weight-bold);padding:9px 16px;border-radius:999px;display:flex;align-items:center;gap:6px;white-space:nowrap;animation:cnt-toast-in .2s ease-out}@keyframes cnt-toast-in{0%{opacity:0;transform:translate(-50%,-6px)}}.done-kicker{text-align:center;font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-brand-strong);margin-top:8px}.chap-preview{list-style:none;margin:8px 0 0;padding:0}.chap-preview.is-dim li{color:var(--color-text-muted)}.chap-preview.is-dim .cp-num{background:var(--color-bg-default);border-color:var(--color-border);color:var(--color-text-muted)}.chap-preview li{display:flex;align-items:center;gap:10px;padding:9px 2px}.cp-num{flex:none;width:24px;height:24px;border-radius:999px;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-bold);display:grid;place-items:center}.cp-nm{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-text)}.chap-toggle{display:block;width:100%;margin-top:6px;padding:9px;background:none;border:none;cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-brand)}.chap-toggle:active{transform:translateY(1px)}@media (hover: hover){.chap-toggle:hover{color:var(--color-brand-strong)}}@media (min-width: 1024px){.app-frame .page-scroll.course-preview-page{padding-bottom:var(--space-6)}.done-kicker{margin-top:0}.cnt-sheet{padding-bottom:var(--space-6)}.cnt-sheet-sub,.cnt-sheet-foot{padding-left:var(--space-4);padding-right:var(--space-4)}}.tcard-del{flex:none;width:30px;height:30px;display:grid;place-items:center;background:none;border:none;border-radius:8px;color:var(--color-text-muted);cursor:pointer}@media (hover: hover){.tcard-del:hover{background:var(--color-bg-default);color:var(--color-brand)}}.tcard-del:active{opacity:.6}.app-frame .page-scroll.sgr-page{overflow:hidden;padding-inline:14px;padding-bottom:0;gap:0;position:relative}.sgr-topbar{flex:none;z-index:5;padding:12px 0 10px;background:var(--color-bg-default)}.sgr-draft-band{width:100%;min-height:var(--header-height);margin-top:var(--space-2);display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-4);background:var(--color-surface);border:1px solid var(--color-brand);border-radius:var(--radius-full);font:inherit;font-size:var(--text-xs);color:var(--color-text);text-align:left;cursor:pointer}.sgr-draft-band.is-ready{background:var(--color-brand-tint)}.sgr-draft-band:active{opacity:.6}.sgr-draft-band .spin{color:var(--color-brand);flex:none}.sgr-draft-no{font-weight:var(--weight-medium);white-space:nowrap}.sgr-draft-lbl{color:var(--color-text-muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sgr-draft-chev{margin-left:auto;color:var(--color-brand);flex:none}.sgr-scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-top:22px;padding-bottom:90px}.sgr-selector{width:100%;display:flex;align-items:center;gap:10px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;padding:9px 12px;text-align:left}.sgr-selector:active{transform:translateY(1px)}.sgr-sel-text{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.sgr-sel-kind{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-brand)}.sgr-sel-kind svg{flex-shrink:0}.sgr-sel-nm{font-size:var(--text-base);font-weight:var(--weight-bold);line-height:1.3;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sgr-sel-chev{flex:none;width:30px;height:30px;border-radius:999px;background:var(--color-brand-tint);color:var(--color-brand);display:grid;place-items:center}.sgr-error{margin:6px 0}.sgr-empty{display:flex;flex-direction:column;align-items:center;gap:16px;padding:56px 20px;text-align:center;color:var(--color-text-muted);font-weight:var(--weight-bold)}.sgr-board{position:relative;width:100%;max-width:340px;margin:4px auto 0}.sgr-board svg{position:absolute;top:0;left:0;width:100%}.sgr-board svg path{fill:none;stroke-linecap:round}.sgr-board svg path.seg-done{stroke:var(--color-brand);stroke-opacity:.4;stroke-width:10}.sgr-board svg path.seg-up{stroke:var(--color-text-muted);stroke-opacity:.45;stroke-width:8;stroke-dasharray:.5 13}.sgr-board svg path.seg-faint{stroke:var(--color-text-muted);stroke-width:7;stroke-dasharray:.5 15;opacity:.35}.sgr-board svg path.seg-fade{stroke:var(--color-text-muted);stroke-width:8;stroke-dasharray:2 15;opacity:.3}.sgr-nd{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;border-radius:50%;width:54px;height:54px;font-size:var(--text-lg);font-weight:var(--weight-bold);padding:0;border:none;background:var(--color-surface);color:var(--color-text);transition:transform .12s ease}.sgr-nd:not(:disabled){cursor:pointer}@media (hover: hover){.sgr-nd:not(:disabled):not(.done):not(.flag):not(.current):hover{background:var(--color-brand-tint)}.sgr-selector:hover,.sgr-draft-band:hover{background:var(--color-brand-tint)}.sgr-sheet-x:hover{background:var(--color-brand-tint);color:var(--color-text)}}.sgr-nd:not(:disabled):active{transform:translate(-50%,-50%) scale(.9)}.sgr-nd.done{background:transparent;color:var(--color-surface)}.sgr-done-svg{width:100%;height:100%;display:block;border-radius:50%}.sgr-nd.upcoming{background:transparent;border:none}.sgr-up-svg{width:100%;height:100%;display:block;border-radius:50%}.sgr-nd.locked{background:transparent}.sgr-gate-svg{width:100%;height:100%;display:block;border-radius:50%}.sgr-nd.next{background:transparent;border:none}.sgr-nd.ghost{background:transparent;border:1px dashed var(--color-border);color:var(--color-text-muted);opacity:.5}.sgr-nd.goal{width:60px;height:60px;background:transparent}.sgr-goal-svg{width:100%;height:100%;display:block;border-radius:50%}.sgr-nd.flag{background:transparent}.sgr-flag-svg{width:100%;height:100%;display:block;border-radius:50%}.sgr-nd.current{width:70px;height:70px;background:transparent;color:var(--color-surface);font-size:var(--text-2xl);animation:sgr-bob 1.8s ease-in-out infinite}.sgr-cur-svg{width:100%;height:100%;display:block;border-radius:50%}.sgr-nd.current:active{animation:none}@keyframes sgr-bob{0%,to{transform:translate(-50%,-52%)}50%{transform:translate(-50%,-48%)}}.sgr-ribbon{position:absolute;left:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;max-width:90%;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-surface);background:var(--color-brand-strong);padding:4px 12px;border-radius:999px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sgr-ribbon.tag{color:var(--color-text-muted);background:#ffffffe6;border:1px solid var(--color-border)}.sgr-lbl{position:absolute;transform:translateY(-50%);font-size:var(--text-xs);font-weight:var(--weight-bold);line-height:1.35;color:var(--color-text-secondary);line-break:strict;word-break:auto-phrase}.sgr-lbl.mut{color:var(--color-text-muted)}.sgr-lbl.tap{cursor:pointer}.sgr-lbl.cur{color:var(--color-brand);font-weight:var(--weight-bold)}.sgr-lbl.gate{color:var(--color-text-muted);font-weight:var(--weight-bold)}.sgr-lbl.gate.next{color:var(--color-text)}.sgr-lbl .g-ch{display:block;font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--color-brand-strong)}.sgr-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay-sheet);background:var(--overlay-scrim);-webkit-backdrop-filter:blur(var(--overlay-blur));backdrop-filter:blur(var(--overlay-blur));display:flex;align-items:flex-end;animation:sgr-overlay-in .16s ease-out}@keyframes sgr-overlay-in{0%{opacity:0}}.sgr-sheet{width:100%;max-height:88%;background:var(--color-bg-default);border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md);display:flex;flex-direction:column;animation:sgr-sheet-in .22s cubic-bezier(.22,1,.36,1)}@keyframes sgr-sheet-in{0%{transform:translateY(100%)}}@media (prefers-reduced-motion: reduce){.sgr-overlay,.sgr-sheet{animation:none}}.sgr-grip{flex:none;height:22px;display:flex;align-items:center;justify-content:center}.sgr-grip:before{content:"";width:36px;height:4px;border-radius:999px;background:var(--color-border)}.sgr-sheet-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 16px 4px;min-height:30px}.sgr-sheet-title,.sgr-sheet-back,.sgr-sheet-subtitle{min-width:0;overflow-wrap:anywhere}.sgr-sheet-title{font-weight:var(--weight-bold);font-size:var(--text-lg)}.sgr-sheet-back{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-brand);background:none;border:none;padding:4px 0;cursor:pointer}@media (hover: hover){.sgr-sheet-back:hover{color:var(--color-brand-strong)}}.sgr-sheet-x{flex:none;width:44px;height:44px;margin:-7px -8px -7px 0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);display:grid;place-items:center;border:none;cursor:pointer;transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),opacity var(--duration-fast) var(--ease-standard)}@media (hover: hover){.sgr-sheet-x:hover{background:var(--color-brand-tint);color:var(--color-text)}}.sgr-sheet-x:active{opacity:.6}.sgr-sheet-subtitle{flex:none;padding:0 18px 4px;font-weight:var(--weight-bold);font-size:var(--text-lg)}.sgr-sheet-body{flex:1;overflow-y:auto;padding:6px 18px calc(22px + env(safe-area-inset-bottom))}.sgr-sheet-body::-webkit-scrollbar{width:0}.sgr-card-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:40px 0;color:var(--color-text-muted);font-weight:var(--weight-bold)}@media (min-width: 1024px){.app-frame .page-scroll.sgr-page,.sgr-overlay{padding-left:var(--pc-col-pad-left);padding-right:var(--pc-col-pad-right)}.sgr-topbar{padding-top:0}.sgr-overlay{justify-content:center;align-items:center;padding-top:var(--space-12);padding-bottom:var(--space-12)}.sgr-sheet{max-width:var(--container-max-wide);height:calc(100% - var(--space-16) - var(--space-4));max-height:var(--overlay-workspace-max-height);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);animation:confirm-pop var(--duration-base) var(--ease-spring)}.sgr-grip{display:none}.sgr-sheet-head{min-height:var(--header-height);padding:var(--space-4) var(--space-4) var(--space-2)}.sgr-sheet-subtitle{padding-top:0;padding-bottom:var(--space-3);padding-left:var(--space-4);padding-right:var(--space-4)}.sgr-sheet-body{padding-left:var(--space-4);padding-right:var(--space-4);padding-bottom:var(--space-6)}}.goal-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:var(--header-height);margin-bottom:var(--space-2)}.goal-nav .topbar-iconbtn{justify-self:start;margin:0}.goal-nav-title{font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--color-text);margin:0;text-align:center}.goal-section-title{font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--color-text);margin:var(--space-2) 0 var(--space-3)}.goal-section-title.goal-section-gap{margin-top:var(--space-6)}.goal-example-section{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-6)}.goal-example-section .goal-section-title,.goal-example-section .goal-templates{margin:0}.goal-input-card{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4) var(--space-12)}.goal-input-card:focus-within{border-color:var(--color-brand)}.goal-input-card textarea{display:block;width:100%;border:0;padding:0;background:transparent;color:var(--color-text);line-height:var(--leading-ja);font-family:inherit;font-size:var(--text-base);resize:none;outline:none}.goal-input-card textarea::placeholder{color:var(--color-text-muted)}.goal-mic{position:absolute;right:var(--space-3);bottom:var(--space-3);width:36px;height:36px;border-radius:var(--radius-full);border:0;background:var(--color-brand);color:var(--color-surface);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity var(--duration-fast) var(--ease-standard)}.goal-mic:active{opacity:.6}.goal-mic.is-active{background:var(--color-brand-tint);color:var(--color-brand)}.goal-mic:disabled{opacity:.5;cursor:not-allowed}.goal-mic svg{width:18px;height:18px}.goal-plan-note{margin:var(--space-2) 0 var(--space-4);color:var(--color-text-muted);font-size:var(--text-xs);line-height:var(--leading-ja)}.goal-plan-note p{margin:0}.route-plan-link{display:inline-flex;align-items:center;gap:var(--space-1);min-height:32px;padding:4px 0;border:0;border-radius:4px;background:none;color:var(--color-brand);font:inherit;cursor:pointer}.route-plan-link:focus-visible{outline:2px solid var(--color-brand);outline-offset:4px}.route-plan-link:hover{text-decoration:underline;text-underline-offset:4px}.route-plan-limit{color:var(--color-error)}.goal-input-error{margin:var(--space-2) 0 0;font-size:var(--text-xs);color:var(--color-error)}.goal-templates{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-4)}.goal-tpl-card{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-2);text-align:left;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);cursor:pointer;font-family:inherit;transition:opacity var(--duration-fast) var(--ease-standard)}.goal-tpl-card:active{opacity:.6}.goal-tpl-card:disabled{opacity:.5;cursor:not-allowed}.goal-tpl-head{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-brand);font-size:var(--text-base);font-weight:var(--weight-bold)}.goal-tpl-desc{font-size:var(--text-sm);color:var(--color-text);line-height:var(--leading-ja)}@media (hover: hover){.goal-mic:hover:not(:disabled){background:var(--color-brand-strong)}.goal-tpl-card:hover:not(:disabled){background:var(--color-brand-tint)}}@media (min-width: 1024px){.goal-nav{margin-bottom:var(--space-6)}}.streak-body{gap:0}.streak-load-error{padding-top:40px;align-items:center;text-align:center;color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-bold)}.streak-load-error .duo-btn{margin-top:14px;width:auto;padding:11px 30px}.streak-retry-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0 2px;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-bold)}.streak-retry-banner button{border:0;background:transparent;color:var(--color-brand);font-family:inherit;font-size:var(--text-xs);font-weight:var(--weight-bold);cursor:pointer;padding:4px 6px}.streak-hero{text-align:center;padding:22px 0 4px;position:relative}.streak-hero .num-wrap{display:inline-flex;align-items:baseline;gap:10px;position:relative}.streak-hero .keep-note{display:block;margin-top:6px;font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--color-error)}.streak-hero.zero{display:flex;flex-direction:column;align-items:center;gap:2px;padding:20px 0 6px}.streak-hero.zero .zero-title{font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--color-text)}.streak-hero.zero .zero-sub{font-size:var(--text-sm);font-weight:var(--weight-regular);color:var(--color-text-muted)}.streak-hero .ms-badge{display:block;width:fit-content;margin:12px auto 0;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-surface);background:var(--color-brand);border-radius:999px;padding:5px 14px;animation:ms-pop .5s cubic-bezier(.34,1.56,.64,1) both}@keyframes ms-pop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.streak-hero .num{font-family:var(--font-ja);font-size:var(--text-num);font-weight:var(--weight-bold);color:var(--color-brand);line-height:1;font-variant-numeric:tabular-nums;position:relative}.streak-hero .lbl{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-text-secondary)}.streak-month-nav{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) 0 var(--space-2)}.streak-month-nav .m{font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--color-text)}.streak-month-nav .arrows{display:flex;gap:6px}.streak-month-nav button{width:32px;height:32px;border-radius:10px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--weight-bold);cursor:pointer;display:grid;place-items:center}.streak-month-nav button:disabled{opacity:.35;cursor:default}.streak-cal-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:16px 12px 14px}.streak-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);row-gap:6px;position:relative}.streak-cal-grid .we-wash{position:absolute;top:24px;bottom:0;left:calc(5 / 7 * 100% + 2px);width:calc(2 / 7 * 100% - 4px);border-radius:16px;background:var(--color-bg-success);border:1px dashed var(--color-border);pointer-events:none}.streak-cal-grid .we-tag{position:absolute;bottom:-9px;left:calc(5 / 7 * 100% + 2px);width:calc(2 / 7 * 100% - 4px);display:flex;justify-content:center;pointer-events:none;z-index:2}.streak-cal-grid .we-tag span{background:var(--color-success);color:var(--color-surface);font-size:var(--text-xs);font-weight:var(--weight-medium);border-radius:999px;padding:3px 9px;line-height:1.2}.streak-cal-grid .wd{text-align:center;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-muted);padding-bottom:6px;position:relative;z-index:1}.streak-cal-grid .wd.we{color:var(--color-success)}.streak-cal-grid .day{position:relative;height:44px;display:grid;place-items:center}.streak-cal-grid .day.band:before{content:"";position:absolute;top:5px;bottom:5px;left:0;right:0;background:var(--color-brand-tint)}.streak-cal-grid .day.band-start:before{left:4px;border-radius:17px 0 0 17px}.streak-cal-grid .day.band-end:before{right:4px;border-radius:0 17px 17px 0}.streak-cal-grid .day.band-start.band-end:before{border-radius:17px}.streak-cal-grid .day .d{position:relative;z-index:1;font-family:var(--font-ja);font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.streak-cal-grid .day.future .d{color:var(--color-text-muted);font-weight:var(--weight-medium);opacity:.55}.streak-cal-grid .day.band .d{color:var(--color-brand-strong)}.streak-cal-grid .day.we:not(.star):not(.today) .d{color:var(--color-text-muted);opacity:.55}.streak-cal-grid .day.star .d{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--color-brand-tint);color:var(--color-brand);font-weight:var(--weight-bold)}.streak-cal-grid .day.today .d{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--color-brand);color:var(--color-surface);font-weight:var(--weight-bold)}.streak-stat-row{display:flex;gap:10px;padding-top:14px}.streak-stat-card{flex:1;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:13px 14px 11px;display:flex;align-items:center;gap:10px}.streak-stat-card .ico{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--color-brand-tint);color:var(--color-brand);flex-shrink:0}.streak-stat-card .ico svg{display:block}.streak-stat-card .num{font-family:var(--font-ja);font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--color-text);line-height:1.1;font-variant-numeric:tabular-nums}.streak-stat-card .cap{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-muted)}@media (hover: hover){.streak-month-nav button:hover:not(:disabled){background:var(--color-bg-default)}}.home-v2 .top-actions button.has-badge{position:relative}.home-v2 .top-actions button .topbar-badge{position:absolute;top:-2px;right:-2px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--color-error);color:var(--color-surface);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:16px;text-align:center;border:1px solid white}.page-scroll.announcements{padding:12px 16px 24px}.announce-card{display:flex;flex-direction:column;gap:6px}.announce-head{display:flex;align-items:baseline;gap:8px}.announce-title{margin:0;font-size:var(--text-base);font-weight:var(--weight-bold);line-height:1.4;flex:1}.announce-new{flex-shrink:0;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-surface);background:var(--color-error);border-radius:999px;padding:2px 7px}.announce-date{font-size:var(--text-xs);color:var(--color-text-muted)}.announce-empty{text-align:center;color:var(--color-text-muted);padding:28px 16px}.announce-body.md{font-size:var(--text-sm);line-height:1.7;word-break:break-word}.announce-body.md>*:first-child{margin-top:0}.announce-body.md>*:last-child{margin-bottom:0}.announce-body.md h1,.announce-body.md h2,.announce-body.md h3{font-weight:var(--weight-bold);line-height:1.3;margin:16px 0 6px}.announce-body.md h1{font-size:var(--text-base);padding-bottom:4px;border-bottom:1px solid var(--color-border)}.announce-body.md h2{font-size:var(--text-sm)}.announce-body.md h3{font-size:var(--text-sm);opacity:.7}.announce-body.md p{margin:8px 0}.announce-body.md ul,.announce-body.md ol{margin:8px 0;padding-left:1.4em}.announce-body.md li{margin:3px 0}.announce-body.md a{color:var(--color-brand);text-decoration:underline}.announce-body.md code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;background:#0000000f;padding:1px 5px;border-radius:5px}.announce-body.md pre{background:#0000000f;padding:10px 12px;border-radius:8px;overflow-x:auto}.announce-body.md pre code{background:none;padding:0}.announce-body.md blockquote{margin:8px 0;padding-left:12px;border-left:1px solid var(--color-border);color:var(--color-text-muted)}body{font-family:var(--font-ja);font-size:var(--text-sm);font-weight:var(--weight-regular);line-height:var(--leading-ja);font-kerning:normal;text-rendering:optimizeLegibility}button,input,textarea,select{font-family:var(--font-ja);font-weight:inherit}button{font-size:inherit}:where(h1,h2,h3,h4){font-family:var(--font-ja);font-weight:var(--weight-bold);line-height:var(--leading-tight)}:where(b,strong){font-weight:var(--weight-bold)}.duo-title,.duo-card .lbl,.map-card-title,.library-filter-panel .lbl{font-family:var(--font-ja);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:var(--leading-en);text-transform:none}.home-v2 .streak .num{font-weight:var(--weight-bold)}.home-v2 .streak .lbl{font-weight:var(--weight-medium)}.home-v2 .hero-card .title{font-family:var(--font-ja);font-size:var(--text-xl);font-weight:var(--weight-bold);line-height:1.38}.home-v2 .hero-card .title .sub{font-family:var(--font-ja);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:var(--leading-en);text-transform:none}.bottom-nav .tab .lbl{font-family:var(--font-ja);font-size:var(--text-xs);font-weight:var(--weight-medium)}.sgr-sel-kind{font-weight:var(--weight-medium)}.sgr-sel-nm{font-weight:var(--weight-bold)}.sgr-lbl{font-weight:var(--weight-medium)}.sgr-lbl.cur{font-weight:var(--weight-bold)}.sgr-lbl.gate,.sgr-lbl .g-ch{font-weight:var(--weight-medium)}button,[role=button]{touch-action:manipulation}button:disabled{cursor:not-allowed}:where(button,[role=button],a,select):focus-visible{outline:1px solid var(--color-brand);outline-offset:2px}.app-frame .page-scroll{gap:var(--space-3);padding-right:var(--space-4);padding-left:var(--space-4)}.duo-card{border-width:1px;border-radius:var(--radius-md)}.duo-card{padding:var(--space-3) var(--space-4)}.home-v2 .card{border-radius:var(--radius-md)}.duo-btn{min-height:var(--button-height);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--weight-bold);line-height:1.2;text-transform:none;transition:opacity var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}@media (hover: hover){.duo-btn:hover:not(:disabled){background:var(--color-brand-strong)}.duo-btn.outline:hover:not(:disabled){background:var(--color-brand-tint)}.duo-btn.danger:hover:not(:disabled){background:var(--color-error);opacity:.85}}.home-v2 .cta-pill{min-height:var(--button-height);padding:11px var(--space-4);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--weight-bold);line-height:1.2}.home-v2 .top-actions{gap:var(--space-1)}.home-v2 .top-actions button{width:44px;min-width:44px;height:44px;padding:0;border-radius:var(--radius-sm);transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),opacity var(--duration-fast) var(--ease-standard)}@media (hover: hover){.home-v2 .top-actions button:hover{background:var(--color-brand-tint);opacity:1}}.home-v2 .top-actions button:active{opacity:.6}.home-v2 .learning-route-context-badge{min-height:24px;padding:var(--space-1) var(--space-2)}.learn-mark{background:var(--color-brand-tint);color:var(--color-brand-strong);font-weight:var(--weight-bold);padding:0 1px}.learn-mark.is-tappable{cursor:pointer}.learn-mark.is-playing{background:var(--color-audio-active);color:var(--color-surface)}.library-tabs{gap:var(--space-1);padding:3px var(--space-1);border-radius:var(--radius-sm)}.library-tabs button{min-height:32px;padding:0 var(--space-2);border-radius:var(--radius-sm);font-weight:var(--weight-medium)}.library-sticky-controls{gap:var(--space-3);padding-right:var(--space-4);padding-bottom:var(--space-3);padding-left:var(--space-4)}.media-action-button{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:var(--button-height);min-width:var(--button-height);height:var(--button-height);min-height:var(--button-height);padding:0;border:1px solid var(--color-brand);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-brand);cursor:pointer;transition:opacity var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}@media (hover: hover){.media-action-button:hover:not(:disabled):not(.is-active){border-color:var(--color-brand);background:var(--color-brand-tint)}.media-action-button.is-active:hover:not(:disabled){background:var(--color-brand-tint)}}.media-action-button:active{opacity:.6}.media-action-button:disabled{opacity:.45}.playback-action-button .media-action-icon{fill:currentColor}.playback-action-button.is-active{border-color:var(--color-brand);background:var(--color-surface);color:var(--color-brand)}.favorite-action-button.is-active{color:var(--color-brand)}.audio-orb.audio-orb-labeled{width:58px;height:44px;margin:0;aspect-ratio:auto;gap:1px}.audio-orb.audio-orb-labeled .media-action-icon{width:16px;height:16px}.audio-orb-label{color:currentColor;font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:1;opacity:.75}.media-action-icon{display:block;width:var(--space-6);height:var(--space-6);flex-shrink:0}.audio-orb .media-action-icon{width:var(--space-6);height:var(--space-6)}.media-action-icon.is-loading{animation:media-action-spin var(--duration-slow) linear infinite}@keyframes media-action-spin{to{transform:rotate(360deg)}}.bottom-nav .tab{min-height:60px;padding-top:var(--space-2);padding-bottom:6px}@media (prefers-reduced-motion: reduce){:where(button,[role=button],a){scroll-behavior:auto;transition-duration:.01ms!important}.media-action-icon.is-loading{animation:none}}.phonology-guide-popup{max-width:440px}.phonology-guide-list{display:grid;gap:var(--space-2)}.phonology-guide-list section{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md)}.phonology-guide-list section.is-active{border-color:var(--color-brand);background:var(--color-brand-tint)}.phonology-guide-list h3{margin:0 0 var(--space-1);color:var(--color-text);font-size:var(--text-sm)}.phonology-guide-list p,.phonology-guide-status{margin:0;color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--leading-ja)}.phonology-guide-list .phonology-guide-description{font-size:var(--text-xs);line-height:1.4}.phonology-guide-list .phonology-guide-examples{margin-top:2px;font-size:var(--text-xs);line-height:1.4}.phonology-rule-ex{display:block}.phonology-rule-more{display:block;margin-top:4px;padding:0;border:0;background:none;color:var(--color-brand-strong);font-family:inherit;font-size:var(--text-xs);font-weight:var(--weight-bold);cursor:pointer}.phonology-rule-status{color:var(--color-text-muted)}.scene-speakers{display:flex;gap:12px}.scene-speaker{flex:1;display:flex;gap:10px;align-items:flex-start;min-width:0}.scene-speaker .avatar{width:38px;height:38px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center}.scene-speaker.other .avatar{background:var(--color-brand);color:var(--color-surface)}.scene-speaker.self .avatar{background:var(--color-brand-tint);color:var(--color-brand)}.scene-speaker .avatar.is-current{outline:2.5px solid var(--color-brand);outline-offset:2.5px}.scene-speaker .desc{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--color-text);line-height:1.4;padding-top:2px;min-width:0}.verdict-mark{flex-shrink:0;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center}.verdict-mark svg{width:16px;height:16px;stroke-width:3}.verdict-mark.ok{color:var(--color-success)}.verdict-mark.half{color:var(--color-warning)}.verdict-mark.ng{color:var(--color-error)}.accent-flag{display:inline-block;vertical-align:middle;width:var(--flag-w-sm);height:var(--flag-h-sm);border-radius:var(--flag-radius-sm);object-fit:cover}.choice-illust{display:block;width:var(--space-12);height:var(--space-12);flex-shrink:0}.trace-lens-area{display:contents}.trace-lens-area .line,.trace-lens-area .tl-w,.trace-lens-area .tl-s{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.tl-w,.tl-s{touch-action:pan-y}.trace-lens-area.tl-tappable .tl-w{border-bottom:1px dotted var(--color-brand-faint)}.trace-lens-area.tl-tappable .tl-w.is-sel{border-bottom-color:transparent}.tl-chunk{border-bottom:1px dotted var(--color-brand-faint);padding-bottom:1px}.trace-lens-area.tl-tappable .tl-chunk .tl-w{border-bottom:none}.tl-slash{margin:0 4px;color:var(--color-brand-faint);font-weight:var(--weight-bold)}.tl-w.is-sel,.tl-s.is-sel{padding-top:3px;padding-bottom:1px;background:var(--color-brand-tint)}.tl-w.is-sel-a{margin-left:-4px;padding-left:4px;border-radius:10px 2px 2px 12px}.tl-w.is-sel-b{margin-right:-4px;padding-right:4px;border-radius:2px 12px 10px 2px}.tl-w.is-sel-a.is-sel-b{border-radius:10px 4px 12px}.tl-chip{position:absolute;z-index:70;display:flex;align-items:center;gap:8px;box-sizing:border-box;max-width:calc(100% - 16px);max-height:calc(100% - 16px);padding:0;border-radius:10px;background:var(--color-bg-warning);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-bold);line-height:1.5}.tl-chip-content{display:flex;align-items:center;gap:8px;min-height:0;min-width:0;max-height:var(--tl-max-height);padding:5px 12px 5px 5px;overflow-y:auto;overscroll-behavior:contain}.tl-chip-content>*{flex-shrink:0}.tl-chip-content>.tl-chip-jp{flex-shrink:1}.tl-chip.stack .tl-chip-content{flex-direction:column;align-items:flex-start;gap:7px;padding:9px 12px}.tl-chip:before{content:"";position:absolute;top:-5px;left:var(--tl-caret, 18px);width:10px;height:10px;border-radius:2px;background:var(--color-bg-warning);transform:rotate(45deg)}.tl-chip.flip:before{top:auto;bottom:-5px}.tl-chip .tl-chip-jp{min-width:0}.tl-chip-play{flex:none;display:grid;place-items:center;width:26px;height:26px;padding:0;border:1px solid var(--color-brand);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-brand);cursor:pointer}.tl-chip-play.playing{color:var(--color-brand)}.tl-chip-row{display:flex;align-items:center;gap:8px}.tl-chip-kana{font-size:var(--text-sm);font-weight:var(--weight-bold)}.tl-chip-btn{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border:1px solid var(--color-brand);border-radius:999px;background:var(--color-surface);color:var(--color-brand);font-family:inherit;font-size:var(--text-xs);font-weight:var(--weight-bold);cursor:pointer}.tl-chip-rule.is-open{background:var(--color-brand);color:var(--color-surface)}.tl-chip .tl-chip-ruleinfo{max-width:270px;padding-top:7px;border-top:1px dashed rgba(60,40,10,.25);color:var(--color-warning);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:1.65}.tl-chip .tl-chip-ruleinfo .phonology-rule-ex{color:var(--color-warning)}.tl-chip .tl-rb{flex:none;padding:2.5px 8px;border-radius:999px;color:var(--color-surface);font-size:var(--text-xs);font-weight:var(--weight-medium)}.tl-chip .tl-chip-rule{flex:none;min-height:24px;padding:1px 10px;border:1px solid var(--color-brand);border-radius:999px;background:var(--color-brand-tint);color:var(--color-brand-strong);font-family:inherit;font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:1.35;white-space:nowrap;cursor:pointer}.tl-chip .tl-skel{flex:none;height:13px;margin:0;border-radius:7px;background:var(--color-border);animation:tl-shimmer 1.1s ease-in-out infinite}.tl-chip .tl-part-error{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-bold)}.trace-lens{position:absolute;right:10px;bottom:72px;left:10px;z-index:60;padding:12px 14px 13px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface)}.trace-lens .tl-body{overflow-y:auto;max-height:min(440px,60vh);padding:0 8px 8px;margin:0 -8px -8px;scrollbar-width:none}.trace-lens .tl-body::-webkit-scrollbar{display:none}.trace-lens .tl-x{position:absolute;top:7px;right:9px;display:inline-flex;align-items:center;justify-content:center;padding:4px;border:0;background:transparent;color:var(--color-text-muted);cursor:pointer}.trace-lens .tl-head{display:flex;align-items:center;gap:8px;padding-right:26px}.trace-lens .tl-rb{flex:none;padding:2.5px 8px;border-radius:999px;color:var(--color-surface);font-size:var(--text-xs);font-weight:var(--weight-medium)}:is(.trace-lens,.tl-chip) .tl-rb.link{background:var(--color-brand)}:is(.trace-lens,.tl-chip) .tl-rb.drop{background:var(--color-error)}:is(.trace-lens,.tl-chip) .tl-rb.weak{background:var(--color-success)}:is(.trace-lens,.tl-chip) .tl-rb.morph{background:var(--color-brand)}:is(.trace-lens,.tl-chip) .tl-rb.plain{background:var(--color-text-muted)}:is(.trace-lens,.tl-chip) .tl-rb.pattern{background:var(--color-brand-strong)}.trace-lens .tl-phrase{font-size:var(--text-sm);font-weight:var(--weight-bold);line-height:1.4}.trace-lens .tl-gap{color:var(--color-brand);font-weight:var(--weight-bold)}.trace-lens .tl-row{display:flex;align-items:baseline;gap:9px;margin-top:7px}.trace-lens .tl-lab{flex:none;width:48px;color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-bold);white-space:nowrap}.trace-lens .tl-kana{color:var(--color-brand-strong);font-size:var(--text-base);font-weight:var(--weight-bold);line-height:1.4}.trace-lens .tl-jp{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-bold);line-height:1.55}.trace-lens .tl-note{margin:4px 0 0;padding-left:57px;color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:1.65}.trace-lens .tl-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.trace-lens .tl-error{margin:8px 0 0;color:var(--color-error);font-size:var(--text-xs);font-weight:var(--weight-bold)}.trace-lens .tl-part-error{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-bold)}.trace-lens .tl-skel{height:13px;margin-top:9px;border-radius:7px;background:var(--color-border);animation:tl-shimmer 1.1s ease-in-out infinite}.trace-lens .tl-row .tl-skel{flex:none;margin-top:0;align-self:center}@keyframes tl-shimmer{50%{opacity:.45}}@media (prefers-reduced-motion: reduce){.trace-lens .tl-skel,.tl-chip .tl-skel{animation:none}}body,body *,body *:before,body *:after,#root,#root *,#root *:before,#root *:after{text-shadow:none!important}button:not(:disabled):not([aria-disabled=true]):not(.lesson-step-tab):not(.tcard):not(.radio-now):not(.ep-row):not(.level-opt):not(.step):not(.lx-row):not(.lx-chip):not(.accent-chip),input:is([type=button],[type=submit],[type=reset]):not(:disabled),a[href].duo-btn,[role=button].audio-orb:not([aria-disabled=true]){border-color:var(--color-brand)}.key-vocab{display:flex;flex-direction:column;gap:var(--space-2)}.key-vocab .kv-head{margin:var(--space-2) 0 0;font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--color-text)}.key-vocab .kv-card{display:flex;align-items:center;gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.key-vocab .kv-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.key-vocab .kv-en{margin:0;font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-brand);line-height:var(--leading-tight);overflow-wrap:break-word}.key-vocab .kv-badge{display:inline-block;vertical-align:3px;margin-left:var(--space-2);background:var(--color-brand);color:var(--color-surface);font-size:var(--text-xs);font-weight:var(--weight-medium);padding:1px 5px;border-radius:3px}.key-vocab .kv-badge-review{background:transparent;color:var(--color-text-muted);box-shadow:inset 0 0 0 1px var(--color-border)}.key-vocab .kv-jp{margin:0;font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--color-text);line-height:var(--leading-ja)}.key-vocab .kv-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.key-vocab .playback-action-button:not(:disabled):not(.is-active){background:var(--color-brand);border-color:var(--color-brand);color:var(--color-surface)}@media (hover: hover){.key-vocab .playback-action-button:hover:not(:disabled):not(.is-active){background:var(--color-brand-strong);border-color:var(--color-brand-strong)}}.key-vocab .playback-action-button .media-action-icon{fill:currentColor}.key-vocab .playback-action-button.is-active{background:var(--color-audio-active);border-color:var(--color-audio-active);color:var(--color-surface)}.key-vocab .media-action-button{width:40px;min-width:40px;height:40px;min-height:40px}.key-vocab .media-action-button .media-action-icon{width:20px;height:20px}.lesson-step-tabs-wrap{flex:none;padding:var(--space-2) var(--space-4) var(--space-3)}@media (min-width: 1024px){.lesson-step-tabs-wrap{padding-left:var(--pc-col-pad-left);padding-right:var(--pc-col-pad-right)}}.lesson-step-tabs{display:flex;gap:var(--space-1);padding:3px var(--space-1);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.lesson-step-tab{flex:1;min-width:0;min-height:32px;padding:0 var(--space-2);border:0;border-radius:var(--radius-sm);background:transparent;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;font-family:var(--font-ja);white-space:nowrap;transition:background var(--duration-fast),color var(--duration-fast),opacity var(--duration-fast)}.lesson-step-tab:active{opacity:.6}@media (hover: hover){.lesson-step-tab:hover:not(.is-active):not(:disabled){background:var(--color-bg-default);color:var(--color-text)}}.lesson-step-tab.is-active{background:var(--color-brand);color:var(--color-surface)}.lesson-step-tab:disabled{opacity:.4}.lesson-step-swipe{display:contents}.lesson-step-swipe>*{touch-action:pan-y}.mini-stamps{display:flex;justify-content:space-between;gap:var(--space-1);padding:var(--space-2) 0 0}.mini-stamps i{flex:none;width:28px;height:28px;border-radius:var(--radius-full);display:grid;place-items:center;font-style:normal;font-family:var(--font-num);font-size:var(--text-xs);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted)}.mini-stamps i svg{width:14px;height:14px}.mini-stamps i.now{background:var(--color-brand-tint);border-color:var(--color-brand-tint);color:var(--color-brand-strong)}.mini-stamps i.ok{background:var(--color-brand);border-color:var(--color-brand);color:var(--color-surface);animation:mini-stamp-pop var(--duration-base) var(--ease-spring)}.mini-stamps i.ng{background:var(--color-bg-error);border-color:var(--color-bg-error);color:var(--color-weakpoint)}.mini-stamps i.half{background:var(--color-bg-warning);border-color:var(--color-bg-warning);color:var(--color-warning)}.mini-stamps i.done{background:var(--color-brand-tint);border-color:var(--color-brand-tint);color:var(--color-brand-strong)}@keyframes mini-stamp-pop{0%{transform:scale(.4)}70%{transform:scale(1.18)}to{transform:scale(1)}}@media (prefers-reduced-motion: reduce){.mini-stamps i.ok{animation:none}}.mini-typing{display:inline-flex;gap:4px;align-items:center;height:24px}.mini-typing i{width:6px;height:6px;border-radius:var(--radius-full);background:var(--color-text-muted);animation:mini-typing-bounce 1s ease-in-out infinite}.mini-typing i:nth-child(2){animation-delay:.18s}.mini-typing i:nth-child(3){animation-delay:.36s}@media (prefers-reduced-motion: reduce){.mini-typing i{animation:none}}@keyframes mini-typing-bounce{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}.mini-play-slot,.mini-rec-wrap{position:relative;width:128px;height:128px;display:grid;place-items:center}.mini-rec-wrap svg.mini-ring{position:absolute;top:0;right:0;bottom:0;left:0;transform:rotate(-90deg);pointer-events:none}.mini-repeat-countdown{position:absolute;right:2px;bottom:2px;min-width:28px;color:var(--color-text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;text-align:center}.mini-ring-bg{fill:none;stroke:var(--color-border);stroke-width:8}.mini-ring-fg{fill:none;stroke:var(--color-brand);stroke-width:8;stroke-linecap:round;stroke-dasharray:352;animation:mini-countdown linear forwards}@keyframes mini-countdown{0%{stroke-dashoffset:0}to{stroke-dashoffset:352}}.mini-mark-ok{color:var(--color-brand-strong);border-bottom:2px solid var(--color-brand)}.audio-orb.mini-model-orb:not(.rec){background:var(--color-brand);border-color:var(--color-brand);color:var(--color-surface)}@media (hover: hover){.audio-orb.mini-model-orb:hover:not(.rec):not(.muted):not(:disabled){background:var(--color-brand);border-color:var(--color-brand)}}.audio-orb.mini-model-orb .media-action-icon:not(.is-loading){fill:currentColor}.mini-play-status{position:absolute;bottom:0;color:var(--color-brand);font-size:var(--text-sm)}.mini-footer{display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-3);padding-bottom:max(var(--space-6),env(safe-area-inset-bottom))}.mini-stage-scroll{align-items:stretch;gap:var(--space-4)}.mini-progress{display:flex;justify-content:center}.mini-progress .mini-stamps{padding:0;flex-wrap:wrap;justify-content:center}.mini-question-layout{flex-shrink:0;display:flex;flex-direction:column;align-items:center}.mini-question-guide{width:100%;display:grid;grid-template-rows:60px 28px;gap:var(--space-2);text-align:center;margin-top:var(--space-4)}.mini-instruction{font-size:var(--text-xl);font-weight:var(--weight-medium);line-height:var(--leading-ja);display:flex;align-items:center;justify-content:center;margin:0}.mini-answer-mode{display:flex;justify-content:center;align-items:center;font-size:var(--text-xs);color:var(--color-text-muted)}.mini-question-stage{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);width:100%;padding:0 0 var(--space-6)}.mini-cap{font-size:var(--text-sm);color:var(--color-text-muted)}.mini-rec-line{display:flex;align-items:center;justify-content:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted)}.mini-answer-actions{display:flex;gap:var(--space-3);width:100%;max-width:320px}.mini-answer-actions .duo-btn{flex:1;width:auto;padding:0}.mini-mode-chip{display:inline-flex;gap:var(--space-2);align-items:center;color:var(--color-brand-strong)}.mini-ja-badge{width:28px;height:28px;display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--color-brand);color:var(--color-surface)}.mini-finishing{margin:auto;text-align:center}.mini-finishing p{font-size:var(--text-sm);color:var(--color-text-muted)}.mini-result-greeting{display:flex;align-items:center;gap:var(--space-3);font-weight:var(--weight-medium)}.mini-result-greeting .examiner{width:var(--space-16);height:var(--space-16);flex:none}.mini-result-greeting p{margin:0}.mini-result-greeting.ok p,.mini-result-greeting.half p,.mini-result-greeting.ng p{font-size:var(--text-lg);font-weight:var(--weight-bold)}.mini-result-greeting.ok p{color:var(--color-brand-strong)}.mini-result-greeting.half p{color:var(--color-warning)}.mini-result-greeting.ng p{color:var(--color-error)}.mini-result-card{padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-shrink:0}.mini-result-top{display:flex;align-items:center;gap:var(--space-4)}.mini-result-content{flex:1;min-width:0}.mini-en-script{font-family:var(--font-en);font-size:var(--text-2xl);font-weight:var(--weight-medium);line-height:var(--leading-en);overflow-wrap:anywhere;margin:0}.mini-meaning{font-size:var(--text-xl);color:var(--color-brand-strong);margin:var(--space-2) 0 0}.mini-kana{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-2)}.mini-card-play.playback-action-button{width:var(--space-16);height:var(--space-16);flex:none;border:1px solid var(--color-brand);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-brand)}.mini-card-play .media-action-icon{width:var(--space-8);height:var(--space-8);fill:currentColor}.mini-card-play:hover{background:var(--color-brand-tint)}.mini-answer-row{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-2);margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.mini-answer-label{flex-shrink:0;font-size:var(--text-xs);font-weight:var(--weight-medium);padding:2px 7px;border-radius:var(--radius-full);line-height:1.3;white-space:nowrap;background:var(--color-border);color:var(--color-text-muted)}.mini-answer-row.ok .mini-answer-label{background:var(--color-bg-success);color:var(--color-brand-strong)}.mini-answer-row.half .mini-answer-label{background:var(--color-bg-warning);color:var(--color-warning)}.mini-answer-row.ng .mini-answer-label{background:var(--color-bg-error);color:var(--color-error)}.mini-answer-value{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-1);text-align:left;min-width:0;overflow-wrap:anywhere;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text)}.mini-answer-value.is-unknown{color:var(--color-text-muted)}.mini-recap-score{text-align:center;margin:var(--space-6) 0;color:var(--color-text-muted);font-size:var(--text-sm)}.mini-recap-score strong{color:var(--color-brand-strong);font-size:var(--text-num);font-variant-numeric:tabular-nums}@media (max-height: 600px){.mini-question-guide{grid-template-rows:60px 44px;margin-top:0}}.home-radio-section button,.radio-scr button{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;text-align:inherit;cursor:pointer}.home-radio-section{display:flex;flex-direction:column;gap:var(--space-2)}.home-radio-section .tr-head{display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-1);min-height:32px}.home-radio-section .tr-sec-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-muted)}.home-radio-section .tr-all{display:inline-flex;align-items:center;gap:2px;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-brand);min-height:32px;padding-left:var(--space-2)}@media (hover: hover){.home-radio-section .tr-all{padding-right:var(--space-2);margin-right:calc(-1 * var(--space-2));border-radius:var(--radius-sm);transition:background var(--duration-fast) var(--ease-standard)}.home-radio-section .tr-all:hover{background:var(--color-brand-tint)}.home-radio-section .radio-now{transition:background var(--duration-fast) var(--ease-standard)}.home-radio-section .radio-now:hover{background:var(--color-brand-tint)}.radio-scr .audio-btn,.radio-scr .lyr-btn,.radio-scr .pl-skip{transition:background var(--duration-fast) var(--ease-standard)}.radio-scr .audio-btn.playing:hover:not(:disabled){background:var(--color-brand-strong);border-color:var(--color-brand-strong)}.radio-scr .sub-seg .seg:hover:not(.on){background:var(--color-brand-tint)}.radio-scr .audio-btn:hover:not(.playing):not(:disabled){background:var(--color-brand-strong);border-color:var(--color-brand-strong)}.radio-scr .lyr-btn:hover:not(.on){background:var(--color-brand-tint)}.radio-scr .lyr-btn.on:hover{background:var(--color-brand-strong)}.radio-scr .pl-skip{border-radius:var(--radius-sm)}.radio-scr .pl-skip:hover:not(:disabled){background:var(--color-brand-tint)}.radio-scr button.ep-row{transition:background var(--duration-fast) var(--ease-standard)}.radio-scr button.ep-row:hover{background:var(--color-brand-tint)}}.home-radio-section .tr-all svg{width:14px;height:14px}.home-radio-section .radio-now{display:flex;align-items:center;gap:var(--space-3);width:100%;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2)}.home-radio-section .radio-now .mp-thumb{width:50px;height:50px;border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0;background:var(--color-brand-tint);color:var(--color-brand);display:flex;align-items:center;justify-content:center}.home-radio-section .radio-now .mp-thumb img{width:100%;height:100%;object-fit:cover;display:block}.home-radio-section .radio-now .mp-thumb svg{width:20px;height:20px}.home-radio-section .radio-now .mp-title{flex:1 1 auto;min-width:0;text-align:left}.home-radio-section .radio-now .mp-title b{font-size:var(--text-base);font-weight:var(--weight-bold);line-height:var(--leading-tight)}.radio-scr{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:var(--space-4);padding:calc(var(--space-4) + env(safe-area-inset-top)) var(--space-4) var(--space-4)}.radio-scr svg{display:block}.radio-scr .pl-top{display:flex;align-items:center;gap:var(--space-2);min-height:44px}.radio-scr .pl-title{flex:1 1 auto;text-align:center;font-size:var(--text-base);font-weight:var(--weight-bold)}.radio-scr .scr-center{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;align-items:center;gap:var(--space-4);text-align:center;padding:0 var(--space-4);container-type:size;overflow-y:auto;overscroll-behavior:contain}.radio-scr .scr-center>*{flex-shrink:0}.radio-scr .scr-center>:first-child{margin-top:auto}.radio-scr .scr-center>:last-child{margin-bottom:auto}.radio-scr .big-ico{width:64px;height:64px;border-radius:var(--radius-full);background:var(--color-brand-tint);color:var(--color-brand);display:inline-flex;align-items:center;justify-content:center}.radio-scr .big-ico.reading{background:transparent}.radio-scr .big-ico svg{width:28px;height:28px}.radio-scr .ep-title{font-size:var(--text-xl);font-weight:var(--weight-bold);line-height:var(--leading-tight);margin:0}.radio-scr .audio-btn{width:50px;height:50px;flex-shrink:0;border-radius:var(--radius-full);border:1px solid var(--color-brand);background:var(--color-brand);color:var(--color-surface);display:inline-flex;align-items:center;justify-content:center}.radio-scr .audio-btn.playing{border-color:var(--color-audio-active);background:var(--color-audio-active)}.radio-scr .audio-btn svg{width:20px;height:20px}.radio-scr .radio-art{width:min(100%,clamp(96px,60cqh,240px));aspect-ratio:1;border-radius:var(--radius-md);background:var(--color-brand-tint);color:var(--color-brand);display:flex;align-items:center;justify-content:center;margin:0 auto;overflow:hidden}.radio-scr .radio-art svg{width:32px;height:32px}.radio-scr .radio-art img{width:100%;height:100%;object-fit:cover;display:block}.radio-scr .seek{display:flex;flex-direction:column;gap:var(--space-1);width:100%}.radio-scr .seek-bar{position:relative;height:4px;background:var(--color-border);border-radius:var(--radius-full);background-clip:content-box;padding:10px 0;box-sizing:content-box;cursor:pointer;touch-action:none}.radio-scr .seek-fill{position:absolute;left:0;top:10px;height:4px;background:var(--color-brand);border-radius:var(--radius-full)}.radio-scr .seek-knob{position:absolute;top:12px;transform:translate(-50%,-50%);width:14px;height:14px;border-radius:var(--radius-full);background:var(--color-brand)}.radio-scr .seek-times{display:flex;justify-content:space-between;font-family:var(--font-num);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.radio-scr .pl-controls{display:flex;align-items:center;justify-content:center;gap:var(--space-6)}.radio-scr .pl-skip{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;color:var(--color-text)}.radio-scr .pl-skip svg{width:22px;height:22px}.radio-scr .lyr-btn{min-height:44px;padding:0 var(--space-4);border:1px solid var(--color-brand);color:var(--color-brand);background:var(--color-surface);border-radius:var(--radius-full);display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);font-weight:var(--weight-medium);margin:0 auto}.radio-scr .lyr-btn.on{background:var(--color-brand);color:var(--color-surface);border-color:transparent;font-weight:var(--weight-bold)}.radio-scr .lyr-btn svg{width:16px;height:16px}.radio-scr .lyrics{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4) var(--space-2)}.radio-scr .lyr-line{font-family:var(--font-en);font-size:var(--text-lg);font-weight:var(--weight-bold);line-height:var(--leading-en);color:var(--color-text-muted);margin:0;text-align:left}.radio-scr .lyr-line.now{color:var(--color-audio-active);font-size:var(--text-xl)}.radio-scr .ep-relation{font-size:var(--text-xs);color:var(--color-text-muted);margin:calc(-1 * var(--space-2)) 0 0}.radio-scr .sub-seg{display:inline-flex;align-self:center;background:var(--color-bg-default);border-radius:var(--radius-full);padding:3px;gap:2px;flex-shrink:0}.radio-scr .sub-seg .seg{min-width:64px;text-align:center;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-muted);padding:6px 12px;border-radius:var(--radius-full);border:none}.radio-scr .sub-seg .seg.on{background:var(--color-surface);color:var(--color-text);font-weight:var(--weight-bold)}.radio-scr .lyr-line.ja{font-family:inherit;font-size:var(--text-base);font-weight:var(--weight-medium);line-height:var(--leading-ja)}.radio-scr .lyr-line.ja.now{font-size:var(--text-lg);font-weight:var(--weight-bold)}.radio-scr .lyrics.both{gap:var(--space-3)}.radio-scr .lyr-pair{display:flex;flex-direction:column;gap:2px;text-align:left}.radio-scr .lyr-pair .lyr-line{font-size:var(--text-base)}.radio-scr .lyr-pair.now .lyr-line{font-size:var(--text-xl);color:var(--color-audio-active)}.radio-scr .lyr-sub{font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--leading-ja);margin:0}.radio-scr .nx-chip-wrap{text-align:center;margin:0 0 var(--space-3)}.radio-scr .list-scroll{flex:1 1 auto;min-height:0;overflow-y:auto}.radio-scr .ep-list{display:flex;flex-direction:column;gap:var(--space-3)}.radio-scr .ep-row{width:100%;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);min-height:86px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.radio-scr .nx-note{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-brand);font-size:var(--text-xs)}.radio-scr .nx-note svg{width:14px;height:14px}@media (min-width: 1024px){.radio-scr .ep-row{padding:var(--space-4) calc(var(--space-4) + var(--space-1));gap:var(--space-4);min-height:102px}.radio-scr .ep-row .ep-thumb{width:68px;height:68px}.radio-scr .ep-row .ep-info b{font-size:var(--text-base)}}.radio-scr .ep-thumb{width:56px;height:56px;border-radius:var(--radius-sm);background:var(--color-brand-tint);color:var(--color-brand);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.radio-scr .ep-thumb svg{width:20px;height:20px}.radio-scr .ep-thumb img{width:100%;height:100%;object-fit:cover;display:block}.radio-scr .ep-info{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:var(--space-1);text-align:left}.radio-scr .ep-info b{font-size:var(--text-sm);font-weight:var(--weight-bold);line-height:var(--leading-tight)}.radio-scr .ep-info span{font-size:var(--text-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.pulse{position:relative;overflow:visible}.pulse svg{position:relative;z-index:1}.pulse i{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;border:1.5px solid var(--color-brand);opacity:0;animation:radio-ripple 2.4s ease-out infinite;pointer-events:none}.pulse i:nth-child(2){animation-delay:1.2s}@keyframes radio-ripple{0%{transform:scale(1);opacity:.55}70%,to{transform:scale(1.7);opacity:0}}.home-radio-section .radio-now.preparing{border-color:var(--color-border);cursor:default}.home-radio-section .radio-now.preparing .mp-thumb{background:var(--color-surface)}.home-radio-section .radio-now.preparing .mp-title{display:flex;flex-direction:column;gap:var(--space-1)}.home-radio-section .radio-now.preparing .mp-title b{color:var(--color-text);font-weight:var(--weight-bold);font-size:var(--text-sm)}.home-radio-section .radio-now.preparing .mp-title span,.radio-scr .ep-row.preparing .ep-info span{font-size:var(--text-xs);color:var(--color-text-muted)}.home-radio-section .radio-now.preparing.failed .mp-thumb,.radio-scr .ep-row.preparing.failed .ep-thumb{background:var(--color-bg-default);color:var(--color-text-muted)}.home-radio-section .radio-now.preparing.failed{cursor:pointer}.home-radio-section .radio-now.preparing.failed .mp-title span,.radio-scr .ep-row.preparing.failed .ep-info span{color:var(--color-brand)}.radio-scr .ep-row.preparing .ep-info b{color:var(--color-text);font-weight:var(--weight-bold)}.radio-scr .ep-row.preparing:not(.failed) .ep-thumb{background:var(--color-surface)}.radio-scr .prep-word{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.radio-scr .prep-retry{background:none;border:0;padding:0;color:var(--color-brand);cursor:pointer}@media (prefers-reduced-motion: reduce){.pulse i{animation:none}}@media (min-width: 1024px){.radio-scr{padding-top:var(--space-6);padding-bottom:var(--space-6);padding-left:var(--pc-col-pad-left);padding-right:var(--pc-col-pad-right)}.radio-scr .pl-top{margin-bottom:var(--space-2)}.radio-scr .lyrics{padding-left:0;padding-right:0}}.mini-player{position:relative;display:flex;align-items:center;gap:var(--space-2);flex-shrink:0;margin:0 var(--space-4);padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;view-transition-name:mini-player;z-index:5}.mini-player:last-child{margin-bottom:calc(var(--space-2) + env(safe-area-inset-bottom))}.mini-player button{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;text-align:inherit;cursor:pointer}.mini-player svg{display:block}.mini-player .mp-open{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:var(--space-3)}.mini-player .mp-thumb{width:var(--space-12);height:var(--space-12);border-radius:var(--radius-sm);background:var(--color-brand-tint);color:var(--color-brand);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.mini-player .mp-thumb svg{width:20px;height:20px}.mini-player .mp-thumb img{width:100%;height:100%;object-fit:cover;display:block}.mini-player .mp-meta{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px;text-align:left}.mini-player .mp-meta b{font-size:var(--text-sm);font-weight:var(--weight-bold);line-height:var(--leading-tight);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-player .mp-meta span{font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--leading-tight)}.mini-player .mp-btn{width:44px;height:44px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--color-brand)}.mini-player .mp-btn svg{width:22px;height:22px}.mini-player .mp-close{color:var(--color-text-muted)}.mini-player .mp-prog{position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--color-border)}.mini-player .mp-prog i{display:block;height:100%;background:var(--color-brand)}.mini-player.failed .mp-thumb{background:var(--color-bg-default);color:var(--color-text-muted)}.mini-player.failed .mp-meta b{font-weight:var(--weight-medium);color:var(--color-text-muted)}@media (hover: hover){.mini-player .mp-open,.mini-player .mp-btn{border-radius:var(--radius-sm);transition:background var(--duration-fast) var(--ease-standard)}.mini-player .mp-open:hover,.mini-player .mp-btn:hover{background:var(--color-bg-default)}}@media (min-width: 1024px){.mini-player,.mini-player:last-child{margin:0 var(--pc-col-pad-right) var(--space-6) var(--pc-col-pad-left)}}.home-radio-section .radio-eq{display:inline-flex;align-items:flex-end;gap:2px;height:14px;margin-left:auto;margin-right:var(--space-2);flex-shrink:0}.home-radio-section .radio-eq i{width:2px;border-radius:var(--radius-full);background:var(--color-audio-active);animation:radio-eq .9s var(--ease-standard) infinite alternate}.home-radio-section .radio-eq i:nth-child(1){height:6px}.home-radio-section .radio-eq i:nth-child(2){height:14px;animation-delay:.15s}.home-radio-section .radio-eq i:nth-child(3){height:9px;animation-delay:.3s}@keyframes radio-eq{0%{transform:scaleY(.45)}to{transform:scaleY(1)}}@media (prefers-reduced-motion: reduce){.home-radio-section .radio-eq i{animation:none}}.home-radio-rows{display:flex;flex-direction:column;gap:var(--space-2)}@media (min-width: 1280px){.home-rail .radio-now{height:calc(50px + var(--space-2) * 2 + 2px);flex-shrink:0}.home-rail .radio-now .mp-title b{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}}.lx-seg{margin:0 0 var(--space-3)}.lx-swipe{touch-action:pan-y}.lx-tab{display:flex;flex-direction:column;gap:var(--space-3)}.lx-sub{margin:var(--space-1) 0 0;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-muted)}.lx-stat-label{font-size:var(--text-sm);color:var(--color-text);font-weight:var(--weight-medium)}.lx-stat-label small{color:var(--color-text-muted)}.lx-counts{margin:var(--space-3) 0 0;font-size:var(--text-xs);color:var(--color-text-muted)}.lx-counts b{display:inline;color:var(--color-brand-strong)}.lx-card .lx-personal-note{margin:0 var(--space-4) var(--space-3);font-size:var(--text-xs);color:var(--color-text-muted)}.lx-stat-val{display:flex;align-items:baseline;gap:var(--space-2);margin-top:var(--space-1);font-variant-numeric:tabular-nums}.lx-stat-val b{font-family:var(--font-num);font-size:var(--text-hero);font-weight:var(--weight-bold);line-height:1.1}.lx-stat-goal{font-family:var(--font-num);font-size:var(--text-sm);color:var(--color-text-muted)}.lx-stat-track{height:4px;margin-top:var(--space-2);border-radius:var(--radius-full);background:var(--color-border);overflow:hidden}.lx-stat-track i{display:block;height:100%;background:var(--color-brand)}.lx-scale{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3);font-size:var(--text-xs);color:var(--color-text-muted)}.lx-scale-dots{display:flex;gap:var(--space-1)}.lx-scale-dots i{display:block;width:8px;height:8px;border-radius:var(--radius-full)}.lx-card{padding:0}.lx-card-head{display:flex;align-items:center;padding:var(--space-3) var(--space-3) var(--space-2) var(--space-4)}.lx-card-title{display:flex;flex-wrap:wrap;min-width:0;align-items:baseline;gap:var(--space-2);font-size:var(--text-base);font-weight:var(--weight-bold)}.lx-frac{white-space:nowrap;font-family:var(--font-num);font-size:var(--text-xs);font-weight:var(--weight-regular);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.lx-frac b{display:inline;color:var(--color-brand-strong);font-weight:var(--weight-bold)}.lx-tab .lx-window{display:block;position:relative;width:calc(100% - var(--space-3) * 2);height:160px;margin:0 var(--space-3) var(--space-3);padding:0;border:1px solid var(--color-sphere-border);border-radius:var(--radius-md);background:var(--color-sphere-bg);overflow:hidden}.lx-tab .lx-stat .lx-overview-window{width:100%;height:250px;margin:var(--space-3) 0 0}.lx-hint{position:absolute;right:var(--space-3);bottom:var(--space-2);font-family:var(--font-en);font-size:10px;font-weight:var(--weight-medium);letter-spacing:.14em;color:var(--color-sphere-hint)}.lx-window-retry{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;color:var(--color-sphere-text-muted);cursor:pointer}.lx-sphere{position:absolute;top:0;right:0;bottom:0;left:0}.lx-sphere canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.lx-sphere .lx-gl{pointer-events:none}.lx-sphere.is-interactive .lx-labels{touch-action:none;cursor:grab}.lx-sphere:not(.is-interactive) .lx-labels{pointer-events:none}.lx-detail{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;flex-direction:column;background:var(--color-sphere-bg)}.lx-detail>*{--color-bg-default: var(--color-sphere-surface);--color-surface: var(--color-sphere-bg);--color-text: var(--color-sphere-text);--color-text-muted: var(--color-sphere-text-muted);--color-border: var(--color-sphere-border-strong);--color-brand-tint: var(--color-sphere-brand-tint);color-scheme:dark;color:var(--color-text)}.lx-detail-head{flex:none;display:flex;align-items:center;gap:var(--space-1);min-height:44px;padding:env(safe-area-inset-top) var(--space-2) 0;background:var(--color-surface);border-bottom:0}.lx-detail-title{flex:1;display:flex;align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-2);border:0;background:none;color:inherit;text-align:left;cursor:pointer}.lx-detail-title h1{margin:0;font-size:var(--text-base);font-weight:var(--weight-bold)}.lx-detail .lx-frac b{color:var(--color-text-muted);font-weight:var(--weight-regular)}.lx-chips{flex:none;display:flex;gap:var(--space-2);padding:var(--space-2) var(--space-3);overflow-x:auto;scrollbar-width:none;background:var(--color-surface);border-bottom:0}.lx-chips::-webkit-scrollbar{display:none}.lx-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:none;display:inline-flex;align-items:center;gap:var(--space-1);min-height:32px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-sphere-text-soft);font-family:inherit;font-size:var(--text-xs);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.lx-chip small{font-family:var(--font-en);font-weight:inherit;color:inherit}.lx-chip.is-on{border-color:var(--color-brand);background:var(--color-brand);color:var(--color-sphere-text)}.lx-stage{flex:1;min-height:0;position:relative;background:var(--color-sphere-bg)}.app-frame:has(.lx-detail) .bottom-nav,.app-frame:has(.lx-detail) .mini-player{display:none}.lx-controls{--color-brand: var(--color-sphere-text);--color-brand-tint: var(--color-sphere-surface);position:relative;flex:none;padding:var(--space-2) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom))}.lx-zooms{position:absolute;right:var(--space-3);bottom:calc(100% + var(--space-2));display:flex;flex-direction:column;gap:var(--space-2)}.lx-morph{min-width:0}.lx-morph-lbls{display:flex;justify-content:space-between;margin-bottom:var(--space-2);font-family:var(--font-en);font-size:10px;font-weight:var(--weight-medium);letter-spacing:.1em;color:var(--color-text-muted)}.lx-morph input{display:block;width:100%;height:28px;margin:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;cursor:pointer;touch-action:pan-x}.lx-morph input::-webkit-slider-runnable-track{height:2px;border-radius:var(--radius-full);background:linear-gradient(to right,var(--color-brand) 0 var(--p, 0%),var(--color-border) var(--p, 0%) 100%)}.lx-morph input::-moz-range-track{height:2px;border-radius:var(--radius-full);background:var(--color-border)}.lx-morph input::-moz-range-progress{height:2px;border-radius:var(--radius-full);background:var(--color-brand)}.lx-morph input::-webkit-slider-thumb{width:18px;height:18px;margin-top:-8px;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:2px solid var(--color-brand);border-radius:var(--radius-full);background:var(--color-surface)}.lx-morph input::-moz-range-thumb{width:14px;height:14px;border:2px solid var(--color-brand);border-radius:var(--radius-full);background:var(--color-surface)}.lx-zoom-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-brand);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-brand)}.lx-sheet-body{display:flex;flex-direction:column;gap:var(--space-3)}.lx-grp-card{flex-shrink:0;display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.lx-grp-card>.lx-row{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:44px;padding:var(--space-2) var(--space-4);border:0;border-bottom:1px solid var(--color-border);background:none;color:var(--color-text);font-family:inherit;text-align:left}.lx-grp-card>.lx-row:last-child{border-bottom:0}.lx-row.is-tappable{cursor:pointer}.lx-row-en{font-family:var(--font-en);font-size:var(--text-base);line-height:1.35}.lx-row-texts{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.lx-ret-dot{flex:none;width:10px;height:10px;border-radius:var(--radius-full)}.lx-ret-dot.is-empty{background:var(--color-surface);border:1px solid var(--color-border)}.lx-empty{margin:0;padding:var(--space-3);text-align:center;font-size:var(--text-xs);color:var(--color-text-muted)}.lx-snd{background:var(--color-brand-tint);color:var(--color-brand-strong);font-weight:var(--weight-bold)}.lx-item-title{display:inline-flex;max-width:100%;align-items:center;gap:var(--space-2)}.lx-ja-line{margin:0;font-size:var(--text-sm);color:var(--color-text-muted)}.lx-grp-card>.lx-heard{flex-direction:column;align-items:flex-start;gap:2px}.lx-heard[aria-disabled=true]{cursor:default}.lx-heard-meta{font-size:var(--text-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums}@media (min-width: 1024px){.lx-detail{background:var(--color-surface)}.lx-detail:before{content:"";position:absolute;inset:0 var(--pc-col-pad-right) 0 var(--pc-col-pad-left);z-index:-1;background:var(--color-sphere-bg)}.lx-detail-head{min-height:calc(var(--space-6) + var(--header-height));padding:var(--space-6) var(--pc-col-pad-right) 0 var(--pc-col-pad-left);background:transparent}.lx-chips{padding:var(--space-2) var(--pc-col-pad-right) var(--space-2) var(--pc-col-pad-left);background:transparent}.lx-detail .lx-stage{background:transparent}.lx-detail .lx-sphere{left:var(--pc-col-pad-left);right:var(--pc-col-pad-right);background:var(--color-sphere-bg)}.lx-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:var(--space-4);padding:var(--space-3) calc(var(--pc-col-pad-right) + var(--space-4)) var(--space-6) calc(var(--pc-col-pad-left) + var(--space-4))}.lx-morph{grid-column:1}.lx-zooms{position:static;grid-column:2;justify-self:end;flex-direction:row}}@media (hover: hover){.lx-zoom-btn:hover:not(:disabled),.lx-chip:hover:not(:disabled):not(.is-on){background:var(--color-brand-tint)}.lx-chip.is-on:hover:not(:disabled){background:var(--color-brand-strong);border-color:var(--color-brand-strong)}.lx-window-retry:hover{color:var(--color-sphere-text)}}.lx-link-row{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;margin-top:var(--space-2);padding:var(--space-2) 0;border:0;background:transparent;color:var(--color-brand-strong);font-family:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);text-align:left}.lx-explore{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;border:0;background:transparent;color:var(--color-sphere-text);cursor:pointer}.lx-explore .lx-hint{color:var(--color-sphere-text);display:inline-flex;align-items:center;gap:var(--space-2)}.lx-explore .lx-plus{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-brand);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-brand)}.lx-explore:focus-visible{outline:2px solid var(--color-brand);outline-offset:-3px}@media (hover: hover){.lx-explore:hover{box-shadow:inset 0 0 0 1px var(--color-brand);border-radius:inherit}}.lx-row-sub{font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.5}.lx-hint.muted{color:var(--color-sphere-text-muted)}.legal-doc{display:flex;flex:1 1 auto;flex-direction:column;min-height:140px}.legal-doc-heading{margin:0 0 var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-bold)}.legal-doc-next{margin-top:var(--space-8)}.legal-doc-subdocument{margin-top:var(--space-4)}.legal-doc-separated .legal-doc-section:not(.legal-doc-subdocument)>.legal-doc-heading{margin-bottom:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-brand-strong);background:var(--color-brand-tint);font-size:var(--text-base)}.legal-doc-separated .legal-doc-next{margin-top:var(--space-4);padding-top:var(--space-4);border-top:var(--border-width) solid var(--color-border)}.legal-doc-body{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;overflow-wrap:anywhere;font-size:var(--text-sm);line-height:1.7}.legal-doc-markdown>:first-child{margin-top:0}.legal-doc-markdown h3{margin:var(--space-4) 0 var(--space-2);font-size:var(--text-sm)}.legal-doc-markdown h4{margin:var(--space-4) 0 var(--space-1);font-size:var(--text-sm)}.legal-doc-markdown h5,.legal-doc-markdown h6{margin:var(--space-3) 0 var(--space-1);font-size:var(--text-sm)}.legal-doc-markdown h6{margin-top:var(--space-2)}.legal-doc-markdown p,.legal-doc-markdown ul{margin:2px 0}.legal-doc-markdown ul{padding-left:var(--space-6)}.page-scroll.legal-screen{gap:var(--space-3);padding-top:calc(var(--space-6) + env(safe-area-inset-top));padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom))}.app-shell .app-page>.page-scroll.login-screen{display:block;overflow-x:hidden;background:var(--color-bg-default);color:var(--color-text);font-family:var(--font-ja);font-feature-settings:normal}.login-layout{min-height:100%;display:flex;flex-direction:column;overflow:hidden}.login-brand{width:min(calc(var(--container-max-wide) * 2),100%);margin:0 auto;padding:var(--space-12) var(--space-16) 0}.login-wordmark{display:block;width:calc(var(--space-16) * 2 + var(--space-12));height:auto}.login-welcome{width:min(calc(var(--container-max-wide) + var(--rail-width) + var(--space-16)),100%);margin:auto;padding:var(--space-8) var(--space-16) var(--space-16) var(--space-3);display:grid;grid-template-columns:minmax(0,1.5fr) minmax(var(--overlay-card-max-width),1fr);align-items:center;gap:var(--space-12)}.login-journey{position:relative;min-width:0}.login-journey-art{display:block;width:100%;height:auto;overflow:visible}.login-sign-in{width:100%;max-width:var(--container-max);padding-top:var(--space-3)}.login-headline{margin:0;font-size:var(--text-hero);font-weight:var(--weight-bold);line-height:var(--leading-ja)}.login-headline span{display:block;white-space:nowrap}.login-title{margin:0 0 var(--space-6);color:var(--color-text);font-size:var(--text-2xl);font-weight:var(--weight-bold);line-height:var(--leading-ja)}.login-auth{margin-top:var(--space-12)}.login-legal{margin:var(--space-4) 0 0;color:var(--color-text-muted);text-align:center;font-size:var(--text-xs);line-height:var(--leading-ja)}.login-keiko-sway{transform-box:fill-box;transform-origin:45% 95%;animation:login-sway 3.8s ease-in-out 1}.login-sparkle{transform-box:fill-box;transform-origin:center;animation:login-sparkle 1.6s .8s 1}@keyframes login-sway{0%,to{transform:rotate(0)}28%{transform:rotate(-5deg)}65%{transform:rotate(3deg)}}@keyframes login-sparkle{0%,to{transform:scale(1)}50%{transform:scale(1.2) rotate(12deg)}}@media (min-width: 1500px){.login-welcome{gap:var(--space-16)}}@media (max-width: 1000px) and (min-width: 701px){.login-brand{padding:var(--space-8) var(--space-8) 0}.login-welcome{padding:var(--space-8) var(--space-8) var(--space-16) 0;gap:var(--space-3);grid-template-columns:minmax(0,1fr) minmax(var(--rail-width),1fr)}.login-headline{font-size:var(--text-2xl)}}@media (max-width: 700px){.login-layout{min-height:100%}.login-brand{padding:calc(var(--space-12) + env(safe-area-inset-top)) var(--space-6) 0}.login-wordmark{width:calc(var(--space-16) * 2 + var(--space-12));height:auto;margin:0 auto}.login-welcome{flex:1;width:100%;margin:0;padding:0 var(--space-6) calc(var(--space-8) + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:0}.login-journey{flex:1;width:min(var(--container-max),calc(100% + var(--space-6) * 2));min-height:calc(var(--space-16) * 4);display:flex;align-items:center;justify-content:center;margin:0 calc(-1 * var(--space-6))}.login-journey-art{width:112%;flex-shrink:0}.login-sign-in{max-width:var(--container-max);padding-top:0}.login-headline{font-size:var(--text-2xl);line-height:var(--leading-ja);text-align:center}.login-auth{margin-top:var(--space-6)}.login-legal{margin-top:var(--space-4);font-size:var(--text-xs)}}.login-gis{display:flex;justify-content:center;align-items:center;min-height:var(--space-16)}.login-cta{flex-shrink:0}.login-notice{margin-bottom:var(--space-3)}.login-legal a,.login-doc-link{color:inherit;text-decoration:underline;text-underline-offset:var(--space-1);white-space:nowrap}.login-doc-link{padding:0;border:0;background:none;font:inherit;cursor:pointer}@media (prefers-reduced-motion: reduce){.login-keiko-sway,.login-sparkle{animation:none}}.embedded-payment{width:100%;max-width:560px;margin-inline:auto}.plan-headline{margin:var(--space-1) 0 var(--space-2);font-size:var(--text-xl);font-weight:var(--weight-bold);line-height:var(--leading-tight);color:var(--color-text)}.plan-lead{margin:0;font-size:var(--text-sm);line-height:var(--leading-ja);color:var(--color-text-secondary)}.plan-facts{display:flex;flex-direction:column;gap:var(--space-2);margin:0}.plan-fact{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-4)}.plan-fact dt{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-muted)}.plan-fact dd{margin:0;font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-text);text-align:right}.plan-fact .num{font-family:var(--font-num);font-variant-numeric:tabular-nums}.plan-actions{display:flex;flex-direction:column;gap:var(--space-2)}.plan-note{margin:0;font-size:var(--text-xs);line-height:var(--leading-ja);color:var(--color-text-muted)}.plan-current-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3)}.plan-trial-badge{display:flex;flex-direction:column;gap:var(--space-1);text-align:right;color:var(--color-brand-strong);font-size:var(--text-xs)}.plan-trial-badge strong{font-size:var(--text-sm)}.plan-compare-table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:var(--text-sm);line-height:var(--leading-ja)}.plan-compare-table th,.plan-compare-table td{padding:var(--space-3) var(--space-2);text-align:center;overflow-wrap:anywhere;border-bottom:var(--border-width) solid var(--color-border)}.plan-column-name{display:block;font-size:var(--text-xs);font-weight:var(--weight-medium)}.plan-compare-table th:first-child{width:29%;text-align:left;font-weight:var(--weight-medium);color:var(--color-text-secondary)}.plan-compare-table tr>:last-child{background:color-mix(in srgb,var(--color-brand-tint) 45%,var(--color-surface));color:var(--color-brand-strong);font-weight:var(--weight-bold)}.plan-compare-table thead th{vertical-align:top}.plan-compare-table thead th:last-child{background:var(--color-brand-tint);border-radius:var(--radius-sm) var(--radius-sm) 0 0}.plan-compare-table tbody tr:last-child>*{border-bottom:0}.plan-compare-table tbody tr:last-child td:last-child{border-radius:0 0 var(--radius-sm) var(--radius-sm)}.plan-column-label,.plan-cell-note{display:block;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-muted)}.plan-price{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-2);font-size:var(--text-xl);font-variant-numeric:tabular-nums;line-height:var(--leading-tight)}.plan-price>span{white-space:nowrap;font-size:var(--text-xs);font-weight:var(--weight-medium)}.plan-checkout,.plan-comparison{display:flex;flex-direction:column;gap:var(--space-4)}.plan-comparison>.plan-headline{margin:0;font-size:var(--text-lg)}.plan-checkout .plan-actions{gap:var(--space-3)}.plan-checkout-terms{display:flex;flex-direction:column;gap:var(--space-1)}.plan-paid{width:100%;max-width:var(--container-max);margin-inline:auto;display:flex;flex-direction:column;gap:var(--space-4)}.duo-card.plan-paid-card{padding:var(--space-6) var(--space-4)}.plan-paid-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);padding-bottom:var(--space-6)}.plan-paid-heading .plan-headline{margin-bottom:0;font-size:var(--text-2xl)}.plan-renewal-status{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-full);padding:var(--space-1) var(--space-2);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium)}.plan-paid .plan-facts{gap:0}.plan-paid .plan-fact{padding-block:var(--space-3);border-top:var(--border-width) solid var(--color-border)}.plan-paid .plan-fact dd{flex-shrink:0;font-weight:var(--weight-medium)}.plan-paid .plan-fact .num{font-weight:var(--weight-bold)}.plan-paid .plan-renewal{margin-top:var(--space-3);padding-top:var(--space-4);padding-bottom:0;flex-wrap:wrap;column-gap:var(--space-2);row-gap:var(--space-1)}.plan-paid .plan-renewal dd{margin-left:auto}.plan-paid-actions .plan-payment-action{display:flex;align-items:center;background:var(--color-surface);color:var(--color-text);justify-content:flex-start;gap:var(--space-3);font-size:var(--text-sm);font-weight:var(--weight-medium)}.plan-payment-action>svg{color:var(--color-brand);flex-shrink:0}.plan-payment-action>svg:last-child{margin-left:auto}.plan-paid-actions .plan-cancel-action{background:var(--color-error);color:var(--color-surface);border:0;align-self:center;width:auto;margin-top:var(--space-3);padding-inline:var(--space-4);font-size:var(--text-sm);font-weight:var(--weight-medium)}@media (hover: hover){.plan-paid-actions .duo-btn.plan-cancel-action:hover:not(:disabled){background:var(--color-error);opacity:.8}}
