.font-display{font-family:var(--font-headline)}.font-ledger{font-family:var(--ff-ledger)}.font-hangul{font-family:var(--ff-hangul)}.app-header{z-index:40;background:color-mix(in srgb,var(--background)92%,transparent);-webkit-backdrop-filter:saturate(1.3)blur(14px);border-bottom:1px solid var(--border);position:sticky;top:0}.seal{background:var(--cinnabar);color:#f9f6f0;font-family:var(--ff-hangul);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--cinnabar)60%,#fff 12%);border-radius:3px;place-items:center;font-weight:800;line-height:1;display:inline-grid;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='s'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' seed='11'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2.2 2.25'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23s)'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='s'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' seed='11'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2.2 2.25'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23s)'/%3E%3C/svg%3E");-webkit-mask-size:120px 120px;mask-size:120px 120px}.seal--porcelain{background:var(--porcelain);color:var(--oxblood);box-shadow:none}.status-pill{font-family:var(--ff-ledger);letter-spacing:.06em;white-space:nowrap;border-radius:999px;align-items:center;gap:.35rem;padding:.2rem .6rem;font-size:11px;display:inline-flex}.status-pill--paid{background:color-mix(in srgb,var(--accent)12%,transparent);color:var(--accent)}.status-pill--preparing{background:color-mix(in srgb,var(--chart-3)15%,transparent);color:var(--chart-3)}.status-pill--shipped{background:color-mix(in srgb,var(--chart-2)15%,transparent);color:var(--chart-2)}.status-pill--delivered{background:color-mix(in srgb,var(--secondary)40%,transparent);color:var(--secondary-foreground)}.status-pill--cancelled,.status-pill--refunded{background:color-mix(in srgb,var(--destructive)12%,transparent);color:var(--destructive)}.notif-badge{background:var(--accent);width:16px;height:16px;color:var(--accent-foreground);border-radius:999px;place-items:center;font-size:10px;font-weight:700;line-height:1;display:grid;position:absolute;top:-2px;right:-2px}.stock-pip{background:color-mix(in srgb,var(--foreground)14%,transparent);border-radius:1px;width:4px;height:12px;transition:background-color .2s}.stock-pip.is-on{background:var(--foreground)}.drawer-overlay{z-index:50;background:color-mix(in srgb,var(--overlay-scrim)70%,transparent);position:fixed;inset:0}.drawer-panel{z-index:51;background:var(--card);width:min(85vw,320px);padding:1.5rem;position:fixed;top:0;bottom:0;right:0;overflow-y:auto}.sticky-action{z-index:30;background:color-mix(in srgb,var(--background)96%,transparent);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--border);padding:1rem 1.25rem;padding-bottom:max(1rem,env(safe-area-inset-bottom,0px));position:sticky;bottom:0}@media (min-width:1024px){.sticky-action--mobile-only{-webkit-backdrop-filter:none;background:0 0;border-top:0;padding:0;position:static}}.timeline{align-items:flex-start;gap:0;margin-bottom:2rem;display:flex}.timeline-step{flex-direction:column;flex:1;align-items:center;gap:.5rem;display:flex}.timeline-bar{align-items:center;width:100%;display:flex}.timeline-line{background:var(--border);flex:1;height:2px;transition:background-color .3s}.timeline-line.is-done{background:var(--accent)}.timeline-dot{border:2px solid var(--border);background:var(--card);width:2rem;height:2rem;color:var(--muted-foreground);border-radius:999px;flex-shrink:0;place-items:center;transition:all .3s;display:grid}.timeline-dot.is-done{border-color:var(--accent);background:var(--accent);color:var(--accent-foreground)}.timeline-dot.is-current{border-color:var(--accent);background:var(--card);color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent)20%,transparent)}.timeline-label{text-align:center;font-size:10px;line-height:1.3}@media (min-width:640px){.timeline-label{font-size:12px}}.receipt-frame{border:1px solid var(--border);background:var(--card);position:relative}.receipt-frame:before{content:"";border:1px dashed color-mix(in srgb,var(--border)60%,transparent);pointer-events:none;position:absolute;inset:8px}.empty-state{text-align:center;border:1px dashed var(--border);flex-direction:column;align-items:center;padding:3rem 1.5rem;display:flex}.empty-state .seal{margin-bottom:1.5rem}.field{border:1px solid var(--border);color:var(--foreground);background:0 0;padding:.75rem 1rem;font-size:.9375rem;transition:border-color .15s}.field::placeholder{color:color-mix(in srgb,var(--muted-foreground)50%,transparent)}.field:focus{border-color:var(--accent);outline:none}.field:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);height:3rem;color:var(--primary-foreground);cursor:pointer;justify-content:center;align-items:center;gap:.5rem;padding:0 1.5rem;font-size:.875rem;font-weight:500;transition:opacity .15s,transform .15s;display:inline-flex}.btn-primary:hover{opacity:.9}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary:focus-visible{box-shadow:0 0 0 2px var(--background),0 0 0 4px var(--ring);outline:none}.btn-ghost{border:1px solid var(--border);height:2.5rem;color:var(--muted-foreground);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:.5rem;padding:0 1rem;font-size:.875rem;transition:color .15s,background .15s;display:inline-flex}.btn-ghost:hover{background:var(--muted);color:var(--foreground)}.btn-ghost:disabled{opacity:.5;cursor:not-allowed}.btn-ghost:focus-visible{box-shadow:0 0 0 2px var(--ring);outline:none}.skel{background:var(--muted);border-radius:2px;animation:1.5s ease-in-out infinite skel-pulse}@keyframes skel-pulse{0%,to{opacity:1}50%{opacity:.5}}@media (prefers-reduced-motion:no-preference){.cart-added{animation:.3s cubic-bezier(.2,.9,.3,1.1) cart-pop}@keyframes cart-pop{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.timeline-dot.is-done{animation:.25s ease-out dot-fill}@keyframes dot-fill{0%{transform:scale(.7)}}}@media (prefers-reduced-motion:reduce){.skel,.cart-added,.timeline-dot.is-done{animation:none}}@keyframes count-bump{0%{transform:scale(1)}35%{transform:scale(1.25)}to{transform:scale(1)}}.count-bump{animation:.3s cubic-bezier(.2,.8,.2,1) count-bump}@media (prefers-reduced-motion:reduce){.count-bump{animation:none}}@keyframes stamp-press{0%{opacity:0;transform:scale(1.7)rotate(-12deg)}55%{opacity:1;transform:scale(.92)rotate(-6deg)}75%{transform:scale(1.04)rotate(-7deg)}to{opacity:1;transform:scale(1)rotate(-7deg)}}.stamp-seal{animation:.42s cubic-bezier(.3,.7,.2,1) both stamp-press}@media (prefers-reduced-motion:reduce){.stamp-seal{animation:none;transform:rotate(-7deg)}}.sheen{position:relative;overflow:hidden}.sheen:after{content:"";pointer-events:none;background:linear-gradient(105deg,transparent 35%,color-mix(in oklch,var(--background)45%,transparent)50%,transparent 65%);position:absolute;inset:0;transform:translate(-120%)}.group:hover .sheen:after,.group:focus-visible .sheen:after{transition:transform .8s cubic-bezier(.2,.7,.2,1);transform:translate(120%)}@media (prefers-reduced-motion:reduce){.group:hover .sheen:after,.group:focus-visible .sheen:after{transition:none;transform:translate(-120%)}}.appear{opacity:1;transition:opacity .2s ease-out,transform .2s ease-out;transform:none}@starting-style{.appear{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){.appear{transition:none}}@keyframes drawer-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes drawer-fade-in{0%{opacity:0}to{opacity:1}}.drawer-overlay{animation:.2s ease-out both drawer-fade-in}.drawer-panel{animation:.28s cubic-bezier(.32,.72,0,1) both drawer-slide-in}@media (prefers-reduced-motion:reduce){.drawer-overlay,.drawer-panel{animation:none}}.btn-primary:active{transform:scale(.97)}@media (prefers-reduced-motion:reduce){.btn-primary:active{transform:none}}@supports (animation-timeline:scroll()){.scroll-progress{z-index:100;background:var(--accent);transform-origin:0;height:2px;animation:linear scroll-fill;animation-timeline:scroll();position:fixed;top:0;left:0;right:0;transform:scaleX(0)}@keyframes scroll-fill{to{transform:scaleX(1)}}}
