@font-face{font-family:WorldFusionPixel;src:url(/assets/fonts/world-pixel/fusion-pixel-12px-proportional-zh_hans-v2026.09.01.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:WorldEmoji;src:local(Apple Color Emoji),local(Segoe UI Emoji),local(Noto Color Emoji);unicode-range:U+200D,U+203C,U+2049,U+20E3,U+2122,U+2139,U+2194-21FF,U+23??,U+2600-27BF,U+2B??,U+FE0E-FE0F,U+1F000-1FAFF}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--body-font:WorldEmoji, WorldFusionPixel, system-ui, sans-serif;--title-font:var(--body-font);font-family:var(--body-font);color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;--cream:#fff9ed;--paper:#fff9ed;--paper-strong:#fffdf5;--blush:#e7a096;--blush-soft:#f5d8d0;--terracotta:#c96f62;--terracotta-deep:#743f32;--sage:#7f9271;--sage-soft:#dde2ce;--sea:#69c3c5;--sea-soft:#d4eeee;--sand:#dfc79d;--ink:#743f32;--muted:#8b6256;--line:#b88467;--shadow:#714b3926;--danger:#a94443;--button-text:#fffaf0;--rail-deep:#743f32;--rail-end:#66745d;--rail-text:#fff8eb;--rail-muted:#fff8ebc7;--rail-border:#fff4de;--rail-active-border:#ffedd4;--rail-avatar-border:#fff1dc;--rail-shadow:#4d302852;--backdrop:#3226228a;--dialog-shadow:#3a261f52}:root[data-time-template=night],.admin-app[data-time-template=night]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--cream:#111a2d;--paper:#111a2d;--paper-strong:#18243a;--blush:#b8808e;--blush-soft:#3b2c42;--terracotta:#db8e83;--terracotta-deep:#f3e6d2;--sage:#9aaa96;--sage-soft:#26372f;--sea:#69c3c5;--sea-soft:#203b49;--sand:#bdaa82;--ink:#f3e6d2;--muted:#c4b7a7;--line:#63718a;--shadow:#0208146b;--danger:#ffb3ac;--button-text:#111a2d;--rail-deep:#0b1324;--rail-end:#242b43;--rail-text:#f3e6d2;--rail-muted:#f3e6d2c7;--rail-border:#394963;--rail-active-border:#63718a;--rail-avatar-border:#526078;--rail-shadow:#02081494;--backdrop:#020814b8;--dialog-shadow:#0208148f}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;height:100%;min-height:100%;margin:0}body{background:radial-gradient(circle at 12% 8%, color-mix(in srgb, var(--blush) 48%, transparent) 0 .32rem, transparent .36rem), radial-gradient(circle at 14% 10%, color-mix(in srgb, var(--sage) 46%, transparent) 0 .22rem, transparent .26rem), var(--cream);min-height:100dvh;color:var(--ink);overflow:hidden}button,input,select,textarea{font:inherit}code,kbd,samp,pre{font-family:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid color-mix(in srgb, var(--sea) 72%, white);outline-offset:2px}button:disabled{cursor:wait;opacity:.58}svg{image-rendering:pixelated;display:block}.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}.admin-app,.admin-shell{height:100dvh;min-height:0}.admin-app{position:relative}.admin-shell{z-index:auto;grid-template-columns:7rem minmax(0,1fr);display:grid;position:relative}.admin-primary-rail{z-index:auto;min-height:100dvh;color:var(--rail-text);background:linear-gradient(180deg, var(--rail-deep), color-mix(in srgb, var(--rail-end) 72%, var(--sage)));border-right:4px solid color-mix(in srgb, var(--paper) 75%, var(--terracotta));box-shadow:.35rem 0 0 var(--rail-shadow);flex-direction:column;align-items:center;gap:2rem;padding:1.2rem .65rem;display:flex;position:relative}.admin-brand{width:3.25rem;height:3.25rem;color:var(--terracotta-deep);background:var(--paper);border:3px solid var(--rail-border);box-shadow:3px 3px 0 var(--rail-shadow);border-radius:.7rem .7rem 1rem;place-items:center;text-decoration:none;display:grid}.admin-brand img{object-fit:contain;width:2.7rem;height:2.1rem;image-rendering:pixelated}.admin-primary-rail__links{gap:.8rem;width:100%;display:grid}.primary-route{min-height:5.4rem;color:var(--rail-muted);text-align:center;border:2px solid #0000;border-radius:1rem;align-content:center;place-items:center;gap:.5rem;padding:.65rem .3rem;text-decoration:none;display:grid}.primary-route svg{width:1.65rem;height:1.65rem}.primary-route span{letter-spacing:.06em;font-size:.78rem;font-weight:800}.primary-route:hover,.primary-route.is-active{color:var(--terracotta-deep);background:var(--paper);border-color:var(--rail-active-border);box-shadow:3px 3px 0 var(--rail-shadow)}.rail-avatar{background:var(--paper);border:3px solid var(--rail-avatar-border);border-radius:50%;width:2.9rem;height:2.9rem;margin-top:auto;overflow:hidden}.admin-content{grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;display:grid}.admin-page-header{z-index:auto;background:var(--paper);border-bottom:1px solid var(--line);min-height:5.1rem;box-shadow:0 .3rem 1.2rem color-mix(in srgb, var(--shadow) 58%, transparent);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem clamp(1rem,3vw,2.5rem);display:flex;position:relative}.admin-page-header:after{content:"";background:repeating-linear-gradient(90deg, var(--terracotta) 0 .35rem, transparent .35rem .62rem);width:3.4rem;height:.45rem;position:absolute;bottom:-.28rem;right:clamp(1rem,3vw,2.5rem)}.admin-page-header__title,.admin-page-header__actions{align-items:center;gap:.8rem;display:flex}.admin-page-header__title p,.admin-page-header__title h1{margin:0}.admin-page-header__title p{color:var(--terracotta);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:900}.admin-page-header__title h1{font-family:var(--title-font);margin-top:.12rem;font-size:clamp(1.28rem,2vw,1.7rem);line-height:1.15}.icon-button{width:2.75rem;height:2.75rem;color:var(--terracotta-deep);background:var(--blush-soft);border:1px solid var(--line);border-radius:.8rem;flex:none;place-items:center;display:grid}.icon-button svg{width:1.25rem}.admin-workspace{grid-template-columns:17rem minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.admin-secondary-menu{z-index:auto;background:color-mix(in srgb, var(--blush-soft) 55%, var(--cream));border-right:1px solid var(--line);min-height:0;padding:2rem 1rem 5rem;position:relative;overflow-y:auto}.admin-secondary-menu__eyebrow{color:var(--muted);font-family:var(--title-font);margin:0 0 1rem .65rem;font-size:.8rem;font-style:italic}.admin-secondary-menu nav{gap:.45rem;display:grid}.secondary-route{min-height:3.2rem;color:var(--muted);border:1px solid #0000;border-radius:.9rem;align-items:center;gap:.8rem;padding:.7rem .8rem;font-weight:750;text-decoration:none;display:flex;position:relative}.secondary-route svg{width:1.28rem;height:1.28rem;color:var(--sage)}.secondary-route:hover{color:var(--ink);background:color-mix(in srgb, var(--paper) 64%, transparent)}.secondary-route.is-active{color:var(--terracotta-deep);background:var(--paper);border-color:var(--line);box-shadow:3px 3px 0 color-mix(in srgb, var(--blush) 75%, transparent)}.secondary-route.is-active:after{content:"";background:var(--sea);width:.5rem;height:.5rem;position:absolute;right:.8rem;transform:rotate(45deg)}.botanical-rule{background:linear-gradient(transparent calc(50% - .5px), var(--line) calc(50% - .5px) calc(50% + .5px), transparent calc(50% + .5px));height:.7rem;margin:2.2rem .75rem;position:relative}.botanical-rule:before{content:"";background:var(--terracotta);border:2px solid var(--paper);width:.55rem;height:.55rem;box-shadow:0 0 0 1px var(--line);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.admin-detail{min-width:0;padding:clamp(1rem,3vw,2.5rem);overflow:auto}.admin-page-layout,.detail-page{width:min(100%,78rem);margin:0 auto}.admin-page-layout__intro{max-width:64rem;color:var(--muted);margin:0 0 1.2rem;line-height:1.65}.admin-page-layout__intro p{margin:0}.admin-page-layout__toolbar{margin-bottom:1rem}.admin-page-layout__feedback{margin-bottom:.8rem}.filters{background:var(--paper);border:1px solid var(--line);box-shadow:0 .35rem 1rem color-mix(in srgb, var(--shadow) 50%, transparent);border-radius:1rem;align-items:center;gap:.65rem;padding:.75rem;display:flex}input,select{min-height:2.75rem;color:var(--ink);background:var(--paper-strong);border:1px solid var(--line);border-radius:.7rem;padding:.62rem .75rem}input::placeholder{color:color-mix(in srgb, var(--muted) 74%, transparent)}.filters input{flex:22rem;min-width:12rem}.filters select{min-width:9rem}.primary-button,.quiet-button,.danger-button{cursor:pointer;border-radius:.75rem;justify-content:center;align-items:center;gap:.4rem;min-height:2.75rem;padding:.58rem 1rem;font-weight:800;line-height:1.2;text-decoration:none;display:inline-flex}.primary-button{color:var(--button-text);background:var(--terracotta);border:2px solid var(--terracotta-deep);box-shadow:3px 3px 0 color-mix(in srgb, var(--terracotta-deep) 60%, transparent)}.quiet-button{color:var(--terracotta-deep);background:var(--paper);border:1px solid var(--line);box-shadow:2px 2px 0 color-mix(in srgb, var(--blush) 70%, transparent)}.quiet-button:hover,.primary-button:hover{transform:translateY(-1px)}.quiet-button--small{min-height:2.75rem;padding:.42rem .72rem;font-size:.84rem}.danger-button{color:var(--danger);background:color-mix(in srgb, var(--blush-soft) 62%, var(--paper));border:1px solid color-mix(in srgb, var(--danger) 65%, var(--line))}.table-wrap{background:var(--paper);border:1px solid var(--line);width:100%;box-shadow:0 .5rem 1.4rem color-mix(in srgb, var(--shadow) 55%, transparent);border-radius:1rem;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:50rem}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid color-mix(in srgb, var(--line) 75%, transparent);padding:.85rem .9rem}th{color:var(--muted);letter-spacing:.055em;text-transform:uppercase;background:0 0;font-size:.72rem;font-weight:900}thead{background:color-mix(in srgb, var(--sage-soft) 34%, var(--paper))}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:color-mix(in srgb, var(--blush-soft) 38%, transparent)}td small,.current-admin{color:var(--muted);margin-top:.22rem;font-size:.72rem;display:block}.empty,.empty-state,.loading-state{color:var(--muted);text-align:center;padding:2rem}.user-cell{align-items:center;gap:.7rem;min-width:11rem;display:flex}.user-cell__avatar,.profile-summary__avatar,.account-card__avatar{background:var(--blush-soft);border:2px solid var(--line);border-radius:50%;flex:none;display:block;overflow:hidden}.user-cell__avatar{width:2.75rem;height:2.75rem}.user-cell__avatar img,.profile-summary__avatar img,.account-card__avatar img,.user-cell__avatar svg,.profile-summary__avatar svg,.account-card__avatar svg{object-fit:cover;width:100%;height:100%;image-rendering:pixelated}.state{white-space:nowrap;color:var(--muted);align-items:center;gap:.4rem;font-size:.8rem;font-weight:800;display:inline-flex}.state:before{content:"";background:var(--line);border-radius:50%;width:.55rem;height:.55rem}.state-active:before{background:var(--sage)}.state-disabled:before{background:var(--terracotta)}.state-pending:before{background:var(--blush)}.profile-summary,.account-card{background:linear-gradient(115deg, color-mix(in srgb, var(--blush-soft) 85%, var(--paper)), color-mix(in srgb, var(--sea-soft) 45%, var(--paper)));border:1px solid var(--line);box-shadow:3px 3px 0 color-mix(in srgb, var(--terracotta) 28%, transparent);border-radius:1.1rem;align-items:center;gap:1rem;margin-bottom:1.2rem;padding:1rem 1.15rem;display:flex}.profile-summary__avatar,.account-card__avatar{width:4.2rem;height:4.2rem}.profile-summary p,.profile-summary h2,.profile-summary span,.account-card p{margin:0}.profile-summary p,.account-card__label{color:var(--terracotta);letter-spacing:.08em;text-transform:uppercase;font-size:.73rem;font-weight:900}.profile-summary h2,.account-card__name{font-family:var(--title-font);margin:.18rem 0;font-size:1.35rem;display:block}.profile-summary span{color:var(--muted);font-size:.84rem}.admin-rows{background:var(--paper);border:1px solid var(--line);border-radius:1rem;margin:0;overflow:hidden}.admin-row{border-bottom:1px solid color-mix(in srgb, var(--line) 72%, transparent);grid-template-columns:minmax(12rem,1fr) minmax(10rem,1fr);align-items:center;gap:1rem;min-height:4.6rem;padding:.9rem 1rem;display:grid}.admin-row:last-child{border-bottom:0}.admin-row--compact{min-height:3.5rem}.admin-row__label p,.admin-row__value,.admin-actions p,.admin-section__heading p{color:var(--muted);margin:.22rem 0 0;font-size:.84rem;line-height:1.5}.admin-row__name,.admin-row__label label{font-weight:850}.admin-row__value{text-align:right;overflow-wrap:anywhere;margin:0}.admin-row__control{justify-self:end}.admin-row input{justify-self:end;width:min(100%,28rem)}.admin-section{background:color-mix(in srgb, var(--paper) 90%, var(--sage-soft));border:1px solid var(--line);border-radius:1rem;margin-top:1.25rem;overflow:hidden}.admin-section__heading{background:color-mix(in srgb, var(--sage-soft) 44%, var(--paper));border-bottom:1px solid var(--line);padding:1rem}.admin-section__heading h3{font-family:var(--title-font);margin:0;font-size:1.1rem}.admin-section .admin-rows{box-shadow:none;border:0;border-radius:0}.admin-danger{background:color-mix(in srgb, var(--blush-soft) 60%, var(--paper));border-color:color-mix(in srgb, var(--danger) 35%, var(--line))}.admin-danger .admin-section__heading{background:color-mix(in srgb, var(--blush) 25%, var(--paper))}.admin-actions{align-items:center;gap:.8rem;padding:1rem;display:flex}.admin-form .admin-actions{margin-top:1rem;padding:0}.stat-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin:1rem 0;padding:0;list-style:none;display:grid}.stat-strip li{background:var(--paper);border:1px solid var(--line);border-radius:1rem;gap:.35rem;padding:1rem;display:grid}.stat-strip span,.stat-version span{color:var(--muted);font-size:.75rem;font-weight:800}.stat-strip strong{color:var(--terracotta-deep);font-family:var(--title-font);font-size:1.45rem}.status-banner{background:color-mix(in srgb, var(--sage-soft) 72%, var(--paper));border:1px solid var(--sage);border-radius:1rem;align-items:center;gap:.8rem;padding:1rem;display:flex}.status-banner--pending{background:color-mix(in srgb, var(--blush-soft) 72%, var(--paper));border-color:var(--terracotta)}.status-banner__dot{background:var(--sage);border:2px solid var(--paper);width:.8rem;height:.8rem;box-shadow:0 0 0 2px var(--sage);border-radius:50%}.status-banner p,.stat-version{color:var(--muted);margin:.2rem 0 0}.stat-version{background:var(--paper);border:1px solid var(--line);border-radius:.8rem;gap:.75rem;padding:.85rem 1rem;display:flex}.segmented{background:color-mix(in srgb, var(--cream) 70%, var(--paper));border:1px solid var(--line);border-radius:.85rem;flex-wrap:wrap;gap:.3rem;padding:.25rem;display:inline-flex}.segmented__option{min-height:2.75rem;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.65rem;align-items:center;gap:.35rem;padding:.45rem .7rem;display:inline-flex}.segmented__option svg{width:1rem;height:1rem}.segmented__option[aria-pressed=true]{color:var(--terracotta-deep);background:var(--paper);border-color:var(--line);box-shadow:2px 2px 0 color-mix(in srgb, var(--blush) 68%, transparent);font-weight:800}.daylight-control{grid-template-columns:minmax(9rem,1fr) auto;align-items:center;gap:.55rem .8rem;width:min(100%,31rem);display:grid}.daylight-control__readout{color:var(--terracotta-deep);align-items:center;gap:.45rem;font-size:.84rem;font-weight:850;display:flex}.daylight-control__readout svg{width:1.15rem;height:1.15rem}.daylight-control input[type=range]{width:100%;min-height:2.75rem;accent-color:var(--terracotta);background:0 0;border:0;grid-column:1/-1;padding:0}.daylight-control .quiet-button{justify-self:end}.message{color:var(--ink);background:var(--sea-soft);border:1px solid var(--sea);border-radius:.7rem;margin:.6rem 0;padding:.75rem .9rem}.message-error{color:var(--danger);background:color-mix(in srgb, var(--blush-soft) 78%, var(--paper));border-color:color-mix(in srgb, var(--danger) 50%, var(--line))}.dialog-backdrop{z-index:900;background:var(--backdrop);place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.confirm-dialog{width:min(100%,31rem);color:var(--ink);background:var(--paper);border:2px solid var(--terracotta);box-shadow:6px 6px 0 var(--dialog-shadow);border-radius:1rem;padding:1.25rem}.confirm-dialog h2{font-family:var(--title-font);margin:0}.confirm-dialog p{color:var(--muted);line-height:1.55}.dialog-input{gap:.45rem;font-weight:800;display:grid}.dialog-actions{justify-content:flex-end;gap:.6rem;margin-top:1rem;display:flex}.login-shell{z-index:auto;background:linear-gradient(135deg, color-mix(in srgb, var(--blush-soft) 78%, transparent), color-mix(in srgb, var(--sea-soft) 58%, transparent)), var(--cream);place-items:center;min-height:100dvh;padding:1rem;display:grid;position:relative;overflow:hidden}.login-shell:before,.login-shell:after{content:"";border:1.25rem dotted color-mix(in srgb, var(--terracotta) 40%, transparent);border-radius:50%;width:10rem;height:10rem;position:absolute}.login-shell:before{top:-4rem;left:-3rem}.login-shell:after{border-color:color-mix(in srgb, var(--sage) 45%, transparent);bottom:-4rem;right:-3rem}.login-panel{z-index:auto;background:var(--paper);border:2px solid var(--line);width:min(100%,27rem);box-shadow:8px 8px 0 color-mix(in srgb, var(--terracotta) 30%, transparent), 0 1rem 3rem var(--shadow);border-radius:1.1rem;padding:2rem;position:relative}.login-bloom{background:var(--blush-soft);border:3px solid var(--paper);width:4.8rem;height:4.8rem;box-shadow:0 0 0 2px var(--terracotta);border-radius:50%;margin:-4.3rem auto 1rem;padding:.3rem}.login-bloom img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated}.product-name{color:var(--terracotta);letter-spacing:.12em;text-align:center;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:900}.login-panel h1{font-family:var(--title-font);text-align:center;margin:.3rem 0;font-size:2rem}.login-intro{color:var(--muted);text-align:center;margin:0 0 1.3rem;line-height:1.55}.login-panel form{gap:.5rem;display:grid}.login-panel label{margin-top:.45rem;font-size:.84rem;font-weight:850}.login-panel .primary-button{width:100%;margin-top:.65rem}.mobile-primary-nav{display:none}@media (width<=991px){.admin-shell{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr;display:grid}.admin-primary-rail{display:none}.admin-content{min-height:0;padding-bottom:0}.admin-workspace{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;min-height:0;display:grid}.admin-secondary-menu{z-index:auto;background:var(--paper);border-right:0;border-bottom:1px solid var(--line);min-height:0;padding:.65rem;position:relative;overflow:auto hidden}.admin-secondary-menu__eyebrow,.botanical-rule{display:none}.admin-secondary-menu nav{width:max-content;min-width:100%;display:flex}.secondary-route{white-space:nowrap;min-height:2.85rem}.secondary-route.is-active:after{display:none}.admin-detail{padding:1rem}.mobile-primary-nav{z-index:auto;padding:.45rem max(.65rem, env(safe-area-inset-right)) max(.45rem, env(safe-area-inset-bottom)) max(.65rem, env(safe-area-inset-left));background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -.4rem 1.2rem var(--shadow);grid-row:2;grid-template-columns:repeat(2,1fr);display:grid;position:relative}.mobile-primary-nav a{min-height:3.4rem;color:var(--muted);border-radius:.8rem;justify-content:center;align-items:center;gap:.45rem;font-weight:850;text-decoration:none;display:flex}.mobile-primary-nav a.is-active{color:var(--terracotta-deep);background:var(--blush-soft)}.mobile-primary-nav svg{width:1.25rem;height:1.25rem}}@media (width<=640px){.admin-page-header{align-items:flex-start;min-height:4.7rem;padding:.7rem .8rem}.admin-page-header__actions{flex-wrap:wrap;justify-content:flex-end}.admin-page-header__actions .quiet-button{min-height:2.75rem;padding:.42rem .65rem;font-size:.78rem}.admin-secondary-menu{top:auto}.admin-page-header__title h1{font-size:1.18rem}.filters,.admin-actions{flex-direction:column;align-items:stretch}.filters input,.filters select{flex:auto;width:100%;min-width:0}.admin-row{grid-template-columns:1fr;gap:.55rem;min-height:0}.admin-row__value,.admin-row__control,.admin-row input{text-align:left;justify-self:stretch;width:100%}.stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-summary__avatar,.account-card__avatar{width:3.5rem;height:3.5rem}.login-panel{padding:1.4rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
