:root{--gbd-bg-hard:#1d2021;--gbd-bg:#282828;--gbd-bg-soft:#32302f;--gbd-bg1:#3c3836;--gbd-bg2:#504945;--gbd-bg3:#665c54;--gbd-bg4:#7c6f64;--gbd-fg:#fbf1c7;--gbd-fg1:#ebdbb2;--gbd-red:#fb4934;--gbd-red-text:#ff9d8b;--gbd-green:#b8bb26;--gbd-green-text:#cdd04a;--gbd-yellow:#fabd2f;--gbd-blue:#83a598;--gbd-blue-text:#9fc7bb;--gbd-purple:#d3869b;--gbd-aqua:#8ec07c;--gbd-orange:#fe8019;--gbl-bg-soft:#f2e5bc;--gbl-bg:#fbf1c7;--gbl-bg1:#ebdbb2;--gbl-bg2:#d5c4a1;--gbl-bg3:#bdae93;--gbl-bg4:#a89984;--gbl-fg:#282828;--gbl-fg1:#3c3836;--gbl-red:#cc241d;--gbl-red-text:#9d0006;--gbl-green:#79740e;--gbl-green-text:#5f5b00;--gbl-yellow:#d79921;--gbl-blue:#458588;--gbl-blue-text:#076678;--gbl-purple:#b16286;--gbl-aqua:#689d6a;--gbl-orange:#d65d0e;--color-bg:#282828;--color-bg-elevated:#1d2021;--color-surface:#3c3836;--color-surface-2:#504945;--color-surface-3:#665c54;--color-border:#504945;--color-border-strong:#7c6f64;--color-text:#ebdbb2;--color-text-strong:#fbf1c7;--color-muted:#cdbb9a;--color-interactive:#fabd2f;--color-interactive-text:#1d2021;--color-focus:#83a598;--color-danger:#fb4934;--color-danger-text:#ffa898;--color-success:#b8bb26;--color-success-text:#cdd04a;--color-warning:#fabd2f;--color-warning-text:#fabd2f;--color-info:#83a598;--color-info-text:#9fc7bb;--color-overlay:#0000009e;--color-selection:#fabd2f47;--color-scrollbar:#665c54;--color-scrollbar-hover:#7c6f64;--color-primary-grad-from:#f3bf33;--color-primary-grad-to:#fabd2f;--color-primary-border:#d6a41f;--color-danger-soft:#fb49341a;--color-danger-border:#fb493461;--color-success-soft:#b8bb261f;--color-success-border:#b8bb2666;--color-warning-soft:#fabd2f1f;--color-warning-border:#fabd2f52;--color-info-soft:#83a5981f;--color-info-border:#83a59857;--color-neutral-soft:#ebdbb20d;--color-shadow-tint:#00000047;--app-aura-1:radial-gradient(920px 500px at 85% -10%, #83a59817, transparent 62%);--app-aura-2:radial-gradient(760px 430px at -8% 28%, #d3869b12, transparent 58%);--app-aura-3:radial-gradient(720px 400px at 50% 112%, #fabd2f0d, transparent 62%);--theme-light-bg:var(--gbl-bg-soft);--theme-light-bg-elevated:var(--gbl-bg);--theme-light-surface:var(--gbl-bg);--theme-light-surface-2:var(--gbl-bg-soft);--theme-light-surface-3:var(--gbl-bg1);--theme-light-border:var(--gbl-bg2);--theme-light-border-strong:var(--gbd-bg4);--theme-light-text:var(--gbl-fg1);--theme-light-text-strong:var(--gbl-fg);--theme-light-muted:#665c54;--theme-light-interactive:var(--gbl-yellow);--theme-light-interactive-text:var(--gbd-bg-hard);--theme-light-focus:var(--gbl-blue-text);--theme-light-danger:var(--gbl-red);--theme-light-danger-text:var(--gbl-red-text);--theme-light-success:var(--gbl-green);--theme-light-success-text:var(--gbl-green-text);--theme-light-warning:var(--gbl-yellow);--theme-light-warning-text:#7a4f00;--theme-light-info:var(--gbl-blue);--theme-light-info-text:var(--gbl-blue-text);--theme-light-overlay:#28282880;--theme-light-selection:#d7992159;--theme-light-scrollbar:var(--gbl-bg3);--theme-light-scrollbar-hover:var(--gbl-bg4);--theme-light-primary-grad-from:#e6ac1f;--theme-light-primary-grad-to:var(--gbl-yellow);--theme-light-primary-border:#b57614;--theme-light-shadow-tint:#3c383638;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:2rem;--space-8:3rem;--font-sans:system-ui, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono:ui-monospace, "Cascadia Code", "SFMono-Regular", Consolas, monospace;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.9375rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.625rem;--leading-tight:1.2;--leading-snug:1.4;--leading-normal:1.55;--leading-relaxed:1.7;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:22px;--radius-full:999px;--shadow-xs:0 1px 2px var(--color-shadow-tint);--shadow-sm:0 1px 3px var(--color-shadow-tint);--shadow-md:0 8px 28px var(--color-shadow-tint);--shadow-lg:0 18px 52px var(--color-shadow-tint);--shadow-focus:0 0 0 3px #83a59857;--control-h-sm:2rem;--control-h-md:2.5rem;--control-h-lg:2.75rem;--z-base:1;--z-sticky:30;--z-overlay:40;--z-modal:50;--z-toast:45;--duration-fast:.12s;--duration-base:.18s;--duration-slow:.32s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-emphasized:cubic-bezier(.2, 0, 0, 1.4);--transition:var(--duration-base) var(--ease-standard)}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:var(--theme-light-bg);--color-bg-elevated:var(--theme-light-bg-elevated);--color-surface:var(--theme-light-surface);--color-surface-2:var(--theme-light-surface-2);--color-surface-3:var(--theme-light-surface-3);--color-border:var(--theme-light-border);--color-border-strong:var(--theme-light-border-strong);--color-text:var(--theme-light-text);--color-text-strong:var(--theme-light-text-strong);--color-muted:var(--theme-light-muted);--color-interactive:var(--theme-light-interactive);--color-interactive-text:var(--theme-light-interactive-text);--color-focus:var(--theme-light-focus);--color-danger:var(--theme-light-danger);--color-danger-text:var(--theme-light-danger-text);--color-success:var(--theme-light-success);--color-success-text:var(--theme-light-success-text);--color-warning:var(--theme-light-warning);--color-warning-text:var(--theme-light-warning-text);--color-info:var(--theme-light-info);--color-info-text:var(--theme-light-info-text);--color-overlay:var(--theme-light-overlay);--color-selection:var(--theme-light-selection);--color-scrollbar:var(--theme-light-scrollbar);--color-scrollbar-hover:var(--theme-light-scrollbar-hover);--color-primary-grad-from:var(--theme-light-primary-grad-from);--color-primary-grad-to:var(--theme-light-primary-grad-to);--color-primary-border:var(--theme-light-primary-border);--color-shadow-tint:var(--theme-light-shadow-tint);--color-danger-soft:#9d000614;--color-danger-border:#9d000659;--color-success-soft:#5f5b001a;--color-success-border:#5f5b0059;--color-warning-soft:#7a4f001a;--color-warning-border:#7a4f0052;--color-info-soft:#07667817;--color-info-border:#07667852;--color-neutral-soft:#3c38360d;--shadow-focus:0 0 0 3px #07667847;--app-aura-1:radial-gradient(920px 500px at 85% -10%, #0766780f, transparent 62%);--app-aura-2:radial-gradient(760px 430px at -8% 28%, #8f3f710d, transparent 58%);--app-aura-3:radial-gradient(720px 400px at 50% 112%, #b576140f, transparent 62%)}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:var(--theme-light-bg);--color-bg-elevated:var(--theme-light-bg-elevated);--color-surface:var(--theme-light-surface);--color-surface-2:var(--theme-light-surface-2);--color-surface-3:var(--theme-light-surface-3);--color-border:var(--theme-light-border);--color-border-strong:var(--theme-light-border-strong);--color-text:var(--theme-light-text);--color-text-strong:var(--theme-light-text-strong);--color-muted:var(--theme-light-muted);--color-interactive:var(--theme-light-interactive);--color-interactive-text:var(--theme-light-interactive-text);--color-focus:var(--theme-light-focus);--color-danger:var(--theme-light-danger);--color-danger-text:var(--theme-light-danger-text);--color-success:var(--theme-light-success);--color-success-text:var(--theme-light-success-text);--color-warning:var(--theme-light-warning);--color-warning-text:var(--theme-light-warning-text);--color-info:var(--theme-light-info);--color-info-text:var(--theme-light-info-text);--color-overlay:var(--theme-light-overlay);--color-selection:var(--theme-light-selection);--color-scrollbar:var(--theme-light-scrollbar);--color-scrollbar-hover:var(--theme-light-scrollbar-hover);--color-primary-grad-from:var(--theme-light-primary-grad-from);--color-primary-grad-to:var(--theme-light-primary-grad-to);--color-primary-border:var(--theme-light-primary-border);--color-shadow-tint:var(--theme-light-shadow-tint);--color-danger-soft:#9d000614;--color-danger-border:#9d000659;--color-success-soft:#5f5b001a;--color-success-border:#5f5b0059;--color-warning-soft:#7a4f001a;--color-warning-border:#7a4f0052;--color-info-soft:#07667817;--color-info-border:#07667852;--color-neutral-soft:#3c38360d;--shadow-focus:0 0 0 3px #07667847;--app-aura-1:radial-gradient(920px 500px at 85% -10%, #0766780f, transparent 62%);--app-aura-2:radial-gradient(760px 430px at -8% 28%, #8f3f710d, transparent 58%);--app-aura-3:radial-gradient(720px 400px at 50% 112%, #b576140f, transparent 62%)}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;min-height:100%}body{background-color:var(--color-bg);min-height:100svh;color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;text-rendering:optimizelegibility;margin:0}body:before{z-index:-1;background-image:var(--app-aura-1), var(--app-aura-2), var(--app-aura-3);content:"";pointer-events:none;position:fixed;inset:0}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{font-weight:var(--weight-semibold);line-height:var(--leading-tight)}ul,ol{margin:0;padding:0}a{color:var(--color-info-text)}code,kbd,samp{font-family:var(--font-mono);font-size:.92em}img,svg{vertical-align:middle}button,input,select,textarea{color:inherit;font:inherit}button,select{cursor:pointer}button:disabled{cursor:not-allowed}button,a,select,[role=button],label{touch-action:manipulation}input,select,textarea{width:100%;min-height:var(--control-h-md);padding:var(--space-2) var(--space-3);background:var(--color-bg-elevated);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);box-shadow:inset 0 1px 2px var(--color-shadow-tint);transition:border-color var(--transition), box-shadow var(--transition), background-color var(--transition)}input::placeholder,textarea::placeholder{color:var(--color-muted);opacity:1}input:hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:var(--color-text)}input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.65}select option{background:var(--color-bg-elevated);color:var(--color-text)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--color-focus);box-shadow:var(--shadow-focus);outline-offset:1px;outline:2px solid #0000}::selection{background:var(--color-selection);color:var(--color-text-strong)}*{scrollbar-color:var(--color-scrollbar) transparent;scrollbar-width:thin}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border:2px solid var(--color-bg);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-hover)}.visually-hidden{clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.mono{font-family:var(--font-mono)}.muted{color:var(--color-muted);font-size:var(--text-sm)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes card-in{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes notice-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes job-progress{0%{left:-45%}to{left:105%}}.spinner-icon{animation:.8s linear infinite spin}.refresh-spin{animation:2.6s linear infinite spin}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.dialog{z-index:var(--z-modal);padding:calc(var(--space-4) + env(safe-area-inset-top)) calc(var(--space-4) + env(safe-area-inset-right)) calc(var(--space-4) + env(safe-area-inset-bottom)) calc(var(--space-4) + env(safe-area-inset-left));place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.dialog__backdrop{background:var(--color-overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);position:absolute;inset:0}.dialog__panel{z-index:var(--z-base);gap:var(--space-4);overscroll-behavior:contain;width:min(520px,100%);max-height:100%;padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:card-in var(--duration-base) var(--ease-standard) both;flex-direction:column;display:flex;position:relative;overflow-y:auto}.dialog__header{gap:var(--space-3);align-items:flex-start;display:flex}.dialog__title{min-width:0;color:var(--color-text-strong);font-size:var(--text-lg);flex:1}.dialog__close{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--color-muted);transition:color var(--transition), background-color var(--transition), border-color var(--transition);background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.dialog__close:after{content:"";position:absolute;inset:-7px}.dialog__close:hover:not(:disabled){background:var(--color-neutral-soft);border-color:var(--color-border);color:var(--color-text)}.dialog__description{color:var(--color-muted);font-size:var(--text-sm)}.dialog__body{gap:var(--space-3);flex-direction:column;display:flex}.dialog__error{gap:var(--space-2);padding:var(--space-3);background:var(--color-danger-soft);border:1px solid var(--color-danger-border);border-radius:var(--radius-sm);color:var(--color-danger-text);font-size:var(--text-sm);align-items:flex-start;display:flex}.dialog__error svg{flex:none;margin-top:2px}.dialog__actions{gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}@media (width<=640px){.dialog{padding:calc(var(--space-3) + env(safe-area-inset-top)) calc(var(--space-3) + env(safe-area-inset-right)) calc(var(--space-3) + env(safe-area-inset-bottom)) calc(var(--space-3) + env(safe-area-inset-left))}.dialog__panel{padding:var(--space-5) var(--space-4)}.dialog__close{width:var(--control-h-lg);height:var(--control-h-lg);margin:calc(-1 * var(--space-1))}.dialog__actions{flex-direction:column-reverse}.dialog__actions .primary,.dialog__actions .ghost{width:100%}}.flow{margin:0 0 var(--space-6);padding:0;list-style:none;display:flex}.flow__step{align-items:center;gap:var(--space-2);flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.flow__step:after{background:var(--color-surface-3);content:"";height:2px;transition:background-color var(--transition);z-index:0;position:absolute;top:13px;left:calc(50% + 17px);right:calc(17px - 50%)}.flow__step:last-child:after{display:none}.flow__node{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-full);width:28px;height:28px;color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-bold);transition:background-color var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition);z-index:var(--z-base);justify-content:center;align-items:center;display:inline-flex}.flow__label{max-width:100%;color:var(--color-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;transition:color var(--transition);overflow:hidden}.flow__step--active .flow__node{background:var(--color-info-soft);border-color:var(--color-info);box-shadow:var(--shadow-focus);color:var(--color-info-text)}.flow__step--active .flow__label{color:var(--color-text);font-weight:var(--weight-semibold)}.flow__step--done .flow__node{background:var(--color-success-soft);border-color:var(--color-success-border);color:var(--color-success-text)}.flow__step--done .flow__label{color:var(--color-text)}.flow__step--done:after{background:var(--color-success-border)}.flow__step--todo .flow__node{background:var(--color-surface);border-color:var(--color-border);color:var(--color-muted)}.flow__step--todo .flow__label{color:var(--color-muted)}@media (width<=420px){.flow__label{font-size:var(--text-xs)}}.tip{min-width:0;max-width:100%;display:inline-flex;position:relative}.tip--block{display:block}.tip:after{z-index:var(--z-toast);width:max-content;max-width:min(300px,64vw);padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);color:var(--color-text);font-size:var(--text-xs);font-weight:var(--weight-normal);line-height:var(--leading-snug);text-align:left;white-space:normal;overflow-wrap:anywhere;content:attr(data-tip);opacity:0;transition:opacity var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard), visibility var(--duration-fast);visibility:hidden;pointer-events:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,4px)}.tip:before{z-index:var(--z-toast);border:6px solid #0000;border-top-color:var(--color-border-strong);content:"";opacity:0;transition:opacity var(--duration-fast) var(--ease-standard);visibility:hidden;pointer-events:none;position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%)}.tip:hover:after,.tip:focus-within:after{opacity:1;visibility:visible;transform:translate(-50%)}.tip:hover:before,.tip:focus-within:before{opacity:1;visibility:visible}.tip:first-child:after,.tip--start:after{left:0;transform:translateY(4px)}.tip:first-child:hover:after,.tip:first-child:focus-within:after,.tip--start:hover:after,.tip--start:focus-within:after{transform:translate(0)}.tip:last-child:after,.tip--end:after{left:auto;right:0;transform:translateY(4px)}.tip:last-child:hover:after,.tip:last-child:focus-within:after,.tip--end:hover:after,.tip--end:focus-within:after{transform:translate(0)}.tip--end:before,.tip:last-child:before{left:auto;right:12px;transform:none}.tip--start:before,.tip:first-child:before{left:12px;transform:none}@media (hover:none){.tip:after,.tip:before{transition-duration:0s}}.tip--below:after{top:calc(100% + 8px);bottom:auto;transform:translate(-50%,-4px)}.tip--below:hover:after,.tip--below:focus-within:after{transform:translate(-50%)}.tip--below:before{border-top-color:#0000;border-bottom-color:var(--color-border-strong);top:calc(100% + 2px);bottom:auto}.tip--below.tip--start:after,.tip--below:first-child:after{transform:translateY(-4px)}.tip--below.tip--start:hover:after,.tip--below.tip--start:focus-within:after,.tip--below:first-child:hover:after,.tip--below:first-child:focus-within:after{transform:translate(0)}.tip--below.tip--end:after,.tip--below:last-child:after{left:auto;right:0;transform:translateY(-4px)}.tip--below.tip--end:hover:after,.tip--below.tip--end:focus-within:after,.tip--below:last-child:hover:after,.tip--below:last-child:focus-within:after{transform:translate(0)}.jobs__counts{gap:var(--space-1);margin-top:var(--space-1);color:var(--color-muted);font-size:var(--text-xs);flex-wrap:wrap;align-items:center;display:flex}.jobs__count{padding:2px var(--space-2);background:var(--color-neutral-soft);border:1px solid var(--color-border);border-radius:var(--radius-full);white-space:nowrap;align-items:baseline;gap:.35em;display:inline-flex}.jobs__count-value{color:var(--color-text);font-family:var(--font-mono);font-weight:var(--weight-semibold)}.jobs__count--polling{padding:2px var(--space-2);color:var(--color-info-text)}.jobs__count--polling .spinner-icon{display:block}.jobs__list{gap:var(--space-3);margin:var(--space-4) 0 0;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));padding:0;list-style:none;display:grid}.jobs__clear{margin-left:auto}.job{gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color var(--transition), box-shadow var(--transition);align-items:flex-start;display:flex}.job:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-xs)}.job--queued{border-left:3px solid var(--color-warning)}.job--printing{border-left:3px solid var(--color-info)}.job--completed{border-left:3px solid var(--color-success)}.job--failed{border-left:3px solid var(--color-danger)}.job--canceled{border-left:3px solid var(--color-border-strong)}.job--unknown{border-left:3px solid var(--color-surface-3)}.job__icon{border-radius:var(--radius-sm);flex:none;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.job__icon--queued{background:var(--color-warning-soft);color:var(--color-warning-text)}.job__icon--printing{background:var(--color-info-soft);color:var(--color-info-text)}.job__icon--completed{background:var(--color-success-soft);color:var(--color-success-text)}.job__icon--failed{background:var(--color-danger-soft);color:var(--color-danger-text)}.job__icon--canceled,.job__icon--unknown{background:var(--color-neutral-soft);color:var(--color-muted)}.job__main{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.job__topline{gap:var(--space-2);align-items:center;min-width:0;display:flex}.job__name{min-width:0;color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.job__subline{gap:var(--space-1) var(--space-2);flex-wrap:wrap;align-items:baseline;min-width:0;display:flex}.job__printer{gap:var(--space-1);min-width:0;color:var(--color-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;flex:auto;align-items:center;display:inline-flex;overflow:hidden}.job__printer svg{flex:none}.job__id,.job__time{min-width:0;color:var(--color-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.badge{padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-medium);white-space:nowrap;border:1px solid #0000;flex:none}.badge--queued{background:var(--color-warning-soft);border-color:var(--color-warning-border);color:var(--color-warning-text)}.badge--printing{background:var(--color-info-soft);border-color:var(--color-info-border);color:var(--color-info-text)}.badge--completed{background:var(--color-success-soft);border-color:var(--color-success-border);color:var(--color-success-text)}.badge--failed{background:var(--color-danger-soft);border-color:var(--color-danger-border);color:var(--color-danger-text)}.badge--canceled,.badge--unknown{background:var(--color-neutral-soft);border-color:var(--color-border);color:var(--color-muted)}.job__progress{height:3px;margin-top:var(--space-1);background:var(--color-surface-2);border-radius:var(--radius-full);position:relative;overflow:hidden}.job__progress:after{background:linear-gradient(90deg, var(--color-info), var(--color-info-text));border-radius:var(--radius-full);content:"";width:42%;height:100%;animation:1.2s ease-in-out infinite job-progress;position:absolute}.job__error{gap:var(--space-1);margin-top:var(--space-1);color:var(--color-danger-text);font-size:var(--text-xs);overflow-wrap:anywhere;align-items:flex-start;display:flex}.job__error svg{flex:none;margin-top:2px}.job__note{gap:var(--space-1);margin-top:var(--space-1);color:var(--color-muted);font-size:var(--text-xs);align-items:center;display:flex}.job__actions{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}@media (width<=1080px){.jobs__list{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media (width<=640px){.jobs__list{grid-template-columns:minmax(0,1fr)}}.notices{right:env(safe-area-inset-right);bottom:calc(var(--space-6) + env(safe-area-inset-bottom));left:env(safe-area-inset-left);z-index:var(--z-toast);width:min(560px, 100% - var(--space-6));pointer-events:none;margin-inline:auto;position:fixed}.notices__list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.notice{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:var(--color-text);font-size:var(--text-sm);line-height:var(--leading-snug);pointer-events:auto;animation:notice-in var(--duration-slow) var(--ease-standard) both;display:flex}.notice__icon{flex:none;align-items:center;display:inline-flex}.notice__message{overflow-wrap:anywhere;flex:1;min-width:0}.notice__dismiss{border-radius:var(--radius-sm);width:26px;height:26px;color:var(--color-muted);transition:color var(--transition), background-color var(--transition), border-color var(--transition);background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.notice__dismiss:after{content:"";position:absolute;inset:-8px}.notice__dismiss:hover{background:var(--color-neutral-soft);border-color:var(--color-border);color:var(--color-text)}.notice--success{border-color:var(--color-success-border)}.notice--success .notice__icon{color:var(--color-success-text)}.notice--info{border-color:var(--color-info-border)}.notice--info .notice__icon{color:var(--color-info-text)}.notice--error{background:var(--color-surface);border-color:var(--color-danger-border);box-shadow:var(--shadow-md), inset 3px 0 0 var(--color-danger)}.notice--error .notice__icon{color:var(--color-danger-text)}@media (width<=640px){.notices{bottom:calc(var(--space-4) + env(safe-area-inset-bottom));width:min(560px, 100% - (var(--space-4) * 2));overscroll-behavior:contain;scrollbar-width:none;max-height:60svh;overflow-y:auto}.notices::-webkit-scrollbar{display:none}.notice__dismiss{width:var(--control-h-sm);height:var(--control-h-sm);margin:calc(-1 * var(--space-1)) calc(-1 * var(--space-2)) calc(-1 * var(--space-1)) 0}}.printer-panel__body{gap:var(--space-3);flex-direction:column;display:flex}.printer-panel__controls .field__label-text{transition:border-color var(--transition);border-bottom:1px dotted #0000}.printer-panel__controls .tip--block:hover .field__label-text,.printer-panel__controls .tip--block:focus-within .field__label-text{border-bottom-color:var(--color-border-strong)}.printer-panel__summary{gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap;align-items:center;display:flex}.printer-panel__detail{min-width:0;color:var(--color-muted);font-size:var(--text-xs);overflow-wrap:anywhere}.printer-panel__controls{gap:var(--space-4);margin:var(--space-2) 0;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.printer-panel__reset{text-align:center;white-space:normal;align-self:flex-start;max-width:100%}.printer-panel__submit{width:100%;margin-top:var(--space-2)}.printer-state{padding:1px var(--space-2);border-radius:var(--radius-full);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap;border:1px solid}.printer-state--idle{background:var(--color-success-soft);border-color:var(--color-success-border);color:var(--color-success-text)}.printer-state--printing{background:var(--color-info-soft);border-color:var(--color-info-border);color:var(--color-info-text)}.printer-state--stopped{background:var(--color-warning-soft);border-color:var(--color-warning-border);color:var(--color-warning-text)}.printer-state--disabled{background:var(--color-danger-soft);border-color:var(--color-danger-border);color:var(--color-danger-text)}@media (width<=1080px){.printer-panel__controls{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.printer-panel__controls{grid-template-columns:minmax(0,1fr)}}.theme-toggle{color:var(--color-muted)}.theme-toggle:hover:not(:disabled){color:var(--color-text)}.token-gate{min-height:100dvh;padding:calc(var(--space-5) + env(safe-area-inset-top)) calc(var(--space-5) + env(safe-area-inset-right)) calc(var(--space-5) + env(safe-area-inset-bottom)) calc(var(--space-5) + env(safe-area-inset-left));place-items:center;display:grid;position:relative;overflow:hidden}.token-gate:before,.token-gate:after{border-radius:var(--radius-full);content:"";pointer-events:none;position:absolute}.token-gate:before{background:radial-gradient(circle, var(--color-warning-soft), transparent 66%);width:540px;height:540px;top:-190px;right:-140px}.token-gate:after{background:radial-gradient(circle, var(--color-info-soft), transparent 66%);width:520px;height:520px;bottom:-220px;left:-160px}.token-gate__card{z-index:var(--z-base);gap:var(--space-4);width:min(420px,100%);padding:var(--space-7) var(--space-7);box-shadow:var(--shadow-md);text-align:center;flex-direction:column;display:flex}.token-gate__logo{margin-bottom:var(--space-1);place-items:center;display:grid}.token-gate__title{color:var(--color-interactive);font-size:var(--text-2xl);letter-spacing:.5px}.token-gate__notice{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-info-soft);border:1px solid var(--color-info-border);border-radius:var(--radius-sm);color:var(--color-info-text);font-size:var(--text-sm);text-align:left;display:flex}.token-gate__notice svg{flex:none}.token-gate__field{text-align:left;display:flex;position:relative}.token-gate__key{top:50%;left:var(--space-3);color:var(--color-muted);pointer-events:none;z-index:var(--z-base);position:absolute;transform:translateY(-50%)}.token-gate__field input{padding-left:38px;padding-right:42px}.token-gate__eye{top:50%;right:var(--space-1);border-radius:var(--radius-sm);width:30px;height:30px;color:var(--color-muted);transition:color var(--transition), background-color var(--transition);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;transform:translateY(-50%)}.token-gate__eye:hover{background:var(--color-neutral-soft);color:var(--color-text)}.token-gate__error{align-items:flex-start;gap:var(--space-2);color:var(--color-danger-text);font-size:var(--text-sm);text-align:left;display:flex}.token-gate__error svg{flex:none;margin-top:2px}@media (width<=640px){.token-gate__card{padding:var(--space-6) var(--space-5)}.token-gate__title{font-size:var(--text-xl)}.token-gate__eye{width:var(--control-h-sm);height:var(--control-h-sm)}.token-gate__field input{padding-right:calc(var(--control-h-sm) + var(--space-2))}}.uploader__meta{gap:var(--space-1);color:var(--color-muted);font-size:var(--text-xs);white-space:nowrap;flex-wrap:wrap;align-items:baseline;margin-left:auto;display:flex}.uploader__meta .tip{border-bottom:1px dotted var(--color-border-strong);cursor:help}.uploader__meta .tip:hover{color:var(--color-text)}.uploader__meta-sep{color:var(--color-border-strong)}.uploader__dropzone{gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-6) var(--space-4);background:var(--color-bg-elevated);border:1.5px dashed var(--color-border-strong);border-radius:var(--radius-md);transition:background-color var(--transition), border-color var(--transition), transform var(--transition);flex-direction:column;align-items:center;display:flex;position:relative}.uploader__dropzone[data-phase=empty]{background:var(--color-bg-elevated)}.uploader__dropzone[data-phase=selected]{border-color:var(--color-interactive)}.uploader__dropzone[data-phase=uploading]{border-style:solid;border-color:var(--color-info)}.uploader__dropzone[data-phase=converting]{border-style:solid;border-color:var(--color-warning)}.uploader__dropzone[data-phase=ready]{border-style:solid;border-color:var(--color-success-border)}.uploader__dropzone[data-phase=error]{border-style:solid;border-color:var(--color-danger-border);background:var(--color-danger-soft)}.uploader__dropzone[data-dragging=true]{background:var(--color-warning-soft);border-color:var(--color-interactive);transform:scale(1.005)}.uploader__target{gap:var(--space-3);border-radius:var(--radius-sm);cursor:pointer;text-align:center;flex-direction:column;align-items:center;width:100%;display:flex}:is(.uploader__dropzone:has(input:focus-visible) .uploader__target,.uploader__target:focus-visible){outline:2px solid var(--color-focus);outline-offset:4px}.uploader__dropzone[data-dragging=true] .uploader__icon{transform:translateY(-3px)scale(1.06)}.uploader__icon{background:var(--color-warning-soft);border:1px solid var(--color-warning-border);border-radius:var(--radius-lg);width:56px;height:56px;color:var(--color-warning-text);transition:transform var(--duration-base) var(--ease-standard);justify-content:center;align-items:center;display:inline-flex}.uploader__prompt,.uploader__file{gap:var(--space-1);flex-direction:column;align-items:center;min-width:0;display:flex}.uploader__prompt strong{font-size:var(--text-base);font-weight:var(--weight-semibold)}.uploader__file-row{gap:var(--space-2);flex-wrap:wrap;justify-content:center;align-items:center;min-width:0;display:flex}.uploader__file-name{min-width:0;font-size:var(--text-base);font-weight:var(--weight-semibold);overflow-wrap:anywhere}.uploader__progress{gap:var(--space-2);flex-direction:column;align-items:center;width:min(360px,100%);display:flex}.uploader__progress-head{width:100%;color:var(--color-text);font-size:var(--text-sm);justify-content:space-between;display:flex}.uploader__progress-value{font-family:var(--font-mono)}.uploader__progress-bar{appearance:none;background:var(--color-surface-2);border-radius:var(--radius-full);border:none;width:100%;height:8px;overflow:hidden}.uploader__progress-bar::-webkit-progress-bar{background:var(--color-surface-2);border-radius:var(--radius-full)}.uploader__progress-bar::-webkit-progress-value{background:var(--color-interactive);border-radius:var(--radius-full);transition:width var(--duration-fast) linear}.uploader__progress-bar::-moz-progress-bar{background:var(--color-interactive);border-radius:var(--radius-full)}.uploader__actions{gap:var(--space-2);flex-wrap:wrap;justify-content:center;align-items:center;width:100%;display:flex}.uploader__error{align-items:flex-start;gap:var(--space-2);margin-top:var(--space-3);color:var(--color-danger-text);font-size:var(--text-sm);display:flex}.uploader__error svg{flex:none;margin-top:2px}.uploader__error span{overflow-wrap:anywhere;flex:1;min-width:0}.uploader__dismiss{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--color-muted);background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.uploader__dismiss:after{content:"";position:absolute;inset:-10px}.uploader__dismiss:hover{border-color:var(--color-border);color:var(--color-text)}.file-chip{padding:1px var(--space-2);border-radius:var(--radius-full);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-bold);border:1px solid;flex:none}.file-chip--pdf{background:var(--color-danger-soft);border-color:var(--color-danger-border);color:var(--color-danger-text)}.file-chip--office{background:var(--color-info-soft);border-color:var(--color-info-border);color:var(--color-info-text)}.file-chip--image{background:var(--color-warning-soft);border-color:var(--color-warning-border);color:var(--color-warning-text)}.file-chip--text{background:var(--color-success-soft);border-color:var(--color-success-border);color:var(--color-success-text)}.file-chip--other{background:var(--color-neutral-soft);border-color:var(--color-border);color:var(--color-muted)}.uploader__preview{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px dashed var(--color-border)}.uploader__preview-head{gap:var(--space-2);margin-bottom:var(--space-3);color:var(--color-info-text);flex-wrap:wrap;align-items:center;display:flex}.uploader__preview-head h3{min-width:0;font-size:var(--text-sm);font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.uploader__preview-head .muted{font-size:var(--text-xs);flex:none}.uploader__preview-toggle{margin-left:auto}.uploader__preview-frame{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);width:100%;height:clamp(220px,50vh,520px);box-shadow:var(--shadow-xs)}.uploader__preview-note{gap:var(--space-2);padding:var(--space-2) 0;color:var(--color-muted);font-size:var(--text-sm);align-items:center;display:flex}@media (width<=640px){.uploader__dropzone{gap:var(--space-3);padding:var(--space-5) var(--space-3)}.uploader__preview-frame{height:clamp(200px,36vh,420px)}.uploader__actions .primary{width:100%}.uploader__dismiss{width:var(--control-h-sm);height:var(--control-h-sm);margin:calc(-1 * var(--space-1)) calc(-1 * var(--space-1)) 0 0}}.app-shell{--pad-x:var(--space-6);--pad-y:calc(var(--space-7) + env(safe-area-inset-top));--pad-l:calc(var(--pad-x) + env(safe-area-inset-left));--pad-r:calc(var(--pad-x) + env(safe-area-inset-right));max-width:1200px;padding:var(--pad-y) var(--pad-r) calc(var(--space-8) + env(safe-area-inset-bottom)) var(--pad-l);margin:0 auto}.app-header{z-index:var(--z-sticky);gap:var(--space-4);margin:calc(-1 * var(--pad-y)) calc(-1 * var(--pad-r)) var(--space-6) calc(-1 * var(--pad-l));padding:var(--pad-y) var(--pad-r) var(--pad-y) var(--pad-l);background:color-mix(in srgb, var(--color-bg) 84%, transparent);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(14px)saturate(1.1);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.header-actions{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.brand{gap:var(--space-3);align-items:center;min-width:0;display:flex}.brand__logo{filter:drop-shadow(0 4px 10px var(--color-shadow-tint));transition:transform var(--transition);flex:none;place-items:center;display:grid}.brand:hover .brand__logo{transform:rotate(-3deg)scale(1.03)}.brand__text{flex-direction:column;gap:1px;min-width:0;display:flex}.brand h1{color:var(--color-interactive);font-size:var(--text-2xl);letter-spacing:.5px}.tagline{color:var(--color-muted);font-size:var(--text-sm)}.app-main{gap:var(--space-6);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.app-main .jobs{grid-column:1/-1}.card{padding:var(--space-6);background:linear-gradient(180deg, var(--color-neutral-soft), transparent 42%), var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);animation:card-in var(--duration-slow) var(--ease-standard) both;transition:border-color var(--transition), box-shadow var(--transition)}.card:hover{box-shadow:var(--shadow-sm)}.card h2{color:var(--color-text-strong);font-size:var(--text-lg)}.card h3{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-medium)}.card__header{gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;align-items:center;display:flex}.card__header h2{margin-right:auto}.card__icon{border-radius:var(--radius-sm);border:1px solid;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.card__icon--upload{background:var(--color-warning-soft);border-color:var(--color-warning-border);color:var(--color-warning-text)}.card__icon--print{background:var(--color-info-soft);border-color:var(--color-info-border);color:var(--color-info-text)}.card__icon--jobs{background:var(--color-success-soft);border-color:var(--color-success-border);color:var(--color-success-text)}.primary{gap:var(--space-2);min-height:var(--control-h-md);max-width:100%;padding:var(--space-2) var(--space-5);background:linear-gradient(180deg, var(--color-primary-grad-from), var(--color-primary-grad-to));border:1px solid var(--color-primary-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-xs);color:var(--color-interactive-text);font-weight:var(--weight-semibold);text-align:center;white-space:nowrap;transition:filter var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard), box-shadow var(--duration-base) var(--ease-standard);justify-content:center;align-items:center;display:inline-flex}.primary:not(:disabled):hover{box-shadow:var(--shadow-sm);filter:brightness(1.06);transform:translateY(-1px)}.primary:not(:disabled):active{transform:translateY(1px)}.primary:disabled{opacity:.6;filter:saturate(.45)}.ghost{gap:var(--space-2);min-height:var(--control-h-sm);max-width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-muted);white-space:nowrap;transition:color var(--transition), border-color var(--transition), background-color var(--transition);background:0 0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.ghost:hover:not(:disabled){background:var(--color-neutral-soft);border-color:var(--color-text);color:var(--color-text)}.ghost:disabled{opacity:.6}.ghost--sm{gap:var(--space-1);min-height:var(--control-h-sm);padding:var(--space-1) var(--space-2);font-size:var(--text-sm)}.ghost--icon{width:var(--control-h-sm);justify-content:center;padding-inline:0}.field{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.field__label{min-width:0;color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-semibold);align-items:baseline;display:flex}.inline-error{gap:var(--space-2);padding:var(--space-3);background:var(--color-danger-soft);border:1px solid var(--color-danger-border);border-radius:var(--radius-sm);color:var(--color-danger-text);font-size:var(--text-sm);line-height:var(--leading-normal);align-items:flex-start;display:flex}.inline-error svg{flex:none;margin-top:2px}.inline-error code{padding:0 var(--space-1);background:var(--color-bg-elevated);border-radius:var(--radius-xs);font-size:var(--text-xs)}.inline-hint{gap:var(--space-2);margin-top:var(--space-1);color:var(--color-info-text);font-size:var(--text-sm);align-items:center;display:flex}.inline-hint svg{flex:none}.inline-hint--warning{color:var(--color-warning-text)}.confirm-summary{gap:var(--space-2);margin:0;display:grid}.confirm-summary__row{gap:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px dashed var(--color-border);justify-content:space-between;align-items:baseline;display:flex}.confirm-summary__row:last-child{border-bottom:none;padding-bottom:0}.confirm-summary dt{color:var(--color-muted);font-size:var(--text-sm);flex:none}.confirm-summary dd{min-width:0;color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-medium);overflow-wrap:anywhere;text-align:right;margin:0}@media (width<=1080px){.app-shell{--pad-x:var(--space-4);--pad-y:calc(var(--space-4) + env(safe-area-inset-top))}.app-main{gap:var(--space-4);grid-template-columns:minmax(0,1fr)}.app-main .jobs{grid-column:auto}.ghost,.primary,input,select{min-height:var(--control-h-lg)}.ghost--icon{width:var(--control-h-lg)}input,select{font-size:16px}}@media (width<=640px){.app-shell{--pad-x:var(--space-3);--pad-y:calc(var(--space-3) + env(safe-area-inset-top))}.app-header{gap:var(--space-2);margin-bottom:var(--space-4)}.brand{gap:var(--space-2)}.brand h1{font-size:var(--text-xl);overflow-wrap:anywhere}.tagline{font-size:var(--text-xs)}.card{padding:var(--space-4)}.card__header{margin-bottom:var(--space-3)}}@media (width<=420px){.app-header{flex-direction:column;align-items:stretch}.header-actions{justify-content:flex-end;width:100%}.brand{min-width:0}.tagline{font-size:var(--text-xs)}}
