/* Default page scale: 100%; browser zoom remains user-controlled. */
html{zoom:100%}
/* v10 · Shared product surfaces. Original styling; references in docs/visual-reference-v10.md.
   Load after day.css. The artwork and weekly gallery have independent styles. */
:root {
  --ui-bg:#090b0e;
  --ui-surface:#111316;
  --ui-raised:#181b1f;
  --ui-inset:#0c0e11;
  --ui-text:#e6e7e9;
  --ui-secondary:#b0b3b8;
  --ui-muted:#92979f;
  --ui-line:#2b2e33;
  --ui-line-strong:#575d66;
  --ui-key:#d4d8dd;
  --ui-key-text:#171a1f;
  --ui-selected:#272c33;
  --ui-header:#0b0d10f5;
  --ui-edge:#ffffff0b;
  --ui-soft-shadow:0 8px 28px #00000018;
  --ui-radius:18px;
  --ui-ease:cubic-bezier(.2,.7,.2,1);
}
html[data-theme=day] {
  --ui-bg:#eeede8;
  --ui-surface:#f3f2ee;
  --ui-raised:#e7e6e1;
  --ui-inset:#eeede8;
  --ui-text:#292c31;
  --ui-secondary:#515760;
  --ui-muted:#656b72;
  --ui-line:#d3d4d1;
  --ui-line-strong:#969da6;
  --ui-key:#3d4652;
  --ui-key-text:#f4f3ee;
  --ui-selected:#e0e3e5;
  --ui-header:#ecebe7f7;
  --ui-edge:#ffffffb3;
  --ui-soft-shadow:0 8px 28px #31394408;
}
html[data-theme] body {
  color:var(--ui-text);
  background:var(--ui-bg);
  text-rendering:optimizeLegibility;
}
html[data-theme] body .header {
  background:var(--ui-header);
  border-bottom-color:var(--ui-line);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  box-shadow:0 1px 0 #00000006;
}
html[data-theme] body.is-home:not(.has-scrolled) .header { border-bottom-color:transparent }
html[data-theme] body .header .brand {
  color:var(--ui-text);
  letter-spacing:.065em;
  font-weight:500;
}
html[data-theme] body .header .nav-link {
  color:var(--ui-secondary);
  font-size:16px;
  letter-spacing:.015em;
  font-weight:400;
  transition:color 180ms;
}
html[data-theme] body .header .nav-link:after {
  height:1px;
  bottom:0;
  background:var(--ui-key);
}
html[data-theme] body .header .nav-link[aria-current=page] { color:var(--ui-text);font-weight:500 }
html[data-theme] body .theme-toggle {
  color:var(--ui-secondary);
  border-radius:50%;
  transition:color 180ms,background 180ms;
}
html[data-theme] body .header .account-button {
  background:transparent;
  border-color:var(--ui-line-strong);
  color:var(--ui-secondary);
  box-shadow:inset 0 1px 0 var(--ui-edge);
  transition:border-color 180ms,color 180ms,background 180ms;
}
html[data-theme] body .publish-link {
  color:var(--ui-key-text);
  background:var(--ui-key);
  border-color:var(--ui-key);
  box-shadow:inset 0 1px 0 #ffffff30;
  font-weight:500;
  transition:background 180ms,transform 220ms var(--ui-ease);
}
html[data-theme] body .catalog-page .section-top,
html[data-theme] body .member-heading { margin-bottom:40px }
html[data-theme] body .catalog-page .section-top h1,
html[data-theme] body .member-heading h1,
html[data-theme] body .creator-page-heading h1 {
  color:var(--ui-text);
  font-size:clamp(36px,4.1vw,58px);
  font-weight:450;
  letter-spacing:-.015em;
  line-height:1.3;
}
html[data-theme] body .catalog-panel {
  background:var(--ui-surface);
  border-color:var(--ui-line);
  border-radius:var(--ui-radius);
  padding:23px 28px;
  box-shadow:inset 0 1px 0 var(--ui-edge);
}
html[data-theme] body .filter-row+.filter-row { border-color:var(--ui-line);margin-top:13px;padding-top:13px }
html[data-theme] body .filter-label { color:var(--ui-muted);font-size:14px }
html[data-theme] body .filter-row .filter {
  min-height:42px;
  padding:8px 18px;
  background:transparent;
  color:var(--ui-secondary);
  font-size:15px;
  font-weight:400;
  transition:background 160ms,color 160ms;
}
html[data-theme] body .filter-row .filter.active { background:var(--ui-key);color:var(--ui-key-text);font-weight:500 }
html[data-theme] body .search-wrap {
  min-height:46px;
  background:var(--ui-inset);
  border-color:var(--ui-line);
  border-radius:10px;
  padding-inline:14px;
}
html[data-theme] body .search-wrap:focus-within { border-color:var(--ui-line-strong);box-shadow:0 0 0 2px var(--ui-edge) }
html[data-theme] body .search-wrap .search { color:var(--ui-text);font-size:16px }
html[data-theme] body .search-wrap span,
html[data-theme] body .sort-label { color:var(--ui-muted) }
html[data-theme] body .sort-label select { color:var(--ui-secondary);background:var(--ui-inset);border-color:var(--ui-line);border-radius:8px;min-height:40px }
html[data-theme] body .catalog-result-row { margin:25px 2px 20px }
html[data-theme] body .catalog-result-row .result-count { font-size:14px;color:var(--ui-muted);margin:0 }
html[data-theme] body .catalog-page .grid { gap:30px 24px }
html[data-theme] body .product-card {
  display:flex;
  flex-direction:column;
  padding:8px 8px 0;
  background:var(--ui-surface);
  border-color:var(--ui-line);
  border-radius:20px;
  box-shadow:inset 0 1px 0 var(--ui-edge);
  transition:border-color 220ms,transform 350ms var(--ui-ease);
}
html[data-theme] body .product-card .cover { border-radius:13px;aspect-ratio:1.6;background:var(--ui-inset);flex-shrink:0 }
html[data-theme] body .product-card .cover img { filter:none;transition:transform 700ms var(--ui-ease) }
html[data-theme] body .cover-badge {
  background:#11151ae8!important;
  color:#d8dde3!important;
  font-size:12px;
  border-color:#c5cbd62e;
  border-radius:6px;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
html[data-theme] body .cover-arrow { width:34px;height:34px;background:#d4d8dde8;color:#20262e;backdrop-filter:none;-webkit-backdrop-filter:none;border-color:#ffffff40 }
html[data-theme] body .card-body { padding:24px 18px 22px;display:flex;flex:1;flex-direction:column;min-width:0 }
html[data-theme] body .card-meta { color:var(--ui-muted);font-size:14px;line-height:1.5;margin-bottom:11px }
html[data-theme] body .card-title { align-self:flex-start;text-align:left;color:var(--ui-text) }
html[data-theme] body .card-title h3 { font-size:24px;letter-spacing:-.02em;line-height:1.5;font-weight:500 }
html[data-theme] body .product-card .card-description { color:var(--ui-secondary);font-size:16px;line-height:1.8;margin:10px 0 19px;flex-grow:1 }
html[data-theme] body .card-community { color:var(--ui-muted);border-color:var(--ui-line);font-size:13px;gap:12px }
html[data-theme] body .author-dot { background:var(--ui-raised);color:var(--ui-secondary);border:1px solid var(--ui-line) }
html[data-theme] body :is(.rating-empty,.rating-count,.card-sale-status) { color:var(--ui-muted) }
html[data-theme] body .paid-label { color:var(--ui-secondary) }
html[data-theme] body .card-actions { border-color:var(--ui-line);margin-top:19px;padding-top:19px;gap:9px }
html[data-theme] body .button,
html[data-theme] body .card-actions .button,
html[data-theme] body .creator-page .button {
  background:var(--ui-key);
  color:var(--ui-key-text);
  border:1px solid var(--ui-key);
  border-radius:10px;
  box-shadow:inset 0 1px 0 #ffffff25;
  font-size:16px;
  font-weight:500;
  min-height:46px;
  padding:11px 17px;
  transition:background 180ms,border-color 180ms,transform 220ms var(--ui-ease);
}
html[data-theme] body .button.secondary,
html[data-theme] body .creator-page .button.secondary { background:transparent;border-color:var(--ui-line-strong);color:var(--ui-secondary);box-shadow:none }
html[data-theme] body .button:disabled { opacity:.52;box-shadow:none }
html[data-theme] body :is(.member-offer,.member-wallet,.member-benefits) {
  background:var(--ui-surface);
  border-color:var(--ui-line);
  border-radius:22px;
  box-shadow:inset 0 1px 0 var(--ui-edge);
}
html[data-theme] body .member-offer { background:radial-gradient(ellipse at 100% 0%,var(--ui-raised),transparent 55%),var(--ui-surface) }
html[data-theme] body .member-intro h2 { font-size:30px;letter-spacing:-.025em;line-height:1.6 }
html[data-theme] body :is(.member-intro p,.member-renewal,.member-balance>span,.member-plan em,.member-benefits p,.member-heading>a) { color:var(--ui-secondary) }
html[data-theme] body :is(.member-footnote,.member-balance small,.member-records small,.recharge-heading>span) { color:var(--ui-muted) }
html[data-theme] body .member-orb:before { background:radial-gradient(ellipse at 29% 23%,#f3f1ed 0%,#abb1b8 17%,#555e6a 43%,#252b34 69%,#9da7b2 100%);box-shadow:inset 0 1px 1px #ffffff55,0 15px 25px #0002 }
html[data-theme] body .member-orb span { color:#eff0f0;font-weight:300;text-shadow:0 1px 2px #0005 }
html[data-theme] body .member-orb i { border-color:#909aa888;animation:none }
html[data-theme] body .member-plan { position:relative;background:var(--ui-inset);border-color:var(--ui-line);color:var(--ui-secondary);padding:23px 21px;border-radius:13px }
html[data-theme] body .member-plan:after { content:'';position:absolute;top:23px;right:18px;width:10px;height:10px;border:1px solid var(--ui-line-strong);border-radius:50% }
html[data-theme] body .member-plan[aria-pressed=true] { background:var(--ui-selected);color:var(--ui-text);border-color:var(--ui-line-strong);box-shadow:inset 0 1px 0 var(--ui-edge) }
html[data-theme] body .member-plan[aria-pressed=true]:after { background:var(--ui-key);border-color:var(--ui-key);box-shadow:inset 0 0 0 2px var(--ui-selected) }
html[data-theme] body .member-plan>span { padding-right:14px }
html[data-theme] body .member-plan strong { font-size:52px;font-weight:450;letter-spacing:-.045em;font-variant-numeric:lining-nums tabular-nums }
html[data-theme] body .member-plan[aria-pressed=true] :is(strong,span,small) { color:var(--ui-text) }
html[data-theme] body .member-plan[aria-pressed=true] em { color:var(--ui-secondary) }
html[data-theme] body .member-balance { border-color:var(--ui-line) }
html[data-theme] body .member-balance strong { font-size:48px;letter-spacing:-.04em }
html[data-theme] body .checkin-day { background:var(--ui-inset);border-color:var(--ui-line);border-radius:9px }
html[data-theme] body .checkin-day span,
html[data-theme] body .checkin-day i { color:var(--ui-muted) }
html[data-theme] body .checkin-day.current { background:var(--ui-selected);border-color:var(--ui-line-strong) }
html[data-theme] body .checkin-day.done :is(strong,i) { color:var(--ui-text) }
html[data-theme] body .recharge-tiers button { background:var(--ui-inset);color:var(--ui-secondary);border-color:var(--ui-line);transition:background 180ms,border-color 180ms }
html[data-theme] body .recharge-tiers span { color:var(--ui-muted);font-size:13px }
html[data-theme] body .recharge-tiers button[aria-pressed=true] { background:var(--ui-selected);border-color:var(--ui-line-strong) }
html[data-theme] body .recharge-tiers button[aria-pressed=true] strong { color:var(--ui-text) }
html[data-theme] body .recharge-tiers button[aria-pressed=true] span { color:var(--ui-secondary) }
html[data-theme] body .member-records { gap:40px }
html[data-theme] body .member-records>div { border-top:1px solid var(--ui-line);padding-top:27px }
html[data-theme] body .member-records li { border-color:var(--ui-line) }
html[data-theme] body .member-records strong { color:var(--ui-text) }
html[data-theme] body .creator-page { --creator-ink:var(--ui-text);--creator-muted:var(--ui-secondary);--creator-border:var(--ui-line);--creator-mint:var(--ui-raised);animation:none }
html[data-theme] body .creator-page :is(h1,h2,h3,strong) { color:var(--ui-text) }
html[data-theme] body .creator-page :is(.creator-kicker,.creator-small,.creator-text-button,.creator-quiet-note) { color:var(--ui-muted) }
html[data-theme] body .creator-welcome { background:var(--ui-surface);border-color:var(--ui-line);border-radius:22px;box-shadow:inset 0 1px 0 var(--ui-edge) }
html[data-theme] body .creator-welcome:before { background:radial-gradient(ellipse at 85% 30%,var(--ui-raised),transparent 60%) }
html[data-theme] body .creator-welcome-copy :is(p,.creator-light-link) { color:var(--ui-secondary) }
html[data-theme] body .creator-paper-stack { animation:none;filter:none }
html[data-theme] body .creator-paper.front { color:#35404c;background:linear-gradient(145deg,#d4d7da,#a8afb8);border:1px solid #dfe4e9;box-shadow:0 20px 40px #0003 }
html[data-theme] body .creator-paper.front * { color:#35404c }
html[data-theme] body .creator-paper.rear { background:#32383f;border-color:#6e7783 }
html[data-theme] body .creator-paper.middle { background:#69727d;border-color:#a5adb7 }
html[data-theme] body .creator-float-note { color:#353d47;background:#c1c7ce;border-color:#e5e8ed;box-shadow:0 10px 20px #0002 }
html[data-theme] body .creator-page :is(.creator-editor,.creator-earnings,.creator-submission,.creator-admin-rules,.creator-review-card,.creator-confirm,.creator-profile-bar,.creator-rules-card,.creator-editor-idle,.creator-list-empty) { background:var(--ui-surface);border-color:var(--ui-line);box-shadow:inset 0 1px 0 var(--ui-edge) }
html[data-theme] body .creator-page :is(.creator-onboarding,.creator-public-note,.creator-stat-grid>div,.creator-editor-divider,.creator-editor-footer,.creator-ledger-list>div) { border-color:var(--ui-line) }
html[data-theme] body .creator-page :is(.creator-onboarding p,.creator-public-note p,.creator-editor-idle p,.creator-rights,.creator-review-details,.creator-review-main>p) { color:var(--ui-secondary) }
html[data-theme] body .creator-page :is(.creator-onboarding article>span,.creator-stat-grid span,.creator-ledger-list small) { color:var(--ui-muted) }
html[data-theme] body .creator-field :is(input:not([type=file]),textarea,select) { background:var(--ui-inset);border-color:var(--ui-line-strong);color:var(--ui-text);border-radius:9px;font-size:16px;box-shadow:none }
html[data-theme] body .creator-field :is(input,textarea,select):focus { border-color:var(--ui-key) }
html[data-theme] body .creator-field input[type=file]::file-selector-button { background:var(--ui-raised);color:var(--ui-text);border-color:var(--ui-line-strong);border-radius:7px }
html[data-theme] body .creator-file-drop { background:var(--ui-inset);border-color:var(--ui-line-strong) }
html[data-theme] body .creator-stage-options span { background:var(--ui-inset);border-color:var(--ui-line);color:var(--ui-secondary) }
html[data-theme] body .creator-stage-options input:checked+span { background:var(--ui-key);border-color:var(--ui-key);color:var(--ui-key-text) }
html[data-theme] body .creator-page :is(.creator-badge,.creator-badge.live,.creator-badge.pending,.creator-price-rules,.creator-update-note,.creator-avatar,.creator-note-icon,.creator-count,.creator-idle-graphic) { background:var(--ui-raised);border-color:var(--ui-line);color:var(--ui-secondary) }
html[data-theme] body .creator-submission.selected { background:var(--ui-selected);border-color:var(--ui-line-strong) }
html[data-theme] body :is(.course-purchase,.course-module,.review-summary,.review-compose,.moderation-review) { background:var(--ui-surface);border-color:var(--ui-line);box-shadow:inset 0 1px 0 var(--ui-edge) }
html[data-theme] body .course-jump { background:var(--ui-header);border-color:var(--ui-line);backdrop-filter:none;-webkit-backdrop-filter:none }
html[data-theme] body :is(.course-status,.course-science-note,.course-teaching,.review-eligibility) { background:var(--ui-raised);color:var(--ui-secondary);border-color:var(--ui-line) }
html[data-theme] body dialog { background:var(--ui-surface);color:var(--ui-text);border-color:var(--ui-line-strong);border-radius:20px }
html[data-theme] body dialog::backdrop { background:#07090db3;backdrop-filter:none;-webkit-backdrop-filter:none }
html[data-theme] body .close { background:var(--ui-raised);color:var(--ui-text);border:1px solid var(--ui-line) }
html[data-theme] body .form :is(input,textarea,select),
html[data-theme] body .member-choice input,
html[data-theme] body .review-compose textarea { background:var(--ui-inset);color:var(--ui-text);border-color:var(--ui-line-strong);border-radius:9px }
html[data-theme] body .subtle { color:var(--ui-muted) }
html[data-theme] body footer { background:var(--ui-bg);border-color:var(--ui-line);margin:0;padding-top:42px;color:var(--ui-muted) }
html[data-theme] body .footer-main { border-color:var(--ui-line);padding-bottom:32px }
html[data-theme] body .footer-main :is(p,a),
html[data-theme] body .footer-bottom button { color:var(--ui-secondary) }
html[data-theme] body .footer-bottom { border-color:var(--ui-line);font-size:14px }
html[data-theme] body :is(a,button,input,select,textarea):focus-visible { outline:2px solid var(--ui-key);outline-offset:4px }
@media(hover:hover) and (pointer:fine) {
  html[data-theme] body .header .nav-link:hover { color:var(--ui-text) }
  html[data-theme] body .header .account-button:hover,
  html[data-theme] body .theme-toggle:hover { color:var(--ui-text);background:var(--ui-raised) }
  html[data-theme] body .publish-link:hover { transform:translateY(-1px) }
  html[data-theme] body .filter-row .filter:not(.active):hover { background:var(--ui-raised);color:var(--ui-text) }
  html[data-theme] body .product-card:hover { border-color:var(--ui-line-strong);transform:translateY(-3px);box-shadow:var(--ui-soft-shadow) }
  html[data-theme] body .product-card:hover .cover img { transform:scale(1.035);filter:none }
  html[data-theme] body .button:not(:disabled):hover { background:var(--ui-key);color:var(--ui-key-text);border-color:var(--ui-key);transform:translateY(-1px);box-shadow:inset 0 1px 0 #ffffff45 }
  html[data-theme] body .button.secondary:not(:disabled):hover { background:var(--ui-raised);color:var(--ui-text);border-color:var(--ui-line-strong);box-shadow:none }
  html[data-theme] body .member-plan:hover,
  html[data-theme] body .recharge-tiers button:hover { border-color:var(--ui-line-strong) }
}
@media(max-width:1200px) {
  html[data-theme] body .card-body { padding-inline:14px }
  html[data-theme] body .card-title h3 { font-size:22px }
  html[data-theme] body .card-actions .button { font-size:15px;padding-inline:12px }
  html[data-theme] body .member-plan { padding:22px 17px }
  html[data-theme] body .member-plan strong { font-size:46px }
}
@media(max-width:1000px) {
  html[data-theme] body .header .nav-link { font-size:15px }
  html[data-theme] body .member-intro h2 { font-size:30px }
}
@media(max-width:600px) {
  html[data-theme] body .header .brand { letter-spacing:.035em }
  html[data-theme] body .header .nav-link { font-size:14px }
  html[data-theme] body .catalog-page .section-top,
  html[data-theme] body .member-heading { margin-bottom:28px }
  html[data-theme] body .catalog-page .section-top h1,
  html[data-theme] body .member-heading h1,
  html[data-theme] body .creator-page-heading h1 { font-size:36px }
  html[data-theme] body .catalog-panel { padding:7px 15px;border-radius:15px }
  html[data-theme] body .filter-row+.filter-row { margin-top:0;padding-top:12px }
  html[data-theme] body .filter-label { font-size:13px }
  html[data-theme] body .filter-row .filter { padding:8px 11px;font-size:15px;min-height:44px }
  html[data-theme] body .search-wrap { margin-top:10px }
  html[data-theme] body .catalog-page .grid { gap:25px }
  html[data-theme] body .product-card { padding:7px 7px 0;border-radius:17px }
  html[data-theme] body .product-card .cover { border-radius:10px;aspect-ratio:1.58 }
  html[data-theme] body .card-body { padding:22px 14px }
  html[data-theme] body .card-title h3 { font-size:24px }
  html[data-theme] body .card-meta { font-size:14px }
  html[data-theme] body .product-card .card-description { font-size:16px;line-height:1.8 }
  html[data-theme] body .card-actions .button { font-size:15px;padding-inline:13px }
  html[data-theme] body :is(.member-offer,.member-wallet,.member-benefits) { border-radius:17px }
  html[data-theme] body .member-intro h2 { font-size:26px }
  html[data-theme] body .member-plan { padding:20px 13px }
  html[data-theme] body .member-plan>span { font-size:15px }
  html[data-theme] body .member-plan strong { font-size:42px }
  html[data-theme] body .member-plan:after { right:12px;top:22px;width:8px;height:8px }
  html[data-theme] body .member-balance strong { font-size:42px }
  html[data-theme] body .recharge-tiers span { font-size:12px }
  html[data-theme] body .member-records { gap:28px }
  html[data-theme] body .member-records>div { padding-top:23px }
  html[data-theme] body .creator-page .button { font-size:15px;padding-inline:16px }
  html[data-theme] body .footer-main { padding-bottom:25px }
}
@media(max-width:380px) {
  html[data-theme] body .header .nav-link { font-size:13px }
  html[data-theme] body .member-plan strong { font-size:38px }
  html[data-theme] body .member-plan>span { font-size:14px }
  html[data-theme] body .member-plan { padding-inline:11px }
  html[data-theme] body .card-actions .button { padding-inline:10px }
}
@media(prefers-reduced-motion:reduce) {
  html[data-theme] body .product-card,
  html[data-theme] body .product-card .cover img,
  html[data-theme] body .button,
  html[data-theme] body .publish-link { transition:none;transform:none }
}
