/* Shared finishing layer: quiet cards, legible detail, consistent action states. */
:root{--ink:#203e31;--quiet:#526653;--line:#dce4d5;--paper:#fffef9;--accent:#176b51}
.muted,.footnote,.source-context,.card-byline,.card-location{color:var(--quiet)}
.footnote,.source-context,.card-byline,.card-location,.card-stats,.card-status,.editorial-kicker{font-size:12px;line-height:1.65}
.card-status{color:#496344;background:#edf2e7;font-weight:500;padding:4px 8px}
.editorial-kicker{letter-spacing:1.5px;color:#52694c}
.source-verification{font-size:12px;line-height:1.65;color:#5e6653;background:#f0f2e9;border-radius:9px;padding:7px 10px;margin:12px 0}
button,.primary,.button,.ghost,summary,.chip{min-height:44px}
button.source{appearance:none;border:0;background:transparent;border-bottom:1px solid #bccab6;padding:8px 0;border-radius:0;color:var(--accent);font:inherit;text-align:left;box-shadow:none}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #bf885d;outline-offset:3px}
button:disabled,.button[aria-disabled=true]{opacity:.5;cursor:default;box-shadow:none;transform:none}
.primary,.button{transition:transform .14s,box-shadow .14s,background-color .14s}
.primary:active,.button:active,.ghost:active{transform:translateY(1px);box-shadow:inset 0 2px 4px #173e251c}
.risk-filter-chips{display:flex;gap:8px;overflow-x:auto;padding:6px 0 14px;scrollbar-width:none}
.risk-filter-chips a{white-space:nowrap;flex:none;padding:10px 16px}
.route-preferences{padding:18px;border-radius:20px;border:1px solid var(--line);background:linear-gradient(145deg,#f6f7ef,#edf2e7);margin:18px 0}
.route-preferences small{display:block;font-size:12px;color:var(--quiet);line-height:1.6}
.delivery-actions{display:block}.delivery-actions>.primary{width:100%;margin:0}
.delivery-panel>h3{margin-bottom:15px}.booking-row{border-top:1px solid var(--line);padding-top:18px}
.ai-pose-callout{margin:22px 0;border-radius:22px;background:linear-gradient(125deg,#edf2e6,#f9f7ee);padding:22px;border:1px solid var(--line)}
.ai-pose-callout button.source{margin-top:10px;font-size:13px;display:block}
.portrait-intro{padding-top:0;margin-top:0}.portrait-intro p{font-size:20px;line-height:1.65}
.portrait-gallery{gap:16px}.portrait-card-copy small{font-size:12px;color:var(--quiet)}
.portrait-camera-stage{width:min(100%,calc(44svh * var(--pose-ratio,.667)));margin:12px auto 16px;max-width:100%}
.portrait-template-select{margin-bottom:12px}.portrait-template-select img{width:42px;height:58px;object-fit:cover;border-radius:10px}
.portrait-camera-actions{position:sticky;bottom:calc(84px + env(safe-area-inset-bottom));background:rgba(255,254,249,.96);backdrop-filter:blur(12px);border:1px solid var(--line);padding:10px;border-radius:20px;z-index:20;box-shadow:0 4px 18px #193d2314}
.portrait-camera-actions button{min-height:44px}.portrait-checkpoints{gap:6px}
.portrait-float{bottom:12px;top:auto;left:10px;right:10px;width:auto;max-width:290px}
.portrait-float-handle{min-height:44px}.portrait-collapse{min-width:44px;min-height:44px}
.portrait-float-body p{font-size:12px;line-height:1.5;margin:7px 0}.portrait-float-body .portrait-angle{font-size:11px}
.portrait-float-body button{min-height:40px}.portrait-stage-label{font-size:11px}
body[data-view=camera] .page-head{padding:18px 24px 12px}
body[data-view=camera] .page-head h1{font-size:24px;margin:12px 0 0}
body[data-view=camera] .page-head p{display:none}
body[data-view=camera] .bottom-nav{display:none}
body[data-view=camera] #app{padding-bottom:20px}
body[data-view=camera] .portrait-camera{padding-top:14px}
body[data-view=camera] .portrait-camera-actions{bottom:12px}
body[data-view=camera] .portrait-template-select img{height:42px;width:32px}
.portrait-float.collapsed .portrait-float-handle{padding-right:44px}
.portrait-float-handle #portrait-mini-tip{font-size:13px;font-weight:600;color:#284c36}
body.camera-live .portrait-camera-stage{width:min(100%,calc(62svh * var(--pose-ratio,.667)))}
body.camera-live .portrait-template-select,body.camera-live .portrait-checkpoints{display:none}
[data-action=portrait-stop]{display:none}
body.camera-live [data-action=portrait-stop]{display:block}
body.camera-live .portrait-camera-actions{display:grid;grid-template-columns:1fr 1fr}
#portrait-photo-status:not(:empty){padding:12px;background:#eff3e9;border-radius:12px}
.discovery-intro{background:linear-gradient(125deg,#e8eedc,#f7f2e7);padding:26px;border:1px solid var(--line);border-radius:26px;margin-bottom:24px;box-shadow:inset 0 1px 0 #fff}
.discovery-intro h2{font-family:'Songti SC',STSong,serif;font-size:29px;line-height:1.5;margin:12px 0}
.discovery-intro p{color:var(--quiet);font-size:13px;line-height:1.8}
.event-feed{display:grid;gap:20px}.discovery-event{padding:24px;border-radius:24px;background:var(--paper);border:1px solid var(--line);box-shadow:0 4px 16px #233d2810,inset 0 1px 0 #fff}
.discovery-event h2{font-size:22px;line-height:1.6;margin:16px 0 10px}.discovery-event p{line-height:1.8;font-size:14px}
.event-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px}.event-verified{font-size:11px;color:var(--quiet)}
.event-location{display:flex;align-items:center;gap:6px;color:var(--quiet)}.event-location img{width:17px;height:17px}
.event-connections{border-top:1px solid var(--line);margin-top:18px;padding-top:10px}.event-connections summary{font-size:13px;color:var(--accent);font-weight:600}
.event-history{margin:24px 0}.event-history summary{padding:12px;color:var(--quiet)}.event-history article{margin-top:16px}
.fx-wave{max-width:100px;max-height:100px;pointer-events:none}
@media(max-width:380px){.discovery-event{padding:18px}.portrait-camera-actions{gap:6px}.portrait-camera-actions button{padding:10px;font-size:12px}.portrait-float-body .portrait-angle{display:none}}
@media(prefers-reduced-motion:reduce){.primary,.button,.ghost{transition:none}.fx-wave{display:none}}
