/* Common furniture; loaded after the three surface layout files. */
*{box-sizing:border-box}
[hidden]{display:none!important}
body{font:var(--text-base)/1.55 var(--sans);color:var(--ink);background:var(--bg)}
a{color:var(--link);text-underline-offset:3px}
h1,h2,h3,h4{font-family:var(--serif);line-height:1.25;overflow-wrap:anywhere}
h1{font-size:var(--heading-lg)}
h2{font-size:var(--heading-sm)}
h3,h4{font-size:1.0625rem}
button,.btn,input,select,textarea{font-family:var(--sans);font-size:1rem;border-radius:var(--r)}
button,.btn{min-height:44px;background:var(--metal);color:var(--on-accent);border:1px solid var(--control-line);padding:10px 16px;box-shadow:none;text-decoration:none}
button.small{min-height:44px;font-size:var(--text-sm)}
button:hover{filter:none;box-shadow:inset 0 0 0 1px var(--on-accent)}
button.ghost,button.ghost:hover{background:var(--card);color:var(--ink);border-color:var(--control-line);filter:none}
button:disabled{opacity:1;background:var(--bg);color:var(--muted);cursor:not-allowed;box-shadow:none;transform:none}
input,select,textarea,.f input,.f select,dialog.apply input,dialog.apply textarea,.detail-in input,.detail-in textarea{
  min-height:44px;min-width:0;max-width:100%;font-size:1rem;border:1px solid var(--control-line);background:var(--card);color:var(--ink);border-radius:var(--r)}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
input[type="checkbox"]{min-height:auto;accent-color:var(--link)}
:focus-visible,input:focus,select:focus,textarea:focus,.f input:focus,.f select:focus,dialog.apply input:focus,dialog.apply textarea:focus,.detail-in input:focus,.detail-in textarea:focus{
  outline:3px solid var(--focus);outline-offset:3px;box-shadow:none}
.lbl,th,.tile .k,.f,.wordmark .wm-tag,.kicker{font-family:var(--sans);font-size:var(--text-sm);color:var(--muted);letter-spacing:.025em;text-transform:none;font-weight:600}
label,dialog.apply label,.detail-in label{font-size:var(--text-sm);color:var(--ink)}
.card,.tile,.scard,dialog.apply,dialog.detail{border-radius:var(--r);box-shadow:var(--raise)}
nav::after,header.page::after,.tile::before{content:none}
nav a.on{background:var(--bg);color:var(--ink);border-color:var(--line);border-left:3px solid var(--link)}
nav a,nav .who a{color:var(--ink)}
nav .who a:hover{color:var(--link)}
.tile .v{font-family:var(--sans);font-size:var(--heading-lg);font-variant-numeric:tabular-nums}
.pill,.amen li{font-size:var(--text-sm);letter-spacing:0;text-transform:none;border-radius:var(--r)}
.watermark{border:1px solid var(--bad);background:var(--bad-bg);color:var(--bad);letter-spacing:.06em}
.flag a,.bad a,.ok a,.warn-long a{color:inherit}
main,.card,.tile,.scard,.main,.body,.row>*{min-width:0}
p,td,.who,.wordmark,.contact,.q-row span{overflow-wrap:anywhere}
.desc{max-width:65ch}
.wordmark{font-size:1.375rem}
.wordmark .wm-tag{vertical-align:0;border-color:var(--line)}
.top-in{padding-top:16px;padding-bottom:16px}
.top-right{flex-wrap:wrap;gap:8px 16px;min-width:0}
.signin:not(#root),.xnav{margin-left:0;white-space:normal;min-height:44px;display:inline-flex;align-items:center;color:var(--link);border-radius:var(--r)}
#root.signin{background:var(--bg)}
#root.signin .co{font-size:var(--text-sm);letter-spacing:.04em;text-transform:none}
.kind-toggle{border-radius:var(--r);gap:4px;padding:4px;max-width:100%}
.kind-toggle button{border-radius:var(--r);font-size:var(--text-sm);padding:10px 16px}
.kind-toggle button[aria-pressed="true"]{background:var(--metal);color:var(--on-accent);border-color:var(--control-line)}
.scard:hover{transform:none;border-color:var(--control-line)}
.scard .photo.ph,.thumb.ph,.d-photo.ph{aspect-ratio:auto;min-height:80px;background:var(--bg)}
.scard .photo.ph{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px}
.scard .photo.ph span,.thumb.ph span,.d-photo.ph span{font-size:var(--text-sm);letter-spacing:0;text-transform:none;border:0;padding:0;color:var(--muted)}
.scard .kind,.scard .photo.ph .kind{position:static;display:inline-block;border:0;border-radius:var(--r);background:var(--badge-bg);color:var(--badge-ink);padding:6px 10px;font-size:var(--text-sm);letter-spacing:0;text-transform:none}
.scard .photo:not(.ph) .kind{position:absolute;top:12px;left:12px}
.d-close{position:sticky;top:8px;float:right;margin:8px;min-width:44px;height:44px;z-index:3;background:var(--badge-bg)!important;color:var(--badge-ink)!important}
.detail-in{max-height:none;overflow:visible}
dialog.detail,dialog.apply{max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain}
.cal-head{justify-content:space-between;gap:8px}
.cal-head span{min-width:0;font-family:var(--sans);font-size:var(--text-sm)}
.cal button.day{width:100%;min-height:44px;height:44px;border-radius:var(--r)}
.cal button.day[disabled]{opacity:1;color:var(--muted);background:var(--card)}
.cal button.day.sel{background:var(--metal);color:var(--on-accent)}
.cal button.day.inrange{background:var(--accent-light);color:var(--on-accent)}
.cal button.day.turn::after,.cal-note .dot{background:var(--link)}
.cal td{padding:2px 0}
.q-row span:last-child{flex-shrink:0}
.q-row .eff{display:block}
.table-scroll{overflow-x:auto;max-width:100%;margin-top:12px;padding:4px;scroll-margin:16px}
.table-scroll table{min-width:540px}
.table-scroll:focus-visible{outline-offset:-3px}
.skip-link{position:fixed;top:8px;left:8px;z-index:100;background:var(--card);color:var(--link);padding:12px;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.empty{border:1px dashed var(--control-line);border-radius:var(--r);padding:32px 24px;line-height:1.6}
@media(max-width:760px){
 nav{display:flex;flex-wrap:wrap;overflow:visible;gap:4px;padding:12px}
 nav .who{display:flex;flex-wrap:wrap;align-items:center;gap:8px;width:100%;padding:8px 0 0;margin-top:4px}
 nav .who br{display:none}
 nav .who a{margin:0;padding:8px}
 .theme-btn{margin-top:0}
 .filters{position:static}
 .filters-in{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .f select,.f input{width:100%}
 .count{grid-column:1/-1}
 .search-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .search-row .f{min-width:0}
 .kind-toggle{display:flex;width:100%}
 .kind-toggle button{flex:1;min-width:0}
 .cards{grid-template-columns:minmax(0,1fr)}
 .side{grid-template-columns:minmax(0,1fr)}
 .thumb.ph{min-height:56px}
 .row{gap:12px}
 .row>*{min-width:0;flex-basis:100%!important}
 .signin .card,dialog.apply form,.d-body{padding:24px 16px}
 .cals{gap:24px}
 .cal-head span{max-width:18ch}
 .tile .v{font-size:1.5rem}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{
 :root{color-scheme:light}
 body{background:#ffffff;color:#17150f}
 .table-scroll{overflow:visible;padding:0}
 .table-scroll table{min-width:0}
 .skip-link{display:none}
 .watermark{position:static;color:#9b1c1c;background:#fdf2f2}
}

/* Editorial public identity, quiet operational density. */
.intro{padding-top:40px;padding-bottom:32px}
.intro h1{font-size:clamp(2rem,4vw,3rem);font-weight:600;letter-spacing:-.025em;margin:8px 0 12px;max-width:22ch}
.intro p{max-width:58ch;margin:0;color:var(--muted)}
.intro .eyebrow{font-size:var(--text-sm);font-weight:700;letter-spacing:.08em;color:var(--link)}
.top{border-top:3px solid var(--accent)}
.scard .body{padding:24px}
.scard h2,.main h2{font-size:var(--heading-sm);line-height:1.3}
.money .price,.scard .rate b{font-family:var(--sans);letter-spacing:-.035em}
.cards{gap:16px}
.filters-in{padding-top:16px;padding-bottom:16px}
.search{padding:24px 0}
.card,.tile,.scard{box-shadow:none}
#root.signin .card{box-shadow:var(--raise);border-top:3px solid var(--accent)}
.scard .photo.ph{border-bottom:1px solid var(--line)}
.signin:focus-visible,.xnav:focus-visible,nav .who a:focus-visible,button:focus-visible,a:focus-visible{
 outline:3px solid var(--focus);outline-offset:3px}
@media(max-width:760px){.intro{padding-top:24px;padding-bottom:24px}.intro h1{font-size:2rem}.scard .body{padding:20px}}

.muted{color:var(--muted)}
.small,.tiny{font-size:var(--text-sm)}

.main .desc{display:block;-webkit-line-clamp:unset;overflow:visible}
/* Crust and a Corner: who hosts it, who is asking, and the ride app. */
.host{color:var(--muted);font-size:var(--text-sm);margin:.15em 0}
.ride{margin-top:var(--space-3)}
.near{margin:var(--space-4) auto 0;padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
fieldset.member{border:1px solid var(--line);border-radius:var(--r);padding:var(--space-3) var(--space-4);margin:var(--space-3) 0;display:grid;gap:var(--space-2)}
fieldset.member legend{font-family:var(--serif);font-weight:600;padding:0 var(--space-2)}
fieldset.member select{width:100%}
.row.tight{gap:6px}
.row.tight>*{flex:0 0 auto;min-width:0}
.public-links{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:center;margin-top:var(--space-4)}
