/* Static geometry reused from Doxfeed blocks/hexfield/block.css, recolored as ice.
   Phone layout is the base; wider layouts preserve the existing composition. */
:root{--sr-hex-lines:linear-gradient(120deg,transparent 47%,#a5e8ff38 47.6%,#a5e8ff38 48.4%,transparent 49%),linear-gradient(60deg,transparent 47%,#a5e8ff38 47.6%,#a5e8ff38 48.4%,transparent 49%),linear-gradient(0deg,transparent 47%,#d4f7ff22 47.6%,#d4f7ff22 48.4%,transparent 49%)}
.sr-cinematic-hero::before,.sr-ambient-art::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:var(--sr-hex-lines);background-size:52px 90px;opacity:.55}
.sr-cinematic-hero::before{z-index:-1}
.sr-ambient-art::before{z-index:1;opacity:.38}
.sr-ambient-arcade>.sr-ambient-art>img{object-position:70% 42%}
.sr-ambient-merch>.sr-ambient-art>img{object-position:65% 35%}
.sr-mobile-dock{display:none}
@media(max-width:760px){
 html{scroll-padding-top:92px}
 body{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
 .sr-cinematic-hero .sr-hero-inner{padding:14px 18px 24px;gap:8px;display:grid;grid-template-columns:minmax(0,1fr);min-height:0}
 .sr-cinematic-hero .sr-hero-art{grid-row:1;width:100%;max-width:480px;justify-self:center}
 .sr-cinematic-hero .sr-hero-image{height:clamp(190px,29svh,260px);width:100%;object-fit:contain;filter:drop-shadow(0 0 20px #2453ff44)}
 .sr-cinematic-hero .sr-hero-art figcaption{display:none}
 .sr-cinematic-hero .sr-hero-ring{inset:-8% 0}
 .sr-cinematic-hero .sr-hero-copy{grid-row:2;display:flex;flex-direction:column;align-items:stretch;padding:0;text-align:center}
 .sr-cinematic-hero .sr-hero-kicker{order:0;margin:0 0 10px;justify-content:center;line-height:1.45;font-size:9px;letter-spacing:.1em}
 .sr-cinematic-hero h1{order:1;font-size:clamp(58px,15vw,86px);line-height:.84;margin:0 0 18px}
 .sr-cinematic-hero h1>span{font-size:13px;letter-spacing:.18em;margin-bottom:10px}
 .sr-cinematic-hero .sr-hero-actions{order:2;display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}
 .sr-cinematic-hero .sr-hero-actions>.button{width:100%;min-height:50px;justify-content:center;padding:13px 10px;gap:14px;font-size:12px}
 .sr-cinematic-hero .sr-hero-meme{display:none}
 .sr-cinematic-hero .sr-hero-deck{order:3;margin:17px 0 0;font-size:14px;line-height:1.55}
 .sr-cinematic-hero .sr-hero-socials{order:4;margin-top:20px}
 .sr-cinematic-hero .sr-hero-socials>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .sr-cinematic-hero .sr-hero-socials a{min-height:44px;font-size:12px}
 .sr-hero-foot{padding-inline:18px;gap:16px}
 .sr-mobile-dock{position:fixed;z-index:70;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:7px 10px calc(7px + env(safe-area-inset-bottom,0px));background:linear-gradient(180deg,#0b215bf5,#030b23);border-top:1px solid #a3dcff99;box-shadow:0 -8px 28px #02061777}
 .sr-mobile-dock a{min-height:50px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;text-decoration:none;border:1px solid #b1e4ff29;border-radius:9px;color:#e9f8ff;background:#0c255d;font:800 10px/1.2 Arial,sans-serif;letter-spacing:.04em;-webkit-tap-highlight-color:#7fc8ff44;touch-action:manipulation}
 .sr-mobile-dock svg{width:22px;height:22px}
 .sr-mobile-dock a:focus-visible{outline:3px solid #fff;outline-offset:2px}
 body:has(dialog[open]) .sr-mobile-dock{display:none}
 #frost-buddy-toggle,.sr-wind-toggle{bottom:calc(84px + env(safe-area-inset-bottom,0px))!important}
 .sr-ms-controls :is(textarea,input,select){font-size:16px}
 .sr-ms-filter,.sr-ms-filters button{min-height:44px}
 .sr-wide-header .menu-toggle,.sr-header-shop{min-height:44px}
 .sr-ambient-art>img{height:100%;opacity:.27}
 .sr-ambient-art::after{background:linear-gradient(90deg,#030c24e8,#06143cad 55%,#071b3055)}
 .sr-ambient-kitchen>.sr-ambient-art::after,.sr-ambient-merch>.sr-ambient-art::after{background:linear-gradient(90deg,#f4f8ffed,#e8f0ffbb 65%,#e8f0ff66)}
 .sr-ambient-arcade>.sr-ambient-art>img{width:145%;right:-30%;object-position:65% top;opacity:.3}
 .sr-ambient-meme>.sr-ambient-art>img{width:145%;right:-25%;object-position:65% top;opacity:.24}
}
@media(min-width:761px){.sr-cinematic-hero::before,.sr-ambient-art::before{background-size:74px 128px}}
@media(prefers-reduced-motion:reduce){.sr-mobile-dock a{transition:none}}
@media print{.sr-mobile-dock{display:none}}

/* The instant game leads the arcade; existing action and chess cards follow. */
.sr-fm-arcade-card{grid-column:1/-1}
@media(min-width:761px){.sr-fm-arcade-card{display:grid;grid-template-columns:80px minmax(0,1fr) auto;align-items:center;min-height:170px}.sr-fm-arcade-card .sr-fm-primary{margin-top:0}}
#reporting-archive{scroll-margin-top:110px}

/* Transparent modular art: static layers only; native interaction targets are unchanged. */
#vault-entry .ve-cryo-halo{position:absolute;inset:-7%;display:block;width:114%;height:114%;max-width:none;padding:4%;box-sizing:border-box;object-fit:contain;pointer-events:none;user-select:none;opacity:.9}
#vault-entry .ve-seal.ve-has-cryo-halo .ve-seal-face{inset:19%}
.sr-fm-arcade-card{position:relative;isolation:isolate}
.sr-fm-arcade-card>.sr-fm-arcade-icon:has(.sr-fm-hero-cameo){width:112px;height:112px}
.sr-fm-arcade-card .sr-fm-hero-cameo{display:block;width:100%;height:100%;object-fit:contain;padding:5px;box-sizing:border-box;pointer-events:none}
.sr-fm-arcade-card::after{content:"";position:absolute;z-index:0;left:10px;right:10px;bottom:-26px;height:clamp(100px,11vw,170px);background:url("./design/glacier-ledge.webp") center bottom/contain no-repeat;opacity:.48;pointer-events:none}
.sr-fm-arcade-card>*{position:relative;z-index:1}
.sr-fm-dialog .sr-fm-overlay[data-state="won"]:has(.sr-fm-win-portrait){display:grid;grid-template-columns:clamp(68px,18vw,112px) minmax(0,1fr);grid-template-rows:repeat(4,auto);align-content:center;align-items:center;justify-content:initial;text-align:left;column-gap:12px;row-gap:5px;padding:14px}
.sr-fm-dialog .sr-fm-win-portrait{grid-column:1;grid-row:1/span 4;display:block;width:100%;height:auto;max-height:140px;object-fit:contain;padding:4px;pointer-events:none}
.sr-fm-dialog .sr-fm-overlay[data-state="won"]>.sr-fm-eyebrow,.sr-fm-dialog .sr-fm-overlay[data-state="won"]>h3,.sr-fm-dialog .sr-fm-overlay[data-state="won"]>p,.sr-fm-dialog .sr-fm-overlay[data-state="won"]>button{grid-column:2;margin:0}
.sr-fm-dialog .sr-fm-overlay[data-state="won"]>button{min-width:0;padding:12px 10px;margin-top:4px}
.sr-fm-dialog[data-phase="won"] .sr-fm-arena{min-height:210px}
@media(min-width:761px){.sr-fm-arcade-card:has(.sr-fm-hero-cameo){grid-template-columns:124px minmax(0,1fr) auto}}
@media(max-width:760px){.sr-mobile-dock{isolation:isolate}.sr-mobile-dock::before{content:"";position:absolute;z-index:0;left:0;right:0;bottom:calc(100% - 36px);height:min(160px,33.333vw);background:url("./design/glacier-ledge.webp") center/contain no-repeat;opacity:.88;pointer-events:none}.sr-mobile-dock>a{position:relative;z-index:1}.sr-fm-arcade-card:has(.sr-fm-hero-cameo){padding-top:18px}.sr-fm-arcade-card>.sr-fm-arcade-icon:has(.sr-fm-hero-cameo){width:104px;height:104px}}
