@font-face{font-family:'OUT Pixel';src:url('assets/fonts/arcade/pixelify-sans.ttf') format('truetype');font-weight:400 700;font-display:swap}
@font-face{font-family:'OUT Dot';src:url('assets/fonts/arcade/dotgothic16.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--arcade-lime:#ceff24;--arcade-violet:#8b5cff;--arcade-cyan:#70fff1;--arcade-display:'Barlow',Arial,'Hiragino Sans','Yu Gothic',sans-serif;--violet:#5632bd}
html[lang=ja]{--arcade-display:'Hiragino Sans','Yu Gothic',Arial,sans-serif}
::selection{background:var(--arcade-lime);color:#090a10}
:where(a,button,input,select,summary):focus-visible{outline:3px solid #6840d7!important;outline-offset:4px}
.hero h1,.collection h2,.buyer-value-intro h2,.letters h2{font-family:var(--arcade-display)!important;font-weight:600;letter-spacing:0}
.hero h1{line-height:1.12!important}.primary{background:var(--arcade-lime)!important;color:#090a10!important;border:1px solid #677d24!important;box-shadow:4px 4px 0 #a18cc6;font:600 20px/1.25 var(--arcade-display)!important;border-radius:0}
.primary:active{transform:translate(3px,3px);box-shadow:1px 1px 0 #a18cc6}.brand>span{font-family:var(--arcade-display);font-size:19px}
.buyer-filmmaker-message{border-left-color:#88a318}.buyer-filmmaker-message .buyer-filmmaker-from{color:#455910}
.buyer-value-items h3{font-family:var(--arcade-display);font-size:25px;font-weight:600}.buyer-value-items>div{border-color:#9ab735}
.categories button[aria-pressed=true],.editions button[aria-pressed=true]{background:#202329;color:var(--arcade-lime);border-color:#202329}
#support-out.engagement-support{--support-night:#101019;--support-forest:#191b28;--support-accent:#ceff24;--support-edge:#706080;--support-text:#f4f6ed;--support-muted:#d3cfdf;box-shadow:6px 6px 0 #a18cc6;background-image:radial-gradient(#ceff2417 1px,transparent 1px);background-size:12px 12px}
.engagement-support .support-heading h2,.engagement-support [role=tabpanel] h3,.engagement-support .support-next h3{font-family:var(--arcade-display)!important;letter-spacing:0;line-height:1.15}
.engagement-support .support-heading h2{font-size:clamp(34px,4vw,49px)}.engagement-support .support-route-tabs button{border-width:2px;font-family:var(--arcade-display);font-size:20px;box-shadow:3px 3px 0 #372948}
.engagement-support .store-paths strong{font-family:var(--arcade-display);font-size:25px;line-height:1.15}.engagement-support .store-paths button{border-width:2px;box-shadow:3px 3px 0 #372948}
.engagement-support :where(a,button,summary):focus-visible{outline-color:var(--arcade-cyan)!important}
#store-recoupment h2{font-family:var(--arcade-display)!important;font-weight:600!important;font-size:clamp(32px,3.5vw,44px)!important;line-height:1.15!important}
#store-universe{background:#101019!important;color:#f4f6ed;background-image:linear-gradient(#8b5cff10 1px,transparent 1px),linear-gradient(90deg,#8b5cff10 1px,transparent 1px)!important;background-size:24px 24px!important;padding:34px!important;border:2px solid #706080;box-shadow:6px 6px 0 #a18cc6}
#store-universe h2{font:600 clamp(32px,3.4vw,45px)/1.1 var(--arcade-display)!important;letter-spacing:0;color:#f4f6ed}
#store-universe .store-room-trail{background:#191b28;border:2px solid #706080;padding:22px 24px;box-shadow:4px 4px 0 #372948}
#store-universe .store-trail-heading strong{font:600 29px/1.2 var(--arcade-display);color:#f4f6ed}#store-universe [data-trail-count]{font:18px/1.3 var(--arcade-display);color:var(--arcade-lime)}
#store-universe .store-trail-meter{border:0;padding:8px;background:#090a10;gap:6px}#store-universe .store-trail-segment{height:20px;background:#383444}#store-universe .store-trail-segment.is-visited{background:var(--arcade-lime);box-shadow:inset 0 -4px 0 #8ca81a}
#store-universe [data-trail-hint]{color:#d3cfdf}#store-universe .store-trail-complete{color:var(--arcade-lime)}
#store-universe .universe-project{border:2px solid #544568;box-shadow:4px 4px 0 #06060d;transition:transform .14s steps(3),border-color .14s;border-radius:0}
#store-universe .universe-project:hover,#store-universe .universe-project:focus-visible{border-color:var(--arcade-lime);transform:translate(-3px,-3px);box-shadow:7px 7px 0 #4b3466;outline-color:var(--arcade-cyan)!important}
#store-universe .universe-project>strong{font:600 30px/1.1 var(--arcade-display);color:#f4f6ed;background:#191b28}
#store-universe .universe-project>span:not(.out-scene-window):not(.store-room-visited){background:#191b28;color:#d3cfdf}
#store-universe .universe-project .universe-open-label{color:var(--arcade-lime)!important}
#store-universe .universe-project .store-room-visited{position:absolute;width:auto;max-width:calc(100% - 24px);padding:5px 9px;background:#ceff24;color:#090a10;border:1px solid #718919;font:14px/1.4 var(--arcade-display);box-shadow:3px 3px 0 #4c3561}
#store-universe .universe-project.is-explored{border-color:#a3c52a}
#universe-dialog{border:2px solid #706080;box-shadow:6px 6px 0 #4b3466}#universe-dialog h2{font-family:var(--arcade-display);font-size:38px;line-height:1.1}
.letters .primary{box-shadow:4px 4px 0 #362343}.header{border-bottom:3px solid #c3e445}
html[lang=ja] .hero h1,html[lang=ja] .collection h2,html[lang=ja] .buyer-value-intro h2,html[lang=ja] .letters h2,html[lang=ja] #support-out h2,html[lang=ja] #support-out h3,html[lang=ja] #store-universe h2{font-weight:400;line-height:1.4!important;letter-spacing:0}
html[lang=ja] #store-universe .universe-project>strong{font-weight:400;font-size:27px;line-height:1.4}
@media(max-width:700px){#store-universe{padding:23px 19px!important}#store-universe .store-room-trail{padding:20px 18px}#store-universe .store-trail-heading strong{font-size:27px}#store-universe [data-trail-count]{font-size:17px}.engagement-support .support-route-tabs button{font-size:17px}.engagement-support .support-heading h2{font-size:36px}.primary{font-size:19px!important}.hero h1{font-size:clamp(40px,10.5vw,52px)!important}.buyer-value-items h3{font-size:26px}#store-universe .universe-project>strong{font-size:28px}}
html[data-motion=off] :is(.primary,.universe-project){animation:none!important;transition:none!important;transform:none!important}
@media(prefers-reduced-motion:reduce){:is(.primary,.universe-project){animation:none!important;transition:none!important;transform:none!important}}

/* Match the readable master site: clear type and lime cabinet accents. */
:root{--paper:#f7f8fd;--ink:#19172d;--quiet:#57556d;--arcade-paper:#f4f6ed;--arcade-black:#090a10;--arcade-panel:#191b28}
h1,h2,h3,h4,.title-button,.pamphlet-shortcut strong{font-family:var(--arcade-display)!important;letter-spacing:0!important;text-shadow:none!important}
h1,h2,h3,h4,.title-button{font-weight:600}
.hero h1{font-size:clamp(42px,5vw,64px);max-width:16ch}
.collection h2,.buyer-value-intro h2,.letters h2,#store-recoupment h2,#store-universe h2,.engagement-support h2{line-height:1.22!important;letter-spacing:0!important}
.product-card h3{font-size:18px;line-height:1.4;min-height:0}
.detail-copy h2,#universe-dialog h2{line-height:1.25!important}
html[lang=ja] :is(h1,h2,h3,h4,.title-button){line-height:1.4!important}
.header{background:#090a10;color:#f4f6ed;border-bottom:3px solid #ceff24;backdrop-filter:none}
.header .brand img{filter:brightness(0) invert(1)}
.header .brand span,.header .language{border-color:#4e445f}
.header nav a:hover,.header .language button[aria-pressed=true]{color:#ceff24;background:transparent}
.header .language button{color:#f4f6ed}
.header .language button[aria-pressed=true]{text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:3px}
.header #store-motion{border-color:#706080;background:#191b28;color:#f4f6ed}
.header :where(a,button):focus-visible{outline-color:#70fff1!important}
/* Product artwork floats on the page; frames belong to the artwork alone. */
.hero-shelf,.product-art,.artwork-review,.detail-art{background:transparent!important;border:0!important;box-shadow:none!important}
.hero-shelf{border-radius:0}
.product-art .view-icon{background:transparent;border:0;box-shadow:none;color:#5632bd;font-size:24px}
.details-button{border:0;text-decoration:none;font-size:14px;color:#5632bd}
.mockup-stage .object-shadow{display:none}
.product-art[data-product="out-08"],#detail-art[data-product="out-08"],#detail-art[data-product="out-08"] .mockup-stage{background:transparent!important;border:0!important;box-shadow:none!important}
.mockup-sheets .object-front{background:transparent!important;border:0!important;box-shadow:none!important}
.arcade-hp .hp-heading>strong,.arcade-hp .hp-stats strong,.arcade-hp .hp-status-mark{font-family:var(--arcade-display)!important;line-height:1.4!important;letter-spacing:0!important}
.arcade-hp .hp-counter-value,.arcade-hp .hp-currency{font-family:'Courier New',monospace!important;text-shadow:none!important;font-weight:700!important}
@media(max-width:700px){.hero h1{font-size:clamp(40px,10.5vw,52px)!important}.product-card h3{font-size:16px}.details-button{font-size:13px}.collection h2,.buyer-value-intro h2,.letters h2{font-size:32px}}

.dialog-top{background:#191b28;color:#f4f6ed;border-bottom:2px solid #706080}
.dialog-top>span{color:#d3cfdf}.dialog-top button,.dialog-top #rotate-view{color:#f4f6ed;border-color:#706080}
.dialog-top button:focus-visible{outline-color:#70fff1!important}
.detail-links a{background:#ceff24;color:#090a10;border:1px solid #677d24;box-shadow:3px 3px 0 #a18cc6}
.detail-links a+a{background:transparent;color:#5632bd;border-color:#706080}
#source-proof{background:transparent;border:0}

/* Keep currency and recovery labels balanced within the available panel. */
:root :is(#recoupment,#store-recoupment) .arcade-hp .hp-counter-value{font-size:clamp(38px,4.5vw,64px);align-items:center;gap:10px}
:root :is(#recoupment,#store-recoupment) .arcade-hp .hp-currency{align-self:center;line-height:1.2}
:root :is(#recoupment,#store-recoupment) .arcade-hp .hp-stats strong{font-size:clamp(18px,1.65vw,22px);line-height:1.35!important;overflow-wrap:normal;word-break:normal;hyphens:none;text-wrap:balance}
@media(max-width:600px){:root :is(#recoupment,#store-recoupment) .arcade-hp .hp-counter-value{font-size:clamp(30px,8.5vw,48px);gap:7px}:root :is(#recoupment,#store-recoupment) .arcade-hp .hp-stats{grid-template-columns:1fr;gap:14px}:root :is(#recoupment,#store-recoupment) .arcade-hp .hp-stats strong{font-size:20px}}

/* Fit the garment, rather than its wide transparent source canvas. */
.source-cutout-stage{padding-bottom:30px;box-sizing:border-box}
.source-cutout-stage .mockup-object{width:min(88%,330px)!important;max-width:none!important;height:auto!important;aspect-ratio:287/271!important}
.source-cutout-stage .object-front{position:relative;width:100%;height:auto;aspect-ratio:287/271;overflow:hidden}
.source-cutout-stage .object-front img,.source-cutout-stage .object-rear img{position:absolute;left:-55.749129%;top:-5.166052%;width:211.498258%!important;height:121.771218%!important;max-width:none!important;max-height:none!important;object-fit:contain}
/* A readable recovery card with every status and amount inside its bounds. */
#store-recoupment.engagement-recovery{max-width:920px}
#store-recoupment.engagement-recovery h2{font-size:clamp(28px,3vw,40px)!important;max-width:32ch}
:root #store-recoupment .recovery-hud.arcade-hp,:root #store-recoupment .arcade-hp .hp-counter,:root #store-recoupment .arcade-hp .hp-track,:root #store-recoupment .arcade-hp .hp-stats{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
:root #store-recoupment .arcade-hp .hp-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
:root #store-recoupment .arcade-hp .hp-track-label{width:fit-content;max-width:calc(100% - 20px);margin:6px auto;padding:4px 8px;white-space:normal;overflow-wrap:break-word;word-break:normal;line-height:1.5;text-align:center}
:root #store-recoupment .arcade-hp .hp-heading{min-width:0;gap:10px}
:root #store-recoupment .arcade-hp .hp-heading>strong{min-width:0}
:root #store-recoupment .arcade-hp .hp-state{white-space:normal;overflow-wrap:break-word;text-align:center}
@media(max-width:600px){:root #store-recoupment .arcade-hp .hp-stats{grid-template-columns:minmax(0,1fr)}:root #store-recoupment .arcade-hp .hp-track-label{font-size:10px}.source-cutout-stage .mockup-object{width:90%!important}}

/* A provisional margin credit is visibly distinct from confirmed recovery. */
:root :is(#recoupment,#store-recoupment) .arcade-hp[data-recovery-state=estimated] .hp-state{color:#f4f6ed;background:#30223c;border-color:#b59acc}

/* Decimal reels also fit the narrower tablet column. */
:root :is(#recoupment,#store-recoupment) .arcade-hp .hp-counter{container-type:inline-size}
:root :is(#recoupment,#store-recoupment) .arcade-hp .hp-counter-value{font-size:min(clamp(38px,4.5vw,64px),14cqw)}
@media(max-width:600px){:root :is(#recoupment,#store-recoupment) .arcade-hp .hp-counter-value{font-size:min(clamp(30px,8.5vw,48px),14cqw)}}
