/* RomanceMaxxer owns its visual identity, including the shared profile card. */
:root{--roman-red:#991f2b;--roman-gold:#956b19;--roman-cream:#faf6ee;--accent:#991f2b;--accent-soft:#f8ecee;--bg:#fff;--panel:#fff;--text:#241b1b;--muted:#645757;--line:#e3d9cd;--glass-strong:#fff;--glass-line:#e3d9cd;color-scheme:light}
html[data-theme="dark"]{--roman-red:#ff8991;--roman-gold:#e3bf68;--accent:#ff8991;--accent-soft:#342326;--bg:#181617;--panel:#221e20;--text:#fbf6f0;--muted:#cdbfc0;--line:#514146;--glass-strong:#221e20;--glass-line:#514146;color-scheme:dark}
body,html[data-theme="dark"] body,#app-shell,.main-area{background:var(--bg)!important;color:var(--text)}
#app-shell *,#app-shell *::before,#app-shell *::after,.onboarding-layer,.onboarding-layer *,.pg-course-welcome,.pg-course-welcome *,.modal-layer,.modal-layer *{box-shadow:none!important;text-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background-image:none!important}
#app-shell svg,.onboarding-layer svg{filter:none!important;animation:none!important}
#app-shell button,.onboarding-layer button{transform:none!important}
.view-root{max-width:1400px;padding:28px clamp(16px,4vw,60px) 48px;margin:auto}
h1,h2,h3{color:var(--text);font-family:Georgia,'Times New Roman',serif;font-weight:500}
button,.btn,.module-page-tab,.stage-chip{font-family:inherit;letter-spacing:0;text-transform:none}
.card,.panel,.lesson-block,.target-card,.module-card,.foundation-row,.foundation-info-card,.foundation-text-card,.alphabet-language-card,.gender-noun-card,.verb-model-card,.stress-card,.sound-pair-card{background:var(--panel)!important;border:1px solid var(--line)!important;border-radius:10px;color:var(--text)}
.btn,.icon-btn,.audio-btn,.accent-key,.vowel-card,.alphabet-key,.builder-chip{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:8px;box-shadow:none!important}
.btn-primary,.roman-primary,.onboarding-actions .btn-primary,.onboarding-body .btn-primary{background:#991f2b!important;border:1px solid #991f2b!important;color:white!important}
.btn-primary:hover,.roman-primary:hover{background:#781822!important}
.btn-ghost,.btn-soft,.roman-secondary{background:var(--panel)!important;border:1px solid var(--line);color:var(--accent)!important}
button:hover{border-color:var(--accent)}
button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid var(--roman-gold);outline-offset:4px}
.audio-btn{width:36px;height:36px;min-width:36px;display:inline-flex;align-items:center;justify-content:center;background:var(--panel)!important;color:var(--accent)!important;border:1px solid var(--line)!important;border-radius:50%}
.rmx-icon{width:21px;height:21px;display:block;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex:none}
.audio-btn.audio-active{background:var(--accent-soft)!important;border-color:var(--accent)!important}
.audio-btn.loading .rmx-icon{opacity:.45}
.romancemax-hero{min-height:330px;padding:44px 32px;background:var(--panel)!important;color:var(--text);border:1px solid var(--line);border-top:5px solid #991f2b;border-radius:12px;gap:22px}
.roman-hero-brand h1{font-size:clamp(36px,5.2vw,68px);padding:8px 0;line-height:1.1;color:var(--accent)}
.roman-hero-brand h1>.spqr-logo{display:none}
.roman-hero-brand p{font:400 16px/1.65 system-ui;color:var(--muted);max-width:650px}
.maxxing-legend{display:flex;flex-direction:column-reverse;gap:14px}
.maxxing-legend>div>span{color:var(--muted);letter-spacing:.12em}
.maxxing-legend .profile-language-chip{background:var(--accent-soft)!important;color:var(--accent);border:1px solid var(--line);border-radius:6px;min-width:105px}
.maxxing-legend>div:first-child .profile-language-chip{min-width:0;padding:4px 9px;background:var(--panel)!important;color:var(--muted);font-size:12px}
.maxxing-legend>div:first-child .flag-frame{width:20px;height:14px;min-width:20px}
.roman-settings-button{color:var(--accent);background:var(--panel);border:1px solid var(--line);width:42px;height:42px}
.roman-primary,.roman-secondary{min-height:48px;min-width:180px;font:600 15px system-ui}
.roman-primary>span,.roman-secondary>span{color:inherit;font:22px system-ui}
.dashboard-core-stats{max-width:none;gap:16px}
.course-progress-card,.next-lesson-card{background:var(--panel)!important;color:var(--text);border:1px solid var(--line);border-radius:10px;min-height:125px}
.course-progress-card>strong{color:var(--accent);font-family:Georgia,serif}
.course-progress-line,.guided-flow-progress,.session-progress,.module-progress,.bar-track{background:var(--accent-soft)!important;border:1px solid var(--line);border-radius:2px!important;overflow:hidden;min-height:9px;padding:0}
.course-progress-line i,.guided-flow-progress span,.session-progress span,.module-progress span,.bar-fill{display:block;background:#991f2b!important;border-radius:0!important;height:100%;min-height:7px;position:relative}
.course-progress-line i::after,.guided-flow-progress span::after,.session-progress span::after{content:'';position:absolute;right:0;top:0;width:4px;height:100%;background:#bc902f}
.module-compact-header{border-top:4px solid #991f2b!important;padding:24px!important}
.module-compact-header h1{color:var(--accent);font-size:clamp(26px,3vw,40px)}
.module-compact-header p{color:var(--muted)!important;line-height:1.65}
.module-eyebrow{color:var(--roman-gold)!important;letter-spacing:.1em}
.module-page-tabs{gap:6px;overflow:auto;scrollbar-width:thin;padding:6px 0 12px}
.module-page-tab{background:var(--panel)!important;color:var(--muted)!important;border:1px solid var(--line)!important;border-radius:6px;white-space:nowrap;padding:10px 16px}
.module-page-tab.active{background:#991f2b!important;border-color:#991f2b!important;color:white!important}
.foundation-page-shell{padding:24px!important}.foundation-page-head{padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:20px}
.foundation-page-head h2{font-size:26px;color:var(--text)}
.lesson-theory-first,.rmx-learning-hint{padding:16px 20px!important;border-left:3px solid var(--roman-gold)!important;background:var(--roman-cream)!important;color:#332a20}
html[data-theme="dark"] .lesson-theory-first,html[data-theme="dark"] .rmx-learning-hint{background:#29251c!important;color:var(--text)}
.rmx-learning-hint{margin:0 0 20px;border-radius:6px}.rmx-learning-hint p{margin:4px 0;line-height:1.65}
.rmx-profile-comparison{display:flex;flex-direction:column;gap:12px;width:100%}
.rmx-reference-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:7px 0;font-size:12px;color:var(--muted);border-bottom:1px solid var(--line)}
.rmx-reference-line>small{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.rmx-reference-value{display:inline-flex;align-items:center;gap:7px;font-size:13px}.rmx-reference-value .audio-btn{width:25px;height:25px;min-width:25px}.rmx-reference-value .rmx-icon{width:15px;height:15px}
.language-strip{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))!important;gap:12px!important;align-items:start}
.language-tile{height:auto!important;min-height:0!important}
.number-visual{min-height:0!important;align-self:start;margin:0!important}
.guided-flow-footer.simplified{background:var(--panel)!important;border:1px solid var(--line);border-radius:6px}
.foundation-sound-orb{background:var(--panel)!important;color:var(--accent)!important;border:2px solid var(--accent)!important;border-radius:50%;box-shadow:none!important}
.foundation-sound-orb .rmx-icon{width:40px;height:40px}
.rmx-concept{display:grid;place-items:center;background:var(--roman-cream)!important;border:1px solid var(--line);border-radius:8px;min-height:90px!important;padding:16px!important}.rmx-concept svg{width:64px;height:64px;fill:none;stroke:var(--roman-gold);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}.rmx-preparation-piece{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;padding:10px 0;border-bottom:1px solid var(--line)}.rmx-preparation-piece>small{flex-basis:100%;color:var(--muted)}.rmx-preparation-piece>span{display:inline-flex;gap:6px;align-items:center}
.language-story-photo{height:160px;position:relative;display:flex;align-items:end;background:var(--roman-cream)!important}
.language-story-photo>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.language-story-photo>div{position:relative;width:100%;padding:10px;background:var(--panel)!important;color:var(--text)!important}
.language-story-photo h3{color:var(--text)!important}
#app-shell svg [fill^="url("]{fill:var(--roman-gold)}
.language-tile.target{background:var(--panel)!important;color:var(--text);border:1px solid var(--line)!important;border-top:3px solid #991f2b!important;border-radius:8px;padding:16px!important}
.language-tile.bridge{font-size:12px;padding:6px;background:var(--panel)!important}
.language-value{font-size:22px!important;line-height:1.35;font-weight:650;color:var(--text)}
.ipa-text{font-family:'Charis SIL','Noto Sans',system-ui,sans-serif!important;font-size:14px!important;line-height:1.5;color:var(--muted)!important;opacity:1!important}
.foundation-row{padding:18px!important;display:grid!important;grid-template-columns:58px minmax(0,1fr)!important;align-items:start;gap:16px!important}
.foundation-row>.small,.foundation-row>.rmx-comparison-notes{grid-column:2}.number-visual{width:52px!important;height:52px!important;border-radius:6px!important;background:var(--roman-cream)!important;border:1px solid var(--line)!important;color:var(--accent)!important;font:500 30px Georgia!important;display:grid!important;place-items:center!important}.number-visual span{font:inherit!important}
.rmx-inline-note{margin:12px 0 0;padding:10px 12px;border-left:3px solid var(--roman-gold);background:var(--roman-cream);color:#453725;font-size:13px;line-height:1.6;border-radius:0 4px 4px 0}
.rmx-inline-note strong{display:block;font-size:12px;letter-spacing:.015em;margin-bottom:3px;color:#6e4811}
html[data-theme="dark"] .rmx-inline-note{background:#30291d;color:#eee1c6}html[data-theme="dark"] .rmx-inline-note strong{color:#e3bf68}
.rmx-comparison-notes{margin:8px 0}.rmx-comparison-notes .rmx-inline-note{border-left-color:var(--accent)}
.rmx-alphabet-lab{display:grid;gap:18px}.rmx-alphabet-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.rmx-alphabet-toolbar select{background:var(--panel);color:var(--text);border:1px solid var(--line);padding:10px 14px;border-radius:6px;max-width:100%}
.rmx-letter-block{border:1px solid var(--line);border-radius:10px;padding:20px;background:var(--panel);scroll-margin-top:16px}
.rmx-letter-heading{display:flex;gap:14px;align-items:center;margin-bottom:16px}.rmx-letter-heading>strong{font:500 32px Georgia;color:var(--accent);min-width:40px}.rmx-letter-heading>span{font-size:13px;color:var(--muted)}
.rmx-letter-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,225px),1fr));gap:14px}
.rmx-letter-card{padding:16px;border:1px solid var(--line);border-top:3px solid #991f2b;border-radius:8px;min-width:0}
.rmx-letter-card-head{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:12px}
.rmx-word-line{display:flex;align-items:center;justify-content:space-between;gap:12px}.rmx-word-line strong{font-size:24px;color:var(--text)}.rmx-word-line mark{background:var(--accent-soft);color:var(--accent);padding:0 2px;border-radius:2px}
.rmx-word-gloss{display:block;margin:7px 0;color:var(--muted);font-size:12px}.rmx-letter-name{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:10px;margin-top:10px;display:flex;align-items:center;gap:8px}
.rmx-letter-name .audio-btn{height:26px;width:26px;min-width:26px}.rmx-letter-name .rmx-icon{width:15px;height:15px}
.rmx-video-trigger{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;margin-top:10px;border:1px solid var(--line);background:var(--panel);color:var(--accent);border-radius:6px;font-size:12px;cursor:pointer}
.rmx-digraph-card{padding:16px;border:1px solid var(--line);border-radius:8px}.rmx-digraph-card .rmx-word-line{align-items:start}.rmx-digraph-card h3{font-size:20px;margin:0}
.course-video-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))!important;gap:20px!important;align-items:start!important}
.course-video-card{display:flex!important;flex-direction:column!important;overflow:hidden;background:var(--panel)!important;border:1px solid var(--line)!important;border-radius:10px!important;min-width:0!important;width:100%!important;max-width:none!important}
.video-embed-slot{aspect-ratio:16/9!important;min-height:0!important;height:auto!important;background:var(--roman-cream)!important;width:100%;overflow:hidden;border-bottom:1px solid var(--line)}
.video-preview{position:relative;display:block!important;padding:0!important;width:100%!important;height:100%!important;min-height:0!important;background:var(--roman-cream)!important;border:0!important;cursor:pointer}
.video-preview img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;opacity:1!important;filter:none!important}
.video-play-button{position:absolute!important;left:50%;top:50%;transform:translate(-50%,-50%)!important;display:grid;place-items:center;width:54px;height:54px;border:2px solid white;border-radius:50%;background:#991f2b!important;color:white!important}
.video-play-button .rmx-icon{width:27px;height:27px}.course-video-copy{padding:17px!important;background:var(--panel)!important;color:var(--text)!important}.course-video-copy h3{font:600 16px/1.5 system-ui;margin:10px 0!important;color:var(--text)!important}.course-video-copy p{font-size:13px;line-height:1.6;color:var(--muted)}.video-source-row{color:var(--muted);font-size:11px}.video-coverage{display:flex;align-items:center;gap:8px!important;flex-wrap:wrap}.video-coverage .rmx-guide-flag{opacity:.75}.video-coverage .rmx-guide-arrow{color:var(--roman-gold);font-size:20px}
.rmx-video-dialog{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:24px;background:#201315d9;animation:rmx-fade .18s ease-out}
.rmx-video-window{width:min(920px,100%);background:var(--panel);border:1px solid var(--roman-gold);border-radius:12px;overflow:hidden;animation:rmx-enter .2s ease-out;color:var(--text)}
.rmx-video-window header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px 18px}.rmx-video-window h2{font:600 15px/1.4 system-ui;margin:0}.rmx-video-close{border:1px solid var(--line);border-radius:50%;width:34px;height:34px;background:var(--panel);color:var(--text);font:24px system-ui;cursor:pointer}
.rmx-video-player{aspect-ratio:16/9;width:100%;background:#000}.rmx-video-player iframe{border:0;width:100%;height:100%;display:block}.rmx-video-window footer{padding:12px 18px;display:flex;justify-content:space-between;gap:16px;font-size:12px;color:var(--muted)}.rmx-video-window a{color:var(--accent)}
@keyframes rmx-fade{from{opacity:0}to{opacity:1}}@keyframes rmx-enter{from{transform:translateY(12px);opacity:.5}to{transform:translateY(0);opacity:1}}
.rmx-preparation{padding:24px}.rmx-preparation h2{font-size:28px;color:var(--accent)}.rmx-preparation>p{max-width:720px;color:var(--muted);line-height:1.65}.rmx-preparation .btn-primary{margin-top:22px}.rmx-preparation .sentence-builder{margin:16px 0}
.onboarding-layer{background:var(--bg)!important}.onboarding-window,html[data-theme="dark"] .onboarding-window{background:var(--panel)!important;color:var(--text);max-width:1000px}.onboarding-brand{padding:20px}.onboarding-wordmark strong{color:var(--accent)}.onboarding-brand .spqr-logo{display:none}.onboarding-body,.onboarding-actions{background:var(--panel)!important;border-color:var(--line);color:var(--text)}.onboarding-copy h1,.onboarding-language-copy strong{color:var(--text)!important}.onboarding-copy p,.onboarding-none{color:var(--muted)!important}.onboarding-language-card{background:var(--panel)!important;color:var(--text)!important;border:1px solid var(--line)!important;min-height:78px;gap:14px;padding:14px}.onboarding-language-card::after{display:none}.onboarding-language-card.selected{background:var(--accent-soft)!important;border:2px solid var(--accent)!important}.onboarding-language-card .flag-frame.lg{border:1px solid var(--line);border-radius:4px;width:38px;height:27px;min-width:38px}.onboarding-language-card .flag-frame svg{transform:none}.onboarding-language-copy strong{font:600 16px system-ui}.onboarding-check{color:var(--accent)!important}.selected .onboarding-check{background:var(--accent)!important;color:white!important;border:0}.onboarding-help-wrap>[data-action]{color:var(--accent);background:var(--panel);border:1px solid var(--line)}
.pg-course-welcome{--pg-accent:#991f2b!important;--pg-bg:var(--panel)!important;background:var(--bg)!important}.pg-course-welcome [class*="card"],.pg-course-welcome [class*="panel"]{background:var(--panel)!important;border:1px solid var(--line)!important;border-radius:12px!important;color:var(--text)!important}.pg-course-welcome button{background:var(--panel)!important;color:var(--accent)!important;border:1px solid var(--line)!important}.pg-course-welcome button[class*="enter"],.pg-course-welcome button[class*="primary"]{background:#991f2b!important;color:white!important}.pg-course-welcome h1,.pg-course-welcome h2,.pg-course-welcome p,.pg-course-welcome a{color:var(--text)!important}
.reference-section{max-width:none;font-size:13px}.mini-language-values{display:flex;flex-wrap:wrap}.mini-language-value.target{order:0}.mini-language-value.known{order:1;font-size:12px;opacity:.8}.mini-language-value.known .ipa-text{font-size:11px!important}
@media(max-width:700px){.view-root{padding:16px 12px 32px}.romancemax-hero{padding:54px 16px 24px;min-height:0}.roman-hero-brand h1{font-size:35px;white-space:normal}.hero-actions{flex-wrap:wrap}.roman-primary,.roman-secondary{min-width:135px}.foundation-page-shell{padding:14px!important}.module-compact-header{padding:18px!important}.foundation-row{grid-template-columns:34px minmax(0,1fr)!important;gap:10px!important;padding:12px!important}.number-visual{width:32px!important;height:36px!important;font-size:22px!important}.language-strip{grid-template-columns:1fr!important}.rmx-letter-block{padding:12px}.rmx-letter-cards{grid-template-columns:1fr}.rmx-alphabet-toolbar{flex-wrap:wrap}.rmx-video-dialog{padding:12px}.onboarding-language-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-language-card{gap:8px}.onboarding-language-copy strong{font-size:14px}.foundation-page-head h2{font-size:23px}.rmx-preparation{padding:18px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}

.pg-course-welcome{color:var(--text)!important;border:1px solid var(--line)!important;border-top:4px solid #991f2b!important;border-radius:12px!important;min-height:0!important;padding-top:52px!important}
.pg-course-welcome::backdrop{background:#20131599!important;backdrop-filter:none!important}.pg-course-actions>a{background:var(--panel)!important;color:var(--accent)!important;border-color:var(--line)!important}.pg-course-avatar{background:var(--accent-soft)!important;color:var(--accent)!important}.pg-course-language-option[aria-pressed=true]{background:var(--accent-soft)!important}
