.scrollable-textarea{white-space:pre;overflow-wrap:normal;overflow-x:scroll}html,body,#root{min-height:100%}body{color:var(--ui-text);background-color:#fefefe;background-image:url(/images/circuit.png);background-repeat:repeat-x;margin:0}.textarea-font{font-family:Lucida Console,Courier New,Monaco,Microsoft Yahei,Hiragino Sans GB,Heiti SC,WenQuanYi Micro Hei,monospace}a{color:inherit}.app-shell-header{z-index:40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:2px solid var(--ui-border);background:#ffffffe6;position:sticky;top:0}.app-shell-header-row{flex-wrap:wrap;align-items:center;gap:.6rem .9rem;min-height:3rem;padding:.4rem 0;display:flex}.app-brand{min-height:2.2rem;color:var(--ui-text);align-items:center;gap:.55rem;text-decoration:none;display:inline-flex}.app-brand-label{font-weight:700}.app-brand-label.is-active{font-weight:800}.app-nav-toggle{appearance:none;min-width:2.2rem;min-height:2.2rem;color:var(--ui-text);cursor:pointer;font:inherit;background:0 0;border:none;border-radius:8px;margin-left:auto;padding:.32rem;display:none}.app-nav-toggle:hover,.app-nav-toggle:focus-visible{background:var(--ui-surface-soft);outline:none}.app-nav-toggle-icon{flex-direction:column;justify-content:center;gap:.23rem;width:1.15rem;height:1.15rem;display:inline-flex}.app-nav-toggle-icon span{background:currentColor;border-radius:999px;width:100%;height:2px;display:block}.app-visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-nav-panel{flex:1;margin-left:auto}.app-nav{justify-content:space-between;align-items:center;gap:1rem;display:flex}.app-nav-section{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.app-nav-section--end{justify-content:flex-end}.app-nav-link,.app-nav-trigger{appearance:none;min-height:2.2rem;color:var(--ui-text-muted);cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:.35rem;padding:.36rem .72rem;text-decoration:none;transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s;display:inline-flex}.app-nav-link:hover,.app-nav-link:focus-visible,.app-nav-trigger:hover,.app-nav-trigger:focus-visible{background:var(--ui-surface-soft);color:var(--ui-text);outline:none}.app-nav-link.is-active,.app-nav-trigger.is-active{border-color:var(--ui-border);background:var(--ui-surface-strong);color:var(--ui-text);box-shadow:0 8px 20px #0f172a0f}.app-nav-caret{font-size:.9em}.app-nav-dropdown{min-width:13rem}.app-nav-dropdown-item{color:var(--ui-text);cursor:pointer;border-radius:10px;outline:none;align-items:center;padding:.5rem .72rem;display:flex}.app-nav-dropdown-item:hover,.app-nav-dropdown-item[data-highlighted]{background:var(--ui-surface-soft)}.app-nav-dropdown-item.is-active{color:#1e3a8a;background:#1d4ed814;font-weight:700}.app-shell-content{padding-top:.7rem;padding-bottom:1rem}.app-mobile-drawer-layer{display:none}.app-mobile-drawer-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a66;position:fixed;inset:0}.app-mobile-drawer{border-right:1px solid var(--ui-border);background:#fffffffa;flex-direction:column;width:min(320px,100vw - 2.2rem);max-width:100%;display:flex;position:fixed;inset:0 auto 0 0;box-shadow:18px 0 40px #0f172a29}.app-mobile-drawer__header{border-bottom:1px solid var(--ui-border);justify-content:space-between;align-items:center;gap:.75rem;padding:.9rem 1rem;display:flex}.app-mobile-drawer__title{font-size:1rem;font-weight:700}.app-mobile-drawer__body{flex-direction:column;gap:1rem;padding:.9rem 1rem 1.1rem;display:flex;overflow:auto}.app-mobile-drawer__section{flex-direction:column;gap:.3rem;display:flex}.app-mobile-drawer__section-title{color:var(--ui-text-muted);padding:0 .2rem;font-size:.82rem;font-weight:700}.app-mobile-drawer__link{min-height:2.35rem;color:var(--ui-text);border:1px solid #0000;border-radius:10px;align-items:center;padding:.48rem .72rem;text-decoration:none;display:flex}.app-mobile-drawer__link:hover,.app-mobile-drawer__link:focus-visible{background:var(--ui-surface-soft);outline:none}.app-mobile-drawer__link.is-active{border-color:var(--ui-border);color:#1e3a8a;background:#1d4ed814;font-weight:700}.barcode-page__layout{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:start;gap:1rem;display:grid}.barcode-page__panel,.barcode-page__preview{min-width:0}.barcode-kind-switcher{flex-wrap:wrap;gap:.5rem;display:flex}.barcode-kind-switcher__item{appearance:none;border:1px solid var(--ui-border);background:var(--ui-surface-strong);min-height:2.35rem;color:var(--ui-text);cursor:pointer;font:inherit;border-radius:999px;padding:.45rem .8rem}.barcode-kind-switcher__item:hover,.barcode-kind-switcher__item:focus-visible{border-color:var(--ui-border-strong);background:var(--ui-surface-soft);outline:none}.barcode-kind-switcher__item.is-active{color:#1e3a8a;background:#1d4ed81a;border-color:#1d4ed838;font-weight:700}.barcode-helper-text{color:var(--ui-text-muted);margin-top:.55rem;font-size:.92rem}.barcode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.barcode-checkbox{min-height:2.35rem;color:var(--ui-text);align-items:center;gap:.6rem;display:flex}.barcode-checkbox input{width:1rem;height:1rem;accent-color:var(--ui-accent)}.barcode-preview-shell{border:1px dashed var(--ui-border);background-color:#0000;background-image:linear-gradient(45deg,#94a3b814 25%,#0000 25%),linear-gradient(-45deg,#94a3b814 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#94a3b814 75%),linear-gradient(-45deg,#0000 75%,#94a3b814 75%);background-position:0 0,0 11px,11px -11px,-11px 0;background-repeat:repeat,repeat,repeat,repeat;background-size:22px 22px;background-attachment:scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;border-radius:14px;justify-content:center;align-items:center;min-height:320px;padding:1rem;display:flex}.barcode-preview-image,.barcode-preview-svg svg{background:#fff;max-width:100%;height:auto;display:block;box-shadow:0 14px 30px #0f172a14}.barcode-preview-svg{justify-content:center;width:100%;display:flex}.barcode-status-row{color:var(--ui-text-muted);flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;margin-top:.85rem;font-size:.92rem;display:flex}.barcode-error-text{color:var(--ui-danger);white-space:pre-wrap;margin-top:.85rem}.rdt,.rdt .ui-control{width:100%}.mt-2{margin-top:.75rem}.mt-3{margin-top:1rem}.mb-2{margin-bottom:.75rem}.mb-3{margin-bottom:1rem}.me-2{margin-inline-end:.75rem}.my-2,.my-3{margin-block:.75rem}.font-monospace{font-family:Lucida Console,Courier New,Monaco,Microsoft Yahei,Hiragino Sans GB,Heiti SC,WenQuanYi Micro Hei,monospace}.fs-1{font-size:clamp(2rem,5vw,2.6rem);line-height:1.1}.fs-2{font-size:clamp(1.6rem,4vw,2rem);line-height:1.15}.fs-5{font-size:1.1rem;line-height:1.4}.d-inline-block{display:inline-block}.align-top{vertical-align:top}.d-flex{display:flex}.justify-content-between{justify-content:space-between;gap:.75rem}.border{border:1px solid var(--ui-border)}.border-bottom{border-bottom:1px solid var(--ui-border)}.border-2{border-bottom-width:2px}.link-dark{color:var(--ui-text)}.btn-close{appearance:none;width:1.9rem;height:1.9rem;color:var(--ui-text-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;flex:none;position:relative}.btn-close:before,.btn-close:after{content:"";border-top:1.8px solid;position:absolute;inset:.45rem}.btn-close:before{transform:rotate(45deg)}.btn-close:after{transform:rotate(-45deg)}.btn-close:hover,.btn-close:focus-visible{background:var(--ui-surface-soft);color:var(--ui-text);outline:none}@media (width<=960px){.app-nav-toggle{display:inline-flex}.app-nav-panel{display:none}.app-mobile-drawer-layer{display:block}.app-shell-header-row{flex-wrap:nowrap}.app-shell-content{padding-top:.55rem}.barcode-page__layout,.barcode-grid{grid-template-columns:1fr}.barcode-preview-shell{min-height:240px;padding:.8rem}}:root{--ui-surface:#fffffff0;--ui-surface-strong:#fff;--ui-surface-soft:#f8fafc;--ui-border:#d5dce5;--ui-border-strong:#bcc6d2;--ui-text:#0f172a;--ui-text-muted:#475569;--ui-accent:#1d4ed8;--ui-accent-soft:#2563eb1f;--ui-danger:#b91c1c;--ui-danger-soft:#fff1f2;--ui-radius:14px;--ui-shadow:0 16px 36px #0f172a14;--ui-button-row-gap:.34rem}*,:before,:after{box-sizing:border-box}body{color:var(--ui-text)}button,input,textarea{font:inherit}.ui-container{width:min(1080px,100% - 24px);margin:0 auto}.ui-button{appearance:none;border:1px solid var(--ui-border);background:var(--ui-surface-strong);min-height:2.2rem;color:var(--ui-text);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:.35rem;padding:.42rem .78rem;line-height:1.15;text-decoration:none;transition:background-color .16s,border-color .16s,box-shadow .16s,color .16s;display:inline-flex}.ui-button:hover:not(:disabled),.ui-button:focus-visible{background:var(--ui-surface-soft);border-color:var(--ui-border-strong)}.ui-button:focus-visible,.ui-control:focus{box-shadow:0 0 0 3px var(--ui-accent-soft);outline:none}.ui-button:disabled{cursor:not-allowed;opacity:.55}.ui-button--danger{background:var(--ui-danger-soft);color:var(--ui-danger);border-color:#fecdd3}.ui-button-group,.ui-button-toolbar{align-items:flex-start;display:flex}.ui-button-group{flex-wrap:nowrap;gap:0;max-width:100%}.ui-button-group>.ui-button{border-radius:0;margin-left:-1px}.ui-button-group>.ui-button:first-child{border-top-left-radius:10px;border-bottom-left-radius:10px;margin-left:0}.ui-button-group>.ui-button:last-child{border-top-right-radius:10px;border-bottom-right-radius:10px}.ui-button-group>.ui-button:focus-visible,.ui-button-group>.ui-button:hover:not(:disabled){z-index:1;position:relative}.ui-button-toolbar{column-gap:.5rem;row-gap:var(--ui-button-row-gap);flex-wrap:wrap}.ui-button-toolbar+.ui-button-toolbar{margin-top:var(--ui-button-row-gap)}.ui-button-toolbar>*{margin-top:0!important;margin-inline-end:0!important}.ui-card{border:1px solid var(--ui-border);border-radius:calc(var(--ui-radius) + 2px);background:var(--ui-surface);box-shadow:var(--ui-shadow);overflow:hidden}.ui-card__header{border-bottom:1px solid var(--ui-border);padding:.8rem 1rem;font-weight:700}.ui-card__body{padding:.95rem 1rem}.ui-card__title{margin:0 0 .85rem;font-size:1.05rem;font-weight:700}.ui-card__text{color:var(--ui-text)}.ui-form-group{margin-bottom:1rem}.ui-label{color:var(--ui-text);margin-bottom:.45rem;font-weight:600;display:block}.ui-control{border:1px solid var(--ui-border);width:100%;min-height:2.35rem;color:var(--ui-text);background:#fffffff7;border-radius:10px;padding:.48rem .75rem;transition:border-color .16s,box-shadow .16s,background-color .16s}textarea.ui-control{resize:vertical;min-height:8rem}.ui-control:hover{border-color:var(--ui-border-strong)}.ui-control[readonly]{background:var(--ui-surface-soft);color:#334155}.ui-control::placeholder{color:#94a3b8}.ui-input-group{flex-wrap:wrap;align-items:stretch;gap:.5rem;display:flex}.ui-input-group>.ui-control,.ui-input-group>.rdt{flex:220px}.ui-input-group__text{border:1px solid var(--ui-border);background:var(--ui-surface-soft);min-height:2.35rem;color:var(--ui-text-muted);white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;padding:.48rem .75rem;display:inline-flex}.ui-table-wrap{overflow-x:auto}.ui-table{border-collapse:collapse;width:100%;min-width:520px}.ui-table th,.ui-table td{border-bottom:1px solid var(--ui-border);text-align:left;vertical-align:middle;padding:.8rem .75rem}.ui-table thead th{background:var(--ui-surface-soft);font-weight:700}.ui-table tbody tr:hover{background:#f8fafcb8}.ui-list-group{margin:0;padding:0;list-style:none}.ui-list-group__item{border-top:1px solid var(--ui-border);padding:.95rem 1.1rem}.ui-list-group__item:first-child{border-top:none}.ui-dropdown-menu{border:1px solid var(--ui-border);background:var(--ui-surface-strong);z-index:80;border-radius:14px;min-width:12rem;padding:.35rem;box-shadow:0 18px 48px #0f172a24}.ui-dropdown-item{width:100%;color:var(--ui-text);cursor:pointer;border-radius:10px;outline:none;align-items:center;padding:.5rem .72rem;display:flex}.ui-dropdown-item:hover,.ui-dropdown-item[data-highlighted]{background:var(--ui-surface-soft)}.ui-dropdown-item[data-disabled]{cursor:not-allowed;opacity:.45}.ui-dialog-layer{z-index:100;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.ui-dialog-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a73;position:absolute;inset:0}.ui-dialog-popup{z-index:1;border:1px solid var(--ui-border);background:var(--ui-surface-strong);border-radius:18px;width:min(680px,100%);max-height:calc(100vh - 2rem);position:relative;overflow:auto;box-shadow:0 24px 60px #0f172a38}.ui-dialog-popup--fullscreen{width:calc(100vw - 1rem);max-width:none;height:calc(100vh - 1rem);max-height:none}.ui-dialog__header{border-bottom:1px solid var(--ui-border);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.25rem;display:flex}.ui-dialog__header-content{flex:1;min-width:0}.ui-dialog__title{color:var(--ui-text);margin:0;font-size:1.1rem;font-weight:700}.ui-dialog__body{padding:1rem 1.25rem 1.25rem}.ui-close-button{appearance:none;width:2rem;height:2rem;color:var(--ui-text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;flex:none;justify-content:center;align-items:center;transition:background-color .16s,color .16s;display:inline-flex}.ui-close-button:hover,.ui-close-button:focus-visible{background:var(--ui-surface-soft);color:var(--ui-text);outline:none}@media (width<=640px){.ui-container{width:min(100% - 20px,1080px)}.ui-card__body,.ui-card__header,.ui-dialog__header,.ui-dialog__body{padding-inline:.9rem}.ui-table{min-width:420px}.ui-button-group{column-gap:.35rem;row-gap:var(--ui-button-row-gap);flex-wrap:wrap}.ui-button-group>.ui-button{border-radius:10px;margin-left:0}}
