/* Scoped body check-in styles; no external fonts, images or trackers. */
#body-checkin{scroll-margin-top:100px}
#body-checkin-content{--bc-gold:#e6c491;--bc-ink:#202a2a;--bc-muted:#c5c9ce}
.bc-heading,.bc-week-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}
.bc-heading h2{margin:0 0 10px}.bc-heading h2 span{color:var(--bc-gold)}.bc-heading p{max-width:48ch}
.bc-date{flex-shrink:0;padding:9px 14px;border:1px solid #e6c49155;border-radius:24px;color:var(--bc-gold);font-size:.8rem}
.bc-form,.bc-week-panel{background:#171f2b;border:1px solid #ffffff1f;border-radius:22px;padding:26px;color:#f4f1e9}
.bc-form>fieldset,.bc-form fieldset{border:0;min-width:0;padding:0;margin:0}
.bc-layout{display:grid;grid-template-columns:minmax(230px,.9fr) minmax(0,1.2fr);gap:30px;align-items:start}
.bc-map-card{background:#ece7dc;color:var(--bc-ink);border-radius:18px;padding:18px 14px}
.bc-view{display:flex;justify-content:center;gap:4px;padding:4px;background:#dcded4;border-radius:30px;max-width:240px;margin:auto}
.bc-view button{background:transparent;color:#39483f;border:0;border-radius:24px;min-height:44px;padding:8px 16px;font:inherit;font-size:.8rem}
.bc-view button[aria-pressed="true"]{background:#314c42;color:#fff}
.bc-map{position:relative;aspect-ratio:300/520;width:100%;max-width:330px;margin:16px auto 8px}
.bc-map svg{display:block;width:100%;height:100%}.bc-halo{fill:#ccd5bf;opacity:.52}
.bc-silhouette{fill:#d9cbb7;stroke:#8c806c;stroke-width:1.4}
.bc-body-line{fill:none;stroke:#9b8d79;stroke-width:1.2;opacity:.5}
.bc-map[data-view="back"] .bc-body-line{stroke-width:2;opacity:.8}
.bc-pin{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);display:grid;place-items:center;min-height:44px;min-width:44px;border-radius:50%;background:#fffaf1;border:1px solid #716651;color:#252d28;box-shadow:0 2px 9px #17271b18;cursor:pointer;padding:0}
.bc-area-number{font-weight:700;font-size:.75rem}
.bc-pin[data-active="true"]{outline:3px solid #334e43;outline-offset:3px}
.bc-pin[data-sensation="pleasant"],.bc-pin[data-sensation="relaxed"]{background:#b6d8c3;border-color:#3c6052}
.bc-pin[data-sensation="tension"]{background:#f2c3ad;border-color:#825743}
.bc-pin[data-sensation="neutral"],.bc-pin[data-sensation="other"]{background:#c6d3e2;border-color:#546b86}
.bc-map-caption{text-align:center;font-size:.75rem;line-height:1.6;max-width:27ch;margin:10px auto 14px;color:#485249}
.bc-region-list{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.bc-region{display:flex;gap:8px;align-items:center;min-height:44px;border:1px solid #b4b5a5;background:#ffffff66;border-radius:9px;color:#283d33;padding:7px 9px;text-align:left;font:inherit;font-size:.75rem;cursor:pointer}
.bc-region .bc-area-number{color:#586d60}.bc-region[aria-pressed="true"]{background:#cfdfd0;border-color:#4e6b5b;font-weight:700}
.bc-region[data-active="true"]{box-shadow:inset 0 0 0 1px #405b4a}
.bc-editor{display:grid;gap:12px;min-width:0}
.bc-optional{font-size:.8rem;line-height:1.65;color:var(--bc-muted);margin:0 0 2px}
.bc-area-empty{border:1px dashed #e6c49155;border-radius:16px;padding:22px 18px;text-align:center}
.bc-area-empty>span{font-size:2rem;color:var(--bc-gold)}
.bc-area-empty h3{font-size:1.1rem;margin:8px 0}.bc-area-empty p{font-size:.8rem;color:var(--bc-muted);margin:0}
.bc-form .bc-area-editor{border:1px solid #e6c49155;border-radius:14px;padding:16px}
.bc-area-editor legend,.bc-emotions legend{font-weight:600;font-size:.95rem;padding:0 5px}
.bc-choices{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 16px}
.bc-choice{position:relative;display:block;cursor:pointer;margin:0}
.bc-choice input{position:absolute;opacity:0;width:1px;height:1px}
.bc-choice span{display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid #69717b;border-radius:24px;padding:8px 14px;color:#ebebdf;font-size:.8rem;line-height:1.3;background:#202a36}
.bc-choice input:checked+span{background:#e6c491;color:#1b2630;border-color:#e6c491;font-weight:600}
.bc-choice input:focus-visible+span{outline:3px solid #e6c491;outline-offset:3px}
.bc-choice input:disabled:not(:checked)+span{opacity:.45;cursor:default}
.bc-form label:not(.bc-choice){font-size:.85rem;color:#f3efe6;margin:2px 0 0}
.bc-form label small{font-size:.75rem;color:var(--bc-muted)}
.bc-form select,.bc-form input[type="text"],.bc-form textarea{width:100%;max-width:100%;box-sizing:border-box;font:inherit;font-size:.9rem;background:#101925;border:1px solid #65717b;color:#faf4e8;border-radius:10px;min-height:46px;padding:11px 12px}
.bc-form textarea{resize:vertical;min-height:92px}.bc-form input::placeholder,.bc-form textarea::placeholder{color:#a5b0ba;opacity:1}
.bc-area-editor select{margin:8px 0 12px}.bc-selection-summary{font-size:.75rem;color:#cee1d4;margin:0}
.bc-form .bc-emotions{margin-top:4px}.bc-emotions .tiny{color:var(--bc-muted);margin-bottom:0}
.bc-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.bc-form button{cursor:pointer;max-width:100%;white-space:normal;min-height:44px}
.bc-form .primary-btn{background:#e6c491;color:#17202a;border:1px solid #e6c491}
.bc-form .ghost-btn{color:#f0e6d2;border:1px solid #77808a}
.bc-form button:focus-visible,.bc-form select:focus-visible,.bc-form textarea:focus-visible,.bc-form input[type="text"]:focus-visible,.bc-history summary:focus-visible{outline:3px solid var(--bc-gold);outline-offset:3px}
.bc-form button:disabled{cursor:wait;opacity:.55}
.bc-confirm{padding:14px;background:#332c30;border-radius:12px}.bc-confirm p{font-size:.85rem}
.bc-status{min-height:1.6em;color:#e0d5bd;font-size:.8rem;line-height:1.7;margin:18px 0 0}
.bc-week-panel{margin-top:18px;padding:24px}.bc-week-heading h3{margin:0}.bc-week-heading>p{font-size:.8rem;max-width:28ch;color:var(--bc-muted)}
.bc-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;list-style:none;padding:0;margin:18px 0}
.bc-week li{text-align:center;padding:12px 2px;background:#101925;border:1px solid #ffffff16;border-radius:12px}
.bc-week li.is-recorded{background:#20362e;border-color:#739b8655}.bc-week time,.bc-week small{display:block;font-size:.7rem;color:#c6d0c9}
.bc-day-mark{display:block;color:#8ca998;font-size:1.7rem;line-height:2}.bc-week .is-recorded .bc-day-mark{color:#e8c898}
.bc-week-counts{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:18px}
.bc-week-counts h4{font-size:.8rem;color:#e5d6bb;margin:10px 0}.bc-week-counts ul{list-style:none;padding:0;margin:0}
.bc-week-counts li{display:flex;justify-content:space-between;gap:12px;font-size:.75rem;border-bottom:1px solid #ffffff16;padding:7px 0}
.bc-week-counts strong{white-space:nowrap;color:#c8ddca}.bc-week-panel>.tiny{color:#bbc5c8;line-height:1.7}
.bc-history{border-top:1px solid #ffffff22;margin-top:18px;padding-top:16px}
.bc-history summary{cursor:pointer;min-height:44px;font-size:.9rem}.bc-history article{border-top:1px solid #ffffff16;padding:14px 0}
.bc-history h4{font-size:.8rem;color:#e6c491;margin:0 0 8px}.bc-preserve{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.85rem;line-height:1.8}
.bc-privacy{font-size:.75rem;color:#bec7cf;line-height:1.75;max-width:90ch;margin:16px 0 0}.bc-privacy a{color:#e6c491;text-decoration:underline}
#body-checkin [hidden]{display:none!important}
@media(max-width:760px){.bc-layout{grid-template-columns:1fr}.bc-map-card{max-width:390px;width:100%;box-sizing:border-box;margin:auto}.bc-heading,.bc-week-heading{flex-wrap:wrap;gap:8px}.bc-form,.bc-week-panel{padding:18px}.bc-week-heading>p{max-width:none}.bc-choices{gap:6px}.bc-choice span{padding:8px 11px}.bc-actions .primary-btn{width:100%}.bc-map{max-width:290px}.bc-week{gap:3px}.bc-week li{border-radius:8px}}
@media(prefers-reduced-motion:reduce){#body-checkin *{scroll-behavior:auto;transition:none}}

/* Allow the region controls to wrap inside the narrowest supported viewport. */
#body-checkin-content,.bc-form,.bc-layout,.bc-map-card,.bc-region-list,.bc-week-panel{min-width:0;overflow-wrap:anywhere}
.bc-region-list{grid-template-columns:repeat(2,minmax(0,1fr))}.bc-region{min-width:0}.bc-region .bc-area-number{flex-shrink:0}
.bc-week-counts{grid-template-columns:repeat(auto-fit,minmax(min(100%,185px),1fr))}
@media(max-width:760px){.bc-layout{grid-template-columns:minmax(0,1fr)}.bc-view button{min-width:0;padding-inline:12px}.bc-form legend{max-width:100%;white-space:normal}}
