/* Public website skin. Card artwork, print layouts and backend stay independent. */
html{background:var(--bg)}body{background:radial-gradient(ellipse at 100% 0,color-mix(in srgb,var(--accent2) 13%,transparent),transparent 38%),var(--bg);color:var(--ink)}
h1,h2,h3,.world-content h3,.look-copy strong{font-family:var(--serif);font-weight:var(--heading-weight)}h1,h2{letter-spacing:-.045em}h1 em,h2 em{color:var(--gold)}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.theme-switchbar{background:var(--surface2);border-bottom:1px solid var(--line)}.theme-switch-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:10px}.theme-switch-inner>span{font-size:10px;letter-spacing:1.5px;font-weight:bold;color:var(--accent2)}.theme-switch-inner label{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--ink)}.theme-switch-inner select{width:auto;min-width:210px;padding:8px 34px 8px 12px;font-size:12px}
.site-header{height:132px;border-bottom:2px solid var(--line)}.site-header nav{color:var(--muted)}.brand{display:block;flex-shrink:0}.brand-art{display:block;width:174px;height:112px;background-image:var(--brand-image);background-size:100% auto;background-position:center var(--logo-y);border-radius:var(--theme-radius);box-shadow:0 0 24px color-mix(in srgb,var(--accent2) 18%,transparent)}.footer .brand-art{width:150px;height:97px}
.announcement,.offer-badge{background:var(--gold);color:var(--button-ink)}.offer-banner{background:var(--light);color:var(--light-ink)}
.button{background:var(--gold);color:var(--button-ink);border-color:var(--gold);border-radius:var(--theme-radius);font-weight:800}.button:hover{background:var(--gold);filter:brightness(1.07)}.button.secondary{background:var(--surface);color:var(--ink);border-color:var(--line)}
:focus-visible{outline:3px solid var(--accent2);outline-offset:4px}input,select,textarea{accent-color:var(--gold)}
.site-header nav a:hover,.site-header nav .active,.eyebrow,.text-link:hover{color:var(--gold)}.sample-label,.layout-label,.field-hint,.optional,.checkbox,.upload-empty>small,.prose>div,.footer-bottom,.check-list,.forge-copy>p,.forge-copy .field-hint,.forge-progress span:last-child{color:var(--muted)}
.marquee,.footer{background:var(--surface)}.marquee>div{color:var(--ink)}.footer-bottom{border-color:var(--line)}
.world-tile,.world-choice,.look-choice,.companion-choice,.option-pill,.preview-option,.pickup-box,.order-summary,.world-tag,.pickup-ticket{background:var(--surface);border-color:var(--line);border-radius:var(--theme-radius)}
.world-image{background:radial-gradient(ellipse at 50% 45%,color-mix(in srgb,var(--accent2) 19%,var(--surface)),var(--surface))!important}.world-image:after{background:linear-gradient(transparent 65%,var(--surface))}.world-arrow{background:var(--surface);color:var(--ink);border-color:var(--line)}.look-image{background:radial-gradient(ellipse,color-mix(in srgb,var(--accent2) 22%,transparent),transparent 75%)}
.world-choice.selected,.look-choice.selected,.companion-choice.selected,.option-pill.selected,.preview-option.selected{background:var(--surface2);border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 24%,transparent)}.world-choice.selected:after,.chip.selected,.upload-empty .upload-callout{background:var(--gold);color:var(--button-ink)}
.world-content>span{color:var(--gold)}.world-tile:hover{border-color:var(--gold)}.wizard-steps li{color:var(--muted)}.wizard-steps li.current{color:var(--gold);border-color:var(--gold)}.wizard-steps li.done{color:var(--ink)}.wizard-top-actions{border-color:var(--line)}
label{color:var(--ink)}input:not([type=checkbox]):not([type=radio]):not([type=file]),textarea,select{background:var(--bg);color:var(--ink);border-color:var(--line);border-radius:var(--theme-radius)}input::placeholder,textarea::placeholder{color:var(--muted)}.chip{background:var(--surface);color:var(--ink);border-color:var(--line)}.checkbox a{color:var(--gold)}
.upload-zone{border-color:var(--accent2);background:radial-gradient(ellipse,color-mix(in srgb,var(--accent2) 9%,transparent),transparent)}.upload-zone.dragover{background:var(--surface2)}.upload-change{background:var(--surface);color:var(--ink)}
.how-section{background:var(--light);color:var(--light-ink)}.how-section .eyebrow,.how-section h2 em,.how-section .section-heading>p,.step-num,.step-symbol,.steps-grid p{color:var(--light-ink)}.steps-grid article{border-color:color-mix(in srgb,var(--light-ink) 30%,transparent)}
.gift-note{background:var(--gold);color:var(--button-ink)}.gift-art{background:radial-gradient(ellipse,color-mix(in srgb,var(--accent2) 20%,transparent),transparent 65%)}.closing{background:radial-gradient(ellipse at bottom,color-mix(in srgb,var(--accent2) 22%,transparent),transparent),var(--surface2);border-color:var(--line);border-radius:var(--theme-radius)}
.hero-stage:before{inset:0;background:repeating-conic-gradient(from 20deg at 50% 48%,transparent 0deg 16deg,color-mix(in srgb,var(--accent2) 24%,transparent) 18deg 23deg,transparent 26deg 38deg,color-mix(in srgb,var(--gold) 15%,transparent) 39deg 42deg);border-radius:50%;mask-image:radial-gradient(ellipse,#000 15%,transparent 70%)}.orbit{border-color:color-mix(in srgb,var(--accent2) 28%,transparent)}.card-center{box-shadow:0 35px 70px #0006,0 0 40px color-mix(in srgb,var(--accent2) 23%,transparent)}
html[data-pattern=comic] .hero-stage:before{background:radial-gradient(circle,var(--accent2) 1.5px,transparent 2px),conic-gradient(from 25deg,var(--gold),transparent,var(--accent2),transparent,var(--gold));background-size:13px 13px,100% 100%;opacity:.55}
html[data-pattern=geometrie] .hero-stage:before{background:repeating-linear-gradient(45deg,transparent 0 48px,var(--gold) 49px 50px,transparent 51px 99px);border-radius:0;opacity:.5}
html[data-pattern=stadion] .hero-stage:before{background:repeating-linear-gradient(90deg,transparent 0 75px,color-mix(in srgb,var(--accent2) 28%,transparent) 76px 150px),radial-gradient(ellipse,transparent 40%,var(--gold) 41%,transparent 42%)}
html[data-pattern=pastell] .hero-stage:before{background:radial-gradient(ellipse at 22% 25%,var(--gold),transparent 45%),radial-gradient(ellipse at 80% 65%,var(--accent2),transparent 50%);opacity:.35}
html[data-pattern=orbit] .hero-stage:before{background:repeating-radial-gradient(ellipse at 50% 50%,transparent 0 45px,var(--accent2) 46px 48px,transparent 49px 80px,var(--gold) 81px 83px);transform:rotate(-20deg);opacity:.55}
.message{background:var(--danger-bg);color:var(--danger-ink);border-color:var(--danger-ink)}#cart-error{color:var(--danger-ink);background:var(--danger-bg)}.pickup-box small,.order-status-badge{color:var(--ink)}.order-status-badge{background:var(--surface2);border-color:var(--accent2)}.order-timeline li{color:var(--muted);border-color:var(--line)}.order-link-box,.market-badge{border-color:var(--line)}.market-banner{background:var(--surface2);border-color:var(--gold)}
.checkout-back-choice{background:var(--surface);border-color:var(--line);color:var(--ink)}.checkout-back-choice:has(input:checked){border-color:var(--gold);background:var(--surface2);color:var(--ink)}.checkout-back-choice input{accent-color:var(--gold)}.cart-item{border-color:var(--line)}
.forge-lab{background:radial-gradient(ellipse at 20% 50%,color-mix(in srgb,var(--accent2) 12%,transparent),transparent 60%),var(--surface);border-color:var(--line)}.forge-portrait{border-color:var(--gold);background:linear-gradient(135deg,var(--surface2),var(--bg));box-shadow:0 0 35px color-mix(in srgb,var(--accent2) 25%,transparent)}.forge-grid{background:linear-gradient(90deg,color-mix(in srgb,var(--accent2) 12%,transparent) 1px,transparent 1px),linear-gradient(color-mix(in srgb,var(--accent2) 12%,transparent) 1px,transparent 1px);background-size:36px 36px}.forge-orbit{border-color:var(--line)}.forge-orbit:before,.forge-orbit:after{background:var(--gold);box-shadow:0 0 18px var(--accent2)}.forge-orbit:after{background:var(--accent2)}.forge-spark,.forge-progress{color:var(--gold)}.forge-tag{color:var(--muted)}.forge-track,.indeterminate{background:var(--surface2)}.forge-track i{background:linear-gradient(90deg,var(--accent2),var(--gold));box-shadow:0 0 12px var(--accent2)}.forge-scanline{background:linear-gradient(transparent,color-mix(in srgb,var(--accent2) 45%,transparent));border-color:var(--gold);box-shadow:0 8px 25px color-mix(in srgb,var(--accent2) 25%,transparent)}
.loading-card{background:var(--surface);border-color:var(--line)}.loading-card-shade,.loading-look-2 .loading-card-shade,.loading-look-3 .loading-card-shade,.loading-look-4 .loading-card-shade{background:linear-gradient(160deg,color-mix(in srgb,var(--accent2) 15%,transparent),transparent 40%,var(--bg) 96%)}.loading-card-symbol,.loading-card-number,.loading-card-label strong{color:var(--ink)}.loading-card-label small{color:var(--muted)}.loading-sweep{background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent2) 33%,transparent),transparent)}.magic-orb{border-color:var(--accent2);box-shadow:0 0 65px color-mix(in srgb,var(--accent2) 20%,transparent)}
@media(max-width:800px){.theme-switch-inner>span{display:none}.theme-switch-inner{justify-content:flex-end}.site-header{gap:12px}.brand-art{width:148px;height:96px}}
@media(max-width:540px){.theme-switch-inner label{width:100%;justify-content:space-between;font-size:11px}.theme-switch-inner select{min-width:0;width:65%;max-width:230px}.site-header{height:114px}.site-header .brand{flex-shrink:0}.brand-art{width:130px;height:84px}.hero h1{font-size:clamp(38px,11vw,60px)}.footer-top{flex-wrap:wrap}.footer .brand-art{width:130px;height:84px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.companion-choice.companion-solo{border-color:var(--accent2);border-style:dashed;outline:2px solid var(--accent2);outline-offset:-6px}
.companion-choice.companion-solo.selected{border-color:var(--gold);outline-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 24%,transparent)}
.companion-choice.companion-solo:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
/* One continuous card-inspired header, with the style picker inside navigation. */
.header-scene{position:relative;isolation:isolate;z-index:30;background:var(--bg);border-bottom:1px solid var(--accent2)}
.header-scene .site-header{height:auto;min-height:132px;border:0;gap:24px;padding-block:18px}
.header-scene .site-header nav{display:flex;align-items:center;gap:22px;color:var(--ink)}
.theme-picker{position:relative;font-family:var(--sans);font-size:12px;z-index:20}
.theme-picker summary{display:flex;align-items:center;gap:9px;cursor:pointer;list-style:none;padding:6px 10px 6px 6px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface) 90%,transparent);color:var(--ink)}
.theme-picker summary::-webkit-details-marker{display:none}.theme-picker summary>span:nth-child(2){font-weight:700}.theme-picker #theme-current-name{display:block;font-size:10px;color:var(--muted);font-weight:400;margin-top:3px}
.theme-current-logo{width:55px;height:40px;background:var(--brand-image) center var(--logo-y)/100% auto;border-radius:6px}
.theme-menu{position:absolute;top:calc(100% + 14px);right:0;width:360px;max-width:calc(100vw - 32px);padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 60px #0007;color:var(--ink)}
.theme-menu>p{font-size:13px;font-weight:700;margin:0 0 12px}.theme-logo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.theme-option{min-width:0;padding:8px;background:var(--bg);border:1px solid var(--line);border-radius:10px;color:var(--ink);cursor:pointer}
.theme-preview-logo{display:block;width:100%;height:80px;background-image:var(--option-logo);background-position:center var(--option-y);background-size:100% auto;border-radius:6px;margin-bottom:8px}
.theme-option>span:last-child{font-size:11px}.theme-option:hover,.theme-option[aria-pressed=true]{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}
.theme-default{display:block;width:100%;margin-top:14px;background:none;border:0;color:var(--gold);font-size:11px;padding:10px;cursor:pointer}
@media(max-width:1100px){.header-scene .site-header nav{gap:14px}.header-scene .site-header{gap:16px}.header-scene nav>a{font-size:11px}}
@media(max-width:850px){.header-scene .site-header{flex-wrap:wrap;min-height:0}.header-scene .brand{margin-right:auto}.header-scene .site-header nav{order:3;width:100%;justify-content:space-between;gap:12px}.header-wordmark>span{font-size:30px}.header-wordmark strong{font-size:42px}.theme-picker summary{padding:5px}.theme-current-logo{width:42px;height:32px}.theme-picker #theme-current-name{display:none}}
@media(max-width:440px){.header-scene .site-header nav{gap:8px;flex-wrap:wrap}.header-scene nav>a{font-size:10px}.theme-picker summary{font-size:10px}.theme-current-logo{width:34px;height:28px}.theme-menu{position:fixed;top:min(270px,25vh);right:16px;margin-top:12px;max-height:65vh;overflow:auto}.header-scene .site-header{padding-block:14px}}
html[data-pattern=orbit] .hero-stage:before{transform:none}
.option-pill[hidden]{display:none!important}
#event-personal-fields label{margin-block:16px}

/* Original card artwork, cropped in the browser without redrawing its lettering. */

/* Real card-matched raster background + independent transparent logo. */
.header-scene{background-image:var(--header-image);background-size:cover;background-position:center;background-repeat:no-repeat}
.header-scene:before,.header-scene:after{content:none}
.header-card-logo{display:block;width:240px;height:130px;object-fit:contain;object-position:center;mask-image:none;filter:none;background:none;border:0}
.header-scene .site-header nav{padding:12px 20px;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.theme-current-logo{background-image:var(--header-logo);background-position:center;background-size:contain;background-repeat:no-repeat}
@media(max-width:850px){.header-card-logo{width:190px;height:112px}.header-scene .site-header nav{padding:12px 16px}}
@media(max-width:440px){.header-card-logo{width:160px;height:98px}.header-scene .site-header nav{justify-content:space-around}}
