:root{--navy:#142a3b;--navy-raised:#203b50;--amber:#f2a43b;--amber-hover:#e89428;--canvas:#f6f4ef;--surface:#fffefc;--subtle:#eef1f3;--text:#19222b;--muted:#56616b;--link:#1769a6;--price:#9a3412;--border:#d5d8d8;--border-strong:#aab2b7;--focus:#2e75b6;--error:#b42318;--radius:6px;--on-navy:white;--transparent:transparent;--rating-star:#b56b00;--discount:#8a5a00;--ad-border:#8e9aa3;--review-heading:#fff3d7;--primary-border:#d98218;--backdrop:#09161f85;--card-raised:0 1px 2px #142a3b14,0 3px 10px #142a3b0f;--button-radius:4px;--dialog-radius:14px;--overlay:0 18px 48px #0a19243d;--radius-round:50%;--font-ui:"BIZ UDPGothic","Hiragino Kaku Gothic ProN","Yu Gothic UI",sans-serif;--font-brand:"Shippori Mincho B1","Yu Mincho",serif}*{box-sizing:border-box}html{color:var(--text);background:var(--canvas);font-family:var(--font-ui);scroll-padding-bottom:80px}body{min-width:0;margin:0}button,input{font:inherit}button,a,input{touch-action:manipulation}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.brand-logo{width:auto;min-width:144px;height:36px;display:block}.button{border:1px solid var(--border-strong);border-radius:var(--button-radius);background:var(--surface);min-height:44px;color:var(--text);cursor:pointer;padding:10px 16px}.button:hover{background:var(--subtle)}.button--primary{border-color:var(--primary-border);background:var(--amber);color:var(--navy);font-weight:700}.button--primary:hover{background:var(--amber-hover)}.button:disabled{cursor:not-allowed;opacity:.48}body:has(dialog[open]){overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.skip-link{z-index:130;background:var(--surface);padding:12px;position:fixed;top:-60px;left:8px}.skip-link:focus{top:8px}.site-header{z-index:100;background:var(--navy);color:var(--on-navy);position:sticky;top:0}.header-main{grid-template-columns:172px minmax(260px,1fr) auto auto 92px;align-items:center;gap:8px;max-width:1280px;min-height:64px;margin:auto;padding:8px 0;display:grid}.brand{color:var(--on-navy);font:600 26px/1.2 var(--font-brand);text-decoration:none;position:relative}.brand small{font:11px/1.2 var(--font-ui);display:block}.search{border-radius:var(--button-radius);border:3px solid #0000;grid-template-columns:auto minmax(0,1fr) 48px;min-width:0;display:grid}.search:focus-within{border-color:var(--amber)}.search select{border:0;border-right:1px solid var(--border);color:#2e3840;background:#e6e8ea;border-radius:3px 0 0 3px;width:104px;height:42px;padding:0 28px 0 10px}.search input{border:0;border-radius:0;width:100%;min-width:0;height:42px;padding:0 14px;font-size:16px}.search select:focus,.search input:focus,.search__submit:focus{outline:none}.search__submit{background:var(--amber);width:48px;height:42px;color:var(--navy);cursor:pointer;border:0;border-radius:0 3px 3px 0;place-items:center;display:grid}.search__submit:hover{background:var(--amber-hover)}.search__submit svg{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;width:24px}.header-meta{min-height:48px;color:var(--on-navy);white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;flex-direction:column;justify-content:center;align-items:flex-start;padding:5px 8px;text-decoration:none;display:flex}.header-meta:hover,.header-meta:focus-visible,.header-cart:hover,.header-cart:focus-visible{border-color:currentColor;outline:none}.header-meta small{font-size:11px;font-weight:400}.header-meta strong{font-size:13px}.header-cart{min-height:48px;color:var(--on-navy);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;grid-template-columns:34px auto;align-items:end;gap:2px;padding:5px 6px;display:grid;position:relative}.header-cart__icon{fill:none;stroke:currentColor;stroke-width:2.3px;stroke-linecap:round;stroke-linejoin:round;width:34px}.header-cart__count{background:var(--amber);min-width:20px;height:20px;color:var(--navy);border-radius:999px;place-items:center;padding:0 5px;font-size:12px;font-weight:800;display:grid;position:absolute;top:0;left:25px}.header-cart strong{font-size:13px}.category-nav{background:var(--navy-raised);min-height:40px;padding-inline:max(0px,50% - 640px)}.category-nav__inner{gap:2px;min-width:0;display:flex;overflow-x:auto}.category-nav button{min-height:44px;color:var(--on-navy);background:var(--transparent);border:0;flex:none;padding:0 12px;font-weight:700}.category-nav button[aria-pressed=true]{-webkit-text-decoration:underline 3px var(--amber);text-decoration:underline 3px var(--amber);text-underline-offset:7px}.main{max-width:1280px;margin:auto;padding:28px 0 48px;scroll-margin-top:116px}.intro{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px;padding:10px 24px}.intro h1{margin:0;font-size:28px;line-height:1.4}.intro p{color:var(--muted);margin:0;font-size:14px}.results-head{justify-content:space-between;align-items:center;min-height:44px;display:flex}.results-head h2{margin:0;font-size:18px}.results-count{color:var(--muted)}.grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;display:grid}.product-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:10px;min-width:0;padding:12px;display:flex}.product-card:hover{box-shadow:var(--card-raised)}.product-card__detail{text-align:left;background:var(--transparent);min-width:0;color:inherit;cursor:pointer;border:0;padding:0}.product-card h2{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:3em;margin:8px 0 0;font-size:16px;line-height:1.5;display:-webkit-box;overflow:hidden}.product-image{aspect-ratio:1;border-radius:var(--button-radius);background:var(--subtle);display:block;overflow:hidden}.product-image img{object-fit:cover;width:100%;height:100%;display:block}.rating{color:var(--link);font-size:14px}.rating__stars{color:var(--rating-star);letter-spacing:-1px}.price-block{flex-direction:column;justify-content:flex-end;min-height:62px;display:flex}.compare{color:var(--muted);justify-content:space-between;gap:8px;font-size:13px;display:flex}.compare strong{color:var(--discount)}.price{color:var(--price);font:700 21px/1.3 var(--font-brand);font-variant-numeric:tabular-nums}.tax{color:var(--muted);font-size:13px}.product-card__add{width:100%;margin-top:auto}.add-button{transition:filter .36s cubic-bezier(.16,1,.3,1),box-shadow .36s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.add-button:active{transition-duration:80ms;transform:scale(.97)}.add-button[data-add-phase=charge]{animation:.11s cubic-bezier(.16,1,.3,1) both add-charge}.add-button[data-add-phase=settled]{filter:saturate(1.12);box-shadow:0 0 0 3px #ff990038,0 0 22px #ff990057}.add-button__check{animation:.11s cubic-bezier(.34,1.36,.64,1) both add-check;display:inline-block}.empty{border:1px solid var(--border);background:var(--surface);text-align:center;padding:32px}.empty button{margin-top:12px}.ad-row{background:var(--subtle);border:1px solid var(--ad-border);grid-column:1/-1;width:100%;min-width:250px;min-height:0;margin-block:24px}.site-footer{background:var(--navy);max-width:1280px;color:var(--on-navy);border-radius:var(--radius);justify-content:space-between;gap:24px;margin:0 auto 20px;padding:18px 24px;display:flex}.site-footer a{color:var(--on-navy);margin-left:16px}.dialog{border-radius:var(--dialog-radius);background:var(--surface);width:min(960px,100% - 32px);max-height:calc(100dvh - 32px);box-shadow:var(--overlay);border:0;padding:0;overflow:visible}.dialog::backdrop{background:var(--backdrop)}.dialog__inner{max-height:calc(100dvh - 32px);padding:28px;overflow:auto}.dialog__close{width:44px;min-height:44px;padding:0;font-size:24px;position:absolute;top:16px;right:16px}.detail__top{grid-template-columns:minmax(260px,42%) 1fr;gap:32px;padding-right:48px;display:grid}.detail h2{margin:0 0 20px;font-size:26px}.detail .price-block{margin:16px 0}.detail__description{border-top:1px solid var(--border);margin-top:24px;padding-top:18px}.reviews h3{background:var(--review-heading);padding:8px 12px}.review{border-bottom:1px solid var(--border);padding:12px 0}.review h4,.review p{margin:3px 0}.review__head{justify-content:space-between;gap:12px;display:flex}.cart-dialog{width:min(480px,100% - 32px);margin-right:16px}.cart-dialog h2{margin-top:0}.cart-line{border-bottom:1px solid var(--border);grid-template-columns:72px 1fr;gap:12px;padding:16px 0;display:grid}.cart-line .product-image{width:72px}.cart-line h3{margin:0;font-size:16px}.quantity{align-items:center;gap:12px;margin-top:8px;display:flex}.quantity button{min-width:44px;min-height:44px}.quantity__delete{margin-left:auto}.cart-summary{grid-template-columns:1fr auto;gap:8px;margin:20px 0;display:grid}.cart-summary strong{font-size:20px}.toast{z-index:40;border-radius:var(--button-radius);background:var(--navy);color:var(--on-navy);padding:12px 18px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.cart-celebrations{z-index:120;pointer-events:none;position:fixed;inset:0;overflow:hidden}.cart-flight{position:absolute;inset:0}.cart-flight__image{left:var(--start-x);top:var(--start-y);width:var(--flight-size);height:var(--flight-size);object-fit:cover;border-radius:10px;animation:.44s cubic-bezier(.22,.72,.18,1) both cart-flight;position:absolute}.cart-flight__trail{left:var(--start-x);top:calc(var(--start-y) + var(--flight-size) / 2);transform-origin:100%;border-radius:999px;width:80px;height:5px;animation:.44s cubic-bezier(.22,.72,.18,1) both cart-trail;position:absolute}.cart-flight__trail--navy{background:#14213d;margin-top:-5px}.cart-flight__trail--orange{background:#f90;margin-top:4px;animation-delay:18ms}.cart-flight__burst{left:calc(var(--end-x) + var(--flight-size) / 2);top:calc(var(--end-y) + var(--flight-size) / 2);animation:.52s cubic-bezier(.16,1,.3,1) .44s both burst-ring;position:absolute}.cart-flight__burst i{color:#f90;font-style:normal;animation:.52s cubic-bezier(.16,1,.3,1) .44s both burst-particle;position:absolute}.cart-flight__burst i:nth-child(3n){color:#14213d}.cart-flight__streak{left:var(--end-x);top:calc(var(--end-y) + 48px);color:#14213d;background:#f90;border-radius:999px;padding:4px 8px;animation:.52s cubic-bezier(.34,1.36,.64,1) .44s both streak-pop;position:absolute}.cart-flight__paper{left:var(--paper-origin-x);top:var(--paper-origin-y);width:0;height:0;position:absolute}.cart-flight__paper-piece{--paper-color:var(--amber);left:var(--paper-x);background:var(--paper-color);opacity:0;width:9px;height:17px;animation:cart-paper var(--paper-duration) var(--paper-delay) cubic-bezier(.22,.72,.18,1) both;border-radius:2px;position:absolute;top:-8px}.cart-flight__paper-piece:nth-child(3n){--paper-color:var(--navy);width:7px;height:13px}.cart-flight__paper-piece:nth-child(4n){--paper-color:#e46f20;width:12px;height:8px}.header-cart--impact{animation:.24s cubic-bezier(.34,1.36,.64,1) both cart-impact}.header-cart--impact .header-cart__count{animation:.24s cubic-bezier(.34,1.36,.64,1) both badge-settle}@keyframes add-charge{0%{filter:brightness(.92)}to{filter:brightness(1.08)}}@keyframes add-check{0%{opacity:0;transform:scale(.5)rotate(-12deg)}to{opacity:1;transform:none}}@keyframes cart-flight{0%{opacity:.96;transform:translate(0,0)scale(1)}55%{transform:translate3d(calc((var(--end-x) - var(--start-x)) * .55), calc((var(--end-y) - var(--start-y)) * .42 - 50px), 0) scale(.66);opacity:.88}to{transform:translate3d(calc(var(--end-x) - var(--start-x)), calc(var(--end-y) - var(--start-y)), 0) scale(.18);opacity:0}}@keyframes cart-paper{0%{opacity:0;transform:translateY(-10px)rotate(0)}12%{opacity:1}88%{opacity:.9}to{opacity:0;transform:translate3d(var(--paper-drift),150px,0) rotate(var(--paper-rotate))}}@keyframes cart-trail{0%{opacity:0;transform:translate(-55px)scaleX(.15)}30%{opacity:.8}to{transform:translate3d(calc(var(--end-x) - var(--start-x)), calc(var(--end-y) - var(--start-y)), 0) scaleX(0);opacity:0}}@keyframes burst-ring{0%{opacity:0;transform:scale(.2)}25%{opacity:1}to{opacity:0;transform:scale(1.25)}}@keyframes burst-particle{0%{opacity:1;transform:translate(0)rotate(0)}to{transform:translate(var(--particle-x),var(--particle-y)) rotate(var(--particle-rotate));opacity:0}}@keyframes streak-pop{0%{opacity:0;transform:translateY(6px)scale(.8)}35%{opacity:1}to{opacity:0;transform:translateY(-10px)}}@keyframes cart-impact{35%{transform:scale(.92)}70%{transform:scale(1.08)}}@keyframes badge-settle{45%{transform:translateY(-4px)scale(1.18)}}@media (prefers-reduced-motion:reduce){.add-button,.add-button:active,.add-button[data-add-phase],.header-cart--impact,.header-cart--impact .header-cart__count{transition:none;animation:none;transform:none}}[data-reduced-motion=true] .add-button{transition-duration:.12s!important}[data-reduced-motion=true] .add-button:active{transform:none}[data-reduced-motion=true] .header-cart--impact{animation:none!important}[data-reduced-motion=true] .header-cart--impact .header-cart__count{background:#ff7a00;animation:none!important}@media (prefers-reduced-motion:reduce){.add-button{transition-duration:.12s!important}.add-button:active{transform:none}.header-cart--impact,.header-cart--impact .header-cart__count{animation:none!important}.header-cart--impact .header-cart__count{background:#ff7a00}}@media (width<=1100px){.header-main,.main{margin-inline:24px}.header-main{grid-template-columns:154px minmax(240px,1fr) auto auto 82px}.header-meta small{display:none}.category-nav{padding-inline:12px 0}.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.site-footer{margin-inline:24px}}@media (width<=760px){.header-main{grid-template-columns:1fr auto;min-height:116px;margin:0 12px}.main{scroll-margin-top:168px}.search{grid-area:2/1/auto/-1}.search select{width:88px}.header-meta{display:none}.header-cart{grid-area:1/2}}@media (width<=700px){.category-nav{padding:0;display:block}.category-nav__inner{padding-inline:4px}.main{margin-inline:12px}.intro{padding:12px 16px}.intro h1{font-size:22px}.main{padding-top:24px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-card{padding:10px}.product-card h2{-webkit-line-clamp:3;min-height:4.5em}.dialog,.cart-dialog{border-radius:0;width:100%;max-width:none;height:100dvh;max-height:100dvh;margin:0;inset:0}.dialog__inner{max-height:100dvh;padding:20px 16px 88px}.detail__top{padding-right:0;display:block}.detail h2{margin-top:18px;padding-right:50px}.site-footer{flex-direction:column;margin-inline:12px}.site-footer a{margin:0 12px 0 0}}@media (width<=359px){.grid{grid-template-columns:1fr}.brand{font-size:21px}.header-link{padding-inline:9px}}
