@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/codifyqr/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2");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{--bg:#f5f4ef;--field:#fff;--ink:#000;--muted:#57544c;--line:#000;--hair:#d2cec2;--hair-strong:#8a867a;--accent:#c8231a;--on-accent:#fff;--ok:#17703f;--risk:#8a5300;--bad:#c8231a;--sans:"Geist Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#000;--field:#0e0e0e;--ink:#f5f4ef;--muted:#a8a59c;--line:#e6e4dc;--hair:#2a2a27;--hair-strong:#5b5953;--accent:#ff5a4d;--on-accent:#000;--ok:#5fd694;--risk:#f0b45a;--bad:#ff5a4d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#000;--field:#0e0e0e;--ink:#f5f4ef;--muted:#a8a59c;--line:#e6e4dc;--hair:#2a2a27;--hair-strong:#5b5953;--accent:#ff5a4d;--on-accent:#000;--ok:#5fd694;--risk:#f0b45a;--bad:#ff5a4d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[hidden]{display:none!important}*,:before,:after{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--ink);font:400 14px / 1.45 var(--sans);font-feature-settings:"tnum" 1, "ss01" 1;-webkit-text-size-adjust:100%;margin:0;overflow:hidden}h1,h2,h3,p,dl,dd{margin:0}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit;border-radius:0}:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{z-index:50;background:var(--accent);color:var(--on-accent);padding:8px 14px;position:absolute;top:-80px;left:8px}.skip:focus{top:8px}.boot{max-width:40rem;margin:20vh auto;padding:0 16px}.icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.icon-fill{fill:currentColor;stroke:none}#app{background:var(--line);grid-template-rows:auto minmax(0,1fr) auto;gap:1px;height:100vh;display:grid}@supports (height:100dvh){#app{height:100dvh}}.topbar,.page,.statusbar{background:var(--bg);min-width:0}.topbar{align-items:center;gap:16px;min-height:56px;padding:0 16px;display:flex}.brand{height:36px;color:var(--ink);display:block}.brand svg{width:auto;height:100%;display:block}.wm-ink{fill:var(--ink)}.wm-paper{fill:var(--bg)}.wm-accent{fill:var(--accent)}.tabs{margin-left:24px;display:flex}.tab{height:56px;font:600 13px var(--sans);letter-spacing:.02em;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;align-items:center;gap:8px;padding:0 16px;display:inline-flex}.tab:hover{color:var(--ink)}.tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent)}.topbar-actions{align-items:center;gap:4px;margin-left:auto;display:flex}.status-light{font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;margin-right:12px;display:inline-flex}.status-dot{background:var(--hair-strong);width:10px;height:10px}.status-light[data-state=ok] .status-dot{background:var(--ok)}.status-light[data-state=risk] .status-dot{background:var(--risk)}.status-light[data-state=fail] .status-dot{background:var(--bad)}.status-light[data-state=checking] .status-dot{animation:.8s steps(2,end) infinite blink}@keyframes blink{50%{opacity:.25}}.icon-btn,.menu-btn{cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;min-width:40px;height:40px;padding:0 8px;display:inline-flex}.icon-btn:hover,.menu-btn:hover{border-color:var(--ink)}.menu-code{font:600 12px var(--mono);letter-spacing:.06em}.menu-wrap{position:relative}.menu{z-index:30;background:var(--bg);border:1px solid var(--line);min-width:200px;position:absolute;top:calc(100% + 1px);right:0}.menu-item{border:0;border-bottom:1px solid var(--hair);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:12px;width:100%;height:44px;padding:0 12px;display:flex}.menu-item:last-child{border-bottom:0}.menu-item:hover{background:var(--field)}.menu-item[aria-checked=true]{background:var(--ink);color:var(--bg)}.page{position:relative;overflow:hidden}#app:not([data-mode=create]) .status-light,#app:not([data-mode=create]) .status-info{visibility:hidden}.panels{height:100%}.studio,.tool{background:var(--line);grid-template-columns:minmax(300px,380px) minmax(0,1fr) minmax(280px,340px);gap:1px;height:100%;display:grid}.col{background:var(--bg);scrollbar-width:thin;scrollbar-color:var(--hair-strong) transparent;min-width:0;min-height:0;position:relative;overflow:auto}.col-controls{grid-template-rows:auto auto minmax(0,1fr);display:grid;overflow:hidden}.panel-type{border-bottom:1px solid var(--line)}.type-grid{background:var(--hair);grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;display:grid}.chip-input{opacity:0;width:1px;height:1px;position:absolute}.type-tile{background:var(--bg);min-height:64px;font:500 11px / 1.15 var(--sans);text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:8px 2px;display:flex}.type-tile:hover{background:var(--field)}.chip-input:checked+.type-tile{background:var(--ink);color:var(--bg)}.subtabs{background:var(--hair);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid}.subtab{background:var(--bg);height:44px;font:600 12px var(--sans);letter-spacing:.03em;color:var(--muted);cursor:pointer;border:0;justify-content:center;align-items:center;gap:8px;display:inline-flex}.subtab[aria-selected=true]{color:var(--ink);box-shadow:inset 0 -3px 0 var(--accent)}.subpanels{scrollbar-width:thin;scrollbar-color:var(--hair-strong) transparent;min-height:0;position:relative;overflow:auto}.subpanel{padding:16px;display:none}.studio[data-sub=content] [data-sub-panel=content],.studio[data-sub=style] [data-sub-panel=style],.studio[data-sub=frame] [data-sub-panel=frame]{display:block}.fields,.style-panel,.frame-panel{gap:16px;display:grid}.field{gap:6px;display:grid}.field>label,.label,.inline-field,.color-field,.range-field{font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.req{color:var(--bad)}select,input[type=text],input[type=number],input[type=email],input[type=tel],input[type=url],input[type=datetime-local],textarea{border:1px solid var(--hair-strong);background:var(--field);width:100%;min-height:40px;color:var(--ink);padding:8px 10px}textarea{resize:vertical}select{cursor:pointer}::placeholder{color:var(--muted);opacity:.75}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--ink);outline-offset:0;border-color:var(--ink)}[aria-invalid=true]{border-color:var(--bad)}[data-secret]{-webkit-text-security:disc}.field-error{color:var(--bad);font-size:12.5px}.field-note,.hint{color:var(--muted);font-size:12.5px}.field-note:empty{display:none}.check{min-height:32px;font:400 13.5px var(--sans);letter-spacing:0;text-transform:none;color:var(--ink);align-items:center;gap:10px;display:inline-flex}.check input{width:18px;height:18px;accent-color:var(--ink)}.chips{background:var(--hair-strong);border:1px solid var(--hair-strong);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid}.chips[data-cols="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.chips[data-cols="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}.chips[data-cols="5"]{grid-template-columns:repeat(5,minmax(0,1fr))}.chips-small .chip{background:var(--field);min-height:40px;font:500 12.5px / 1.15 var(--sans);text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:6px;padding:0 8px;display:flex}.chips-small .chip-icon{flex-direction:column;gap:5px;min-height:58px;padding:8px 2px;font-size:11px}.chip-icon .icon{width:20px;height:20px}.chips-small .chip:hover{background:var(--bg)}.chip-input:focus-visible+.chip{outline:2px solid var(--accent);outline-offset:-3px;z-index:2;position:relative}.chips-small .chip-input:checked+.chip{background:var(--ink);color:var(--bg)}.color-row,.logo-row,.export-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.color-field,.range-field,.inline-field{align-items:center;gap:10px;display:inline-flex}.slider-field{gap:6px;display:grid}.slider-field label{font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);justify-content:space-between;display:flex}.slider-field output{color:var(--ink);font-weight:700}.slider-field input[type=range]{width:100%;accent-color:var(--ink)}.color-field input[type=color]{border:1px solid var(--hair-strong);background:var(--field);cursor:pointer;width:44px;height:36px;padding:2px}.range-field input{accent-color:var(--ink);min-width:120px}.inline-field select{width:auto}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch{border:1px solid var(--hair-strong);background:conic-gradient(var(--sw1,#111) 0 33%, var(--sw2,#111) 0 66%, var(--sw3,#fff) 0);cursor:pointer;width:44px;height:44px}.swatch[data-preset=ink]{--sw1:#111;--sw2:#111;--sw3:#fff}.swatch[data-preset=press]{--sw1:#c8231a;--sw2:#c8231a;--sw3:#f5f4ef}.swatch[data-preset=ocean]{--sw1:#0b3c8a;--sw2:#0e7490;--sw3:#fff}.swatch[data-preset=clay]{--sw1:#7c2d12;--sw2:#b45309;--sw3:#fff7ed}.swatch[data-preset=violet]{--sw1:#4c1d95;--sw2:#be185d;--sw3:#fff}.swatch:hover{border-color:var(--ink)}.saved{border-top:1px solid var(--hair);gap:8px;padding-top:12px;display:grid}.subtitle{font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.saved-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.saved-list li{align-items:center;gap:8px;display:flex}.saved-list span{overflow-wrap:anywhere;flex:1}.btn{text-align:center;border:1px solid var(--ink);min-height:40px;color:var(--ink);font:600 13px / 1.15 var(--sans);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:8px;padding:0 14px;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){background:var(--ink);color:var(--bg)}.btn:disabled{opacity:.55;cursor:progress}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:var(--ink);border-color:var(--ink);color:var(--bg)}.btn-grid{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:8px;display:grid}.btn-grid .btn{width:100%;min-height:44px}.btn-small{min-height:34px;padding:0 10px;font-size:12.5px}.col-stage{grid-template-rows:minmax(0,1fr) auto;gap:10px;padding:24px;display:grid;overflow:hidden}.preview-box{background:var(--field);grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);place-items:center;min-height:0;padding:24px;display:grid;position:relative}.qr-img{object-fit:contain;width:100%;max-width:620px;height:100%;display:block}.stage-empty,.stage-error{text-align:center;max-width:24rem;color:var(--muted);justify-items:center;gap:10px;display:grid}.stage-empty .icon{stroke-width:1.5px;width:44px;height:44px}.stage-error{color:var(--bad)}.stage-info{font:500 11px var(--mono);letter-spacing:.04em;color:var(--muted);text-align:center}.stage-info:empty{display:none}.col-side{align-content:start;display:grid}.col-side>*{padding:16px}.verify{box-shadow:inset 6px 0 0 var(--hair-strong);grid-template-columns:56px minmax(0,1fr);align-items:center;gap:14px;padding-left:22px;display:grid}.col-side>.verify{border-bottom:1px solid var(--line)}.verify[data-state=ok]{box-shadow:inset 6px 0 0 var(--ok)}.verify[data-state=risk]{box-shadow:inset 6px 0 0 var(--risk)}.verify[data-state=fail]{box-shadow:inset 6px 0 0 var(--bad)}.mascot{width:56px;height:56px}.verify[data-state=checking] .mascot{animation:.8s steps(2,end) infinite bob}@keyframes bob{50%{transform:translateY(-3px)}}.verify-title{font:700 12px var(--mono);letter-spacing:.06em;text-transform:uppercase}.verify[data-state=ok] .verify-title{color:var(--ok)}.verify[data-state=risk] .verify-title{color:var(--risk)}.verify[data-state=fail] .verify-title{color:var(--bad)}.verify-detail,.verify-causes{color:var(--muted);margin-top:4px;font-size:13px}.verify-causes{padding-left:18px}.verify-detail:empty,.verify-causes:empty{display:none}.verify .btn{height:auto;min-height:36px;margin-top:10px;padding:6px 10px}.export{gap:12px;display:grid}.export .field{margin-top:4px}.section-title{font:600 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.tool>.col:first-child{align-content:start;gap:14px;padding:16px;display:grid}.tool>.col-side{gap:14px;padding:16px}.lead{color:var(--muted)}.progress{width:100%;accent-color:var(--accent)}.tool-batch .col-stage{padding:0;display:block;overflow:auto}.rows:empty:before,.scan-result:empty:before{content:attr(data-empty);color:var(--muted);padding:16px;display:block}.scan-result:empty:before{padding:0}@media (max-width:860px){.rows:empty:before,.scan-result:empty:before{display:none}}.rows{font:12px / 1.3 var(--mono);margin:0;padding:0;list-style:none}.row{border-bottom:1px solid var(--hair);grid-template-columns:4ch minmax(0,1fr) minmax(0,14ch);gap:12px;padding:8px 16px;display:grid}.row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.row-n,.row-name{color:var(--muted)}.row[data-state=ok] .row-n{color:var(--ok)}.row[data-state=fail]{color:var(--bad)}.reader-video{background:#000;width:100%;max-height:100%}.drop{border:1px dashed var(--hair-strong);text-align:center;color:var(--muted);padding:22px}.drop.over{border-color:var(--ink);background:var(--field)}.scan-result{gap:10px;display:grid}.scan-text{background:var(--field);border:1px solid var(--hair);white-space:pre-wrap;overflow-wrap:anywhere;font:12.5px / 1.4 var(--mono);margin:0;padding:12px}.scan-warn{border:1px solid var(--risk);color:var(--risk);padding:10px 14px}.scan-warn ul{margin:4px 0 0;padding-left:18px}.scan-warn-title{font-weight:700}.dialog{border:1px solid var(--line);background:var(--bg);width:calc(100% - 32px);max-width:28rem;color:var(--ink);padding:20px}.dialog::backdrop{background:#00000080}.dialog>*+*{margin-top:12px}.dialog-actions{justify-content:flex-end;gap:10px;display:flex}.dialog-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.dialog-wide{max-width:40rem;max-height:85vh;overflow:auto}.shortcut-group+.shortcut-group{margin-top:14px}.shortcuts{grid-template-columns:minmax(8rem,auto) 1fr;align-items:center;gap:6px 16px;margin-top:6px;display:grid}.shortcuts dt{gap:4px;display:flex}.help-steps{counter-reset:step;gap:10px;margin:12px 0;padding:0;list-style:none;display:grid}.help-steps li{counter-increment:step;grid-template-columns:32px 1fr;column-gap:12px;display:grid}.help-steps li:before{content:counter(step);background:var(--ink);width:32px;height:32px;color:var(--bg);font:700 13px var(--mono);grid-row:span 2;place-items:center;display:grid}.help-steps strong{font-weight:650}.help-steps span{color:var(--muted)}.help-list{gap:4px;margin:6px 0 0;padding-left:18px;display:grid}.help-btn{gap:8px;padding:0 10px}.help-label{font:600 13px var(--sans)}kbd{border:1px solid var(--hair-strong);background:var(--field);font:600 12px var(--mono);padding:2px 8px;display:inline-block}.statusbar{min-height:28px;font:500 11px var(--mono);letter-spacing:.04em;color:var(--muted);white-space:nowrap;align-items:center;display:flex;overflow:hidden}.statusbar>*{border-left:1px solid var(--hair);align-items:center;gap:6px;height:28px;padding:0 14px;display:inline-flex}.tool>.col-side>*{padding:0}.statusbar>:first-child{border-left:0}.statusbar .icon{width:13px;height:13px;color:var(--ok)}.status-links{gap:16px;margin-left:auto}.status-links a{text-decoration:none}.status-links a:hover{color:var(--ink);text-decoration:underline}.toasts{z-index:60;gap:8px;width:min(92vw,28rem);display:grid;position:fixed;bottom:44px;left:50%;transform:translate(-50%)}.toast{background:var(--ink);color:var(--bg);padding:12px 16px;font-size:13.5px}.toast-error{background:var(--bad);color:var(--on-accent)}.toast-action{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.toast-action span{flex:1}.panel-nav{display:none}@media (max-width:1100px){.studio,.tool{grid-template-columns:minmax(280px,340px) minmax(0,1fr) minmax(220px,260px)}.status-text{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}}@media (max-width:860px){.topbar{gap:8px;min-height:52px;padding:0 8px}.brand{height:30px}.tabs{margin-left:0}.tab{height:52px;padding:0 9px}.status-light{margin-right:4px}.menu-btn{padding:0 4px}.tab span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.btn-shortcuts,.help-label,.statusbar .status-tagline,.statusbar .status-links{display:none}.studio{grid-template-rows:minmax(0,38%) minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr)}.studio .col-stage{grid-row:1;gap:6px;padding:10px}.preview-box{padding:10px}.col-controls{grid-template-rows:minmax(0,1fr)}.studio .col-controls,.studio .col-side{grid-row:2}.panel-nav{background:var(--line);grid-row:3;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;display:grid}.statusbar{padding-bottom:env(safe-area-inset-bottom)}.nav-btn{background:var(--bg);min-height:52px;font:500 10.5px var(--sans);color:var(--muted);cursor:pointer;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;display:flex}.nav-btn[aria-current=page]{color:var(--bg);background:var(--ink)}.subtabs{display:none}.panel-type{border-bottom:0;display:none}.subpanels{display:none}.studio[data-panel=type] .panel-type{display:block;overflow:auto}.studio[data-panel=content] .subpanels,.studio[data-panel=style] .subpanels,.studio[data-panel=frame] .subpanels{display:block}.studio[data-panel=export] .col-controls,.studio:not([data-panel=export]) .col-side{display:none}.type-tile{min-height:76px}.tool{background:var(--bg);grid-template-columns:minmax(0,1fr);grid-auto-rows:min-content;gap:0;overflow:auto}.tool>.col{overflow:visible}.tool>.col+.col{border-top:1px solid var(--line)}.tool-scan .col-stage{min-height:260px}}@media (max-width:400px){.topbar{gap:4px;padding:0 4px}.brand{height:26px}.tab{padding:0 6px}.icon-btn{min-width:36px;padding:0 4px}.status-light{margin-right:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
/*$vite$:1*/