.lesson-preparation{flex-shrink:0;margin:8px var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);overflow:hidden;z-index:5}.lesson-preparation button{font-family:inherit;cursor:pointer}.lesson-preparation-heading{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border:0;background:transparent;color:var(--color-brand);text-align:left;font-size:12px}.lesson-preparation-heading strong{flex:1}.lesson-preparation-list{max-height:190px;overflow-y:auto}.lesson-preparation-row{display:flex;align-items:center;gap:8px;padding:10px 12px;border-top:1px solid var(--color-border)}.lesson-preparation-row>svg{flex-shrink:0;color:var(--color-brand)}.lesson-preparation-row.failed>svg{color:#b3492c}.lesson-preparation-copy{min-width:0;flex:1;display:grid;gap:4px}.lesson-preparation-copy strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-preparation-copy span,.lesson-preparation-list p{font-size:11px}.lesson-preparation-open{border:0;border-radius:20px;background:var(--color-brand);color:#fff;padding:7px 10px;font-size:11px;white-space:nowrap}.lesson-preparation-dismiss{display:flex;padding:6px;background:transparent;border:0;color:var(--color-text)}.lesson-preparation-progress{height:3px;background:var(--color-border);border-radius:3px;overflow:hidden}.lesson-preparation-progress i{display:block;width:35%;height:100%;background:var(--color-brand);animation:preparation-progress 1.6s ease-in-out infinite}.preparation-spinner{animation:preparation-spin 1.5s linear infinite}.pinpoint-prepare-note{margin:12px 20px;font-size:12px;line-height:1.7;color:var(--color-text);text-align:center}@keyframes preparation-progress{0%{transform:translate(-100%)}to{transform:translate(390%)}}@keyframes preparation-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.preparation-spinner,.lesson-preparation-progress i{animation:none}}:root{--first-guide-ring: 0 0 0 var(--space-1) var(--color-surface), 0 0 0 var(--space-2) var(--color-brand-tint);--first-guide-text-pad: 3px}.first-guide-callout{position:relative;width:100%;text-align:left}.first-guide-callout .speech-bubble{text-wrap:pretty}.first-guide-callout-extra{margin:var(--space-2) 0 0 calc(56px + var(--space-4));font:var(--weight-medium) var(--text-sm) / var(--leading-ja) var(--font-ja)}.first-guide-callout-extra p{margin:0;color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-ja);text-wrap:pretty}.first-guide-callout-extra>*+*{margin-top:var(--space-2)}.first-guide-callout-extra .duo-btn{display:flex;align-items:center;justify-content:center;min-height:var(--button-height);height:auto;width:100%;margin-top:var(--space-3);font:var(--weight-bold) var(--text-sm) / var(--leading-ja) var(--font-ja);white-space:normal}.first-guide-callout :is(button,a){transition:opacity var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.first-guide-callout :is(button,a):active{opacity:.6}.first-guide-callout :is(button,a):focus-visible{outline:var(--border-width) solid var(--color-brand);outline-offset:var(--space-1)}.first-guide-blocked{opacity:.45;cursor:default}.first-guide-anchor{width:100%}.first-guide-home-standalone{margin-bottom:var(--space-4)}.first-guide-spot-layer{position:fixed;inset:0 auto auto 0;z-index:calc(var(--z-app-chrome) + 1);animation:first-guide-fade var(--duration-slow) var(--ease-standard) both}.first-guide-spot-hole{position:fixed;left:var(--spot-x);top:var(--spot-y);width:var(--spot-w);height:var(--spot-h);border-radius:var(--radius-md);box-shadow:0 0 0 100vmax color-mix(in srgb,var(--color-text) 55%,transparent);pointer-events:none}.first-guide-spot-hole[data-cleared]{opacity:0}.first-guide-spot-ring{position:fixed;left:var(--spot-ring-x);top:var(--spot-ring-y);width:var(--spot-ring-w);height:var(--spot-ring-h);box-shadow:var(--first-guide-ring);pointer-events:none;animation:first-guide-fade var(--duration-slow) var(--ease-standard) both}.first-guide-spot-ring:after{content:"";position:absolute;inset:calc(-1 * var(--space-1));border-radius:inherit;animation:first-guide-breathe 1.6s var(--ease-standard) infinite}:root:has(.first-guide-target:is(.tl-chunk,.tl-w)) .first-guide-spot-ring{box-shadow:none}:root:has(.first-guide-target:is(.tl-chunk,.tl-w)) .first-guide-spot-ring:after{inset:calc(-1 * (var(--first-guide-text-pad) + var(--border-width)));border-radius:calc(var(--radius-sm) + var(--first-guide-text-pad))}:root:has(.first-guide-spot-ring:not([hidden])) .first-guide-target:after{content:none}.first-guide-spot-layer .first-guide-spot{position:fixed;left:var(--spot-x);top:var(--spot-say-y);width:var(--spot-w)}.first-guide-spot>:not(.keiko-row){margin-top:var(--space-3)}.first-guide-spot-layer :is(.first-guide-quit,[role=alert] p){color:var(--color-surface)}.first-guide-listen-spot,.first-guide-shadow-spot,.first-guide-report-spot,.first-guide-tour{--first-guide-spot-move: .3s}.first-guide-listen-spot .first-guide-spot-hole{border-radius:var(--radius-full);transition:left var(--first-guide-spot-move) var(--ease-standard),top var(--first-guide-spot-move) var(--ease-standard),width var(--first-guide-spot-move) var(--ease-standard),height var(--first-guide-spot-move) var(--ease-standard),opacity var(--first-guide-spot-move) var(--ease-standard)}:has(>.first-guide-listen-spot) .listen-transport .first-guide-blocked{opacity:1}.first-guide-recap-spot .first-guide-spot-hole{border-radius:var(--radius-sm)}.first-guide-recap-spot.is-padded .first-guide-spot-hole{--spot-pad: var(--space-3);left:calc(var(--spot-x) - var(--spot-pad));top:calc(var(--spot-y) - var(--spot-pad));width:calc(var(--spot-w) + var(--spot-pad) * 2);height:calc(var(--spot-h) + var(--spot-pad) * 2);border-radius:calc(var(--radius-md) + var(--spot-pad))}.first-guide-shadow-spot .first-guide-spot-hole,.first-guide-report-spot .first-guide-spot-hole,.first-guide-tour .first-guide-spot-hole{border-radius:var(--radius-md);transition:left var(--first-guide-spot-move) var(--ease-standard),top var(--first-guide-spot-move) var(--ease-standard),width var(--first-guide-spot-move) var(--ease-standard),height var(--first-guide-spot-move) var(--ease-standard),border-radius var(--first-guide-spot-move) var(--ease-standard),opacity var(--first-guide-spot-move) var(--ease-standard)}.first-guide-shadow-spot.is-round .first-guide-spot-hole,.first-guide-report-spot.is-round .first-guide-spot-hole{border-radius:var(--radius-full)}.first-guide-shadow-spot.is-padded .first-guide-spot-hole{left:calc(var(--spot-x) - var(--space-2));top:calc(var(--spot-y) - var(--space-2));width:calc(var(--spot-w) + 2 * var(--space-2));height:calc(var(--spot-h) + 2 * var(--space-2))}:has(>.first-guide-shadow-spot) :is(.shadow-practice,.record-controls) .first-guide-blocked{opacity:1}.first-guide-report-spot.is-panel .first-guide-spot-hole{border-radius:0 0 var(--radius-sm) var(--radius-sm)}:has(>.first-guide-report-spot) .shadowing-report .first-guide-blocked{opacity:1}.first-guide-tour.is-card .first-guide-spot-hole{border-radius:var(--radius-sm)}.first-guide-tour.is-closed .first-guide-spot-hole{left:calc(var(--spot-x) + var(--spot-w) / 2);top:calc(var(--spot-y) + var(--spot-h) / 2);width:0;height:0}.first-guide-tour.is-leaving{animation:first-guide-fade-out var(--tour-leave) var(--ease-standard) both}.first-guide-tour-say{position:fixed;left:var(--tour-x);top:var(--tour-y);z-index:1;width:var(--tour-w);translate:-50% 0}.first-guide-tour-say .speech-bubble{text-wrap:pretty}.first-guide-tour-say .keiko-face{width:120px}.first-guide-stage-say{position:relative;z-index:calc(var(--z-app-chrome) + 2)}.first-guide-feature{position:relative;flex:none;width:100%;z-index:calc(var(--z-app-chrome) + 1)}.first-guide-feature-page{padding:var(--space-3) var(--space-4)}.first-guide-feature-side{height:0;margin-top:calc(-1 * var(--space-1))}.first-guide-feature-side .first-guide-callout{position:absolute;bottom:var(--space-3);left:0;width:max-content}.first-guide-feature-side[data-side=below] .first-guide-callout{top:calc(var(--space-1) + var(--first-guide-tab-height, 0px) + var(--space-3));bottom:auto}.first-guide-feature-side .first-guide-callout{padding:var(--space-3) var(--space-4);background:var(--color-bg-default);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.first-guide-feature-side .speech-bubble{max-width:none;text-wrap:nowrap}.first-guide-feature-pending{position:absolute;top:var(--space-4);left:var(--space-4);width:min(var(--container-max),calc(100% - 2 * var(--space-4)))}.first-guide-feature:not(:has(.first-guide-callout)){display:none}.first-guide-quit{display:block;min-height:var(--header-height);margin:var(--space-1) auto 0;padding:var(--space-2) var(--space-3);background:transparent;color:var(--color-text);font-size:var(--text-sm);text-decoration:underline}.first-guide-quit:disabled{opacity:.6}.first-guide-slot,.first-guide-docked{flex:none;min-width:0;width:100%;padding-block:var(--space-3)}.first-guide-docked{flex-shrink:1;min-height:0;max-height:50dvh;overflow-y:auto;padding-inline:var(--space-4);scrollbar-width:thin}.first-guide-slot-mini{padding:0}.first-guide-mini .mini-result-greeting{display:none}.first-guide-mini .mini-recap-score{margin-block:var(--space-2)}.first-guide-mini .mini-result-card{padding:var(--space-4)}.first-guide-mini .mini-result-top{align-items:flex-start;gap:var(--space-3)}.first-guide-mini .mini-en-script{font-size:var(--text-xl)}.first-guide-mini .mini-meaning{font-size:var(--text-base)}.first-guide-mini .mini-card-play.playback-action-button{width:var(--header-height);height:var(--header-height)}.first-guide-mini .mini-card-play .media-action-icon{width:var(--space-6);height:var(--space-6)}.first-guide-mini .mini-answer-row{margin-top:var(--space-4)}.first-guide-mini .mini-result-card>.mini-cap{margin-bottom:0}.first-guide-slot-mini .speech-bubble{text-wrap:pretty}.first-guide-mini .mini-question-guide{grid-template-rows:auto 28px}.first-guide-mini .mini-question-guide>:is(.first-guide-slot,.mini-instruction){grid-area:1 / 1}.first-guide-mini .mini-question-guide>.is-off{visibility:hidden}.first-guide-mini .mini-question-guide .keiko-row{justify-content:center}@media(max-height:600px){.first-guide-mini .mini-question-guide{grid-template-rows:auto 44px}}.first-guide-quiz .lc-avatar{display:none}.first-guide-quiz>.first-guide-callout{flex:none;margin-bottom:var(--space-1)}.first-guide-target{scroll-margin:24px 20px}:where(:root:not(:has(.first-guide-spot-ring:not([hidden])))) .first-guide-target:where(:not(:disabled,.rec,.tl-chunk,.tl-w)){box-shadow:var(--first-guide-ring)}:where(.first-guide-target:not(:disabled,.rec,.tl-chunk,.tl-w)){position:relative}.first-guide-target:where(:not(:disabled,.rec,.tl-chunk,.tl-w)):after{content:"";position:absolute;inset:calc(-1 * var(--space-1));border-radius:inherit;pointer-events:none;animation:first-guide-breathe 1.6s var(--ease-standard) infinite}:is(.bottom-nav,.side-nav) .tab.first-guide-target,.sm-soundmap .sm-turn-play.first-guide-target{outline:calc(2 * var(--border-width)) solid var(--color-brand);outline-offset:calc(-2 * var(--border-width));box-shadow:none;animation:first-guide-breathe-in 1.6s var(--ease-standard) infinite}:is(.bottom-nav,.side-nav) .tab.first-guide-target:after,.sm-soundmap .sm-turn-play.first-guide-target:after{content:none}.first-guide-target:is(.tl-chunk,.tl-w){position:relative;display:inline-block;max-width:100%;border-radius:var(--radius-sm);color:var(--color-text);background:var(--color-bg-success);box-shadow:0 0 0 var(--first-guide-text-pad) var(--color-bg-success);outline:var(--border-width) solid var(--color-brand-faint);outline-offset:var(--first-guide-text-pad);cursor:pointer}.first-guide-target:is(.tl-chunk,.tl-w):after{content:"";position:absolute;inset:calc(-1 * (var(--first-guide-text-pad) + var(--border-width)));border-radius:calc(var(--radius-sm) + var(--first-guide-text-pad));pointer-events:none;animation:first-guide-breathe 1.6s var(--ease-standard) infinite}.first-guide-target:is(.tl-chunk,.tl-w):before{content:"";position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px}.trace-lens-area:has(.first-guide-target.tl-chunk) .tl-w{position:relative}.first-guide-target:is(.tl-chunk,.tl-w) .learn-mark{background:transparent;color:inherit}.first-guide-target:is(:focus-visible,:active){outline-color:var(--color-brand);animation:none!important}.first-guide-retry{padding:var(--space-3);background:var(--color-brand-tint)}.first-guide-retry button{min-height:44px;margin-left:var(--space-2)}@keyframes first-guide-fade{0%{opacity:0}to{opacity:1}}@keyframes first-guide-fade-out{0%{opacity:1}to{opacity:0}}@keyframes first-guide-breathe{0%{box-shadow:0 0 color-mix(in srgb,var(--color-brand) 45%,transparent);opacity:0}30%{opacity:1}to{box-shadow:0 0 0 var(--space-3) color-mix(in srgb,var(--color-brand) 45%,transparent);opacity:0}}@keyframes first-guide-breathe-in{0%{box-shadow:inset 0 0 0 0 transparent}30%{box-shadow:inset 0 0 0 var(--space-1) color-mix(in srgb,var(--color-brand) 45%,transparent)}to{box-shadow:inset 0 0 0 var(--space-3) transparent}}@media(min-width:1024px){.first-guide-feature-page{padding-inline:var(--pc-col-pad-left) var(--pc-col-pad-right)}.first-guide-docked{padding-inline:var(--pc-col-pad-left) var(--pc-col-pad-right);max-height:calc(50dvh / var(--pc-zoom))}}@media(prefers-reduced-motion:reduce){.first-guide-target:where(:not(:disabled,.rec,.tl-chunk,.tl-w)):after,.first-guide-target:is(.tl-chunk,.tl-w):after,.first-guide-spot-ring:after{animation:none;box-shadow:0 0 0 calc(2 * var(--border-width)) var(--color-brand)}.first-guide-spot-layer,.first-guide-spot-ring{animation:none}.first-guide-tour.is-leaving{animation:none;opacity:0}.first-guide-callout,.first-guide-callout *,.first-guide-target:not(:disabled):not(.rec){animation:none!important;transition:none!important}}.lesson-topbar.first-guide-veiled{opacity:.35;transition:opacity var(--duration-base) var(--ease-standard)}.earphone-gate-overlay.payoff-overlay{padding-block:var(--space-4);padding-left:var(--pc-col-pad-left, var(--space-4));padding-right:var(--pc-col-pad-right, var(--space-4));backdrop-filter:none;-webkit-backdrop-filter:none;outline:none}.learning-payoff{position:relative;container-type:inline-size;display:flex;flex-direction:column;width:100%;max-width:var(--container-max);height:100%;min-height:0;overflow:hidden;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);background:var(--color-bg-default);text-align:center}.payoff-ink{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;pointer-events:none}.payoff-content{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.payoff-scene{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%;overflow:hidden;padding:var(--space-8) var(--space-6) var(--space-4)}.payoff-actions{flex-shrink:0;width:100%;padding:var(--space-4) var(--space-6) var(--space-6)}.learning-payoff [data-beat],.payoff-keiko,.payoff-rays{opacity:0}.payoff-actions[data-beat]{visibility:hidden}.payoff-hero{position:relative;width:55cqi;margin-bottom:var(--space-6)}.payoff-keiko{position:relative;width:100%;aspect-ratio:var(--kiko-front-ratio)}.payoff-rays{position:absolute;left:50%;top:50%;width:240cqi;aspect-ratio:1;translate:-50% -50%;background:repeating-conic-gradient(var(--color-bg-default) 0deg 7.5deg,color-mix(in srgb,var(--color-bg-default),var(--color-surface) 75%) 7.5deg 15deg);-webkit-mask-image:radial-gradient(closest-side,var(--color-text) 12%,transparent 72%);mask-image:radial-gradient(closest-side,var(--color-text) 12%,transparent 72%);pointer-events:none;animation:payoff-rays-turn 90s linear infinite}@keyframes payoff-rays-turn{to{rotate:360deg}}.learning-payoff h2{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);width:100%;margin:0;font-weight:var(--weight-bold)}.payoff-congrats{font-family:var(--font-en);font-size:min(var(--text-hero),10cqi);line-height:var(--leading-tight);letter-spacing:-.01em;white-space:nowrap}.payoff-sub{font-family:var(--font-ja);font-size:var(--text-lg);line-height:var(--leading-ja)}.payoff-stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);width:100%;margin-top:var(--space-8)}.payoff-stat{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);min-width:0;padding:var(--space-4) var(--space-2);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.payoff-stat-label{font-size:var(--text-xs);font-weight:var(--weight-bold);line-height:var(--leading-ja)}.payoff-stat b{font-family:var(--font-num);font-size:var(--text-num);font-weight:var(--weight-bold);line-height:var(--leading-tight);font-variant-numeric:tabular-nums}.learning-payoff p{margin:0;line-height:var(--leading-ja)}.learning-payoff .payoff-done{display:flex;align-items:center;justify-content:center;width:100%;min-height:var(--button-height);padding:var(--space-3) var(--space-4);border:var(--border-width) solid var(--color-brand);border-radius:var(--radius-sm);background:var(--color-brand);color:var(--color-surface);font-size:var(--text-sm);font-weight:var(--weight-bold);line-height:var(--leading-tight)}.learning-payoff .payoff-later{width:100%;min-height:var(--header-height);margin-top:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-medium)}.learning-payoff button{transition:opacity var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.learning-payoff button:active{opacity:.6}.learning-payoff button:focus-visible{outline:var(--border-width) solid var(--color-brand);outline-offset:var(--space-1)}@media(hover:hover){.learning-payoff .payoff-done:hover{background:var(--color-brand-strong)}}.payoff-actions [role=alert]{margin-bottom:var(--space-3);color:var(--color-error)}@media(max-height:639px),(min-width:1024px)and (max-height:799px){.payoff-scene{padding:var(--space-4) var(--space-4) var(--space-2)}.payoff-actions{padding:var(--space-3) var(--space-4) var(--space-4)}.payoff-hero{width:46cqi;margin-bottom:var(--space-4)}.payoff-stats{margin-top:var(--space-4)}.payoff-stat{padding-block:var(--space-2)}}@media(prefers-reduced-motion:reduce){.learning-payoff button{transition:none}.payoff-rays{animation:none}}:root{--speech-bubble-tail: 12px}.speech-bubble{--speech-bubble-tail-inset: calc(var(--border-width) * 1.4142);position:relative;max-width:320px;margin:0;padding:var(--space-3) var(--space-4);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--text-base);line-height:var(--leading-ja);min-height:calc(var(--text-base) * var(--leading-ja) * var(--speech-bubble-min-lines, 0) + var(--space-3) * 2 + var(--border-width) * 2)}.speech-bubble:before,.speech-bubble:after{content:"";position:absolute;width:0;height:0;border:var(--speech-bubble-tail) solid transparent}.speech-bubble.is-top{text-align:center}.speech-bubble.is-top:before,.speech-bubble.is-top:after{left:calc(50% - var(--speech-bubble-tail));border-bottom-width:0}.speech-bubble.is-top:before{top:100%;border-top-color:var(--color-border)}.speech-bubble.is-top:after{top:calc(100% - var(--speech-bubble-tail-inset));border-top-color:var(--color-surface)}.speech-bubble.is-right{text-align:left}.speech-bubble.is-right:before,.speech-bubble.is-right:after{top:var(--space-3);border-left-width:0}.speech-bubble.is-right:before{right:100%;border-right-color:var(--color-border)}.speech-bubble.is-right:after{right:calc(100% - var(--speech-bubble-tail-inset));border-right-color:var(--color-surface)}.speech-bubble-text{display:block;transition:opacity .18s var(--ease-standard)}.speech-bubble-text.is-thinking{visibility:hidden;opacity:0}.speech-bubble-dots{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:4px}.speech-bubble-dots i{width:6px;height:6px;border-radius:50%;background:var(--color-text-muted);animation:speech-bubble-dot .9s ease-in-out infinite}.speech-bubble-dots i:nth-child(2){animation-delay:.15s}.speech-bubble-dots i:nth-child(3){animation-delay:.3s}@keyframes speech-bubble-dot{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-3px);opacity:1}}@media(prefers-reduced-motion:reduce){.speech-bubble-text{transition:none}.speech-bubble-dots i{animation:none}}.keiko-row{display:flex;gap:var(--space-4);align-items:flex-start}.keiko-row .speech-bubble{flex:1;min-width:0;overflow-wrap:anywhere}.keiko-row.is-top{flex-direction:column-reverse;align-items:center}.keiko-row.is-top .speech-bubble{flex:none}.keiko-face{flex:none;width:56px;height:auto;aspect-ratio:var(--kiko-front-ratio);margin-top:var(--space-1)}.keiko-face.is-front{view-transition-name:onb-keiko}.keiko-face:is(.is-right,.is-left){aspect-ratio:var(--kiko-side-ratio)}:root{--color-brand: #028560;--color-brand-strong: #026b4e;--color-brand-tint: #d9f0e9;--color-brand-faint: #b5ddd0;--color-memory-paper: #ece6d6;--color-memory-ink: #5a5340;--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-2xs: 11px;--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}.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}.scrolling-title{display:block;width:100%;overflow:hidden;white-space:nowrap}.scrolling-title-track{display:flex;width:max-content;gap:32px}.scrolling-title-track>span{flex-shrink:0}.scrolling-title-track.is-scrolling{animation:title-scroll var(--title-scroll-duration) linear 1.5s infinite}.scrolling-title:hover .scrolling-title-track,button:focus-visible .scrolling-title-track{animation-play-state:paused}@keyframes title-scroll{to{transform:translate(var(--title-scroll-distance))}}@media(prefers-reduced-motion:reduce){.scrolling-title{text-overflow:ellipsis}.scrolling-title-track.is-scrolling{animation:none}.scrolling-title-track,.scrolling-title-track>span{display:inline}.scrolling-title-track>[aria-hidden=true]{display:none}}.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{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-scroll.lesson-cols+.first-guide-docked{padding-left:var(--pc-col-pad-left);padding-right:max(calc(var(--rail-width) + var(--space-4) * 2),var(--pc-col-pad-right))}.lesson-scroll.lesson-cols{container-type:size}.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>.lesson-cols-side{display:flex;flex-direction:column;gap:14px;grid-column:2;grid-row:1;position:sticky;top:0;max-height:100cqh;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:var(--leading-tight);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>:first-child{margin-top:auto}.onb-meet>:last-child{margin-bottom:auto}.onb-meet-stage{--onb-keiko-w: 180px;position:relative;flex:0 0 auto;height:360px}@media(max-height:640px){.onb-meet-stage{height:320px}}.onb-meet-stage>svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.onb-meet-keiko{position:absolute;left:50%;top:50%;width:var(--onb-keiko-w);aspect-ratio:var(--kiko-front-ratio);transform:translate(-50%,-50%);view-transition-name:onb-keiko;transition:opacity var(--onb-meet-fade) linear}.onb-meet-bubble{position:absolute;left:50%;bottom:calc(50% + var(--onb-keiko-w) / var(--kiko-front-ratio) / 2 + var(--speech-bubble-tail) + var(--space-2));width:max-content;max-width:100%;visibility:hidden;opacity:0;transform:translate(-50%,var(--space-2));transition:opacity var(--duration-slow) var(--ease-standard),transform var(--duration-slow) var(--ease-spring)}.onb-meet-bubble.is-in{visibility:visible;opacity:1;transform:translate(-50%)}.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-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)}: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}:root[data-nav-dir^=onb-]::view-transition{pointer-events:none}.onb-rest{display:flex;flex-direction:column;gap:inherit}.onb-meet-say{view-transition-name:onb-s0}.onb-step-1 .keiko-row .speech-bubble{view-transition-name:onb-s1-say}.onb-step-1 .onb-foot-scroll{view-transition-name:onb-s1-rest}.onb-step-2 .keiko-row .speech-bubble{view-transition-name:onb-s2-say}.onb-step-2 .onb-foot-scroll{view-transition-name:onb-s2-rest}.onb-step-3 .keiko-row .speech-bubble{view-transition-name:onb-s3-say}.onb-step-3 .onb-foot-scroll{view-transition-name:onb-s3-rest}.onb-progress{view-transition-name:onb-progress}: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) 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-timing-function:var(--ease-standard)}: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-next]::view-transition-old(onb-s1-say),:root[data-nav-dir=onb-next]::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) 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),:root[data-nav-dir^=onb-]::view-transition-new(onb-s0){animation:onb-content-in var(--duration-base) var(--ease-standard) 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:.35s;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-nod]::view-transition-group(onb-keiko){animation-duration:.2s}:root[data-nav-dir=onb-nod]::view-transition-image-pair(onb-keiko){animation:onb-keiko-nod .2s var(--ease-standard) 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-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,.onb-meet-bubble{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::-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-stage{flex:1 1 auto;min-height:340px;max-height:400px}.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;z-index:var(--z-app-chrome);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}.shadow-practice{display:flex;flex:none;flex-direction:column;gap:14px}.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)}.shadowing-record-error{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm);line-height:var(--leading-ja)}.shadowing-record-error svg{flex-shrink:0;color:var(--color-error)}.shadowing-record-error p{margin:0}.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}.shadowing-evaluation-status{min-height:3.5em;margin:0;text-align:center;color:var(--color-text-muted)}.shadowing-evaluation-status strong,.shadowing-evaluation-status span{display:block}.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{position:relative;flex:1;min-width:0;height:6px;border-radius:3px;background:var(--color-border);overflow:hidden}.rec-progress-tick{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--color-surface)}.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}.shadowing-report-layout,.shadowing-report-main,.shadowing-report-side{display:contents}@media(min-width:1280px){.shadowing-report-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) var(--rail-width);grid-template-rows:minmax(0,1fr) auto;column-gap:var(--space-4);padding:var(--space-3) max(var(--space-4),calc(var(--pc-col-pad-right) - var(--rail-width) - var(--space-4))) 0 var(--pc-col-pad-left)}.shadowing-report-layout>.lesson-scroll,.shadowing-report-layout .shadowing-report{display:contents}.shadowing-report-main,.shadowing-report-side{min-width:0;min-height:0;overflow-y:auto;scrollbar-width:thin;padding-bottom:var(--space-6)}.shadowing-report-main{display:block;grid-column:1;grid-row:1}.shadowing-report-side{display:flex;flex-direction:column;gap:14px;grid-column:2;grid-row:1 / 3}.shadowing-report-side>*{flex-shrink:0}.shadowing-report-layout>.first-guide-docked{grid-column:1;grid-row:2;padding-inline:0}}.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}.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}.lc-log{display:flex;flex-direction:column;gap:var(--space-3)}.lc-speakers{padding-bottom:var(--space-2);border-bottom:var(--border-width) solid var(--color-border)}.lc-speakers:empty{display:none}.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 .topbar-unread-dot{position:absolute;top:calc(50% - 17px);right:calc(50% - 17px);width:14px;height:14px;border:2px solid var(--color-bg-default);border-radius:50%;background:var(--color-error)}.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%;min-width:0;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-rail-preparation:empty{display:none}.home-rail-preparation .lesson-preparation{margin:0}}.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)}.accent-chip{margin-left:auto;display:inline-flex;align-items:center;flex-shrink:0;gap:var(--space-1);border:0;background:transparent;padding:0;line-height:0}.home-v2 .accent-chip+.stage-chip{margin-left: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.danger{background:var(--color-error)}@media(hover:hover){.home-v2 .cta-pill.danger:hover:not(:disabled){background:var(--color-error);opacity:.85}}.home-v2 .hero-card .repair-outline{display:block;min-height:44px;margin:var(--space-2) auto;padding:var(--space-2) var(--space-4);border:1px solid var(--color-error);border-radius:var(--radius-full);background:transparent;color:var(--color-error);font-family:inherit;font-size:var(--text-xs);font-weight:var(--weight-bold);cursor:pointer}.home-v2 .hero-card .repair-outline:disabled{cursor:wait;opacity:.5}@media(hover:hover){.home-v2 .hero-card .repair-outline:hover:not(:disabled){background:var(--color-bg-error)}}.home-v2 .hero-card .repair-note+.repair-outline{margin-top:0}.home-v2 .hero-card .repair-note{margin:var(--space-2) 0 var(--space-1);text-align:center;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-muted)}.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}.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{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}@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{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-bold);line-height:var(--leading-tight);margin:var(--space-4) 0 var(--space-2)}.library-section-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:var(--radius-sm);background:var(--color-brand-tint);color:var(--color-brand-strong)}.library-section-title.tone-lightbulb .library-section-icon{background:var(--color-bg-warning);color:var(--color-warning)}.library-section-title.tone-scene .library-section-icon{background:color-mix(in srgb,var(--color-info) 12%,var(--color-surface));color:var(--color-info)}.library-explanation{margin-bottom:var(--space-4)}.library-explanation>h4{margin:0 0 var(--space-1);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-bold)}.library-explanation-body{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}.library-sound-reading{padding:var(--space-3) var(--space-4) 0}.library-sound-reading p{margin:0}.library-sound-reading .kana{color:var(--color-text-muted);font-size:var(--text-xs)}@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-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-player{background:transparent;border-bottom:0;padding:10px 22px calc(20px + env(safe-area-inset-bottom))}.fc-repeat{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;color:var(--color-text-muted)}.fc-repeat.is-on{background:var(--color-surface);color:var(--color-success)}.fc-repeat:active{opacity:.6}.fc-overlay.accent-pink .fc-repeat.is-on{color:var(--color-brand)}.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}@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-repeat:hover{background:var(--color-brand-tint)}}@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:is(:disabled,[aria-disabled=true]){cursor:not-allowed;opacity:.6}.add-btn[aria-disabled=true]:active{transform:none}.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,[aria-disabled=true]){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:var(--space-4);padding-top:calc(var(--space-6) + env(safe-area-inset-top));padding-bottom:0;gap:0;position:relative;font-family:var(--font-ja);font-size:var(--text-base);font-weight:var(--weight-regular);line-height:var(--leading-ja)}.sgr-topbar{flex:none;z-index:5;padding-bottom:var(--space-6);background:var(--color-bg-default)}.sgr-title-block,.sgr-board{width:100%;max-width:340px;margin:0 auto}.sgr-title-block{padding-inline:calc(var(--space-4) + var(--border-width))}.sgr-route-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:var(--header-height);margin-bottom:var(--space-2)}.sgr-header-button{display:flex;align-items:center;gap:var(--space-2);min-height:var(--header-height);padding:0 var(--space-2);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-brand);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);white-space:nowrap;cursor:pointer}.sgr-header-button:first-child{margin-left:calc(-1 * var(--space-2))}.sgr-header-button:last-child{margin-right:calc(-1 * var(--space-2))}.sgr-route-title{margin:0;color:var(--color-text);font-size:var(--text-xl);font-weight:var(--weight-bold);line-height:var(--leading-tight);word-break:auto-phrase;overflow-wrap:anywhere;text-wrap:balance}.sgr-route-total{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-2) 0 0;color:var(--color-text-muted);font-size:var(--text-xs)}.sgr-route-no{background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-full);padding:3px var(--space-2);font-weight:var(--weight-medium);line-height:var(--leading-tight);white-space:nowrap}.sgr-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;overflow-anchor:none;padding-bottom:calc(90px + env(safe-area-inset-bottom));scrollbar-width:none}.sgr-scroll::-webkit-scrollbar{display:none}.sgr-board{position:relative}.sgr-chapter{position:relative;margin-bottom:var(--space-6)}.sgr-chapter:last-child{margin-bottom:0}.sgr-chapter-heading{position:sticky;top:0;z-index:3;padding:var(--space-3) var(--space-4);border:var(--border-width) solid transparent;border-radius:var(--radius-md);background:var(--color-brand-tint);color:var(--color-brand-strong)}.sgr-chapter-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-1);font-size:var(--text-xs);font-weight:var(--weight-medium)}.sgr-chapter-heading h2{margin:0;font-size:var(--text-lg);font-weight:var(--weight-bold);line-height:var(--leading-tight);word-break:auto-phrase;overflow-wrap:anywhere}.sgr-chapter.active .sgr-chapter-heading{background:var(--color-brand);color:var(--color-surface)}.sgr-chapter.active .sgr-chapter-meta{color:var(--color-brand-tint)}.sgr-chapter-progress{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-1);max-width:65%}.sgr-chapter-progress>span{width:var(--space-3);height:var(--space-1);border-radius:var(--radius-full);background:var(--color-surface)}.sgr-chapter-progress .complete{background:var(--color-brand)}.sgr-chapter.active .sgr-chapter-progress>span{background:transparent;border:var(--border-width) solid var(--color-brand-faint)}.sgr-chapter.active .sgr-chapter-progress .complete{background:var(--color-surface);border-color:var(--color-surface)}.sgr-chapter.locked .sgr-chapter-heading{background:var(--color-bg-default);border-color:var(--color-border);color:var(--color-text-muted)}.sgr-chapter.next .sgr-chapter-heading{background:var(--color-surface);border-color:var(--color-brand-faint);color:var(--color-text)}.sgr-chapter.next .sgr-chapter-meta{color:var(--color-brand)}.sgr-chapter-meta>svg{color:var(--color-text-muted);flex:none}.sgr-chapter-track{position:relative;display:flow-root;margin-top:var(--space-2)}.sgr-path{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;pointer-events:none}.sgr-join{position:absolute;width:4px;margin-left:-2px;padding-block:var(--space-1);box-sizing:border-box;opacity:.35;background-image:radial-gradient(circle,var(--color-text-muted) 1.5px,transparent 2px);background-size:4px 10px;background-repeat:no-repeat space;background-origin:content-box;background-clip:content-box;pointer-events:none}.sgr-join.in{top:calc(-1 * var(--space-2))}.sgr-join.out{--join-below: var(--space-6);bottom:calc(-1 * var(--join-below))}.sgr-join.out.to-finish{--join-below: calc(var(--space-6) + var(--space-4))}.sgr-path path{fill:none;stroke-linecap:round}.sgr-path .seg-done{stroke:var(--color-brand);stroke-opacity:.4;stroke-width:6}.sgr-path .seg-up,.sgr-path .seg-fade{stroke:var(--color-text-muted);stroke-opacity:.35;stroke-width:4;stroke-dasharray:.5 13}.sgr-path .seg-fade{stroke-opacity:.2}.sgr-nd{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;width:var(--button-height);height:var(--button-height);padding:0;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text-muted)}.sgr-board button:disabled{cursor:default}.sgr-nd:not(:disabled),button.sgr-lbl,.sgr-review:not(:disabled){cursor:pointer}.sgr-nd>svg{stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.sgr-board .sgr-nd.done{background:var(--color-brand-tint);border-color:var(--color-brand-tint);color:var(--color-brand)}.sgr-nd.current{width:var(--space-16);height:var(--space-16);background:var(--color-brand);color:var(--color-surface)}.sgr-nd.current:after{content:"";position:absolute;inset:calc(-1 * var(--space-2));border:var(--border-width) solid var(--color-brand-faint);border-radius:inherit;pointer-events:none}.sgr-nd.current>svg{margin-left:var(--space-1)}.sgr-nd.available>svg{margin-left:2px}.sgr-nd-no{font-size:var(--text-lg);font-weight:var(--weight-bold);line-height:1;font-variant-numeric:tabular-nums}.sgr-empty-circle{width:var(--space-3);height:var(--space-3);border:2px solid currentColor;border-radius:var(--radius-full)}.sgr-board .sgr-lbl{position:absolute;transform:translateY(-50%);padding:0;border:none;background:transparent;font:inherit;font-size:var(--text-2xs);font-weight:var(--weight-regular);line-height:var(--leading-ja);color:var(--color-text-muted);text-align:left;word-break:auto-phrase;overflow-wrap:anywhere}.sgr-board .sgr-lbl.done{color:var(--color-text)}.sgr-board .sgr-lbl.sgr-label-left{text-align:right}.sgr-board .sgr-lbl.current{color:var(--color-brand-strong);font-weight:var(--weight-bold)}.sgr-lbl.with-scene{display:grid;gap:var(--space-2);mix-blend-mode:multiply}.sgr-lbl img{display:block;width:100%;height:auto;aspect-ratio:3 / 2;object-fit:contain}.sgr-review{position:relative;width:100%;min-height:var(--space-16);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-muted);text-align:left;font:inherit}.sgr-review.current,.sgr-review.done{color:var(--color-brand-strong)}.sgr-chapter.locked .sgr-nd,.sgr-chapter.locked .sgr-review{background:var(--color-bg-default)}.sgr-review-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);white-space:nowrap}.sgr-review-title strong{font-weight:var(--weight-bold)}.sgr-review-description{grid-column:1 / -1;font-size:var(--text-sm);color:var(--color-text);overflow-wrap:anywhere;word-break:auto-phrase}.sgr-review-art{width:var(--space-16);height:var(--space-8);flex:none;object-fit:contain}.sgr-review svg{flex:none}.sgr-route-finish{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding-block:var(--space-4);color:var(--color-text-muted);font-size:var(--text-sm)}.sgr-route-finish.flag{color:var(--color-brand)}.sgr-contents-title{margin:0 0 var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted);font-weight:var(--weight-medium)}.sgr-contents-sheet .sgr-sheet-body{min-height:0}.sgr-contents-list{display:grid}.sgr-contents-list button{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:var(--button-height);padding:var(--space-3) 0;border:none;border-bottom:var(--border-width) solid var(--color-border);border-radius:0;background:transparent;text-align:left;cursor:pointer}.sgr-contents-list button>span{display:grid;gap:var(--space-1)}.sgr-contents-list small{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium)}.sgr-contents-list strong{font-size:var(--text-sm);font-weight:var(--weight-medium)}.sgr-contents-list svg{flex:none;color:var(--color-brand)}.sgr-error{margin-block:var(--space-2)}.sgr-empty{padding:var(--space-12) var(--space-4);text-align:center;color:var(--color-text-muted)}.sgr-header-button:active,.sgr-board button:not(:disabled):active,.sgr-contents-list button:active{opacity:.6}@media(hover:hover){.sgr-header-button:hover,.sgr-contents-list button:hover,.sgr-review:not(:disabled):hover{background:var(--color-brand-tint)}.sgr-nd.current:hover{background:var(--color-brand-strong)}.sgr-board .sgr-nd.done:hover{background:var(--color-brand-faint)}button.sgr-lbl:hover{text-decoration:underline;text-underline-offset:var(--space-1)}}.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-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)}}@media(min-width:1024px){.sgr-scroll{padding-bottom:var(--space-6)}.sgr-contents-sheet{height:auto;max-height:min(100%,var(--overlay-workspace-max-height))}}.sgr-nd.available,.sgr-review.available{background:var(--color-surface);border:2px solid var(--color-brand);color:var(--color-brand)}.pinpoint-filters{display:flex;overflow-x:auto;gap:var(--space-2);padding-bottom:var(--space-3)}.pinpoint-filters button{flex:none;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-full);padding:var(--space-2) var(--space-3);background:var(--color-surface);color:var(--color-text-muted);font:inherit;font-size:var(--text-sm)}.pinpoint-filters button[aria-pressed=true]{border-color:var(--color-brand);color:var(--color-brand);background:var(--color-brand-tint)}.pinpoint-group h3{font-size:var(--text-sm);font-weight:var(--weight-medium);margin:var(--space-4) 0 var(--space-2)}.pinpoint-row{width:100%;display:flex;align-items:center;gap:var(--space-3);text-align:left;border:0;border-bottom:var(--border-width) solid var(--color-border);background:var(--color-surface);color:var(--color-text);padding:var(--space-4) 0;font:inherit;cursor:pointer}.pinpoint-row:disabled{color:var(--color-text-muted);cursor:default}.pinpoint-number{width:var(--space-8);height:var(--space-8);flex:none;display:grid;place-items:center;color:var(--color-brand);background:var(--color-brand-tint);border-radius:var(--radius-full)}.pinpoint-row:disabled .pinpoint-number{color:var(--color-text-muted);background:var(--color-bg-default)}.pinpoint-copy{display:grid;gap:var(--space-1);flex:1}.pinpoint-copy strong{font-size:var(--text-sm);font-weight:var(--weight-medium)}.pinpoint-copy small{font-size:var(--text-xs)}.pinpoint-preparation{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3);color:var(--color-text-muted);font-size:var(--text-xs)}.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-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-popup-title{margin:0 var(--space-8) 0 0;font-size:var(--text-base);font-weight:var(--weight-bold);line-height:1.4;color:var(--color-text)}.announce-popup-action{margin-top:18px}.announce-popup-body{margin-top:8px;max-height:50vh;overflow-y:auto;overscroll-behavior:contain}.announce-image{display:block;width:100%;height:auto;margin-top:12px;border-radius:12px}.announce-image-failed{display:grid;place-content:center;gap:var(--space-1);width:100%;min-height:120px;margin-top:12px;border:var(--border-width) dashed var(--color-border);border-radius:12px;background:var(--color-bg-default);color:var(--color-text-muted);font:inherit;font-size:var(--text-xs);text-align:center;cursor:pointer}.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)}.page-scroll.suggestions{gap:var(--space-3);padding:var(--space-3) var(--space-4) var(--space-6)}.sg-item{background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.sg-item.is-selected{border-color:var(--color-brand);background:var(--color-brand-tint)}.sg-item .community-message-actions{margin-left:calc(-1 * var(--space-1))}.community-column .page-scroll.suggestions.is-detail{gap:0;padding-top:var(--space-2);background:var(--color-surface)}.sg-item.sg-root{border:0;border-radius:0;padding:var(--space-2) 0 var(--space-1);gap:var(--space-2)}.sg-meta{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted)}.sg-meta time{font-variant-numeric:tabular-nums;letter-spacing:.01em}.sg-done{margin-left:auto;display:inline-flex;align-items:center;gap:var(--space-1);background:var(--color-bg-success);color:var(--color-brand);border-radius:var(--radius-full);padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-medium)}.sg-text{white-space:pre-wrap;margin:0;font-size:var(--text-base);line-height:var(--leading-ja);color:var(--color-text);overflow-wrap:anywhere}.sg-empty{text-align:center;color:var(--color-text-muted);font-size:var(--text-sm);padding:var(--space-8) var(--space-4)}.sg-footer{flex:none;padding:var(--space-3) var(--space-4);background:var(--color-surface);border-top:var(--border-width) solid var(--color-border)}@media(min-width:1024px){.app-page>.sg-footer{padding-left:var(--pc-col-pad-left);padding-right:var(--pc-col-pad-right)}}.sg-form{display:flex;flex-direction:column;gap:var(--space-3)}.sg-textarea{width:100%;min-height:128px;resize:none;font-family:var(--font-ja);font-size:var(--text-base);line-height:var(--leading-ja);color:var(--color-text);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-3)}.sg-textarea::placeholder{color:var(--color-text-muted)}.sg-count{font-size:var(--text-xs);color:var(--color-text-muted);text-align:right;font-variant-numeric:tabular-nums}.sg-count.over{color:var(--color-error)}.sg-error{margin:0;font-size:var(--text-sm);line-height:var(--leading-ja);color:var(--color-error)}.sg-note{margin:0;font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--leading-ja)}.community-layout{flex:1;min-height:0;display:flex}.community-column{width:100%;min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--color-surface)}.community-tabs{display:flex;flex:none;margin:0;padding:0 var(--space-4);gap:var(--space-6);border-bottom:var(--border-width) solid var(--color-border);background:var(--color-surface)}.community-tabs button{position:relative;flex:none;min-height:48px;padding:var(--space-2) 0;border:0;border-radius:0;background:transparent;color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);white-space:nowrap}.community-tabs button.is-active{color:var(--color-text);font-weight:var(--weight-bold)}.community-tabs button.is-active:after{content:"";position:absolute;inset:auto 0 0;height:2px;background:var(--color-brand)}.community-unread-banner{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0;width:100%;padding:var(--space-3) var(--space-4);border:0;background:var(--color-brand-tint);color:var(--color-brand);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-bold);text-align:left;cursor:pointer}.community-unread-banner>span:last-child{margin-left:auto;white-space:nowrap}.community-scroll [data-message-id]:focus{outline:2px solid var(--color-brand);outline-offset:-2px}.community-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding-bottom:var(--space-4);scrollbar-gutter:stable}.community-more{min-height:44px;color:var(--color-brand);font-size:var(--text-xs);background:transparent;border:0}.community-more{display:block;margin:0 auto;padding:var(--space-2) var(--space-4)}.community-date{padding:var(--space-3) var(--space-4) 0;font-size:var(--text-xs);color:var(--color-text-muted)}.community-message{position:relative;margin-inline:var(--space-4);padding-block:var(--space-4)}.community-message-heading{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap;margin-bottom:var(--space-2);font-size:var(--text-sm)}.community-message-heading strong{overflow-wrap:anywhere}.community-message-heading time{margin-left:auto;color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-regular)}.community-message.is-mine .community-message-heading{padding-right:40px}.community-avatar{width:32px;height:32px;flex:none;display:grid;place-items:center;border-radius:var(--radius-full);background:var(--color-bg-default);color:var(--color-text-muted)}.community-avatar.staff{background:var(--color-brand-tint);color:var(--color-brand-strong)}.community-staff{padding:0 var(--space-1);border-radius:var(--space-1);background:var(--color-brand-tint);color:var(--color-brand-strong);font-size:var(--text-xs);font-weight:var(--weight-medium)}.community-message-open{display:block;width:100%;text-align:left;background:transparent;border:0;padding:0;color:inherit}.community-body{display:block;white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--text-sm);line-height:var(--leading-ja)}.community-body.deleted,.community-body small{color:var(--color-text-muted)}.community-body small{font-size:var(--text-xs);margin-left:var(--space-2)}.community-message-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.community-reactions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-1)}.community-reaction,.community-add-reaction,.community-reply-link{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);min-height:44px;padding:0 var(--space-2);border:0;background:transparent;color:var(--color-text-muted);font-size:var(--text-xs)}.community-reaction{min-width:48px}.community-reaction>span:first-child{font-size:var(--text-base)}.community-reaction[aria-pressed=true]{border-radius:var(--radius-full);background:var(--color-brand-tint);color:var(--color-brand-strong);font-weight:var(--weight-medium)}.community-reply-link{color:var(--color-brand-strong);font-weight:var(--weight-medium);gap:var(--space-2)}.community-menu{position:absolute;right:0;top:var(--space-2);display:grid;place-items:center;width:40px;height:44px;background:transparent;border:0;color:var(--color-text-muted)}.community-separator{padding:var(--space-4);color:var(--color-text-muted);font-size:var(--text-xs);border-top:var(--border-width) solid var(--color-border)}.community-message.is-reply{padding-left:var(--space-3);padding-block:var(--space-2);border-left:var(--border-width) solid var(--color-border)}.community-composer{flex:none;padding:var(--space-3) var(--space-4) var(--space-4);background:var(--color-surface)}.community-input{display:flex;gap:var(--space-2);align-items:flex-end}.community-input textarea,.community-editor textarea{width:100%;min-width:0;padding:var(--space-3);border:var(--border-width) solid var(--color-brand);border-radius:var(--radius-sm);color:var(--color-text);background:var(--color-surface);font:inherit;font-size:var(--text-base);resize:vertical}.community-input textarea{flex:1;min-height:50px;max-height:128px}.community-input>button{width:44px;height:50px;flex:none;display:grid;place-items:center;background:var(--color-brand);color:var(--color-surface);border:0;border-radius:var(--radius-sm)}.community-column button:disabled,.community-emoji-picker button:disabled{opacity:.45;cursor:default}.community-empty{padding:var(--space-6) var(--space-4);text-align:center;color:var(--color-text-muted);font-size:var(--text-sm)}.community-error{color:var(--color-error);padding-inline:var(--space-4);font-size:var(--text-sm);overflow-wrap:anywhere}.community-composer .community-error{padding-inline:0}.community-emoji-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2)}.community-emoji-picker button{min-height:48px;font-size:var(--text-2xl);border:0;border-radius:var(--radius-sm);background:transparent}.community-emoji-picker button[aria-pressed=true]{background:var(--color-brand-tint)}.community-laugh-stamp{display:inline-flex;flex-direction:column;align-items:center;color:#08bd4c;font-family:Arial,sans-serif;font-size:20px;font-weight:700;letter-spacing:2px;line-height:.85}.community-reaction>.community-laugh-stamp{font-size:12px;letter-spacing:1px}.community-menu-actions button{width:100%;min-height:48px;text-align:left;padding:var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent}.community-danger{color:var(--color-error)}.community-editor-actions{display:flex;justify-content:flex-end;gap:var(--space-3)}.community-editor-actions button,.community-delete button{min-height:44px;padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.community-delete blockquote{margin:var(--space-4) 0;padding:var(--space-3);background:var(--color-bg-default);white-space:pre-wrap;overflow-wrap:anywhere;max-height:200px;overflow:auto}.community-delete button+button{margin-left:var(--space-3)}.community-about h3{font-size:var(--text-base);margin:0 0 var(--space-2)}.community-about p{font-size:var(--text-sm);margin:0 0 var(--space-6);line-height:var(--leading-ja)}.community-comment-link{display:inline-flex;align-items:center;gap:var(--space-1);min-height:44px;font-size:var(--text-xs);color:var(--color-brand)}.community-comment-preview{border-left:var(--border-width) solid var(--color-border);padding-left:var(--space-3);font-size:var(--text-xs)}.community-comment-preview p{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--color-text-muted);white-space:pre-wrap;overflow-wrap:anywhere}.community-column .page-scroll.suggestions{padding:var(--space-4);background:var(--color-bg-default)}.community-comments{margin-inline:calc(-1 * var(--space-4));background:var(--color-surface)}.community-times .community-date{display:flex;align-items:center;gap:var(--space-3);padding-block:var(--space-2);color:var(--color-text);font-weight:var(--weight-medium)}.community-times .community-date>span{padding:2px var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-full)}.community-times .community-date:before,.community-times .community-date:after,.community-times .community-separator:after{content:"";flex:1;height:var(--border-width);background:var(--color-border)}.community-times .community-message{padding:var(--space-3) 0 var(--space-3) 44px;border:0}.community-times .community-message-heading{min-height:22px;margin-bottom:var(--space-1)}.community-times .community-message-heading time{margin-left:0}.community-times .community-avatar{position:absolute;top:var(--space-3);left:0;border-radius:var(--radius-sm);background:var(--color-brand-tint);color:var(--color-brand-strong);font-weight:var(--weight-medium)}.community-times .community-message-actions{margin-top:0}.community-times .community-message-actions .community-add-reaction,.community-times .community-message-actions .community-reply-link{min-width:32px}.community-selected-message{background:var(--color-brand-tint);box-shadow:inset 3px 0 var(--color-brand)}.community-times .community-reply-link,.community-times .community-add-reaction{padding-inline:var(--space-1)}.community-times .community-composer{padding-top:var(--space-3)}.community-times .community-input{gap:var(--space-1);padding:var(--space-1);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm)}.community-times .community-input:focus-within{border-color:var(--color-brand);box-shadow:0 0 0 1px var(--color-brand)}.community-times .community-input textarea{border:0;outline:none;min-height:44px;padding:var(--space-2)}.community-times .community-input>button{height:44px}.community-thread-header{display:flex;align-items:center;gap:var(--space-2);flex:none;min-height:56px;padding:var(--space-1) var(--space-3);border-bottom:var(--border-width) solid var(--color-border);background:var(--color-surface)}.community-thread-back{display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;justify-content:center;width:40px;margin:0;padding:0;border:0;background:transparent;color:var(--color-brand-strong);font-size:var(--text-sm);font-weight:var(--weight-medium)}.community-thread-back.is-close{order:1}.community-thread-title{display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:0}.community-thread-title h1{margin:0;font-size:var(--text-lg)}.community-thread-title h1:focus{outline:none}.community-thread-title>span{display:inline-flex;align-items:center;gap:var(--space-1);margin-left:auto;color:var(--color-text-muted);font-size:var(--text-xs)}.community-thread-root{padding-top:var(--space-2)}.community-times .community-separator{display:flex;align-items:center;gap:var(--space-3);border:0;padding-bottom:var(--space-2)}.community-reply-to{display:flex;align-items:flex-start;gap:var(--space-1);margin:0 0 var(--space-2);font-size:var(--text-xs);color:var(--color-brand-strong);font-weight:var(--weight-medium)}.community-reply-to svg{flex:none}.community-reply-to span{overflow-wrap:anywhere}@media(min-width:1024px){.community-layout{margin:var(--space-6) var(--pc-col-pad-right) var(--space-6) var(--pc-col-pad-left);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.community-times>.community-column{width:auto}.community-timeline{flex:1}.community-times>.community-thread{flex:0 0 40%;min-width:300px;max-width:440px;border-left:var(--border-width) solid var(--color-border);animation:community-thread-in .16s ease-out}.community-times .community-thread-header{min-height:48px}.community-times .community-message-actions button,.community-times .community-reply-link{min-height:28px}}@keyframes community-thread-in{0%{transform:translate(24px);opacity:0}to{transform:translate(0);opacity:1}}@media(prefers-reduced-motion:reduce){.community-times>.community-thread{animation:none}}@media(hover:hover){.community-message-open:hover{color:var(--color-brand-strong)}.community-add-reaction:hover,.community-reply-link:hover,.community-menu:hover,.community-emoji-picker button:hover{background:var(--color-brand-tint);border-radius:var(--radius-sm)}}.community-attachments{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:var(--space-2);margin-top:var(--space-2);max-width:100%}.community-attachment-open{display:block;min-width:0;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.community-attachments img,.community-attachments video{display:block;width:100%;height:auto;max-height:320px;object-fit:contain;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-default)}.community-attachments video{aspect-ratio:16 / 9}.community-attachment-failed{display:grid;place-content:center;gap:var(--space-1);width:100%;max-height:320px;border:var(--border-width) dashed var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-default);color:var(--color-text-muted);font:inherit;font-size:var(--text-xs);text-align:center;cursor:pointer}.community-attachment-failed.is-unsized{min-height:120px}.community-input>.community-attach{flex:0 0 44px;color:var(--color-brand);background:transparent}.community-attachment-help{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:var(--space-2)}.community-attachment-drafts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);max-height:240px;overflow-y:auto}.community-attachment-name{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs)}.community-attachment-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.community-attachment-name button{display:grid;place-items:center;flex:0 0 44px;height:44px;color:var(--color-text-muted);background:transparent;border:0}@media(hover:hover){.community-input>.community-attach:hover,.community-attachment-name button:hover{background:var(--color-brand-tint)}}.community-reply-inbox{flex:none;border-bottom:var(--border-width) solid var(--color-border)}.community-reply-inbox ul{margin:0;padding:0;list-style:none;max-height:40vh;overflow:auto;background:var(--color-surface)}.community-reply-inbox li+li{border-top:var(--border-width) solid var(--color-border)}.community-reply-inbox li button{display:grid;grid-template-columns:1fr auto;gap:var(--space-1) var(--space-2);width:100%;min-height:44px;padding:var(--space-3) var(--space-4);border:0;background:transparent;color:var(--color-text);font:inherit;text-align:left;cursor:pointer}.community-reply-inbox-place{color:var(--color-text-muted);font-size:var(--text-xs)}.community-reply-inbox-body{grid-column:1;overflow:hidden;font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap}.community-reply-inbox-count{grid-column:2;grid-row:1 / span 2;align-self:center;min-width:24px;padding:0 var(--space-2);border-radius:999px;background:var(--color-brand);color:var(--color-surface);font-size:var(--text-xs);font-weight:var(--weight-bold);line-height:24px;text-align:center}.community-reply-faces{display:inline-flex;flex:none}.community-reply-face{width:22px;height:22px;display:grid;place-items:center;border:2px solid var(--color-surface);border-radius:calc(var(--radius-sm) * 22 / 32);background:var(--color-brand-tint);color:var(--color-brand-strong);font-size:var(--text-xs);font-weight:var(--weight-medium)}.community-reply-face+.community-reply-face{margin-left:-6px}.community-viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay-fullscreen);display:grid;grid-template-rows:auto minmax(0,1fr);background:#000000f5;color:#fff;animation:confirm-fade var(--duration-fast) var(--ease-standard)}.community-viewer-bar{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:max(var(--space-2),env(safe-area-inset-top)) var(--space-2) 0}.community-viewer-count{margin-right:auto;padding-left:var(--space-3);font-size:var(--text-sm)}.community-viewer-close,.community-viewer-nav{display:grid;place-items:center;width:48px;height:48px;border:0;border-radius:var(--radius-full);background:#ffffff1f;color:#fff;cursor:pointer}.community-viewer-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);min-height:0;padding:var(--space-3) var(--space-3) max(var(--space-4),env(safe-area-inset-bottom))}.community-viewer-image{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.community-viewer-failed{display:grid;place-content:center;gap:var(--space-1);width:min(100%,360px);min-height:160px;border:var(--border-width) dashed rgb(255 255 255 / .4);border-radius:var(--radius-sm);background:transparent;color:#fff;font:inherit;font-size:var(--text-sm);cursor:pointer}.community-viewer-nav{position:absolute;top:50%;transform:translateY(-50%)}.community-viewer-nav.is-prev{left:var(--space-2)}.community-viewer-nav.is-next{right:var(--space-2)}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)}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}.tl-w[role=button]:focus-visible{outline:2px solid var(--color-brand);outline-offset:3px;border-radius:3px}.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(.music-track):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}.lesson-speed-trigger{display:inline-flex;align-items:center;justify-content:center;flex:none;gap:var(--space-1);min-width:var(--space-16);min-height:var(--header-height);padding:0 var(--space-2);border:0;border-radius:var(--radius-sm);background:var(--color-bg-default);color:var(--color-text);font-family:var(--font-num);font-size:var(--text-sm);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;white-space:nowrap}.lesson-speed-trigger:disabled{color:var(--color-text-muted);opacity:.6;cursor:default}.lesson-speed-trigger svg{flex:none}.sgr-sheet.lesson-speed-sheet{height:auto;max-width:var(--container-max);background:var(--color-surface)}.sgr-sheet-body.lesson-speed-sheet-body{padding:var(--space-3) var(--space-4) calc(var(--space-6) + env(safe-area-inset-bottom))}.lesson-speed-list{display:grid;gap:var(--space-1)}.lesson-speed-choice{display:flex;align-items:center;gap:var(--space-4);width:100%;min-height:calc(var(--space-8) + var(--space-6));padding:var(--space-3) var(--space-4);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);text-align:left}.lesson-speed-number{min-width:calc(var(--space-6) * 2);font-family:var(--font-num);font-size:var(--text-base);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.lesson-speed-description{color:var(--color-text-muted);font-size:var(--text-sm)}.lesson-speed-check{margin-left:auto;flex:none;visibility:hidden}.lesson-speed-choice[aria-checked=true]{background:var(--color-brand-tint);color:var(--color-brand-strong)}.lesson-speed-choice[aria-checked=true] .lesson-speed-check{visibility:visible}.lesson-speed-choice[aria-checked=true] .lesson-speed-description{color:var(--color-brand-strong)}.lesson-speed-trigger:active:not(:disabled),.lesson-speed-choice:active{opacity:.6}.lesson-speed-trigger:focus-visible,.lesson-speed-choice:focus-visible{outline:calc(var(--border-width) * 2) solid var(--color-brand);outline-offset:var(--space-1)}@media(hover:hover){.lesson-speed-trigger:hover:not(:disabled){background:var(--color-brand-tint)}.lesson-speed-choice:hover:not([aria-checked=true]){background:var(--color-bg-default)}}.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}}.mini-answer-row.mini-answer-editable{display:block}.mini-answer-heading{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.mini-grade-edit{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:0;min-height:32px;padding:0 var(--space-3);border:var(--border-width) solid var(--color-brand);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-brand);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:var(--leading-tight);transition:opacity var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.mini-grade-edit:after{content:"";position:absolute;top:-6px;right:0;bottom:-6px;left:0}.mini-grade-edit:active{opacity:.6}.mini-grade-edit:focus-visible{outline:var(--border-width) solid var(--color-brand);outline-offset:var(--space-1)}.mini-grade-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.mini-grade-overlay .confirm-card{outline:none}.mini-grade-heading h2{margin:0;font-size:var(--text-lg)}.mini-grade-heading .topbar-iconbtn{margin:0;border-radius:var(--radius-sm)}.mini-grade-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);margin-top:var(--space-4)}.mini-grade-options button{display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.mini-grade-options button[aria-pressed=true]{background:var(--color-brand-tint);color:var(--color-brand-strong)}.mini-answer-editable .mini-answer-value{margin-top:var(--space-2)}@media(hover:hover){.mini-grade-edit:hover,.mini-grade-heading .topbar-iconbtn:hover{background:var(--color-brand-tint)}}@media(prefers-reduced-motion:reduce){.mini-grade-edit{transition:none}.mini-grade-overlay,.mini-grade-overlay .confirm-card{animation:none}}.home-radio-section button,.radio-scr button:where(:not(.media-action-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)}.radio-scr .audio-btn,.radio-scr .lyr-btn,.radio-scr .pl-skip,.radio-scr .pl-repeat{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),.radio-scr .pl-repeat:hover:not(.on){background:var(--color-brand-tint)}}.home-radio-section .tr-all svg{width:14px;height:14px}.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.in-lesson{padding-top:var(--space-3)}.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 svg{width:28px;height:28px}.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}.memory-art{position:relative;background:var(--color-memory-paper);color:var(--color-memory-ink)}.memory-art>img{filter:sepia(.35) saturate(.55) contrast(.92) brightness(1.04)}.memory-art:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-memory-paper);mix-blend-mode:multiply;opacity:.45;pointer-events:none}.radio-scr .radio-art{width:clamp(160px,160cqh,100%);aspect-ratio:16 / 9;border-radius:var(--radius-md);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{position:relative;display:flex;align-items:center;justify-content:center;gap:var(--space-6)}.radio-scr .pl-controls.with-tracks{justify-content:space-between;gap:var(--space-2)}.radio-scr .pl-repeat{width:44px;height:44px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);color:var(--color-text-muted)}.radio-scr .pl-repeat.on{background:var(--color-surface);color:var(--color-brand)}.radio-scr .pl-skip{width:44px;height:44px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;color:var(--color-text)}.radio-scr .pl-skip svg{width:22px;height:22px}.radio-scr .pl-skip:disabled,.mini-player .mp-btn:disabled{opacity:.35;cursor:default}.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 .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 .pl-transport{display:flex;flex-direction:column;gap:var(--space-4);flex-shrink:0}:is(.radio-scr,.music-library,.home-radio-section) .prep-word{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}:is(.radio-scr,.music-library,.home-radio-section) .prep-retry{background:none;border:0;padding:0;color:var(--color-brand);cursor:pointer}@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,.radio-scr .scr-center{padding-left:0;padding-right:0}.radio-scr .pl-transport{flex-direction:row;align-items:center}.radio-scr .pl-transport .pl-controls{order:-1;gap:var(--space-2);flex-shrink:0}.radio-scr .pl-transport .review-mode-buttons{flex-shrink:0}.radio-scr .pl-transport .seek{flex:1 1 auto;min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:var(--space-2)}.radio-scr .pl-transport .seek-times{display:contents}.radio-scr .pl-transport .seek-times span:first-child{grid-column:1;grid-row:1}.radio-scr .pl-transport .seek-bar{grid-column:2;grid-row:1}.radio-scr .pl-transport .seek-times span:last-child{grid-column:3;grid-row:1}.music-player .pl-transport{display:grid;grid-template-columns:1fr auto}.music-player .pl-transport .seek{grid-column:1 / -1}.music-player .pl-transport .pl-controls{order:0;justify-content:flex-start}}.mini-player{position:relative;display:flex;align-items:center;gap:var(--space-1);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);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}@media(max-width:480px){.mini-player .mp-thumb{display:none}}.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)}.mini-player .mp-meta b,.mini-player .mp-meta span{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:not(:disabled){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)}}.radio-scr .review-heading{flex-shrink:0;text-align:center;padding:var(--space-2) 0}.review-heading p{margin:0 0 var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted)}.review-heading h1{margin:0;font-size:var(--text-lg);font-weight:var(--weight-bold);line-height:1.5}.radio-scr .review-vocabulary{flex:1;min-height:0;overflow-y:auto;padding:var(--space-2) 0}.review-vocabulary .kv-en{color:var(--color-text)}.review-vocab-source{display:inline-block;margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted)}.radio-scr .review-mode-buttons{display:flex;flex-wrap:wrap;flex-shrink:0;justify-content:center;gap:var(--space-3)}.radio-scr .review-mode-buttons .lyr-btn{margin:0}.radio-scr .review-mode-buttons .lesson-speed-trigger{min-width:0;min-height:44px;padding:0 var(--space-3) 0 var(--space-4);border:1px solid var(--color-brand);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-brand)}.review-empty{color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.7}:where(.music-library) button,.music-album{font:inherit;color:inherit;border:0;background:none;cursor:pointer;text-align:left}.music-library button:disabled{opacity:.4;cursor:default}.music-library h1,.music-library h2,.music-library p{margin:0}.music-library{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;padding:var(--space-4) var(--space-4) 0}.music-top{display:flex;align-items:center;gap:var(--space-2);min-height:var(--header-height);flex-shrink:0}.music-top h1{font-size:var(--text-xl);font-weight:var(--weight-bold);flex:1}.music-top>.topbar-iconbtn:first-child{margin-left:calc(-1 * var(--space-2))}.music-library-controls{margin:var(--space-4) 0 var(--space-6);flex-shrink:0}.music-filter-options{gap:6px;flex-wrap:wrap}.music-scroll{min-height:0;overflow-y:auto;scrollbar-width:none;padding-bottom:var(--space-6)}.music-section-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.music-section-heading h2{font-size:var(--text-lg);font-weight:var(--weight-bold)}.music-section-heading p{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:var(--space-1)}.music-shelf{display:flex;overflow-x:auto;gap:var(--space-4);scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:var(--space-2)}.music-album{display:flex;flex-direction:column;gap:var(--space-2);flex:0 0 152px;min-width:0;padding:0;scroll-snap-align:start}.music-album-art{position:relative;display:block;width:100%}.music-cover{display:block;aspect-ratio:1;width:100%;border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0}.music-cover>img{width:100%;height:100%;display:block;object-fit:cover}.music-cover-label{position:absolute;z-index:1;bottom:0;inset-inline:0;padding:var(--space-2) var(--space-3);display:flex;align-items:center;justify-content:space-between;gap:var(--space-1);background:var(--color-memory-paper);color:var(--color-memory-ink);font-size:var(--text-xs);font-weight:var(--weight-bold);white-space:normal}.music-cover.is-review .music-cover-label{background:var(--color-memory-ink);color:var(--color-memory-paper)}.music-playing-bars{display:inline-flex;align-items:flex-end;gap:2px;height:12px;margin-left:auto;flex-shrink:0}.music-playing-bars i{display:block;width:3px;border-radius:2px;background:currentColor;transform-origin:bottom;animation:music-playing-bar 1s ease-in-out infinite}.music-playing-bars i:nth-child(1){height:60%}.music-playing-bars i:nth-child(2){height:100%;animation-delay:.2s}.music-playing-bars i:nth-child(3){height:75%;animation-delay:.4s}.music-playing-bars i:nth-child(4){height:45%;animation-delay:.1s}@keyframes music-playing-bar{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1)}}.music-cover-label:has(.music-playing-bars)>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(prefers-reduced-motion:reduce){.music-playing-bars i{animation:none;transform:none}}.music-album b{font-size:var(--text-sm);font-weight:var(--weight-bold);line-height:var(--leading-ja);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.music-album-meta{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:calc(-1 * var(--space-1))}.music-album-play{position:absolute;right:var(--space-2);bottom:var(--space-12);display:grid;place-items:center;width:32px;height:32px;color:var(--color-surface);background:var(--color-brand);border-radius:var(--radius-full);opacity:0;transition:opacity var(--duration-fast)}.music-album:hover .music-album-play,.music-album:focus-visible .music-album-play,.music-album.is-current .music-album-play{opacity:1}.music-album:hover b,.music-album.is-current b{color:var(--color-brand)}.home-radio-section.music-home .tr-sec-label{font-size:var(--text-base);color:var(--color-text);font-weight:var(--weight-bold);display:flex;align-items:center;gap:var(--space-2)}.music-home .tr-sec-label small{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:var(--weight-regular)}.music-home .music-album{flex-basis:140px}.music-tracks{margin-top:var(--space-8)}.music-play-actions{display:flex;align-items:center;gap:var(--space-3)}.music-library .music-play-all{background:var(--color-brand);color:var(--color-surface);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--weight-bold);min-height:40px;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4)}.music-library .music-play-all:hover:not(:disabled){background:var(--color-brand-strong)}.music-shuffle{display:grid;place-items:center;min-height:40px;width:40px}.music-track-heading{display:none}.music-track{display:flex;align-items:center;width:100%;gap:var(--space-3);padding:var(--space-2) 0;border-radius:var(--radius-sm);min-width:0}.music-track:hover,.music-track.is-current{background:var(--color-brand-tint)}.music-track>.music-cover{width:48px}.music-track .music-cover-label{display:none}.music-track-copy{display:flex;flex-direction:column;gap:var(--space-1);min-width:0;flex:1}.music-track-copy b{font-size:var(--text-sm);font-weight:var(--weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.music-track-copy>span{font-size:var(--text-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.music-track.is-current b{color:var(--color-brand)}.music-track-time{font-size:var(--text-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;padding-right:var(--space-2)}.music-track-no,.music-track-play{display:none}.music-home .music-rows{display:flex;flex-direction:column;gap:var(--space-2)}.music-home .music-track{padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.music-home .music-track:hover,.music-home .music-track.is-current{background:var(--color-brand-tint)}.music-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-8) 0;font-size:var(--text-sm);color:var(--color-text-muted)}.music-empty span{font-size:var(--text-xs)}.music-player .review-heading h1{font-size:var(--text-xl);margin-top:var(--space-2)}.music-player .review-heading p{font-size:var(--text-xs)}@media(min-width:1024px){.music-library{padding-top:var(--space-6);padding-left:var(--pc-col-pad-left);padding-right:var(--pc-col-pad-right)}.music-top h1{font-size:var(--text-2xl)}.music-library-controls{margin-top:var(--space-6)}.music-album{flex-basis:calc((100% - 3 * var(--space-4)) / 3.5)}.music-track{padding:var(--space-2)}.music-track-no{display:flex;align-items:center;justify-content:center;width:24px;flex-shrink:0;font-size:var(--text-xs);color:var(--color-text-muted)}.music-track-play{display:block;flex-shrink:0;color:var(--color-brand)}.music-track-heading{display:grid;grid-template-columns:24px 1fr 64px;gap:var(--space-3);padding:var(--space-2);border-bottom:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--text-xs);margin-bottom:var(--space-2)}.music-track-heading span:last-child{text-align:right}}.music-cover>svg{width:45%;height:45%;margin:25%}.music-home{min-width:0}.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)}.lx-grouping{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin:var(--space-4) 0 var(--space-2);color:var(--color-text-muted);font-size:var(--text-xs)}.lx-grouping select{min-height:40px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit}.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))}.public-legal{width:min(100%,900px);height:100dvh;margin:0 auto;padding:var(--space-6);overflow-y:auto;box-sizing:border-box}.public-legal h1{font-size:var(--text-lg)}.public-legal .legal-doc-body{overflow:visible}.public-legal nav{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-4)}.legal-doc-markdown table{width:100%;border-collapse:collapse;table-layout:fixed}.legal-doc-markdown th,.legal-doc-markdown td{border:1px solid var(--color-border);padding:var(--space-2);vertical-align:top;text-align:left}.legal-doc-markdown th:first-child,.legal-doc-markdown td:first-child{width:28%}.public-legal .legal-doc-section:first-child>.legal-doc-heading{display:none}.app-frame .page-scroll.settings-legal-page{padding-top:var(--space-6);padding-bottom:max(var(--space-6),env(safe-area-inset-bottom))}.settings-legal-page .legal-doc{flex:none}.settings-legal-page .legal-doc-body{overflow:visible}.consent-intro{flex-shrink:0;margin-bottom:var(--space-4)}.consent-intro h1{margin:0 0 var(--space-2);font-size:var(--text-lg)}.consent-intro p{margin:0;font-size:var(--text-sm);line-height:1.6}.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-doc-link{color:inherit;text-decoration:underline;text-underline-offset:var(--space-1);white-space:nowrap}@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-cell-period{padding:0 var(--space-1);border-radius:var(--radius-sm);background:var(--color-bg-warning);font-weight:var(--weight-bold);color:var(--color-text)}.plan-table-footnote{margin:0;font-size:var(--text-xs);line-height:var(--leading-ja);color:var(--color-text-muted)}.plan-common-note{margin:0;font-size:var(--text-sm);line-height:var(--leading-ja);color:var(--color-text-secondary)}.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-3);font-size:var(--text-sm);line-height:var(--leading-ja);color:var(--color-text-secondary)}.plan-checkout-terms p{margin:0}.plan-checkout-terms-title{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-2);font-weight:var(--weight-bold);color:var(--color-text)}.plan-checkout-terms-title>span{white-space:nowrap}.plan-checkout-terms dl{display:flex;flex-direction:column;gap:var(--space-2);margin:0}.plan-checkout-terms dl>div{display:grid;grid-template-columns:3em 1fr;gap:var(--space-2)}.plan-checkout-terms dt{font-weight:var(--weight-medium);color:var(--color-text-muted)}.plan-checkout-terms dd{margin:0}.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}}.onb-step-3 .goal-content{gap:var(--space-4);padding:0 var(--space-1) var(--space-3);animation:goal-content-in var(--duration-base) var(--ease-standard)}.goal-prompt{flex:none}.goal-prompt:focus{outline:none}.goal-section-caption{margin:0;font-size:var(--text-sm);color:var(--color-text-muted);font-weight:var(--weight-medium)}.goal-footer{flex:none;display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-2)}.goal-footer-hint{margin:0;color:var(--color-text-muted);font-size:var(--text-xs);text-align:center}.goal-footer .duo-btn{min-height:var(--button-height)}.onb-step-3 .goal-category-options,.onb-step-3 .goal-example-options{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-3)}.onb-step-3 .goal-tpl-card{border-color:var(--color-brand);transition:background var(--duration-fast) var(--ease-standard),opacity var(--duration-fast) var(--ease-standard)}.onb-step-3 .goal-tpl-card.is-selected{background:var(--color-brand-tint)}.onb-step-3 .goal-tpl-head{color:var(--color-text)}.onb-step-3 .goal-category{flex-direction:row;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.onb-step-3 .onb-foot-scroll{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.goal-category-illustration{width:var(--space-12);height:var(--space-12);flex:none}.goal-category-text{display:flex;flex-direction:column;gap:var(--space-1);flex:1;min-width:0}.goal-category .goal-tpl-desc{font-size:var(--text-xs);color:var(--color-text-muted)}.goal-choice-indicator{display:inline-flex;align-items:center;justify-content:center;width:var(--space-6);height:var(--space-6);flex:none;border:var(--border-width) solid var(--color-brand);border-radius:var(--radius-full);color:var(--color-surface)}.is-selected .goal-choice-indicator{background:var(--color-brand)}.goal-example-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%}.goal-example-detail{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-3);margin-top:var(--space-1);border-top:var(--border-width) solid var(--color-brand-faint);font-size:var(--text-sm);line-height:var(--leading-ja)}.goal-example-detail>span{color:var(--color-brand-strong);font-size:var(--text-xs);font-weight:var(--weight-medium)}.goal-text-action{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--header-height);color:var(--color-brand);font-size:var(--text-sm);padding:0 var(--space-2);border-radius:var(--radius-sm)}.goal-free-action{align-self:center}.goal-form-field{display:flex;flex-direction:column;gap:var(--space-3)}.goal-form-field>label,.goal-editor-heading h2{margin:0;font-size:var(--text-base);font-weight:var(--weight-medium);line-height:var(--leading-ja)}.goal-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.onb-step-3 .goal-input-card{padding-bottom:var(--space-16);border-color:var(--color-brand)}.onb-step-3 .goal-input-card:focus-within{outline:none;box-shadow:0 0 0 var(--border-width) var(--color-brand)}.onb-step-3 .goal-mic{width:var(--header-height);height:var(--header-height)}.goal-input-caption{position:absolute;left:var(--space-4);bottom:var(--space-4);margin:0;color:var(--color-text-muted);font-size:var(--text-xs)}.goal-editor-context{display:flex;align-items:center;gap:var(--space-2)}.goal-editor-context img{flex:none}.goal-sentence-preview{padding:var(--space-4);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md)}.goal-editable-sentence{margin:0;font-size:var(--text-base);line-height:var(--leading-ja);white-space:pre-wrap;overflow-wrap:anywhere}.goal-phrase-button{display:inline;max-width:100%;min-width:var(--header-height);min-height:var(--header-height);padding:var(--space-2);margin:var(--space-1) var(--space-1) var(--space-1) 0;border:var(--border-width) solid var(--color-brand);border-radius:var(--radius-sm);color:var(--color-brand-strong);background:var(--color-surface);font:inherit;text-align:left;vertical-align:baseline;overflow-wrap:anywhere;cursor:pointer}.goal-phrase-button svg{display:inline-block;vertical-align:middle;margin-left:var(--space-1)}.goal-active-phrase{color:var(--color-brand-strong);background:var(--color-brand-tint);text-decoration:underline;text-underline-offset:var(--space-1)}.goal-sentence-tools{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-3);border-top:var(--border-width) solid var(--color-border)}.goal-sentence-tools .goal-text-action{margin-left:calc(-1 * var(--space-2))}.goal-inline-editor{display:flex;flex-direction:column;gap:var(--space-3)}.goal-inline-editor>label{font-size:var(--text-sm);font-weight:var(--weight-medium);overflow-wrap:anywhere}.goal-phrase-input{width:100%;min-width:0;min-height:var(--button-height);border:var(--border-width) solid var(--color-brand);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);padding:var(--space-3) var(--space-4);font-family:inherit;font-size:var(--text-base)}.goal-phrase-input:focus-visible{outline:none;box-shadow:0 0 0 var(--border-width) var(--color-brand)}.goal-editor-actions{display:flex;gap:var(--space-3)}.goal-editor-actions .duo-btn{flex:1;min-width:0;padding:var(--space-3) var(--space-2)}.goal-editor-status{display:flex;align-items:center;gap:var(--space-2);margin:0;font-size:var(--text-xs);color:var(--color-brand-strong)}.goal-input-error:empty,.goal-editor-status:empty{display:none}.goal-editor-status svg{flex:none}.goal-input-card textarea::selection{background:var(--color-brand-tint);color:var(--color-text)}.goal-field-note{margin:0;color:var(--color-text-muted);font-size:var(--text-xs);line-height:var(--leading-ja)}.goal-destination{display:flex;flex-direction:column;gap:var(--space-4);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4)}.goal-destination-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted)}.goal-destination-meta>span{display:flex;align-items:center;gap:var(--space-2)}.goal-result{margin:0;font-size:var(--text-lg);font-weight:var(--weight-medium);white-space:pre-wrap;overflow-wrap:anywhere}.goal-edit-action{flex:none}.onb-step-3 button:focus-visible{outline:var(--border-width) solid var(--color-brand);outline-offset:var(--space-1)}.onb-step-3 button:active:not(:disabled){opacity:.6}@keyframes goal-content-in{0%{opacity:0;transform:translateY(var(--space-2))}to{opacity:1;transform:none}}@media(hover:hover){.goal-text-action:hover,.goal-phrase-button:hover{background:var(--color-brand-tint)}.goal-footer .duo-btn:hover:not(:disabled){background:var(--color-brand-strong)}}@media(min-width:1024px){.goal-sentence-tools{flex-direction:row;align-items:center;justify-content:space-between}.onb-step-3 .goal-category-options,.onb-step-3 .goal-example-options{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.onb-step-3 .goal-content{animation:none}.onb-step-3 .goal-tpl-card{transition:none}}
