@font-face{font-family:Outfit;src:url(/fonts/Outfit.ttf)format("truetype");font-weight:100 900;font-display:swap}:root{--ink:#121521;--ink-raised:#1b1f2d;--ink-deep:#0e1019;--ink-hover:#262b3b;--paper:#f6f4ef;--paper-shade:#ece9e1;--amber:#ffb21a;--amber-hover:#ffc24a;--amber-deep:#c77700;--slate:#5b6170;--on-ink-2:#c9cbd2;--on-ink-muted:#9aa0ad;--on-paper-2:#3c4150;--rule-ink:#f6f4ef29;--rule-paper:#dcd9d1;--field:#fff;--field-border:#d2cfc6;--field-border-hover:#a9a59b;--error:#b3261e;--success-ground:#e7f2ea;--success-text:#1d5a35;--error-ground:#fbe9e7;--error-text:#8c1d18;--gutter:clamp(16px, 4.4vw, 64px);--r-field:12px;--r-card:20px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:Outfit,system-ui,sans-serif;font-weight:400}*,:before,:after{box-sizing:border-box}body{background:var(--ink);color:var(--paper);min-width:320px;margin:0}::selection{background:var(--amber);color:var(--ink)}:focus-visible{outline:2px solid var(--amber);outline-offset:2px;border-radius:4px}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}h1,h2,p{margin:0}a{color:inherit}code{background:var(--paper-shade);border-radius:5px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.wrap{width:100%;max-width:1312px;padding-inline:var(--gutter);margin-inline:auto}.btn-amber,.btn-ink,.btn-outline{white-space:nowrap;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;height:52px;padding:0 28px;font-size:17px;font-weight:500;line-height:1;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.btn-amber{background:var(--amber);color:var(--ink)}.btn-amber:hover:not(:disabled){background:var(--amber-hover)}.btn-ink{background:var(--ink);color:var(--paper);height:46px;padding:0 22px;font-size:16px}.btn-ink:hover:not(:disabled){background:var(--ink-hover)}.btn-outline{color:var(--paper);box-shadow:inset 0 0 0 1.5px var(--rule-ink);background:0 0}.btn-outline:hover:not(:disabled){box-shadow:inset 0 0 0 1.5px var(--on-ink-muted)}.btn-amber:disabled,.btn-ink:disabled,.btn-outline:disabled{opacity:.45}.btn-ghost{border:1px solid var(--field-border);background:var(--field);height:34px;color:var(--ink);border-radius:999px;padding:0 12px;font-size:14px;font-weight:500}.btn-ghost:hover{border-color:var(--field-border-hover)}.btn-ghost.danger:hover{border-color:var(--error);color:var(--error)}.link-btn{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--field-border-hover);text-decoration-color:var(--field-border-hover);text-underline-offset:3px;background:0 0;border:0;justify-self:start;padding:0;font-size:15px;font-weight:500}.link-btn:hover{color:var(--amber-deep);text-decoration-color:currentColor}.icon-btn{width:40px;height:40px;color:var(--ink);background:0 0;border:0;border-radius:999px;place-items:center;display:grid}.icon-btn:hover{background:var(--paper-shade)}.icon-btn svg{width:18px;height:18px}.nav{background:var(--ink);border-bottom:1px solid var(--rule-ink)}.nav-inner{align-items:center;gap:18px;height:76px;display:flex}.brand{display:flex}.brand img{width:auto;height:36px;display:block}.nav-title{color:var(--on-ink-2);border-left:1px solid var(--rule-ink);padding-left:18px;font-size:17px;font-weight:500;line-height:28px}.btn-nav{height:44px;margin-left:auto;padding:0 22px;font-size:16px}.studio{grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);align-items:start;gap:clamp(28px,4vw,64px);padding-block:clamp(28px,4vw,56px) clamp(64px,8vw,120px);display:grid}.controls{background:var(--paper);color:var(--ink);border-radius:var(--r-card);min-width:0;padding:clamp(24px,3.4vw,44px);box-shadow:0 30px 80px -30px #0009}.intro{padding-bottom:28px}.intro h1{letter-spacing:-.025em;text-wrap:balance;font-size:clamp(32px,3.4vw,48px);font-weight:600;line-height:1.04}.intro p{color:var(--on-paper-2);max-width:34em;margin-top:14px;font-size:18px;font-weight:400;line-height:1.5}.section{border-top:1px solid var(--rule-paper)}.section>summary{cursor:pointer;letter-spacing:-.015em;justify-content:space-between;align-items:center;gap:12px;padding:20px 0;font-size:22px;font-weight:600;line-height:1.1;list-style:none;display:flex}.section>summary::-webkit-details-marker{display:none}.section>summary:hover .chev{color:var(--ink)}.chev{width:20px;height:20px;color:var(--slate);flex:none;transition:transform .2s}.section[open]>summary .chev{transform:rotate(180deg)}.section-body{gap:22px;padding-bottom:30px;display:grid}.field{gap:8px;min-width:0;display:grid}.field>label,.field-label{color:var(--ink);font-size:15px;font-weight:500}.note{color:var(--slate);font-size:14px;font-weight:400}.hint{color:var(--on-paper-2);font-size:15px;line-height:1.5}.field input:not([type=range]):not([type=color]):not([type=checkbox]),.field textarea,.inline-form input{background:var(--field);border:1px solid var(--field-border);border-radius:var(--r-field);width:100%;color:var(--ink);padding:13px 14px;font-size:16px;transition:border-color .15s}.field textarea{resize:vertical;min-height:92px;line-height:1.45}.field input:hover,.field textarea:hover,.inline-form input:hover{border-color:var(--field-border-hover)}.field input:focus-visible,.field textarea:focus-visible,.inline-form input:focus-visible{outline:2px solid var(--amber-deep);outline-offset:0;border-color:#0000}.field input[aria-invalid=true]{border-color:var(--error)}::placeholder{color:var(--slate);opacity:.8}.row2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.check{cursor:pointer;align-items:center;gap:10px;font-size:16px;display:flex}.check input{width:20px;height:20px;accent-color:var(--ink);margin:0}.content-form{gap:18px;display:grid}.type-tabs{scrollbar-width:none;margin-inline:-4px;padding:4px;overflow-x:auto}.segmented{background:var(--paper-shade);border-radius:999px;flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.field>.segmented,.section-body>.segmented{justify-self:start}.type-tabs .segmented{flex-wrap:nowrap}.segmented button{height:38px;color:var(--on-paper-2);white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:0 16px;font-size:15px;font-weight:500;transition:background-color .15s,color .15s}.segmented button:hover:not(:disabled){color:var(--ink)}.segmented button[aria-checked=true]{background:var(--ink);color:var(--paper)}.segmented button:disabled:not([aria-checked=true]){opacity:.4}.segmented.small button{height:30px;padding:0 12px;font-size:14px}.tiles{grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:8px;display:grid}.tile,.template{background:var(--field);border:1px solid var(--field-border);color:var(--ink);border-radius:14px;justify-items:center;gap:8px;padding:10px 8px;transition:border-color .15s;display:grid}.tile:hover,.template:hover{border-color:var(--field-border-hover)}.tile[aria-checked=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.tile-art{width:52px;height:52px;color:var(--ink);place-items:center;display:grid}.tile-art img,.tile-art svg{width:100%;height:100%;display:block}.tile-name{text-align:center;font-size:13.5px;font-weight:500;line-height:1.2}.tile-skeleton{background:var(--paper-shade);border-radius:8px;width:100%;height:100%}.templates{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:12px;display:grid}.template{padding:12px 10px}.template-art{aspect-ratio:1;width:100%;position:relative}.template-art img,.template-art .tile-skeleton{object-fit:contain;width:100%;height:100%;display:block;position:absolute;inset:0}.fill{background:var(--paper-shade);border-radius:16px;gap:14px;padding:16px;display:grid}.fill .segmented{background:var(--field)}.fill-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.color-row{align-items:center;gap:10px;display:flex}.color-well{border-radius:var(--r-field);flex:none;width:48px;height:48px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #1215212e}.color-well input,.swatch-custom input{opacity:0;cursor:pointer;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.field .hex{font-variant-numeric:tabular-nums;text-transform:uppercase;max-width:140px}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch{border:0;border-radius:999px;width:30px;height:30px;padding:0;position:relative;box-shadow:inset 0 0 0 1px #12152133}.swatch[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:2px}.swatch-custom{overflow:hidden;background-image:conic-gradient(#ef4444,#f59e0b,#22c55e,#3b82f6,#a855f7,#ef4444)!important}.slider{align-items:center;gap:14px;display:flex}.slider input{accent-color:var(--ink);flex:1;height:24px}.slider output{text-align:right;font-variant-numeric:tabular-nums;min-width:48px;color:var(--on-paper-2);font-size:15px}.dropzone{text-align:left;border:1.5px dashed var(--field-border-hover);background:var(--field);width:100%;color:var(--ink);cursor:pointer;border-radius:16px;justify-items:start;gap:6px;padding:22px;transition:border-color .15s,background-color .15s;display:grid}.dropzone strong{font-size:17px;font-weight:600}.dropzone span{color:var(--on-paper-2);font-size:15px;line-height:1.45}.dropzone:hover,.dropzone.over{border-color:var(--ink)}.logo-row{align-items:center;gap:16px;display:flex}.logo-thumb{object-fit:contain;background:var(--field);border:1px solid var(--field-border);border-radius:14px;width:72px;height:72px;padding:8px}.logo-actions{gap:8px;display:flex}.inline-error{color:var(--error-text);background:var(--error-ground);border-radius:var(--r-field);padding:12px 14px;font-size:15px}.status-ok{color:var(--success-text);background:var(--success-ground);border-radius:var(--r-field);padding:12px 14px;font-size:15px}.presets{gap:16px;display:grid}.inline-form{gap:10px;display:flex}.inline-form input{flex:1;min-width:0}.preset-list{border-top:1px solid var(--rule-paper);margin:0;padding:0;list-style:none;display:grid}.preset-list li{border-bottom:1px solid var(--rule-paper);align-items:center;gap:8px;padding:10px 0;display:flex}.preset-swatch{border-radius:6px;flex:none;width:22px;height:22px}.preset-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.preset-files{flex-wrap:wrap;gap:20px;display:flex}.stage{min-width:0;position:sticky;top:20px}.stage-sticky{scrollbar-width:none;gap:22px;max-height:calc(100vh - 40px);padding-bottom:4px;display:grid;overflow-y:auto}.preview-block{justify-items:center;gap:14px;display:grid}.preview{--plate:min(100%, 420px, max(220px, 100vh - 520px));justify-items:center;width:100%;padding-top:8px;display:grid;position:relative}.plate{z-index:1;width:var(--plate);aspect-ratio:1;border-radius:var(--r-card);background:var(--ink-raised);box-shadow:inset 0 0 0 1px var(--rule-ink);place-items:center;padding:clamp(14px,2vw,26px);display:grid;position:relative}.plate.checker{background-color:#e8e6e0;background-image:linear-gradient(45deg,#d6d3cb 25%,#0000 25%),linear-gradient(-45deg,#d6d3cb 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#d6d3cb 75%),linear-gradient(-45deg,#0000 75%,#d6d3cb 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px}.plate img{max-width:100%;max-height:100%;display:block}.plate-empty{color:var(--on-ink-muted);text-align:center;max-width:18em;font-size:16px;line-height:1.5}.floor{width:min(100%, calc(var(--plate) * 1.16));border-top:1px solid var(--slate);pointer-events:none;background:radial-gradient(55% 100% at 50% 0,#ffb21a42,#ffb21a12 45%,#0000 75%);height:90px;margin-top:-2px;margin-bottom:-76px}.scan{z-index:1;color:var(--on-ink-2);align-items:center;gap:10px;font-size:16px;font-weight:500;display:inline-flex;position:relative}.scan-dot{background:var(--on-ink-muted);border-radius:999px;width:10px;height:10px}.scan-pass .scan-dot{background:#4ade80}.scan-fail{color:#ffb4ab}.scan-fail .scan-dot{background:#f87171}.scan-checking .scan-dot{animation:1s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.3}}.jump-download{display:none}.checks{gap:8px;display:grid}.checks:empty{display:none}.issue{border-radius:var(--r-field);background:var(--ink-raised);color:var(--on-ink-2);padding:10px 14px 10px 36px;font-size:15px;line-height:1.45;position:relative}.issue:before{content:"";background:var(--on-ink-muted);border-radius:999px;width:8px;height:8px;position:absolute;top:17px;left:16px}.issue-warn:before{background:var(--amber)}.issue-error{color:var(--paper)}.issue-error:before{background:#f87171}.export{border-radius:var(--r-card);background:var(--ink-raised);box-shadow:inset 0 0 0 1px var(--rule-ink);gap:16px;padding:22px;display:grid}.export-row{gap:8px;display:grid}.export-label{color:var(--on-ink-muted);font-size:15px;font-weight:500}.export .segmented{background:var(--ink-deep);display:flex}.export .segmented button{color:var(--on-ink-2);flex:1;padding:0 8px}.export .segmented button:hover:not(:disabled){color:var(--paper)}.export .segmented button[aria-checked=true]{background:var(--paper);color:var(--ink)}.export select,.filename{border-radius:var(--r-field);background:var(--ink-deep);border:1px solid var(--rule-ink);width:100%;height:48px;color:var(--paper);font-size:16px}.export select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%239AA0AD' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:16px;padding:0 14px}.export select option{background:var(--ink-raised)}.filename{align-items:center;display:flex;overflow:hidden}.filename input{background:0 0;border:0;flex:1;min-width:0;height:100%;padding:0 4px 0 14px}.filename input:focus-visible{outline:none}.filename:focus-within{outline:2px solid var(--amber);outline-offset:0}.filename span{color:var(--on-ink-muted);padding-right:14px}.export-vector{color:var(--on-ink-2);font-size:15px;line-height:48px}.export-ground{background:var(--ink-deep);border-radius:14px;gap:10px;padding:14px;display:grid}.export-ground p{color:var(--on-ink-2);font-size:15px}.export-ground .swatch{box-shadow:inset 0 0 0 1px var(--rule-ink)}.export-ground .swatch[aria-pressed=true]{outline-color:var(--amber)}.export-actions{flex-wrap:wrap;gap:10px;padding-top:4px;display:flex}.export-actions .btn-amber{flex:200px}.note-ok,.note-error{color:var(--on-ink-2);font-size:15px}.note-error{color:#ffb4ab}.bulk-link{color:var(--on-ink-2);text-decoration:underline;-webkit-text-decoration-color:var(--rule-ink);text-decoration-color:var(--rule-ink);text-underline-offset:3px;background:0 0;border:0;justify-self:start;padding:0;font-size:15px}.bulk-link:hover{color:var(--amber);text-decoration-color:currentColor}.bulk{border-radius:var(--r-card);background:var(--paper);width:min(560px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--ink);border:0;padding:clamp(22px,4vw,32px);box-shadow:0 30px 80px -30px #0009}.bulk[open]{gap:18px;display:grid}.bulk::backdrop{background:#0e1019b8}.bulk-head{justify-content:space-between;align-items:center;display:flex}.bulk h2{letter-spacing:-.02em;font-size:28px;font-weight:600}.bulk-preview{border-top:1px solid var(--rule-paper);margin:0;padding:0;list-style:none}.bulk-preview li{border-bottom:1px solid var(--rule-paper);justify-content:space-between;gap:12px;padding:9px 0;font-size:15px;display:flex}.bulk-preview li span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.muted{color:var(--slate)}.bulk-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.bulk-actions .muted{flex:200px;font-size:14px}.progress{background:var(--paper-shade);border-radius:999px;height:8px;overflow:hidden}.progress span{background:var(--amber-deep);height:100%;transition:width .15s linear;display:block}.footer{background:var(--ink-deep);color:var(--on-ink-muted);font-size:15px;line-height:1.5}.footer-inner{flex-wrap:wrap;justify-content:space-between;gap:12px 32px;padding-block:28px;display:flex}.footer a{color:var(--on-ink-2);text-underline-offset:3px}.footer a:hover{color:var(--amber)}@media (width<=960px){.studio{grid-template-columns:minmax(0,1fr);gap:24px;padding-top:0}.stage,.stage-sticky{display:contents}.preview-block{z-index:5;background:var(--ink);margin-inline:calc(var(--gutter) * -1);padding:12px var(--gutter);border-bottom:1px solid var(--rule-ink);order:0;grid-template-columns:auto 1fr;place-items:center start;gap:16px;position:sticky;top:0}.preview{width:auto;padding:0}.plate{border-radius:14px;width:132px;padding:10px}.plate-empty{font-size:13px}.floor{display:none}.scan{font-size:15px}.preview-block{grid-template-columns:auto 1fr auto}.jump-download{height:40px;padding:0 16px;font-size:15px;display:inline-flex}.export{scroll-margin-top:170px}.controls{order:1}.checks{order:2}.export{order:3}}@media (width<=560px){.nav-inner{gap:12px;height:64px}.brand img{height:28px}.nav-title{display:none}.btn-nav{height:40px;padding:0 16px;font-size:15px}.row2{grid-template-columns:1fr}.controls{margin-inline:calc(var(--gutter) * -1 + 8px);border-radius:16px}.section>summary{font-size:20px}.preset-list li{flex-wrap:wrap}.preset-name{flex-basis:calc(100% - 40px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
