/* Generated with sync-site-studio-ui.cjs; see factory-design-provenance.json */

/* BlankSpaces Site Studio design bridge: factory tokens + 2 deliberately authored theme variants. */
:root:not([data-bs-theme]),:root[data-bs-theme="factory"]{
 --bs-page:#f4f1ea;--bs-ink:#262923;--bs-sidebar:#e9e6dd;
 --bs-surface:#fffefa;--bs-line:#e5e0d6;--bs-radius:14px;
 --bs-accent:#d0703c;--bs-font:Inter,-apple-system,BlinkMacSystemFont,"Noto Sans TC",sans-serif;
 --bs-muted:#686f68;--bs-input:#fffefa;--bs-alt:#eeeae1;--bs-accent-soft:#f4e6da;
 --bs-on-accent:#1b231d;--bs-hero:#29312a;--bs-hero-ink:#f9f9f3;--bs-hero-highlight:#f3b48e;
 --bs-glass:rgba(255,254,250,.91);--bs-shadow:0 12px 25px rgba(48,47,38,.06);--bs-focus:#b35c2f;
 color-scheme:light
}
:root[data-bs-theme="glass"]{
 --bs-page:#f3f7fa;--bs-ink:#1c303c;--bs-sidebar:#eaf2f7;--bs-surface:#ffffff;
 --bs-line:#d3e1e9;--bs-radius:15px;--bs-accent:#28779e;
 --bs-font:-apple-system,BlinkMacSystemFont,"PingFang TC","Noto Sans TC",sans-serif;
 --bs-muted:#526877;--bs-input:#fff;--bs-alt:#eaf2f7;--bs-accent-soft:#dceff8;
 --bs-on-accent:#fff;--bs-hero:#183b4d;--bs-hero-ink:#f7fcff;--bs-hero-highlight:#aaddf5;
 --bs-glass:rgba(255,255,255,.81);--bs-shadow:0 16px 35px rgba(37,76,102,.07);--bs-focus:#287ba5;
 color-scheme:light
}
:root[data-bs-theme="urban"]{
 --bs-page:#181c1b;--bs-ink:#f4f3ec;--bs-sidebar:#1d2220;--bs-surface:#252b28;
 --bs-line:#47524c;--bs-radius:12px;--bs-accent:#f49350;
 --bs-font:Inter,-apple-system,BlinkMacSystemFont,"Noto Sans TC","PingFang TC",sans-serif;
 --bs-muted:#b3c2b6;--bs-input:#2b332e;--bs-alt:#303a33;--bs-accent-soft:#3a362c;
 --bs-on-accent:#20241d;--bs-hero:#34312c;--bs-hero-ink:#fff6ed;--bs-hero-highlight:#ffaf76;
 --bs-glass:rgba(36,43,39,.94);--bs-shadow:0 13px 30px rgba(0,0,0,.18);--bs-focus:#f49350;
 color-scheme:dark
}
html,body{background:var(--bs-page)}
body,body.exam-open,body.learning-open{
 background:var(--bs-page)!important;color:var(--bs-ink);font-family:var(--bs-font)!important;
 -webkit-font-smoothing:antialiased
}
body *{border-color:var(--bs-line)}
body button,body select,body summary{touch-action:manipulation}
body :focus-visible{outline:3px solid var(--bs-focus)!important;outline-offset:3px}
body .app-shell,body .main{background:var(--bs-page)}
body .sidebar{background:var(--bs-sidebar);border-right-color:var(--bs-line)}
body .sidebar-bottom{border-color:var(--bs-line)}
body .sidebar-bottom p,body .sidebar-kicker,body .nav-label,body .brand-light,body .topbar-left{color:var(--bs-muted)}
body .brand-name{color:var(--bs-ink)}
body .logo{background:var(--bs-hero)}
body .logo::before{border-color:var(--bs-hero-highlight)}
body .logo span{background:var(--bs-hero-highlight)}
body .sidebar-dropdown,body .top-tools>summary{
 background:var(--bs-surface);border-color:var(--bs-line);color:var(--bs-ink)
}
body .sidebar-dropdown[open]>summary,body .top-tools-menu button:hover,body .sidebar-dropdown-items button:hover{
 background:var(--bs-accent-soft);color:var(--bs-ink)
}
body .sidebar-dropdown-items,body .top-tools-menu{background:var(--bs-surface);border-color:var(--bs-line)}
body .sidebar-dropdown-items button,body .top-tools-menu button{color:var(--bs-ink)}
body .nav-item{color:var(--bs-muted)}
body .nav-item:hover,body .nav-item.active{background:var(--bs-accent-soft);color:var(--bs-ink)}
body .nav-item.active{box-shadow:inset 3px 0 0 var(--bs-accent)}
body .topbar{background:var(--bs-glass);border-color:var(--bs-line);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}
body .status-dot{background:var(--bs-accent)}
body .top-cta,body .btn-primary,body .exam-primary-btn,body .learn-btn,
body .exam-dark-btn{background:var(--bs-accent);border-color:var(--bs-accent);color:var(--bs-on-accent)}
body .btn-light,body .btn-outline,body .exam-outline-btn,body .learn-btn.secondary,
body .learn-btn.outline,body .learn-btn.dark{
 background:var(--bs-surface);color:var(--bs-ink);border-color:var(--bs-line)
}
body .hero,body .exam-lobby-hero,body .learn-feature.dark,body .result-hero,body .gold-hero{
 background:var(--bs-hero)!important;color:var(--bs-hero-ink)!important;
 border:1px solid var(--bs-line);box-shadow:none
}
body .hero:before,body .hero:after,body .exam-lobby-hero:after{display:none}
body .hero h1,body .exam-lobby-hero h1{color:var(--bs-hero-ink)!important}
body .hero h1 em,body .exam-lobby-hero h1 em,body .gold-hero em{color:var(--bs-hero-highlight)}
body .hero p,body .exam-lobby-hero p,body .learn-feature.dark p,body .gold-hero p{
 color:var(--bs-hero-ink);opacity:.8
}
body .kicker,body .learn-eyebrow,body .exam-eyebrow{color:var(--bs-accent);letter-spacing:.11em}
body .hero .hero-top,body .exam-lobby-hero .exam-eyebrow,body .learn-feature.dark .feature-counter{
 color:var(--bs-hero-highlight)
}
body .stat-card,body .surface,body .mode,body .resource-link,body .question-card,
body .review-item,body .mode-big,body .result-callout{
 background:var(--bs-surface);border-color:var(--bs-line);color:var(--bs-ink);box-shadow:none;
 border-radius:var(--bs-radius)
}
body .stat-num,body .mode-title,body .section-title h2,body .page-title{color:var(--bs-ink)}
body .stat-label,body .stat-note,body .mode-desc,body .question-footnote,body .page-subtitle,
body .chart-day,body .mini-note,body .resource-link span{color:var(--bs-muted)}
body .mode:hover,body .resource-link:hover,body .paper-choice:hover{
 background:var(--bs-accent-soft);border-color:var(--bs-accent)
}
body .mode.wide{background:var(--bs-alt)}
body .mode-top,body .mode-arrow{color:var(--bs-accent)}
body .chart-bar{background:var(--bs-alt)}
body .chart-bar.today,body .progress-fill{background:var(--bs-accent)}
body .option,body .chip,body .ghost-btn{
 background:var(--bs-surface);border-color:var(--bs-line);color:var(--bs-ink)
}
body .option:hover,body .option.correct,body .chip.active{
 background:var(--bs-accent-soft);border-color:var(--bs-accent);color:var(--bs-ink)
}
body .feedback,body .review-explain{background:var(--bs-alt);color:var(--bs-ink)}
body .field input,body .field select,body input:not([type="hidden"]),body textarea{
 background:var(--bs-input);color:var(--bs-ink);border-color:var(--bs-line)
}
body .separator,body .footer{border-color:var(--bs-line)}
body .footer,body .setting-notice{color:var(--bs-muted)}
/* Cohesive test shell */
body .exam-app{
 background:var(--bs-page);color:var(--bs-ink);--e-dark:var(--bs-ink);
 --e-lime:var(--bs-accent-soft);--e-border:var(--bs-line);
 --e-gray:var(--bs-muted);--e-paper:var(--bs-surface)
}
body .exam-header{background:var(--bs-glass);border-color:var(--bs-line)}
body .exam-logo-text,body .exam-sheet-heading strong,body .exam-number-main b,
body .exam-lobby h1,body .exam-results h1,body .exam-results h2{color:var(--bs-ink)}
body .exam-logo-text small,body .exam-number-main,body .exam-header .exam-plain-btn{color:var(--bs-muted)}
body .exam-logo-mark{background:var(--bs-hero);color:var(--bs-hero-highlight)}
body .exam-paper,body .exam-sheet,body .exam-metric,body .exam-start-option,
body .paper-choice,body .exam-review-item,body .exam-breakdown>div{
 background:var(--bs-surface);border-color:var(--bs-line);color:var(--bs-ink);box-shadow:none
}
body .exam-paper{box-shadow:var(--bs-shadow)}
body .exam-lobby-hero h1{color:var(--bs-hero-ink)!important}
body .exam-metric b,body .exam-breakdown strong,body .exam-start-option h3,
body .paper-choice .paper-number{color:var(--bs-ink)}
body .exam-metric small,body .exam-start-option p,body .exam-sheet-sub,
body .exam-result-lead{color:var(--bs-muted)}
body .paper-choice.selected{background:var(--bs-accent-soft);border-color:var(--bs-accent)}
body .paper-choice.selected .paper-number,body .paper-chevron,body .exam-sheet-section h4,
body .exam-section-id,body .exam-sheet-summary b{color:var(--bs-accent)}
body .paper-select-container select,body .exam-option,body .exam-plain-btn,
body .exam-mark,body .exam-bubble{
 background:var(--bs-surface);border-color:var(--bs-line);color:var(--bs-ink)
}
body .exam-option:hover,body .exam-option.chosen{
 background:var(--bs-accent-soft);border-color:var(--bs-accent)
}
body .exam-option-letter{background:var(--bs-alt);border-color:var(--bs-line);color:var(--bs-ink)}
body .exam-option.chosen .exam-option-letter{background:var(--bs-accent);color:var(--bs-on-accent)}
body .exam-bubble.done{background:var(--bs-accent-soft);color:var(--bs-ink)}
body .exam-bubble.current{background:var(--bs-accent);color:var(--bs-on-accent)}
body .exam-sheet-summary,body .exam-instructions,body .exam-passage,
body .exam-audio,body .exam-audio-truth,body .exam-lobby-bottom,
body .exam-tag,body .exam-note{
 background:var(--bs-alt);border-color:var(--bs-line);color:var(--bs-ink)
}
body .exam-audio-description strong,body .exam-audio-description small,
body .exam-audio-status,body .exam-photo-credit{color:var(--bs-muted)}
body .exam-audio-play{background:var(--bs-accent);color:var(--bs-on-accent)}
body .exam-progressbar{background:var(--bs-alt)}
body .exam-progressbar>span{background:var(--bs-accent)}
body .exam-timer{background:var(--bs-alt);color:var(--bs-ink);border-color:var(--bs-line)}
body .exam-timer .timer-label{color:var(--bs-muted)}
/* Academy consistently inherits theme */
body .learning-app{
 --lg-ink:var(--bs-ink);--lg-muted:var(--bs-muted);
 --lg-line:var(--bs-line);--lg-dark:var(--bs-hero);
 --lg-lime:var(--bs-accent);--lg-bg:var(--bs-page);
 background:var(--bs-page);color:var(--bs-ink)
}
body .learn-header{background:var(--bs-glass);border-color:var(--bs-line)}
body .learn-logo,body .learn-title,body .learn-section-title h2,
body .learn-detail-heading h1{color:var(--bs-ink)}
body .learn-logo-mark{background:var(--bs-hero);color:var(--bs-hero-highlight)}
body .learn-header-links button,body .learn-desc,body .learn-card-top span{color:var(--bs-muted)}
body .learn-kpi,body .learn-feature,body .learn-word-item,body .learn-lesson,
body .learn-card,body .learn-tab,body .learn-option,body .learn-empty,
body .source-card,body .doo-mistake-card,body .gold-phase,
body .gold-goal-card,body .gold-metric,body .gold-paper-card,
body .tsl-word,body .tsl-flash,body .voice-compare-card,body .accent-card,
body .modern-set{
 background:var(--bs-surface);color:var(--bs-ink);border-color:var(--bs-line);box-shadow:none
}
body .learn-kpi span,body .learn-feature p,body .learn-lesson p,
body .learn-word-item .word-meta,body .learn-word-item .word-zh,
body .learn-small-note{color:var(--bs-muted)}
body .learn-feature.lime,body .learn-lesson.done,body .learn-card-reveal,
body .learn-lesson-note,body .learn-feedback,body .tsl-reveal,
body .gold-week>div,body .doo-reason,body .doo-answer-explanation,
body .accent-warning,body .source-truth,body .voice-notice{
 background:var(--bs-accent-soft);border-color:var(--bs-line);color:var(--bs-ink)
}
body .learn-btn,body .learn-tab.selected,body .academy-quick button.current,
body .learn-filter.active,body .doo-chip.active,body .tsl-filters button.active{
 background:var(--bs-accent);border-color:var(--bs-accent);color:var(--bs-on-accent)
}
body .academy-toolbar{border-color:var(--bs-line)}
body #academy-page-select,body .factory-theme-control,
body .academy-quick button,body .learn-search,body .learn-filter,
body .learn-option,body .doo-chip{
 background-color:var(--bs-input);border-color:var(--bs-line);color:var(--bs-ink)
}
body .academy-quick button.current{background:var(--bs-accent);color:var(--bs-on-accent)}
body .learn-option:hover:not(:disabled){background:var(--bs-accent-soft);border-color:var(--bs-accent)}
body .learn-card-reveal h3,body .learn-rule,body .learn-example{color:var(--bs-ink)}
body .learn-feature.dark h2{color:var(--bs-hero-ink)}
body .learn-feature.dark .learn-btn{background:var(--bs-accent);color:var(--bs-on-accent)}
/* Factory Duo / form control contract */
.factory-theme-field{display:grid;gap:6px;align-content:center;min-width:145px}
.factory-theme-field span{font-size:10px;color:var(--bs-muted);font-weight:760;letter-spacing:.04em}
.factory-theme-control{
 border:1px solid var(--bs-line);background:var(--bs-input);
 color:var(--bs-ink);font-size:13px;font-weight:680;
 min-height:44px;border-radius:10px;padding:8px 11px;max-width:100%;width:100%
}
.top-tools-menu .factory-theme-field{padding:10px 9px 6px}
.academy-toolbar .factory-theme-field{width:175px;flex:0 1 auto}
.paper-library-top .factory-theme-field{width:185px;max-width:100%}
:root[data-bs-theme="urban"] body .exam-lobby-bottom,
:root[data-bs-theme="urban"] body .exam-audio-truth,
:root[data-bs-theme="urban"] body .exam-option,
:root[data-bs-theme="urban"] body .exam-question,
:root[data-bs-theme="urban"] body .learn-card,
:root[data-bs-theme="urban"] body .learning-app h2{color:var(--bs-ink)}
@media(max-width:760px){
 body .sidebar{
  background:var(--bs-glass);backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);border-top:1px solid var(--bs-line)
 }
 body .nav-item.active{box-shadow:none}
 body .sidebar .nav-item{min-height:52px}
 body .hero,body .exam-lobby-hero{border-radius:15px}
 body .learn-container{padding:19px 15px calc(95px + env(safe-area-inset-bottom))}
 body .learn-title{font-size:clamp(28px,7vw,31px)}
 body .exam-lobby h1{font-size:clamp(29px,7.3vw,34px)}
 body .exam-paper{border-radius:15px}
 body .stat-card,body .learn-kpi,body .exam-metric{border-radius:12px}
 body input:not([type=checkbox]):not([type=radio]):not([type=hidden]),body textarea,body select{
  font-size:16px!important;min-height:44px!important
 }
 body .factory-theme-field{min-width:0;width:100%}
 body .academy-toolbar .factory-theme-field{width:100%}
 body .paper-library-top .factory-theme-field{width:100%}
 body .academy-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,.7fr)}
 body .academy-quick{grid-column:1/-1}
 body .hero h1{font-size:clamp(28px,7vw,34px)}
 body .mode{min-height:120px}
 body .mode-title{font-size:15px}
 body .learn-feature h2{font-size:20px}
 body .exam-option,body .learn-option{min-height:48px}
}
@media(max-width:375px){
 body .academy-toolbar{grid-template-columns:1fr}
 body .factory-theme-field{max-width:100%}
 body .mode{min-height:124px}
 body .top-tools>summary{min-height:44px}
}
@media(prefers-reduced-motion:reduce){body *{scroll-behavior:auto!important;transition-duration:0ms!important}}
