@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/dm-sans-latin-ext-400-normal.0fqyy_rzir8wk.woff2)format("woff2"),url(../media/dm-sans-latin-ext-400-normal.2wgrmp5e19scw.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/dm-sans-latin-400-normal.0471snlmja818.woff2)format("woff2"),url(../media/dm-sans-latin-400-normal.40quu04grbhf8.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/dm-sans-latin-ext-500-normal.3kt-ux4qy_ne2.woff2)format("woff2"),url(../media/dm-sans-latin-ext-500-normal.3exo923874x5t.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/dm-sans-latin-500-normal.0brn-8r9pdr2e.woff2)format("woff2"),url(../media/dm-sans-latin-500-normal.0jcw8phz0eanr.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/dm-sans-latin-ext-600-normal.2h9q_0618j3sz.woff2)format("woff2"),url(../media/dm-sans-latin-ext-600-normal.2uv0s9c16r-jh.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/dm-sans-latin-600-normal.0oone78si629l.woff2)format("woff2"),url(../media/dm-sans-latin-600-normal.40ad7xuawyzt9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(../media/dm-sans-latin-ext-700-normal.2hzb0w6rbfwop.woff2)format("woff2"),url(../media/dm-sans-latin-ext-700-normal.3l0fp675b56tl.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(../media/dm-sans-latin-700-normal.1a6kzvi7en7g-.woff2)format("woff2"),url(../media/dm-sans-latin-700-normal.33in7pwjke59p.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--canvas:#f5f6f3;--surface:#fff;--ink:#2e3732;--muted:#7a827b;--border:#e0e4dd;--green:#3a6555;--green-dark:#2d4f41;--pale-green:#eaf0e9;--gold:#e9c56d;--teal:#8abdb2;--radius:15px;--font:"DM Sans","Helvetica Neue",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--canvas);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{color:inherit;cursor:pointer;background:0 0;border:0}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,a:focus-visible,summary:focus-visible{outline-offset:4px;outline:3px solid #97b9a8}input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px;outline:2px solid #7caa95}a{color:inherit;text-decoration:none}img,svg{vertical-align:middle}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}strong{font-weight:600}button,input,textarea,select{border-radius:5px}input[type=checkbox]{width:16px;height:16px;accent-color:var(--green);cursor:pointer;flex-shrink:0;margin:0}input[type=range]{accent-color:var(--green);cursor:pointer;width:100%;margin:9px 0 3px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{max-width:1380px;margin:0 auto;padding:38px 42px 0}.app-header{justify-content:space-between;align-items:center;gap:22px;margin-bottom:35px;display:flex}.brand{flex-shrink:0;align-items:center;gap:14px;display:flex}.brand-symbol{background:linear-gradient(90deg,var(--gold) 0 50%,var(--teal) 50% 100%);color:#fff;border-radius:12px;justify-content:center;align-items:center;width:45px;height:45px;display:flex;position:relative;overflow:hidden}.brand-symbol:after{content:"";background:#ffffff6b;width:1px;position:absolute;top:0;bottom:0;left:50%}.brand strong{letter-spacing:-1.3px;font-size:29px;font-weight:700;line-height:1.2;display:block}.brand-dot{color:var(--green)}.brand small{color:var(--muted);letter-spacing:.05px;margin-top:4px;font-size:12px;display:block}.header-actions{align-items:center;gap:20px;display:flex}.text-button{color:#707970;white-space:nowrap;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:4px 0;font-size:12px;display:inline-flex}.text-button:hover{color:var(--green)}.button{white-space:nowrap;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:9px;min-height:41px;padding:10px 15px;font-size:12px;font-weight:500;line-height:1.4;transition:background .18s,border-color .18s,transform .18s;display:inline-flex}.button:active:not(:disabled){transform:translateY(1px)}.button-green{background:var(--green);color:#fff;border-color:var(--green)}.button-green:hover:not(:disabled){background:var(--green-dark);border-color:var(--green-dark)}.button-outline{border-color:var(--border);background:#fff}.button-outline:hover:not(:disabled){background:#fafbf8;border-color:#aebbb0}.icon-button{color:#737d74;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.icon-button:hover:not(:disabled){color:var(--ink);background:#edf0ea}.language-switch{color:var(--muted);align-items:center;gap:3px;display:inline-flex}.language-switch button{min-width:29px;min-height:31px;padding:5px 4px;font-size:11px;font-weight:500}.language-switch button:hover{color:var(--green);background:var(--pale-green)}.language-switch button[aria-pressed=true],.language-switch button.active{color:var(--green-dark);background:var(--pale-green);font-weight:700}.language-switch>span{opacity:.45;font-size:10px}.intro-row{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.intro-row h1{letter-spacing:-.8px;font-size:26px;font-weight:500;line-height:1.25}.intro-row p{color:var(--muted);margin-top:7px;font-size:12px}.local-badge{color:#7c8779;white-space:nowrap;align-items:center;gap:7px;font-size:10.5px;display:inline-flex}.local-badge svg{color:#75927c}.editor-layout{grid-template-columns:400px minmax(0,1fr);align-items:start;gap:24px;display:grid}.editor-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0;overflow:hidden;box-shadow:0 3px 10px #26382a02}.editor-tabs{border-bottom:1px solid var(--border);background:#fcfcfa;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:7px;display:grid}.editor-tabs button{color:#899183;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:43px;padding:10px 6px;font-size:12px;display:flex}.editor-tabs button.active,.editor-tabs button[aria-selected=true],.editor-tabs button[aria-pressed=true]{color:var(--green);background:#edf2ea;font-weight:600}.editor-tabs button:hover{color:var(--green)}.editor-body{padding:22px}.field{min-width:0;margin:0 0 18px;display:block}.field:last-child{margin-bottom:0}.field-label,.field>label,.field>span:first-child{color:#566252;margin-bottom:8px;font-size:11px;font-weight:500;display:block}.label-row{justify-content:space-between;align-items:center;gap:12px;min-height:18px;margin-bottom:8px;display:flex}.label-row .field-label{margin:0}.label-row>span:last-child,.label-row output{color:#929b8d;font-size:10px;font-weight:400}.input,.textarea,.select{width:100%;min-height:42px;color:var(--ink);background:#fff;border:1px solid #dfe4da;border-radius:7px;padding:10px 12px;font-size:12px;line-height:1.55;transition:border-color .15s;display:block}.input:hover,.textarea:hover,.select:hover{border-color:#b8c5b6}.input::placeholder,.textarea::placeholder{color:#a0a89a}.textarea{resize:vertical;min-height:87px}.select{cursor:pointer;padding-right:25px}.input:disabled,.textarea:disabled,.select:disabled{color:#a0a89b;background:#f6f8f2}.field-hint{color:#8c9585;overflow-wrap:anywhere;margin-top:7px;font-size:10px;line-height:1.7}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.two-columns .field{margin-bottom:16px}.segmented{background:#f1f3ef;border-radius:7px;align-items:center;gap:2px;max-width:100%;padding:3px;display:inline-flex}.segmented button{color:#87917f;white-space:nowrap;border-radius:5px;justify-content:center;align-items:center;gap:6px;min-height:32px;padding:7px 11px;font-size:11px;transition:background .15s,color .15s;display:inline-flex}.segmented button.active,.segmented button.selected,.segmented button[aria-pressed=true],.segmented button[aria-selected=true]{color:#455247;background:#fff;box-shadow:0 1px 4px #24382a0d}.segmented button:hover{color:#354f3b}.field>.segmented{display:flex}.field>.segmented button{flex:1}.switch-row{color:#6d7a64;justify-content:space-between;align-items:center;gap:12px;min-height:38px;margin:2px 0 10px;font-size:11px;display:flex}.switch-row label{cursor:pointer;align-items:center;gap:9px;display:flex}.switch-row>span{flex:1}.switch-row>small{color:#9aa290;font-size:10px}.toggle{cursor:pointer;align-items:center;gap:8px;font-size:11px;display:inline-flex}.section-divider{background:#e9ece4;border:0;height:1px;margin:22px 0}.control-heading{align-items:center;gap:8px;margin-bottom:16px;display:flex}.control-heading h2,.control-heading h3{font-size:12px;font-weight:600}.control-heading>span:last-child:not(.section-index){color:#9ba390;margin-left:auto;font-size:10px}.section-index{color:#85703b;background:#fbf1d7;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:23px;font-size:10px;font-weight:700;display:inline-flex}.section-index.teal{color:#46776d;background:#e4f0eb}.chip-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.style-choice{border:1px solid var(--border);color:#8a957d;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:9px;min-height:82px;padding:12px 7px 9px;font-size:10px;display:flex}.style-choice:hover{color:var(--green);border-color:#a8b99e}.style-choice.active,.style-choice[aria-pressed=true]{color:var(--green);background:#f4f7f0;border-color:#65876a;box-shadow:0 0 0 1px #65876a}.style-sample{color:#66816b;grid-template-columns:repeat(3,5px);gap:3px;display:grid}.style-sample i,.style-sample span{background:currentColor;width:5px;height:5px;display:block}.style-sample.rounded i,.style-sample.rounded span{border-radius:1.5px}.style-sample.dots i,.style-sample.dots span{border-radius:50%}.style-choice>svg{color:#698369}.color-field{background:#fff;border:1px solid #dfe4da;border-radius:7px;align-items:center;gap:7px;min-height:42px;padding:6px;display:flex}.color-field input[type=color]{cursor:pointer;background:0 0;border:0;border-radius:4px;width:27px;min-width:27px;height:27px;padding:0;overflow:hidden}.color-field input[type=color]::-webkit-color-swatch-wrapper{padding:0}.color-field input[type=color]::-webkit-color-swatch{border:1px solid #00000012;border-radius:4px}.color-field input[type=text],.color-field .input{width:100%;min-width:0;min-height:25px;font-size:11px;font-family:var(--font);background:0 0;border:0;outline:none;padding:3px 0}.color-field>span{color:#7b8871;font-size:11px}.advanced-settings{border-top:1px solid #e9ece4;margin-top:21px;padding-top:17px}.advanced-settings summary{cursor:pointer;color:#6d7c62;padding:3px 0;font-size:11px;font-weight:500}.advanced-settings[open] summary{margin-bottom:17px}.advanced-settings fieldset{border:0;min-width:0;margin:0;padding:0}.preset-strip{border-top:1px solid #e9ece4;margin-top:23px;padding-top:21px}.preset-strip .control-heading{margin-bottom:12px}.preset-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.preset-choice,.preset-button{color:#8a947f;flex-direction:column;align-items:center;gap:6px;min-width:0;padding:5px 0;font-size:9px;display:flex}.preset-swatch{border:1px solid #e5e8e0;border-radius:8px;justify-content:center;align-items:center;width:41px;height:41px;display:flex;position:relative}.preset-choice.active .preset-swatch,.preset-choice[aria-pressed=true] .preset-swatch,.preset-button.active .preset-swatch{outline-offset:3px;outline:2px solid #7b9978}.preset-choice:hover,.preset-button:hover{color:var(--green)}.preset-choice>span:last-child,.preset-button>span:last-child{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.mini-actions{border-top:1px solid #edf0e7;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:5px 13px;margin-top:17px;padding-top:15px;display:flex}.mini-actions .text-button{min-height:30px;font-size:10px}.inline-error{color:#a44b3b;overflow-wrap:anywhere;background:#fbf0eb;border-radius:6px;margin-top:12px;padding:10px 12px;font-size:11px;line-height:1.7}.inline-warning{color:#8d713f;background:#fbf5e7;border-radius:6px;margin-top:12px;padding:10px 12px;font-size:11px;line-height:1.7}.workspace-right{gap:20px;min-width:0;display:grid}.preview-panel{background:#fff;border:1px solid #dce1d7;border-radius:17px;min-width:0;overflow:hidden;box-shadow:0 3px 12px #26382a04}.viewer-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;min-height:63px;padding:12px 20px;display:flex}.viewer-title{align-items:center;gap:8px;min-width:0;display:flex}.viewer-title h2{white-space:nowrap;font-size:12px;font-weight:600}.status-dot{background:#a1a89f;border-radius:50%;flex-shrink:0;width:5px;height:5px;display:inline-block}.status-dot.ready,.viewer-title>.status-dot{background:#5f8b72}.preview-tools{align-items:center;gap:13px;display:flex}.preview-tools .segmented button{padding:7px 9px;font-size:10px}.preview-stage{isolation:isolate;background:#edf0e9;justify-content:center;align-items:center;min-height:510px;padding:36px 38px;display:flex;position:relative;overflow:hidden}.preview-stage[data-surface=checker],.checkerboard{background-color:#fff;background-image:linear-gradient(45deg,#e7ebe4 25%,#0000 25%),linear-gradient(-45deg,#e7ebe4 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#e7ebe4 75%),linear-gradient(-45deg,#0000 75%,#e7ebe4 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px}.preview-art{filter:drop-shadow(0 8px 18px #263b2b0b);width:300px;max-width:100%;line-height:0}.preview-art>svg{width:100%;height:auto;max-height:450px;display:block}.preview-art.qr-only{width:310px}.preview-stage .empty-state{color:#8c9983}.surface-toolbar{border-top:1px solid var(--border);background:#fcfcfa;justify-content:space-between;align-items:center;gap:13px;min-height:54px;padding:12px 20px;display:flex}.surface-toolbar>span,.surface-label{color:#8e9887;align-items:center;gap:6px;font-size:10px;display:flex}.swatch-buttons{align-items:center;gap:7px;display:flex}.swatch-buttons button,.swatch-button{color:#749065;border:1px solid #d7dfd0;border-radius:50%;justify-content:center;align-items:center;width:25px;height:25px;display:inline-flex;position:relative}.swatch-buttons button.active,.swatch-buttons button[aria-pressed=true],.swatch-button.active{outline-offset:3px;outline:2px solid #7d9573}.swatch-buttons input[type=color]{cursor:pointer;border:1px solid #d7dfd0;border-radius:50%;width:25px;height:25px;padding:0;overflow:hidden}.swatch-buttons input[type=color]::-webkit-color-swatch-wrapper{padding:0}.swatch-buttons input[type=color]::-webkit-color-swatch{border:0;border-radius:50%}.preview-meta{color:#949c8a;border-top:1px solid #e9ece4;justify-content:space-between;align-items:center;gap:15px;padding:11px 20px;font-size:10px;display:flex}.scan-status{color:#5f7d51;background:#edf3e9;border:1px solid #dce7d7;border-radius:9px;align-items:flex-start;gap:10px;padding:13px 16px;font-size:11px;line-height:1.6;display:flex}.scan-status>svg{flex-shrink:0;margin-top:2px}.scan-status strong{font-size:11px;font-weight:600;display:block}.scan-status p{color:#819476;margin-top:2px;font-size:10px}.scan-status.warning,.scan-status.failed{color:#9a733d;background:#fbf5e8;border-color:#ecdfbf}.scan-status.warning p,.scan-status.failed p{color:#a38b64}.scan-status.pending{color:#8d977f;background:#f1f4ed;border-color:#e1e7d9}.export-panel{border:1px solid var(--border);border-radius:var(--radius);background:#fff;min-width:0;padding:21px 22px 22px}.export-top{justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px;display:flex}.export-top h2{align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.export-top p{color:#8e9885;margin-top:3px;font-size:10px}.format-options{background:#f1f3ef;border-radius:7px;gap:2px;padding:3px;display:flex}.format-options button{color:#8c9584;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;min-width:55px;min-height:38px;padding:6px 9px;font-size:10px;font-weight:500;display:inline-flex}.format-options button.active,.format-options button[aria-pressed=true]{color:#455247;background:#fff;box-shadow:0 1px 4px #24382a0d}.format-options button small{font-size:8px;font-weight:400}.export-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:1px;display:grid}.export-fields .field{margin-bottom:15px}.filename-field{margin:0 0 18px}.filename-field .input{font-size:11px;font-family:var(--font)}.filename-field .field-hint{margin-top:5px}.download-row{align-items:center;gap:16px;display:flex}.download-row>.button-green{flex:1}.download-summary{color:#99a08f;text-align:right;font-size:10px;line-height:1.6}.download-summary strong{color:#74836b;font-size:11px;font-weight:500;display:block}.app-footer{color:#a1a995;justify-content:space-between;align-items:center;gap:20px;min-height:110px;font-size:10px;display:flex}.footer-brand{color:#71846c;letter-spacing:-.3px;font-size:12px;font-weight:600}.app-footer>span,.app-footer>p{align-items:center;gap:6px;display:flex}.app-dialog{color:var(--ink);background:#fff;border:1px solid #dce3d5;border-radius:15px;width:calc(100% - 40px);max-width:620px;max-height:85dvh;padding:27px;box-shadow:0 24px 100px #1e31253b}.app-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1e31254a}.dialog-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px;display:flex}.dialog-heading h2{letter-spacing:-.7px;font-size:24px;font-weight:500}.dialog-heading p{color:#8b9581;margin-top:4px;font-size:11px}.project-list{scrollbar-width:thin;gap:9px;max-height:47dvh;margin:0 -3px;padding:3px;display:grid;overflow:auto}.project-row{text-align:left;border:1px solid #e3e8dc;border-radius:9px;align-items:center;gap:13px;min-width:0;padding:13px;display:flex}.project-row.active{background:#f3f7ef;border-color:#a9bda2}.project-row:hover{border-color:#b4c4a9}.project-thumb{width:44px;height:44px;color:var(--green);background:#f0f4e9;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.project-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;display:block;overflow:hidden}.project-row small{color:#929d86;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:10px;display:block;overflow:hidden}.project-meta{flex:1;min-width:0}.project-actions{align-items:center;gap:3px;margin-left:auto;display:flex}.project-actions .icon-button{width:31px;height:34px}.project-actions .icon-button:last-child{color:#ab8a73}.dialog-footer{border-top:1px solid #e7ebdf;justify-content:space-between;align-items:center;gap:13px;margin-top:22px;padding-top:18px;display:flex}.dialog-footer>.field-hint{max-width:260px;margin:0}.empty-state{text-align:center;color:#96a087;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:180px;padding:25px;display:flex}.empty-state strong{color:#718667;font-size:16px;font-weight:500}.empty-state p{max-width:300px;font-size:11px;line-height:1.8}.toast{color:#58794c;z-index:20;background:#fff;border:1px solid #cddbc7;border-radius:9px;align-items:center;gap:9px;max-width:calc(100% - 28px);padding:12px 17px;font-size:12px;display:flex;position:fixed;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 5px 24px #243c2021}.logo-upload{text-align:center;cursor:pointer;color:#718567;background:#fafbf7;border:1px dashed #c8d4bf;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:9px;min-height:150px;padding:20px;display:flex}.logo-upload:hover{background:#f2f6ec;border-color:#8ca67e}.logo-upload>strong{font-size:12px;font-weight:500}.logo-upload>small{color:#96a18b;font-size:10px}.logo-preview{object-fit:contain;border-radius:9px;width:72px;height:72px}.logo-file-row{color:#859276;align-items:center;gap:9px;padding:11px 0;font-size:10px;display:flex}.logo-file-row>span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.range-label{color:#74866a;justify-content:space-between;align-items:center;gap:10px;margin-bottom:3px;font-size:11px;display:flex}.range-label output{color:#96a18d;font-size:10px}@media (min-width:1350px){.preview-stage{min-height:532px}.preview-art{width:310px}}@media (max-width:1150px){.app-shell{padding:30px 28px 0}.editor-layout{grid-template-columns:350px minmax(0,1fr);gap:20px}.editor-body{padding:20px}.viewer-toolbar{flex-wrap:wrap;gap:8px;padding:12px 16px}.preview-stage{min-height:490px;padding:35px 25px}.header-actions{gap:15px}.surface-toolbar,.preview-meta{padding-left:16px;padding-right:16px}.export-panel{padding:20px}.export-top{align-items:flex-start}.format-options button{min-width:43px;padding:6px}.export-fields{gap:8px}}@media (max-width:900px){.app-shell{max-width:760px;padding:25px 24px 0}.app-header{margin-bottom:30px}.brand strong{font-size:26px}.brand small{font-size:10px}.header-actions{gap:14px}.header-actions .text-button{gap:0;font-size:0}.header-actions .text-button svg{width:18px;height:18px}.editor-layout{grid-template-columns:minmax(0,1fr);gap:20px}.editor-body{padding:24px}.intro-row h1{font-size:25px}.local-badge{font-size:10px}.preview-stage{min-height:500px}.viewer-toolbar{flex-wrap:nowrap;min-height:65px}.preview-art{width:300px}.chip-grid{gap:12px}.style-choice{min-height:78px}.preset-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.preset-swatch{width:46px;height:46px}.export-top{align-items:center}.format-options button{min-width:55px}.export-fields{gap:12px}.app-footer{min-height:100px}}@media (max-width:560px){.app-shell{padding:22px 14px 0}.app-header{flex-wrap:wrap;gap:17px 10px;margin-bottom:27px}.brand{gap:10px}.brand-symbol{border-radius:10px;width:39px;height:39px}.brand strong{letter-spacing:-1px;font-size:25px}.brand small{margin-top:3px;font-size:9px}.header-actions{gap:10px;margin-left:auto}.header-actions .button{min-height:39px;padding:9px 11px;font-size:11px}.language-switch{gap:1px}.language-switch button{min-width:25px;font-size:10px}.intro-row{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:20px}.intro-row h1{letter-spacing:-.6px;font-size:24px}.intro-row p{max-width:300px;margin-top:7px;font-size:11px;line-height:1.8}.local-badge{font-size:9px}.editor-tabs{padding:6px}.editor-tabs button{min-height:42px;font-size:11px}.editor-body{padding:20px}.field{margin-bottom:17px}.input,.textarea,.select{min-height:43px;font-size:13px}.field-label,.field>label,.field>span:first-child{font-size:11px}.field-hint{font-size:10px}.chip-grid{gap:8px}.style-choice{font-size:10px}.preset-grid{gap:6px}.preset-swatch{width:40px;height:40px}.viewer-toolbar{flex-direction:column;align-items:flex-start;gap:12px;padding:16px}.viewer-title h2{font-size:12px}.preview-tools{width:100%}.preview-tools .segmented{width:100%;display:flex}.preview-tools .segmented button{flex:1;min-height:35px;font-size:11px}.preview-stage{min-height:460px;padding:30px 25px}.preview-art{width:270px}.preview-art>svg{max-height:415px}.preview-art.qr-only{width:280px}.surface-toolbar{flex-wrap:wrap;gap:10px;padding:13px 16px}.surface-toolbar>span,.surface-label{font-size:9px}.swatch-buttons{gap:8px}.swatch-buttons button,.swatch-button,.swatch-buttons input[type=color]{width:26px;height:26px}.preview-meta{gap:9px;padding:11px 16px;font-size:9px}.scan-status{padding:12px 14px}.scan-status strong{font-size:11px}.scan-status p{font-size:10px}.export-panel{padding:20px}.export-top{flex-wrap:wrap;gap:14px;margin-bottom:18px}.export-top h2{font-size:13px}.format-options{width:100%}.format-options button{flex:1;min-height:39px;font-size:11px}.export-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.export-fields>.field:last-child:nth-child(odd){grid-column:1/-1}.filename-field .input{font-size:11px}.download-row{flex-wrap:wrap;gap:12px}.download-row>.button-green{min-width:100%;min-height:44px}.download-summary{text-align:left;justify-content:space-between;gap:10px;width:100%;display:flex}.download-summary strong{font-size:10px}.app-footer{gap:15px;min-height:90px;font-size:9px}.app-footer>span:last-child,.app-footer>p:last-child{text-align:right;max-width:190px}.footer-brand{font-size:11px}.app-dialog{width:calc(100% - 26px);max-height:90dvh;padding:22px 18px}.dialog-heading h2{font-size:22px}.dialog-heading p{font-size:10px}.project-row{flex-wrap:wrap;gap:10px;padding:10px}.project-meta{min-width:140px}.project-actions{gap:1px}.project-actions .icon-button{width:28px}.dialog-footer{flex-wrap:wrap}.dialog-footer .button{flex:1}.dialog-footer>.field-hint{max-width:none}.toast{width:max-content;padding:11px 13px;font-size:11px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.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}.count-badge{color:#8a977e;background:#eff2e9;border-radius:4px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:2px;padding:0 4px;font-size:9px;display:inline-flex}.content-type{margin-bottom:16px;display:flex}.content-type button{flex:1}.field-hint{display:block}.section-note{color:#919b87;margin:-3px 0 17px;font-size:11px;line-height:1.8}.optional-label{font-weight:400;color:#a0a88f!important;font-size:10px!important}.field-error{color:#a44b3b;margin-top:-8px;margin-bottom:16px;font-size:11px;line-height:1.6}.caption-input{margin:0 0 13px}.caption-note{align-items:flex-start;gap:7px;margin-top:14px;display:flex}.caption-note svg{flex-shrink:0;margin-top:2px}.control-heading>.text-button{min-height:24px;margin-left:auto;font-size:10px}.standalone-label{margin-bottom:9px}.chip-grid{margin-bottom:20px}.pattern-sample{color:#66816b;grid-template-columns:repeat(5,4px);gap:2.5px;display:grid}.pattern-sample i{background:currentColor;width:4px;height:4px;display:block}.pattern-sample.rounded i{border-radius:1px}.pattern-sample.dots i{border-radius:50%}.preset-wrapper{min-width:0;position:relative}.preset-button{width:100%;min-width:0}.preset-check{color:#fff;background:#638461;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:17px;height:17px;display:flex;position:absolute;bottom:-4px;right:-5px}.preset-delete{color:#a58b78;background:#fff;border:1px solid #e0e7d7;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;display:flex;position:absolute;top:-4px;right:-2px}.preset-delete:hover{background:#fcf0e8}.logo-upload{width:100%;min-width:0}.logo-upload>img{object-fit:contain;border-radius:6px;width:65px;height:65px}.logo-upload>span:last-child{color:#93a086;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:10px;display:block;overflow:hidden}.upload-icon{color:#78916c;background:#edf2e7;border-radius:11px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:2px;display:flex}.remove-logo{color:#a08670;min-height:30px;margin:8px 0 17px auto;font-size:10px;display:flex}.logo-empty-note{color:#93a084;text-align:center;padding:27px 8px 13px}.logo-empty-note>svg{color:#92a485;margin-bottom:12px}.logo-empty-note h3{color:#75896a;letter-spacing:-.2px;font-size:14px;font-weight:500}.logo-empty-note p{max-width:285px;margin:10px auto 0;font-size:11px;line-height:1.8}.tip-note{color:#8b9a7d;background:#f5f8f0;border-radius:7px;align-items:flex-start;gap:9px;margin-top:17px;padding:12px;font-size:10px;line-height:1.8;display:flex}.tip-note>svg{flex-shrink:0;margin-top:2px}.editor-bottom{background:#fcfcfa;border-top:1px solid #e7ecdf;justify-content:space-between;align-items:center;gap:10px;min-height:54px;padding:10px 17px 10px 22px;display:flex}.editor-bottom>span{color:#95a087;align-items:center;gap:7px;font-size:10px;display:flex}.editor-bottom>div{align-items:center;gap:1px;display:flex}.editor-bottom .icon-button{width:30px;height:31px}.preview-tools{gap:2px}.preview-tools>button{padding:7px 9px;font-size:10px}.preview-art.qr{width:310px}.surface-options{align-items:center;gap:9px;display:flex}.surface-swatch,.surface-custom{border:1px solid #d7dfd0;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:flex;position:relative}.surface-swatch.selected,.surface-custom.selected{outline-offset:3px;outline:2px solid #8c9f7c}.surface-swatch:hover,.surface-custom:hover{border-color:#849975}.surface-swatch.checker{background-image:linear-gradient(45deg,#e0e6dc 25%,#0000 25%),linear-gradient(-45deg,#e0e6dc 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#e0e6dc 75%),linear-gradient(-45deg,#0000 75%,#e0e6dc 75%);background-position:0 0,0 4px,4px -4px,-4px 0;background-size:8px 8px}.surface-custom{color:#7c9071;cursor:pointer;background:#f4f6ef}.surface-custom input{opacity:0;cursor:pointer;width:100%;height:100%;padding:0;position:absolute;inset:0}.surface-toolbar>small{color:#a5ad99;font-size:9px}.preview-meta{justify-content:flex-start;gap:8px;min-height:45px;padding-top:7px;padding-bottom:7px}.preview-meta>svg{color:#a5ad9a;flex-shrink:0}.encoded-value{text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:text;user-select:text;flex:1;min-width:0;font-size:10px;overflow:hidden}.preview-meta>.icon-button{width:28px;height:30px;margin-left:auto}.scan-icon{flex-shrink:0;margin-top:2px;display:flex}.contrast-badge{font-variant-numeric:tabular-nums;color:#859876;background:#f5f8f0;border:1px solid #dce7d4;border-radius:4px;flex-shrink:0;margin-left:auto;padding:3px 6px;font-size:10px}.scan-status.failed .contrast-badge{color:#a38b64;background:#fcf8ef;border-color:#eddfbf}.format-hint{color:#929d86;margin-top:-9px;margin-bottom:18px;font-size:10px;line-height:1.7}.export-detail{min-width:0;padding:0 0 12px}.export-detail strong{color:#697e5d;overflow-wrap:anywhere;padding-top:4px;font-size:11px;font-weight:500;line-height:1.7;display:block}.export-detail small{color:#9ba68e;margin-top:4px;font-size:9px;display:block}.export-detail:only-child{grid-column:1/-1}.filename-field{background:#fff;border:1px solid #dfe4da;border-radius:7px;align-items:center;width:100%;margin:0;padding:0 11px 0 0;display:flex}.filename-field:focus-within{outline-offset:2px;outline:2px solid #7caa95}.filename-field>.input{background:0 0;border:0;outline:none;flex:1;min-width:0}.filename-field>span{color:#a0a891;flex-shrink:0;font-size:11px}.filename-field>.icon-button{width:25px;height:28px;margin-left:5px;margin-right:-5px}.filename-preview{color:#929e85;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;margin-top:-14px;padding:8px 0 16px;font-size:9px;display:block;overflow:hidden}.unchecked-option{color:#a18a64;cursor:pointer;align-items:flex-start;gap:8px;margin:0 0 16px;font-size:10px;line-height:1.7;display:flex}.unchecked-option>input{margin-top:1px}.backup-button{padding-left:12px;padding-right:12px}.eyebrow{color:#a4af96;letter-spacing:1.1px;margin-bottom:7px;font-size:9px;display:block}.project-open{text-align:left;flex:1;align-items:center;gap:12px;min-width:0;padding:0;display:flex}.project-icon{border:1px solid #00000005;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex;overflow:hidden}.project-open>span:not(.project-icon){flex:1;min-width:0}.project-open>svg{color:#729365;flex-shrink:0}.project-open time{color:#adb69f;margin-top:3px;font-size:9px;display:block}.project-row>.icon-button{width:30px}.project-row>.icon-button:last-child{color:#a38d77}.small-dialog{max-width:440px}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:1.4s linear infinite spin}@media (max-width:1150px){.surface-toolbar{gap:10px}.surface-toolbar>small{font-size:8px}.surface-options{gap:7px}.surface-swatch,.surface-custom{width:22px;height:22px}.preview-tools>button{padding-left:7px;padding-right:7px;font-size:9px}}@media (max-width:900px){.preview-tools>button{padding-left:11px;padding-right:11px;font-size:10px}.surface-options{gap:10px}.surface-swatch,.surface-custom{width:25px;height:25px}.surface-toolbar>small{font-size:9px}}@media (max-width:560px){.editor-bottom{padding:10px 15px 10px 20px}.preview-tools{width:100%;display:flex}.preview-tools>button{flex:1;min-height:35px;font-size:11px}.preview-art.qr{width:280px}.surface-toolbar{justify-content:flex-start}.surface-toolbar>span{margin-right:auto}.surface-toolbar>small{text-align:right;width:100%;margin-top:2px;display:block}.surface-options{gap:9px}.surface-swatch,.surface-custom{width:25px;height:25px}.download-row>.download-button{flex:1;min-width:0}.download-row>.backup-button{min-height:44px}.backup-button>span{display:none}.project-row{flex-wrap:nowrap;gap:6px}.project-open{gap:9px}.project-icon{width:41px;height:44px}.project-row>.icon-button{width:27px;height:35px}.project-open strong{font-size:11px}.project-open small{font-size:9px}.app-footer{flex-wrap:wrap;gap:13px;padding:25px 0}.app-footer>.footer-brand{margin-right:auto}.app-footer>span:nth-child(2){order:3;justify-content:center;width:100%;max-width:100%;font-size:8px}.app-footer>.text-button{min-height:26px;font-size:9px}}@media (min-width:901px){.preview-art.card{width:360px}}.preview-art.pdf-sheet{background:#fff;position:relative}.preview-art.pdf-sheet>svg{width:100%;height:100%;max-height:none;position:absolute;inset:0}
