/* Layout fixes shared by the live templates and private design previews. */
.page-redesign .charcard .pic{position:static;inset:auto;display:flex;align-items:center;justify-content:center;width:100%;height:122px;margin:0 0 10px;pointer-events:none}
.page-redesign .charcard .pic .art{display:block;width:100%;height:112px;max-width:150px;object-fit:contain;object-position:center;background:transparent}
.page-redesign .charcard .head{padding-top:0}
.ml-enhanced main .grid>.charcard{transition-property:background-color,border-color;transition-delay:0ms!important}
.reading-sentence{display:flex;align-items:flex-start;gap:18px;margin-bottom:18px}
.reading-tokens{display:flex;flex-wrap:wrap;gap:18px 26px;min-width:0;flex:1;align-items:flex-start}
.reading-tokens>.tok{display:flex;flex-direction:column;align-items:center;flex:0 0 auto;margin:0;gap:4px;min-width:56px}
.reading-tokens .t{line-height:1.65}.reading-tokens .r{line-height:1.5}.reading-tokens .play{margin-top:6px}
.chapter-example{display:flex;align-items:baseline;gap:8px 16px;flex-wrap:wrap;margin-block:4px}
.chapter-example>.th{flex-basis:100%;line-height:1.6}
.culture-hero{grid-template-columns:minmax(0,1fr) minmax(240px,380px)!important;align-items:center}
.culture-art{width:100%;height:auto!important;aspect-ratio:1;object-fit:contain;display:block;background:#17191d;border-radius:20px}
.culture-art.cardtop{max-width:none;margin-bottom:22px}
.site-preferences{display:flex;align-items:center;gap:8px}
.site-header .site-theme{appearance:none;width:auto;height:44px;min-width:88px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 12px;border:1px solid var(--line,var(--border));border-radius:12px;font:500 14px var(--font-body);line-height:1.4;white-space:nowrap;color:var(--nav-ink);background:var(--surface,var(--raised));box-shadow:none}
.site-header .site-theme:before,.site-header .site-theme:after{content:none}
.site-header .site-theme:hover{color:var(--accent-text,var(--accent));border-color:var(--accent-text,var(--accent))}
.site-header .site-theme svg{display:block;width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:1360px){.site-preferences{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.site-header .site-preferences .site-theme{width:100%;height:48px;justify-content:flex-start;padding:10px;border:0;border-radius:10px;font-size:16px}}
.number-reading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:14px 22px;flex:1;min-width:0}
.number-reading .rom{font-size:1.1rem;line-height:1.8;overflow-wrap:anywhere}.number-reading .en{grid-column:1/-1}
.welcome-note{max-width:1000px;margin:48px auto;padding:32px;display:grid;grid-template-columns:90px 1fr auto;gap:24px;background:var(--surface,var(--raised));border:1px solid var(--line,var(--border));border-radius:20px;color:var(--ink,var(--text))}
.welcome-note img{width:90px;height:120px;object-fit:contain}.welcome-note h2{font-size:25px;margin:0 0 12px}.welcome-note p{font-size:16px;line-height:1.8;margin:0 0 12px}.welcome-note summary{cursor:pointer;min-height:44px;color:var(--accent-text,var(--accent));font-weight:600}.welcome-note button{align-self:start;border:1px solid var(--line,var(--border));border-radius:10px;min-width:44px;min-height:44px;background:transparent;color:inherit;font:22px sans-serif;cursor:pointer}
html.welcome-dismissed .welcome-note{display:none}.welcome-note [hidden]{display:none}
@media(max-width:800px){.page-redesign .charcard .pic{height:104px}.page-redesign .charcard .pic .art{height:98px}.culture-hero{grid-template-columns:1fr!important}.culture-hero .culture-art{max-width:340px;justify-self:center}.welcome-note{margin:28px 20px;padding:24px;grid-template-columns:1fr auto;gap:14px}.welcome-note img{display:none}}
@media(prefers-reduced-motion:reduce){.site-theme{transition:none}}

/* Rounder typography throughout the shared website. */
body h1,body h2,body h3,body h4,.cinema-copy h1,.cinema-copy h2{font-weight:700!important}
body p,body li,body label,body input,body select,body textarea{font-weight:500}
.site-header .site-navigation>a,.site-header .site-dropdown>summary,.site-header .site-theme,.site-header .site-menu,.site-header .site-install,body .button,body .btn,body .chip{font-weight:600}

/* Preferences share the primary links' appearance and sit beside the install action. */
.site-header .site-preferences .site-theme{border:0;background:transparent;color:var(--accent-text);box-shadow:none;border-radius:0}
.site-header a,.site-header a:hover,.site-header a[aria-current]{text-decoration:none}
.site-header .site-preferences .site-theme:hover{color:var(--accent-text-hi,var(--accent-text));background:transparent}
@media(min-width:1361px){.site-header .site-navigation{flex:1;margin-inline:0}.site-header .site-preferences{margin-left:auto}}

/* Selected menu interaction: the label lifts while its hit area stays still. */
.site-header .site-navigation>a>span,.site-header .site-dropdown>summary>span,.site-header .site-preferences .site-theme>*{transition:transform .2s ease,color .2s ease}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 html:not(.ml-paused) .site-header .site-navigation>a:hover>span,html:not(.ml-paused) .site-header .site-dropdown>summary:hover>span,html:not(.ml-paused) .site-header .site-preferences .site-theme:hover>*{transform:translateY(-3px)}
}
@media(prefers-reduced-motion:no-preference){
 html:not(.ml-paused) .site-header .site-navigation>a:focus-visible>span,html:not(.ml-paused) .site-header .site-dropdown>summary:focus-visible>span,html:not(.ml-paused) .site-header .site-preferences .site-theme:focus-visible>*{transform:translateY(-3px)}
}
html.ml-paused .site-header .site-navigation>a>span,html.ml-paused .site-header .site-dropdown>summary>span,html.ml-paused .site-header .site-preferences .site-theme>*{transition:none}
@media(prefers-reduced-motion:reduce){.site-header .site-navigation>a>span,.site-header .site-dropdown>summary>span,.site-header .site-preferences .site-theme>*{transition:none}}

/* Compact culture cards and readable sentence translations. */
.page-redesign .culture-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.page-redesign .culture-card{padding:20px;min-width:0}
.page-redesign .culture-card .culture-art{width:160px;max-width:100%;height:160px!important;object-fit:contain;margin:0 auto 16px}
.page-redesign .culture-card h2{font-size:22px;line-height:1.25}
.page-redesign .culture-card p{font-size:15px;line-height:1.6;margin-block:12px 0}
.culture-hero .culture-art{width:100%;max-width:280px;justify-self:center}
.reading-tokens .word-meaning{color:var(--accent-text)}
.sentence-translation{font-size:1rem;line-height:1.7;color:var(--ink);margin-top:12px}
body .reading-title .rom{font-size:inherit;line-height:inherit;font-weight:inherit}
.reading-title{display:flex;flex-wrap:wrap;gap:.25em .4em;align-items:baseline}
@media(max-width:1000px){.page-redesign .culture-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.page-redesign .culture-grid{grid-template-columns:1fr}.page-redesign .culture-card .culture-art{width:130px;height:130px!important}}
/* Heading links share the approved gentle lift, without underlines. */
body :is(h1,h2,h3,h4,h5,h6) a,body a:has(> :is(h1,h2,h3,h4,h5,h6)){text-decoration:none!important}
body :is(h1,h2,h3,h4,h5,h6) a{display:inline-block}
body :is(h1,h2,h3,h4,h5,h6) a,body a> :is(h1,h2,h3,h4,h5,h6){transition:transform .2s ease}
@media(hover:hover) and (prefers-reduced-motion:no-preference){html:not(.ml-paused) :is(h1,h2,h3,h4,h5,h6) a:hover,html:not(.ml-paused) a:hover> :is(h1,h2,h3,h4,h5,h6){transform:translateY(-3px)}}
@media(prefers-reduced-motion:no-preference){html:not(.ml-paused) :is(h1,h2,h3,h4,h5,h6) a:focus-visible,html:not(.ml-paused) a:focus-visible> :is(h1,h2,h3,h4,h5,h6){transform:translateY(-3px)}}

/* Reading navigation and compact self-checks. */
.reading-jump-links a,.reading-jump-links a:hover{display:inline-block;text-decoration:none!important}
.reading-jump-links a span{display:inline-block;transition:transform .2s ease}
@media(hover:hover) and (prefers-reduced-motion:no-preference){html:not(.ml-paused) .reading-jump-links a:hover span{transform:translateY(-3px)}}
@media(prefers-reduced-motion:no-preference){html:not(.ml-paused) .reading-jump-links a:focus-visible span{transform:translateY(-3px)}}
html.ml-paused .reading-jump-links a span{transition:none}
@media(prefers-reduced-motion:reduce){.reading-jump-links a span{transition:none}}
.reading-checks{margin:16px 0 32px;border:1px solid var(--line);border-radius:18px;background:var(--surface);padding:4px 22px}
.reading-check{padding:16px 0;text-align:left}.reading-check+.reading-check{border-top:1px solid var(--line)}
.reading-check p{margin:0 0 8px;line-height:1.6}.reading-check summary{cursor:pointer;color:var(--accent-text);min-height:44px;align-content:center;font-weight:600}
.reading-check .reading-answer{color:var(--ink);margin:8px 0 0}

/* Bold title links occur in course lists as well as semantic headings. */
body a:has(>b),body a:has(>strong){display:inline-block;text-decoration:none!important}
body a>b,body a>strong{display:inline-block;transition:transform .2s ease}
@media(hover:hover) and (prefers-reduced-motion:no-preference){html:not(.ml-paused) a:hover>b,html:not(.ml-paused) a:hover>strong{transform:translateY(-3px)}}
@media(prefers-reduced-motion:no-preference){html:not(.ml-paused) a:focus-visible>b,html:not(.ml-paused) a:focus-visible>strong{transform:translateY(-3px)}}
html.ml-paused a>b,html.ml-paused a>strong{transition:none}
@media(prefers-reduced-motion:reduce){body a>b,body a>strong{transition:none}}
.start-cards{list-style:none;padding:0;margin:32px 0 48px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.start-cards li{min-width:0}.start-cards a{display:flex;flex-direction:column;align-items:flex-start;height:100%;padding:24px;border:1px solid var(--line);border-radius:22px;background:var(--surface);text-decoration:none!important;color:var(--ink)}
.start-cards a>img{width:100%;height:136px;object-fit:contain;margin:0 auto 20px}.start-cards .start-number{color:var(--accent-text);font-size:14px;letter-spacing:.08em;text-transform:uppercase;font-weight:600}.start-cards h3{font-size:24px;margin:8px 0 12px;line-height:1.25}.start-cards p{font-size:16px;color:var(--muted);margin:0 0 20px;line-height:1.6}.start-cards .start-action{margin-top:auto;color:var(--accent-text);font-weight:600;display:flex;justify-content:space-between;width:100%}.start-cards a:hover{border-color:var(--accent-text)}
@media(max-width:700px){.start-cards{grid-template-columns:1fr;gap:14px}.start-cards a{display:grid;grid-template-columns:90px minmax(0,1fr);column-gap:18px;padding:20px}.start-cards a>img{grid-column:1;grid-row:1/5;height:100px;margin:auto}.start-cards a>:not(img){grid-column:2}.start-cards h3{font-size:22px}.start-cards p{margin-bottom:12px}}
