:root{--green:#194b3c;--deep:#102c24;--lime:#e8fb53;--pink:#ff93b9;--paper:#f4f2e7;--ink:#16231b;--line:rgba(244,242,231,.52);font-family:"PingFang TC","Heiti TC",system-ui,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0}button,a,input{touch-action:manipulation;-webkit-tap-highlight-color:rgba(232,251,83,.3)}button{font:inherit;cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button:disabled{cursor:not-allowed}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #d92863;outline-offset:5px}button:focus-visible{position:relative;z-index:5}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}button svg{pointer-events:none}[hidden]{display:none!important}.skip-link{position:fixed;top:8px;left:8px;transform:translateY(-160%);background:var(--lime);padding:14px;z-index:100}.skip-link:focus{transform:translateY(0)}
.proposal-strip{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 3.2%;font-size:11px;background:var(--lime);letter-spacing:.08em;border-bottom:1px solid var(--ink)}.proposal-strip strong{font-size:12px}.site-header{display:flex;align-items:center;gap:32px;background:var(--paper);padding:17px 3.2%;border-bottom:2px solid var(--ink);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:10px;font-size:29px;font-weight:900;line-height:.9;letter-spacing:-2px;min-width:170px}.brand-mark{font-family:serif;font-size:62px;line-height:32px;transform:rotate(-18deg);letter-spacing:-8px}.brand-sub{display:block;margin-top:7px;font-size:10px;letter-spacing:1.7px;font-weight:800}.site-header nav{display:flex;gap:30px;margin-left:auto;font-size:14px;font-weight:800}.site-header nav a{border-bottom:2px solid transparent;padding:7px 0}.site-header nav a:hover{border-color:var(--ink)}.header-actions{display:flex;gap:18px;align-items:center}.motion-button{padding:9px 0;background:none;border:0;font-size:12px;text-decoration:underline;text-underline-offset:4px}.bag-button{background:var(--ink);color:var(--paper);padding:12px 17px;border:0;display:flex;gap:14px;align-items:center;font-weight:800;min-height:44px}.bag-button:hover{background:var(--green)}#bag-count{background:var(--lime);color:var(--ink);border-radius:50%;min-width:24px;height:24px;display:grid;place-items:center;font-size:12px}.bag-icon{font-size:22px}
.hero{position:relative;min-height:760px;background:var(--green);color:var(--paper);padding:28px 5.2% 80px;overflow:hidden;isolation:isolate}.court-lines{position:absolute;inset:75px -80px -240px 90px;z-index:-1;border:3px solid var(--line);transform:rotate(-9deg);background:linear-gradient(90deg,transparent 49.8%,var(--line) 49.8% 50.2%,transparent 50.2%),linear-gradient(transparent 48%,var(--line) 48% 48.4%,transparent 48.4% 64%,var(--line) 64% 64.4%,transparent 64.4%);opacity:.6}.court-lines:after{content:"";position:absolute;inset:0 20%;border-left:3px solid var(--line);border-right:3px solid var(--line)}.hero-topline{display:flex;justify-content:space-between;font:700 11px/1.5 system-ui,sans-serif;letter-spacing:2px;align-items:center}.hero-topline button{border:1px solid var(--paper);background:transparent;color:var(--paper);padding:7px 12px;font-size:11px;letter-spacing:0;min-height:44px}.hero-topline button:hover{background:var(--paper);color:var(--green)}.hero-copy{position:relative;max-width:65%;z-index:2;padding-top:44px;pointer-events:none}.hero-copy a{pointer-events:auto}.eyebrow{font-size:12px;font-weight:800;letter-spacing:1px;line-height:1.6}.tiny-ball{width:9px;height:9px;background:var(--lime);border-radius:50%;display:inline-block;margin-right:7px}h1{font-size:clamp(78px,10.4vw,150px);font-weight:900;line-height:1.05;letter-spacing:-.07em;margin-top:15px}h1>span{display:block;width:max-content;max-width:100%}.title-crash{background:var(--lime);color:var(--deep);padding:0 18px 12px 9px;transform:rotate(-5deg);transform-origin:20% 60%;margin-top:12px;position:relative}.title-dot{color:var(--green)}.hero-description{margin:28px 0 22px;font-size:20px;font-weight:600;line-height:1.65}.primary-button{background:var(--lime);border:2px solid var(--ink);display:inline-flex;align-items:center;justify-content:space-between;gap:40px;padding:17px 24px;min-height:55px;font-weight:900;font-size:17px;box-shadow:4px 4px 0 var(--ink);transition:transform .16s,box-shadow .16s}.primary-button:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink)}.primary-button:active{transform:translate(2px,2px);box-shadow:0 0 0 var(--ink)}.primary-button span{font-size:25px;font-weight:400}.hero-footnote{display:block;font-size:11px;margin-top:15px;letter-spacing:.5px}.hero-scene{position:absolute;inset:100px 0 0 54%;pointer-events:none}.scene-circle{width:500px;height:500px;border-radius:50%;border:1px solid rgba(232,251,83,.3);position:absolute;top:20px;left:-30px}.hero-paddle{position:absolute;width:450px;top:25px;left:40px;transform:rotate(21deg);filter:drop-shadow(18px 28px 0 rgba(6,28,22,.3))}.paddle-svg{display:block;width:100%;height:auto}.wild-ball{position:absolute;left:4px;top:85px;width:136px;height:136px;border:2px solid var(--ink);border-radius:50%;background:var(--lime);box-shadow:inset -16px -14px 0 rgba(89,117,16,.18),10px 14px 0 rgba(10,31,25,.25);pointer-events:auto;transform:rotate(-15deg)}.ball-holes{display:block;position:absolute;inset:19px;border-radius:50%;background:radial-gradient(circle at 25% 25%,var(--green) 0 7px,transparent 8px),radial-gradient(circle at 73% 20%,var(--green) 0 6px,transparent 7px),radial-gradient(circle at 50% 56%,var(--green) 0 9px,transparent 10px),radial-gradient(circle at 15% 66%,var(--green) 0 6px,transparent 7px),radial-gradient(circle at 78% 76%,var(--green) 0 7px,transparent 8px)}.ball-click{position:absolute;white-space:nowrap;font-size:12px;font-weight:900;color:var(--ink);background:var(--paper);border:1px solid var(--ink);padding:5px 9px;bottom:-15px;left:34px;transform:rotate(15deg)}.wild-ball:hover{transform:rotate(-24deg) scale(1.04)}.scoreboard{position:absolute;right:27px;top:12px;background:var(--deep);border:1px solid var(--paper);padding:12px 15px;transform:rotate(5deg);font-size:10px;color:var(--paper)}.scoreboard>span{display:block;letter-spacing:2px;border-bottom:1px solid var(--line);padding-bottom:7px}.scoreboard>div{display:flex;gap:14px;align-items:center;margin-top:5px}.scoreboard b{font:800 47px/1 system-ui,sans-serif;color:var(--lime);font-variant-numeric:tabular-nums}.scoreboard small{font-size:8px;opacity:.7}.court-sticker{position:absolute;bottom:195px;right:50px;background:var(--pink);color:var(--ink);padding:20px 24px;font-size:19px;border:2px solid var(--ink);transform:rotate(-10deg);line-height:1.3;box-shadow:5px 5px 0 var(--ink)}.court-sticker strong{font-size:23px;font-weight:900}.scene-art-label{position:absolute;bottom:148px;right:55px;font-size:10px;letter-spacing:.5px}.referee-station{position:absolute;bottom:28px;left:58%;display:flex;align-items:flex-end;gap:12px}.referee-station>button{border:1px solid var(--paper);background:var(--paper);color:var(--ink);text-align:left;padding:12px 16px;transform:rotate(3deg);box-shadow:5px 5px 0 var(--deep)}.referee-station small{display:block;font-size:10px;font-weight:800}.referee-station strong{display:block;margin:4px 0;font-size:16px}.referee-station button>span{font-size:9px}.referee-station>button:hover{background:var(--pink)}.court-coordinate{position:absolute;bottom:25px;left:5.2%;font-size:10px;letter-spacing:2px;opacity:.6}
.character{width:115px;height:150px;position:relative;flex-shrink:0}.character i{display:block;position:absolute}.head{width:46px;height:48px;background:var(--ink);border-radius:46% 52% 35% 45%;left:35px;top:8px;transform:rotate(-9deg)}.head:before{content:"";position:absolute;left:-7px;top:-9px;width:56px;height:22px;background:radial-gradient(circle at 8px 11px,var(--ink) 9px,transparent 10px),radial-gradient(circle at 22px 9px,var(--ink) 10px,transparent 11px),radial-gradient(circle at 38px 10px,var(--ink) 10px,transparent 11px),radial-gradient(circle at 50px 12px,var(--ink) 8px,transparent 9px)}.body{background:var(--pink);width:63px;height:80px;left:28px;top:60px;border:2px solid var(--ink);transform:rotate(4deg);border-radius:16px 16px 0 0}.body:after{content:"";position:absolute;width:53px;height:13px;background:var(--ink);bottom:-12px;left:5px}.arm{width:56px;height:18px;background:var(--pink);border:2px solid var(--ink);top:75px;left:-5px;transform:rotate(-37deg);border-radius:10px}.referee .body{background:repeating-linear-gradient(90deg,var(--paper) 0 9px,var(--ink) 9px 18px)}.referee .arm{background:var(--paper)}.friend .body,.friend .arm{background:var(--lime)}.friend .arm{left:76px;transform:rotate(35deg)}.clerk .head:after{content:"";position:absolute;top:6px;left:-5px;width:62px;height:9px;background:var(--paper);transform:rotate(-8deg);border:2px solid var(--ink)}
.sideline-tape{padding:17px 0;background:var(--lime);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);display:flex;justify-content:space-around;gap:26px;white-space:nowrap;overflow:hidden;font-size:15px;font-weight:900;letter-spacing:2px}.sideline-tape span:nth-child(2){font-size:12px;align-self:center}.equipment-section{padding:75px 5.2% 60px;scroll-margin-top:25px}.section-heading{display:flex;align-items:flex-end;gap:30px;margin-bottom:36px}.section-heading h2{font-size:64px;line-height:1.08;font-weight:900;letter-spacing:-3px;margin-top:16px}.section-heading h2 span{display:block;transform:rotate(-4deg);color:var(--green)}.section-heading>p{margin:0 auto 9px 45px;line-height:1.8;font-size:16px}.section-number{font:400 90px/1 system-ui,sans-serif;color:var(--green)}.locker-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:22px}.locker{border:2px solid var(--ink);background:#e4e8dc;min-width:0;position:relative;box-shadow:5px 5px 0 var(--ink)}.locker-label{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px;padding:15px 16px;border-bottom:1px solid var(--ink);font-weight:800}.art-link{display:block;height:330px;position:relative;overflow:hidden;background:repeating-linear-gradient(90deg,transparent 0 50px,rgba(22,35,27,.07) 50px 51px)}.locker-art{width:250px;max-width:85%;height:310px;position:absolute;left:50%;top:10px;transform:translateX(-50%) rotate(-13deg);transition:transform .3s}.pro-locker .locker-art{transform:translateX(-50%) rotate(14deg)}.art-link:hover .locker-art{transform:translateX(-50%) rotate(0deg) scale(1.03)}.art-tag{position:absolute;left:14px;bottom:11px;font-size:9px;background:var(--paper);padding:4px 7px;border:1px solid var(--ink);transform:rotate(-3deg)}.pro-locker{background:#f1b7c7}.ball-locker{background:var(--lime)}.ball-locker .locker-art{width:300px;max-width:100%;top:25px;transform:translateX(-50%) rotate(-5deg)}.locker-info{padding:20px 17px 22px;display:flex;align-items:flex-end;justify-content:space-between;gap:8px;border-top:1px solid var(--ink);background:rgba(244,242,231,.3)}.locker-info h3{font:900 30px/1.1 system-ui,sans-serif;letter-spacing:-1px}.locker-info h3 small{font-size:14px;letter-spacing:0}.locker-info p{font-size:11px;margin-top:9px;line-height:1.6}.locker-info strong{font-size:17px;white-space:nowrap;font-variant-numeric:tabular-nums}.locker-cta{display:flex;justify-content:space-between;padding:15px 17px;font-size:13px;font-weight:900;border-top:1px solid var(--ink);background:var(--ink);color:var(--paper)}.locker-cta:hover{background:var(--green)}.locker-cta span{font-size:21px}.catalog-note{font-size:11px;line-height:1.7;margin-top:23px}
.curly-zone{padding:64px 5.2% 72px;background:var(--pink);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);display:grid;grid-template-columns:.8fr 1.6fr;gap:35px;scroll-margin-top:25px}.curly-heading h2{font-size:65px;letter-spacing:-3px;line-height:1.05;font-weight:900;margin:20px 0}.curly-heading h2 span{display:block;transform:rotate(-5deg)}.curly-heading>p:last-child{font-size:15px;line-height:1.8}.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:center}.role-card{text-align:left;position:relative;background:var(--paper);border:2px solid var(--ink);padding:12px 14px 16px;box-shadow:4px 4px 0 var(--ink);min-width:0;transform:rotate(-4deg);transition:transform .2s}.role-card:nth-child(2){transform:rotate(4deg);background:var(--lime);margin-top:45px}.role-card:nth-child(3){transform:rotate(-3deg);background:#dee4d7;margin-top:-15px}.role-card:hover{transform:rotate(0deg) translateY(-5px)}.role-card .character{margin:12px auto 17px;transform:scale(1.05)}.role-name{display:block;font-size:10px;letter-spacing:1px;margin-bottom:10px;font-weight:800}.role-card strong{font-size:23px;line-height:1.4;font-weight:900;display:block}.role-card small{display:block;font-size:9px;line-height:1.6;margin-top:20px}.exit-sign{display:flex;align-items:center;padding:45px 5.2%;gap:34px}.exit-sign>span:first-child{font:700 90px/1 system-ui,sans-serif}.exit-sign p{font-size:21px;font-weight:900}.exit-sign a{display:inline-block;border-bottom:1px solid var(--ink);margin-top:11px;font-size:13px;padding-bottom:5px}.exit-ball{margin-left:auto;font-size:65px;color:var(--green);transform:rotate(-10deg)}footer{display:flex;justify-content:space-between;gap:20px;padding:30px 5.2%;background:var(--deep);color:var(--paper);align-items:center}footer .footer-brand{font-size:20px;font-weight:900}footer p{font-size:10px;line-height:1.9}footer>a:last-child{font-size:12px;border-bottom:1px solid var(--paper);padding-bottom:4px}
.product-page{background:var(--paper);padding:25px 5.2% 65px;min-height:80vh}.product-breadcrumb{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;margin-bottom:25px}.product-breadcrumb>a{padding:9px 0;border-bottom:1px solid var(--ink);font-weight:800}.product-tabs{display:flex;gap:5px;flex-wrap:wrap}.product-tabs a{padding:9px 12px;border:1px solid var(--ink);font-size:11px;font-weight:800}.product-tabs a[aria-current="page"]{background:var(--ink);color:var(--paper)}.product-tabs a:hover{background:var(--lime);color:var(--ink)}.product-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:55px;align-items:start}.product-stage{position:relative;min-height:640px;background:var(--green);color:var(--paper);border:2px solid var(--ink);overflow:hidden}.product-stage:before{content:"";position:absolute;inset:45px -50px 80px 45px;border:2px solid rgba(244,242,231,.45);transform:rotate(-10deg)}.product-stage:after{content:"";position:absolute;top:50%;left:0;right:0;border-top:2px solid rgba(244,242,231,.45);transform:rotate(-10deg)}.stage-title{position:absolute;left:25px;top:23px;z-index:2;font:900 72px/1 system-ui,sans-serif;color:var(--lime);letter-spacing:-4px;overflow-wrap:anywhere}.product-art{position:absolute;width:390px;max-width:75%;top:98px;left:50%;transform:translateX(-50%) rotate(-15deg);z-index:1;filter:drop-shadow(16px 17px 0 rgba(9,25,19,.25))}.product-stage.ball-stage .product-art{width:490px;max-width:95%;top:140px;transform:translateX(-50%) rotate(-8deg)}.stage-caption{position:absolute;bottom:20px;left:23px;right:23px;font-size:10px;z-index:3;display:flex;justify-content:space-between;gap:10px}.product-stage .court-sticker{bottom:70px;right:23px;z-index:2;font-size:12px;padding:12px 17px}.product-stage .court-sticker strong{font-size:16px}.product-info{padding-top:6px;min-width:0}.product-info h1{font:900 clamp(49px,5.2vw,76px)/1 system-ui,sans-serif;letter-spacing:-3px;margin:15px 0 14px}.product-info .product-tagline{font-size:26px;font-weight:900;line-height:1.4}.price-block{margin:22px 0 19px;display:flex;align-items:baseline;gap:13px;flex-wrap:wrap}.price-block strong{font:800 34px/1.2 system-ui,sans-serif;letter-spacing:-1px;font-variant-numeric:tabular-nums}.price-block span{font-size:11px}.spec-list{border-top:2px solid var(--ink);margin:22px 0}.spec-row{display:grid;grid-template-columns:100px 1fr;gap:18px;border-bottom:1px solid #b5bcaf;padding:13px 0;font-size:13px;line-height:1.5}.spec-row dt{color:#4b5a50}.spec-row dd{margin:0;font-weight:700;overflow-wrap:anywhere}.pending-note{background:#e5e8dd;padding:13px 15px;font-size:11px;line-height:1.8;border-left:3px solid var(--green)}.product-buy-row{display:flex;gap:15px;margin-top:23px;align-items:center}.quantity{display:flex;border:2px solid var(--ink);align-items:center;height:57px;flex-shrink:0;background:var(--paper)}.quantity button{width:39px;height:53px;background:transparent;border:0;font-size:22px}.quantity button:hover{background:var(--lime)}.quantity output{width:25px;text-align:center;font-weight:800;font-variant-numeric:tabular-nums}.product-buy-row .primary-button{flex:1;font-size:15px;gap:13px;padding:15px 16px}.preview-note{font-size:10px;line-height:1.7;margin-top:14px}.product-details{margin-top:44px}.product-details details{border-top:1px solid var(--ink);padding:18px 0;font-size:13px}.product-details summary{cursor:pointer;font-weight:800;line-height:1.6}.product-details p{margin-top:13px;line-height:1.9;color:#4b5a50}.product-related{margin-top:48px;display:flex;align-items:center;gap:18px;padding:23px;background:var(--pink);border:2px solid var(--ink)}.product-related .character{height:120px;transform:scale(.8);transform-origin:bottom; margin-top:-20px}.product-related p{font-size:12px;line-height:1.8}.product-related strong{font-size:21px;display:block;margin-bottom:5px}.product-related a{font-weight:900;text-decoration:underline;text-underline-offset:4px}
dialog{color:var(--ink);background:var(--paper);border:3px solid var(--ink);padding:24px;max-width:calc(100vw - 24px);width:430px;max-height:calc(100dvh - 32px);margin:auto 16px auto auto;box-shadow:10px 10px 0 var(--deep);overscroll-behavior:contain}dialog::backdrop{background:rgba(10,32,24,.6)}.bag-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.icon-button{width:44px;height:44px;border:1px solid var(--ink);background:var(--paper);font-size:32px;line-height:1}.icon-button:hover{background:var(--pink)}dialog h2{font-size:44px;font-weight:900;letter-spacing:-2px;margin-top:9px}.bag-notice{font-size:11px;line-height:1.8;margin:11px 0 20px}.bag-empty{padding:30px 10px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);font-weight:800;font-size:15px;line-height:1.7}.bag-line{padding:17px 0;border-top:1px solid var(--ink);display:grid;grid-template-columns:64px 1fr auto;gap:13px;align-items:center}.bag-thumb{width:60px;height:70px;background:var(--green);overflow:hidden;display:flex;align-items:center;justify-content:center}.bag-thumb .paddle-svg{width:54px}.bag-thumb .balls-svg{width:70px}.bag-line h3{font-size:18px}.bag-line p{font-size:11px;margin-top:5px}.bag-line .bag-remove{background:transparent;border:0;text-decoration:underline;font-size:11px;min-width:44px;min-height:44px}.bag-total{padding:20px 0;display:flex;justify-content:space-between;gap:12px;border-top:2px solid var(--ink);margin-top:8px;align-items:center;font-size:13px}.bag-total strong{font-size:23px;font-variant-numeric:tabular-nums}.full-width{width:100%;font-size:14px}.checkout-feedback{font-size:12px;color:var(--green);font-weight:800;line-height:1.7;margin-top:12px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:var(--lime);color:var(--ink);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);padding:13px 20px;width:max-content;max-width:calc(100vw - 32px);z-index:80;opacity:0;pointer-events:none;font-size:13px;font-weight:800;line-height:1.6;transition:transform .2s,opacity .2s}.toast.show{opacity:1;transform:translate(-50%,0)}.fly-ball{position:fixed;width:25px;height:25px;background:var(--lime);border:2px solid var(--ink);border-radius:50%;pointer-events:none;z-index:90}.intro-running .wild-ball{animation:ball-entry 1.4s cubic-bezier(.22,.68,.42,1) both}.intro-running .title-crash{animation:title-impact 1.1s .45s both}.ball-hit{animation:ball-hop .6s both}.title-hit{animation:title-shake .6s both}
@keyframes ball-entry{0%{transform:translate(460px,-260px) rotate(-90deg) scale(.7)}45%{transform:translate(-460px,45px) rotate(170deg)}70%{transform:translate(-35px,-55px) rotate(210deg)}100%{transform:rotate(-15deg)}}@keyframes title-impact{0%{transform:rotate(0)}45%{transform:rotate(0)}55%{transform:translate(-9px,8px) rotate(-8deg)}100%{transform:rotate(-5deg)}}@keyframes ball-hop{0%,100%{transform:rotate(-15deg)}40%{transform:translate(20px,-60px) rotate(75deg)}}@keyframes title-shake{0%,100%{transform:rotate(-5deg)}35%{transform:rotate(-9deg) translateX(-5px)}70%{transform:rotate(-2deg)}}
@media(min-width:1600px){.hero{min-height:830px}.hero-copy{padding-top:75px}.hero-scene{left:55%;right:8%}.hero-paddle{width:500px;top:60px}.court-sticker{bottom:205px}.equipment-section,.curly-zone,.product-page{padding-left:max(5.2%,calc((100vw - 1500px)/2));padding-right:max(5.2%,calc((100vw - 1500px)/2))}}
@media(max-width:1000px){.hero{min-height:720px}.hero-paddle{width:360px;left:0;top:68px}.hero-scene{left:53%;top:130px}.wild-ball{width:100px;height:100px;left:-40px}.scoreboard{right:18px;top:-15px}.court-sticker{right:25px;bottom:175px}.referee-station{left:53%}.referee-station .character{width:80px;transform:scale(.8);transform-origin:bottom left}.referee-station>button{margin-left:-20px;padding:12px}.referee-station strong{font-size:13px}.locker-grid{gap:15px}.locker-info{display:block}.locker-info strong{display:block;margin-top:12px}.art-link{height:280px}.locker-art{width:225px;top:0}.role-card strong{font-size:18px}.curly-zone{grid-template-columns:1fr}.role-grid{max-width:700px}.curly-heading{display:grid;grid-template-columns:1fr 1fr;gap:20px}.curly-heading .eyebrow{grid-column:1/-1}.curly-heading h2{margin:0}.curly-heading>p:last-child{align-self:end}.product-layout{gap:30px;grid-template-columns:1fr 1fr}.product-stage{min-height:600px}.product-art{max-width:95%;width:330px;top:135px}.stage-title{font-size:56px}.product-buy-row{flex-wrap:wrap}.product-buy-row .primary-button{flex-basis:100%}.product-info .product-tagline{font-size:22px}}
@media(max-width:600px){html{scroll-padding-top:20px}.proposal-strip{padding:7px 16px;font-size:8px;letter-spacing:.3px;gap:6px}.proposal-strip strong{font-size:10px}.strip-right{display:none}.site-header{padding:14px 16px;gap:8px;flex-wrap:wrap}.brand{font-size:25px;min-width:0;gap:5px;letter-spacing:-1px}.brand-mark{font-size:48px;line-height:28px}.brand-sub{font-size:8px;letter-spacing:1px;margin-top:6px}.site-header nav{order:3;width:100%;justify-content:flex-start;gap:27px;margin-left:0;font-size:12px;border-top:1px solid #d0d4c9;padding-top:6px;margin-top:4px}.header-actions{margin-left:auto;gap:11px}.motion-button{font-size:10px;min-height:44px}.bag-button{padding:9px 11px;gap:9px;font-size:12px}.bag-icon{display:none}#bag-count{width:21px;height:21px;min-width:21px}.hero{min-height:900px;padding:20px 20px 175px}.hero-topline{font-size:8px;letter-spacing:1px}.hero-topline button{font-size:9px;padding:5px 8px}.hero-copy{max-width:100%;padding-top:26px}.hero-copy .eyebrow{font-size:10px}h1{font-size:clamp(59px,18vw,92px);letter-spacing:-.08em;line-height:1.07;margin-top:18px}.title-crash{padding:0 12px 6px 5px;margin-top:10px}.hero-description{font-size:16px;line-height:1.7;margin:23px 0 19px}.primary-button{font-size:15px;padding:13px 18px;gap:30px;min-height:52px}.hero-footnote{font-size:9px}.hero-scene{inset:470px 0 0 0}.scene-circle{width:360px;height:360px;top:-18px;left:75px}.hero-paddle{width:270px;top:-15px;left:calc(50% - 85px);transform:rotate(27deg)}.wild-ball{width:93px;height:93px;left:30px;top:37px}.ball-holes{inset:15px;background-size:100% 100%}.ball-click{font-size:9px;left:22px;bottom:-13px;padding:4px 6px}.scoreboard{right:18px;top:-22px;padding:8px 10px}.scoreboard b{font-size:31px}.scoreboard>span{letter-spacing:1px;font-size:8px}.scoreboard>div{gap:8px}.scoreboard small{font-size:7px}.scoreboard div>span{font-size:8px}.court-sticker{right:22px;bottom:108px;padding:12px 17px;font-size:13px}.court-sticker strong{font-size:17px}.scene-art-label{right:20px;bottom:75px;font-size:8px}.referee-station{left:18px;bottom:22px;gap:0}.referee-station .character{height:122px;transform:scale(.8)}.referee-station>button{margin-left:0;padding:10px 13px}.referee-station strong{font-size:13px}.referee-station button>span{font-size:8px}.court-coordinate{display:none}.court-lines{inset:65px -110px -80px 40px;transform:rotate(-12deg)}.sideline-tape{padding:13px 18px;font-size:11px;justify-content:flex-start;gap:25px}.sideline-tape span:nth-child(2){font-size:8px}.sideline-tape span:last-child{display:none}.equipment-section{padding:46px 20px 42px}.section-heading{gap:15px;align-items:flex-end;margin-bottom:27px}.section-heading .eyebrow{font-size:9px;letter-spacing:.5px}.section-heading h2{font-size:44px;letter-spacing:-2px;margin-top:12px}.section-heading>p{font-size:10px;margin:0 0 5px auto;line-height:1.9}.section-number{display:none}.locker-grid{grid-template-columns:1fr;gap:25px}.locker-label{font-size:9px;padding:13px 14px}.art-link{height:300px}.locker-art{width:240px;max-width:75%;height:300px;top:0}.ball-locker .locker-art{width:285px;top:10px;max-width:92%}.locker-info{display:flex;padding:19px 14px}.locker-info h3{font-size:29px}.locker-info p{font-size:10px}.locker-info strong{margin-top:0;font-size:17px}.locker-cta{padding:13px 14px}.catalog-note{font-size:10px}.curly-zone{padding:40px 20px 45px;gap:25px}.curly-heading{display:block}.curly-heading .eyebrow{font-size:9px}.curly-heading h2{font-size:52px;margin:15px 0 18px}.curly-heading>p:last-child{font-size:13px}.role-grid{display:grid;grid-template-columns:1fr;gap:20px;padding:0 8px}.role-card,.role-card:nth-child(2),.role-card:nth-child(3){margin-top:0;transform:rotate(-2deg);min-height:198px;padding:20px 20px 17px 125px}.role-card:nth-child(2){transform:rotate(2deg)}.role-card:nth-child(3){transform:rotate(-1deg)}.role-card .character{position:absolute;left:0;bottom:22px;transform:scale(.9);transform-origin:bottom}.role-card strong{font-size:23px}.role-card small{font-size:8px;margin-top:14px}.role-name{font-size:9px}.exit-sign{padding:32px 20px;gap:14px}.exit-sign>span:first-child{font-size:58px}.exit-sign p{font-size:15px}.exit-sign a{font-size:11px}.exit-ball{font-size:32px}footer{padding:28px 20px;flex-wrap:wrap;gap:20px}footer .footer-brand{font-size:18px}footer p{font-size:9px}footer>a:last-child{font-size:10px}.product-page{padding:22px 20px 35px}.product-breadcrumb{display:block;margin-bottom:22px}.product-breadcrumb>a{display:inline-block;font-size:12px}.product-tabs{margin-top:17px;gap:7px}.product-tabs a{font-size:10px;padding:8px 11px}.product-layout{grid-template-columns:1fr;gap:29px}.product-stage{min-height:440px}.stage-title{font-size:55px;left:18px;top:20px;letter-spacing:-3px}.product-art{width:270px;max-width:81%;top:75px}.product-stage.ball-stage .product-art{top:85px;width:335px;max-width:100%}.product-stage .court-sticker{right:15px;bottom:47px;font-size:10px;padding:10px 13px}.product-stage .court-sticker strong{font-size:14px}.stage-caption{left:15px;right:15px;bottom:16px;font-size:8px}.product-info{padding-top:0}.product-info .eyebrow{font-size:10px}.product-info h1{font-size:59px;margin:12px 0 13px;letter-spacing:-2px}.product-info .product-tagline{font-size:23px}.price-block{margin:19px 0 20px}.price-block strong{font-size:30px}.price-block span{font-size:10px}.spec-row{grid-template-columns:79px 1fr;gap:10px;font-size:12px;padding:12px 0}.pending-note{font-size:10px;padding:12px}.product-buy-row{gap:12px;margin-top:21px}.quantity{height:53px}.quantity button{height:49px;width:37px}.product-buy-row .primary-button{font-size:14px;min-height:55px}.product-details{margin-top:32px}.product-details details{font-size:12px;padding:17px 0}.product-related{padding:12px;gap:7px;margin-top:29px}.product-related .character{width:85px;transform:scale(.65);transform-origin:bottom left;margin-right:-15px}.product-related strong{font-size:16px}.product-related p{font-size:10px}.toast{bottom:18px;padding:11px 15px;font-size:11px}dialog{padding:19px;margin:auto 12px auto auto;box-shadow:5px 5px 0 var(--ink)}dialog h2{font-size:37px}.bag-notice{font-size:10px}.bag-line{grid-template-columns:52px 1fr auto;gap:8px}.bag-thumb{width:50px}.bag-line h3{font-size:16px}.bag-line p{font-size:10px}.bag-total strong{font-size:21px}.full-width{font-size:12px}}
@media(max-width:350px){.site-header{padding-left:12px;padding-right:12px}.brand{font-size:23px}.brand-sub{font-size:7px;letter-spacing:.6px}.brand-mark{font-size:40px}.header-actions{gap:8px}.bag-button{padding:8px;gap:7px}.motion-button{font-size:9px}.hero{padding-left:16px;padding-right:16px;min-height:890px}.hero-copy .eyebrow{font-size:9px}.hero-topline{font-size:7px;letter-spacing:.4px}.hero-topline button{font-size:8px}.hero-scene{top:455px}.hero-paddle{width:240px;left:calc(50% - 65px)}.wild-ball{left:15px;width:85px;height:85px}.scoreboard{right:13px}.scene-art-label{font-size:7px;right:15px}.referee-station{left:10px}.referee-station>button{padding:9px 10px}.referee-station strong{font-size:12px}.equipment-section,.curly-zone,.product-page{padding-left:16px;padding-right:16px}.section-heading h2{font-size:41px}.section-heading>p{font-size:9px}.role-card,.role-card:nth-child(2),.role-card:nth-child(3){padding-left:110px;padding-right:14px}.role-card strong{font-size:21px}.product-stage{min-height:410px}.product-art{width:240px;top:70px}.stage-title{font-size:46px}.product-info h1{font-size:53px}.product-info .product-tagline{font-size:21px}.product-stage.ball-stage .product-art{top:75px}.product-buy-row .primary-button{font-size:13px}.spec-row{font-size:11px}.exit-sign p{font-size:13px}footer .footer-brand{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.intro-running .wild-ball{transform:rotate(-15deg)}}
.motion-off{scroll-behavior:auto}.motion-off *, .motion-off *:before,.motion-off *:after{animation:none!important;transition:none!important}

.site-header nav a{min-height:44px;display:flex;align-items:center}

/* 真人紙偶 v1：單張去背圖，只做容器內的短 2D 變換。 */
.character.paper-doll{pointer-events:none;user-select:none}
.paper-doll-image{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none;transform-origin:50% 82%}
.referee-station .character.paper-doll{width:145px;height:205px;transform:none;margin:0}
.referee-station>button{margin-left:0}
.role-card .character.paper-doll{width:130px;height:185px;transform:none}
.product-related .character.paper-doll{width:115px;height:165px;transform:none;margin-right:0}
.paper-bag-feedback{display:flex;align-items:center;gap:12px;min-height:82px;margin-top:12px;font-size:12px;font-weight:800;line-height:1.7;color:var(--green)}
.paper-bag-feedback .paper-doll-image{width:52px;height:74px;flex:0 0 52px}
.intro-running .referee-station .paper-doll-image{animation:paper-entry .95s .1s both}
@keyframes paper-entry{0%{transform:translate3d(0,42px,0) rotate(8deg) scale(.94);opacity:0}65%{transform:translate3d(0,-9px,0) rotate(-3deg);opacity:1}100%{transform:translate3d(0,0,0) rotate(0deg);opacity:1}}
@media(max-width:600px){.referee-station .character.paper-doll{width:112px;height:165px}.role-card .character.paper-doll{width:112px;height:165px;left:0;bottom:17px;transform:none}.product-related .character.paper-doll{width:82px;height:120px;margin:0}.paper-bag-feedback{font-size:11px;min-height:80px;gap:9px}}
@media(max-width:350px){.referee-station .character.paper-doll{width:96px;height:150px}.role-card .character.paper-doll{width:96px;height:154px}.product-related .character.paper-doll{width:76px;height:115px}.paper-bag-feedback{font-size:10px}}
@media(prefers-reduced-motion:reduce){.paper-doll-image{animation:none!important;transition:none!important}}
.motion-off .paper-doll-image{animation:none!important;transition:none!important}

/* The companion floats above the page. Only its two controls receive pointers. */
.catch-controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px;pointer-events:auto}
.catch-play{min-height:44px;border:2px solid var(--ink);padding:10px 16px;color:var(--ink);background:var(--pink);font-size:13px;font-weight:800;box-shadow:3px 3px 0 var(--deep)}
.catch-play:hover{background:var(--lime)}
.catch-status{font-size:11px;line-height:1.7;max-width:350px;min-height:38px;margin-top:9px;color:var(--paper)}
.curly-companion{position:fixed;right:20px;bottom:20px;width:200px;z-index:50;pointer-events:none;isolation:isolate}
.curly-bubble{margin:0 0 4px auto;max-width:200px;padding:12px 14px;border:2px solid var(--ink);border-radius:18px 18px 2px 18px;background:var(--paper);color:var(--ink);box-shadow:4px 4px 0 var(--pink);font-size:12px;line-height:1.65;font-weight:800;overflow-wrap:anywhere}
.catch-actor{width:160px;height:323px;margin-left:auto;transform-origin:50% 90%;will-change:transform}
.catch-actor canvas,.catch-actor>img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(3px 4px 0 rgba(4,23,17,.22))}
.catch-playing .catch-actor{width:200px;height:404px}
.companion-controls{display:flex;justify-content:flex-end;gap:4px;margin-top:3px}
.companion-controls button{pointer-events:auto;min-height:44px;padding:8px 10px;border:2px solid var(--ink);background:var(--lime);color:var(--ink);font-size:11px;font-weight:800}
.companion-controls button:hover{background:var(--pink)}
.projectile-stage{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:100}
.viewport-projectile{position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;background:var(--lime);border:1px solid var(--deep);box-shadow:inset -3px -3px 0 rgba(70,90,18,.25);transform-origin:center;pointer-events:none;z-index:100;contain:layout style}
.catch-ball-holes{display:block;position:absolute;inset:2px;border-radius:50%;background:radial-gradient(circle at 25% 30%,var(--green) 0 1.3px,transparent 1.6px),radial-gradient(circle at 75% 30%,var(--green) 0 1.3px,transparent 1.6px),radial-gradient(circle at 50% 75%,var(--green) 0 1.3px,transparent 1.6px)}
@media(max-width:600px){.hero{min-height:1000px}.hero-scene{top:570px}.curly-companion{right:10px;bottom:max(10px,env(safe-area-inset-bottom));width:150px}.curly-bubble{font-size:10px;padding:8px 10px;max-width:150px}.catch-actor{width:82px;height:165px}.catch-playing .catch-actor{width:140px;height:283px}.companion-controls button{font-size:10px;padding:7px 8px}.catch-status{max-width:260px;font-size:10px}}
@media(max-width:350px){.catch-actor{width:74px;height:149px}.curly-companion{width:138px}.curly-bubble{max-width:138px}.catch-playing .catch-actor{width:125px;height:252px}.hero{min-height:980px}.hero-scene{top:560px}}
@media(prefers-reduced-motion:reduce){.catch-actor{will-change:auto}}
.motion-off .catch-actor{will-change:auto}

/* Keep all lime CTAs readable, including their inherited arrow. */
.primary-button,.primary-button:hover,.primary-button:focus-visible,.primary-button:active{color:var(--ink)}
.primary-button>span{color:inherit}

/* Generated walking poses: small body, fixed floor, finite movement only. */
.curly-companion.catch-has-walk:not(.catch-playing) .catch-actor{width:128px;height:176px}
@media(max-width:600px){.curly-companion.catch-has-walk:not(.catch-playing) .catch-actor{width:80px;height:110px}}
@media(max-width:350px){.curly-companion.catch-has-walk:not(.catch-playing) .catch-actor{width:74px;height:102px}}

/* Mobile companion gets its own dock; page content has a separate scroll area. */
.page-surface{min-width:0}
@media(max-width:600px){
  html,body{height:100%;overflow:hidden}
  body{height:100dvh}
  :root{--companion-dock-height:0px}
  :root.companion-open{--companion-dock-height:min(248px,38dvh)}
  .page-surface{height:calc(100dvh - var(--companion-dock-height));overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scroll-padding-bottom:16px}
  .curly-companion{left:0;right:0;bottom:0;width:auto;height:var(--companion-dock-height);box-sizing:border-box;padding:12px 14px max(12px,env(safe-area-inset-bottom));display:grid;grid-template-columns:minmax(0,1fr) 116px;grid-template-rows:1fr auto;gap:8px;background:var(--paper);border-top:3px solid var(--ink);box-shadow:0 -5px 0 var(--pink);overflow:hidden}
  .curly-bubble{grid-column:1;grid-row:1;align-self:end;width:100%;max-width:none;margin:0;padding:10px 11px;font-size:12px;line-height:1.6;max-height:100%;overflow:auto}
  .companion-stage{grid-column:2;grid-row:1/span 2;min-width:0;min-height:0;display:flex;justify-content:center;align-items:flex-end;overflow:hidden}
  .curly-companion .catch-actor,.curly-companion.catch-playing .catch-actor{width:96px;height:194px;max-height:100%;margin:0;flex:0 0 auto}
  .curly-companion.catch-has-walk:not(.catch-playing) .catch-actor{width:80px;height:110px}
  .companion-controls{grid-column:1;grid-row:2;justify-content:flex-start;gap:6px;margin:0}
  .companion-controls button{font-size:11px;padding:8px 10px}
}
@media(max-width:350px){.curly-companion{padding-left:12px;padding-right:12px;grid-template-columns:minmax(0,1fr) 110px;gap:6px}.curly-bubble{font-size:11px;padding:9px}.companion-controls{gap:4px}.companion-controls button{font-size:10px;padding:7px 8px}.curly-companion.catch-has-walk:not(.catch-playing) .catch-actor{width:74px;height:102px}}

.catch-busy .curly-bubble,.catch-busy .companion-stage{visibility:hidden}

.curly-companion[hidden]{display:none!important}

/* v6: independent full-viewport actor; speech and controls have a reserved rail. */
html,body{height:100%;overflow:hidden}
body{height:100dvh}
:root{--companion-dock-height:0px}
:root.companion-open{--companion-dock-height:96px}
.page-surface{height:calc(100dvh - var(--companion-dock-height));overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scroll-padding-bottom:16px}
.curly-companion.full-roam{inset:0;width:auto;height:100dvh;padding:0;display:block;background:transparent;border:0;box-shadow:none;overflow:hidden;pointer-events:none}
.full-roam:after{content:"";position:absolute;left:0;right:0;bottom:0;height:var(--companion-dock-height);background:var(--paper);border-top:2px solid var(--ink);z-index:-1}
.full-roam .companion-stage{position:absolute;left:0;top:0;width:96px;height:132px;display:block;overflow:visible;will-change:transform}
.curly-companion.full-roam .catch-actor,.curly-companion.full-roam.catch-has-walk:not(.catch-playing) .catch-actor{width:96px;height:132px;max-height:none;margin:0}
.curly-companion.full-roam.catch-playing .catch-actor,.full-roam.catch-playing .companion-stage{width:140px;height:283px}
.full-roam .curly-bubble{position:fixed;margin:0;padding:8px 11px;max-width:none;max-height:min(76px,calc(100dvh - 64px));overflow:auto;font-size:12px;line-height:1.55;pointer-events:auto;box-shadow:3px 3px 0 var(--pink)}
.full-roam .companion-controls{position:fixed;right:12px;bottom:max(10px,env(safe-area-inset-bottom));margin:0;display:flex;gap:6px}
.curly-pointer{position:absolute;font-size:26px;line-height:1;color:var(--ink);background:var(--lime);border:1px solid var(--ink);border-radius:50%;pointer-events:none}
.curly-pointer[hidden],.curly-bubble[hidden]{display:none!important}
.roam-no-space .companion-stage{visibility:hidden}
[data-curly-near="product"],[data-curly-near="announcement"]{outline:3px dashed var(--pink);outline-offset:3px}
@media(max-width:600px){
  :root.companion-open{--companion-dock-height:calc(144px + env(safe-area-inset-bottom))}
  .full-roam .companion-stage,.curly-companion.full-roam .catch-actor,.curly-companion.full-roam.catch-has-walk:not(.catch-playing) .catch-actor{width:64px;height:88px}
  .curly-companion.full-roam.catch-playing .catch-actor,.full-roam.catch-playing .companion-stage{width:96px;height:194px}
  .full-roam .curly-bubble{font-size:11px;max-height:76px;padding:7px 10px}
  .full-roam .companion-controls{right:12px;bottom:max(10px,env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){.full-roam .companion-stage{will-change:auto}}
.motion-off .full-roam .companion-stage{will-change:auto}

/* v7: scrolling pauses/replans; the fixed actor remains visible. */
.full-roam.catch-busy .companion-stage,.full-roam.roam-no-space .companion-stage{visibility:visible}
.curly-companion.full-roam.rail-park .catch-actor,.curly-companion.full-roam.rail-park.catch-has-walk:not(.catch-playing) .catch-actor,.full-roam.rail-park .companion-stage{width:56px;height:77px}
.curly-companion.full-roam.contact-playing .catch-actor,.full-roam.contact-playing .companion-stage{width:120px;height:242px}
@media(max-width:600px){
  .curly-companion.full-roam.rail-park .catch-actor,.curly-companion.full-roam.rail-park.catch-has-walk:not(.catch-playing) .catch-actor,.full-roam.rail-park .companion-stage{width:64px;height:88px}
  .curly-companion.full-roam.contact-playing .catch-actor,.full-roam.contact-playing .companion-stage{width:86px;height:174px}
}

/* Normalize the overlay to the visible viewport, including keyboard/zoom offsets. */
.page-surface{height:calc(var(--scene-visible-height,100dvh) - var(--companion-dock-height))}
.curly-companion.full-roam{left:var(--scene-offset-x,0px);top:var(--scene-offset-y,0px);right:auto;bottom:auto;width:var(--scene-visible-width,100vw);height:var(--scene-visible-height,100dvh)}
.full-roam .curly-bubble,.full-roam .companion-controls{position:absolute}

/* Prevent focus scrolling inside the decorative hero clip. */
.hero{overflow:clip}
/* Hover activates the registered title, never raw cursor coordinates. */
[data-curly-hover="title"]{pointer-events:auto}
.catch-hover-hint{font-size:11px;line-height:1.6;margin-top:10px;max-width:360px}
.hover-fine-hint{display:none}
@media(hover:hover) and (pointer:fine){
  [data-curly-hover="title"]{cursor:pointer}
  .hover-fine-hint{display:inline}
  .hover-touch-hint{display:none}
}

/* Bubble stays readable while geometry or travel changes; close still uses [hidden]. */
.full-roam.catch-busy .curly-bubble,.full-roam.rail-park .curly-bubble{visibility:visible;opacity:1}
.full-roam .curly-bubble{z-index:2}

/* Explicit calls stay independent of product links. */
[data-curly-hover],.curly-call{pointer-events:auto}
.curly-call{min-height:44px;padding:8px 10px;border:1px solid var(--ink);background:var(--paper);color:var(--ink);font-size:11px;font-weight:800;cursor:pointer}
.product-call{position:absolute;right:12px;top:52px;z-index:2}
.notice-call{position:absolute;right:205px;top:115px}
@media(max-width:600px){.notice-call{right:155px;top:68px}}
@media(hover:hover) and (pointer:fine){[data-curly-hover]{cursor:pointer}}
/* Head-anchored speech; pointer events pass through to the original CTA. */
.full-roam .curly-bubble{font-size:13px;line-height:20px;padding:9px 12px;max-height:102px;overflow:auto;pointer-events:none;border-radius:16px;box-shadow:2px 3px 0 var(--pink);z-index:2}
.full-roam .curly-bubble-tail{position:absolute;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:9px solid var(--paper);transform:translateX(-50%);z-index:3;pointer-events:none}
.full-roam .curly-bubble[hidden]+.curly-bubble-tail{display:none}

/* v12: native source product images and the full equipment cabinet. */
.product-photo{display:block;width:100%;height:100%;object-fit:contain;image-orientation:from-image}
.locker-art:has(.product-photo){inset:15px 18px 32px;width:auto;max-width:none;height:auto;transform:none;filter:none}
.locker-art .product-photo{border-radius:2px;background:#fff}
.hero-paddle .product-photo{border:2px solid var(--ink);background:var(--paper);padding:12px;border-radius:3px;box-shadow:14px 14px 0 rgba(9,25,19,.18)}
.missing-photo{background:var(--paper);color:var(--ink);border:2px dashed var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;gap:12px;font-weight:800;text-align:center;min-height:120px}
.missing-photo small{font-size:12px;font-weight:400}
.catalog-section{background:#e7ebde;border-top:2px solid var(--ink)}
.catalog-tools{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:18px;flex-wrap:wrap}
.catalog-filters{display:flex;gap:7px;flex-wrap:wrap;max-width:100%}
.catalog-filter{min-height:44px;padding:10px 15px;font-family:inherit;font-size:13px;font-weight:800;line-height:1.4;background:var(--paper);border:1px solid var(--ink);color:var(--ink)}
.catalog-filter[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.catalog-search{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:800;min-width:0;width:280px;max-width:100%}
.catalog-search input{min-height:44px;width:100%;min-width:0;font:inherit;font-size:14px;border:1px solid var(--ink);background:var(--paper);padding:10px 12px;color:var(--ink)}
.catalog-count{font-size:12px;margin:15px 0 20px}.catalog-card[hidden]{display:none!important}
.catalog-card .locker-info{gap:10px;align-items:start;min-height:118px}.catalog-card .locker-info h3{font-size:27px;overflow-wrap:anywhere;letter-spacing:-1px}.catalog-card .locker-info strong{font-size:20px;white-space:nowrap}
.catalog-grid{align-items:stretch}.catalog-card{display:flex;flex-direction:column;min-width:0}.catalog-card .locker-cta{margin-top:auto}
.photo-stage{min-height:580px;padding:110px 20px 115px;display:flex;flex-direction:column;gap:14px}
.photo-stage .stage-title{font-size:clamp(28px,3.5vw,55px);letter-spacing:-2px;right:18px;overflow-wrap:anywhere;line-height:1.05}
.gallery-main{margin:0;position:relative;z-index:2;min-width:0}.gallery-main>.product-photo{height:390px;max-width:100%;background:var(--paper);border:1px solid var(--ink);padding:15px}
.gallery-main figcaption{font-size:11px;line-height:1.6;margin-top:9px;color:var(--paper)}
.gallery-thumbs{display:flex;gap:8px;flex-wrap:wrap;position:relative;z-index:2}.gallery-thumbs button{width:58px;height:58px;min-height:44px;background:var(--paper);padding:3px;border:1px solid var(--paper)}.gallery-thumbs button[aria-pressed="true"]{outline:3px solid var(--lime);outline-offset:1px}
.product-options{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.product-option{display:flex;flex-direction:column;gap:8px;flex:1 1 170px;min-width:0;max-width:100%;font-size:12px;font-weight:800}.product-option select{min-height:44px;max-width:100%;width:100%;font-size:13px;padding:10px 8px;background:var(--paper);color:var(--ink);border:1px solid var(--ink)}
.selection-summary{font-size:12px;line-height:1.7;overflow-wrap:anywhere}.spec-row dt small{display:block;font-size:10px;font-weight:400}.pending-note ul{padding-left:18px;margin:8px 0 0}.pending-note li+li{margin-top:6px}.variant-reason{font-size:12px;line-height:1.7;color:#57382f;min-height:1em}.primary-button:disabled{opacity:.6;cursor:default}
.bag-thumb .product-photo{height:70px}.bag-line p,.bag-line a{overflow-wrap:anywhere}.bag-line a{font-size:11px;text-decoration:underline;text-underline-offset:3px}.bag-line>div{min-width:0}
@media(max-width:900px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-card .locker-info{display:block}.catalog-card .locker-info strong{display:block;margin-top:12px}.product-info h1{font-size:clamp(35px,5vw,68px);overflow-wrap:anywhere}}
@media(max-width:600px){.catalog-grid{grid-template-columns:minmax(0,1fr)}.catalog-card .locker-info{display:flex;min-height:95px}.catalog-card .locker-info strong{margin-top:0}.catalog-card .locker-info h3{font-size:25px}.catalog-tools{gap:18px}.catalog-search{width:100%}.catalog-filter{padding:10px 12px}.photo-stage{min-height:490px;padding:90px 14px 105px}.photo-stage .stage-title{font-size:36px}.gallery-main>.product-photo{height:310px;padding:12px}.product-info h1{font-size:clamp(35px,10vw,51px);line-height:1.15;letter-spacing:-2px}.product-buy-row{flex-wrap:wrap}.product-buy-row .primary-button{min-width:150px}.gallery-thumbs button{width:52px;height:52px}.product-option{flex-basis:100%}.bag-line{grid-template-columns:48px minmax(0,1fr) auto}.bag-thumb{width:46px}.bag-line h3{font-size:15px}}

.product-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.photo-stage,.catalog-card .locker-info>div{min-width:0}.catalog-card .locker-info>div{flex:1}
@media(max-width:600px){.product-layout{grid-template-columns:minmax(0,1fr)}}

/* v13: homepage breathing room; native standalone catalog page. */
.all-products-door{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:60px 5.2%;border-top:2px solid var(--ink);background:var(--lime)}
.all-products-door h2{font-size:clamp(30px,4vw,55px);line-height:1.12;letter-spacing:-2px;margin:16px 0}.all-products-door h2 span{color:var(--green)}.all-products-door p{line-height:1.8}.all-products-door .primary-button{flex-shrink:0;box-shadow:5px 5px 0 var(--ink)}
.catalog-arrival{padding:60px 5.2% 40px;background:var(--green);color:var(--paper);border-bottom:2px solid var(--ink)}.catalog-arrival h1{font-size:clamp(38px,5vw,76px);line-height:1.12;letter-spacing:-3px;margin:18px 0}.catalog-arrival h1 span{color:var(--lime)}.catalog-arrival>p{line-height:1.8;max-width:620px}.catalog-arrival-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.catalog-arrival-actions>*{min-height:44px;display:inline-flex;align-items:center;background:var(--paper);color:var(--ink);padding:10px 15px;border:2px solid var(--ink);font-weight:800;box-shadow:3px 3px 0 var(--pink)}
.catalog-page .catalog-section{padding-top:48px}.catalog-page .section-heading h2{font-size:clamp(38px,5vw,64px)}
@media(max-width:600px){.all-products-door{display:block;padding:40px 5.2%}.all-products-door .primary-button{display:inline-flex;margin-top:22px}.catalog-arrival{padding-top:38px}.catalog-arrival h1{letter-spacing:-2px}.catalog-arrival-actions{gap:9px}.catalog-page .catalog-section{padding-top:35px}}

/* v14: original RGB cutouts; effects are CSS shadows only. */
.locker-art .product-photo.is-cutout{background:transparent;border:0;border-radius:0;filter:drop-shadow(8px 13px 0 rgba(16,44,36,.22))}
.hero-paddle .product-photo.is-cutout{background:transparent;border:0;padding:0;border-radius:0;box-shadow:none;max-height:590px}
.hero-paddle:has(.is-cutout){width:285px;height:550px}.hero-paddle .product-photo.is-cutout{height:100%;max-height:none}
.gallery-main>.product-photo.is-cutout{background:transparent;border:0;padding:10px 16px;filter:drop-shadow(9px 14px 0 rgba(7,28,21,.3))}
.gallery-thumbs .product-photo.is-cutout,.bag-thumb .product-photo.is-cutout{background:transparent}
.catalog-card:has(.is-cutout) .art-link{background-color:var(--paper)}
@media(max-width:600px){.hero-paddle:has(.is-cutout){width:180px;height:348px;left:calc(50% - 70px);top:0}}

/* v15: full catalog presentation, native RGB unchanged */
.catalog-card .locker-art .product-photo.is-cutout{padding:5px 10px;filter:drop-shadow(5px 8px 0 rgba(16,44,36,.18))}
.locker-art .product-photo.is-source-card{background:var(--paper);border:1px solid var(--ink);padding:8px;box-shadow:5px 6px 0 rgba(16,44,36,.16)}
.catalog-card:has(.is-source-card) .art-link{background-color:var(--paper)}
.gallery-main>.product-photo.is-source-card{background:var(--paper);border:1px solid var(--ink);padding:12px;box-shadow:6px 8px 0 rgba(7,28,21,.2)}
.gallery-thumbs .product-photo.is-source-card,.bag-thumb .product-photo.is-source-card{background:var(--paper);padding:2px}
