/* The day-to-night controls form one left-hand group; contribution is the right-hand action. */
#living .scene-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;justify-items:start;gap:32px;bottom:32px}
#living .scene-controls{order:0;position:relative;display:grid;grid-template-columns:minmax(0,1fr);justify-items:start;gap:10px;width:max-content;max-width:100%;min-width:0;margin:0;padding:0 44px 0 0}
#living .scene-control-row{display:grid;grid-template-columns:74px minmax(0,1fr);align-items:center;gap:12px;width:100%;max-width:none;min-width:0}
#living .scene-control-row>.eyebrow{text-align:left;font-size:10px;line-height:1.4;white-space:normal;margin:0}
#living .scene-control-row .time-controls{display:grid;grid-template-columns:1fr 1.25fr .8fr;align-items:stretch;width:290px;max-width:100%;min-width:0;gap:3px;padding:4px;overflow:visible;border-radius:999px}
#living .scene-control-row .time-controls button{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:auto;max-width:none;min-width:0;min-height:44px;padding:9px 11px;font-size:13px;line-height:1.25;white-space:normal;word-break:normal;overflow:visible;flex:none;text-align:center;border-radius:999px}
#living .scene-reset{inset:30px 0 auto auto;transform:none;width:34px;height:34px;min-width:34px}
#living .scene-reset:not(:disabled):active{transform:scale(.94)}
#living .scene-response{order:1;display:flex;flex-direction:column;align-items:flex-end;justify-self:end;gap:9px;width:280px;max-width:100%;min-width:0;margin:0;text-align:right}
#living #scene-contribute{width:100%;min-width:0;max-width:none;min-height:76px;padding:15px 20px;gap:20px;text-align:left}
#living #scene-contribute strong{font-size:15px;line-height:1.3;white-space:normal}
#living #scene-contribute small{font-size:11px;line-height:1.4;white-space:normal}
#living #scene-feedback{font-size:11px;line-height:1.5;max-width:32ch;margin:0}
#living .scene-notes{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;padding-top:1px;max-width:100%}
#living .scene-notes .scene-control-status{position:static;inset:auto;max-width:none;padding:0;margin:0;font-size:10px;line-height:1.4}
#living .scene-notes .scene-step{position:static;display:flex;gap:10px;font-size:8px;letter-spacing:.08em;white-space:normal}
#living .scene-caption{display:none}
@media(max-width:900px){#living .scene-bottom{gap:20px}#living .scene-control-row{grid-template-columns:58px minmax(0,1fr);gap:8px}#living .scene-control-row .time-controls{width:260px}#living .scene-control-row .time-controls button{font-size:12px;padding-inline:9px}#living .scene-response{width:245px}}
@media(max-width:760px){
 #living .scene-bottom{grid-template-columns:minmax(0,1fr);gap:16px;left:6%;right:6%;bottom:24px}
 #living .scene-controls{width:100%;padding-right:40px;gap:8px}
 #living .scene-control-row{grid-template-columns:64px minmax(0,1fr)}
 #living .scene-control-row .time-controls{width:100%;max-width:360px;grid-template-columns:1fr 1.25fr .8fr}
 #living .scene-response{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);align-items:center;width:100%;justify-self:stretch;gap:16px;text-align:left}
 #living #scene-contribute{min-height:68px;padding:12px 17px}
 #living #scene-feedback{font-size:10px}
 #living .scene-notes .scene-step{display:none}
 #living .scene-copy{top:14%;width:86%}
}
@media(max-width:420px){
 #living .scene-control-row{grid-template-columns:1fr;gap:4px}
 #living .scene-control-row>.eyebrow{font-size:8px;letter-spacing:.14em}
 #living .scene-control-row .time-controls button{font-size:11px;padding:8px 7px;min-height:40px}
 #living .scene-reset{top:32px}
 #living .scene-response{grid-template-columns:1fr;gap:6px}
 #living #scene-feedback{font-size:10px;text-align:center;justify-self:center;max-width:none}
 #living #scene-contribute{width:100%;min-height:62px;padding:10px 18px}
 #living .scene-notes{padding-top:0}
}
/* Every collection occupies one viewport. The stage consumes the space left by the copy and controls. */
#local.local-collection[data-region]{box-sizing:border-box;height:100svh;min-height:0;max-height:100svh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-template-rows:minmax(0,1fr) auto;align-items:center;column-gap:6%;row-gap:16px;padding-block:100px 22px;overflow:clip;scroll-margin-block-start:-94px}
#local.local-collection[data-region] .local-copy{grid-column:2;grid-row:1;position:relative;inset:auto;transform:none!important;align-self:center;max-width:540px;padding:0;margin:0;min-width:0}
#local.local-collection .local-copy>.eyebrow{font-size:10px;line-height:1.4;margin:0}
#local.local-collection .local-copy>h2{font-size:clamp(30px,min(4.4vw,6.2svh),60px);line-height:1.08;margin:16px 0}
#local.local-collection .local-lede{font-size:15px;line-height:1.5;margin:0;max-width:34ch}
#local.local-collection #region-description{position:static;inset:auto;height:auto;min-height:0;max-width:38ch;margin:16px 0 0;padding:0;clip:auto;overflow:visible;white-space:normal}
#local.local-collection #region-label{font-size:10px;line-height:1.4}
#local.local-collection #region-text{font-size:14px;line-height:1.5;margin:8px 0 0}
#local.local-collection[data-region] .local-stage{grid-column:1;grid-row:1;align-self:stretch;position:relative;height:auto;min-height:0;max-height:none;width:100%;max-width:none;margin:0;overflow:visible}
#local.local-collection[data-region] .pattern-deck{position:absolute;inset:12px 0 94px;height:auto;width:100%;max-width:none;margin:0}
#local.local-collection[data-region=all] .pattern-deck{inset:34px 0 64px}
#local.local-collection[data-region=all] .deck-note{inset:0 0 auto;justify-content:center;gap:10px;transform:none;font:12px/1.4 var(--sans);letter-spacing:0}
#local.local-collection .deck-note svg{width:44px;height:25px;transform:none}
#local.local-collection[data-region=all] .deck-navigation{inset:auto 0 20px;gap:18px}
#local.local-collection .deck-navigation .icon-button{width:40px;height:40px;min-width:40px}
#local.local-collection[data-region] .local-stage-caption{inset:auto 0 0;font-size:10px;line-height:1.4;max-width:100%;text-align:center;padding:0 8px}
#local.local-collection .local-stage-actions{inset:auto 0 26px}
#local.local-collection .local-see-action{min-height:44px;font-size:13px;padding:10px 18px}
#local.local-collection .region-choices{display:flex;gap:7px;max-width:410px;margin:22px 0 0;flex-wrap:nowrap}
#local.local-collection .region-choices button{flex:1;min-width:0;min-height:44px;padding:10px 12px;font-size:13px;line-height:1.3}
#local.local-collection[data-region] .local-context{position:relative;inset:auto;height:0;min-height:0;margin:0}
#local.local-collection[data-view=model] .local-context{height:156px;margin-top:16px}
#local.local-collection .local-footnote{grid-column:1/-1;grid-row:2;position:relative;inset:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:24px;padding:12px 0 0;margin:0;border-top:1px solid #eeeddf24}
#local.local-collection .local-footnote>p{font-size:11px;line-height:1.4;margin:0;max-width:50ch}
#local.local-collection .pattern-reference-button{min-height:32px;padding:5px 0;font-size:11px;white-space:nowrap}
#local.local-collection .local-product{inset:0 0 66px}
#local.local-collection .local-render-frame{inset:0 auto 0 50%;height:100%;width:auto;max-width:100%;transform:translateX(-50%)}
#local.local-collection .pattern-card{container-type:inline-size}
#local.local-collection[data-region=all] .pattern-card:not(.is-tossing){transition:transform .45s cubic-bezier(.2,.75,.2,1),width .3s,height .3s,opacity .2s}
/* The + is as quiet as the printed title, with a larger invisible touch target. */
#local.local-collection[data-region=all] .card-details{display:grid;place-items:center;inset:auto 4% calc(6.3% - 22px) auto;width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:0;background:transparent;color:#30392c;box-shadow:none;z-index:3}
#local.local-collection[data-region=all] .card-details:before{content:'';display:block;position:absolute;inset:50% auto auto 50%;width:clamp(15px,6cqw,22px);height:clamp(15px,6cqw,22px);border:1px solid #43473455;border-radius:50%;background:#eeeddf;transform:translate(-50%,-50%)}
#local.local-collection[data-region=all] .card-details .ui-icon{position:relative;width:clamp(10px,4cqw,15px);height:clamp(10px,4cqw,15px);stroke-width:1.5}
#local.local-collection[data-region=all] .card-details:hover{background:transparent;color:#30392c}
#local.local-collection[data-region=all] .card-details:hover:before{background:#dce1cc}
/* Crisp type follows the supplied print layout, above the original regional map artwork. */
#local.local-collection .card-back>.web-card-face{position:absolute!important;inset:0!important;display:block;width:100%!important;height:100%!important;min-height:0;padding:8.7cqw!important;margin:0!important;clip-path:none!important;overflow:hidden!important;background:#eeeddf;color:#326d55;isolation:isolate;box-sizing:border-box;text-align:left;font-family:var(--sans)}
#local.local-collection .web-card-face .card-map-art{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:url(#flashcard-map-only);opacity:1;pointer-events:none;z-index:-1}
#local.local-collection .printed-back-header{display:flex;align-items:baseline;justify-content:space-between;gap:3cqw;width:100%;font-size:3.5cqw;line-height:1.4;letter-spacing:0;white-space:nowrap}
#local.local-collection .printed-back-header b{font-size:4cqw;font-weight:600;letter-spacing:-.1cqw}
#local.local-collection .printed-back-title{font-size:10.6cqw;line-height:1.1;letter-spacing:-.15cqw;font-weight:400;color:inherit;margin:8.6cqw 0 8.8cqw}
#local.local-collection .printed-back-title.long-title{font-size:8.4cqw;line-height:1.4}
#local.local-collection .printed-back-body{font-size:3.26cqw;line-height:1.38;font-weight:400;color:inherit;margin:0;padding:0;letter-spacing:0}
#local.local-collection .printed-back-credit{position:absolute;inset:auto 6.5cqw 6.5cqw;display:flex;flex-direction:column;text-align:right;font-size:3.5cqw;line-height:1.35;letter-spacing:0}
#local.local-collection .printed-back-credit b{font-size:3.65cqw;font-weight:600}
@media(max-width:1100px){
 #local.local-collection[data-region]{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto auto;gap:10px;padding-block:96px 16px;scroll-margin-block-start:-90px}
 #local.local-collection[data-region] .local-copy{grid-column:1;grid-row:1;align-self:start;max-width:700px;width:100%;margin:0 auto}
 #local.local-collection .local-copy>h2{font-size:clamp(28px,4.7svh,42px);line-height:1.08;margin:10px 0}
 #local.local-collection .local-copy>.eyebrow{font-size:9px}
 #local.local-collection .local-lede{font-size:14px;line-height:1.45;max-width:45ch}
 #local.local-collection #region-description{margin-top:10px;max-width:48ch}
 #local.local-collection #region-text{font-size:13px;margin-top:6px}
 #local.local-collection[data-region] .local-stage{grid-column:1;grid-row:2;height:auto;min-height:0;width:100%;max-width:760px;margin:0 auto}
 #local.local-collection[data-region] .pattern-deck{inset:4px 0 68px}
 #local.local-collection[data-region=all] .pattern-deck{inset:24px 0 56px}
 #local.local-collection>.region-choices{grid-column:1;grid-row:3;width:100%;max-width:540px;margin:0 auto;padding:0;gap:7px}
 #local.local-collection>.region-choices button{min-height:42px;padding:9px 10px;font-size:13px}
 #local.local-collection .local-footnote{grid-column:1;grid-row:4;min-height:22px;padding:6px 0 0;justify-content:center}
 #local.local-collection .local-footnote>p{display:none}
 #local.local-collection .pattern-reference-button{min-height:26px;font-size:10px;padding:3px 0}
 #local.local-collection .deck-note svg{display:none}
 #local.local-collection[data-region=all] .deck-navigation{bottom:14px}
 #local.local-collection .local-stage-actions{bottom:18px}
 #local.local-collection .local-stage-caption{bottom:0;font-size:9px}
 #local.local-collection[data-view=model] .local-context{height:0;margin:0}
 #local.local-collection[data-view=model] .local-time-panel{position:fixed;inset:auto;display:none}
 #local.local-collection[data-view=model] .local-context{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;height:88px;margin-top:12px;align-items:center}
 #local.local-collection[data-view=model] .local-time-panel{position:relative;inset:auto;display:block;height:88px;padding:10px 12px}
 #local.local-collection[data-view=model] .local-model-actions{position:relative;inset:auto;height:auto;display:flex;flex-direction:column;gap:6px;max-width:140px}
 #local.local-collection .local-model-actions .pill{font-size:11px;padding:8px 12px;min-height:40px}
 #local.local-collection .local-product{inset:0 0 24px}
}
@media(max-width:500px){#local.local-collection .local-copy>h2{font-size:clamp(26px,4.2svh,36px)}#local.local-collection .local-lede{font-size:12px}#local.local-collection #region-text{font-size:12px}#local.local-collection .local-copy>.eyebrow{font-size:8px}#local.local-collection[data-region=all] .deck-note{font-size:10px}#local.local-collection .deck-navigation .icon-button{width:36px;height:36px;min-width:36px}#local.local-collection #pattern-position{font-size:10px}}
@media(max-height:700px){
 #local.local-collection[data-region]{padding-top:90px;padding-bottom:10px;row-gap:7px}
 #local.local-collection .local-copy>h2{font-size:clamp(24px,5svh,34px);margin-block:8px}
 #local.local-collection :is(.local-lede,#region-text){display:none!important}
 #local.local-collection .local-footnote{padding-top:0;border:0}
 #local.local-collection[data-region=all] .pattern-deck{inset:4px 0 45px}
 #local.local-collection .deck-note{display:none!important}
 #local.local-collection .region-choices{margin-top:12px}
 #local.local-collection .local-product{inset:0 0 18px}
}
@media(min-width:700px) and (max-width:1100px) and (max-height:600px){
 #local.local-collection[data-region]{grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr) auto auto;column-gap:6%}
 #local.local-collection[data-region] .local-copy{grid-column:2;grid-row:1;align-self:center}
 #local.local-collection[data-region] .local-stage{grid-column:1;grid-row:1}
 #local.local-collection>.region-choices{grid-column:1/-1;grid-row:2;max-width:500px}
 #local.local-collection .local-footnote{grid-column:1/-1;grid-row:3}
}
@media(prefers-reduced-motion:reduce){#local.local-collection .pattern-card{transition:none!important}}
#living{scroll-margin-block-start:-94px}
#living .living-stage{height:100svh}
#local.local-collection[data-region=all] .card-details:before{width:min(22px,6.8cqw);height:min(22px,6.8cqw)}
#local.local-collection[data-region=all] .card-details .ui-icon{width:min(15px,4.5cqw);height:min(15px,4.5cqw)}
@media(max-height:600px){#living .scene-copy{top:92px}#living .scene-copy h2{font-size:30px;margin:8px 0}#living .scene-copy>p:not(.eyebrow){display:none}}
#living .living-stage{min-height:0;max-height:100svh}
@media(max-width:1100px){
 #local.local-collection[data-view=model] .local-context{width:100%;max-width:none;height:90px}
 #local.local-collection[data-view=model] .local-time-panel{width:100%;min-width:0;max-width:none}
 #local.local-collection[data-view=model] .local-time-heading{font-size:10px;gap:6px;margin-bottom:8px}
 #local.local-collection[data-view=model] .local-time-heading output{font-size:10px}
 #local.local-collection[data-view=model] .local-time-ticks{font-size:8px;padding-inline:0}
}

#local.local-collection .printed-back-title{margin:7cqw 0 6cqw;font-size:11cqw;line-height:1.08}
#local.local-collection .printed-back-body{font-size:3.75cqw;line-height:1.5}
#local.local-collection .printed-back-title.long-title{font-size:9cqw;line-height:1.15}
