@keyframes star-movement-bottom-ca7092d1{0%{transform:translate(0);opacity:1}to{transform:translate(-100%);opacity:0}}@keyframes star-movement-top-ca7092d1{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.animate-star-movement-bottom[data-v-ca7092d1]{animation:star-movement-bottom-ca7092d1 linear infinite alternate}.animate-star-movement-top[data-v-ca7092d1]{animation:star-movement-top-ca7092d1 linear infinite alternate}/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-outline-style:solid;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-white:#fff;--spacing:.25rem;--font-weight-medium:500;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.absolute{position:absolute}.relative{position:relative}.-inset-5{inset:calc(var(--spacing) * -5)}.inset-0{top:0;right:0;bottom:0;left:0}.-top-px{top:-1px}.top-0{top:0}.top-\[-10px\]{top:-10px}.right-\[-250\%\]{right:-250%}.bottom-\[-11px\]{bottom:-11px}.left-0{left:0}.left-\[-250\%\]{left:-250%}.isolate{isolation:isolate}.-z-\[1\]{z-index:-1}.z-0{z-index:0}.z-1{z-index:1}.z-2{z-index:2}.z-10{z-index:10}.z-\[1\]{z-index:1}.m-0{margin:0}.box-border{box-sizing:border-box}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.\[height\:var\(--bm-row\)\]{height:var(--bm-row)}.h-4{height:calc(var(--spacing) * 4)}.h-\[50\%\]{height:50%}.min-h-0{min-height:0}.w-0\.5{width:calc(var(--spacing) * .5)}.w-\[300\%\]{width:300%}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[min\(var\(--bm-w\)\,100\%\)\]{max-width:min(var(--bm-w),100%)}.flex-none{flex:none}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.\[grid-template-rows\:0fr\]{grid-template-rows:0fr}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.rounded-\(--sb-radius\){border-radius:var(--sb-radius)}.rounded-\[1px\]{border-radius:1px}.rounded-\[20px\]{border-radius:20px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.\!border-none{--tw-border-style:none!important;border-style:none!important}.border-\[\#333\]{border-color:#333}.border-white\/15{border-color:#ffffff26}@supports (color:color-mix(in lab,red,red)){.border-white\/15{border-color:color-mix(in oklab,var(--color-white) 15%,transparent)}}.\!bg-transparent{background-color:#0000!important}.bg-\[\#0b0b0b\]{background-color:#0b0b0b}.bg-transparent{background-color:#0000}.fill-none{fill:none}.\[stroke\:var\(--bm-accent\)\]{stroke:var(--bm-accent)}.\[stroke\:var\(--bm-line\)\]{stroke:var(--bm-line)}.\[stroke-width\:var\(--bm-line-w\)\]{stroke-width:var(--bm-line-w)}.px-40{padding-inline:calc(var(--spacing) * 40)}.px-\[22px\]{padding-inline:22px}.px-\[30px\]{padding-inline:30px}.px-\[64px\]{padding-inline:64px}.py-0{padding-block:0}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-\[9px\]{padding-block:9px}.py-\[10px\]{padding-block:10px}.py-\[14px\]{padding-block:14px}.py-\[18px\]{padding-block:18px}.py-\[24px\]{padding-block:24px}.pr-0{padding-right:0}.\[padding-left\:var\(--bm-indent\)\]{padding-left:var(--bm-indent)}.pl-3\.5{padding-left:calc(var(--spacing) * 3.5)}.text-center{text-align:center}.text-left{text-align:left}.\[font-family\:inherit\]{font-family:inherit}.\[font-size\:calc\(var\(--bm-font\)\+1px\)\]{font-size:calc(var(--bm-font) + 1px)}.\[font-size\:var\(--bm-font\)\]{font-size:var(--bm-font)}.text-\[0\.85rem\]{font-size:.85rem}.text-\[1\.15rem\]{font-size:1.15rem}.text-\[1rem\]{font-size:1rem}.text-\[16px\]{font-size:16px}.leading-\[1\.2\]{--tw-leading:1.2;line-height:1.2}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.tracking-\[0\.01em\]{--tw-tracking:.01em;letter-spacing:.01em}.whitespace-nowrap{white-space:nowrap}.\[color\:var\(--bm-ink\)\]{color:var(--bm-ink)}.\[color\:var\(--bm-muted\)\]{color:var(--bm-muted)}.text-\(--sb-text-color\){color:var(--sb-text-color)}.text-white{color:var(--color-white)}.opacity-0{opacity:0}.opacity-70{opacity:.7}.shadow-\[inset_0_1px_0_rgba\(255\,255\,255\,0\.04\)\,0_8px_24px_rgba\(0\,0\,0\,0\.25\)\]{--tw-shadow:inset 0 1px 0 var(--tw-shadow-color,#ffffff0a), 0 8px 24px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.\[backdrop-filter\:blur\(var\(--sb-blur\)\)\]{-webkit-backdrop-filter:blur(var(--sb-blur));backdrop-filter:blur(var(--sb-blur))}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.\[-webkit-tap-highlight-color\:transparent\]{-webkit-tap-highlight-color:transparent}.\[background\:color-mix\(in_srgb\,var\(--sb-tint\)_calc\(var\(--sb-tint-opacity\)\*100\%\)\,transparent\)\]{background:var(--sb-tint)}@supports (color:color-mix(in lab,red,red)){.\[background\:color-mix\(in_srgb\,var\(--sb-tint\)_calc\(var\(--sb-tint-opacity\)\*100\%\)\,transparent\)\]{background:color-mix(in srgb,var(--sb-tint) calc(var(--sb-tint-opacity) * 100%),transparent)}}.\[background\:var\(--bm-accent\)\]{background:var(--bm-accent)}.\[stroke-linecap\:round\]{stroke-linecap:round}.\[stroke-linejoin\:round\]{stroke-linejoin:round}.\[transition\:color_200ms_ease\]{transition:color .2s}.\[transition\:grid-template-rows_var\(--bm-fold\)_cubic-bezier\(0\.23\,1\,0\.32\,1\)\]{transition:grid-template-rows var(--bm-fold) cubic-bezier(.23,1,.32,1)}.\[transition\:opacity_200ms_ease\]{transition:opacity .2s}.\[transition\:stroke-dashoffset_var\(--bm-draw\)_cubic-bezier\(0\.23\,1\,0\.32\,1\)\]{transition:stroke-dashoffset var(--bm-draw) cubic-bezier(.23,1,.32,1)}.\[transition\:top_220ms_cubic-bezier\(0\.23\,1\,0\.32\,1\)\,opacity_150ms_ease\]{transition:top .22s cubic-bezier(.23,1,.32,1),opacity .15s}.group-data-\[open\]\/section\:\[grid-template-rows\:1fr\]:is(:where(.group\/section)[data-open] *){grid-template-rows:1fr}.group-data-\[open\]\/section\:\[color\:var\(--bm-ink\)\]:is(:where(.group\/section)[data-open] *){color:var(--bm-ink)}.group-data-\[open\]\/section\:opacity-100:is(:where(.group\/section)[data-open] *){opacity:1}.group-data-\[open\]\/section\:\[transition\:opacity_250ms_ease_100ms\]:is(:where(.group\/section)[data-open] *){transition:opacity .25s .1s}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:top-2:before{content:var(--tw-content);top:calc(var(--spacing) * 2)}.before\:bottom-0:before{content:var(--tw-content);bottom:0}.before\:left-0:before{content:var(--tw-content);left:0}.before\:w-0\.5:before{content:var(--tw-content);width:calc(var(--spacing) * .5)}.before\:rounded-\[1px\]:before{content:var(--tw-content);border-radius:1px}.before\:content-\[\'\'\]:before{--tw-content:"";content:var(--tw-content)}.before\:\[background\:linear-gradient\(to_bottom\,var\(--bm-line\)_0\%\,var\(--bm-line\)_55\%\,transparent_100\%\)\]:before{content:var(--tw-content);background:linear-gradient(to bottom,var(--bm-line) 0%,var(--bm-line) 55%,transparent 100%)}@media (hover:hover){.hover\:\[color\:var\(--bm-ink\)\]:hover{color:var(--bm-ink)}}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-\[3px\]:focus-visible{outline-offset:3px}.active\:scale-\[0\.97\]:active{scale:.97}.disabled\:cursor-default:disabled{cursor:default}.disabled\:opacity-55:disabled{opacity:.55}.disabled\:active\:scale-100:disabled:active{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.data-\[active\]\:font-medium[data-active]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-\[active\]\:\[color\:var\(--bm-accent\)\][data-active]{color:var(--bm-accent)}.data-\[active\]\:\[color\:var\(--bm-ink\)\][data-active]{color:var(--bm-ink)}.data-\[on\]\:opacity-100[data-on]{opacity:1}@media (prefers-reduced-motion:reduce){.motion-reduce\:transition-none{transition-property:none}.motion-reduce\:\[transition\:opacity_150ms_ease\]{transition:opacity .15s}}.\[\&_canvas\]\:block canvas{display:block}.\[\&_canvas\]\:h-full canvas{height:100%}.\[\&_canvas\]\:w-full canvas{width:100%}}:root{--bg:#0b0f17;--bg-soft:#111827;--card:#151c2b;--card-hover:#1a2336;--border:#243049;--text:#e5eaf3;--text-dim:#8b96ad;--primary:#f5f5f5;--primary-hover:#d4d4d8;--accent:#22c55e;--danger:#ef4444;--warning:#f59e0b;--radius:10px}*{box-sizing:border-box}html,body{margin:0;padding:0}html{scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#ffffff2e transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff26 padding-box padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#ffffff59 padding-box padding-box}::-webkit-scrollbar-corner{background:0 0}body{background:var(--bg);color:var(--text);font-family:PingFang SC,Microsoft YaHei,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.6;overflow-x:hidden}a{color:var(--primary);text-decoration:none}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit;font-size:14px}.layout{flex-direction:column;min-height:100vh;display:flex}.main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:20px 16px 48px}.header{top:max(10px,env(safe-area-inset-top,0px));z-index:50;-webkit-backdrop-filter:blur(18px)saturate(125%);background:#07080db3;border:1px solid #ffffff17;border-radius:999px;margin:10px 16px 0;transition:border-color .18s,background-color .18s,box-shadow .18s;position:sticky;box-shadow:0 8px 26px #00000047,inset 0 1px #ffffff09}.header:hover{border-color:#ffffff21}.header-inner{align-items:center;gap:clamp(18px,2.4vw,34px);min-height:54px;padding:7px 20px;display:flex}.logo{letter-spacing:.025em;color:#fff;white-space:nowrap;flex:none;font-size:14px;font-weight:600;transition:opacity .15s}.logo:hover{opacity:.78}.nav{flex:1;align-items:center;gap:clamp(14px,1.8vw,24px);min-width:0;display:flex}.nav a{color:var(--text-dim);white-space:nowrap;padding:7px 0;font-size:13px;font-weight:450;transition:color .15s;position:relative}.nav a:after{content:"";transform-origin:0;background:#f5f5f5;height:1px;transition:transform .17s;position:absolute;bottom:1px;left:0;right:0;transform:scaleX(0)}.nav a:hover,.nav a:focus-visible,.nav a.router-link-active{color:#fff}.nav a:hover:after,.nav a:focus-visible:after,.nav a.router-link-active:after{transform:scaleX(1)}.user-area{min-width:0;color:var(--text-dim);flex:none;justify-content:flex-end;align-items:center;gap:12px;display:flex}.user-area .email{color:#aeb5c2;text-overflow:ellipsis;white-space:nowrap;max-width:clamp(90px,14vw,190px);font-size:12px;overflow:hidden}.header-login-button{color:#eceef2;white-space:nowrap;background:#ffffff06;border:1px solid #ffffff24;border-radius:999px;justify-content:center;align-items:center;min-height:32px;padding:6px 15px;font-size:12px;font-weight:550;line-height:1;transition:color .15s,border-color .15s,background-color .15s;display:inline-flex}.header-login-button:hover,.header-login-button:focus-visible,.header-login-button.router-link-active{color:#fff;background:#ffffff13;border-color:#ffffff52}.header-login-button:focus-visible,.nav a:focus-visible,.header-logout-button:focus-visible{outline-offset:3px;outline:2px solid #ffffffb8}.header-logout-button{color:#eceef2;white-space:nowrap;background:#ffffff06;border:1px solid #ffffff24;border-radius:999px;min-height:32px;padding:6px 14px;font-size:12px;font-weight:550;line-height:1;transition:color .15s,border-color .15s,background-color .15s}.header-logout-button:hover{color:#fff;background:#ffffff13;border-color:#ffffff52}.btn{background:var(--primary);color:#0b0f17;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 18px;font-size:14px;font-weight:600;transition:background .15s;display:inline-flex}.btn:hover{background:var(--primary-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{border-color:var(--border);color:var(--text-dim);background:0 0}.btn-ghost:hover{background:var(--card);color:var(--text)}.btn-danger{color:var(--danger);background:0 0;border-color:#ef444480}.btn-danger:hover{background:#ef44441f}.btn-success{background:var(--accent)}.btn-success:hover{background:#16a34a}.btn-sm{border-radius:6px;padding:4px 10px;font-size:12px}.field{margin-bottom:14px}.field label{color:var(--text-dim);margin-bottom:6px;font-size:13px;display:block}.input,select.input,textarea.input{border:1px solid var(--border);background:var(--bg-soft);width:100%;color:var(--text);border-radius:8px;outline:none;padding:9px 12px}.input:focus{border-color:var(--primary)}textarea.input{resize:vertical;min-height:70px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.home-layout{grid-template-columns:200px 1fr;align-items:start;gap:18px;display:grid}.sidebar{position:sticky;top:76px}.sidebar .title{color:var(--text-dim);letter-spacing:1px;margin:0 0 10px;font-size:13px}.cat-item{color:var(--text-dim);cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:space-between;margin-bottom:4px;padding:9px 12px;display:flex}.cat-item:hover{background:var(--card);color:var(--text)}.cat-item.active{color:#f5f5f5;background:#f5f5f514;border-color:#f5f5f559}.product-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-items:stretch;gap:14px;display:grid}.product-card{flex-direction:column;transition:transform .15s;display:flex}.product-card:hover{transform:translateY(-2px)}.product-card>div{overflow:visible}.product-card>div:last-child{flex-direction:column;flex:1;min-height:0;display:flex}.product-body{flex-direction:column;flex:1;gap:8px;min-width:0;padding:18px;display:flex}.brand-logo{flex:none;width:22px;height:22px;display:inline-flex}.product-card .name{flex:none;align-items:flex-start;gap:8px;min-height:2.9em;font-size:15px;font-weight:600;line-height:1.45;display:flex}.brand-logo svg{width:100%;height:100%;display:block}.product-card .name-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0;display:-webkit-box;overflow:hidden}.product-card .desc{color:var(--text-dim);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;min-height:3em;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.product-card .meta{color:var(--text-dim);flex:none;align-items:center;gap:12px;font-size:12px;display:flex}.price{color:#f5f5f5;font-size:22px;font-weight:700}.price .yuan{margin-right:2px;font-size:13px}.badge{color:var(--warning);background:#f59e0b26;border:1px solid #f59e0b66;border-radius:999px;padding:1px 8px;font-size:11px;display:inline-block}.badge-green{color:var(--accent);background:#22c55e24;border-color:#22c55e66}.card-footer{border-top:1px solid #ffffff0f;flex:none;justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;display:flex}.card-footer .price{line-height:1}.card-footer>button{flex:none}.star-btn{vertical-align:middle;border-radius:12px}.star-btn>div:not(:last-child){visibility:hidden;animation-play-state:paused}.star-btn:hover>div:not(:last-child){visibility:visible;animation-play-state:running}.star-btn>div:last-child{color:#f5f5f5;background:#0e1015;border-color:#ffffff38;border-radius:12px;padding:9px 24px;font-size:14px;font-weight:600}.star-btn:hover>div:last-child{background:#151821;border-color:#ffffff80}.star-btn:hover{box-shadow:0 0 16px #ffffff24}.star-btn:disabled{opacity:.5;cursor:not-allowed}.star-btn:disabled>div:not(:last-child),.star-btn:disabled:hover>div:not(:last-child){visibility:hidden;animation-play-state:paused}.notice-bar{border-radius:var(--radius);color:#e5eaf3;background:#f5f5f50f;border:1px solid #f5f5f538;margin-bottom:16px;padding:10px 14px;font-size:13px}.notice-bar div+div{margin-top:4px}.modal-mask{z-index:100;background:#000000a6;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.modal{background:var(--card);border:1px solid var(--border);border-radius:12px;width:460px;max-width:100%;max-height:80vh;padding:22px;overflow:auto}.modal h3{margin:0 0 12px}.modal .actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.table{border-collapse:collapse;width:100%;font-size:13px}.table th,.table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:9px 10px}.table th{color:var(--text-dim);white-space:nowrap;font-weight:500}.table tr:hover td{background:#ffffff05}.status{white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:12px;display:inline-block}.status-pending{color:var(--warning);background:#f59e0b26}.status-paid{color:#f5f5f5;background:#f5f5f524}.status-confirmed,.status-delivered{color:var(--accent);background:#22c55e26}.status-cancelled{color:var(--danger);background:#ef444426}.checkout-wrap{max-width:720px;margin:0 auto}.pay-panel{text-align:center}.pay-panel img.qr{object-fit:contain;background:#fff;border-radius:12px;width:220px;height:220px;padding:8px}.pay-amount{color:#f5f5f5;margin:8px 0;font-size:30px;font-weight:800}.order-no{color:var(--text-dim);font-family:ui-monospace,Consolas,monospace;font-size:13px}.admin-tabs{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.admin-tabs button{border:1px solid var(--border);color:var(--text-dim);background:0 0;border-radius:8px;padding:8px 18px}.admin-tabs button.active{background:var(--primary);border-color:var(--primary);color:#0b0f17}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:16px;display:grid}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.stat-card .num{color:#f5f5f5;font-size:26px;font-weight:700}.stat-card .label{color:var(--text-dim);font-size:12px}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.error-text{color:var(--danger);margin:8px 0;font-size:13px}.muted{color:var(--text-dim)}.page-title{margin:0 0 16px;font-size:20px;font-weight:700}.empty{text-align:center;color:var(--text-dim);padding:40px 0}.auth-wrap{max-width:400px;margin:40px auto}.card{overflow-x:auto}.table{min-width:560px}@media (max-width:800px){.home-layout{grid-template-columns:1fr}.sidebar{margin-bottom:6px;position:static;overflow-x:auto}.product-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.header-inner{gap:18px;padding-left:17px;padding-right:17px}.nav{gap:15px}}@media (max-width:640px){.header{top:calc(8px + env(safe-area-inset-top,0px));border-radius:24px;margin:8px 8px 0}.header-inner{gap:12px;min-height:48px;padding:5px 12px}.logo{letter-spacing:0;font-size:14px}.nav{gap:13px}.nav a{padding:6px 0;font-size:12px}.header-login-button,.header-logout-button{min-height:30px;padding:5px 12px;font-size:12px}.user-area{gap:7px}.user-area .email{max-width:clamp(54px,17vw,100px);font-size:11px}.main{padding:14px 10px 40px}.product-grid{grid-template-columns:repeat(2,1fr);gap:10px}.product-body{gap:6px;padding:14px}.product-card .name{gap:6px;font-size:14px}.brand-logo{width:18px;height:18px}.product-card .desc{-webkit-line-clamp:1;min-height:1.5em}.product-card .meta{gap:8px;font-size:11px}.price{font-size:18px}.card-footer{padding-top:10px}.btn{min-height:40px}.btn-sm{min-height:32px;padding:6px 12px}.auth-wrap{margin:20px 0}.pay-panel img.qr{width:200px;height:200px}.page-title{font-size:18px}.modal{border-radius:16px;padding:18px}.stat-grid{grid-template-columns:repeat(2,1fr)}.stat-card .num{font-size:22px}.table{font-size:12px}}@media (max-width:380px){.header{border-radius:19px;margin-left:6px;margin-right:6px}.header-inner{gap:8px;padding-left:9px;padding-right:9px}.logo{font-size:11px}.nav{gap:6px}.nav a{font-size:10px}.header-login-button,.header-logout-button{min-height:28px;padding-left:9px;padding-right:9px;font-size:11px}.user-area{gap:4px}.user-area .email{max-width:38px;font-size:9px}}.orders-page{--panel-border:#ffffff17;width:min(100%,920px);margin:34px auto 0}.panel-glass{border:1px solid var(--panel-border);background:linear-gradient(145deg,#ffffff09,#ffffff03);border-radius:18px;box-shadow:0 18px 50px #00000029,inset 0 1px #ffffff06}.orders-heading{margin:0 0 28px}.eyebrow,.section-index{color:#8b96ad;letter-spacing:.16em;font:600 10px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace}.eyebrow{align-items:center;gap:9px;margin-bottom:13px;display:flex}.eyebrow-line{background:#ffffff8f;width:22px;height:1px}.orders-heading-row,.history-heading{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.orders-heading h1,.auth-heading h1{color:#f5f5f5;letter-spacing:-.045em;margin:0;font-size:clamp(28px,4vw,40px);font-weight:650;line-height:1.12}.orders-heading p,.auth-heading p{color:var(--text-dim);margin:9px 0 0;font-size:14px}.orders-count{color:#f5f5f5;white-space:nowrap;font:500 24px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.orders-count small{color:var(--text-dim);letter-spacing:.13em;font-size:9px}.order-lookup{grid-template-columns:minmax(190px,.8fr) minmax(0,1.2fr);align-items:center;gap:18px 28px;padding:24px;display:grid}.lookup-copy h2,.history-heading h2{color:#f5f5f5;margin:9px 0 4px;font-size:17px;font-weight:600;line-height:1.3}.lookup-copy p{color:var(--text-dim);margin:0;font-size:12px}.lookup-form{align-items:center;gap:9px;min-width:0;display:flex}.lookup-input-wrap{flex:1;min-width:0;position:relative}.lookup-input-wrap svg{z-index:1;fill:none;stroke:#858b98;stroke-width:1.6px;stroke-linecap:round;width:17px;height:17px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.lookup-input-wrap .input{background:#04060c7a;border-color:#ffffff1a;border-radius:12px;height:44px;padding-left:40px;font-size:13px}.lookup-input-wrap .input:focus{border-color:#ffffff6b;box-shadow:0 0 0 3px #ffffff0b}.lookup-submit{white-space:nowrap;border-radius:12px;min-height:44px;padding:0 16px}.lookup-submit span{margin-left:6px;font-size:16px}.lookup-submit:disabled{opacity:.42}.orders-error{color:#fca5a5;grid-column:1/-1;margin:-4px 0 0;font-size:13px}.lookup-result{border-top:1px solid #ffffff14;grid-column:1/-1;justify-content:space-between;align-items:center;gap:16px;padding-top:17px;display:flex}.lookup-result-main,.lookup-result-side{align-items:center;gap:12px;min-width:0;display:flex}.lookup-product{color:#e5eaf3;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lookup-product>span,.order-row-total small{color:var(--text-dim);font-size:12px}.lookup-result-side{flex-direction:column;flex:none;align-items:flex-end;gap:3px}.lookup-amount{color:#fff;font:600 18px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace}.lookup-result .order-no{font-size:11px}.history-section{margin-top:38px}.history-heading{align-items:flex-end;margin-bottom:14px}.history-heading h2{margin-bottom:0;font-size:21px}.history-login,.text-link{color:#e7e7e7;font-size:13px}.history-login span,.text-link span{margin-left:5px}.history-login:hover,.text-link:hover{color:#fff}.refresh-button{color:#c4c9d2;background:0 0;border:1px solid #ffffff1f;border-radius:10px;align-items:center;gap:7px;padding:7px 11px;font-size:12px;display:inline-flex}.refresh-button:hover:not(:disabled){color:#fff;border-color:#ffffff52}.refresh-button:disabled{opacity:.5}.refresh-button svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.order-list{gap:9px;display:grid}.order-row{grid-template-columns:36px minmax(180px,1fr) minmax(120px,auto) auto minmax(90px,auto);align-items:center;gap:16px;min-height:86px;padding:16px 19px;transition:border-color .16s,background .16s,transform .16s;display:grid}.order-row:hover{background-color:#ffffff09;border-color:#fff3;transform:translateY(-1px)}.order-row-number{color:#707887;font:12px ui-monospace,SFMono-Regular,Consolas,monospace}.order-row-product{min-width:0}.order-row-product h3{color:#e9edf4;text-overflow:ellipsis;white-space:nowrap;margin:0 0 5px;font-size:13px;font-weight:550;line-height:1.4;overflow:hidden}.order-row-product .order-no{font-size:11px}.order-row-date{color:#858d9c;white-space:nowrap;font-size:12px}.order-row-total{color:#f5f5f5;text-align:right;white-space:nowrap;font:600 15px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace}.order-row-total small{margin-top:5px;font:11px/1.2 inherit;display:block}.history-empty,.history-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:210px;display:flex}.empty-glyph{color:#d8dce4;border:1px solid #ffffff2e;border-radius:13px;place-items:center;width:38px;height:38px;margin-bottom:12px;font:20px ui-monospace,monospace;display:grid}.history-empty h3,.history-guest h3{color:#e9edf4;margin:0;font-size:15px;font-weight:550}.history-empty p,.history-guest p{color:var(--text-dim);margin:6px 0 13px;font-size:12px}.history-state{color:#c4c9d2;flex-direction:row;gap:11px;min-height:110px;font-size:13px}.loading-mark{border:1px solid #ffffff38;border-top-color:#fff;border-radius:50%;width:15px;height:15px;animation:.75s linear infinite loading-spin}@keyframes loading-spin{to{transform:rotate(360deg)}}.history-guest{align-items:center;gap:16px;padding:22px 24px;display:flex}.guest-lock{color:#f5f5f5;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:12px;flex:none;place-items:center;width:38px;height:38px;display:grid}.history-guest>div{flex:1}.history-guest p{margin-bottom:0}.guest-login{min-width:82px}.auth-wrap{width:min(100%,480px);max-width:none;margin:clamp(28px,7vh,72px) auto 40px}.auth-shell{isolation:isolate;background:radial-gradient(at 50% -15%,#ffffff16,#0000 54%),linear-gradient(155deg,#151820f5,#090b11f5);border-radius:24px;padding:34px 38px 27px;position:relative;overflow:hidden}.auth-orbit{z-index:-1;pointer-events:none;border:1px solid #ffffff0b;border-radius:50%;position:absolute}.auth-orbit-one{width:430px;height:430px;top:-310px;left:50%;transform:translate(-50%)}.auth-orbit-two{width:350px;height:350px;top:-270px;left:50%;transform:translate(-50%)}.auth-content{position:relative}.auth-brand{color:#f1f3f7;letter-spacing:.025em;align-items:center;gap:9px;font-size:13px;font-weight:600;display:inline-flex}.auth-brand-mark{color:#080a0e;background:#f1f3f7;border-radius:8px;place-items:center;width:25px;height:25px;font:700 13px/1 ui-monospace,SFMono-Regular,Consolas,monospace;display:grid}.auth-heading{margin-top:39px}.auth-heading h1{margin-top:11px;font-size:34px}.auth-period{color:#8f96a3}.auth-heading p{margin-top:8px;font-size:13px}.auth-mode-switch{background:#00000042;border:1px solid #ffffff13;border-radius:12px;grid-template-columns:1fr 1fr;gap:4px;margin:29px 0 23px;padding:4px;display:grid}.auth-mode-switch button{color:#939baa;background:0 0;border:0;border-radius:8px;min-height:35px;font-size:12px;transition:color .15s,background .15s,box-shadow .15s}.auth-mode-switch button.active{color:#f5f5f5;background:#ffffff17;box-shadow:inset 0 1px #ffffff12,0 3px 10px #00000038}.auth-form .auth-field{margin-bottom:18px}.auth-field label{color:#d7dbe3;margin-bottom:8px;font-size:12px}.auth-field label span{color:#798292;font-size:11px}.auth-field .input{background:#02040957;border-color:#ffffff1a;border-radius:11px;height:46px;padding:0 14px;font-size:13px;transition:border-color .15s,box-shadow .15s,background .15s}.auth-field .input::placeholder{color:#646d7c}.auth-field .input:focus{background:#0204098c;border-color:#fff6;box-shadow:0 0 0 3px #ffffff0b}.auth-error{color:#fecaca;background:#7f1d1d33;border:1px solid #f8717133;border-radius:9px;align-items:center;gap:8px;margin:-2px 0 14px;padding:9px 11px;font-size:12px;display:flex}.auth-error>span{border:1px solid #fca5a58c;border-radius:50%;flex:none;place-items:center;width:16px;height:16px;font:700 10px/1 ui-monospace,monospace;display:grid}.auth-submit{color:#f5f5f5;letter-spacing:.02em;background:#05060a;border:1px solid #ffffff29;border-radius:13px;justify-content:center;align-items:center;gap:9px;width:100%;min-height:48px;padding:0 18px;font-size:14px;font-weight:650;transition:background .15s,border-color .15s,transform .12s,box-shadow .15s;display:flex}.auth-submit:hover:not(:disabled){background:#0a0c12;border-color:#ffffff6b;transform:translateY(-1px);box-shadow:0 10px 26px #0006}.auth-submit:active:not(:disabled){transform:translateY(0)}.auth-submit:focus-visible{outline-offset:3px;outline:2px solid #ffffffb8}.auth-submit:disabled{cursor:wait;opacity:.7}.auth-submit-arrow{font-size:17px;line-height:1;transition:transform .15s}.auth-submit:hover:not(:disabled) .auth-submit-arrow{transform:translate(4px)}.auth-submit-spinner{border:2px solid #f5f5f540;border-top-color:#f5f5f5;border-radius:50%;width:15px;height:15px;animation:.7s linear infinite loading-spin}.auth-switch-copy{color:#8992a1;text-align:center;margin:21px 0 0;font-size:12px}.auth-switch-copy button{color:#f2f3f5;font:inherit;background:0 0;border:0;padding:0;font-weight:600}.auth-switch-copy button:hover{text-underline-offset:3px;text-decoration:underline}.auth-footnote{color:#6f7887;letter-spacing:.035em;border-top:1px solid #ffffff12;justify-content:center;align-items:center;gap:8px;margin-top:26px;padding-top:16px;font-size:10px;display:flex}.auth-footnote span{background:#e5e7eb;border-radius:50%;width:5px;height:5px;box-shadow:0 0 8px #ffffff73}@media (max-width:800px){.orders-page{margin-top:24px}.order-row{grid-template-columns:28px minmax(150px,1fr) auto auto}.order-row-date{display:none}}@media (max-width:640px){.orders-page{margin-top:17px}.orders-heading{margin-bottom:20px}.orders-heading-row{align-items:flex-start}.orders-heading h1{font-size:30px}.orders-heading p{max-width:240px;font-size:12px}.orders-count{padding-top:5px;font-size:19px}.orders-count small{text-align:right;margin-top:4px;font-size:8px;display:block}.order-lookup{border-radius:15px;grid-template-columns:1fr;gap:14px;padding:17px}.lookup-copy h2{margin-top:7px;font-size:15px}.lookup-form{gap:7px}.lookup-input-wrap .input{height:42px;padding-left:35px;font-size:12px}.lookup-input-wrap svg{width:15px;height:15px;left:12px}.lookup-submit{min-height:42px;padding:0 11px;font-size:12px}.lookup-submit span{margin-left:2px}.lookup-result{align-items:flex-start;gap:10px}.lookup-result-main{flex-direction:column;align-items:flex-start;gap:8px}.lookup-product{white-space:normal;max-width:210px;font-size:12px}.lookup-result-side{padding-top:2px}.lookup-amount{font-size:15px}.lookup-result .order-no{text-overflow:ellipsis;max-width:112px;font-size:9px;overflow:hidden}.history-section{margin-top:29px}.history-heading{margin-bottom:11px}.history-heading h2{font-size:19px}.order-row{border-radius:13px;grid-template-columns:22px minmax(0,1fr) auto;gap:8px 10px;min-height:0;padding:13px 12px}.order-row-number{grid-row:1/span 2;align-self:start;padding-top:2px;font-size:10px}.order-row-product h3{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;display:-webkit-box}.order-row-product .order-no{font-size:9px}.order-row .status{justify-self:end;padding:3px 8px;font-size:10px}.order-row-total{grid-column:2/-1;justify-content:flex-end;align-items:baseline;gap:7px;font-size:14px;display:flex}.order-row-total small{margin:0}.history-empty{min-height:190px}.history-guest{border-radius:14px;gap:11px;padding:15px}.history-guest h3{font-size:12px}.history-guest p{font-size:10px}.guest-login{min-width:58px;min-height:36px;padding:6px 10px;font-size:11px}.auth-wrap{margin:20px auto 30px}.auth-shell{border-radius:20px;padding:27px 22px 22px}.auth-heading{margin-top:31px}.auth-heading h1{font-size:30px}.auth-mode-switch{margin-top:24px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}
