/* cardscave.cc release 2026.09.20-rc1 — design.md */
:root{--brand-bg:#0f172a;--brand-surface:#1e293b;--brand-raised:#263449;--brand-text:#f8fafc;--brand-muted:#a7b2c7;--brand-border:#334155;--brand-primary:#8b5cf6;--brand-primary-hover:#7c3aed;--brand-link:#c4b5fd;color-scheme:dark;--primary:var(--brand-primary);--primary-hover:var(--brand-primary-hover)}
html[data-cc-theme=light],html[data-brand-theme=light],body.light{--brand-bg:#f8fafc;--brand-surface:#fff;--brand-raised:#f1edfa;--brand-text:#1e293b;--brand-muted:#526176;--brand-border:#d8dfeb;--brand-link:#6d28d9;color-scheme:light}
html body{background:var(--brand-bg);color:var(--brand-text);font-family:Inter,"Noto Sans TC","Microsoft JhengHei",sans-serif}
body{--bg:var(--brand-bg);--sidebar:var(--brand-surface);--card:var(--brand-surface);--text-main:var(--brand-text);--text-muted:var(--brand-muted);--border:var(--brand-border);--primary:var(--brand-primary);--primary-hover:var(--brand-primary-hover);--ink:var(--brand-text);--line:var(--brand-border);--mute:var(--brand-muted)}
html[data-cc-ui=cardscave]{--cc-bg:var(--brand-bg);--cc-surface:var(--brand-surface);--cc-text:var(--brand-text);--cc-text-secondary:var(--brand-muted);--cc-accent:var(--brand-primary);--cc-on-accent:#fff;--cc-soft:var(--brand-raised);--cc-line:var(--brand-border);--cc-glass-tint:var(--brand-surface);--cc-glass-border:var(--brand-border);--cc-glass-blur:0px;--cc-shadow:none;--cc-positive:#86efac;--cc-negative:#fda4af;--cc-pending:#fcd34d;font-family:Inter,"Noto Sans TC","Microsoft JhengHei",sans-serif}
html[data-cc-ui=cardscave][data-cc-theme=light]{--cc-positive:#166534;--cc-negative:#9f1239;--cc-pending:#854d0e}
html[data-cc-ui=cardscave] .cc-glass{background:var(--brand-surface);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;border-color:var(--brand-border)}
body :is(.card,.panel,.card-link,.search,.empty,.calendar,.helper-toast,.quick-grid>button,.more-menu>div,.gallery-tile){background:var(--brand-surface);color:var(--brand-text);border-color:var(--brand-border);border-radius:18px}
body :is(header,.site-header,.sidebar){background:var(--brand-surface);color:var(--brand-text);border-color:var(--brand-border)}
body :is(input,select,textarea){background:var(--brand-bg);color:var(--brand-text);border-color:var(--brand-border);font-family:inherit}
body :is(input,select,textarea)::placeholder{color:var(--brand-muted);opacity:1}
body :is(label,th,td,h1,h2,h3,h4){color:inherit}
body :is(p,.muted,small,.intro p,.stock-summary,.eyebrow,.card-meta,dt,.brand span){color:var(--brand-muted)}
body :is(button,.button,.btn,.cta,.tab-list button){font-family:inherit;border-radius:9px;min-height:44px}
body :is(button,.button){background:var(--brand-raised);color:var(--brand-text);border-color:var(--brand-border)}
body :is(button.primary,.button.primary,.btn-primary,.cta.primary,.event-actions>button:first-child,#nav button.primary){background:var(--brand-primary-hover);color:#fff;border-color:var(--brand-primary)}
body :is(button.primary,.button.primary,.btn-primary):hover{background:#6d28d9;color:#fff}
body :is(.badge,.weekdays span,.calendar-day small,.log-diff>div){background:var(--brand-raised);color:var(--brand-text);border-color:var(--brand-border)}
body :is(td,th,.line,.event-metrics,.event-actions,footer,.inventory-list>div){border-color:var(--brand-border)}
body .calendar-day{background:var(--brand-surface);color:var(--brand-text);border-color:var(--brand-border);border-radius:0}
body .calendar-day.outside{background:var(--brand-bg);color:var(--brand-muted)}
body .calendar-day.today>b{background:var(--brand-primary-hover);color:#fff}
body .calendar-day:hover,body .more-menu :is(a,button):hover{background:var(--brand-raised)}
body .more-menu :is(a,button){background:var(--brand-surface);color:var(--brand-text)}
body dialog{background:var(--brand-surface);color:var(--brand-text);border:1px solid var(--brand-border);border-radius:18px}
body dialog::backdrop{background:#080e1ccc}
body :is(.notice,.alert-banner){background:#342b1e;color:#fde68a;border-color:#77613c}
body :is(#message,#dialog-error,.image-error,.danger){color:#fda4af}
body :is(#message,#dialog-error){background:#3b1e30;border-color:#814658}
body :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--brand-link);outline-offset:3px}
body .stock-summary b{color:var(--brand-text)}
body .brand{overflow-wrap:anywhere;letter-spacing:0}
body .main-content{min-width:0}body .sidebar-header{flex-wrap:wrap}body .sidebar-header h2{white-space:normal!important}
@media(max-width:600px){body .brand{font-size:13px}body header{flex-wrap:wrap}body .cc-brand strong{font-size:14px}body .bottom-nav-item{min-width:0;font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{html body{background:white;color:#111}.brand-theme-toggle{display:none}}
/* Member dashboard surfaces and compact mobile navigation. */
html[data-cc-ui=cardscave] :is(.cc-welcome,.cc-balance,.cc-history,.cc-table-wrap,.cc-message){background:var(--brand-surface);border-color:var(--brand-border);color:var(--brand-text);box-shadow:none}
html[data-cc-ui=cardscave] .cc-page-head{background:transparent}
html[data-cc-ui=cardscave] .cc-nav-link[aria-current=page]{background:var(--brand-raised);color:var(--brand-link)}
html[data-cc-ui=cardscave] .cc-control.cc-primary{background:var(--brand-primary-hover);color:#fff}
@media(max-width:600px){html[data-cc-ui=cardscave] .cc-sidebar{padding:16px}html[data-cc-ui=cardscave] .cc-nav{position:fixed;bottom:0;left:0;right:0;z-index:50;display:flex;overflow-x:auto;gap:4px;padding:8px;background:var(--brand-surface);border-top:1px solid var(--brand-border)}html[data-cc-ui=cardscave] .cc-nav-link{flex:0 0 auto;font-size:12px;padding:10px;min-height:44px}html[data-cc-ui=cardscave] .cc-nav-end{margin-top:8px;padding-top:8px}html[data-cc-ui=cardscave] .cc-main{padding-bottom:90px}html[data-cc-ui=cardscave] .cc-brand strong{white-space:normal}}
body .coupon-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}body .coupon-card{min-width:0;overflow-wrap:anywhere;background:var(--brand-surface);border-color:var(--brand-border)}body .coupon-title{color:var(--brand-text)}body .coupon-desc{color:var(--brand-muted)}
body{--body:var(--brand-muted);--canvas:var(--brand-bg);--surface:var(--brand-surface);--focus:var(--brand-link)}
body :is(.site-header nav a,header nav a){color:var(--brand-text)}
body :is(.cta,.pill-button){background:var(--brand-primary-hover);color:#fff;border-color:var(--brand-primary);background-image:none}
body :is(.cta.secondary,.button.secondary,button.secondary,.copy){background:var(--brand-raised);color:var(--brand-text);border-color:var(--brand-border)}
body :is(.glass-card,.challenge,pre,code){background:var(--brand-surface);color:var(--brand-text);border-color:var(--brand-border)}
body :is(.error,.message){color:#fda4af;background:#3b1e30;border-color:#814658}
body .catalog-strip span{color:var(--brand-muted)}
