@font-face{font-family:Pretendard;src:url('./assets/PretendardVariable.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{color-scheme:light;--ink:#0d0d0d;--muted:#636363;--line:#e4e4e4;--subtle:#f8f8f8}
*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font-family:Pretendard,"Malgun Gothic","Apple SD Gothic Neo",sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.35}a{color:inherit}button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid #3567d0;outline-offset:4px}[hidden]{display:none!important}
.masthead{height:64px;border-bottom:1px solid var(--line)}.header-inner{max-width:1440px;height:100%;margin:auto;padding:0 40px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:750;font-size:13px;letter-spacing:.03em}.brand img{object-fit:contain}.brand>span{font-weight:400;color:var(--muted)}.edition{font-size:10px;color:var(--muted);letter-spacing:.12em}main{max-width:1440px;padding:76px 40px 100px;margin:auto}.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:600;color:var(--muted)}.intro h1{font-size:clamp(44px,5vw,76px);line-height:1.12;letter-spacing:-.065em;font-weight:700;margin:20px 0 24px}.intro-copy{font-size:15px;color:var(--muted);line-height:1.8;margin:0}.intro{padding-bottom:48px}.sample-notice{font-size:12px;font-weight:700;line-height:1.7;color:var(--muted);border-bottom:1px solid var(--line);padding:15px 0;margin:0 0 40px}.calculator-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:40px;align-items:start}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px;min-height:28px}.section-heading>span{font-size:11px;color:var(--muted)}h2{font-size:18px;letter-spacing:-.03em;margin:0;font-weight:650}#product-count{font-size:12px;font-weight:400;margin-left:7px;color:var(--muted)}#product-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.product{border:1px solid var(--line);padding:16px;display:flex;flex-direction:column;gap:16px;min-width:0}.product-photo{height:250px;width:100%;position:relative;display:flex;align-items:center;justify-content:center;background:#fff;overflow:hidden}.product-photo img{height:100%;width:100%;object-fit:contain;padding:16px}.image-fallback{font-size:12px;color:var(--muted);text-align:center;padding:16px;line-height:1.8}.product-status{position:absolute;left:0;top:0;background:var(--subtle);padding:4px 7px;font-size:10px;color:var(--muted)}.product-detail{margin-top:auto}.product h3{font-size:16px;letter-spacing:-.025em;line-height:1.4;margin:0 0 7px;font-weight:650}.product-detail p{font-size:11px;color:var(--muted);margin:4px 0}.product-price{display:flex;align-items:baseline;gap:7px;margin-top:12px;flex-wrap:wrap}.unit-price{font-size:16px;font-weight:650;font-variant-numeric:tabular-nums}.regular-unit{font-size:11px;color:var(--muted);text-decoration:line-through}.verified-label{font-size:10px;color:var(--muted)}.product-selection{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:14px;gap:10px}.stepper{display:flex;border:1px solid var(--line);border-radius:6px;overflow:visible}.stepper button{width:36px;min-height:38px;border:0;background:none;font-size:18px;color:var(--ink)}.stepper input{width:40px;text-align:center;border:0;background:none;color:var(--ink);font-size:12px;appearance:textfield;-moz-appearance:textfield;border-radius:0}.stepper input::-webkit-inner-spin-button,.stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.subtotal{font-size:12px;font-weight:600;margin:0;font-variant-numeric:tabular-nums}.summary-column{position:sticky;top:24px;display:grid;gap:16px}.settings,.gifts,.receipt{border:1px solid var(--line);padding:24px}.settings h2{font-size:15px;margin-bottom:20px}.discount-control{display:flex;align-items:center;position:relative;cursor:pointer;gap:12px}.discount-control>span:first-child{flex:1}.discount-control strong{display:block;font-size:13px;font-weight:550}.discount-control small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.discount-control input{position:absolute;right:0;width:38px;height:24px;opacity:0;cursor:pointer}.switch{width:38px;height:22px;border-radius:20px;background:#dedede;position:relative;pointer-events:none}.switch:after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;top:3px;left:3px}.discount-control input:checked+.switch{background:var(--ink)}.discount-control input:checked+.switch:after{left:19px}.discount-control input:focus-visible+.switch{outline:2px solid #3567d0;outline-offset:4px}.pickup-venue,.receipt-venue{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin:22px 0 0}.pickup-venue span,.receipt-venue{color:var(--muted)}.pickup-venue strong,.receipt-venue strong{font-weight:550;color:var(--ink)}.setting-note{font-size:10px;color:var(--muted);margin:15px 0 0}.gift-heading{display:flex;justify-content:space-between;align-items:center}.gift-heading h2{font-size:15px}.small-tag{font-size:9px;background:#f0f0f0;padding:3px 6px}.gift-rule,.gift-caution{font-size:10px;color:var(--muted);line-height:1.7}.gift-caution{border-top:1px solid var(--line);padding-top:12px;margin:14px 0 0}.gift-progress-text{font-size:12px;line-height:1.7;margin:16px 0 10px}.gift-progress-bar{height:3px;background:var(--line);overflow:hidden}.gift-progress-bar span{display:block;background:var(--ink);height:100%;max-width:100%}.gift-item{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.gift-item:last-child{border:0;padding-bottom:0}.gift-item .product-photo{width:56px;height:64px;flex-shrink:0;background:var(--subtle)}.gift-item img{padding:4px}.gift-item .image-fallback{font-size:9px;padding:3px}.gift-item h3{font-size:12px;margin:0 0 4px;font-weight:550}.gift-item p{font-size:10px;color:var(--muted);margin:2px 0}.gift-state{font-size:10px;margin-top:6px;display:block;font-weight:550}.gift-state.reached{color:#217342}.receipt-heading h2{font-size:20px;margin-top:6px}.receipt-heading .eyebrow{font-size:9px}#receipt-lines,#receipt-gifts{list-style:none;padding:0;margin:0}#receipt-lines{margin-top:22px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.receipt-line{display:flex;justify-content:space-between;gap:16px;font-size:11px;margin:12px 0;align-items:center}.receipt-line span{line-height:1.7}.receipt-line strong{line-height:1.7;white-space:nowrap;font-weight:550;font-variant-numeric:tabular-nums}.receipt-gift{color:#217342}.empty{font-size:12px;color:var(--muted);padding:10px 0}.total-label,.total-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.total-label{font-size:11px;color:var(--muted);margin-top:13px}.total-row{border-top:1px solid var(--line);padding-top:20px;margin-top:20px;font-size:12px}.total-row strong{font-size:28px;font-weight:650;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.receipt-note{font-size:10px;color:var(--muted);line-height:1.8;margin:16px 0 24px}.save-receipt,.reset{width:100%;min-height:44px;border-radius:6px;font-size:12px;font-weight:550}.save-receipt{display:flex;justify-content:space-between;align-items:center;background:var(--ink);color:white;border:1px solid var(--ink);padding:0 16px}.save-receipt span{font-size:20px}.reset{background:white;border:1px solid var(--line);margin-top:8px}.storage-note{font-size:9px;color:var(--muted);text-align:center;margin:14px 0 0}.error{padding:16px;background:#fff0eb;color:#a32920;font-size:13px}#receipt-image{display:block;width:100%;height:auto;margin-top:12px;border:1px solid var(--line)}#receipt-download{display:block;text-align:center;font-size:12px;margin:10px 0}footer{max-width:1440px;border-top:1px solid var(--line);padding:24px 40px;margin:auto;display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:10px;letter-spacing:.04em}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.summary-column{max-height:calc(100dvh - 48px);overflow-y:auto;scrollbar-width:thin}.settings{order:0}.receipt{order:1}.gifts{order:2}.mobile-summary{display:none}#receipt-title{scroll-margin-top:28px}
@media(min-width:781px){.summary-column{margin-top:48px}}
@media(min-width:1500px){#product-list{grid-template-columns:repeat(3,minmax(0,1fr))}.product-photo{height:230px}}
@media(max-width:1050px){.calculator-layout{grid-template-columns:minmax(0,1fr) 320px;gap:24px}.product-photo{height:190px}.product{padding:12px}.product h3{font-size:14px}.settings,.gifts,.receipt{padding:20px}}
@media(max-width:780px){.header-inner{padding:0 20px}.brand{font-size:10px;gap:8px}.edition{font-size:8px;letter-spacing:.07em}main{padding:44px 20px 60px}.intro{padding-bottom:30px}.intro h1{font-size:40px;margin:16px 0 20px}.intro-copy{font-size:13px}.sample-notice{font-size:10px;margin-bottom:28px}.calculator-layout{display:flex;flex-direction:column;gap:28px}.summary-column{display:contents}.settings{order:-1;width:100%}.products{order:0;width:100%}.receipt{order:1;width:100%}.gifts{order:2;width:100%}.product-photo{height:280px}.product{padding:16px}.product h3{font-size:17px}.product-selection{padding-top:16px}.stepper button{min-height:42px}.subtotal{font-size:14px}.settings,.gifts,.receipt{padding:24px}#product-list{grid-template-columns:1fr;gap:16px}.receipt-heading h2{font-size:22px}.receipt-line{font-size:12px}.total-label{font-size:12px}.save-receipt,.reset{min-height:48px}footer{padding:24px 20px calc(100px + env(safe-area-inset-bottom));font-size:9px}.mobile-summary{display:flex;position:fixed;z-index:5;bottom:0;left:0;right:0;align-items:center;justify-content:space-between;background:#fff;border-top:1px solid var(--line);padding:13px 20px calc(13px + env(safe-area-inset-bottom));box-shadow:0 -3px 18px #00000005}.mobile-summary>div{display:flex;align-items:baseline;gap:10px}.mobile-summary strong{font-size:22px;letter-spacing:-.04em;font-weight:650}.mobile-summary>div>span{font-size:10px;color:var(--muted)}.mobile-summary a{display:flex;align-items:center;gap:16px;min-height:40px;padding:0 17px;border-radius:6px;background:var(--ink);color:#fff;text-decoration:none;font-size:12px}#receipt-title{scroll-margin-top:24px}}
@media(prefers-reduced-motion:no-preference){.switch,.switch:after,button{transition:all .15s ease}}
.catalog-empty{grid-column:1/-1;border:1px solid var(--line);padding:70px 24px;text-align:center}.catalog-empty h3{font-size:20px;font-weight:600;letter-spacing:-.04em;margin:0 0 12px}.catalog-empty p{font-size:12px;color:var(--muted);margin:0}.sold-out .product-photo img{opacity:.35;filter:grayscale(1)}.sold-out .product-status{background:var(--ink);color:#fff}.sold-out .product-detail{color:var(--muted)}
.image-region{position:relative;overflow:hidden;flex-shrink:0;max-width:100%;max-height:100%}.image-region img{max-width:none;max-height:none;padding:0!important;object-fit:fill}.product-detail .included-gift{color:#217342;line-height:1.7;margin-top:8px}
.event-dates{display:block;margin-top:16px;font-size:11px;color:var(--muted)}
main{padding-top:32px}@media(max-width:780px){main{padding-top:24px;padding-bottom:calc(100px + env(safe-area-inset-bottom))}}
.copy-receipt{width:100%;min-height:44px;margin-top:8px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-size:12px;font-weight:550}.copy-status{font-size:11px;color:var(--muted);margin:10px 0;line-height:1.7}.copy-status:empty{display:none}#copy-fallback label{display:block;font-size:11px;margin:12px 0 6px;color:var(--muted)}#receipt-text{width:100%;resize:vertical;min-height:180px;border:1px solid var(--line);border-radius:4px;padding:10px;font:12px/1.7 Pretendard,"Malgun Gothic",sans-serif;color:var(--ink);background:#fafafa}
