@font-face{font-family:Public Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/public-sans-400.ttf) format("truetype")}@font-face{font-family:Public Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/public-sans-500.ttf) format("truetype")}@font-face{font-family:Public Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/public-sans-600.ttf) format("truetype")}@font-face{font-family:Public Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/public-sans-700.ttf) format("truetype")}@font-face{font-family:Public Sans;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/public-sans-800.ttf) format("truetype")}@font-face{font-family:Source Code Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/source-code-pro-400.ttf) format("truetype")}@font-face{font-family:Source Code Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/source-code-pro-500.ttf) format("truetype")}@font-face{font-family:Source Code Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/source-code-pro-600.ttf) format("truetype")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-400.ttf) format("truetype")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jetbrains-mono-500.ttf) format("truetype")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/jetbrains-mono-600.ttf) format("truetype")}:root{color-scheme:dark;font-family:Public Sans,system-ui,sans-serif;--page-surface: #121518;--canvas-surface: #1b1f23;--surface: #111416;--surface-lowest: #0c0e10;--surface-low: #15181b;--surface-container: rgba(24, 28, 31, .72);--surface-high: #1d2125;--surface-highest: #24292e;--surface-bright: #2b3137;--primary: #eef2f1;--primary-container: #d6dddb;--primary-container-text: #252b2a;--on-surface: #ffffff;--on-surface-variant: #adaaaa;--outline-ghost: rgba(72, 72, 71, .2);--card-surface: var(--canvas-surface);--card-surface-soft: rgba(255, 255, 255, .018);--card-border: rgba(255, 255, 255, .055);--field-surface: #23282e;--field-surface-hover: #272d33;--field-border: rgba(255, 255, 255, .055);--field-border-strong: rgba(255, 255, 255, .11);--field-focus-outline: rgba(238, 242, 241, .34);--field-control-height: 2.18rem;--field-control-padding-y: .38rem;--field-control-padding-x: .62rem;--control-height: 2.05rem;--control-radius: 10px;--control-padding-x: .82rem;--control-text-size: .82rem;--label-text-size: .82rem;--label-text-weight: 500;--label-letter-spacing: .008em;--body-text-size: .88rem;--body-line-height: 1.35;--meta-text-size: .84rem;--control-border: rgba(255, 255, 255, .06);--control-bg: rgba(255, 255, 255, .02);--control-bg-hover: rgba(255, 255, 255, .035);--control-bg-active: rgba(238, 242, 241, .15);--button-surface: rgba(255, 255, 255, .022);--button-surface-hover: rgba(255, 255, 255, .04);--button-border: rgba(255, 255, 255, .07);--button-emboss: rgba(255, 255, 255, .045);--button-active-surface: rgba(238, 242, 241, .14);--button-active-border: rgba(238, 242, 241, .28);--button-flat-surface: rgba(24, 28, 31, .9);--button-flat-surface-hover: rgba(31, 36, 40, .96);--button-flat-border: rgba(255, 255, 255, .09);--button-flat-border-strong: rgba(255, 255, 255, .16);--button-flat-active-surface: rgba(56, 62, 68, .96);--button-flat-active-border: rgba(255, 255, 255, .2);--button-flat-shadow: 0 1px 0 rgba(255, 255, 255, .035);--control-column-width: 23.8rem;--preview-column-width: 52.9rem;--layout-width: calc(var(--control-column-width) + var(--preview-column-width) + 1.6rem);--chrome-link-strong: #ffffff;--noise-line: rgba(255, 255, 255, .008);--icon-button-hover-surface: rgba(255, 255, 255, .03);--icon-button-active-surface: rgba(255, 255, 255, .02);--icon-button-active-border: rgba(255, 255, 255, .12);--segmented-surface: rgba(28, 31, 35, .9);--segmented-border: rgba(255, 255, 255, .04);--segmented-button-surface: rgba(255, 255, 255, .018);--segmented-button-hover-surface: rgba(255, 255, 255, .032);--segmented-button-active-surface: rgba(255, 255, 255, .05);--segmented-button-border: rgba(255, 255, 255, .08);--segmented-button-border-hover: rgba(255, 255, 255, .14);--segmented-button-border-active: rgba(255, 255, 255, .18);--segmented-button-text: #c2c8cd;--aux-button-text: #9fa7ad;--switcher-accent-line: rgba(255, 255, 255, .46);--aux-button-border: rgba(255, 255, 255, .075);--preview-overlay-surface: rgba(31, 31, 31, .62);--field-label-color: #cfd4d8;--field-input-color: #d7dbde;--field-error-color: #f18c8c;--stepper-color: #9aa2a8;--stepper-hover-color: #c0c7cc;--stepper-hover-surface: rgba(255, 255, 255, .035);--stepper-active-surface: rgba(255, 255, 255, .055);--stepper-disabled-color: rgba(154, 162, 168, .42);--toggle-label-color: #d2d6d8;--toggle-track: rgba(255, 255, 255, .12);--toggle-thumb: rgba(255, 255, 255, .72);--toggle-track-active: rgba(169, 192, 187, .28);--toggle-thumb-active: var(--primary);--swatch-border: rgba(255, 255, 255, .16);--swatch-shadow: rgba(255, 255, 255, .02);--menu-surface: #20242a;--menu-shadow: 0 18px 42px rgba(0, 0, 0, .36);--menu-option-hover-surface: rgba(255, 255, 255, .05);--menu-dot-border: rgba(255, 255, 255, .14);--menu-dot-shadow: rgba(255, 255, 255, .02);--pager-surface: rgba(255, 255, 255, .028);--pager-border: rgba(255, 255, 255, .14);--pager-hover-surface: rgba(255, 255, 255, .05);--pager-hover-border: rgba(255, 255, 255, .2);--pager-disabled-color: rgba(183, 189, 194, .38);--pager-disabled-surface: rgba(255, 255, 255, .016);--action-link-color: #b7bdc2;--button-text-color: #d7dbde;--button-primary-border: rgba(255, 255, 255, .18);--button-primary-hover-surface: rgba(68, 74, 81, .98);--button-primary-hover-border: rgba(255, 255, 255, .24);--ghost-hover-surface: rgba(255, 255, 255, .03);--text-button-hover-surface: rgba(255, 255, 255, .02);--warning-stack-surface: #1f1f1f;--preview-note-strong: #ffffff;--source-strong: #d1d5d8;--source-plain-strong: #c5cbca;--setup-block-title: #d1d5d8;--code-surface: rgba(255, 255, 255, .02);--code-color: #d8dcde;--backdrop-surface: rgba(0, 0, 0, .56);--modal-surface: rgba(28, 32, 36, .97);--modal-shadow: 0 22px 54px rgba(0, 0, 0, .34);--help-note-surface-soft: rgba(169, 192, 187, .1);--help-note-surface: rgba(169, 192, 187, .12)}:root[data-theme=light]{color-scheme:light;--page-surface: #f3efe8;--canvas-surface: #fcfaf7;--surface: #fbf8f4;--surface-lowest: #f2ede7;--surface-low: #f7f3ee;--surface-container: rgba(255, 253, 249, .88);--surface-high: #f0ebe5;--surface-highest: #e8e1d9;--surface-bright: #ffffff;--primary: #1b2125;--primary-container: #dbe4e1;--primary-container-text: #24302d;--on-surface: #1f2428;--on-surface-variant: #69706f;--outline-ghost: rgba(65, 76, 71, .12);--card-surface: rgba(255, 253, 250, .9);--card-surface-soft: rgba(255, 255, 255, .58);--card-border: rgba(27, 33, 37, .09);--field-surface: #f1ece6;--field-surface-hover: #ebe5de;--field-border: rgba(27, 33, 37, .09);--field-border-strong: rgba(27, 33, 37, .16);--field-focus-outline: rgba(46, 71, 64, .34);--control-border: rgba(27, 33, 37, .1);--control-bg: rgba(27, 33, 37, .03);--control-bg-hover: rgba(27, 33, 37, .05);--control-bg-active: rgba(46, 71, 64, .14);--button-surface: rgba(27, 33, 37, .03);--button-surface-hover: rgba(27, 33, 37, .06);--button-border: rgba(27, 33, 37, .09);--button-emboss: rgba(255, 255, 255, .7);--button-active-surface: rgba(46, 71, 64, .12);--button-active-border: rgba(46, 71, 64, .25);--button-flat-surface: rgba(252, 250, 247, .92);--button-flat-surface-hover: rgba(245, 240, 233, .98);--button-flat-border: rgba(27, 33, 37, .12);--button-flat-border-strong: rgba(27, 33, 37, .2);--button-flat-active-surface: rgba(226, 235, 231, .98);--button-flat-active-border: rgba(46, 71, 64, .26);--button-flat-shadow: 0 1px 0 rgba(255, 255, 255, .74);--chrome-link-strong: #1f2428;--noise-line: rgba(24, 30, 34, .035);--icon-button-hover-surface: rgba(27, 33, 37, .045);--icon-button-active-surface: rgba(27, 33, 37, .03);--icon-button-active-border: rgba(27, 33, 37, .12);--segmented-surface: rgba(255, 253, 249, .84);--segmented-border: rgba(27, 33, 37, .08);--segmented-button-surface: rgba(27, 33, 37, .02);--segmented-button-hover-surface: rgba(27, 33, 37, .045);--segmented-button-active-surface: rgba(46, 71, 64, .1);--segmented-button-border: rgba(27, 33, 37, .08);--segmented-button-border-hover: rgba(27, 33, 37, .14);--segmented-button-border-active: rgba(46, 71, 64, .2);--segmented-button-text: #4f595f;--aux-button-text: #667171;--switcher-accent-line: rgba(46, 71, 64, .34);--aux-button-border: rgba(27, 33, 37, .08);--preview-overlay-surface: rgba(255, 255, 252, .82);--field-label-color: #4b555b;--field-input-color: #20252a;--field-error-color: #b65353;--stepper-color: #6e7880;--stepper-hover-color: #293036;--stepper-hover-surface: rgba(27, 33, 37, .06);--stepper-active-surface: rgba(27, 33, 37, .1);--stepper-disabled-color: rgba(110, 120, 128, .42);--toggle-label-color: #2a3035;--toggle-track: rgba(27, 33, 37, .12);--toggle-thumb: rgba(255, 255, 255, .96);--toggle-track-active: rgba(104, 112, 118, .24);--toggle-thumb-active: #70787c;--swatch-border: rgba(27, 33, 37, .16);--swatch-shadow: rgba(27, 33, 37, .05);--menu-surface: rgba(255, 252, 248, .98);--menu-shadow: 0 18px 42px rgba(82, 64, 45, .16);--menu-option-hover-surface: rgba(27, 33, 37, .05);--menu-dot-border: rgba(27, 33, 37, .14);--menu-dot-shadow: rgba(27, 33, 37, .05);--pager-surface: rgba(27, 33, 37, .03);--pager-border: rgba(27, 33, 37, .12);--pager-hover-surface: rgba(27, 33, 37, .06);--pager-hover-border: rgba(27, 33, 37, .2);--pager-disabled-color: rgba(110, 120, 128, .42);--pager-disabled-surface: rgba(27, 33, 37, .02);--action-link-color: #586269;--button-text-color: #283036;--button-primary-border: rgba(46, 71, 64, .2);--button-primary-hover-surface: rgba(212, 223, 218, .98);--button-primary-hover-border: rgba(46, 71, 64, .28);--ghost-hover-surface: rgba(27, 33, 37, .04);--text-button-hover-surface: rgba(27, 33, 37, .03);--warning-stack-surface: rgba(255, 253, 250, .72);--preview-note-strong: #1f2428;--source-strong: #23292e;--source-plain-strong: #4d575e;--setup-block-title: #23292e;--code-surface: rgba(27, 33, 37, .03);--code-color: #20262a;--backdrop-surface: rgba(45, 38, 31, .24);--modal-surface: rgba(255, 252, 248, .96);--modal-shadow: 0 22px 54px rgba(82, 64, 45, .18);--help-note-surface-soft: rgba(71, 115, 100, .1);--help-note-surface: rgba(71, 115, 100, .12)}*{box-sizing:border-box}html,body,#app{min-height:100%}body{margin:0;background:var(--page-surface);color:var(--on-surface);font-feature-settings:"cv05" 1;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit}.app-shell{position:relative;padding:1rem 2rem 2rem;overflow:hidden}.app-footer{max-width:var(--layout-width);margin:2.5rem auto 0;padding:0 .25rem 1rem;display:flex;justify-content:flex-end}.app-footer__content{display:grid;gap:.8rem;justify-items:end}.app-footer p{margin:0;color:var(--on-surface-variant);font-size:.82rem;line-height:1.6;opacity:.78;text-align:right}.app-footer__links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.75rem}.app-footer a{color:var(--primary);text-decoration:none}.github-link{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:0;padding:0;border-radius:0;background:transparent;box-shadow:none;color:var(--on-surface-variant);font-size:var(--control-text-size);font-weight:520;line-height:1;letter-spacing:.01em;transition:.18s ease}.github-link--primary{color:var(--chrome-link-strong)}.github-link__icon{width:1rem;height:1rem;flex:none}.topbar__subtitle a,.modal-help-block a{color:var(--primary);text-decoration:none}.app-footer a:hover{text-decoration:none;color:var(--on-surface);background:var(--button-surface-hover)}.topbar__subtitle a:hover,.modal-help-block a:hover{text-decoration:underline}.app-noise{position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(var(--noise-line) 1px,transparent 1px),linear-gradient(90deg,var(--noise-line) 1px,transparent 1px);background-size:42px 42px;-webkit-mask-image:radial-gradient(circle at center,black,transparent 80%);mask-image:radial-gradient(circle at center,black,transparent 80%);opacity:.12}.topbar{position:sticky;top:1rem;z-index:20;display:grid;gap:.55rem;margin:0 auto 1.8rem;max-width:var(--layout-width);padding:.9rem 1.2rem .85rem;background:var(--canvas-surface);border:1px solid var(--card-border);-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:24px;box-shadow:none}.topbar--frameless{padding:.2rem .15rem .35rem;background:transparent;border:0;border-radius:0}.topbar__top{display:flex;justify-content:space-between;gap:1rem;align-items:start}.topbar__controls{display:inline-flex;align-items:center;justify-content:flex-end;gap:.65rem;flex-wrap:wrap}.topbar__brand{min-width:0}.brand-row{display:flex;align-items:center;flex-wrap:wrap;gap:.7rem}.brand-row__logo{width:2.5rem;height:2.5rem;flex:none;display:block;margin-top:.05rem}.brand-row h1{margin:0;font-size:1.45rem;font-weight:800;color:var(--primary)}.topbar__subtitle{margin:0;color:var(--on-surface-variant);font-size:.86rem;line-height:1.45;display:inline-flex;align-items:center;flex-wrap:wrap;gap:.2rem}.locale-switcher{display:inline-flex;align-items:center}.locale-switcher__button{border:1px solid transparent;background:transparent;color:var(--on-surface-variant);min-height:var(--control-height);padding:0 var(--control-padding-x);border-radius:12px;box-shadow:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:var(--control-text-size);font-weight:520;line-height:1;letter-spacing:.02em;transition:color .18s ease,background-color .18s ease,border-color .18s ease,transform .18s ease}.locale-switcher__button--icon{min-height:0;padding:.08rem;background:transparent;border-radius:999px;box-shadow:none}.locale-switcher__icon{width:1.5rem;height:1.5rem;flex:none}.locale-switcher__button:hover:not(:disabled){background:var(--icon-button-hover-surface);color:var(--on-surface);transform:translateY(-1px)}.locale-switcher__button--active{color:var(--on-surface);border-color:var(--icon-button-active-border);background:var(--icon-button-active-surface)}.locale-switcher__button--icon:hover:not(:disabled),.locale-switcher__button--icon.locale-switcher__button--active{background:transparent;box-shadow:none;border-color:transparent;transform:none}.layout-grid{max-width:var(--layout-width);margin:0 auto;display:grid;grid-template-columns:minmax(0,var(--control-column-width)) minmax(0,var(--preview-column-width));gap:1rem;align-items:start;justify-content:center}.mode-switcher{display:flex;gap:.45rem;margin:0 auto 1.4rem;width:100%;max-width:var(--layout-width);padding:.38rem;background:var(--segmented-surface);border:1px solid var(--segmented-border);border-radius:14px}.mode-switcher--topbar{width:auto;max-width:none;margin:0;padding:0;background:transparent;border:0;border-radius:0;gap:1rem;align-items:flex-end;flex-wrap:wrap}.mode-switcher--topbar .mode-switcher__aux-group{gap:1.1rem}.mode-switcher--topbar>.mode-switcher__button{min-height:2.42rem;padding:0 .8rem;border:1px solid var(--segmented-button-border);border-radius:10px;background:var(--segmented-button-surface);box-shadow:none;color:var(--segmented-button-text);transform:none}.mode-switcher--topbar>.mode-switcher__button:hover:not(:disabled){background:var(--segmented-button-hover-surface);border-color:var(--segmented-button-border-hover);color:var(--on-surface);transform:translateY(-1px)}.mode-switcher--topbar>.mode-switcher__button.mode-switcher__button--active{background:var(--segmented-button-active-surface);border-color:var(--segmented-button-border-active);color:var(--on-surface)}.mode-switcher--topbar>.mode-switcher__button.mode-switcher__button--active:after{content:none}.mode-switcher--topbar .mode-switcher__aux-group .mode-switcher__button{min-height:auto;padding:0 0 .42rem;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--aux-button-text);transform:none}.mode-switcher--topbar .mode-switcher__aux-group .mode-switcher__button:hover:not(:disabled){background:transparent;border-color:transparent;color:var(--on-surface);transform:none}.mode-switcher--topbar .mode-switcher__icon{opacity:.82}.mode-switcher__button{position:relative;border:1px solid var(--button-flat-border);min-height:2.45rem;padding:0 .92rem;border-radius:12px;background:var(--button-flat-surface);color:var(--on-surface-variant);box-shadow:var(--button-flat-shadow);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-size:var(--control-text-size);font-weight:560;line-height:1;letter-spacing:.015em;text-decoration:none;transition:color .18s ease,background-color .18s ease,border-color .18s ease,transform .18s ease}.mode-switcher__icon{width:1.42rem;height:1.42rem;flex:none}.mode-switcher__icon--asn{width:1.28rem;height:1.28rem}.mode-switcher__button--aux{margin-left:.8rem}.mode-switcher__aux-group{display:inline-flex;align-items:center;gap:.45rem;margin-left:auto}.mode-switcher__button:hover:not(:disabled){background:var(--button-flat-surface-hover);border-color:var(--button-flat-border-strong);color:var(--on-surface);transform:translateY(-1px);text-decoration:none}.mode-switcher__button--active{color:var(--on-surface);background:var(--button-flat-active-surface);border-color:var(--button-flat-active-border)}.mode-switcher__button--active:after{content:"";position:absolute;left:.75rem;right:.75rem;bottom:.34rem;height:1px;background:var(--switcher-accent-line);opacity:.95}.mode-switcher__aux-group .mode-switcher__button{background:transparent;border-color:var(--aux-button-border);color:var(--segmented-button-text);box-shadow:none}.control-column{display:grid;gap:1rem;width:100%;min-width:0;max-width:var(--control-column-width)}.preview-column{display:grid;gap:1rem;width:100%;max-width:var(--preview-column-width);min-width:0}.section-card{padding:1rem;background:var(--card-surface);border:1px solid var(--card-border);border-radius:var(--control-radius);box-shadow:none}.control-column .section-card{background:var(--card-surface-soft)}.section-card--preview{padding:1rem;min-width:0}.section-card--preview-plain{padding:0;background:transparent;border:0;border-radius:0}.section-card--preview-plain .warning-stack{background:var(--preview-overlay-surface);border:1px solid var(--card-border)}.section-card--sticky{position:sticky;top:7.5rem}.section-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.85rem}.section-card__header-title{display:flex;align-items:center;gap:.35rem}.section-card__header h3{margin:0;color:var(--primary);font-size:1.02rem;font-weight:650}.sheet-setup__config{margin-top:.78rem;display:grid;gap:.58rem}.sheet-setup__row{display:grid;gap:.58rem}.sheet-setup__row--numbers{grid-template-columns:repeat(5,minmax(0,1fr))}.sheet-setup__row--numbers-multi-page,.sheet-setup__row--details{grid-template-columns:repeat(4,minmax(0,1fr))}.sheet-setup__row--appearance{grid-template-columns:repeat(3,minmax(0,1fr))}.sheet-setup__row--numbers .field>span{display:flex;align-items:flex-end;min-height:2.2rem;white-space:pre-line}.info-button{width:1.45rem;height:1.45rem;border:0;border-radius:8px;background:transparent;color:var(--primary);cursor:pointer;box-shadow:none;font-size:.82rem;line-height:1}.info-button:hover{background:#a9c0bb14}.section-card__meta{display:grid;gap:.3rem;margin-bottom:.75rem}.section-card__meta strong{color:var(--on-surface-variant);font-size:var(--meta-text-size);font-weight:500;line-height:1.55}.section-card__meta span{color:var(--on-surface-variant);font-size:var(--meta-text-size);line-height:1.55}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.58rem}.form-grid--dense{margin-top:.65rem}.field{display:grid;gap:.24rem}.field--full{grid-column:1 / -1}.field--span-2{grid-column:span 2}.field--narrow{max-width:8.5rem;width:100%;justify-self:start;align-self:start}.field--debug,.field--toggle{align-content:start}.sheet-setup__actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:.58rem;align-items:center}.sheet-setup__action{min-width:0}.sheet-setup__action--reset{justify-self:end}.sheet-setup__actions .toggle-row{justify-content:flex-start}.sheet-setup__actions .toggle-switch{order:-1}.field--compact>span{display:flex;align-items:flex-end;min-height:1.8rem;font-size:var(--label-text-size);font-weight:var(--label-text-weight);line-height:1.35;letter-spacing:var(--label-letter-spacing)}.field>span{color:var(--field-label-color);font-size:var(--label-text-size);font-weight:var(--label-text-weight);letter-spacing:var(--label-letter-spacing);line-height:1.35}.field small,.field-hint{color:var(--on-surface-variant);font-size:.74rem;line-height:1.45}.field-hint--success{color:var(--primary)}.field-hint--error{color:var(--field-error-color)}.field input,.field select,.field textarea{width:100%;border:1px solid var(--field-border);border-radius:10px;background:var(--field-surface);color:var(--field-input-color);box-shadow:none;font-size:.86rem;line-height:1.4;font-weight:450;letter-spacing:.004em;transition:.18s ease}.field input,.field select{min-height:var(--field-control-height);height:var(--field-control-height);padding:var(--field-control-padding-y) var(--field-control-padding-x)}.field input:hover,.field select:hover,.field textarea:hover{background:var(--field-surface-hover);border-color:var(--field-border-strong)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--field-focus-outline);box-shadow:0 0 0 1px color-mix(in srgb,var(--field-focus-outline) 50%,transparent)}.field textarea{min-height:4.4rem;padding:var(--field-control-padding-y) var(--field-control-padding-x);resize:vertical}.field select{appearance:none;padding-right:1.6rem;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16"><path stroke="%236f787f" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6" d="m4 6 4 4 4-4"/></svg>');background-position:right .52rem center;background-repeat:no-repeat;background-size:.72rem}.number-input{position:relative;display:block;width:100%}.field input[type=number],.number-input>input{appearance:textfield;-moz-appearance:textfield;padding-right:1.35rem}.field input[type=number]::-webkit-outer-spin-button,.field input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.number-input__steppers{position:absolute;top:50%;right:.24rem;width:.82rem;height:.95rem;display:grid;grid-template-rows:1fr 1fr;gap:0;transform:translateY(-50%)}.number-input__stepper{border:0;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;color:var(--stepper-color);cursor:pointer;transition:color .18s ease,background-color .18s ease}.number-input__stepper svg{width:.52rem;height:.52rem}.number-input__stepper--up{border-top-right-radius:9px}.number-input__stepper--down{border-bottom-right-radius:9px}.number-input__stepper:hover:not(:disabled){color:var(--stepper-hover-color);background:var(--stepper-hover-surface)}.number-input__stepper:active:not(:disabled){background:var(--stepper-active-surface)}.number-input__stepper:disabled{color:var(--stepper-disabled-color);cursor:default}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;width:100%;min-height:2rem;border:0;padding:.02rem 0;border-radius:0;background:transparent;color:var(--field-label-color);cursor:pointer;box-shadow:none;text-align:left}.toggle-row:hover{background:transparent;border-color:transparent}.toggle-row--active{color:var(--on-surface);background:transparent}.toggle-row__status{font-size:.64rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--on-surface-variant)}.toggle-row--minimal{min-height:1.9rem;padding:0;gap:.8rem}.toggle-row__label{color:var(--toggle-label-color);font-size:.82rem;font-weight:500;letter-spacing:.004em;line-height:1.35}.toggle-switch{position:relative;width:1.9rem;height:1rem;flex:none;border-radius:999px;background:var(--toggle-track);transition:.18s ease}.toggle-switch__thumb{position:absolute;top:.1rem;left:.1rem;width:.8rem;height:.8rem;border-radius:999px;background:var(--toggle-thumb);transition:.18s ease}.toggle-row--minimal.toggle-row--active .toggle-switch{background:var(--toggle-track-active)}.toggle-row--minimal.toggle-row--active .toggle-switch__thumb{left:calc(100% - .9rem);background:var(--toggle-thumb-active)}.calibration-controls-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin-top:.55rem}.calibration-control--debug-borders{grid-column:4}.color-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.58rem}.color-field{display:grid;gap:.24rem;min-width:0}.color-field__label{color:var(--field-label-color);font-size:var(--label-text-size);font-weight:var(--label-text-weight);letter-spacing:var(--label-letter-spacing);line-height:1.35}.color-field__combo{position:relative;display:flex;align-items:center;gap:.46rem;min-height:var(--field-control-height);height:var(--field-control-height);padding:0 calc(var(--field-control-padding-x) + 1.15rem) 0 var(--field-control-padding-x);border:1px solid var(--field-border);border-radius:10px;background:var(--field-surface)}.color-field__combo:hover{background:var(--field-surface-hover);border-color:var(--field-border-strong)}.color-field__combo:focus-within{border-color:var(--field-focus-outline);box-shadow:none}.color-field__input-wrap{position:relative;flex:1 1 auto;min-width:0;display:flex;align-items:center}.color-field__swatch-preview{width:.92rem;height:.92rem;border-radius:999px;border:1px solid var(--swatch-border);box-shadow:0 0 0 2px var(--swatch-shadow);flex:none;justify-self:center}.color-field__input{appearance:none;-webkit-appearance:none;font:inherit;min-width:0;min-height:0;height:auto;width:100%;padding:0;font-variant-numeric:tabular-nums;text-transform:uppercase;font-size:.86rem;font-weight:450;line-height:1.4;letter-spacing:.004em;border:0;border-radius:0;background:transparent;color:var(--on-surface);box-shadow:none;outline:none}.color-field__input:focus{box-shadow:none;border-color:transparent;background:transparent}.color-menu__trigger,.color-menu__option{display:inline-flex;align-items:center;gap:.65rem}.color-menu__trigger{appearance:none;-webkit-appearance:none;position:absolute;top:50%;right:.3rem;transform:translateY(-50%);min-width:1.5rem;justify-content:center;min-height:1.5rem;width:1.5rem;padding:0;border:0;border-left:0;border-radius:0;background:transparent;color:var(--on-surface-variant);box-shadow:none;cursor:pointer;outline:none}.color-menu__trigger:focus,.color-menu__trigger:focus-visible,.color-menu__trigger:active{outline:none;box-shadow:none;border:0;background:transparent}.color-menu__trigger-label,.color-menu__option-label,.color-menu__option-value{font-size:.79rem;line-height:1.3}.color-menu__popover{position:absolute;top:calc(100% + .45rem);left:0;z-index:28;width:max-content;min-width:max(100%,14rem);max-width:min(17rem,calc(100vw - 2rem));padding:.4rem;border:1px solid var(--field-border);border-radius:14px;background:var(--menu-surface);box-shadow:var(--menu-shadow)}.color-menu__option{width:100%;justify-content:flex-start;padding:.62rem .72rem;border:0;border-radius:10px;background:transparent;color:var(--on-surface-variant);cursor:pointer;text-align:left;font-weight:500}.color-menu__option span:last-child{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--on-surface)}.color-menu__option:hover,.color-menu__option--active{background:var(--menu-option-hover-surface);color:var(--on-surface)}.direction-field{position:relative}.direction-field__trigger{width:100%;min-height:2.18rem;padding:.38rem .62rem;border:1px solid var(--field-border);border-radius:var(--control-radius);background:var(--field-surface);color:var(--field-input-color);display:flex;align-items:center;justify-content:space-between;gap:.8rem;text-align:left;cursor:pointer}.direction-field__trigger:hover{background:var(--field-surface-hover);border-color:var(--field-border-strong)}.direction-field__trigger:focus,.direction-field__trigger:focus-visible{outline:none;border-color:var(--field-focus-outline);box-shadow:none}.direction-field__trigger-label{min-width:0;font-size:.86rem;font-weight:450;letter-spacing:.004em;line-height:1.4}.direction-field__popover{position:absolute;top:calc(100% + .45rem);left:0;right:0;z-index:12;padding:.4rem;border:1px solid var(--field-border);border-radius:14px;background:var(--menu-surface);box-shadow:var(--menu-shadow)}.direction-field__option{width:100%;display:grid;gap:.08rem;padding:.62rem .72rem;border:0;border-radius:10px;background:transparent;color:var(--on-surface-variant);text-align:left;cursor:pointer}.direction-field__option-title{color:var(--on-surface);font-size:.82rem;font-weight:500;line-height:1.3}.direction-field__option-detail{font-size:.76rem;line-height:1.35}.direction-field__option:hover,.direction-field__option--active{background:var(--menu-option-hover-surface)}.color-menu__dot{flex:none;border-radius:999px;border:1px solid var(--menu-dot-border)}.color-menu__dot--trigger{width:1.45rem;height:1.45rem;box-shadow:0 0 0 3px var(--menu-dot-shadow)}.color-menu__dot--option{width:.72rem;height:.72rem}.color-menu__chevron{color:var(--on-surface-variant);display:inline-flex;align-items:center;justify-content:center;line-height:0}.color-menu__chevron-icon{width:.72rem;height:.72rem}.color-menu__option-label,.color-menu__option-value{white-space:nowrap}.button-row{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem;align-items:center}.preview-actions{display:flex;justify-content:space-between;gap:.85rem;align-items:center;margin:0 0 .62rem;width:100%;flex-wrap:wrap}.preview-actions__primary,.preview-actions__secondary{display:inline-flex;align-items:center;gap:.7rem;flex-wrap:wrap}.preview-actions__secondary{margin-left:auto;justify-content:flex-end;min-height:2.05rem}.preview-actions__primary .button{position:relative;min-height:2.42rem;padding:0 .8rem;border:1px solid var(--segmented-button-border);border-radius:10px;background:var(--segmented-button-surface);box-shadow:none;color:var(--segmented-button-text);transform:none}.preview-actions__primary .button:hover:not(:disabled){background:var(--segmented-button-hover-surface);border-color:var(--segmented-button-border-hover);color:var(--on-surface);transform:translateY(-1px)}.preview-actions__primary .button--primary{background:var(--segmented-button-active-surface);border-color:var(--segmented-button-border-active);color:var(--on-surface)}.preview-actions__pager{display:inline-flex;align-items:center;gap:.42rem;margin-left:.08rem}.preview-actions__pager-button{width:2.42rem;min-width:2.42rem;min-height:2.42rem;padding:0;border:1px solid var(--pager-border);border-radius:10px;background:var(--pager-surface);color:var(--field-input-color);box-shadow:none;font-size:1.18rem;line-height:1}.preview-actions__pager-button:hover:not(:disabled){background:var(--pager-hover-surface);border-color:var(--pager-hover-border);color:var(--on-surface);transform:translateY(-1px)}.preview-actions__pager-button:disabled{color:var(--pager-disabled-color);border-color:var(--segmented-button-border);background:var(--pager-disabled-surface);cursor:default}.preview-actions__link{min-height:2.05rem;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--action-link-color);transform:none}.preview-actions__link:hover:not(:disabled){background:transparent;border-color:transparent;color:var(--on-surface);transform:none}.preview-actions__toggle{min-height:2.05rem}.button-row__group{display:inline-flex;align-items:center;gap:.65rem;flex-wrap:wrap}.button-row__group--end{margin-left:auto;justify-content:flex-end}.button-row--compact{gap:.55rem}.button{border:1px solid var(--button-flat-border);min-height:2.45rem;border-radius:12px;padding:0 .92rem;background:var(--button-flat-surface);box-shadow:var(--button-flat-shadow);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;transition:color .18s ease,background-color .18s ease,border-color .18s ease,transform .18s ease;font-weight:560;font-size:var(--control-text-size);line-height:1;letter-spacing:.015em;color:var(--button-text-color)}.button--with-icon{gap:.48rem;padding-inline:.82rem}.button__icon{width:1.25rem;height:1.25rem;flex:none}.button-row--compact .button{min-height:2.3rem;padding:0 .82rem;font-size:var(--control-text-size)}.output-toggle{display:inline-flex;align-items:center;justify-content:space-between;gap:.7rem;min-width:0;border:0;min-height:var(--control-height);padding:0;border-radius:var(--control-radius);background:transparent;color:var(--on-surface-variant);cursor:pointer;box-shadow:none;text-align:left;transition:.18s ease}.output-toggle:hover{background:transparent;color:var(--on-surface)}.output-toggle--active{color:var(--on-surface);background:transparent;box-shadow:none}.output-toggle__label{font-size:var(--control-text-size);font-weight:500}.output-toggle__switch{position:relative;width:2.25rem;height:1.2rem;flex:none;border-radius:999px;background:color-mix(in srgb,var(--toggle-track) 68%,transparent);transition:.18s ease}.output-toggle__thumb{position:absolute;top:.13rem;left:.13rem;width:.94rem;height:.94rem;border-radius:999px;background:var(--toggle-thumb);transition:.18s ease}.output-toggle__switch--active{background:color-mix(in srgb,var(--toggle-track-active) 72%,transparent)}.output-toggle__switch--active .output-toggle__thumb{transform:translate(1.04rem);background:var(--toggle-thumb-active)}.profile-actions{position:relative;z-index:16}.calibration-actions-row{display:flex;align-items:center;justify-content:space-between;gap:.85rem;margin-top:1rem}.profile-actions__trigger,.overlay-actions{display:inline-flex;align-items:center;gap:.45rem}.profile-actions__menu{position:absolute;top:calc(100% + .5rem);left:0;z-index:24;width:max-content;min-width:max(100%,14rem);max-width:min(17rem,calc(100vw - 2rem));max-height:min(16rem,calc(100vh - 8rem));overflow-y:auto;padding:.4rem;border:1px solid var(--field-border);border-radius:14px;background:var(--menu-surface);box-shadow:var(--menu-shadow)}.profile-actions__item{width:100%;padding:.62rem .72rem;border:0;border-radius:10px;background:transparent;color:var(--on-surface-variant);cursor:pointer;text-align:left;white-space:nowrap;font-size:.79rem;line-height:1.3;font-weight:500}.profile-actions__item:hover:not(:disabled){background:var(--menu-option-hover-surface);color:var(--on-surface)}.profile-actions__item:disabled{color:var(--on-surface-variant);cursor:not-allowed}.button:disabled{opacity:.55;cursor:not-allowed}.button:hover:not(:disabled){background:var(--button-flat-surface-hover);border-color:var(--button-flat-border-strong);color:var(--on-surface);transform:translateY(-1px)}.button--primary{background:var(--button-flat-active-surface);color:var(--on-surface);border-color:var(--button-primary-border);min-height:2.45rem}.button--primary:hover:not(:disabled){background:var(--button-primary-hover-surface);border-color:var(--button-primary-hover-border)}.button--ghost{background:transparent;color:var(--on-surface-variant);box-shadow:none}.button--ghost:hover:not(:disabled){color:var(--on-surface);background:var(--ghost-hover-surface)}.button--text{background:transparent;color:var(--on-surface-variant);box-shadow:none;border-color:transparent}.button--text:hover:not(:disabled){color:var(--on-surface);background:var(--text-button-hover-surface);border-color:transparent;transform:none}.button--inline-reset{min-height:1.55rem;padding:0;justify-content:flex-end;align-self:center;color:var(--on-surface-variant)}.warning-stack{display:grid;gap:.8rem;padding:1rem 1.1rem;margin-bottom:1.2rem;background:var(--warning-stack-surface);border-radius:22px}.warning-stack h4,.warning-stack p{margin:0}.warning-stack h4{color:var(--primary)}.warning-stack p{color:var(--on-surface-variant);line-height:1.6}.preview-shell{display:grid;gap:.85rem}.section-card--preview-plain .preview-empty{padding:4rem .8rem 3rem}.preview-toolbar{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:0 .1rem;margin:0 0 .28rem}.preview-toolbar__meta{color:var(--on-surface-variant);font-size:var(--meta-text-size);line-height:1.5}.preview-toolbar__actions{display:flex;gap:.45rem}.preview-toolbar__nav{padding:0;border:0;background:transparent;color:var(--primary);font-size:1.25rem;line-height:1;cursor:pointer}.preview-toolbar__nav:disabled{color:#adaaaa73;cursor:default}.preview-surface{display:flex;justify-content:center;padding:0;background:transparent;border:0;border-radius:0;min-width:0;overflow:visible}.preview-frame{display:grid;gap:0;margin:0 auto}.preview-page{position:relative;background:#fff;border-radius:8px;margin:0;box-shadow:0 14px 30px #0000002e}.preview-page--loading{overflow:hidden}.preview-page--loading:before{content:"";position:absolute;inset:0;background:#f6f6f4f5;pointer-events:none;z-index:2}.preview-label{position:absolute;overflow:hidden;border:1px solid transparent}.preview-label__debug{position:absolute;inset:.65px;border:1px solid rgba(150,150,150,.7);pointer-events:none}.preview-label--tight{background:#ffffff08}.preview-label__qr,.preview-label__text-frame,.preview-label__text{position:absolute}.preview-label__text-frame{overflow:hidden}.preview-label__text{left:50%;top:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;white-space:nowrap;color:#000;font-family:Helvetica,Arial,sans-serif;transform-origin:center center}.preview-label__line{display:block;width:100%}.preview-separator__headline,.preview-separator__text{position:absolute;display:flex;align-items:center;justify-content:center;text-align:center;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.3;font-family:Helvetica,Arial,sans-serif}.preview-separator__headline{font-weight:700}.preview-separator__barcode{position:absolute}.preview-separator__bar{position:absolute;top:0;bottom:0}.preview-empty{padding:3rem 1rem;color:var(--on-surface-variant);text-align:center}.preview-loading{position:absolute;inset:0;z-index:3;display:grid;place-items:center;align-content:center;color:#111416c2;font-size:.88rem;font-weight:600;letter-spacing:.015em;pointer-events:none}.preview-loading span{display:inline-flex;align-items:center;justify-content:center;min-height:2.35rem;padding:.55rem .95rem;border:1px solid rgba(17,20,22,.1);border-radius:999px;background:#ffffffe0;box-shadow:0 10px 24px #00000014}.output-panel{display:grid;gap:.5rem;margin-top:.75rem}.output-panel--preview-note{margin:0 0 .68rem}.output-panel--preview-note .source-panel--plain strong,.output-panel--preview-note .source-panel--plain span{color:var(--preview-note-strong)}.output-panel__meta{margin:0;color:var(--on-surface-variant);line-height:1.6}.source-panel{display:grid;gap:.42rem;padding:.85rem .9rem;border-radius:10px;border:1px solid var(--field-border);background:var(--field-surface);color:var(--on-surface-variant)}.source-panel--plain{gap:.3rem;padding:.15rem .1rem 0;border:0;background:transparent;color:var(--on-surface-variant)}.source-panel strong,.accordion-trigger strong{color:var(--source-strong);font-size:.88rem;font-weight:500;line-height:1.4}.source-panel span,.accordion-content>span{font-size:.84rem;line-height:1.6}.source-panel--plain strong{color:var(--source-plain-strong);font-size:.84rem;font-weight:500}.source-panel--plain span{font-size:.8rem;line-height:1.5;max-width:42rem}.source-panel--setup{gap:.72rem}.accordion-trigger{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.accordion-trigger--inline{width:auto;justify-content:flex-start;gap:.4rem;color:var(--on-surface-variant)}.accordion-trigger__chevron{color:var(--on-surface-variant);font-size:.9rem}.accordion-content{display:grid;gap:.85rem}.setup-block{display:grid;gap:.45rem}.setup-block__title{color:var(--setup-block-title);font-size:.84rem;font-weight:500;line-height:1.45}.setup-block__code{margin:0;padding:.8rem .9rem;border-radius:10px;border:1px solid var(--field-border);background:var(--code-surface);color:var(--code-color);overflow-x:auto;font:.84rem/1.7 SFMono-Regular,SFMono-Regular,ui-monospace,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.source-panel__link{color:var(--primary);text-decoration:none}.source-panel__link:hover{text-decoration:underline}.modal-backdrop{position:fixed;inset:0;z-index:40;display:flex;align-items:flex-start;justify-content:center;padding:1.5rem;overflow-y:auto;background:var(--backdrop-surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-card{width:min(560px,100%);margin:auto 0;padding:1.35rem;border-radius:var(--control-radius);border:1px solid var(--card-border);background:var(--modal-surface);box-shadow:var(--modal-shadow)}.modal-card--workflow{width:min(920px,100%);max-height:min(88vh,960px);overflow-y:auto;padding:1.6rem}.modal-help-block{gap:.55rem;padding:.9rem 1rem;border-radius:var(--control-radius);border:1px solid var(--field-border);background:var(--field-surface)}.modal-help-note{border-radius:var(--control-radius);background:var(--help-note-surface-soft)}.modal-card__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.modal-card__header h3{margin:0;color:var(--primary);font-size:1.08rem;font-weight:650}.modal-close{width:2rem;height:2rem;border:0;border-radius:var(--control-radius);background:var(--field-surface);box-shadow:inset 0 0 0 1px var(--field-border);color:var(--on-surface);cursor:pointer}.modal-card__content{display:grid;gap:1rem}.modal-card__content>p,.modal-help-block p{margin:0;color:var(--on-surface-variant);line-height:1.65}.modal-help-block{display:grid}.modal-help-block strong{color:var(--on-surface);font-size:.89rem;font-weight:600}.modal-help-note{display:inline-flex;align-items:center;width:fit-content;max-width:100%;padding:.35rem .7rem;border-radius:999px;background:var(--help-note-surface);color:var(--primary);font-size:.78rem;line-height:1.45}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1220px){.layout-grid{grid-template-columns:1fr}.section-card--sticky{position:static}.calibration-controls-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calibration-control--debug-borders{grid-column:auto}}@media(max-width:760px){.app-shell{padding:1rem}.app-footer__content{justify-items:stretch}.app-footer p{text-align:left}.app-footer__links{justify-content:flex-start}.topbar,.topbar__top{flex-direction:column;align-items:stretch}.topbar__controls{justify-content:flex-start}.mode-switcher{display:grid;grid-template-columns:1fr}.mode-switcher__button--aux{margin-left:0;margin-top:.3rem}.mode-switcher__aux-group{display:grid;grid-template-columns:1fr;gap:.45rem;margin-left:0}.form-grid,.calibration-controls-grid{grid-template-columns:1fr}.calibration-control--debug-borders{grid-column:auto}.color-fields,.sheet-setup__row--numbers,.sheet-setup__row--details,.sheet-setup__row--appearance,.sheet-setup__actions{grid-template-columns:1fr}.field--span-2{grid-column:auto}.button-row{flex-direction:column}.button{width:100%}.calibration-actions-row{flex-direction:column;align-items:stretch}.overlay-actions{width:100%}.overlay-actions .button{width:auto}.modal-backdrop{padding:1rem}.modal-card--workflow{max-height:none}.color-field__controls{grid-template-columns:auto minmax(0,1fr)}.color-fields{grid-template-columns:1fr}.color-menu{grid-column:1 / -1;width:100%}.color-menu__trigger,.color-menu__popover{width:100%}}
