:root{--bg:#F7F6F3;--surface:#FFFFFF;--surface-2:#F1EFEA;--ink:#15140F;--ink-2:#4A4740;--muted:#7B776E;--faint:#A9A49A;--line:#E7E3DB;--line-2:#D6D0C5;--accent:#15140F;--accent-hover:#000000;--accent-soft:#EFEDE7;--accent-ink:#FFFFFF;--good:#1F6B47;--warn:#96601A;--bad:#9E3B2C;--r:14px;--r-sm:9px;--nav:68px;--shadow:0 1px 2px rgba(21,20,15,.04), 0 6px 20px -10px rgba(21,20,15,.1);--shadow-lg:0 18px 50px -18px rgba(21,20,15,.28)}*{box-sizing:border-box}html,body{height:100%}#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:Manrope,ui-sans-serif,-apple-system,system-ui,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;font-feature-settings:"ss01","cv11"}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}[hidden]{display:none!important}.nav{position:sticky;top:0;z-index:50;height:var(--nav);display:flex;align-items:center;gap:22px;padding:0 clamp(16px,3vw,32px);background:var(--surface);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:-.035em;font-size:17.5px;white-space:nowrap}.brand-mark{width:29px;height:29px;border-radius:8px;flex:none;display:block}.search{flex:1;max-width:560px;position:relative}.search input{width:100%;height:42px;padding:0 15px 0 40px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-2);transition:border-color .14s,background .14s,box-shadow .14s}.search input::placeholder{color:var(--faint)}.search input:focus{outline:none;border-color:var(--line-2);background:var(--surface);box-shadow:0 0 0 3px var(--accent-soft)}.search svg{position:absolute;left:14px;top:13.5px;color:var(--faint)}.nav-right{margin-left:auto;display:flex;align-items:center;gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 17px;border-radius:var(--r-sm);cursor:pointer;border:1px solid var(--line);background:var(--surface);font-weight:600;font-size:14px;letter-spacing:-.01em;color:var(--ink);transition:background .14s,border-color .14s,color .14s,transform .06s}.btn:hover{background:var(--surface-2);border-color:var(--line-2)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.primary{background:var(--ink);border-color:var(--ink);color:#fff}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.sm{height:33px;padding:0 12px;font-size:13px;border-radius:7px}.btn.wide{width:100%}.btn.ghost{border-color:transparent;background:transparent;color:var(--ink-2)}.btn.ghost:hover{background:var(--surface-2);color:var(--ink)}.btn.on{background:var(--ink);border-color:var(--ink);color:#fff}.btn.danger{color:var(--bad)}.btn.danger:hover{background:#fbf1ef;border-color:#e8cfc9}.lib{display:grid;grid-template-columns:216px 1fr;gap:36px;padding:30px clamp(16px,3vw,32px) 96px;max-width:1640px;margin:0 auto}@media(max-width:860px){.lib{grid-template-columns:1fr;gap:22px}}.rail{position:sticky;top:calc(var(--nav) + 32px);align-self:start;display:flex;flex-direction:column;gap:28px}.rail h3{font-size:10.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--faint);margin:0 0 9px}.facets{display:flex;flex-direction:column;gap:1px}.facet{display:flex;align-items:center;gap:10px;width:100%;padding:7px 10px;border:0;border-radius:8px;background:none;cursor:pointer;text-align:left;font:inherit;font-size:14px;font-weight:500;color:var(--ink-2);transition:background .13s,color .13s}.facet:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.facet.on{background:var(--ink);color:#fff;font-weight:600}.facet:disabled{opacity:.38;cursor:not-allowed}.rail-clear{align-self:flex-start;margin-top:2px;border:0;background:none;padding:6px 10px;font:inherit;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;border-radius:8px}.rail-clear:hover{background:var(--surface-2);color:var(--ink)}.chips{display:flex;flex-wrap:wrap;gap:7px}.chip{padding:7px 12px;border-radius:999px;border:1px solid var(--line-2);background:var(--surface);cursor:pointer;font-size:13.5px;font-weight:600;transition:.13s}.chip:hover{border-color:var(--accent);color:var(--accent)}.chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.chip:disabled{opacity:.4;cursor:not-allowed;border-color:var(--line)}.chip:disabled:hover{color:inherit;border-color:var(--line)}.lib-head{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:22px;padding-bottom:16px;border-bottom:1px solid var(--line)}.eyebrow{margin:0 0 7px;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.lib-head h1{max-width:780px;font-size:clamp(30px,4.2vw,58px);font-weight:800;letter-spacing:-.05em;margin:0;line-height:.98}.lib-copy{max-width:720px;margin:14px 0 0;color:var(--ink-2);font-size:16px;line-height:1.65}.lib-head span{color:var(--muted);font-size:14px;font-variant-numeric:tabular-nums;padding-bottom:3px}.lib-tools{margin-left:auto;display:flex;align-items:center;gap:8px;padding-bottom:2px}.lib-tools label{font-size:12.5px;font-weight:600;color:var(--muted)}.sel{height:34px;padding:0 30px 0 11px;border-radius:8px;border:1px solid var(--line);background:var(--surface);font:inherit;font-size:13.5px;font-weight:600;color:var(--ink);cursor:pointer;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 15px) 15px,calc(100% - 11px) 15px;background-size:4px 4px,4px 4px;background-repeat:no-repeat}.sel:hover{border-color:var(--line-2)}.sel:focus{outline:none;box-shadow:0 0 0 3px var(--accent-soft)}.grid{columns:236px;column-gap:20px}.card{background:none;cursor:pointer;display:block;break-inside:avoid;margin-bottom:26px;transition:transform .18s cubic-bezier(.2,.7,.3,1)}.card:hover{transform:translateY(-4px)}.card:hover .card-img{box-shadow:var(--shadow-lg)}.card-img{background:var(--surface-2);overflow:hidden;position:relative;border-radius:var(--r);box-shadow:var(--shadow);transition:box-shadow .18s}.card-img img{width:100%;height:auto;display:block}.card-print{position:absolute;display:grid;place-items:center;pointer-events:none}.card-art{position:absolute;left:50%;top:50%;width:30%;height:30%;object-fit:contain;opacity:.34;filter:grayscale(1) brightness(.72) contrast(1.15);transform:translate(-50%,-50%) scale(.97);transition:opacity .22s ease,filter .22s ease,transform .22s cubic-bezier(.2,.7,.3,1)}.card:hover .card-art,.card:focus-visible .card-art{opacity:1;filter:none;transform:translate(-50%,-50%) scale(1)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.card-tint{position:absolute;inset:0;pointer-events:none;mix-blend-mode:multiply;opacity:0;transition:opacity .22s;mask-size:100% 100%;-webkit-mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat}.card:hover .card-tint,.card:focus-visible .card-tint{opacity:1}@media(prefers-reduced-motion:reduce){.card-art{transition:opacity .01s}}.card-badge{position:absolute;top:10px;left:10px;padding:4px 9px;border-radius:6px;background:#ffffffeb;color:var(--ink);font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;backdrop-filter:blur(8px);opacity:0;transform:translateY(-3px);transition:opacity .16s,transform .16s}.card:hover .card-badge,.card:focus-visible .card-badge{opacity:1;transform:none}.card-body{padding:11px 2px 0}.card-body b{display:block;font-size:14.5px;font-weight:700;letter-spacing:-.018em;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-body span{display:block;color:var(--faint);font-size:12.5px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty{padding:64px 20px;text-align:center;color:var(--muted);column-span:all}.empty b{display:block;font-size:17px;color:var(--ink);margin-bottom:6px}.trust{margin:42px 0 26px;padding:28px;border:1px solid var(--line);border-radius:var(--r);background:linear-gradient(180deg,#fff,#f6f3ee)}.trust h2{margin:0;font-size:24px;letter-spacing:-.035em;line-height:1.1}.trust p{margin:10px 0 0;color:var(--muted);max-width:780px}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}.trust-card{padding:16px;border:1px solid var(--line);border-radius:10px;background:#fff}.trust-card b{display:block;margin-bottom:5px}.trust-card span{display:block;color:var(--muted);font-size:13.5px;line-height:1.55}.site-foot{margin:36px 0 0;padding:24px 0 0;border-top:1px solid var(--line);display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:13px}.site-foot a{color:var(--ink);font-weight:600}@media(max-width:760px){.trust-grid{grid-template-columns:1fr}.trust{padding:20px}}.legal{max-width:820px;margin:0 auto;padding:38px clamp(18px,4vw,34px) 90px}.legal h1{font-size:clamp(36px,6vw,64px);line-height:.98;letter-spacing:-.055em;margin:28px 0 10px}.legal-updated{color:var(--muted);margin:0 0 28px}.legal-body{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px;box-shadow:var(--shadow)}.legal-body h2{font-size:17px;margin:28px 0 8px;letter-spacing:-.02em}.legal-body h2:first-of-type{margin-top:0}.legal-body p{color:var(--ink-2);margin:0 0 14px;line-height:1.75}.legal-body a{text-decoration:underline;text-underline-offset:3px}.ed{display:grid;grid-template-columns:1fr 352px;height:calc(100dvh - var(--nav));min-height:0}@media(max-width:900px){.ed{grid-template-columns:1fr;height:auto}}.stage{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:60px 24px 24px;min-width:0;min-height:0;overflow:hidden;background:radial-gradient(120% 90% at 50% -10%,#FFFFFF 0%,var(--bg) 62%)}.frame{padding:0;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-lg);line-height:0;background-color:#ededf3;background-image:linear-gradient(45deg,#E1E1EA 25%,transparent 25%,transparent 75%,#E1E1EA 75%),linear-gradient(45deg,#E1E1EA 25%,transparent 25%,transparent 75%,#E1E1EA 75%);background-size:20px 20px;background-position:0 0,10px 10px}.viewport{position:relative;line-height:0;border-radius:4px;overflow:hidden}.viewport canvas{display:block}#gl{background:transparent}.bgs{display:grid;grid-template-columns:repeat(auto-fill,minmax(46px,1fr));gap:7px}.bgs button{aspect-ratio:1;border-radius:7px;border:1.5px solid var(--line-2);cursor:pointer;padding:0;background-clip:padding-box;transition:border-color .13s,transform .06s}.bgs button:hover{border-color:var(--accent)}.bgs button:active{transform:translateY(1px)}.bgs button.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.bgs button.none{background-color:#ededf3;background-image:linear-gradient(45deg,#D6D6E0 25%,transparent 25%,transparent 75%,#D6D6E0 75%),linear-gradient(45deg,#D6D6E0 25%,transparent 25%,transparent 75%,#D6D6E0 75%);background-size:12px 12px;background-position:0 0,6px 6px}#overlay{position:absolute;inset:0;pointer-events:none}.stage-top{position:absolute;top:0;left:0;right:0;height:52px;display:flex;align-items:center;gap:10px;padding:0 22px;z-index:2}.stage-top .name{font-weight:700;letter-spacing:-.025em;font-size:15px}.stage-top .kind{color:var(--faint);font-size:12.5px;font-variant-numeric:tabular-nums}.hint{color:var(--faint);font-size:12.5px;text-align:center;max-width:520px}.veil{position:absolute;inset:14px;border:2px dashed var(--accent);border-radius:var(--r);background:#f4f4f8ed;display:none;align-items:center;justify-content:center;font-weight:700;color:var(--accent);z-index:5}.veil.on{display:flex}.panel{background:var(--surface);border-left:1px solid var(--line);overflow-y:auto;overscroll-behavior:contain;min-height:0;position:relative}.sect{border-bottom:1px solid var(--line)}.sect>h3{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin:0 0 12px}.sect.plain{padding:18px 20px}.sect[data-off]{opacity:.4;pointer-events:none}.slot-head{width:100%;display:flex;align-items:center;gap:12px;padding:14px 20px;border:0;background:none;cursor:pointer;font:inherit;text-align:left;transition:background .13s}.slot-head:hover{background:var(--surface-2)}.slot-chip{width:30px;height:30px;border-radius:7px;flex:none;border:1px solid var(--line-2);background-size:cover;background-position:center;display:grid;place-items:center;overflow:hidden;color:var(--faint)}.slot-chip img{width:100%;height:100%;object-fit:contain}.slot-chip.checks{background-color:#efeff2;background-image:linear-gradient(45deg,#DCDCE2 25%,transparent 25%,transparent 75%,#DCDCE2 75%),linear-gradient(45deg,#DCDCE2 25%,transparent 25%,transparent 75%,#DCDCE2 75%);background-size:10px 10px;background-position:0 0,5px 5px}.slot-txt{min-width:0;flex:1}.slot-txt b{display:block;font-size:14px;font-weight:700;letter-spacing:-.015em;color:var(--ink)}.slot-txt span{display:block;font-size:12.5px;color:var(--muted);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot-caret{flex:none;color:var(--faint);transition:transform .16s}.slot-head[aria-expanded=true] .slot-caret{transform:rotate(90deg)}.slot-body{padding:2px 20px 20px}@media(prefers-reduced-motion:reduce){.slot-caret{transition:none}}.drop{border:1.5px dashed var(--line-2);border-radius:var(--r);padding:20px 16px;text-align:center}.drop.over{border-color:var(--accent);background:var(--accent-soft)}.drop b{display:block;font-size:14px;font-weight:700;margin-bottom:3px}.drop span{display:block;font-size:11.5px;color:var(--faint);letter-spacing:.02em;margin-bottom:12px}.design-row{display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:center}.design-thumb{width:48px;height:48px;border-radius:var(--r-sm);border:1px solid var(--line);background:#fff;display:grid;place-items:center;overflow:hidden}.design-thumb img{max-width:100%;max-height:100%;object-fit:contain}.design-meta{min-width:0}.design-meta b{display:block;font-size:13.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.design-meta span{font-size:12px;color:var(--faint)}.row{display:flex;gap:7px;margin-top:12px}.row .btn{flex:1}.saved-designs{margin-top:16px}.saved-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:8px}.saved-grid button{aspect-ratio:1;border:1px solid var(--line);border-radius:8px;background:#fff;display:grid;place-items:center;padding:5px;cursor:pointer;transition:border-color .14s,box-shadow .14s}.saved-grid button:hover{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.saved-grid img{max-width:100%;max-height:100%;object-fit:contain}.ctl{margin-bottom:14px}.ctl:last-child{margin-bottom:0}.ctl-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:5px}.ctl-head label{font-size:13px;color:var(--muted);font-weight:600}.ctl-head output{font-size:12.5px;font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:18px;background:transparent;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:3px;background:var(--line)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent);margin-top:-6px;border:2px solid #fff;box-shadow:0 1px 4px #17152340}.swatches{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}.sw{aspect-ratio:1;border-radius:6px;border:1px solid rgba(23,21,35,.13);cursor:pointer;padding:0;position:relative;transition:transform .12s}.sw:hover{transform:scale(1.15)}.sw.on{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--accent)}.sw.pick:after{content:"";position:absolute;inset:0;border-radius:5px;background:linear-gradient(135deg,#f76b6b,#f5c451,#5bc98a,#5b8cf5,#a96bf7)}.colour-name{margin-top:10px;font-size:13px;color:var(--muted)}.colour-name b{color:var(--ink);font-weight:700}.custom{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.custom-row{display:flex;align-items:center;gap:8px}.custom-row label{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);width:30px;flex:none}.custom input[type=text]{flex:1;min-width:0;height:34px;padding:0 10px;border-radius:7px;border:1px solid var(--line);background:var(--surface);font:inherit;font-size:13px;font-variant-numeric:tabular-nums;letter-spacing:.01em}.custom input[type=text]:focus{outline:none;border-color:var(--line-2);box-shadow:0 0 0 3px var(--accent-soft)}.custom input[type=text][aria-invalid=true]{border-color:var(--bad)}.custom input[type=color]{width:38px;height:34px;padding:0;flex:none;cursor:pointer;border:1px solid var(--line-2);border-radius:7px;background:none}.custom input[type=color]::-webkit-color-swatch-wrapper{padding:2px}.custom input[type=color]::-webkit-color-swatch{border:0;border-radius:5px}.seg{display:flex;background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:3px;gap:3px}.seg button{flex:1;border:none;background:none;padding:7px 4px;border-radius:6px;cursor:pointer;font-size:12.5px;font-weight:600;color:var(--muted);white-space:nowrap}.seg button:hover:not(:disabled){color:var(--ink)}.seg button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.seg button:disabled{opacity:.35;cursor:not-allowed}.scrim{position:fixed;inset:0;background:#1715236b;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(3px)}.modal{background:var(--surface);border-radius:16px;box-shadow:var(--shadow-lg);width:min(560px,100%);max-height:86vh;overflow-y:auto}.modal-head{padding:22px 24px 0}.modal-head h2{font-size:20px;font-weight:800;letter-spacing:-.02em;margin:0 0 4px}.modal-head p{margin:0;color:var(--muted);font-size:14px}.modal-body{padding:20px 24px}.modal-foot{padding:16px 24px;border-top:1px solid var(--line);display:flex;align-items:center;gap:12px;position:sticky;bottom:0;background:var(--surface);border-radius:0 0 16px 16px}.modal-foot .count{margin-right:auto;font-size:13.5px;color:var(--muted)}.modal-foot .count b{color:var(--ink);font-variant-numeric:tabular-nums}.pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}.export-gate{margin-bottom:14px;padding:14px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(180deg,#fff,#f6f3ee)}.export-gate>b{display:block;font-size:14px;margin-bottom:4px}.export-gate>span{display:block;color:var(--muted);font-size:13px;line-height:1.55}.credit-packs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.credit-pack{position:relative;min-width:0;padding:13px 10px 11px;border:1px solid var(--line-2);border-radius:11px;background:#fff;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:border-color .14s,box-shadow .14s,transform .14s}.credit-pack:hover:not(:disabled){border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);transform:translateY(-1px)}.credit-pack:disabled{opacity:.6;cursor:wait}.credit-pack.recommended{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.credit-pack em{display:inline-block;margin:-4px 0 7px;padding:3px 6px;border-radius:999px;background:var(--accent);color:#fff;font-size:9px;font-style:normal;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.credit-pack b,.credit-pack strong,.credit-pack span,.credit-pack small{display:block}.credit-pack b{font-size:13px;margin:0 0 3px}.credit-pack strong{font-size:15px;letter-spacing:-.02em}.credit-pack span{margin-top:5px;color:var(--ink);font-size:17px;font-weight:850;line-height:1}.credit-pack small{margin-top:7px;color:var(--muted);font-size:10.5px;line-height:1.25}.pick{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:8px;border:1px solid var(--line-2);background:var(--surface);cursor:pointer;text-align:left;font-size:12.5px;font-weight:600}.pick:hover{border-color:var(--accent)}.pick.on{border-color:var(--accent);background:var(--accent-soft)}.pick i{width:16px;height:16px;border-radius:4px;flex:none;border:1px solid rgba(23,21,35,.15)}.bar{height:6px;border-radius:99px;background:var(--line);overflow:hidden;margin-top:14px}.bar i{display:block;height:100%;background:var(--accent);transition:width .2s}.gate{text-align:center;padding:8px 4px}.gate h2{font-size:19px;font-weight:800;letter-spacing:-.02em;margin:0 0 8px}.gate p{color:var(--muted);margin:0 0 20px;font-size:14px}.google{display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 20px;border-radius:10px;border:1px solid var(--line-2);background:#fff;cursor:pointer;font-weight:700;font-size:14.5px}.google:hover{background:var(--surface-2)}.avatar{width:32px;height:32px;border-radius:50%;border:1px solid var(--line)}.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,12px);z-index:200;background:var(--ink);color:#fff;padding:11px 18px;border-radius:10px;font-size:13.5px;font-weight:600;opacity:0;pointer-events:none;transition:.2s;box-shadow:var(--shadow-lg)}.toast.on{opacity:1;transform:translate(-50%)}.center{display:grid;place-items:center;height:100%;color:var(--muted);gap:12px;text-align:center;padding:40px}.center b{color:var(--ink);font-size:17px}@media(max-width:1080px){.lib{grid-template-columns:1fr}.rail{position:static;flex-direction:row;flex-wrap:wrap;gap:18px}.ed{grid-template-columns:1fr;height:auto}.panel{border-left:none;border-top:1px solid var(--line)}.stage{min-height:64vh}}.adm{display:grid;grid-template-columns:250px minmax(380px,1fr) 320px;height:calc(100dvh - var(--nav));min-height:0}@media(max-width:1180px){.adm{grid-template-columns:220px 1fr;height:auto;min-height:calc(100dvh - var(--nav))}.adm-panel{grid-column:1/-1;border-left:none;border-top:1px solid var(--line)}.adm-list{min-height:340px}}@media(max-width:720px){.adm{grid-template-columns:1fr}.adm-list{border-right:none;border-bottom:1px solid var(--line);min-height:0}}.adm-list{border-right:1px solid var(--line);background:var(--surface);overflow-y:auto;min-height:0;padding:14px}.adm-list h3{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin:0 0 10px}.adm-item{width:100%;text-align:left;padding:10px 12px;border-radius:9px;border:1px solid transparent;background:none;cursor:pointer;display:block;margin-bottom:3px}.adm-item:hover{background:var(--surface-2)}.adm-item.on{background:var(--accent-soft);border-color:var(--accent)}.adm-item b{display:block;font-size:13.5px;font-weight:700}.adm-item span{font-size:11.5px;color:var(--faint)}.adm-item .dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:6px;vertical-align:middle}.dot.live{background:var(--good)}.dot.draft{background:var(--faint)}.dot.raw{background:var(--warn)}.adm-review{min-height:0;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;background:var(--bg);align-content:start}.adm-review img{max-width:100%;border-radius:var(--r);box-shadow:var(--shadow-lg);cursor:crosshair;display:block}.adm-hint{color:var(--faint);font-size:12.5px;text-align:center}.adm-panel{border-left:1px solid var(--line);background:var(--surface);overflow-y:auto;min-height:0}.field{margin-bottom:12px}.field label{display:block;font-size:12.5px;font-weight:600;color:var(--muted);margin-bottom:5px}.field input[type=text],.field select,.field textarea{width:100%;height:36px;padding:0 10px;border-radius:8px;border:1px solid var(--line-2);background:var(--surface-2)}.field textarea{height:auto;padding:8px 10px;resize:vertical;min-height:56px}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);background:var(--surface)}.field .sub{font-size:11.5px;color:var(--faint);margin-top:4px}.two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.qa{display:flex;flex-direction:column;gap:6px}.qa-row{display:grid;grid-template-columns:18px 1fr;gap:9px;font-size:12.5px;align-items:start}.qa-row i{width:16px;height:16px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:800;color:#fff;font-style:normal;margin-top:1px}.qa-row.ok i{background:var(--good)}.qa-row.no i{background:#c0392b}.qa-row.warn i{background:var(--warn)}.qa-row b{display:block;font-weight:700}.qa-row span{color:var(--faint)}.banner{padding:10px 12px;border-radius:9px;font-size:13px;font-weight:600;margin-bottom:12px}.banner.ok{background:var(--good);color:#fff}.banner.no{background:#fbeae7;color:#8a2b1c;border:1px solid #F0C4BC}.me{display:flex;flex-direction:column;gap:8px;width:100%;min-height:0;margin-block:auto}.me-bar{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:6px 10px}.me-bar .seg{padding:2px;gap:2px}.me-bar .seg button{padding:0 9px;height:26px;font-size:12.5px}.me-bar .btn.sm{height:28px;padding:0 9px;font-size:12.5px}.me-size{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--muted)}.me-size input{width:92px}.me-size output{font-variant-numeric:tabular-nums;color:var(--ink);width:26px}.me-zoom{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--muted)}.me-zoom span{min-width:44px;text-align:center;font-variant-numeric:tabular-nums;color:var(--ink)}.me-actions{margin-left:auto;display:flex;gap:7px}.me-stage{flex:0 0 auto;height:clamp(280px,46vh,520px);position:relative;border-radius:var(--r);overflow:hidden;background:linear-gradient(45deg,#E4E4EC 25%,transparent 25%,transparent 75%,#E4E4EC 75%),linear-gradient(45deg,#E4E4EC 25%,transparent 25%,transparent 75%,#E4E4EC 75%),var(--surface-2);background-size:18px 18px;background-position:0 0,9px 9px;box-shadow:var(--shadow);touch-action:none}.me-stage canvas{display:block;cursor:crosshair}.me-note{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-size:14px;margin:0}.me-note.err{color:#b03a2e;font-weight:600;padding:20px;text-align:center}kbd{font-family:IBM Plex Mono,ui-monospace,Menlo,monospace;font-size:11px;border:1px solid var(--line-2);border-bottom-width:2px;border-radius:4px;padding:1px 4px;background:var(--surface)}@keyframes sk-sweep{0%{background-position:120% 0}to{background-position:-120% 0}}.sk{background:linear-gradient(90deg,var(--surface-2) 20%,rgba(21,20,15,.055) 42%,var(--surface-2) 64%);background-size:260% 100%;animation:sk-sweep 1.25s linear infinite;border-radius:var(--r)}.sk-card{break-inside:avoid;margin-bottom:26px}.sk-img{width:100%;display:block}.sk-line{height:11px;border-radius:5px;margin-top:12px}.sk-sub{height:9px;margin-top:7px;opacity:.7}.more{display:flex;gap:10px;justify-content:center;align-items:center;padding:10px 0 46px}.more .btn{min-width:132px}@media(prefers-reduced-motion:reduce){.sk{animation:none}}.stage-skel{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.stage-skel .sk{width:min(62%,420px);aspect-ratio:.8}.stage.loading .frame,.stage.loading .hint{visibility:hidden}.panel-skel{position:absolute;inset:0;z-index:2;background:var(--surface);padding:18px 16px;display:flex;flex-direction:column;gap:14px}.panel-skel .sk{height:52px;border-radius:10px}.panel-skel .sk:first-child{height:104px}.account{position:relative}.account-trigger{height:37px;padding:0 10px 0 4px;border:1px solid var(--line);border-radius:999px;background:var(--surface);display:flex;align-items:center;gap:8px;cursor:pointer;font:inherit;font-size:13px;font-weight:700;color:var(--ink);transition:background .14s,border-color .14s,box-shadow .14s}.account-trigger:hover,.account-trigger[aria-expanded=true]{background:var(--surface-2);border-color:var(--line-2);box-shadow:0 0 0 3px var(--accent-soft)}.avatar-fallback{display:grid;place-items:center;background:var(--ink);color:#fff;font-size:13px;font-weight:800}.account-panel{position:absolute;right:0;top:calc(100% + 12px);width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - 92px);overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);z-index:80}.account-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 18px 14px;border-bottom:1px solid var(--line)}.account-head b{display:block;font-size:16px;letter-spacing:-.02em}.account-head span{display:block;color:var(--muted);font-size:12.5px;margin-top:1px;word-break:break-all}.icon-btn{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:20px;line-height:1;color:var(--muted)}.icon-btn:hover{background:var(--surface-2);color:var(--ink)}.account-section{padding:16px 18px;border-bottom:1px solid var(--line)}.account-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:11px}.account-title b{display:block;font-size:14px;letter-spacing:-.01em}.account-title span{display:block;color:var(--muted);font-size:12.5px;margin-top:1px}.account-empty{padding:18px;border:1px dashed var(--line-2);border-radius:11px;color:var(--muted);font-size:13px;background:var(--surface-2)}.account-empty.bad{color:var(--bad);background:#fbf1ef;border-color:#e8cfc9}.download-list{display:flex;gap:10px;overflow-x:auto;overscroll-behavior-x:contain;padding:1px 0 10px;scroll-snap-type:x proximity}.download-card{flex:0 0 154px;scroll-snap-align:start;display:block;padding:8px;border:1px solid var(--line);border-radius:12px;background:#fff}.download-card>img{width:100%;height:102px;object-fit:cover;border-radius:9px;background:var(--surface-2);border:1px solid var(--line)}.download-card b{display:block;font-size:12.5px;line-height:1.25;letter-spacing:-.01em;margin-top:7px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-transform:capitalize}.download-card span{display:block;color:var(--muted);font-size:11.5px;margin-top:3px}.download-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:7px}.download-actions a,.download-actions button{border:0;background:none;padding:0;cursor:pointer;color:var(--ink);font:inherit;font-size:11.5px;font-weight:800;text-decoration:underline;text-underline-offset:3px}.download-actions button{color:var(--muted)}.download-actions a:hover,.download-actions button:hover{color:var(--accent-hover)}.account-designs{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;padding:1px 0 10px}.account-designs button{width:68px;height:68px;flex:0 0 68px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:5px;display:grid;place-items:center;cursor:pointer;transition:border-color .14s,box-shadow .14s}.account-designs button:hover{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.account-designs img{max-width:100%;max-height:100%;object-fit:contain}.account-actions{position:sticky;bottom:0;z-index:1;padding:14px 18px 18px;display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;background:linear-gradient(180deg,#fff,#f8f6f1);box-shadow:0 -1px 0 var(--line)}.account-actions p{flex:1 0 100%;margin:0 0 2px;color:var(--bad);font-size:12.5px;line-height:1.45}@media(max-width:620px){.account-trigger span{display:none}.account-panel{position:fixed;right:12px;left:12px;top:76px;width:auto;max-height:calc(100dvh - 88px)}.download-card{flex-basis:142px}.download-card>img{height:94px}.account-designs button{width:62px;height:62px;flex-basis:62px}}.quota-section{background:linear-gradient(180deg,#fff,#f8f6f1)}.quota-meter{height:8px;border-radius:99px;background:var(--line);overflow:hidden;margin-top:4px}.quota-meter i{display:block;height:100%;border-radius:inherit;background:var(--good);transition:width .2s ease}.export-gate.paywall{border-color:#e8cfc9;background:#fbf1ef}.export-gate.paywall>b{color:var(--bad)}.credit-balance{min-width:34px;height:34px;padding:0 9px;border-radius:999px;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:13px}.account-buy{margin-top:13px;border-top:1px solid var(--line);padding-top:11px}.account-buy summary{cursor:pointer;color:var(--accent-hover);font-size:12.5px;font-weight:800;list-style-position:inside}.account-buy>p{margin:6px 0 0;color:var(--muted);font-size:11.5px}.credit-packs.compact{margin-top:10px}.credit-packs.compact .credit-pack{padding:10px 8px}.credit-packs.compact .credit-pack em{margin:0 0 5px;font-size:8px}.credit-packs.compact .credit-pack strong{font-size:12.5px}.credit-packs.compact .credit-pack span{font-size:15px}@media(max-width:520px){.credit-packs{grid-template-columns:1fr}.credit-pack{display:grid;grid-template-columns:1fr auto;column-gap:10px;align-items:center}.credit-pack em,.credit-pack b,.credit-pack small,.credit-pack strong{grid-column:1}.credit-pack span{grid-column:2;grid-row:1 / span 4;margin:0;font-size:19px}.credit-packs.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.credit-packs.compact .credit-pack{display:block}.credit-packs.compact .credit-pack span{margin-top:5px}}
