/* Final public layer: clear surfaces, stable layout and small theme signatures. */
.campus-storefront{--finish-border:color-mix(in srgb,var(--deep) 15%,var(--paper));--finish-shadow:0 12px 28px -20px color-mix(in srgb,var(--deep) 55%,transparent)}
.campus-storefront :is(a,button,input,summary):focus-visible{outline:3px solid var(--deep);outline-offset:4px}
.interactive-ready .header{gap:20px}
.interactive-ready .header .brand{gap:12px}
.interactive-ready .header .brand>img{object-fit:contain;filter:drop-shadow(0 3px 5px #173c3415)}
.interactive-ready .header-tools{gap:10px}
.interactive-ready .header-tools>.icon-button{border:1px solid var(--finish-border);background:color-mix(in srgb,var(--paper) 80%,transparent);width:40px;height:40px;border-radius:50%}
.interactive-ready .store-account-link{border-left:1px solid var(--finish-border);padding-left:17px;white-space:nowrap;font-weight:650}
.interactive-ready .campaign-window{border:1px solid var(--finish-border);box-shadow:0 18px 35px -26px var(--deep),inset 0 1px 0 #ffffff60}
/* Photos already fill the frame; a second blurred full-size photo wastes paint. */
.interactive-ready .campus-storefront .campaign-media::before{display:none}
.interactive-ready .campaign-media::after{background:linear-gradient(90deg,#082d35d9 0%,#082d3580 49%,#082d3514 100%)!important}
.interactive-ready .campaign-glass{gap:clamp(14px,2.5vh,25px)}
.interactive-ready .campaign-glass :is(h1,h2){text-wrap:balance;text-shadow:0 2px 12px #001d2530}
.interactive-ready .campaign-glass .campaign-tag{letter-spacing:.025em;background:#ffffff16;border:1px solid #ffffff38;backdrop-filter:none}
.interactive-ready .campaign-copy .button{min-height:44px;display:inline-flex;align-items:center;gap:12px;font-weight:750;box-shadow:inset 0 1px 0 #ffffffa0,0 6px 15px #001c2920}
.interactive-ready .campaign-controls{padding:8px 4px;gap:12px;min-height:46px}
.interactive-ready :is(.slide-navigation,.ambassador-controls){color:var(--ink);font-variant-numeric:tabular-nums}
.interactive-ready :is(.slide-navigation,.ambassador-controls)>button{border:1px solid var(--finish-border);background:var(--paper);color:var(--ink);min-height:32px;box-shadow:var(--finish-shadow)}
.interactive-ready .campus-ambassadors .ambassador-stage{overflow:clip;overflow-clip-margin:12px}
.interactive-ready .ambassador-controls{position:relative;z-index:8;isolation:isolate;background:color-mix(in srgb,var(--paper) 85%,transparent);border:1px solid var(--finish-border);border-radius:18px;padding:4px 8px;height:38px;min-height:38px}
.interactive-ready .ambassador-controls>button{margin-left:auto;font-size:10px;white-space:nowrap;min-height:28px}
.interactive-ready .ambassador-controls [data-ambassador-count]{font-size:9px;white-space:nowrap}
.interactive-ready .campus-ambassadors .ambassador-caption.ambassador-poster{backdrop-filter:none;box-shadow:0 12px 20px -15px var(--deep),inset 0 1px 0 #ffffff3b}
.interactive-ready .explorer-menu-carousel{position:relative;z-index:2}
.interactive-ready .explorer-menu-carousel .explorer-launcher{padding-top:14px;padding-bottom:14px;scroll-padding-inline:2px}
.interactive-ready .explorer-tile{background:linear-gradient(145deg,var(--paper),color-mix(in srgb,var(--paper) 92%,var(--accent)));border-color:var(--finish-border);box-shadow:0 5px 0 -3px color-mix(in srgb,var(--deep) 16%,transparent),var(--finish-shadow);overflow:hidden}
.interactive-ready .explorer-tile::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 20%,#ffffff70 50%,transparent 80%);transform:translateX(-130%);transition:transform .65s ease}
.interactive-ready .explorer-tile strong{font-weight:750;line-height:1.4}
.interactive-ready .explorer-tile small{line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.interactive-ready .explorer-tile .tile-arrow{opacity:.6}
.interactive-ready .explorer-icon{background:linear-gradient(140deg,var(--paper),var(--accent))!important;box-shadow:inset 0 1px 2px #ffffffd0,0 5px 10px -5px color-mix(in srgb,var(--deep) 45%,transparent)}
.interactive-ready .explorer-status{align-items:center;border-top:1px solid var(--finish-border);gap:10px}
.finish-motion-toggle{display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:var(--ink);font:inherit;font-size:10px;padding:5px 0;cursor:pointer;white-space:nowrap}
.finish-motion-toggle::before{content:'Ⅱ';font-size:11px;font-weight:800}
.finish-motion-toggle[aria-pressed=true]::before{content:'▷'}
.explorer-dialog{box-shadow:0 32px 90px #082d353b}
.explorer-dialog::backdrop{backdrop-filter:blur(4px);background:#082d356e}
.explorer-top{background:var(--paper)}
.explorer-top>button{min-height:42px;font-weight:650}
.explorer-heading{border-bottom:1px solid var(--line);padding-bottom:22px;background:linear-gradient(115deg,var(--paper),var(--soft))}
.explorer-subtile{box-shadow:var(--finish-shadow);overflow:hidden}
.explorer-subtile strong{text-wrap:balance}
.explorer-subtree{border-left:2px solid color-mix(in srgb,var(--deep) 16%,transparent)}
.explorer-stage{scrollbar-gutter:stable}
/* One lightweight motif per theme replaces the generic floating ornaments. */
.campus-storefront :is(.living-orb,.living-ribbon,.atmosphere-particles){display:none}
.campus-storefront .atmosphere-orbits{opacity:.07;animation:none}
.campus-storefront .atmosphere-grid{opacity:.25;animation:none!important}
.campus-storefront .atmosphere-wash{animation:none!important;opacity:.65}
@media(hover:hover){.interactive-ready .explorer-tile:hover::after{transform:translateX(130%)}.interactive-ready .explorer-tile:hover{border-color:color-mix(in srgb,var(--deep) 32%,var(--paper));transform:translateY(-4px)}}
@media(max-width:1100px){.interactive-ready .header-tools{gap:6px}.interactive-ready .explorer-tile small{display:none}.interactive-ready .ambassador-controls{height:32px;min-height:32px}.interactive-ready .ambassador-controls>button{min-height:24px}.campus-signature{width:70vw;top:40%}.interactive-ready .explorer-status{font-size:8px}.interactive-ready .explorer-status>span:last-child{display:block}.explorer-top{padding:12px 16px}}
@media(max-width:600px){.interactive-ready .header{gap:6px}.interactive-ready .header .brand{gap:7px}.interactive-ready .header-tools{gap:4px}.interactive-ready .header-tools>.icon-button{width:32px;height:32px}.interactive-ready .campaign-controls{padding:4px 2px;min-height:36px}.interactive-ready .campaign-copy .button{min-height:40px}.interactive-ready .ambassador-controls{padding:2px 5px;gap:4px}.interactive-ready .ambassador-controls>button{font-size:8px;padding:4px 6px}.interactive-ready .ambassador-controls [data-ambassador-count]{font-size:8px}.finish-motion-toggle{font-size:9px;padding:2px}.interactive-ready .explorer-menu-carousel .explorer-launcher{padding-top:8px;padding-bottom:10px}.explorer-heading{padding-bottom:15px}.explorer-submenu{grid-template-columns:1fr}.explorer-subtile{min-height:130px}.explorer-subtile.is-compact{min-height:0}}
/* Short mobile windows can scroll instead of crushing the image and menu rows. */
@media(max-width:1100px) and (max-height:650px) and (orientation:portrait){html.interactive-ready,html.interactive-ready body{height:auto;overflow-y:auto}.interactive-ready .campus-storefront{min-height:720px;height:auto;grid-template-rows:64px minmax(510px,1fr) 100px 26px}.interactive-ready .campus-storefront.has-news-ticker{grid-template-rows:64px 36px minmax(510px,1fr) 100px 26px}}
.finish-suspended .campus-storefront *,.finish-suspended .campus-storefront *::before,.finish-suspended .campus-storefront *::after{animation-play-state:paused!important}
.no-campus-depth :is(.explorer-tile,.campaign-window,.ambassador-poster){box-shadow:none!important}
.no-campus-shine .explorer-tile::after,.no-campus-background .campus-signature{display:none}
html:is(.motion-paused,.admin-motion-off) .campus-signature>g{animation:none}
@media(prefers-reduced-motion:reduce){.campus-signature>g{animation:none!important}.interactive-ready .explorer-tile::after{display:none}.campus-storefront *{scroll-behavior:auto!important}.campus-storefront :is(.explorer-tile,.explorer-icon,.button){transition:none!important}}
