/* R40: one reversible presentation shell. Content and original art stay intact. */
.shell-threshold{display:flex;align-items:center;gap:20px;margin:24px 0 0;padding:14px;border:1px solid #82999d66;border-radius:15px;background:#142731;color:#eae6da;font:16px/1.5 system-ui,sans-serif}
.shell-door{flex:0 0 112px;width:112px;height:86px;border:1px solid #b7c2b280;border-radius:9px;background-image:url('/assets/shell-r40/campus-fountain-v1.webp');background-size:420%;background-position:var(--door-x) var(--door-y)}
.shell-threshold p{margin:0!important}.shell-threshold small{display:block;color:#c5d1d0;font:12px/1.6 system-ui,sans-serif}.shell-threshold strong{font:22px/1.4 Georgia,serif}
.shell-page .room-arrival{margin-top:14px;border-radius:18px;min-height:0}.shell-page .room-arrival>img{display:block;height:auto;object-fit:contain}.shell-page .room-arrival::after{display:none}
.shell-page .room-welcome{position:relative;max-width:none;padding:26px 32px;background:linear-gradient(120deg,#192e35,#101d2a);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 32px;align-items:center}
.shell-page .room-welcome h1{font-size:clamp(30px,3.5vw,46px);margin:0}.shell-page .room-welcome .campus-eyebrow{grid-column:1/-1;margin:0;font-size:11px}.shell-page .room-welcome>p:not(.campus-eyebrow){grid-column:1;margin:0;max-width:680px}.shell-page .room-welcome .campus-action{grid-column:2;grid-row:2/4;max-width:280px}.shell-page .room-purpose-link{grid-column:1/-1;margin:0;font-size:13px}
.shell-orientation{display:grid;grid-template-columns:64px minmax(0,1fr);gap:20px;align-items:start;padding:24px 0;color:#e7e8df;font:16px/1.65 system-ui,sans-serif}
.shell-orientation>img{width:64px;height:96px;object-fit:contain}.shell-orientation p{margin:0 0 8px!important;max-width:800px}.shell-orientation .shell-host{color:#bbd6d6;font-size:12px;letter-spacing:.04em}.shell-guidance{max-width:850px;border:1px solid #82999d88;border-radius:10px;background:#162b35}
.shell-guidance>summary{cursor:pointer;padding:12px 18px;min-height:48px;font-weight:600;color:#edf0e8}.shell-guidance>div{padding:6px 18px 18px}.shell-guidance a{display:flex;align-items:center;min-height:48px;color:#e4e9de;text-underline-offset:5px;max-width:100%;overflow-wrap:anywhere}.shell-guidance small{display:block;color:#c1ceca;font-size:12px;margin-top:10px}
.shell-contents{margin:0 0 22px;border:1px solid #82999d88;border-radius:14px;background:#122630;scroll-margin-top:24px;color:#e9eadf}.shell-contents>summary{padding:18px 22px;font:24px/1.4 Georgia,serif;cursor:pointer;min-height:64px}.shell-contents[open]>summary{border-bottom:1px solid #82999d66}.shell-contents>.room-activity,.shell-contents>.recipe-table{padding:28px 24px}.shell-contents>.recipe-book{padding:0 24px 24px}.shell-contents .room-activity>p{max-width:860px}
.shell-page .room-exit{border-top:1px solid #82999d66;margin-top:20px;padding:25px 0;gap:18px}.shell-page .room-exit h2{font-size:27px}.shell-page .room-exit p{margin:0}.shell-page .room-purpose{margin:20px 0}.shell-page .room-art-failed #room-art,.shell-page.room-art-failed #room-art{display:none}
.shell-page :is(summary,a,button):focus-visible{outline:3px solid #ffe1a1;outline-offset:5px}.shell-contents :is(h2,h3){scroll-margin-top:24px}
/* Store scope deliberately avoids the existing renderer's classes and controls. */
.store-shell-page .store-examples{border-top:1px solid #82999d66;padding:28px 0;margin-top:30px}
.store-shell-page .store-examples h2{font:clamp(28px,4vw,38px)/1.2 Georgia,serif;margin:10px 0}
.store-shell-page .store-example-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:24px}
.store-shell-page .store-example-grid article{border:1px solid #82999d66;border-radius:14px;overflow:hidden;background:#142731}
.store-shell-page .store-example-grid img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:#0d1c25}
.store-shell-page .store-example-grid article>div{padding:24px}
.store-shell-page .store-example-grid h3{font:28px/1.25 Georgia,serif;margin:12px 0}
.store-shell-page .store-example-grid a{display:inline-flex;align-items:center;min-height:48px;color:#e8e9da;text-underline-offset:5px}
@media(max-width:600px){.store-shell-page .store-example-grid{grid-template-columns:1fr;gap:18px}.store-shell-page .store-example-grid article>div{padding:20px}}
.store-shell-page{margin:0;background:#0d1c25;color:#eeeadd;font:16px/1.65 system-ui,sans-serif}.store-shell-page *{box-sizing:border-box}.store-shell-page .shell-wrap{max-width:1260px;margin:auto;padding:0 28px}.store-shell-page .shell-top{display:flex;gap:20px;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:16px 0;border-bottom:1px solid #82999d66}.store-shell-page .shell-top>a{font:26px Georgia,serif}.store-shell-page .shell-top nav{display:flex;gap:6px 24px;flex-wrap:wrap}.store-shell-page .shell-top a{color:#e7e8df;text-decoration:none;display:inline-flex;min-height:48px;align-items:center}.store-shell-page .shell-review{font-size:12px;text-align:center;background:#142c36;padding:8px 16px;color:#c7d5d3}
.store-shell-page .room-arrival{overflow:hidden;border:1px solid #82999d80}.store-shell-page .room-arrival>img{width:100%}.store-shell-page .campus-eyebrow{font:600 11px/1.5 system-ui;letter-spacing:.12em;text-transform:uppercase;color:#c4d9ce}.store-shell-page .campus-action{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border:1px solid #c1d3bd;border-radius:6px;background:#d4e5d3;color:#152d2b;text-decoration:none;font:600 15px/1.5 system-ui}.store-shell-page .room-exit{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.store-shell-page h2{font-family:Georgia,serif}.store-shell-page .shell-contents{background:#f4ece0;color:#172936}.store-shell-page .shell-contents>summary{border-color:#9aab9980}.store-shell-page #root{min-width:0}.store-shell-page .organization-review{border-radius:0}.store-shell-page .shell-return-room{display:flex;justify-content:flex-end;padding:12px 20px;background:#172936}.store-shell-page .shell-return-room a{color:#e8e9da;min-height:44px;display:inline-flex;align-items:center}
.shell-direct .store-arrival-area{display:none}.shell-direct .shell-contents{margin-top:20px}.store-shell-page .room-art-error{border:1px solid #a6b5a9;padding:18px}.shell-page [hidden]{display:none!important}
@media(max-width:800px){.shell-page .room-welcome{display:block;padding:24px}.shell-page .room-welcome>*+*{margin-top:12px!important}.shell-page .room-welcome .campus-action{max-width:none;width:100%}.shell-threshold{gap:14px;margin-top:16px;padding:12px}.shell-door{flex-basis:82px;width:82px;height:76px}.shell-threshold strong{font-size:20px}.shell-orientation{gap:14px;grid-template-columns:48px minmax(0,1fr);padding:22px 0}.shell-orientation>img{width:48px;height:72px}.shell-contents>.room-activity,.shell-contents>.recipe-table{padding:24px 18px}.shell-contents>.recipe-book{padding:0 14px 20px}.store-shell-page .shell-wrap{padding:0 18px}.store-shell-page .shell-top nav{gap:0 16px}.store-shell-page .shell-top nav a{font-size:14px}.shell-contents>summary{font-size:23px;padding:16px 18px}}
@media(prefers-reduced-motion:reduce){.shell-page *,.shell-page *::before,.shell-page *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.shell-page.motion-off *,.shell-page.motion-off *::before,.shell-page.motion-off *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(forced-colors:active){.shell-threshold,.shell-guidance,.shell-contents,.shell-top,.shell-page .room-welcome{background:Canvas;color:CanvasText;border:1px solid CanvasText}.shell-page p,.shell-page small,.shell-page summary{color:CanvasText}.shell-page a{color:LinkText!important}}
@media print{.shell-threshold,.shell-orientation,.shell-contents>summary{display:none!important}.shell-contents,.shell-contents>.recipe-book{display:block!important;border:0;padding:0;background:white}}
@media(min-width:801px){.shell-page .room-arrival{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(290px,1fr);align-items:stretch}.shell-page .room-arrival>img{height:100%;min-height:380px;object-fit:cover}.shell-page .room-welcome{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:30px;gap:14px}.shell-page .room-welcome h1{font-size:clamp(30px,3vw,44px)}.shell-page .room-welcome .campus-action{max-width:100%;margin-top:6px}}
/* R43: guide and direct entry share the arrival; catalog stays inside the shop. */
.shell-page .room-welcome .shell-guidance{width:100%;margin-top:10px;font:14px/1.5 system-ui,sans-serif}
.shell-page .shell-guidance summary{display:flex;align-items:center;gap:10px;font-size:14px;min-height:52px}
.shell-page .shell-guidance summary img{width:32px;height:42px;object-fit:contain}
.shell-page .shell-guidance summary::after{content:'+';margin-left:auto}
.shell-page .shell-guidance[open] summary::after{content:'−'}
.shell-page .shell-guidance p{font-size:14px}
.shell-page .shell-threshold{padding:8px 0;border:0;background:transparent;margin-top:12px}
.shell-page .shell-threshold .shell-door,.shell-page .shell-threshold strong{display:none}
.shell-page .shell-threshold small:last-child{display:none}
.shell-page .room-entry-choices{display:grid;gap:10px;width:100%}
.shell-page .room-entry-choices a{min-height:48px;display:flex;align-items:center;color:inherit}
.shell-page .room-entry-choices .campus-action{color:#152d2b;width:100%}
.store-shell-page .shell-top{position:sticky;top:0;z-index:20;background:#0d1c25f5}
.store-shell-page .shell-contents{background:#132830;border-color:#82999d88}
.store-shell-page .shell-contents>summary{color:#eeeadd}
.store-shell-page .qv2{color:#eeeadd;--qv2-ink:#eeeadd}
.store-shell-page .qv2-top{display:none}
.store-shell-page .qv2 h1{font-size:clamp(32px,4vw,48px)}
.store-shell-page .qv2-panel,.store-shell-page .qv2-design,.store-shell-page .qv2-saved,.store-shell-page .qv2-collections article,.store-shell-page .pw-design-tile,.store-shell-page .pw-inventory-saved,.store-shell-page .pw-inventory-draft{color:#192e41;--qv2-ink:#192e41}
.store-shell-page .shell-return-room{display:none}
.store-shell-page .qv2 :is(h1,h2,[id]),.store-shell-page #root{scroll-margin-top:var(--shell-header-offset,170px)}
.store-shell-page .card-send [aria-disabled=true],.store-shell-page .card-send button:disabled{opacity:.55;cursor:not-allowed}
.store-shell-page .store-workshop{border-top:1px solid #82999d66;padding:28px 0;color:#eeeadd}
.store-workshop .models{max-width:820px;margin:auto}
.store-workshop .model-stage{position:relative;height:clamp(240px,42vw,420px);overflow:hidden;border-radius:12px;background:#142731}
.store-workshop .model-stage>img{width:100%;height:100%;object-fit:contain}
.store-workshop .model-stage canvas{display:block}
.store-workshop .art-label{display:block;font-size:12px}
.store-workshop .load-overlay{position:absolute;inset:auto 16px 16px}
.store-workshop button{min-height:44px;background:#d4e5d3;color:#152d2b;border:1px solid #a8bfac;border-radius:6px;padding:10px 16px;font:600 15px system-ui}
.store-workshop input[type=range]{width:100%;min-height:44px}
.store-workshop .workshop-disclosure>summary{min-height:48px;padding:12px;cursor:pointer}
.store-workshop .workshop-scene{width:100%;height:auto}
.store-workshop .workshop-window{margin-top:24px}
.store-workshop .fine,.store-workshop .model-note{font-size:13px}
.store-workshop h2{font-size:32px}
.store-workshop h3{font-size:26px}
@media(max-width:600px){.store-shell-page .shell-top{gap:0;padding:6px 0}.store-shell-page .shell-top>a{font-size:21px}.store-shell-page .shell-top nav{gap:0 14px}.store-shell-page .shell-top nav a{min-height:44px;font-size:13px}.store-shell-page .qv2{padding:18px 14px}}
.store-shell-page #find-design{scroll-margin-top:140px}
.store-shell-page .qv2-panel :focus-visible,.store-shell-page .pw-design-tile:focus-visible{outline-color:#6d461d}
.store-shell-page #root [id],.store-shell-page #root,.store-shell-page #store-examples{scroll-margin-top:var(--shell-header-offset,170px)}
.store-shell-page :is(.pw-preview-tools,.pw-study-paper,.pw-workspace-facts,.pw-inventory-design,.pw-inventory-drafts,.pw-inventory-legacy-cover,.pw-comparison){color:#192e41;--qv2-ink:#192e41}
.store-shell-page .qv2 .pw-write-jump{background:#d4e5d3;color:#152d2b}
.store-shell-page .qv2 .pw-catalog-filters .pw-filter-reset{color:#eeeadd}

/* R191: readable, continuous touch target for the demo cabinet's return link. */
.store-shell-page .store-examples>div>p a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;color:#ead7b5;text-underline-offset:5px;text-decoration-thickness:1px;vertical-align:middle}
.store-shell-page .store-examples>div>p a:hover{color:#fff4df}
.store-shell-page .store-examples>div>p a:focus-visible{outline:3px solid #ffe1a1;outline-offset:4px}
@media(forced-colors:active){.store-shell-page .store-examples>div>p a{color:LinkText}}
