/* Brand tokens are shared with the showroom; social provider colors stay intact. */
:root{--ink:#172c42;--muted:#637c91;--paper:#f3faff;--lime:#e1f3fc;--line:#dceaf3;--brand-surface:#fff;--brand-accent:#176fca;--brand-accent2:#1497a9;--brand-soft:#e1f3fc;--brand-hero:#123451;--brand-hero-text:#fff;--brand-radius:28px;--brand-shadow:0 16px 42px #4147a414}
body{background:var(--paper);color:var(--ink)}
.brand-logo{content:url('/assets/brand/campusmaru-logo.png');object-fit:contain;max-height:78px;width:180px;height:auto}
.header .logo{padding:4px 0}.header{height:104px}.header .brand-logo{width:180px;max-height:88px}.footer .brand-logo{width:180px}.modal .brand-logo{width:195px;max-height:100px}.header-measure .brand-logo{width:180px!important}.compact-header .brand-logo{max-height:65px}
[data-brand-logo=wordmark] .brand-logo{content:url('/assets/brand/campusmaru-wordmark.png');max-height:44px}
[data-brand-logo=symbol] .brand-logo{content:url('/assets/brand/campusmaru-symbol.png');max-height:65px}
.topbar{background:var(--brand-hero);color:#e3e8ff}.topbar b{color:#b9c8ff}.header nav a.active,.section-kicker,.course-category{color:var(--brand-accent)}
.btn.dark{background:var(--brand-accent);color:var(--paper)}.btn.lime{background:var(--brand-soft);color:var(--brand-accent)}.btn.outline{border-color:var(--line)}.pill{background:var(--brand-soft);color:var(--ink)}.search{background:var(--brand-soft)}
.hero{background:radial-gradient(ellipse at 85% 30%,color-mix(in srgb,var(--brand-accent2) 45%,transparent),transparent 65%),var(--brand-hero);border-radius:var(--brand-radius);color:var(--brand-hero-text)}.hero h1 em{color:#bdcaff}.hero p,.eyebrow{color:#d0d7f7}.hero .dot{background:#98c8ff}.hero .btn.lime{background:#fff;color:#273476}.hero-art{background:url('/assets/brand/campusmaru-symbol.png') center/90% auto no-repeat}.hero-art>.orbit,.hero-art>.sculpture,.hero-art>.star{display:none}.hero .floating{background:#ffffff10;border:1px solid #ffffff25;color:#e6eaff;backdrop-filter:blur(16px)}.hero .floating strong{color:#fff}.hero-bottom{color:#bec7ef}
.panel,.buybox,.my-card,.stat,.classroom-page .empty{background:var(--brand-surface);border-color:var(--line);border-radius:var(--brand-radius);box-shadow:var(--brand-shadow)}.banner,.live-panel,.live-info{background:var(--brand-soft);color:var(--ink)}.live-visual{background:linear-gradient(140deg,var(--brand-hero),var(--brand-accent2));color:#fff}.live-visual .section-kicker{color:#e5ddff}.benefits{border-color:var(--line)}.tabs button.active{border-color:var(--brand-accent);color:var(--brand-accent)}.progress-track{background:var(--brand-soft)}.progress-track span{background:linear-gradient(90deg,var(--brand-accent),var(--brand-accent2))}.field input,.field select,.field textarea{background:var(--brand-surface);color:var(--ink);border-color:var(--line)}
.profile-wallet{background:var(--brand-soft);border-color:var(--line);border-radius:var(--brand-radius)}.wallet-label,.wallet-note,.wallet-history small,.wallet-empty,.wallet-history summary>span{color:var(--muted)}.wallet-history,.wallet-history li{border-color:var(--line)}.wallet-amount .positive{color:var(--brand-accent)}.profile-image-placeholder{background:var(--brand-soft)}.profile-account-actions .account-delete-link{color:#a04c63}.profile-showroom-link{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;margin:22px 0;border:1px solid var(--line);border-radius:16px;background:var(--brand-surface)}.profile-showroom-link strong{font-size:15px}.profile-showroom-link small{display:block;color:var(--muted);margin-top:3px}
.modal{background:var(--brand-surface);color:var(--ink)}.modal .btn.dark{color:var(--paper)}.demo-note{background:var(--brand-soft);border-color:var(--line);color:var(--ink)}.footer,.business-info{color:var(--muted)}.credit-warning{background:var(--brand-soft);border-color:var(--line)}.auth-notice,.verification-resend{color:var(--muted)}
[data-brand-style=editorial]{--brand-radius:6px;--brand-shadow:none}[data-brand-style=editorial] .course .art,[data-brand-style=editorial] .btn,[data-brand-style=editorial] .profile-fold{border-radius:6px}[data-brand-style=editorial] .hero h1{font-weight:600;letter-spacing:-.055em}[data-brand-style=editorial] .section-kicker{letter-spacing:.18em}
[data-brand-style=glass]{--brand-radius:28px;--brand-shadow:0 16px 42px #4147a414}[data-brand-style=glass] body{background:radial-gradient(ellipse at 10% 0,var(--brand-soft),transparent 60%),var(--paper)}[data-brand-style=glass] .panel,[data-brand-style=glass] .my-card{background:color-mix(in srgb,var(--brand-surface) 85%,transparent);backdrop-filter:blur(18px)}
[data-brand-density=compact] .panel{padding:20px}[data-brand-density=compact] .grid{gap:18px}[data-brand-density=compact] .hero{min-height:400px}[data-brand-density=compact] .hero-copy{padding-top:34px;padding-bottom:34px}[data-brand-density=compact] .page-title{padding-top:26px;padding-bottom:22px}
[data-brand-palette=midnight] .logo,[data-brand-palette=midnight] .modal>.logo{background:#fff;border-radius:12px;padding:5px 10px}[data-brand-palette=midnight] .modal>.logo{width:max-content}[data-brand-palette=midnight] .lesson-row,[data-brand-palette=midnight] .faq details{border-color:var(--line)}[data-brand-palette=midnight] .course-category{color:#b5bdff}[data-brand-palette=midnight] .btn.dark{color:#141a32}[data-brand-palette=midnight] .reader-login>.panel .logo{background:white}
@media(max-width:720px){.header{height:auto;min-height:90px}.header .brand-logo{max-height:68px}.compact-header .brand-logo{width:145px;max-height:65px}.hero-art{min-height:240px}.hero .floating{font-size:10px}.profile-showroom-link{padding:16px}.hero h1 em{color:#bdcaff}}
@media(max-width:390px){.compact-header .brand-logo{width:116px;max-height:56px}}

.live-class-title{margin-top:15px}

@media(max-width:360px){.compact-header .brand-logo{width:92px}.compact-header .header-profile{max-width:95px}}

/* The gradient remains unchanged; only lettering switches for dark surfaces. */
[data-brand-palette=midnight] .logo,[data-brand-palette=midnight] .modal>.logo,[data-brand-palette=midnight] .reader-login>.panel .logo{background:transparent;padding:4px 0;border-radius:0}
[data-brand-palette=midnight] .brand-logo{content:url('/assets/brand/campusmaru-white.svg')}
[data-brand-palette=midnight][data-brand-logo=wordmark] .brand-logo{content:url('/assets/brand/campusmaru-wordmark-white.svg')}
[data-brand-palette=midnight][data-brand-logo=symbol] .brand-logo{content:url('/assets/brand/campusmaru-symbol.png')}

/* Use paired foreground/background tokens instead of inherited light text on white. */
.filter{background:var(--brand-surface);color:var(--ink);border-color:var(--line)}
.filter.active{background:var(--brand-accent);color:var(--paper);border-color:var(--brand-accent)}
.filter:not(.active):hover{background:var(--brand-soft);border-color:var(--brand-accent)}
.payment-method{background:var(--brand-surface);color:var(--ink)}
.payment-method.selected{background:var(--brand-soft);border-color:var(--brand-accent);color:var(--ink)}
.player-side{background:var(--brand-surface);color:var(--ink);border-color:var(--line)}
.lesson-num,.status,.demo-login button{background:var(--brand-soft);color:var(--ink)}
.art .badge{background:#eef1fff0;color:#1b2041}
.benefits,.banner p,.detail-copy p,.buybox ul,.check-label,.auth-divider{color:var(--muted)}
.check-label input,progress{accent-color:var(--brand-accent)}
.player-side .lesson-row.active{color:var(--brand-accent)}
[data-brand-palette=midnight] .payment-method .payment-icon{background:var(--brand-soft);color:var(--ink)}
[data-brand-palette=midnight] .payment-method[data-method=kakao] .payment-icon{background:#fee500;color:#191919}
[data-brand-palette=midnight] .payment-method[data-method=naver] .payment-icon{background:#03a94d;color:#fff}
[data-brand-palette=midnight] .payment-method[data-method=toss] .payment-icon{background:#3182f6;color:#fff}
[data-brand-palette=midnight] .payment-method[data-method=payco] .payment-icon{background:#ed2224;color:#fff}
[data-brand-palette=midnight] .status.pending{background:#443620;color:#ffe3a0}
[data-brand-palette=midnight] .status.refunded{background:#442a36;color:#ffc5d5}
[data-brand-palette=midnight] .error,[data-brand-palette=midnight] .material-note.warn,[data-brand-palette=midnight] .profile-account-actions .account-delete-link{color:#ffb4c5}

/* Midnight category pills stay dark in both selected and unselected states. */
[data-brand-palette=midnight] .filters .filter{background:#1c2034;color:#f0f2ff;border-color:#434d6b}
[data-brand-palette=midnight] .filters .filter.active{background:#303956;color:#fff;border-color:#a4afff;box-shadow:inset 0 0 0 1px #a4afff;font-weight:700}
[data-brand-palette=midnight] .filters .filter:not(.active):hover{background:#2a3251;color:#fff;border-color:#8997d9}

/* Approved logo board: horizontal header lockup, full lockups and monochrome. */
.brand-logo{content:url('/assets/brand/campusmaru-horizontal-light.svg')}
[data-brand-palette=midnight] .brand-logo{content:url('/assets/brand/campusmaru-horizontal-dark.svg')}
[data-brand-logo=horizontal] .brand-logo{content:url('/assets/brand/campusmaru-horizontal-light.svg')}
[data-brand-palette=midnight][data-brand-logo=horizontal] .brand-logo{content:url('/assets/brand/campusmaru-horizontal-dark.svg')}
[data-brand-logo=full] .brand-logo{content:url('/assets/brand/campusmaru-logo.png')}
[data-brand-palette=midnight][data-brand-logo=full] .brand-logo{content:url('/assets/brand/campusmaru-dark-logo.png')}
[data-brand-logo=wordmark] .brand-logo{content:url('/assets/brand/campusmaru-wordmark.png')}
[data-brand-palette=midnight][data-brand-logo=wordmark] .brand-logo{content:url('/assets/brand/campusmaru-wordmark-white.svg')}
[data-brand-logo=symbol] .brand-logo{content:url('/assets/brand/campusmaru-symbol.png')}
[data-brand-palette=midnight][data-brand-logo=symbol] .brand-logo{content:url('/assets/brand/campusmaru-symbol-dark.png')}
[data-brand-logo=mono] .brand-logo{content:url('/assets/brand/campusmaru-mono.svg')}
[data-brand-palette=midnight][data-brand-logo=mono] .brand-logo{content:url('/assets/brand/campusmaru-mono-white.svg')}
.header{height:94px}.header .brand-logo{width:210px;max-height:64px}.header-measure .brand-logo{width:210px!important}
[data-brand-logo=full] .header .brand-logo,[data-brand-logo=mono] .header .brand-logo{max-height:84px;width:180px}
[data-brand-palette=midnight] .hero-art{background-image:url('/assets/brand/campusmaru-symbol-dark.png')}
@media(max-width:720px){.header.compact-header{min-height:78px}.header.compact-header .brand-logo{width:145px;max-height:62px}}
@media(max-width:390px){.header.compact-header .brand-logo{width:116px}}
@media(max-width:360px){.header.compact-header .brand-logo{width:92px}.compact-header .header-profile{max-width:95px}}

[data-brand-logo=horizontal] .modal .brand-logo,[data-brand-logo=horizontal] .reader-login .brand-logo{content:url('/assets/brand/campusmaru-logo.png');max-height:105px}
[data-brand-palette=midnight][data-brand-logo=horizontal] .modal .brand-logo,[data-brand-palette=midnight][data-brand-logo=horizontal] .reader-login .brand-logo{content:url('/assets/brand/campusmaru-dark-logo.png')}

@media(min-width:361px) and (max-width:390px){.header.compact-header .brand-logo{width:140px}}
