/* Adapted from the supplied Squad Hunting designer collection.
   All selectors are opt-in; live content, controls and routes remain unchanged. */
html[data-designer=true] {--theme-shadow:0 12px 32px #0002}
html[data-designer=true] .sidebar,html[data-designer=true] .topbar{background:var(--bg)}
html[data-designer=true] .hero{border:1px solid var(--line);border-radius:var(--radius);isolation:isolate}
html[data-designer=true] .hero:before{background:linear-gradient(90deg,color-mix(in srgb,var(--bg) 20%,transparent),color-mix(in srgb,var(--bg) 93%,transparent))}
html[data-designer=true] .hero h1 em{color:var(--gold)}
html[data-designer=true] .reserve-card{box-shadow:var(--theme-shadow);transition:transform .2s,border-color .2s}
html[data-designer=true] .reserve-card:hover{border-color:var(--gold);transform:translateY(-3px)}
html[data-designer=true] .stat{border-color:var(--line);background:var(--panel)}
html[data-designer=true] .button.primary{background:var(--gold);color:var(--bg);font-weight:700}
html[data-designer=true] :is(button,a,input,select):focus-visible{outline:2px solid var(--gold);outline-offset:4px}
html[data-designer=true] .hero:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1}
html[data-theme=designer-gold] .workspace,html[data-theme=designer-frost] .workspace{background-image:repeating-radial-gradient(ellipse at 0% 20%,transparent 0 60px,color-mix(in srgb,var(--gold) 5%,transparent) 61px 62px,transparent 63px 105px)}
html[data-theme=designer-gold] .hero h1 em,html[data-theme=designer-frost] .hero h1 em{background:linear-gradient(110deg,var(--gold),#fff8d4,var(--gold));background-clip:text;color:transparent}
html[data-theme=designer-light] .hero:before{background:linear-gradient(90deg,#f6f1e66b,#f6f1e6f7)}
html[data-theme=designer-light] .hero,html[data-theme=designer-light] .hero h1,html[data-theme=designer-light] .hero p,html[data-theme=designer-light] .hero-tag{color:var(--text)}
html[data-theme=designer-light] .hero-label{background:var(--panel);color:var(--gold)}
html[data-theme=designer-light] .button.primary{color:#fff}
/* Field notebook: the source's numbered rows, with real reserve cards. */
html[data-theme=designer-ember] .reserve-grid{grid-template-columns:repeat(2,minmax(0,1fr));counter-reset:reserve}
html[data-theme=designer-ember] .reserve-card{display:grid;grid-template-columns:110px minmax(0,1fr);counter-increment:reserve;border-inline-start:3px solid var(--gold)}
html[data-theme=designer-ember] .card-photo{height:100%;min-height:180px}
html[data-theme=designer-ember] .reserve-card .card-content{padding:22px 16px}
html[data-theme=designer-ember] .card-content:before{content:counter(reserve,decimal-leading-zero);font:24px monospace;color:var(--gold);opacity:.75}
html[data-theme=designer-ember] .card-foot{flex-wrap:wrap;gap:10px}
html[data-theme=designer-ember] .hero{border-radius:0;border-block:2px solid var(--gold)}
/* Wolf night: quiet fog instead of rapid flashing. */
html[data-theme=designer-horror] .hero{border-color:#9a303a}
html[data-theme=designer-horror] .hero:after{z-index:0;background:radial-gradient(ellipse at 20% 75%,#b9b4bd28,transparent 55%);animation:designer-fog 18s ease-in-out infinite alternate}
html[data-theme=designer-horror] .hero>div{position:relative;z-index:1}
html[data-theme=designer-horror] .reserve-card{border-top:3px solid #9a303a}
html[data-theme=designer-horror] .hero h1 em{text-shadow:0 0 24px #e0242f66}
/* Scope: circular photographs and a non-interactive reticle. */
html[data-theme=designer-scope] .reserve-grid:not(.list) .card-photo{width:min(75%,230px);aspect-ratio:1;height:auto;margin:26px auto 10px;border-radius:50%;border:2px solid var(--gold);box-shadow:0 0 0 6px var(--bg),0 0 0 7px var(--line)}
html[data-theme=designer-scope] .card-photo:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(transparent calc(50% - .5px),#d4a84b88 50%,transparent calc(50% + .5px)),linear-gradient(90deg,transparent calc(50% - .5px),#d4a84b88 50%,transparent calc(50% + .5px))}
html[data-theme=designer-scope] .reserve-grid:not(.list) .card-access{inset:auto 15% 12% auto;font-size:10px}
html[data-theme=designer-scope] .stat{border-radius:32px;border-color:var(--gold)}
/* Tracks: dotted trail with staggered cards on wide layouts. */
html[data-theme=designer-tracks] .reserve-grid{border-inline-start:2px dashed var(--gold);padding-inline-start:20px}
html[data-theme=designer-tracks] .reserve-card{border-bottom:3px solid var(--gold)}
html[data-theme=designer-tracks] .hero:after{background:radial-gradient(ellipse at 18% 30%,#b86a3525,transparent 55%)}
/* Tags: warm paper ticket edges and camouflage. */
html[data-theme=designer-tags] .workspace{background-image:radial-gradient(ellipse at 20% 25%,#55582f55 0 12%,transparent 13%),radial-gradient(ellipse at 90% 70%,#6b5a3533 0 15%,transparent 16%);background-size:340px 420px}
html[data-theme=designer-tags] .reserve-card{border:2px dashed #a18d5c;border-top:5px solid var(--gold)}
html[data-theme=designer-tags] .card-content{border-top:1px dashed var(--gold)}
html[data-theme=designer-tags] .card-country{color:var(--gold)}
/* Lodge: wood grain and framed scenery. */
html[data-theme=designer-lodge] .workspace{background-image:repeating-linear-gradient(0deg,transparent 0 72px,#10090055 73px 76px,transparent 77px 80px)}
html[data-theme=designer-lodge] .reserve-card{border:6px solid #68472e;box-shadow:inset 0 0 0 1px #b28e53,0 9px 24px #0005}
html[data-theme=designer-lodge] .hero{border:5px solid #68472e;box-shadow:0 0 45px #d9a84815}
html[data-theme=designer-lodge] .stat{border-color:#68472e}
/* Trailcam: night vision confined to landscapes, never species/fur photos. */
html[data-theme=designer-trailcam] .card-photo .scenery,html[data-theme=designer-trailcam] .hero-bg{filter:grayscale(1) sepia(.65) hue-rotate(55deg)}
html[data-theme=designer-trailcam] .card-photo:after,html[data-theme=designer-trailcam] .hero:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 3px,#0003 4px);pointer-events:none}
html[data-theme=designer-trailcam] .card-country{font-family:monospace;color:var(--gold)}
html[data-theme=designer-trailcam] .reserve-card{border-color:#427d3b}
html[data-theme=designer-trailcam] .hero-tag:before{content:"";display:inline-block;width:8px;height:8px;flex:none;border-radius:50%;background:#fa6357;box-shadow:0 0 9px #fa635766}
/* Theme picker previews communicate the different treatments. */
.theme-preview[data-design=designer-scope] b{border-radius:50%;width:48px;margin:auto;border:1px solid var(--preview-accent)}
.theme-preview[data-design=designer-tags]{border:2px dashed var(--preview-accent)}
.theme-preview[data-design=designer-lodge]{border:6px solid #68472e}
.theme-preview[data-design=designer-ember] b{height:20px;border-inline-start:4px solid var(--preview-accent);border-top:0}
.theme-preview[data-design=designer-tracks]{border-inline-start:3px dotted var(--preview-accent)}
.theme-preview[data-design=designer-trailcam]{background-image:repeating-linear-gradient(0deg,transparent 0 3px,#8eff8615 4px)}
.theme-preview[data-design=designer-horror]{box-shadow:inset 0 0 25px #e0242f33}
@keyframes designer-fog{from{transform:translateX(-4%);opacity:.45}to{transform:translateX(4%);opacity:1}}
@media(min-width:1000px){html[data-theme=designer-tracks] .reserve-grid:not(.list) .reserve-card:nth-child(even){translate:0 12px}}
@media(max-width:760px){html[data-theme=designer-ember] .reserve-grid{grid-template-columns:1fr}html[data-designer=true] .hero h1{font-size:clamp(28px,7vw,42px)}html[data-theme=designer-scope] .stat{border-radius:16px}html[data-theme=designer-tracks] .reserve-grid{padding-inline-start:10px}}
@media(max-width:420px){html[data-theme=designer-ember] .reserve-card{grid-template-columns:88px minmax(0,1fr)}html[data-theme=designer-ember] .card-content{padding:14px 10px}}
html[data-designer=true] body.reduce-motion .hero:after{animation:none}
@media(prefers-reduced-motion:reduce){html[data-designer=true] .hero:after{animation:none}html[data-designer=true] .reserve-card{transition:none}}
/* Explicit contrast over older hard-coded stat styles. */
html[data-designer=true] .stat strong,html[data-designer=true] .stat b{color:var(--gold)}
html[data-theme=designer-light] .stat{color:var(--text)}
html[data-theme=designer-light] .stat :is(span,small,p){color:var(--muted)}
html[data-theme=designer-light] .hero-label{padding:4px 8px;border-radius:4px}

/* Original supplied wolf image; framing only, no filters or recoloring. */
.brand .squad-wolf-mark{display:block;position:relative;flex:0 0 48px;width:48px;height:48px;overflow:hidden;border-radius:10px;background:#10120f}
.brand .squad-wolf-mark img{position:absolute;width:100px;height:100px;max-width:none;left:50%;top:50%;transform:translate(-50%,-50%);object-fit:contain;filter:none}
