/* Shared selected effects; the private gallery uses the same implementation. */
:root[data-motion-enabled],:root[data-motion-preview]{--ml-amber:var(--accent,#f5c944);--ml-line:var(--line,var(--border,#34383f));--ml-surface:var(--surface,var(--raised,#202329));--ml-ink:var(--ink,var(--text,#faf6ea))}
.ml-enhanced main .band,.ml-enhanced main .card,.ml-enhanced main .charcard{opacity:1;animation:none}
.ml-enhanced main .charcard{transform:none}
.ml-button{font:600 14px/1.3 var(--font-body,'DM Sans',sans-serif);min-height:44px;padding:9px 14px;border:1px solid var(--ml-line);border-radius:12px;background:var(--ml-surface);color:var(--ml-ink);cursor:pointer}
.ml-button:hover{border-color:var(--accent-text,var(--ml-amber))}
.ml-button:focus-visible,.ml-filters button:focus-visible,[role=button]:focus-visible,.ml-focus-row:focus-visible{outline:3px solid var(--accent-text,var(--ml-amber));outline-offset:4px}
.ml-preview-bar{position:fixed;z-index:120;bottom:12px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;background:#17191df5;color:#faf6ea;border:1px solid #555b64;border-radius:16px;padding:8px 12px;box-shadow:0 8px 30px #0005;max-width:calc(100% - 24px);font:14px 'DM Sans',sans-serif}
.ml-preview-bar>a{color:#f5c944;white-space:nowrap;padding:10px 6px}.ml-preview-bar strong{max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}
.ml-preview-bar button{background:#272a30;color:#faf6ea;border-color:#484d57;white-space:nowrap}
.ml-preview-bar button[aria-pressed=true]{background:#f5c944;color:#17191d;border-color:#f5c944}
.ml-has-bar body{padding-bottom:88px}
.ml-nav-motion{white-space:nowrap}
.ml-enhanced .site-header .site-dropdown-panel{isolation:isolate;overflow:auto;animation:none!important;transform:none!important;transition:none!important}
.ml-enhanced .site-header .site-dropdown-panel a{position:relative;z-index:1;transform:none!important;animation:none!important}
.ml-nav-marker{position:absolute;top:0;left:0;z-index:0;opacity:0;background:transparent;border:1px solid color-mix(in srgb,var(--ml-amber) 65%,transparent);border-left:5px solid var(--ml-amber);border-radius:10px;pointer-events:none;transition:transform .55s cubic-bezier(.22,.75,.25,1),width .4s,height .4s,opacity .2s}
[data-nav-motion=B] .site-header .nav-group a:is(:hover,[aria-current],.ml-nav-selected){background:transparent;color:var(--accent-text,var(--ml-ink))}
[data-nav-motion=B] .site-dropdown>summary{position:relative}
[data-nav-motion=B] .site-dropdown>summary:before{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--ml-amber);transform:scaleX(0);transform-origin:left;transition:transform .3s}
[data-nav-motion=B] .site-dropdown[open]>summary:before{transform:scaleX(1)}
[data-nav-motion=B] .site-dropdown-panel a img{transition:transform .35s}
[data-nav-motion=B] .site-dropdown-panel a:is(:hover,:focus-visible) img{transform:scale(1.14) rotate(-3deg)}
.ml-route-group{position:relative}
.ml-route{position:absolute;top:20px;bottom:20px;left:-16px;width:3px;background:var(--ml-line);border-radius:99px;pointer-events:none;transform-origin:top}
.ml-route:after{content:"";position:absolute;inset:0;background:var(--ml-amber);border-radius:inherit;transform:scaleY(var(--route-fill,0));transform-origin:top}
.journey-steps.ml-route-group{padding-bottom:22px}
.journey-steps>.ml-route{top:auto;bottom:0;left:12%;right:12%;width:auto;height:3px}
.journey-steps>.ml-route:after{transform:scaleX(var(--route-fill,0));transform-origin:left}
.ml-playing:not(button){background:transparent;box-shadow:none}
.row:has(>.play),.phrase-card{position:relative;padding-left:20px!important}
.row.ml-playing:before,.phrase-card.ml-playing:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;background:var(--ml-amber);transform:scaleY(var(--ml-audio-progress,0));transform-origin:top;border-radius:3px;pointer-events:none}
.play.ml-playing{position:relative}
.play.ml-playing:after{content:none}
html.ml-paused .curve path{animation:none!important;stroke-dasharray:none!important;stroke-dashoffset:0!important}
.ml-tone-dot{fill:var(--ml-ink);stroke:currentColor;stroke-width:1.3;filter:none}
.charhero .glyph{transform-origin:center}
.ml-tone-comparison{margin-top:24px;padding:24px;background:var(--ml-surface);border:1px solid var(--ml-line);border-radius:22px}
.ml-tone-comparison>.ml-button{display:block;margin-left:auto;margin-bottom:16px}
.ml-tone-comparison .ml-large-tone{max-width:700px;margin:auto;display:grid;grid-template-columns:minmax(140px,1fr) minmax(180px,1.2fr);gap:12px 24px}
.ml-large-tone .head{grid-column:1;grid-row:1/8;align-self:center;display:block}
.ml-large-tone .curve{width:100%;height:auto}
.ml-large-tone .ex{font-size:36px}.ml-large-tone h3{font-size:28px}
.tonecard>.ml-button{width:100%;margin-top:12px;padding-inline:7px}
.grammar-example .row{position:relative;flex-wrap:wrap}
.ml-sentence-replay{font-size:12px;margin:10px 0 0 auto;grid-column:2/-1}
.ml-sentence-part{display:inline-block;border-radius:4px}
.ml-filters{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0;margin:12px auto 22px;max-width:1100px}
.ml-filters button{font:600 14px var(--font-body,'DM Sans',sans-serif);padding:9px 15px;min-height:44px;border-radius:999px;border:1px solid var(--ml-line);background:var(--ml-surface);color:var(--ml-ink);cursor:pointer}
.ml-filters [aria-pressed=true]{background:var(--ml-amber);border-color:var(--ml-amber);color:#17191d}
.ml-word-card{min-width:0;border:1px solid var(--ml-line);border-radius:20px;overflow:hidden;background:var(--ml-surface)}
.ml-word-card>.story-card{border:0;border-radius:0;margin:0}
.ml-word-sample{padding:0 16px 15px;border-top:1px solid var(--ml-line)}
.ml-word-sample summary{cursor:pointer;min-height:44px;padding-top:13px;font-weight:600;font-size:14px}
.ml-sample-content .row{display:flex;flex-wrap:wrap;gap:10px;padding:14px 0 0}
.ml-sample-content .row>.body{flex:1}.ml-sample-content .row>.en{flex-basis:100%;text-align:left}
.ml-current{box-shadow:inset 3px 0 var(--ml-amber);background:transparent}
.course-stage{transition:background .3s,box-shadow .3s}
.ml-course-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:25px;margin:36px -80px 36px -120px;position:relative}
.ml-course-art{position:sticky;top:130px;align-self:start;text-align:center;overflow:hidden}
.ml-course-art>img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;display:block}
.ml-course-art>p{padding:10px;line-height:1.5}
.ml-course-stages{min-width:0}.ml-course-stages .course-stage{margin-top:0;margin-bottom:70px}
.ml-course-inline{display:none}
.ml-reading-progress{position:fixed;top:var(--site-header-height,80px);left:0;right:0;height:3px;background:var(--ml-amber);z-index:95;transform:scaleX(0);transform-origin:left;pointer-events:none}
.ml-contents{border:1px solid var(--ml-line);border-radius:14px;padding:8px 16px;margin:22px auto;max-width:760px;background:var(--ml-surface)}
.ml-contents summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:600}
.ml-contents nav{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:10px}
.ml-contents a{font-size:14px;border-radius:8px;padding:8px 12px;min-height:44px;color:var(--ml-ink)}
.ml-contents a[aria-current]{box-shadow:inset 3px 0 var(--ml-amber);background:transparent}
[data-ml-parallax]{transform-origin:50% 50%;backface-visibility:hidden}
.ml-feature-tabs{display:block!important;min-height:640px}
.ml-feature-tabs article{display:grid;grid-template-columns:280px minmax(0,1fr);gap:22px;align-items:center;max-width:670px;margin:auto}
.ml-feature-tabs .phone{grid-row:1/4;width:260px!important;max-width:100%;margin:auto}
.ml-feature-tabs h2{font-size:32px;margin:0!important;line-height:1.15}
.ml-feature-tabs .eyebrow{align-self:end}
.ml-feature-scroll{display:block!important;position:relative}
.ml-feature-scroll article{min-height:85vh;display:grid;grid-template-columns:minmax(200px,330px) 1fr;gap:16px 40px;align-items:center;padding:45px 0}
.ml-feature-scroll .phone{position:sticky;top:120px;grid-row:1/4;align-self:start;width:280px!important;margin:auto}
.ml-feature-scroll article h2{font-size:34px;line-height:1.18}
.ml-feature-scroll article .eyebrow{align-self:end}
.ml-focus-row{transition:background .2s,box-shadow .2s;border-radius:10px}
.ml-enhanced [role=button]{cursor:pointer}
.ml-enhanced .ml-focused-phrase{grid-column:1/-1;max-width:900px;margin:16px auto;padding:30px;border-color:var(--accent-text,var(--ml-amber));width:100%}
.ml-focused-phrase h2{font-size:clamp(28px,4vw,42px)}
.ml-focused-phrase .rom{font-size:22px}
.ml-phrase-focus{font-size:12px;align-self:end}
.ml-swap-arrow{display:inline-block;margin-right:8px;vertical-align:middle}
.ml-digit{font:inherit;color:inherit;background:transparent;border:0;border-radius:8px;min-width:38px;min-height:44px;padding:0;cursor:pointer}
.ml-digit:hover,.tok[role=button]:hover{background:var(--ml-surface)}
.ml-rule-path{position:relative;padding-left:25px}
.ml-rule-path:before{position:absolute;content:"";width:2px;top:12px;bottom:12px;left:5px;background:var(--ml-amber);transform-origin:top;animation:ml-trace .8s ease both}
.ml-rule-path>div{position:relative}
.ml-rule-path>div:before{position:absolute;content:"";width:8px;height:8px;border-radius:50%;left:-23px;top:9px;background:var(--ml-amber)}
@keyframes ml-trace{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.kbd button b{display:block;transform-origin:center}
.ml-driver-view{font-size:22px!important;padding:clamp(22px,4vw,50px)!important;border:3px solid var(--ml-amber)!important;max-width:none!important}
.ml-driver-view #driver-address{font-size:clamp(32px,5vw,60px)!important;line-height:1.65}
.ml-driver-view #driver-label{font-size:clamp(28px,4vw,44px)}
.ml-weather-scene{position:relative;height:175px;margin:16px 0 22px;border-radius:18px;background:linear-gradient(150deg,#1b3444,#242b3d);overflow:hidden;isolation:isolate}
.ml-weather-art{position:absolute;left:12px;bottom:-10px;width:180px;height:180px;object-fit:contain;opacity:.9}
.ml-weather-sun{position:absolute;width:62px;height:62px;border-radius:50%;background:#f5c944;right:17%;top:25px;box-shadow:none}
.ml-weather-cloud{position:absolute;width:95px;height:30px;border-radius:40px;background:#d4dce6;right:18%;top:80px;display:none}
.ml-weather-cloud:before,.ml-weather-cloud:after{content:"";position:absolute;background:inherit;border-radius:50%;width:46px;height:46px;bottom:4px;left:11px}
.ml-weather-cloud:after{width:60px;height:60px;left:33px}
[data-weather=cloud] .ml-weather-cloud,[data-weather=rain] .ml-weather-cloud,[data-weather=snow] .ml-weather-cloud{display:block}
[data-weather=rain] .ml-weather-sun,[data-weather=snow] .ml-weather-sun{display:none}
.ml-weather-drop{position:absolute;right:calc(16% + var(--i)*12px);top:100px;height:12px;width:3px;border-radius:8px;background:#a9d7f2;display:none}
[data-weather=rain] .ml-weather-drop,[data-weather=snow] .ml-weather-drop{display:block}
[data-weather=snow] .ml-weather-drop{height:5px;width:5px}
.ml-weather-small{height:85px;margin-top:6px;background:transparent}
.ml-weather-small .ml-weather-art{display:none}.ml-weather-small .ml-weather-sun{width:30px;height:30px;top:15px;right:auto;left:30px}
.ml-weather-small .ml-weather-cloud{width:60px;height:18px;top:42px;right:auto;left:40px;transform:scale(.7);transform-origin:left}
.ml-weather-small .ml-weather-drop{right:auto;left:calc(37px + var(--i)*6px);top:45px}
.ml-day-indicator{padding-top:18px;display:grid;gap:10px}
.ml-day-track{height:36px;position:relative;display:block;border-radius:99px;background:var(--ml-surface);border:1px solid var(--ml-line);overflow:hidden}
.ml-day-orb{width:20px;height:20px;background:#f5c944;position:absolute;top:8px;border-radius:50%;transition:left .55s cubic-bezier(.2,.8,.2,1);transform:translateX(-50%)}
[data-day=false] .ml-day-orb{background:#e6e7ef;box-shadow:inset -6px -2px #7b81a1}
.ml-enhanced .footer-download{position:relative;overflow:hidden;min-height:180px}
.ml-footer-art{position:absolute;inset:0;pointer-events:none;display:flex;justify-content:space-between;align-items:end;opacity:.8}
.ml-footer-art img{height:170px;width:auto;object-fit:contain;max-width:24%}
.ml-enhanced .footer-download>p,.ml-enhanced .footer-download>.play-badge{position:relative;z-index:1}
[hidden]{display:none!important}
.ml-paused *,.ml-paused *:before,.ml-paused *:after{animation:none!important;transition:none!important}
.ml-paused .ml-route:after{transform:none!important}
@media(max-width:1120px){.ml-nav-motion{justify-self:start}.ml-enhanced .site-header .site-dropdown-panel{position:relative;inset:auto;overflow:visible}.ml-course-layout{margin-inline:0;grid-template-columns:180px minmax(0,1fr)}}
@media(max-width:800px){
 .ml-preview-bar{bottom:6px;border-radius:12px;flex-wrap:wrap;justify-content:center;gap:6px;width:calc(100% - 16px);padding:6px}.ml-preview-bar strong{display:none}.ml-preview-bar>a{font-size:12px}.ml-preview-bar button{min-height:38px;padding:6px 10px;font-size:12px}
 .ml-route{left:-8px}.journey-steps>.ml-route{left:9px;top:20px;bottom:20px;right:auto;width:3px;height:auto}.journey-steps>.ml-route:after{transform:scaleY(var(--route-fill,0));transform-origin:top}
 .ml-tone-comparison{padding:15px}.ml-tone-comparison .ml-large-tone{display:block}.ml-large-tone .head{margin-bottom:20px}.ml-large-tone .curve{height:110px}
 .ml-course-layout{display:block;margin:25px 0}.ml-course-art{display:none}.ml-course-inline{display:block;width:min(72%,280px);height:auto;aspect-ratio:1;object-fit:contain;margin:0 auto 22px}
 .ml-feature-tabs{min-height:640px}.ml-feature-tabs article{display:flex;flex-direction:column;gap:12px;text-align:center}.ml-feature-tabs .phone{width:240px!important}.ml-feature-tabs h2{font-size:26px}
 .ml-feature-scroll article{display:flex;flex-direction:column;min-height:0;padding:30px 0;gap:12px}.ml-feature-scroll .phone{position:static;width:240px!important;align-self:auto}.ml-feature-scroll article h2{font-size:26px;text-align:center}
 .ml-filters{padding-inline:5px;gap:6px}.ml-filters button{font-size:13px;padding:8px 12px}
 .ml-focused-phrase .rom{font-size:18px}.ml-enhanced .ml-focused-phrase{padding:20px;margin:8px 0}.ml-weather-art{width:145px;height:145px;left:0}
 .ml-footer-art{opacity:.45}.ml-footer-art img{height:135px;max-width:21%}.ml-enhanced .footer-download{min-height:190px}
}
@media(prefers-reduced-motion:reduce){.ml-enhanced *,.ml-enhanced *:before,.ml-enhanced *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.ml-route:after{transform:none!important}[data-ml-parallax]{transform:none!important}}
@media print{.ml-preview-bar,.ml-nav-motion,.ml-reading-progress,.ml-contents,.ml-button,.ml-footer-art{display:none!important}.ml-has-bar body{padding:0}.ml-enhanced *{animation:none!important;transform:none!important}}

.ml-enhanced .play[data-playing]{animation:none;box-shadow:none}
.ml-enhanced .play,.ml-enhanced .ml-nav-marker{filter:none}
