@font-face{font-family:PT Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pt-serif-latin-400-normal-Cx0mQj7e.woff2)format("woff2"),url(/assets/pt-serif-latin-400-normal-DIu_lRW0.woff)format("woff")}@font-face{font-family:PT Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pt-serif-latin-ext-400-normal-B7STXmTm.woff2)format("woff2"),url(/assets/pt-serif-latin-ext-400-normal-tfSDtiqN.woff)format("woff")}@font-face{font-family:PT Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pt-serif-cyrillic-400-normal-B-euljER.woff2)format("woff2"),url(/assets/pt-serif-cyrillic-400-normal-D8jOFnDU.woff)format("woff")}@font-face{font-family:PT Serif;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/pt-serif-latin-700-normal-Bsuo9jes.woff2)format("woff2"),url(/assets/pt-serif-latin-700-normal-BnJLcJ8K.woff)format("woff")}@font-face{font-family:PT Serif;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/pt-serif-latin-ext-700-normal-B7jTzfC-.woff2)format("woff2"),url(/assets/pt-serif-latin-ext-700-normal-BQOBW4N0.woff)format("woff")}@font-face{font-family:PT Serif;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/pt-serif-cyrillic-700-normal-DvVvs_4R.woff2)format("woff2"),url(/assets/pt-serif-cyrillic-700-normal-BeN6CUoB.woff)format("woff")}@font-face{font-family:PT Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pt-mono-latin-400-normal-3-3stVoC.woff2)format("woff2"),url(/assets/pt-mono-latin-400-normal-CW_sYFHq.woff)format("woff")}@font-face{font-family:PT Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pt-mono-latin-ext-400-normal-59kyaNn9.woff2)format("woff2"),url(/assets/pt-mono-latin-ext-400-normal-CEnqigeC.woff)format("woff")}@font-face{font-family:PT Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pt-mono-cyrillic-400-normal-CteInIPE.woff2)format("woff2"),url(/assets/pt-mono-cyrillic-400-normal-CL2xZ6Bq.woff)format("woff")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink-950:#0f0d0c;--ink-900:#1a1715;--ink-850:#221d19;--ink-700:#322c27;--ink-600:#463c34;--paper-100:#ede5d8;--paper-300:#d8cebe;--taupe-500:#9c9186;--taupe-700:#6e655c;--accent-red:#e0233f;--accent-magenta:#9b1f6e;--accent-blue:#2b3f9e;--success-500:#3fa66b;--warning-500:#d6a419;--font-display:"PT Serif", Georgia, "Iowan Old Style", "Palatino Linotype", "Book Antiqua", "Noto Serif", serif;--font-body:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, system-ui, sans-serif;--font-mono:"PT Mono", ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-pill:999px;--touch-min:44px;--color-bg:var(--ink-950);--color-panel:var(--ink-900);--color-surface-raised:var(--ink-850);--color-border:var(--ink-700);--color-border-strong:var(--ink-600);--color-text:var(--paper-100);--color-text-secondary:var(--taupe-500);--color-text-tertiary:var(--taupe-700);--color-accent:var(--accent-magenta);--color-accent-contrast:#fff;--color-danger:var(--accent-red);--color-success:var(--success-500);--color-warning:var(--warning-500);--gradient-ink:linear-gradient(135deg, var(--accent-red) 0%, var(--accent-magenta) 55%, var(--accent-blue) 100%);--focus-ring:0 0 0 3px #9b1f6e80;--nav-rail-width:92px;--tabbar-height:60px;font:16px/1.5 var(--font-body)}*{box-sizing:border-box}body{background:var(--color-bg);min-height:100dvh;color:var(--color-text);margin:0}#root{min-height:100dvh}h1,h2,h3{font-family:var(--font-display);letter-spacing:.01em;font-weight:600}:root:lang(zh-Hans){--font-display:"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif}:lang(zh-Hans) h1,:lang(zh-Hans) h2,:lang(zh-Hans) h3,:lang(zh-Hans) .section-title{letter-spacing:0}p,.status{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}:lang(zh-Hans) p,:lang(zh-Hans) .status{line-break:strict;-webkit-hyphens:manual;hyphens:manual}:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-sm);outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}button,input,select,textarea{font:inherit;color:inherit}button{background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);min-height:var(--touch-min);cursor:pointer;padding:8px 14px;transition:border-color .18s ease-out,background-color .18s ease-out,transform .12s ease-out}button:hover{border-color:var(--color-accent)}button:active{transform:scale(.98)}button:disabled{opacity:.45;cursor:not-allowed;transform:none}button.primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff}button.active{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}input[type=text],input[type=number],input[type=search],select{background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-sm);min-height:var(--touch-min);padding:6px 10px}.card{background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3)}.badge{font-size:.75rem;font-family:var(--font-mono);border-radius:var(--radius-pill);background:var(--color-border);color:var(--color-text-secondary);align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.badge-success{color:var(--color-success);background:#3fa66b29}.badge-warning{color:var(--color-warning);background:#d6a41929}.badge-danger{color:var(--accent-red);background:#e0233f29}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.app-body{flex:1;min-height:0;display:flex}.app-content{flex-direction:column;flex:1;min-width:0;display:flex}.app-header{padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--color-border);align-items:center;display:flex}.header-logo{width:auto;height:32px}.app-main{padding:var(--space-5);padding-bottom:calc(var(--space-5) + var(--tabbar-height));flex:1;overflow:auto}@media (width>=900px){.app-main{padding-bottom:var(--space-5)}}.status{color:var(--color-text-secondary);max-width:480px;font-size:.95rem}.app-credits{padding:var(--space-5);justify-content:center;display:flex}.credits-logo{width:100%;max-width:220px;height:auto}.nav-item{align-items:center;gap:var(--space-3);border-radius:var(--radius-md);color:var(--color-text-secondary);min-height:var(--touch-min);padding:var(--space-2) var(--space-3);background:0 0;border:1px solid #0000;display:flex;position:relative}.nav-item:hover{color:var(--color-text);border-color:#0000}.nav-item[aria-current=page]{color:var(--color-text);background:var(--color-surface-raised)}.nav-item[aria-current=page]:before{content:"";border-radius:var(--radius-pill);background:var(--gradient-ink);position:absolute}.nav-item-flagship{color:var(--paper-100)}.nav-item-flagship .nav-item-icon{background:var(--gradient-ink);color:#fff;border-radius:var(--radius-sm)}.nav-item-icon{flex:none;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.nav-item-label{min-width:0;max-width:100%;font-size:.8rem;overflow:hidden}.nav-rail{display:none}@media (width>=900px){.nav-rail{align-items:stretch;gap:var(--space-1);width:var(--nav-rail-width);padding:var(--space-4) var(--space-2);border-right:1px solid var(--color-border);flex-direction:column;flex:none;display:flex;overflow-y:auto}.nav-rail .nav-item{padding:var(--space-2) 4px;flex-direction:column;gap:6px}.nav-rail .nav-item[aria-current=page]:before{width:3px;top:8px;bottom:8px;left:-8px}.nav-rail .nav-item-label{text-align:center;line-height:1.15}}.nav-rail-mark{padding:var(--space-2) 0 var(--space-4);justify-content:center;display:flex}.nav-rail-mark img{width:32px;height:32px}.nav-tabbar{z-index:40;background:var(--color-panel);border-top:1px solid var(--color-border);padding:var(--space-1) var(--space-1) max(var(--space-1), env(safe-area-inset-bottom));display:flex;position:fixed;bottom:0;left:0;right:0}@media (width>=900px){.nav-tabbar{display:none}}.nav-tabbar .nav-item{border-radius:var(--radius-sm);flex-direction:column;flex:1;gap:2px;min-width:0}.nav-tabbar .nav-item-label{font-size:.68rem}.nav-tabbar .nav-item[aria-current=page]:before{width:22px;height:3px;top:2px;left:50%;transform:translate(-50%)}.grid{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.swatch{aspect-ratio:1;border-radius:var(--radius-sm);border:1px solid var(--color-border);width:100%}.toolbar{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;align-items:center;display:flex}.section-title{font-family:var(--font-display);margin:0 0 var(--space-3);font-size:1.5rem}.bar{background:var(--color-border);border-radius:4px;height:8px;overflow:hidden}.bar>div{background:var(--color-accent);height:100%;transition:width .22s ease-out}.ink-card{gap:var(--space-2);text-align:left;padding:var(--space-3);flex-direction:column;display:flex}.ink-card-brand{object-fit:contain;border-radius:var(--radius-sm);background:#0f0d0c8c;width:auto;max-width:70px;height:16px;padding:3px 6px;position:absolute;top:8px;left:8px}.brand-filter{background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);gap:4px;padding:3px;display:flex}.brand-filter-btn{border-radius:var(--radius-sm);background:0 0;border:none;min-height:36px;padding:4px 10px}.brand-filter-btn.active{background:var(--color-surface-raised);box-shadow:inset 0 0 0 1px var(--color-accent)}.brand-filter-logo{width:auto;height:18px;display:block}.ink-card-swatch-wrap{position:relative}.ink-card-code{font-family:var(--font-mono);color:var(--color-text-secondary);font-size:.8rem}.ink-card-name{min-width:0;max-width:100%;font-size:.85rem;font-weight:600;overflow:hidden}.chip-cws{font-family:var(--font-mono);align-self:flex-start}.drop-row{margin:var(--space-2) 0 0;gap:var(--space-1);flex-direction:column;padding:0;list-style:none;display:flex}.drop-chip{align-items:center;gap:var(--space-2);padding:4px 0;display:flex}.drop-dot{border:1px solid var(--color-border-strong);border-radius:50%;flex:none;width:14px;height:14px}.drop-brand-logo{object-fit:contain;opacity:.9;flex:none;width:auto;max-width:44px;height:12px}.drop-name{flex:1;min-width:0;font-size:.85rem;overflow:hidden}.drop-qty{font-family:var(--font-mono);color:var(--color-text-secondary);flex:none;font-size:.78rem}.drop-qty-pending{color:var(--color-warning)}.inkwell{flex:none;position:relative}.inkwell-neck{background:var(--color-border-strong);border-radius:3px 3px 0 0;width:34%;height:12px;position:absolute;top:-6px;left:50%;transform:translate(-50%)}.inkwell-body{border:1px solid var(--color-border-strong);border-radius:10px 10px 26px 26px/10px 10px 34px 34px;position:absolute;inset:6px 0 0}.empty-state{align-items:center;gap:var(--space-2);text-align:center;padding:var(--space-6) var(--space-4);color:var(--color-text-secondary);flex-direction:column;display:flex}.empty-state-title{font-family:var(--font-display);color:var(--color-text);margin:0}.skeleton{background:linear-gradient(90deg, var(--color-panel) 25%, var(--color-surface-raised) 50%, var(--color-panel) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.4s ease-in-out infinite skeleton-sheen}@keyframes skeleton-sheen{0%{background-position:200% 0}to{background-position:-200% 0}}.toast{bottom:calc(var(--space-4) + var(--tabbar-height));z-index:1000;gap:var(--space-3);background:var(--color-surface-raised);border:1px solid var(--color-accent);border-radius:var(--radius-md);align-items:center;padding:10px 14px;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000073}@media (width>=900px){.toast{bottom:var(--space-4)}}.sheet-scrim{z-index:60;background:#00000080;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:480px;max-height:80dvh;padding:var(--space-2) var(--space-4) var(--space-5);padding-bottom:max(var(--space-5), env(safe-area-inset-bottom));border-bottom:none;overflow-y:auto}.sheet-handle{border-radius:var(--radius-pill);background:var(--color-border-strong);width:36px;height:4px;margin:0 auto var(--space-3)}.sheet-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.sheet-title{font-family:var(--font-display);margin:0;font-size:1.1rem}.sheet-close{min-height:var(--touch-min);min-width:var(--touch-min);justify-content:center;align-items:center;padding:0;display:flex}.icon-button{min-width:var(--touch-min);min-height:var(--touch-min);flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.marquee{white-space:nowrap;vertical-align:bottom;max-width:100%;display:inline-block;overflow:hidden}.marquee-text{will-change:transform;display:inline-block}.marquee-truncated .marquee-text{text-overflow:ellipsis;max-width:100%;overflow:hidden}.marquee-overflowing{-webkit-mask-image:linear-gradient(90deg,#0000,#000 10px calc(100% - 10px),#0000);mask-image:linear-gradient(90deg,#0000,#000 10px calc(100% - 10px),#0000)}.marquee-tooltip{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-sm);white-space:normal;z-index:200;pointer-events:none;max-width:260px;padding:6px 10px;font-size:.8rem;position:fixed;transform:translate(-50%,calc(-100% - 8px));box-shadow:0 4px 16px #0006}
