/* Shared surface for every page that loads it. All colors come from dc-tokens.css. */

/* Page base and text. */
:root{
  --bg:var(--dc-surface-2)!important;
  --cream:var(--dc-surface)!important;
  --ink:var(--dc-text)!important;
  --soft:var(--dc-muted)!important;
  --faint:var(--dc-muted)!important;
  --line:var(--dc-line)!important;
  --gold:var(--dc-faint)!important;
  --clay:var(--dc-muted)!important;
  --sage-dark:var(--dc-faint)!important;
}
html,body{background:var(--dc-surface-2)!important;color:var(--dc-text)!important;}
body{background:radial-gradient(circle at 18% 5%,rgba(167,155,141,.22),transparent 34%),linear-gradient(145deg,var(--dc-surface-2),var(--dc-surface) 72%,var(--dc-bg))!important;}
body :is(h1,h2,h3,h4,.logo,.prod-name,.card-name,.rc-title,.rc-item-name){color:var(--dc-text)!important;}
body :is(p,.lede,.sub-copy,.card-vibe,.prod-tagline,.prod-incl,.prod-note,.rc-item-meta,.rc-subrow,.rc-fineprint){color:var(--dc-muted)!important;}
body :is(.eyebrow,.prod-tag,.card-rate,.item-tag,.goods-brand,.goods-shop){color:var(--dc-muted)!important;}

/* Form fields, controls, and cards. */
body :is(input,textarea,select){background:var(--dc-surface)!important;color:var(--dc-text)!important;border-color:var(--dc-line)!important;}
body select option,#rc-drawer,.quiet-select-menu,#share-fallback > div,#rtModal > div,#rm-panel,[role="dialog"] > div{background:var(--dc-surface-2);color:var(--dc-text);border-color:var(--dc-line);}
body :is(.prod,.card,.form,.controls,.done,.path-card,.goods-card,.station,.album,.guide-card){background:rgba(64,55,48,.9)!important;border-color:var(--dc-line)!important;box-shadow:none!important;}
body :is(.prod-media,.station-cover,.album-cover,.p-cover,.sf-media),.gcard,.lend,.player,.tracks,.stage,.rail,.topbar,.shell > .stage,.sb-hero,.dash-card,.bp-launch{background-color:var(--dc-surface-2)!important;background-image:none!important;border-color:var(--dc-line)!important;}
body :is(.prod-btn,.send,.give,.btn-primary,.btn-dk,.guide-join-btn,.sh-go,.gf-btn,.sf-btn,.bg-btn,.radio-install-pill,.lend-cta,.lv-send),#rc-fab,.rc-checkout{background:var(--dc-faint)!important;border-color:var(--dc-faint)!important;color:var(--dc-bg)!important;box-shadow:none!important;}
body :is(.prod-btn,.send,.give,.btn-primary,.btn-dk,.guide-join-btn,.sh-go,.gf-btn,.sf-btn,.bg-btn,.radio-install-pill,.lend-cta,.lv-send):hover{background:var(--dc-muted)!important;}

/* Cart, toast, dialogs, and generated popups. */
#rc-overlay,#donate-modal,#roomModal,#rtModal,#st-share-modal{background:var(--dc-shadow)!important;}
#rc-drawer{background:var(--dc-surface-2)!important;border-color:var(--dc-line)!important;box-shadow:-24px 0 60px var(--dc-shadow)!important;}
.rc-fab-count{background:var(--dc-muted)!important;color:var(--dc-bg)!important;}
.rc-head,.rc-item,.rc-foot{border-color:var(--dc-line)!important;}
.rc-qbtn{border-color:rgba(245,239,231,.32)!important;color:var(--dc-muted)!important;}
.rc-rm,.rc-x{color:var(--dc-faint)!important;}
#r-toast,#rc-toast,#toast{background:var(--dc-surface-2)!important;color:var(--dc-text)!important;border:1px solid var(--dc-line)!important;}
#share-fallback,[role="dialog"]{color:var(--dc-text)!important;}
#share-fallback > div,#rtModal > div,#rm-panel,[role="dialog"] > div{box-shadow:0 28px 72px var(--dc-shadow)!important;}

/* Legacy feature panels retained on Voices, Radio, Poster, and Studio. */
.gcard,.lend,.player,.tracks,.stage,.rail,.topbar,.shell > .stage,.sb-hero,.dash-card,.bp-launch{box-shadow:none!important;}
.lend,.gcard{background:linear-gradient(145deg,var(--dc-surface),var(--dc-bg))!important;}
.gcard :is(.gname,.grole,.gloc,.lend-h,.lend-p,.lend-eye,.lend-step,.lend-slab,.lv-dialect,.lv-count,.lv-consent,.lv-note),
.lend :is(.gname,.grole,.gloc,.lend-h,.lend-p,.lend-eye,.lend-step,.lend-slab,.lv-dialect,.lv-count,.lv-consent,.lv-note){color:var(--dc-muted)!important;}
.gcard :is(.gbadge,.gtag,.gbook),.lend :is(.lend-cta,.lv-send){background:var(--dc-surface-2)!important;border-color:var(--dc-faint)!important;color:var(--dc-text)!important;}
.mic{background:radial-gradient(circle at 42% 38%,rgba(214,204,192,.25),rgba(81,71,63,.14) 55%,transparent 72%)!important;}
.mic::before{border-color:rgba(214,204,192,.35)!important;}
.mic svg{color:var(--dc-muted)!important;}
.lv-select,.lv-email,.lv-script{background:var(--dc-surface)!important;color:var(--dc-text)!important;border-color:var(--dc-line)!important;}
.player,.player :is(.pl-name,.pl-btn){color:var(--dc-text)!important;}
.pl-play,.station.playing .station-play{background:var(--dc-surface-2)!important;color:var(--dc-text)!important;}
.pl-fill{background:var(--dc-muted)!important;}
.r-eye,.r-h1 em,.r-lede,.r-lab,.station-desc,.track-idx,.track-cat{color:var(--dc-faint)!important;}
.r-h1,.station-name,.track-name{color:var(--dc-text)!important;}
.poster-wrap,.frame{box-shadow:none!important;}
.stage{background:radial-gradient(circle at 50% 40%,rgba(81,71,63,.5),transparent 60%),var(--dc-bg)!important;}
.rail,.topbar{display:none!important;}

/* Studio landing, runner, and its generated panels. */
body.room-teach{background:radial-gradient(circle at 18% 8%,rgba(125,104,88,.42),transparent 35%),radial-gradient(circle at 84% 76%,rgba(125,104,88,.26),transparent 42%),linear-gradient(135deg,var(--dc-bg),var(--dc-surface) 53%,var(--dc-bg))!important;}
body.room-teach :is(.studio-brand,.dash-h,.studio-choice-title){color:var(--dc-text)!important;}
body.room-teach :is(.studio-kicker,.studio-choice-arrow,.studio-brand em){color:var(--dc-muted)!important;}
body.room-teach :is(.studio-question,.studio-choice-copy){color:var(--dc-muted)!important;}
body.room-teach .studio-choice{border-color:var(--dc-line)!important;}
#roomModal :is(input,textarea,select),#rtModal :is(input,textarea,select){background:var(--dc-surface)!important;color:var(--dc-text)!important;border-color:var(--dc-line)!important;}

/* Admin and donation gates. */
#gate,.r-new,.r-album{background:var(--dc-surface)!important;border-color:var(--dc-line)!important;box-shadow:none!important;}
#gate button,#donate-modal button:not([aria-label="close"]){background:var(--dc-surface-2)!important;border-color:var(--dc-faint)!important;color:var(--dc-text)!important;}

/* One readable in-app dropdown across every route. */
.quiet-select{position:relative;min-width:0;width:100%;font-family:'IBM Plex Mono',ui-monospace,monospace;}
.quiet-select-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;}
.quiet-select details{position:relative;}
.quiet-select summary{display:flex;align-items:center;justify-content:space-between;min-height:42px;padding:0 12px;background:var(--dc-surface);border:1px solid var(--dc-line);border-radius:10px;color:var(--dc-text);font:11px 'IBM Plex Mono',monospace;letter-spacing:.03em;cursor:pointer;list-style:none;}
.quiet-select summary::-webkit-details-marker,.quiet-select summary::marker{display:none;content:'';}
.quiet-select summary::after{content:'+';font-size:16px;color:var(--dc-faint);line-height:1;}
.quiet-select details[open] summary::after{content:'−';}
.quiet-select-menu{position:absolute;z-index:100;left:0;right:0;top:calc(100% + 8px);display:grid;gap:6px;padding:8px;background:var(--dc-surface-2);border:1px solid var(--dc-line);border-radius:12px;box-shadow:0 18px 42px var(--dc-shadow);max-height:min(48vh,360px);overflow:auto;}
.quiet-select-menu button{min-height:34px;padding:7px 8px;border:0;border-radius:7px;background:rgba(245,239,231,.06);color:var(--dc-text);font:9px 'IBM Plex Mono',monospace;letter-spacing:.02em;text-align:left;cursor:pointer;}
.quiet-select-menu button:hover,.quiet-select-menu button[aria-current="true"]{background:rgba(167,155,141,.28);color:var(--dc-text);}

/* Footer and site chrome. */
footer,.foot-in{background:var(--dc-surface)!important;border-color:var(--dc-line)!important;color:var(--dc-muted)!important;}
.foot-links a,.foot-note{color:var(--dc-muted)!important;}
@media (max-width:640px){
  #rc-drawer{width:min(100%,420px)!important;}
}

/* Type: IBM Plex Mono everywhere except the dearcalm logo. */
:root{--mono:'IBM Plex Mono',ui-monospace,monospace!important;--serif:'IBM Plex Mono',ui-monospace,monospace!important;}
body,body :where(*):not(.dc-global-mark):not(.dc-global-mark *):not(.logo):not(.logo *):not(.brand):not(.brand *):not(.brand-name):not(.brand-name *):not(.rooms-home-brand):not(.rooms-home-brand *):not(.nav-logo):not(.nav-logo *):not(.door-brand):not(.door-brand *){font-family:'IBM Plex Mono',ui-monospace,monospace!important;font-style:normal!important;text-transform:lowercase!important;}
body :where(.eyebrow,.dc-label,.sec-label,.preview-label,.goods-title,.calm-radio-kicker){text-transform:uppercase!important;}
.dc-global-mark,.dc-global-mark *,.logo,.logo *,.brand,.brand *,.brand-name,.brand-name *,.rooms-home-brand,.rooms-home-brand *,.nav-logo,.nav-logo *,.door-brand,.door-brand *{font-family:'Cormorant Garamond',Georgia,serif!important;text-transform:lowercase!important;}
