@font-face{font-family:Anton;src:url(assets/anton-latin.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{--paper:#fff8ec;--ink:#181713;--muted:#6b665e;--orange:#ff7900;--line:#d8d1c5;--panel:#f2eadc;--pink:#ffd6dd;--lavender:#ddd7f5;color-scheme:light;--display:Anton,Impact,'Arial Narrow','Franklin Gothic Condensed',sans-serif;--body:Arial,Helvetica,sans-serif}
html[data-theme=dark]{--paper:#181713;--ink:#fff7e8;--muted:#c5bbad;--line:#443e35;--panel:#25221e;--pink:#70504f;--lavender:#56506d;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input,summary{touch-action:manipulation}button{color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}img{display:block;max-width:100%;object-fit:contain}button{border:0}::selection{background:var(--orange);color:#181713}.section-wrap{max-width:1440px;margin:0 auto;padding-left:5.5%;padding-right:5.5%}.skip{position:fixed;z-index:100;left:16px;top:-100px;background:var(--ink);color:var(--paper);padding:15px}.skip:focus{top:12px}.site-header{height:100px;max-width:1600px;margin:auto;padding:0 4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:28px}.wordmark{font-family:var(--display);font-size:36px;display:inline-flex;align-items:center;gap:9px;letter-spacing:-1px;flex-shrink:0}.brand-symbol{display:grid;place-items:center;background:var(--orange);color:#181713;border:2px solid currentColor;width:43px;height:43px;transform:rotate(-8deg);font-size:33px;line-height:1;border-radius:50%}.wordmark-dot{font:10px var(--body);align-self:flex-start;margin-top:8px;letter-spacing:0}.site-header nav{display:flex;gap:32px;font-size:13px;font-weight:700}.site-header nav a{position:relative;padding:8px 0}.site-header nav a:after{content:'';height:2px;position:absolute;bottom:0;left:0;right:100%;background:var(--orange);transition:right .2s}.site-header nav a:hover:after{right:0}.header-actions{display:flex;align-items:center;gap:25px}.theme-toggle{background:transparent;display:flex;align-items:center;gap:7px;font-size:11px;font-weight:700}.theme-toggle svg{width:27px;height:25px}.header-cta{background:var(--ink);color:var(--paper);padding:15px 19px;font-size:12px;font-weight:700;border:1px solid var(--ink)}.header-cta span{margin-left:14px}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:5%;padding-top:68px;padding-bottom:56px;align-items:center}.eyebrow,.section-kicker{font-size:10px;font-weight:800;letter-spacing:1.5px}.eyebrow{display:flex;align-items:center;gap:9px;margin-bottom:27px}.status-dot{height:7px;width:7px;display:block;background:var(--orange);border-radius:50%}.small-star{font-size:20px;margin-left:7px}h1,h2,h3,p{margin:0}h1{font:clamp(74px,8.3vw,126px)/.88 var(--display);letter-spacing:-2px}h1 .orange-type{display:inline-block;transform:skew(-4deg)}.orange-type{color:var(--orange)}.title-period{color:var(--orange)}.hero-intro{font-size:26px;font-weight:750;line-height:1.15;margin-top:27px;letter-spacing:-.6px}.hero-intro em{font-style:normal;text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:4px;text-underline-offset:4px}.hero-detail{font-size:13px;line-height:1.6;margin-top:17px;color:var(--muted)}.hero-buttons{display:flex;align-items:center;gap:24px;margin-top:25px}.button{padding:18px 23px;display:inline-flex;justify-content:space-between;align-items:center;gap:30px;font-weight:800;font-size:13px;border:2px solid var(--ink);transition:transform .2s,box-shadow .2s}.button.primary{background:var(--orange);color:#181713;box-shadow:4px 4px 0 var(--ink)}.button:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink)}.button:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}.button:disabled{opacity:.7;cursor:wait}.text-button{font-size:12px;font-weight:750;border-bottom:1px solid var(--ink);padding:8px 0}.text-button span{margin-left:7px}.hero-footnote{font-size:9px;color:var(--muted);display:flex;align-items:center;gap:7px;margin-top:24px}.mini-bra{font-size:20px;color:var(--ink);letter-spacing:-5px;line-height:1;margin-right:5px}.hero-art{position:relative;min-width:0;padding:12px 0 0}.mascot-frame{border:2px solid #181713;background:var(--orange);transform:rotate(3deg);position:relative;box-shadow:9px 9px 0 var(--ink);overflow:hidden}.mascot-frame>img{width:100%;height:auto;aspect-ratio:1/1.1;object-fit:cover;object-position:50% 25%;position:relative}.photo-label{background:#181713;color:#fff8ec;display:flex;justify-content:space-between;padding:14px 15px;font-size:8px;font-weight:750;letter-spacing:.7px}.hero-sticker{position:absolute;top:-9px;right:-21px;transform:rotate(14deg);width:139px;height:139px;background:var(--paper);border:2px solid var(--ink);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;box-shadow:4px 5px 0 var(--ink);z-index:2}.hero-sticker span:first-child{font:34px/1 var(--display)}.hero-sticker span:nth-child(2){font-size:9px;letter-spacing:1px;font-weight:800;margin:6px 0 3px}.hero-sticker svg{width:63px;height:35px;color:var(--ink)}.orbit-spark{position:absolute;z-index:2;color:var(--ink);animation:spark-turn 14s linear infinite}.spark-one{left:-39px;top:58px;font-size:80px}.spark-two{left:-27px;bottom:59px;font-size:56px;color:var(--orange);text-shadow:2px 2px var(--ink)}.art-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:8px;font-weight:800;letter-spacing:.7px;margin-top:35px}.art-caption button{font-size:9px;background:transparent;border-bottom:1px solid var(--ink);padding:5px 0}.art-caption button span:last-child{margin-left:5px}.image-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;font-size:12px;color:#181713}.loading-bra{font-size:65px;letter-spacing:-18px;animation:support-load .6s alternate infinite}.ticker{overflow:hidden;border-top:2px solid #181713;border-bottom:2px solid #181713;background:var(--orange);color:#181713;padding:18px 0}.ticker-track{display:flex;align-items:center;gap:38px;width:max-content;animation:marquee 35s linear infinite;font:34px/.9 var(--display);letter-spacing:.5px}.ticker-track i{font-size:35px;font-style:normal;letter-spacing:-3px}.club{display:grid;grid-template-columns:1fr 4fr;gap:38px;padding-top:100px;padding-bottom:100px}.club .section-kicker{padding-top:8px}.club h2{font:clamp(40px,4.5vw,67px)/1.02 var(--display);letter-spacing:-.8px}.club-body{display:grid;grid-template-columns:1fr 1.1fr;gap:55px;margin-top:35px}.big-copy{font-size:22px;font-weight:700;line-height:1.3;letter-spacing:-.5px}.club-body>div{font-size:13px;line-height:1.65;color:var(--muted)}.club-body>div p+p{margin-top:13px}.club-body strong{color:var(--ink)}.club-stamp{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:17px;margin-top:35px;font-size:9px;letter-spacing:1px;font-weight:800}.club-stamp span:last-child{font-size:27px;font-weight:400;line-height:.5}.support-section{background:var(--ink);color:var(--paper);padding:75px 0 45px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin:27px 0 40px;gap:35px}.section-heading h2,.studio h2,.docs-section h2{font:clamp(42px,4.8vw,68px)/.99 var(--display);letter-spacing:-.6px}.outline-type{-webkit-text-stroke:1px var(--paper);color:transparent}.section-heading>p{font-size:12px;line-height:1.6;max-width:270px;padding-bottom:4px}.support-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.support-item{min-width:0}.support-art{position:relative;aspect-ratio:1/1.17;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#181713;border-radius:2px}.support-art img{width:112%;max-width:none;transform:rotate(-8deg);animation:bra-float 5s ease-in-out infinite;transition:scale .25s}.support-item:hover .support-art img{scale:1.08}.support-item:nth-child(2) img{animation-delay:-1.3s}.support-item:nth-child(3) img{animation-delay:-2.6s}.support-item:nth-child(4) img{animation-delay:-3.9s}.orange-tile{background:#ff8b20}.pink-tile{background:#ffd6dd}.cream-tile{background:#fff1cf}.lavender-tile{background:#d7d0f6}.item-number{position:absolute;top:17px;left:17px;font-size:10px;font-weight:700;z-index:1}.tile-tag{position:absolute;bottom:17px;left:17px;right:17px;font-size:9px;letter-spacing:1px;font-weight:800;border-top:1px solid #181713;padding-top:10px}.support-item-info{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:20px 0 0}.support-item-info h3{font-size:15px;font-weight:750;letter-spacing:-.3px}.support-item-info p{font-size:10px;line-height:1.4;margin-top:7px;opacity:.65}.download-sticker{border:1px solid currentColor;width:30px;height:30px;display:grid;place-items:center;font-size:20px;flex-shrink:0;border-radius:50%;transition:background .2s,color .2s}.download-sticker:hover{background:var(--paper);color:var(--ink)}.gallery-foot{border-top:1px solid currentColor;margin-top:43px;padding-top:20px;display:flex;justify-content:space-between;font-size:9px;gap:25px}.gallery-foot>span{opacity:.6}.gallery-foot a{font-weight:700;letter-spacing:.4px}.gallery-foot a span{margin-left:12px}.studio{padding-top:100px;padding-bottom:100px;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.studio h2{margin-top:25px}.studio-copy>p{font-size:13px;line-height:1.65;color:var(--muted);margin-top:25px}.studio form{margin-top:30px}.studio label[for=caption]{font-size:9px;font-weight:800;letter-spacing:1px;display:flex;justify-content:space-between}.studio label[for=caption] span{font-weight:400;color:var(--muted);letter-spacing:0}.studio input[type=text],#caption{display:block;margin-top:12px;border:1px solid var(--line);border-bottom:2px solid var(--ink);background:transparent;color:var(--ink);width:100%;border-radius:0;padding:14px 12px;font-size:16px;font-weight:700}.caption-presets{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.caption-presets button{border:1px solid var(--line);background:var(--paper);font-size:10px;padding:7px 9px;border-radius:2px}.caption-presets button:hover{border-color:var(--ink)}fieldset{border:0;padding:0;margin:24px 0}legend{font-size:9px;font-weight:800;letter-spacing:1px;margin-bottom:12px}.swatches{display:flex;gap:10px;flex-wrap:wrap}.swatch{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:10px}.swatch input{appearance:none;width:20px;height:20px;border:1px solid var(--ink);border-radius:50%;margin:0;cursor:pointer;background:#ff7900}.swatch input:checked{outline:2px solid var(--ink);outline-offset:2px}.swatch-cream input{background:#fff8ec}.swatch-black input{background:#181713;border-color:var(--muted)}.studio .button{width:100%;margin-top:0}.form-status{font-size:10px;color:var(--muted);margin-top:15px;min-height:14px;line-height:1.5}.poster-area{transform:rotate(2deg);position:relative}.meme-poster{--poster-bg:#ff7900;--poster-fg:#181713;background:var(--poster-bg);color:var(--poster-fg);padding:23px;border:2px solid #181713;aspect-ratio:1;box-shadow:9px 9px 0 var(--ink);display:flex;flex-direction:column}.meme-poster[data-color=cream]{--poster-bg:#fff8ec}.meme-poster[data-color=black]{--poster-bg:#181713;--poster-fg:#ff7900}.poster-topline{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid currentColor;padding-bottom:12px;gap:10px}.poster-topline>span:first-child{font:26px/1 var(--display)}.poster-topline>span:last-child{font-size:7px;font-weight:800;letter-spacing:.6px}.poster-image{position:relative;flex:1;min-height:0;overflow:hidden;margin-top:16px;border:1px solid #181713}.poster-image img{width:100%;height:100%;object-fit:cover;object-position:center 36%;position:absolute}.poster-bottom{padding-top:16px;display:flex;flex-direction:column;gap:11px;min-height:85px}.poster-bottom>span:first-child{font:clamp(27px,3.4vw,48px)/.95 var(--display);word-break:break-word;text-wrap:balance}.poster-signoff{font-size:7px;font-weight:800;letter-spacing:.6px}.poster-note{text-align:right;font-size:10px;font-weight:600;margin-top:25px}.poster-note span{font-size:24px;vertical-align:middle;margin-right:10px}.docs-section{border-top:1px solid var(--line);padding-top:75px;padding-bottom:75px;display:grid;grid-template-columns:1fr 1.2fr;gap:9%}.docs-section .section-kicker{font-size:8px;line-height:1.5}.docs-section h2{margin-top:24px;font-size:clamp(43px,4.5vw,64px)}.docs-section>div>p{margin-top:17px;font-size:13px;line-height:1.5;color:var(--muted)}.docs-bra{width:170px;margin-top:15px;transform:rotate(-14deg);opacity:.8}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}summary{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:21px 0;font-size:13px;font-weight:750;cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}summary>span{font-size:23px;font-weight:400;line-height:1;transition:transform .2s}details[open] summary>span{transform:rotate(45deg)}details>p{font-size:12px;line-height:1.7;color:var(--muted);padding:0 24px 22px 0}.closing{background:var(--orange);color:#181713;padding:44px 0 54px;border-top:2px solid #181713;border-bottom:2px solid #181713}.closing p{font-size:9px;font-weight:800;letter-spacing:1.6px;margin-bottom:23px}.closing a{display:block;font:clamp(65px,10vw,140px)/.9 var(--display);letter-spacing:-2px;position:relative}.closing a>span{-webkit-text-stroke:1.5px #181713;color:transparent}.closing svg{position:absolute;right:2%;top:20%;width:clamp(60px,9vw,130px);height:clamp(60px,9vw,130px);transition:transform .2s}.closing a:hover svg{transform:translate(8px,-8px)}.site-footer{padding-top:38px;padding-bottom:38px;display:flex;justify-content:space-between;align-items:center;gap:25px}.site-footer .wordmark{font-size:31px}.site-footer .brand-symbol{width:34px;height:34px;font-size:27px}.site-footer>p{font-size:10px;line-height:1.6}.site-footer>p span{color:var(--muted)}.site-footer>a:not(.wordmark){font-size:11px;font-weight:700}.site-footer .footer-note{font-size:8px;color:var(--muted);text-align:right}.exporting #export-icon{animation:support-load .6s alternate infinite}.theme-shift{animation:theme-wipe .4s ease}#toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,30px);opacity:0;pointer-events:none;z-index:10;background:var(--ink);color:var(--paper);padding:13px 20px;font-size:12px;transition:.2s;max-width:90vw;text-align:center}#toast.visible{opacity:1;transform:translate(-50%,0)}
@keyframes marquee{to{transform:translateX(-50%)}}@keyframes bra-float{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-10px) rotate(-2deg)}}@keyframes spark-turn{to{transform:rotate(360deg)}}@keyframes support-load{to{transform:translateY(-7px) rotate(5deg)}}@keyframes theme-wipe{50%{opacity:.6}}
html[data-motion=off]{scroll-behavior:auto}html[data-motion=off] *,html[data-motion=off] *:before,html[data-motion=off] *:after{animation:none!important;transition:none!important}
@media(min-width:1600px){.hero{padding-top:90px;padding-bottom:80px}.hero-art{max-width:550px}.site-header{padding:0 5.5%}}
@media(max-width:1100px){.site-header{gap:20px}.site-header nav{gap:20px}.header-actions{gap:16px}.theme-toggle span{display:none}.hero{gap:5%;padding-top:58px}h1{font-size:8.6vw}.hero-intro{font-size:22px}.hero-detail{font-size:12px}.hero-buttons{gap:18px}.button{font-size:12px;padding:16px 18px;gap:20px}.hero-sticker{width:112px;height:112px;right:-8px}.hero-sticker span:first-child{font-size:28px}.hero-sticker span:nth-child(2){font-size:7px}.hero-sticker svg{width:46px;height:28px}.club{grid-template-columns:1fr 4fr;gap:25px}.club-body{gap:25px}.support-grid{gap:14px}.support-item-info h3{font-size:13px}.support-item-info p{font-size:9px}.studio{gap:6%}.meme-poster{padding:18px}.poster-bottom{min-height:76px}.swatches{gap:9px}.swatch{font-size:9px}.site-footer{gap:18px}}
@media(max-width:760px){html{scroll-padding-top:25px}.section-wrap{padding-left:6%;padding-right:6%}.site-header{height:77px;padding:0 6%;gap:15px}.site-header .wordmark{font-size:30px}.site-header .brand-symbol{width:35px;height:35px;font-size:27px}.site-header nav{display:none}.header-actions{gap:13px}.header-cta{font-size:10px;padding:12px}.header-cta span{margin-left:6px}.theme-toggle svg{width:25px}.hero{grid-template-columns:1fr;gap:44px;padding-top:37px;padding-bottom:33px;overflow:hidden}.eyebrow{font-size:8px;letter-spacing:1.3px;margin-bottom:22px}h1{font-size:clamp(78px,18vw,129px);letter-spacing:-2px}.hero-intro{font-size:23px;margin-top:24px}.hero-detail{font-size:12px;margin-top:18px}.hero-buttons{gap:23px;margin-top:24px}.hero-footnote{margin-top:22px;font-size:8px}.hero-art{width:90%;margin:0 auto;padding-top:0}.mascot-frame{transform:rotate(2deg);box-shadow:6px 6px 0 var(--ink)}.mascot-frame>img{aspect-ratio:1/1.02}.hero-sticker{top:-14px;right:-25px;width:102px;height:102px}.hero-sticker span:first-child{font-size:25px}.hero-sticker span:nth-child(2){font-size:7px}.hero-sticker svg{width:43px;height:27px}.spark-one{left:-29px;top:50px;font-size:55px}.spark-two{left:-23px;bottom:52px;font-size:40px}.art-caption{font-size:6px;margin-top:25px}.art-caption button{font-size:8px}.photo-label{padding:10px;font-size:6px}.ticker{padding:15px 0}.ticker-track{font-size:27px;gap:26px}.ticker-track i{font-size:27px}.club{display:block;padding-top:58px;padding-bottom:55px}.section-kicker{font-size:8px}.club h2{font-size:clamp(39px,8.9vw,62px);margin-top:24px}.club-body{grid-template-columns:1fr;gap:22px;margin-top:23px}.big-copy{font-size:20px}.club-body>div{font-size:12px;max-width:450px}.club-stamp{margin-top:25px;font-size:8px}.support-section{padding:47px 0 30px}.section-heading{display:block;margin:23px 0 29px}.section-heading h2{font-size:clamp(40px,8.9vw,61px)}.section-heading>p{margin-top:20px;font-size:11px}.support-grid{grid-template-columns:1fr 1fr;column-gap:15px;row-gap:27px}.support-art{aspect-ratio:1/1.12}.item-number{font-size:8px;top:12px;left:12px}.tile-tag{font-size:7px;bottom:12px;left:12px;right:12px;padding-top:8px}.support-item-info{padding-top:13px}.support-item-info h3{font-size:12px}.support-item-info p{font-size:9px;margin-top:6px;max-width:125px}.download-sticker{width:26px;height:26px;font-size:17px}.gallery-foot{margin-top:30px;padding-top:16px;display:block;font-size:8px}.gallery-foot>a{display:block;margin-top:16px}.studio{padding-top:57px;padding-bottom:55px;grid-template-columns:1fr;gap:39px}.studio h2{font-size:clamp(48px,11vw,68px);margin-top:22px}.studio-copy>p{font-size:12px;margin-top:19px}.studio form{margin-top:25px}.swatch{font-size:10px}.swatches{gap:16px}.poster-area{width:94%;margin:auto}.meme-poster{padding:20px;box-shadow:6px 6px 0 var(--ink)}.poster-topline>span:last-child{font-size:6px}.poster-bottom>span:first-child{font-size:clamp(29px,7vw,46px)}.poster-bottom{min-height:70px;gap:9px;padding-top:14px}.poster-signoff{font-size:6px}.poster-note{font-size:9px;margin-top:20px}.docs-section{padding-top:47px;padding-bottom:50px;grid-template-columns:1fr;gap:26px}.docs-section h2{font-size:48px;margin-top:21px}.docs-section>div>p{font-size:12px;margin-top:14px}.docs-bra{display:none}summary{font-size:12px;padding:19px 0}details>p{font-size:11px}.closing{padding:35px 0 40px}.closing p{font-size:7px;letter-spacing:1px;margin-bottom:20px}.closing a{font-size:clamp(55px,12.6vw,90px);letter-spacing:-1px}.closing svg{width:13vw;height:13vw;right:0;top:0}.site-footer{flex-wrap:wrap;padding-top:28px;padding-bottom:28px;row-gap:22px}.site-footer .wordmark{font-size:28px;width:40%}.site-footer>p{width:48%;font-size:9px}.site-footer>a:not(.wordmark){font-size:10px;width:40%}.site-footer .footer-note{font-size:7px;text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
[hidden]{display:none!important}
.brand-logo{background:var(--orange);padding:0;object-fit:cover}
.poster-brand{display:inline-flex;align-items:center;gap:8px}
.poster-brand img{width:1.15em;height:1.15em;border:2px solid currentColor;border-radius:50%}
/* Transparent cut-out logo: no disc, no border, a little bigger. */
.wordmark{position:relative}
.wordmark img.brand-logo{width:62px;height:60px;background:none;border:0;border-radius:0;transform:none;object-fit:contain;-webkit-mask-image:linear-gradient(#000 80%,transparent);mask-image:linear-gradient(#000 80%,transparent)}
.site-footer .wordmark img.brand-logo{width:50px;height:48px}
.poster-brand img{border:0;border-radius:0}
.mascot-frame>img[data-rig]{cursor:pointer}
.rig-canvas{position:absolute;pointer-events:none;z-index:1}
img.rig-ready{opacity:0}
[data-theme=dark] img.brand-logo{content:url(assets/wbtc-logo-512-dark.webp?v=d16baa7d)}
[data-theme=dark] #hero-mascot{content:url(assets/wbtc-mascot-720-dark.webp?v=d16baa7d)}
@media(max-width:760px){.site-header .wordmark img.brand-logo{width:50px;height:48px}}
.not-found{padding-top:18vh;padding-bottom:18vh}
/* Free-standing mascot: no card, no orange backdrop; the cut-out sits on the page and fades out at the hem. */
.hero .mascot-frame{border:0;background:none;box-shadow:none;transform:none;overflow:visible}
/* The fade lives on the image and on the canvas (not the frame), so the canvas bleed is not clipped; the canvas
   extends 6% above and below the image, so its stops are shifted to end at the same hip line. */
.hero .mascot-frame>img{-webkit-mask-image:linear-gradient(#000 78%,transparent 99%);mask-image:linear-gradient(#000 78%,transparent 99%)}
.hero .rig-canvas{-webkit-mask-image:linear-gradient(#000 75%,transparent 94%);mask-image:linear-gradient(#000 75%,transparent 94%)}
.hero .mascot-frame>img{aspect-ratio:1334/1290;object-fit:contain;object-position:50% 0}
.hero .mascot-frame .image-loading{color:var(--ink)}

/* Cartoon boobs (always covered) drifting behind the whole page. Oversized and moved with transform, so it stays on the compositor. */
body:before{content:'';position:fixed;top:-280px;left:-280px;right:0;bottom:0;z-index:-1;background:url(assets/boob-pattern.svg?v=3bca607b) 0 0/280px 280px;opacity:.24;pointer-events:none;animation:boob-drift 70s linear infinite}
html[data-theme=dark] body:before{opacity:.16}
@keyframes boob-drift{to{transform:translate(280px,280px)}}
@media(max-width:760px){body:before{top:-210px;left:-210px;background-size:210px 210px}@keyframes boob-drift{to{transform:translate(210px,210px)}}}

/* Loading screen. If the script never runs, it fades itself out after 9 seconds, motion setting or not. */
.loader{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:#ff7900;color:#181713;transition:opacity .4s,visibility .4s;animation:loader-fallback .3s 9s forwards}
html.no-loader .loader{display:none}
.loader.done{opacity:0;visibility:hidden;pointer-events:none}
html[data-motion=off] .loader,html[data-motion=off] .loader.done{animation:loader-fallback .01s 9s forwards!important}
@media(prefers-reduced-motion:reduce){.loader{animation:loader-fallback .01s 9s forwards!important}}
@keyframes loader-fallback{to{opacity:0;visibility:hidden;pointer-events:none}}
.loader-stage{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;padding:16px}
.loader-art{width:min(300px,70vw);height:auto;overflow:visible}
.loader-boobs{transform-box:fill-box;transform-origin:50% 100%;animation:loader-bounce .58s cubic-bezier(.33,0,.5,1) infinite alternate}
@keyframes loader-bounce{from{transform:translateY(0) scale(1.07,.93)}to{transform:translateY(-28px) scale(.97,1.03)}}
.loader-shadow{fill:#181713;opacity:.24;transform-box:fill-box;transform-origin:50% 50%;animation:loader-shadow .58s cubic-bezier(.33,0,.5,1) infinite alternate}
@keyframes loader-shadow{to{transform:scaleX(.7);opacity:.1}}
.loader-word{font:44px Anton,Impact,sans-serif;fill:#ff7900;letter-spacing:1px}
.loader-word-base{fill:#3d382f}
.loader-line{font:800 13px/1.2 Arial,Helvetica,sans-serif;letter-spacing:.08em;text-transform:uppercase;margin:0}
#loader-percent{font:30px/1 Anton,Impact,sans-serif;letter-spacing:0;margin-right:6px;vertical-align:-4px}
.loader-skip{background:none;border:0;border-bottom:2px solid #181713;padding:4px 0;font:800 11px Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#181713;cursor:pointer}
/* Multi-page: underline the current tab, and the motion switch lives in every footer. */
.site-header nav a[aria-current=page]:after{right:0}
.footer-motion{background:transparent;border:0;border-bottom:1px solid currentColor;padding:4px 0;font-size:11px;font-weight:700;color:inherit;cursor:pointer;align-self:center}
.wordmark .rig-canvas{-webkit-mask-image:linear-gradient(#000 77%,transparent 95%);mask-image:linear-gradient(#000 77%,transparent 95%)}
/* Smoother: pages cross-fade into each other (where supported). The loader skips on any tap, so its Skip button only exists for keyboards and screen readers. */
@view-transition{navigation:auto}
.loader-skip{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;padding:0;border:0}
/* Theme change: the new theme is revealed by a circle from the toggle (app.js animates the clip-path), so the
   default crossfade is switched off for that one transition only; page-to-page navigation keeps its fade. */
html.theme-switching::view-transition-old(root),html.theme-switching::view-transition-new(root){animation:none;mix-blend-mode:normal}
html.theme-switching::view-transition-new(root){z-index:9999}
/* Fallback without View Transitions: colours ease over half a second. */
html.theme-fading,html.theme-fading *,html.theme-fading *:before,html.theme-fading *:after{transition:background-color .5s ease,color .5s ease,border-color .5s ease,fill .5s ease,box-shadow .5s ease!important}
/* The toggle's icon gives a little flip each time. */
.theme-toggle svg{transition:transform .2s}
.theme-toggle.flipping svg{animation:toggle-flip .55s cubic-bezier(.34,1.56,.64,1)}
@keyframes toggle-flip{0%{transform:rotate(0) scale(1)}45%{transform:rotate(-200deg) scale(1.25)}100%{transform:rotate(-360deg) scale(1)}}
.chips{display:flex;gap:7px;flex-wrap:wrap}
.chip{position:relative;cursor:pointer;display:inline-flex;flex-direction:column;align-items:stretch}
.chip input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.chip span{display:flex;align-items:center;justify-content:center;min-height:30px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:10px;font-weight:700;padding:7px 10px;border-radius:2px}
.chip:hover span{border-color:var(--ink)}
.chip input:checked~span{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.chip input:focus-visible~span{outline:2px solid var(--orange);outline-offset:2px}
.bras .chip img{width:76px;height:57px;border:1px solid var(--line);border-bottom:0;background:var(--paper);padding:4px}
.bras .chip:has(input:checked) img{border-color:var(--ink)}
.cups .chip span{width:36px;padding:7px 0;font:17px/1 var(--display)}
.legend-note{font-weight:600;letter-spacing:0;color:var(--muted);margin-left:6px}
.poster-canvas{position:absolute;inset:0;width:100%;height:100%}
.poster-image img.dressed{visibility:hidden}
img.look-pending{visibility:hidden}
.site-mascot-note{font-size:10px;color:var(--muted);margin:0 0 10px;line-height:1.5}
.site-mascot-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.site-mascot-save{border:2px solid var(--ink);background:var(--paper);color:var(--ink);font-weight:800;font-size:11px;padding:10px 14px;cursor:pointer;box-shadow:3px 3px 0 var(--ink)}
.site-mascot-save:hover{background:var(--ink);color:var(--paper)}
.site-mascot-save:disabled{opacity:.55;cursor:default;box-shadow:none;background:var(--paper);color:var(--ink)}
.site-mascot-reset{border:0;background:none;color:var(--ink);font-size:10px;font-weight:700;text-decoration:underline;cursor:pointer;padding:4px 0}
