:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-optical-sizing:auto;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-family-base:"Zen Maru Gothic", "Hiragino Sans", "Yu Gothic UI", sans-serif;--bg:#f4f7f9;--bg-dot:#94a3b857;--surface:#fff;--surface-soft:#f8fafc;--surface-dark:#1e293b;--text:#1e293b;--muted:#64748b;--line:#cbd5e1;--line-strong:#cbd5e1;--button-hover-line:#475569;--shadow:var(--line);--shadow-dark:#0f172a2e;--button-shadow:var(--line);--amber:#fbbf24;--marshmallow-pink:#ff80a1;--theme-accent:#8b5cf6;--theme-accent-deep:#7c3aed;--theme-soft:#f5f3ff;--theme-soft-border:#ddd6fe;--theme-ink:#6d28d9;--focus:#8b5cf62e;--danger:#dc2626;--checkerboard:#f8fafc;--checkerboard-line:#94a3b829;font-family:Zen Maru Gothic,Hiragino Sans,Yu Gothic UI,sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background-color:var(--bg);background-image:radial-gradient(var(--bg-dot) 1.4px, transparent 1.4px);min-width:320px;min-height:100vh;color:var(--text);font-family:var(--font-family-base);background-size:24px 24px;margin:0;line-height:1.7;position:relative;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle at 0 0,#ffffffad,#0000 32%),linear-gradient(#ffffff3d,#0000 38%);position:fixed;inset:0}::selection{background:#8b5cf62e}button,input,select{font:inherit}button{appearance:none}h1,h2,p,ul{margin:0}ul{padding:0}h1{color:#0f172a;letter-spacing:-.05em;font-size:clamp(1.9rem,4vw,2.6rem);font-weight:900;line-height:1.08}h2{color:var(--text);letter-spacing:-.03em;font-size:1.08rem;font-weight:900;line-height:1.2}#root{z-index:1;width:min(1180px,100% - 32px);min-height:100vh;margin:0 auto;padding:28px 0 36px;position:relative}a{color:inherit;text-decoration:none}img,svg,canvas{max-width:100%;display:block}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,label:focus-visible{outline:3px solid var(--focus);outline-offset:3px}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes icon-wobble{0%{transform:scale(1)rotate(0)}30%{transform:scale(1.08)rotate(6deg)}60%{transform:scale(1.08)rotate(-6deg)}to{transform:scale(1)rotate(0)}}@media (width<=1080px){#root{width:min(100%,100% - 24px);padding:18px 0 24px}}@media (width<=720px){#root{width:min(100%,100% - 20px);padding-top:14px}h1{font-size:clamp(1.7rem,8vw,2.1rem)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.app{flex-direction:column;gap:20px;min-height:100%;display:flex}.page-header,.header-card,.tool-surface{background:var(--surface);border:3px solid var(--line);border-radius:2.25rem}.solid-shadow{box-shadow:0 6px 0 var(--shadow)}.toy-btn{box-shadow:0 4px 0 var(--button-shadow);transition:transform .16s,box-shadow .16s,border-color .16s,background-color .16s,color .16s}.toy-btn:hover{box-shadow:0 5px 0 var(--button-shadow);transform:translateY(-1px)}.toy-btn:active{transform:translateY(4px);box-shadow:0 0 #0000}.page-header{z-index:30;background:0 0;border:0;border-radius:0;gap:16px;display:grid;position:relative}@media (prefers-reduced-motion:no-preference){.enter-stage{opacity:0;transition:opacity .42s cubic-bezier(.22, 1, .36, 1) var(--enter-delay,0s), transform .42s cubic-bezier(.22, 1, .36, 1) var(--enter-delay,0s);will-change:transform, opacity;transform:translateY(-18px)scale(.985)}.app.is-enter-ready .enter-stage{opacity:1;transform:translate(0,0)scale(1)}.enter-stage--1{--enter-delay:20ms}.enter-stage--2{--enter-delay:80ms}.enter-stage--3{--enter-delay:.14s}.enter-stage--4{--enter-delay:.2s}.enter-stage--5{--enter-delay:.26s}.enter-stage--6{--enter-delay:.32s}.enter-stage--7{--enter-delay:.38s}.enter-stage--8{--enter-delay:.44s}}.header-card{padding:14px}.document-toolbar{z-index:20;flex-direction:column;align-items:stretch;gap:16px;display:flex;position:relative}.document-toolbar__controls{align-items:center;gap:10px;width:100%;display:flex}.document-home-link{flex:none;align-items:center;transition:transform .15s,filter .15s;display:flex;transform:translateY(0)}.brand-logo{width:auto;height:52px;filter:drop-shadow(0 4px 0 var(--line));transition:filter .15s}.document-home-link:hover{transform:translateY(-1px)}.document-home-link:hover .brand-logo{filter:drop-shadow(0 5px 0 var(--line))}.document-home-link:active{transform:translateY(4px)!important}.document-home-link:active .brand-logo{filter:drop-shadow(0 0 #0000)}.document-language-switcher{z-index:12;flex:none;min-width:0;margin-left:auto;position:relative}.document-language-switcher.language-switcher--enhanced.is-open{z-index:28}.document-language-switcher .language-picker__button{border:2px solid var(--line);color:#475569;z-index:1;cursor:pointer;white-space:nowrap;background:#fff;border-radius:999px;justify-content:flex-start;align-items:center;width:auto;min-height:0;padding:11px 30px 13px 41px;font-family:inherit;font-size:1rem;font-weight:700;line-height:1.4;display:inline-flex;position:relative}.document-language-switcher .language-picker__button:hover{border-color:var(--button-hover-line);background:#fff}.document-language-switcher .language-picker__button:focus-visible,.language-picker__option:focus-visible{outline-offset:2px;outline:3px solid #38bdf83d}.language-picker__label{text-align:left;min-width:2ch;display:block}.language-switcher__flag{z-index:2;border:2px solid var(--line);box-sizing:border-box;pointer-events:none;background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.language-switcher__icon{z-index:2;width:14px;height:14px;color:var(--line);pointer-events:none;transition:color .15s,transform .15s;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.language-switcher__icon svg{stroke:currentColor;fill:none;width:100%;height:100%}.document-language-switcher .language-picker__button:hover .language-switcher__flag,.document-language-switcher .language-picker__button:hover .language-switcher__icon,.document-language-switcher .language-picker__button[aria-expanded=true] .language-switcher__flag,.document-language-switcher .language-picker__button[aria-expanded=true] .language-switcher__icon{transform:translateY(calc(-50% - 1px))}.document-language-switcher .language-picker__button:hover .language-switcher__icon,.document-language-switcher .language-picker__button[aria-expanded=true] .language-switcher__icon{color:#475569}.language-picker__menu{border:2px solid var(--line);width:100%;box-shadow:0 12px 28px #94a3b82e, 0 4px 0 var(--line);-webkit-backdrop-filter:blur(20px);background:#fffffff0;border-radius:24px;padding:10px;position:absolute;top:calc(100% + 12px);left:0}.language-picker__menu[hidden]{display:none}.language-picker__options{flex-direction:column;gap:6px;display:flex}.language-picker__option{color:#475569;width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:16px;align-items:center;gap:5px;padding:10px 10px 10px 12px;font-weight:700;transition:background-color .15s,color .15s,transform .15s;display:flex}.language-picker__option:hover,.language-picker__option:focus-visible{color:#1e293b;background:0 0;transform:translateY(-1px)}.language-picker__option[aria-selected=true]{background:var(--theme-soft);color:var(--theme-ink)}.language-picker__option-flag{box-sizing:border-box;border:2px solid var(--line);background:#fff;border-radius:50%;flex:none;width:18px;height:18px}.language-picker__option-label{min-width:2ch}.header-card__hero{background:#fff;border-radius:1.9rem;align-items:center;gap:20px;padding:16px;display:flex}.app-card__wobble{flex:none;display:inline-block}.app-card__wobble--positive{--wobble-rotate:-10deg;transform:rotate(3deg)}.app-card__wobble--negative{--wobble-rotate:10deg;transform:rotate(-3deg)}.wobble-container{border-radius:1.5rem;display:inline-block}.wobble-target{transition:transform .15s}.wobble-container:hover .wobble-target,.header-card:hover .wobble-target,.btn-wobble-group:hover .wobble-target{animation:.6s ease-in-out icon-wobble}.wobble-container:active .wobble-target{transition:transform 50ms;transform:scale(.85) rotate(var(--wobble-rotate,-10deg))!important}.app-badge{width:80px;height:80px;box-shadow:inset 0 2px 0 #ffffff29, 0 4px 0 var(--line);border-radius:1.5rem;justify-content:center;align-items:center;display:inline-flex}.app-badge__icon{object-fit:contain;width:100%;height:100%;display:block}.app-badge--palette{background:linear-gradient(135deg,#a855f7,#9333ea)}.header-card__copy{gap:8px;min-width:0;display:grid}.header-card__copy h1{color:#0f172a;letter-spacing:-.05em;margin:0;font-size:clamp(1.6rem,3vw,2rem);font-weight:800;line-height:1.05}.header-card__copy p{max-width:34rem;color:var(--muted);margin:0;font-size:.96rem;font-weight:800;line-height:1.55}.view-toggle{border:2px solid var(--line);min-height:44px;color:var(--muted);font-family:var(--font-family-base);cursor:pointer;box-shadow:0 4px 0 var(--line);z-index:40;background:#fff;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:12px 16px;font-size:1rem;font-weight:700;line-height:1.4;transition:transform .15s,box-shadow .15s,border-color .15s,color .15s;display:inline-flex;position:fixed;bottom:24px;right:max(16px,50vw - 590px);transform:translateY(0)}.view-toggle:hover{border-color:var(--button-hover-line);color:var(--text);box-shadow:0 5px 0 var(--line);transform:translateY(-1px)}.view-toggle:active{transform:translateY(4px)!important;box-shadow:0 0 #0000!important}.view-toggle__icon{justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.view-toggle__icon svg{stroke:currentColor;fill:none;width:100%;height:100%}.workspace{flex:1;gap:16px;min-height:0;display:flex}.settings-pane{flex:none;width:min(100%,430px);min-width:0;min-height:0;display:flex}.preview-pane{flex:1;min-width:0;min-height:0;display:flex}.tool-surface{flex-direction:column;gap:16px;width:100%;min-height:0;padding:20px 22px;display:flex}.surface-heading{flex:none;align-items:center;gap:12px;min-height:42px;display:flex}.surface-heading__marker{background:var(--amber);border-radius:999px;flex:none;width:12px;height:32px}.surface-heading h2{letter-spacing:-.04em;font-size:1.55rem}.surface-scroll{flex-direction:column;flex:1;gap:16px;min-height:0;margin-right:-6px;padding-right:6px;display:flex;overflow-y:auto}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.custom-scrollbar::-webkit-scrollbar{width:8px}.custom-scrollbar::-webkit-scrollbar-track{background:0 0}.custom-scrollbar::-webkit-scrollbar-thumb{background:#cbd5e1;border:2px solid #fff;border-radius:999px}.section-card{border:2px solid var(--line);background:var(--surface-soft);border-radius:1.55rem;flex-direction:column;gap:14px;padding:16px;display:flex}.pane-section{min-width:0}.section-card__title,.section-header-row{align-items:center;gap:10px;display:flex}.section-card__title{color:#334155}.section-card__title .icon{color:var(--theme-accent)}.section-card--warm .section-card__title .icon{color:#f59e0b}.section-card__title h2{font-size:1.15rem}.section-header-row{justify-content:space-between}.dropzone{border:2px dashed var(--theme-soft-border);width:100%;min-height:168px;box-shadow:0 4px 0 var(--button-shadow);color:inherit;text-align:center;cursor:pointer;background:#fff;border-radius:1.6rem;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:22px 20px;transition:transform .16s,border-color .16s,background-color .16s,box-shadow .16s;display:flex}.dropzone:hover,.dropzone-active{border-color:var(--button-hover-line);background:var(--theme-soft);box-shadow:0 6px 0 var(--button-shadow);transform:translateY(-1px)}.dropzone-icon,.preview-empty-icon{background:linear-gradient(135deg, var(--theme-accent), var(--theme-accent-deep));color:#fff;border-radius:1.45rem;flex:none;justify-content:center;align-items:center;display:inline-flex;box-shadow:inset 0 2px #ffffff2e}.dropzone-icon{width:82px;height:82px}.dropzone-icon .icon,.preview-empty-icon .icon{width:30px;height:30px}.dropzone-copy{gap:2px;display:grid}.dropzone-copy strong,.source-copy strong,.adjustment-preview-header strong,.preview-empty strong{color:var(--text);font-size:1rem;font-weight:900}.dropzone-copy strong{font-size:.98rem}.dropzone-copy span,.source-copy span,.adjustment-preview-header span,.adjustment-preview-empty{color:var(--muted);font-size:.82rem;font-weight:700;line-height:1.45}.source-meta{border:2px solid var(--line);box-shadow:0 4px 0 var(--button-shadow);background:#fff;border-radius:1.25rem;align-items:center;gap:12px;padding:12px 14px;display:flex}.source-thumb{object-fit:cover;background-color:#fff;background-image:linear-gradient(45deg,#f1f5f9 25%,#0000 25% 75%,#f1f5f9 75%,#f1f5f9),linear-gradient(45deg,#f1f5f9 25%,#0000 25% 75%,#f1f5f9 75%,#f1f5f9);background-position:0 0,8px 8px;background-repeat:repeat,repeat;background-size:16px 16px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border-radius:1rem;flex:none;width:64px;height:64px}.source-copy{flex:1;gap:2px;min-width:0;display:grid}.source-copy strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.setting-row{grid-template-columns:70px minmax(0,1fr);align-items:center;gap:14px;display:grid}.setting-label{color:#475569;font-size:.9rem;font-weight:800}.setting-control{min-width:0}.setting-control select,.setting-control input,.palette-picker-row select,.color-row input[type=text],.color-row input[type=color]{width:100%}.adjustment-control{grid-template-columns:minmax(0,1fr) 56px;align-items:center;gap:12px;display:grid}.adjustment-control input[type=range]{appearance:none;background:0 0;width:100%;margin:0}.adjustment-control input[type=range]::-webkit-slider-runnable-track{background:#e2e8f0;border-radius:999px;height:8px}.adjustment-control input[type=range]::-moz-range-track{background:#e2e8f0;border-radius:999px;height:8px}.adjustment-control input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--theme-accent);cursor:pointer;border:4px solid #fff;border-radius:999px;width:24px;height:24px;margin-top:-8px;transition:transform .1s;box-shadow:0 2px 4px #0f172a2e}.adjustment-control input[type=range]::-moz-range-thumb{background:var(--theme-accent);cursor:pointer;border:4px solid #fff;border-radius:999px;width:24px;height:24px;transition:transform .1s;box-shadow:0 2px 4px #0f172a2e}.adjustment-control input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.08)}.adjustment-control input[type=range]::-moz-range-thumb:hover{transform:scale(1.08)}.adjustment-value{border:2px solid var(--theme-soft-border);min-height:34px;color:var(--theme-ink);background:#fff;border-radius:.9rem;justify-content:center;align-items:center;font-size:.84rem;font-weight:900;display:inline-flex}select,input[type=number],input[type=text]{border:2px solid var(--line);color:#334155;background:#fff;border-radius:1rem;width:100%;height:44px;padding:0 14px;font-size:.9rem;font-weight:800;transition:border-color .16s,box-shadow .16s,background-color .16s}select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='3' stroke='%2394a3b8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 8.25l-7.5 7.5-7.5-7.5' /%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.2rem;padding-right:2.6rem}select:hover,input[type=number]:hover,input[type=text]:hover,input[type=color]:hover{border-color:var(--theme-soft-border);background-color:#fcfdff}input[type=color]{border:2px solid var(--line);cursor:pointer;background:#fff;border-radius:1rem;width:100%;height:44px;padding:4px}select:focus,input[type=number]:focus,input[type=text]:focus,input[type=color]:focus,.adjustment-control input[type=range]:focus-visible{border-color:var(--theme-accent);box-shadow:0 0 0 4px var(--focus);outline:none}.section-divider{border-top:2px dashed #e2e8f0}.adjustment-preview{gap:10px;display:grid}.adjustment-preview-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.adjustment-preview-frame{border:3px solid var(--line);background-color:#fff;background-image:linear-gradient(45deg,#f1f5f9 25%,#0000 25% 75%,#f1f5f9 75%,#f1f5f9),linear-gradient(45deg,#f1f5f9 25%,#0000 25% 75%,#f1f5f9 75%,#f1f5f9);background-position:0 0,10px 10px;background-repeat:repeat,repeat;background-size:20px 20px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border-radius:1.1rem;justify-content:center;align-items:center;min-height:110px;padding:12px;display:flex;overflow:hidden}.adjustment-preview-canvas{max-width:100%;max-height:180px}.adjustment-preview-empty{background:#ffffffd1;border-radius:999px;padding:5px 12px;display:inline-flex}.palette-picker-row{align-items:center;gap:10px;display:flex}.palette-strip{border:2px solid var(--line);background:#fff;border-radius:1.35rem;flex-wrap:wrap;gap:10px;padding:12px;display:flex}.palette-chip{border:2px solid #ffffffeb;border-radius:999px;flex:none;width:34px;height:34px;box-shadow:0 0 0 1px #0f172a24}.custom-palette-editor{border-top:2px dashed #e2e8f0;flex-direction:column;gap:12px;padding-top:12px;display:flex}.color-list{flex-direction:column;gap:8px;display:flex}.color-row{grid-template-columns:24px 56px minmax(0,1fr) 44px;align-items:center;gap:10px;display:grid}.color-index{color:var(--muted);text-align:center;font-size:.8rem;font-weight:900}.custom-actions{justify-content:space-between;gap:12px;display:flex}.bg-color-control{grid-template-columns:auto 56px minmax(0,1fr);align-items:center;gap:8px;display:grid}.bg-chip{border:2px solid var(--line);min-height:40px;box-shadow:0 3px 0 var(--button-shadow);color:var(--muted);white-space:nowrap;cursor:pointer;background:#fff;border-radius:1rem;justify-content:center;align-items:center;padding:0 16px;font-size:.86rem;font-weight:900;transition:transform .15s,border-color .15s,background-color .15s,color .15s,box-shadow .15s;display:inline-flex}.bg-chip:hover{box-shadow:0 4px 0 var(--button-shadow);transform:translateY(-1px)}.bg-chip:active{transform:translateY(3px);box-shadow:0 0 #0000}.bg-chip-active{border-color:var(--theme-accent);background:var(--theme-soft);color:var(--theme-ink)}.setting-note{border:2px solid var(--theme-soft-border);background:var(--theme-soft);color:var(--theme-ink);border-radius:1rem;padding:12px 14px;font-size:.82rem;font-weight:800;line-height:1.5}.preview-surface{flex:1}.preview-header{flex:none;justify-content:space-between;align-items:center;gap:14px;display:flex}.preview-meta{flex-wrap:wrap;flex:none;gap:8px;display:flex}.preview-meta span{border:2px solid var(--line);color:#475569;background:#fff;border-radius:999px;align-items:center;min-height:34px;padding:0 14px;font-size:.8rem;font-weight:800;display:inline-flex}.preview-stage{border:2px solid var(--line);background:linear-gradient(45deg, var(--checkerboard) 25%, transparent 25%, transparent 75%, var(--checkerboard) 75%, var(--checkerboard)), linear-gradient(45deg, var(--checkerboard) 25%, transparent 25%, transparent 75%, var(--checkerboard) 75%, var(--checkerboard));background-color:#fff;background-position:0 0,10px 10px;background-size:20px 20px;border-radius:1.7rem;flex:1;justify-content:center;align-items:center;min-height:320px;padding:18px;display:flex;overflow:auto}.preview-canvas{image-rendering:pixelated;image-rendering:crisp-edges;background:0 0;outline:3px solid #fb71851f;box-shadow:0 10px 24px #94a3b82e}.preview-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex}.preview-empty-icon{width:74px;height:74px}.primary-button,.secondary-button,.icon-button{border:2px solid var(--line);color:#334155;background:#fff;justify-content:center;align-items:center;gap:8px;min-height:42px;font-size:.88rem;font-weight:900;transition:transform .15s,border-color .15s,color .15s,background-color .15s,box-shadow .15s;display:inline-flex}.primary-button,.secondary-button,.icon-button,.text-button{cursor:pointer}.secondary-button,.icon-button{box-shadow:0 4px 0 var(--button-shadow);border-radius:1rem}.secondary-button--inline{white-space:nowrap;flex:none;width:auto}.primary-button{box-shadow:0 4px 0 var(--button-shadow);border-radius:1rem;padding:0 18px}.primary-button:hover:not(:disabled),.secondary-button:hover,.icon-button:hover:not(:disabled){border-color:var(--button-hover-line);color:var(--theme-ink);transform:translateY(-1px)}.primary-button:hover:not(:disabled){border-color:var(--theme-accent);background:var(--theme-accent);color:#fff}.secondary-button--accent-hover:hover{border-color:var(--theme-accent)}.primary-button:active:not(:disabled),.secondary-button:active,.icon-button:active:not(:disabled){transform:translateY(3px);box-shadow:0 0 #0000}.primary-button:disabled,.icon-button:disabled,.text-button:disabled{opacity:.52;cursor:not-allowed}.button-icon{background:var(--theme-soft);width:28px;height:28px;color:var(--theme-ink);border-radius:999px;flex:none;justify-content:center;align-items:center;transition:transform .16s,background-color .16s,color .16s;display:inline-flex}.primary-button:hover:not(:disabled) .button-icon{color:var(--theme-accent);background:#fff;transform:translate(2px)}.icon-button{width:36px;height:36px;min-height:36px;color:var(--muted);cursor:pointer;white-space:nowrap;box-shadow:0 4px 0 var(--button-shadow);border-radius:999px;justify-content:center;align-items:center;gap:0;padding:0;transition:transform .16s,box-shadow .16s,border-color .16s,background-color .16s,color .16s;display:inline-flex}.icon-button-quiet{width:42px;min-width:42px;padding:0}.icon-button-quiet:hover:not(:disabled){border-color:var(--theme-accent);color:var(--theme-ink)}.text-button{color:var(--theme-ink);background:0 0;border:0;align-items:center;gap:8px;padding:0;font-size:.84rem;font-weight:900;display:inline-flex}.text-button:hover:not(:disabled){color:var(--theme-accent-deep)}.text-button-danger{color:var(--danger)}.icon{flex:none;width:18px;height:18px;line-height:0;display:inline-flex}.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.is-mobile-preview{width:375px;margin:0 auto}.app.is-mobile-preview .workspace{flex-direction:column}.app.is-mobile-preview .settings-pane{width:100%}.app.is-mobile-preview .surface-scroll{margin-right:0;padding-right:0;overflow:visible}.app.is-mobile-preview .header-card,.app.is-mobile-preview .tool-surface{border-radius:1.8rem}.app.is-mobile-preview .tool-surface{padding:18px}.app.is-mobile-preview .document-toolbar__controls{gap:8px}.app.is-mobile-preview .brand-logo{height:34px}.app.is-mobile-preview .header-card__hero{gap:14px;padding:14px}.app.is-mobile-preview .app-badge{border-radius:1.2rem;width:64px;height:64px}.app.is-mobile-preview .header-card__copy h1{font-size:clamp(1.25rem,5.8vw,1.56rem)}.app.is-mobile-preview .header-card__copy p{font-size:.88rem}.app.is-mobile-preview .setting-row{grid-template-columns:1fr;gap:8px}.app.is-mobile-preview .section-header-row,.app.is-mobile-preview .palette-picker-row,.app.is-mobile-preview .custom-actions,.app.is-mobile-preview .preview-header{flex-direction:column;align-items:stretch}.app.is-mobile-preview .bg-color-control{grid-template-columns:1fr}.app.is-mobile-preview .dropzone{min-height:168px;padding:20px 16px}.app.is-mobile-preview .dropzone-icon{width:72px;height:72px}.app.is-mobile-preview .preview-stage{min-height:280px}.app.is-mobile-preview .secondary-button,.app.is-mobile-preview .primary-button{width:100%}.app.is-mobile-preview .secondary-button--inline{width:auto}.app.is-mobile-preview .source-meta,.app.is-mobile-preview .color-row:not(.color-row--refresh){grid-template-columns:20px 52px minmax(0,1fr) 42px}.app.is-mobile-preview .source-meta{grid-template-columns:56px minmax(0,1fr) 42px;display:grid}.app.is-mobile-preview .palette-strip{gap:8px}.app.is-mobile-preview .palette-chip{width:30px;height:30px}@media (width>=1024px){.settings-pane,.preview-pane,.preview-surface{min-height:0}}@media (width<=1023px){.workspace{flex-direction:column}.settings-pane{width:100%}.surface-scroll{margin-right:0;padding-right:0;overflow:visible}}@media (width<=720px){.app{gap:14px}.header-card,.tool-surface{border-radius:1.8rem}.tool-surface{padding:18px}.document-toolbar__controls{gap:8px}.brand-logo{height:42px}.surface-heading h2{font-size:1.35rem}.header-card__hero{gap:14px;padding:14px}.app-badge{border-radius:1.2rem;width:64px;height:64px}.header-card__copy h1{font-size:clamp(1.25rem,5.8vw,1.56rem)}.header-card__copy p{font-size:.88rem}.setting-row{grid-template-columns:1fr;gap:8px}.section-header-row,.palette-picker-row,.custom-actions,.preview-header{flex-direction:column;align-items:stretch}.bg-color-control{grid-template-columns:1fr}.dropzone{min-height:168px;padding:20px 16px}.dropzone-icon{width:72px;height:72px}.preview-stage{min-height:280px}.secondary-button,.primary-button{width:100%}.secondary-button--inline{width:auto}}@media (width<=520px){.source-meta,.color-row:not(.color-row--refresh){grid-template-columns:20px 52px minmax(0,1fr) 42px}.source-meta{grid-template-columns:56px minmax(0,1fr) 42px;display:grid}.palette-strip{gap:8px}.palette-chip{width:30px;height:30px}}.app.is-mobile-preview .color-row--refresh{grid-template-columns:minmax(0,1fr) 36px}@media (width<=520px){.color-row--refresh{grid-template-columns:minmax(0,1fr) 36px}}.workspace--refresh{align-items:flex-start;gap:24px}.settings-column,.preview-column{min-width:0}.settings-column{z-index:9;flex-direction:column;flex:none;gap:14px;width:min(100%,400px);display:flex;position:relative}.settings-column .accordion-card,.settings-column .panel-card{z-index:1;position:relative}:is(.settings-column .accordion-card:has(.mini-color-popover),.settings-column .panel-card:has(.mini-color-popover)){z-index:12}:is(.settings-column .accordion-card:has(.custom-select.is-open),.settings-column .panel-card:has(.custom-select.is-open)){z-index:14}.preview-column{flex:1;display:flex}.panel-card,.accordion-card,.preview-shell{border:3px solid var(--line);background:#fff;border-radius:2rem;width:100%}.panel-card{flex-direction:column;gap:14px;padding:18px;display:flex}.panel-card__heading,.panel-title{align-items:center;display:flex}.panel-card__heading{justify-content:space-between;gap:12px}.panel-title{color:#334155;gap:12px}.panel-title h2{letter-spacing:-.02em;margin:0;font-size:1.1rem;font-weight:900;line-height:1.2}.panel-title .icon,.accordion-card__lead-icon,.preview-shell__lead-icon{color:#94a3b8}.text-button-muted{color:var(--muted)}.text-button-muted:hover:not(:disabled){color:var(--theme-accent-deep)}.dropzone--refresh{box-shadow:none;text-align:center;background:#fff;border-color:#cbd5e1;border-radius:1.6rem;align-content:center;justify-items:center;gap:8px;padding:18px;display:grid}.dropzone--refresh:hover,.dropzone--refresh.dropzone-active{background:var(--theme-soft);border-color:var(--theme-accent);box-shadow:0 6px 0 var(--button-shadow);transform:translateY(-1px)}.dropzone--refresh.is-invalid-drag,.dropzone--refresh.is-invalid-drag:hover,.dropzone--refresh.is-invalid-drag.dropzone-active{cursor:no-drop;background:#fff7f7;border-color:#fda4af;box-shadow:0 6px #fda4af59}.dropzone-icon--refresh{width:auto;height:auto;color:var(--theme-accent);box-shadow:none;background:0 0;border-radius:0}.dropzone-icon--refresh .icon{width:24px;height:24px}.dropzone-copy--refresh{text-align:center;justify-items:center;gap:2px;min-width:0;display:grid}.dropzone-copy--refresh strong{color:var(--muted);font-size:.92rem;font-weight:700;line-height:1.45}.dropzone-copy--refresh span{color:var(--muted);font-size:.78rem;line-height:1.45}.image-source-row{cursor:pointer;background:#f8fafc;border:2px solid #e2e8f0;border-radius:1.2rem;align-items:center;gap:12px;padding:12px 14px;transition:border-color .16s,background-color .16s,transform .16s;display:flex}.image-source-row:hover{border-color:var(--theme-soft-border);background:#fff;transform:translateY(-1px)}.image-source-row__thumb-wrap{background:#fff;border:2px solid #e2e8f0;border-radius:.9rem;flex:none;width:44px;height:44px;padding:2px}.image-source-row__thumb{object-fit:cover;border-radius:.7rem;width:100%;height:100%}.image-source-row__copy{flex:1;gap:1px;min-width:0;display:grid}.image-source-row__copy strong,.image-source-row__copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.image-source-row__copy strong{color:var(--text);font-size:.9rem;font-weight:900}.image-source-row__copy span{color:var(--muted);font-size:.78rem;font-weight:700}.accordion-card{overflow:visible}.accordion-card__trigger{width:100%;color:inherit;text-align:left;cursor:pointer;background:#fff;border:0;border-radius:calc(2rem - 3px);justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;transition:background-color .16s;display:flex}.accordion-card.is-open .accordion-card__trigger{border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion-card__trigger:hover{background:#fcfdff}.accordion-card__title,.accordion-card__meta{align-items:center;display:flex}.accordion-card__title{color:#334155;letter-spacing:-.02em;gap:12px;min-width:0;font-size:1.1rem;font-weight:900;line-height:1.2}.accordion-card__lead-icon{flex:none}.accordion-card__meta{gap:10px;min-width:0}.accordion-card__summary{color:var(--muted);white-space:nowrap;font-size:.82rem;font-weight:700}.accordion-card__chevron{color:#cbd5e1;width:18px;height:18px;transition:transform .16s,color .16s}.accordion-card__chevron.is-open{color:var(--muted);transform:rotate(180deg)}.accordion-card__body{border-top:2px solid #f8fafc;flex-direction:column;gap:14px;padding:0 18px 18px;display:flex}.accordion-card__toolbar{justify-content:space-between;align-items:center;gap:12px;padding-top:14px;display:flex}.accordion-note{color:var(--muted);background:#f8fafc;border:1px solid #e2e8f0;border-radius:.9rem;padding:8px 10px;font-size:.75rem;font-weight:700;line-height:1.45}.slider-stack{gap:12px;display:grid}.compact-slider{grid-template-columns:72px minmax(0,1fr) 92px;align-items:center;gap:12px;display:grid}.compact-slider__label{color:var(--muted);font-size:.98rem;font-weight:800}.compact-slider__control{min-width:0;display:contents}.compact-slider__range{appearance:none;background:0 0;border:0;border-radius:0;width:100%;min-width:0;height:30px;margin:0;padding:0}.compact-slider__range::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--theme-accent) 0%, var(--theme-accent) var(--slider-percent), #e5e7eb var(--slider-percent), #e5e7eb 100%);background-clip:padding-box;border:2px solid #94a3b88f;border-radius:999px;height:16px}.compact-slider__range::-moz-range-track{background:#e5e7eb;border:2px solid #94a3b88f;border-radius:999px;height:16px}.compact-slider__range::-webkit-slider-thumb{appearance:none;background:var(--theme-accent);width:30px;height:30px;box-shadow:0 2px 0 var(--theme-accent-deep);cursor:pointer;border:0;border-radius:999px;margin-top:-8px}.compact-slider__range::-moz-range-progress{background:var(--theme-accent);border-radius:999px;height:16px}.compact-slider__range::-moz-range-thumb{background:var(--theme-accent);width:30px;height:30px;box-shadow:0 2px 0 var(--theme-accent-deep);cursor:pointer;border:0;border-radius:999px}.compact-slider__number{text-align:center;appearance:textfield;background:#f8fafc;border-color:#e2e8f0;border-radius:1rem;height:50px;padding:0 14px;font-size:.98rem;font-weight:900}.compact-slider__number::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.compact-slider__number::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.mini-preview{gap:8px;display:grid}.mini-preview__header{justify-content:space-between;align-items:center;gap:10px;display:flex}.mini-preview__header strong{color:var(--text);font-size:.82rem;font-weight:900}.mini-preview__header span,.mini-preview__empty{color:var(--muted);font-size:.76rem;font-weight:700}.mini-preview__frame{background-color:#fff;background-image:linear-gradient(45deg,#f8fafc 25%,#0000 25% 75%,#f8fafc 75%,#f8fafc),linear-gradient(45deg,#f8fafc 25%,#0000 25% 75%,#f8fafc 75%,#f8fafc);background-position:0 0,8px 8px;background-repeat:repeat,repeat;background-size:16px 16px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border:2px solid #e2e8f0;border-radius:1.1rem;justify-content:center;align-items:center;min-height:120px;padding:12px;display:flex}.mini-preview__canvas{max-width:100%;max-height:180px;image-rendering:pixelated;image-rendering:crisp-edges;border-radius:0}.palette-selector-row{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:10px;display:grid}.field-select--palette .custom-select__button{min-width:0;min-height:36px;box-shadow:0 4px 0 var(--button-shadow);background:#fff;border:2px solid #d7dee7;border-radius:.9rem;flex:1;padding:0 11px;font-size:.84rem;font-weight:800;line-height:1.2}.field-select--palette .custom-select__button:hover,.field-select--palette.custom-select.is-open .custom-select__button{border-color:var(--theme-soft-border);background:#fcfdff}.field-select--palette .custom-select__button:hover{box-shadow:0 5px 0 var(--button-shadow);transform:translateY(-1px)}.field-select--palette .custom-select__button:active{transform:translateY(4px);box-shadow:0 0 #0000}.palette-selector-row .secondary-button{min-width:88px;min-height:36px;box-shadow:0 4px 0 var(--button-shadow);color:var(--text);white-space:nowrap;background:#fff;border-color:#d7dee7;padding:0 16px}.palette-selector-row .secondary-button:hover{border-color:var(--theme-accent);color:var(--theme-ink);background:#fff}.palette-selector-row .secondary-button:active{transform:translateY(3px);box-shadow:0 0 #0000}.palette-strip--refresh{background:0 0;border:0;flex-wrap:wrap;gap:6px;padding:0;overflow:visible}.palette-chip--refresh{border-width:1px;width:24px;height:24px}.palette-editor-card{border:2px solid var(--theme-soft-border);background:linear-gradient(#f5f3ffeb,#fff);border-radius:1.4rem;gap:12px;padding:14px;display:grid}.color-list--refresh{gap:10px}.color-row--refresh{grid-template-columns:minmax(0,1fr) 36px;align-items:center;gap:8px}.color-row--refresh input[type=color]{width:44px;height:44px;padding:4px}.palette-color-picker{width:100%;min-width:0;position:relative}.palette-color-picker__row{width:100%;height:36px;min-height:36px;box-shadow:0 4px 0 var(--button-shadow);background:#fff;border:2px solid #d7dee7;border-radius:.9rem;gap:8px;padding:3px 7px}.palette-color-picker__row:hover,.palette-color-picker__row:focus-within,.palette-color-picker__row.is-open{border-color:var(--theme-soft-border);background:#fcfdff}.palette-color-picker__row:hover{box-shadow:0 5px 0 var(--button-shadow);transform:translateY(-1px)}.palette-color-picker__row:active{transform:translateY(4px);box-shadow:0 0 #0000}.palette-color-picker__row:has(.mini-color-swatch-button:active){transform:translateY(4px);box-shadow:0 0 #0000}.palette-color-picker__row:has(.mini-color-row__display:active){transform:translateY(4px);box-shadow:0 0 #0000}.palette-color-picker__row:has(.mini-color-row__toggle:active){transform:translateY(4px);box-shadow:0 0 #0000}.palette-color-picker__trigger{border-radius:.5rem;width:24px;min-width:24px;height:24px}.palette-color-picker__row .mini-color-row__display{font-size:.84rem;font-weight:800;line-height:1.2}.palette-color-picker__row .mini-color-row__toggle{width:18px;min-width:18px;height:18px}.color-row--refresh .icon-button{border-radius:.9rem;width:36px;min-width:36px;height:36px;min-height:36px}.custom-actions--refresh{align-items:center}.settings-stack{gap:14px;padding-top:14px;display:grid}.settings-stack--size-output{gap:12px;padding-top:8px}.settings-stack--size-output .field-card{background:#f8fafc;border:2px solid #e2e8f0;border-radius:1.25rem;gap:6px;padding:8px}.settings-stack--size-output .field-card__label{color:#64748b;font-size:.74rem;font-weight:800;line-height:1.3}.settings-stack--size-output .custom-select__button,.settings-stack--size-output input[type=number]{min-height:36px;color:var(--text);background:#fff;border:2px solid #d7dee7;border-radius:.9rem;padding:0 11px;font-size:.84rem;font-weight:800;line-height:1.2}.settings-stack--size-output .custom-select__button{box-shadow:0 4px 0 var(--button-shadow)}.settings-stack--size-output .custom-select__button:hover,.settings-stack--size-output .custom-select.is-open .custom-select__button,.settings-stack--size-output input[type=number]:hover,.settings-stack--size-output input[type=number]:focus{border-color:var(--theme-soft-border);background:#fcfdff}.settings-stack--size-output .custom-select__button:hover{box-shadow:0 5px 0 var(--button-shadow);transform:translateY(-1px)}.settings-stack--size-output .custom-select__button:active{transform:translateY(4px);box-shadow:0 0 #0000}.settings-stack--size-output input[type=number]{appearance:textfield;outline:none;width:100%}.settings-stack--size-output input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.settings-stack--size-output input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.dimension-grid{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:10px;display:grid}.dimension-grid--size-output{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.dimension-divider{color:#cbd5e1;padding-bottom:12px;font-size:1.15rem;font-weight:900}.settings-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.settings-grid--size-output{gap:12px}.settings-stack--size-output .mini-color-row{height:36px;min-height:36px;box-shadow:0 4px 0 var(--button-shadow);background:#fff;border:2px solid #d7dee7;border-radius:.9rem;gap:8px;padding:3px 7px}.settings-stack--size-output .mini-color-row:hover,.settings-stack--size-output .mini-color-row:focus-within,.settings-stack--size-output .mini-color-row.is-open{border-color:var(--theme-soft-border);background:#fcfdff}.settings-stack--size-output .mini-color-row:hover{box-shadow:0 5px 0 var(--button-shadow);transform:translateY(-1px)}.settings-stack--size-output .mini-color-row:active{transform:translateY(4px);box-shadow:0 0 #0000}.settings-stack--size-output .mini-color-row:has(.mini-color-swatch-button:active){transform:translateY(4px);box-shadow:0 0 #0000}.settings-stack--size-output .mini-color-row:has(.mini-color-row__display:active){transform:translateY(4px);box-shadow:0 0 #0000}.settings-stack--size-output .mini-color-row:has(.mini-color-row__toggle:active){transform:translateY(4px);box-shadow:0 0 #0000}.settings-stack--size-output .mini-color-swatch-button{border-radius:.5rem;width:24px;min-width:24px;height:24px}.settings-stack--size-output .mini-color-swatch-button.is-open{box-shadow:inset 0 0 0 1px #0f172a2e,0 0 0 2px #8b5cf62e}.settings-stack--size-output .mini-color-row__display{appearance:none;width:100%;min-width:0;height:auto;min-height:0;box-shadow:none;cursor:pointer;caret-color:#0000;background:0 0;border:0;border-radius:0;outline:none;flex:1;margin:0;padding:0;font-size:.84rem;font-weight:800;line-height:1.2}.settings-stack--size-output .mini-color-row .mini-input--hex{flex:1}.settings-stack--size-output .mini-color-row__toggle{width:18px;min-width:18px;height:18px}.size-output-divider{display:none}.field-card{gap:6px;display:grid}.field-card__label{color:var(--muted);font-size:.76rem;font-weight:800}.field-card__control{min-width:0}.field-card__control>*{width:100%}.field-select{min-width:0}.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}.field-chevron{width:14px;height:14px;color:var(--muted);flex:none;justify-content:center;align-items:center;display:inline-flex}.field-chevron svg{stroke:currentColor;fill:none;width:100%;height:100%}.custom-select{min-width:0;position:relative}.custom-select__button{border:2px solid var(--line);color:#334155;text-align:left;cursor:pointer;background:#fff;border-radius:1rem;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:44px;padding:0 14px;font-size:.9rem;font-weight:800;transition:transform .16s,border-color .16s,background-color .16s,box-shadow .16s;display:inline-flex}.custom-select__button:hover,.custom-select.is-open .custom-select__button{border-color:var(--theme-soft-border);background:#fcfdff}.custom-select__button:active{transform:translateY(1px)}.custom-select__button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.mini-input{min-width:0;color:var(--text);background:#fff;border:2px solid #e6edf6;border-radius:.9rem;outline:none;font-size:.84rem;font-weight:800;transition:border-color .16s,background-color .16s,box-shadow .16s}.mini-input:focus{border-color:var(--theme-soft-border)}.mini-input--hex{text-transform:uppercase}.mini-color-field{min-width:0;position:relative}.mini-color-row{cursor:pointer;background:#f8fafc;border:2px solid #e6edf6;border-radius:1.35rem;align-items:center;gap:10px;min-height:72px;padding:8px 16px;transition:transform .16s,box-shadow .16s,border-color .16s,background-color .16s;display:flex;transform:translateY(0);box-shadow:inset 0 1px #ffffffeb,0 4px #e2e8f0eb}.mini-color-row:hover,.mini-color-row:focus-within,.mini-color-row.is-open{border-color:var(--theme-soft-border);background:#fcfdff}.mini-color-row:active{transform:translateY(2px);box-shadow:inset 0 1px #ffffffeb,0 2px #e2e8f0eb}.mini-color-row:has(.mini-color-swatch-button:active){transform:translateY(2px);box-shadow:inset 0 1px #ffffffeb,0 2px #e2e8f0eb}.mini-color-row:has(.mini-color-row__display:active){transform:translateY(2px);box-shadow:inset 0 1px #ffffffeb,0 2px #e2e8f0eb}.mini-color-row:has(.mini-color-row__toggle:active){transform:translateY(2px);box-shadow:inset 0 1px #ffffffeb,0 2px #e2e8f0eb}.mini-color-swatch-button{cursor:pointer;border:0;border-radius:.7rem;flex:none;width:28px;min-width:28px;height:28px;padding:0;box-shadow:inset 0 0 0 1px #0f172a2e}.mini-color-swatch-button.is-open{box-shadow:inset 0 0 0 1px #0f172a2e,0 0 0 2px #8b5cf62e}.mini-color-swatch-button.is-transparent,.mini-color-popover__preview-swatch.is-transparent{background-color:#fff;background-image:linear-gradient(45deg,#f8fafc 25%,#0000 25% 75%,#f8fafc 75%,#f8fafc),linear-gradient(45deg,#f8fafc 25%,#0000 25% 75%,#f8fafc 75%,#f8fafc);background-position:0 0,8px 8px;background-repeat:repeat,repeat;background-size:16px 16px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box}.mini-color-row__display{appearance:none;width:100%;min-width:0;height:auto;min-height:0;box-shadow:none;color:var(--text);cursor:pointer;caret-color:#0000;background:0 0;border:0;border-radius:0;outline:none;flex:1;margin:0;padding:0;font-size:1.05rem;font-weight:900;line-height:1.2}.mini-color-row__toggle{color:#64748b;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:20px;min-width:20px;height:20px;padding:0;transition:color .15s;display:inline-flex}.mini-color-row:hover .mini-color-row__toggle,.mini-color-row:focus-within .mini-color-row__toggle,.mini-color-row.is-open .mini-color-row__toggle{color:#475569}.mini-color-popover{z-index:40;border:2px solid var(--line);background:#fff;border-radius:1.15rem;gap:12px;width:min(260px,100vw - 96px);padding:14px;display:grid;position:absolute;top:calc(100% + 12px);left:0;box-shadow:0 14px 28px #0f172a2e,0 4px #cbd5e1f5}.mini-color-popover.is-open-upward{top:auto;bottom:calc(100% + 12px)}.mini-color-popover:before{content:"";border-top:2px solid var(--line);border-left:2px solid var(--line);background:#fff;width:12px;height:12px;position:absolute;top:-7px;left:16px;transform:rotate(45deg)}.mini-color-popover.is-open-upward:before{border-top:0;border-left:0;border-right:2px solid var(--line);border-bottom:2px solid var(--line);top:auto;bottom:-7px}.mini-color-popover__toolbar{display:flex}.mini-color-transparent{min-height:34px;color:var(--muted);cursor:pointer;background:#fff;border:2px solid #e6edf6;border-radius:999px;padding:0 12px;font-size:.78rem;font-weight:800;transition:border-color .15s,background-color .15s,color .15s}.mini-color-transparent:hover,.mini-color-transparent.is-selected{border-color:var(--theme-soft-border);background:var(--theme-soft);color:var(--theme-accent-deep)}.mini-color-popover__preview{align-items:center;gap:10px;display:flex}.mini-color-popover__preview-swatch{border:2px solid #cbd5e1f5;border-radius:.7rem;width:26px;min-width:26px;height:26px;box-shadow:inset 0 0 0 1px #0f172a14}.mini-color-popover__hex{min-height:36px;padding-inline:11px}.mini-color-plane{aspect-ratio:1;cursor:crosshair;touch-action:none;border:2px solid #cbd5e1f5;border-radius:.9rem;width:100%;position:relative;overflow:hidden}.mini-color-plane:before,.mini-color-plane:after{content:"";position:absolute;inset:0}.mini-color-plane:before{background:linear-gradient(90deg,#fff 0%,#fff0 100%)}.mini-color-plane:after{background:linear-gradient(#0000 0%,#000 100%)}.mini-color-plane__pointer{pointer-events:none;border:2px solid #fff;border-radius:999px;width:14px;height:14px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0f172a38,0 2px 5px #0f172a33}.mini-color-hue-wrap{align-items:center;padding:2px 0;display:flex}.mini-color-hue{appearance:none;cursor:pointer;background:linear-gradient(90deg,#ff3b30 0%,#ffd60a 17%,#32d74b 33%,#64d2ff 50%,#0a84ff 67%,#bf5af2 83%,#ff2d55 100%);border:0;border-radius:999px;outline:none;width:100%;height:8px;margin:0}.mini-color-hue::-webkit-slider-runnable-track{background:0 0;border:0;border-radius:999px;height:8px}.mini-color-hue::-webkit-slider-thumb{appearance:none;background:var(--mini-color-thumb,#0a84ff);border:4px solid #fff;border-radius:999px;width:26px;height:26px;margin-top:-9px;box-shadow:0 2px #0f172a1f,0 6px 12px #0f172a47}.mini-color-hue::-moz-range-track{background:0 0;border:0;border-radius:999px;height:8px}.mini-color-hue::-moz-range-progress{background:0 0;border-radius:999px;height:8px}.mini-color-hue::-moz-range-thumb{background:var(--mini-color-thumb,#0a84ff);border:4px solid #fff;border-radius:999px;width:26px;height:26px;box-shadow:0 2px #0f172a1f,0 6px 12px #0f172a47}.mini-color-popover__swatches{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.mini-color-option{aspect-ratio:1;cursor:pointer;border:2px solid #cbd5e1f5;border-radius:.7rem;width:100%;padding:0;box-shadow:0 2px #cbd5e1eb}.mini-color-option.is-selected{border-color:#ec4899e6;box-shadow:0 2px #cbd5e1eb,0 0 0 2px #ec48992e}.custom-select__label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.custom-select.is-open .custom-select__icon{transform:rotate(180deg)}.custom-select__icon{transition:transform .16s,color .16s}.custom-select__menu{border:2px solid var(--line);width:100%;max-height:320px;box-shadow:0 16px 30px #94a3b833, 0 4px 0 var(--line);z-index:24;background:#fff;border-radius:1.35rem;padding:10px;position:absolute;top:calc(100% + 8px);left:0;overflow:auto}.custom-select.is-open-upward .custom-select__menu{top:auto;bottom:calc(100% + 8px)}.custom-select__menu[hidden]{display:none}.custom-select__options{flex-direction:column;gap:8px;display:flex}.custom-select__group{flex-direction:column;gap:4px;display:flex}.custom-select__group+.custom-select__group{border-top:1px solid #e2e8f0d1;padding-top:6px}.custom-select__group-label{color:#94a3b8;padding:2px 12px 4px;font-size:.74rem;font-weight:800}.custom-select__option{color:#475569;width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:1rem;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-weight:800;transition:background-color .15s,color .15s,transform .15s;display:flex}.custom-select__option:hover,.custom-select__option:focus-visible{background:var(--theme-soft);color:var(--theme-ink);outline:none}.custom-select__option[aria-selected=true]{background:var(--theme-soft);color:var(--theme-ink)}.custom-select__option-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.custom-select__check{width:16px;height:16px;color:var(--theme-accent);flex:none}.custom-select__check .icon{width:100%;height:100%}.bg-color-control--refresh{grid-template-columns:auto 44px minmax(0,1fr)}.bg-chip{min-height:44px;padding:0 14px;font-size:.8rem}.preview-shell{flex-direction:column;flex:1;min-height:640px;display:flex;overflow:hidden}.preview-overlay-backdrop{z-index:90;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a38;border:0;position:fixed;inset:0}.preview-shell.is-expanded{inset:calc(env(safe-area-inset-top,0px) + 12px) 12px 12px;z-index:91;border-radius:2rem;min-height:0;position:fixed}.preview-shell__header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0;border-bottom:2px solid #f8fafc;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.preview-shell__title{color:#334155;align-items:center;gap:12px;display:flex}.preview-shell__title h2{letter-spacing:-.02em;margin:0;font-size:1.1rem;font-weight:900;line-height:1.2}.preview-shell__lead-icon{flex:none;width:18px;height:18px}.preview-shell__actions{flex:none;align-items:center;gap:10px;display:inline-flex}.preview-shell__expand-button{width:42px;min-width:42px;height:42px;padding:0}.preview-shell__expand-button .icon{width:18px;height:18px}.preview-save-button{--preview-save-accent:#8b5cf6;--preview-save-accent-deep:#7c3aed;--preview-save-soft:#f3e8ff;border:2px solid var(--line);color:#475569;cursor:pointer;background:#fff;border-radius:1rem;justify-content:flex-start;align-items:center;gap:12px;width:auto;max-width:none;min-height:46px;padding:10px 16px;font-size:.96rem;font-weight:700;line-height:1.3;display:inline-flex}.preview-save-button:disabled{opacity:.45;cursor:not-allowed}.preview-save-button__label{font-weight:700}.preview-save-button__icon{color:#94a3b8;background:#f1f5f9;border-radius:999px;flex:none;justify-content:center;align-items:center;width:30px;height:30px;transition:transform .15s,background-color .15s,color .15s;display:inline-flex}.preview-save-button:hover:not(:disabled){border-color:var(--preview-save-accent);background:var(--preview-save-accent);color:#fff}.preview-save-button:hover:not(:disabled) .preview-save-button__icon{color:var(--preview-save-accent);background:#fff;transform:translate(2px)}.preview-shell.is-expanded .preview-stage--refresh{gap:14px;min-height:0;padding:18px 16px 14px}.preview-shell.is-expanded .preview-artwork{max-width:min(100%,100vw - 80px)}.preview-stage--refresh{background:linear-gradient(45deg, var(--checkerboard) 25%, transparent 25%, transparent 75%, var(--checkerboard) 75%, var(--checkerboard)), linear-gradient(45deg, var(--checkerboard) 25%, transparent 25%, transparent 75%, var(--checkerboard) 75%, var(--checkerboard));background-color:#fff;background-position:0 0,10px 10px;background-size:20px 20px;border:0;border-radius:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:18px;min-height:520px;padding:28px 20px 24px;display:flex;position:relative;overflow:hidden}.preview-stage--refresh.is-empty{background:#fff;min-height:220px;padding:14px}.preview-empty--refresh{border:2px solid var(--line);background:linear-gradient(#fff,#fcfdff);border-radius:1.5rem;align-content:center;justify-items:center;gap:10px;width:100%;height:100%;min-height:180px;padding:18px 16px;display:grid}.preview-empty-icon--refresh{width:auto;height:auto;color:var(--theme-accent);box-shadow:none;background:0 0;border-radius:0}.preview-empty-icon--refresh .icon{width:28px;height:28px}.preview-empty--refresh strong{color:var(--muted);font-size:.92rem;font-weight:700;line-height:1.45}.preview-artwork{cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border-radius:0;justify-content:center;align-items:center;max-width:100%;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 14px 28px #94a3b847}.preview-canvas--compare,.preview-canvas--pixel{image-rendering:pixelated;image-rendering:crisp-edges}.preview-canvas--compare{position:absolute;inset:0}.preview-canvas.is-hidden{opacity:0}.preview-canvas.is-visible{opacity:1}.compare-chip{color:#334155;white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;opacity:0;background:#ffffffeb;border:1px solid #e2e8f0e6;border-radius:999px;align-items:center;gap:6px;max-width:calc(100% - 20px);min-height:36px;padding:0 12px;font-size:.74rem;font-weight:800;transition:transform .15s,opacity .15s,background-color .15s;display:inline-flex;position:absolute;top:10px;right:10px;transform:translateY(-4px)}.compare-chip span{text-overflow:ellipsis;overflow:hidden}.preview-artwork:hover .compare-chip,.preview-artwork.is-showing-original .compare-chip,.compare-chip.is-active,.compare-chip.is-persisted{opacity:1;background:#fff;transform:translateY(0)}.preview-chip-row{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.preview-chip{color:#475569;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffeb;border:1px solid #e2e8f0f5;border-radius:999px;justify-content:center;align-items:center;min-height:34px;padding:0 14px;font-size:.78rem;font-weight:800;display:inline-flex}.app-footer{justify-content:flex-start;align-items:center;width:100%;max-width:100%;margin-top:-6px;margin-left:0;display:flex}.app-footer__contact-button{width:auto;min-height:44px;color:var(--muted);border-radius:999px;gap:7px;padding:12px 16px;font-size:1rem;font-weight:700;line-height:1.4}.app-footer__contact-button:hover:not(:disabled){color:var(--text);background:#fff}.app-footer__contact-symbol,.contact-modal__title-icon{color:#38bdf8;flex:none;justify-content:center;align-items:center;display:inline-flex}.app-footer__contact-symbol{width:24px;height:24px;transform:translateY(2px)}.app-footer__contact-symbol svg,.contact-modal__title-icon svg{fill:currentColor;width:100%;height:100%}.contact-modal__link-icon--email svg{fill:currentColor;width:22px;height:22px}.contact-modal-backdrop{z-index:70;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172a42;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.contact-modal{border:3px solid var(--line);background:#fff;border-radius:2rem;gap:18px;width:min(100%,560px);padding:22px;display:grid}.contact-modal__header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.contact-modal__title-wrap{align-items:flex-start;gap:12px;min-width:0;display:flex}.contact-modal__title-icon{width:35px;height:35px}.contact-modal__title-copy{min-width:0}.contact-modal__title-copy h2{color:var(--text);margin:0;font-size:1.14rem;font-weight:900;line-height:1.2}.contact-modal__title-copy p{color:var(--muted);margin:6px 0 0;font-size:.9rem;font-weight:700;line-height:1.55}.contact-modal__close{width:44px;height:44px;color:var(--muted);flex:none;margin-top:-3px}.contact-modal__close:hover:not(:disabled){color:var(--text);background:#fff}.contact-modal__close .icon{width:18px;height:18px}.contact-modal__links{gap:14px;display:grid}.contact-modal__link{border:3px solid var(--line);text-align:left;background:#fff;border-radius:1.5rem;align-items:center;gap:14px;padding:16px;display:flex}.contact-modal__link-icon{color:#fff;border-radius:.95rem;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.contact-modal__link-icon--email{background:#38bdf8}.contact-modal__link-icon--marshmallow{background:#fff1f2;border:1px solid #f3969a59}.contact-modal__marshmallow-logo{width:28px;height:28px;display:block}.contact-modal__link-copy{gap:2px;min-width:0;display:grid}.contact-modal__link-title{color:var(--text);font-size:1rem;font-weight:900;line-height:1.3;transition:color .15s}.contact-modal__link-text{color:var(--muted);font-size:.86rem;font-weight:700;line-height:1.45}.contact-modal__link--email:hover{background:#f0f9ff;border-color:#38bdf8}.contact-modal__link--email:hover .contact-modal__link-title{color:#0ea5e9}.contact-modal__link--marshmallow:hover{background:#fdf2f8;border-color:#f472b6}.contact-modal__link--marshmallow:hover .contact-modal__link-title{color:#ec4899}.contact-modal__meta{color:var(--muted);border-top:2px solid #e2e8f0e6;justify-content:space-between;align-items:center;gap:12px;padding-top:2px;font-size:.8rem;font-weight:800;line-height:1.3;display:flex}.contact-modal__meta-value{color:#64748be0;letter-spacing:.02em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;font-weight:700}.upload-notice-popup{left:50%;top:calc(env(safe-area-inset-top,0px) + 18px);z-index:70;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa;border:2px solid #fda4af;border-radius:1.35rem;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px;width:min(460px,100vw - 32px);padding:14px 14px 14px 16px;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 20px 44px #0f172a24,0 4px #fda4af61}.upload-notice-popup__copy{gap:4px;min-width:0;display:grid}.upload-notice-popup__copy strong{color:#be123c;font-size:.94rem;font-weight:900;line-height:1.3}.upload-notice-popup__copy p{color:var(--muted);font-size:.82rem;font-weight:700;line-height:1.55}.upload-notice-popup__close{flex:none;width:40px;height:40px;margin-top:1px}.app.is-compact-layout .workspace--refresh{flex-direction:column}.app.is-mobile-preview .app-footer__contact-button{width:auto}.app.is-compact-layout.has-image .preview-column{z-index:10;order:-1;width:100%;position:sticky;top:14px}.app.is-compact-layout.has-image .preview-column.is-expanded-layer{z-index:92}.app.is-compact-layout.has-image .settings-column{z-index:7}.app.is-compact-layout .settings-column,.app.is-compact-layout .preview-column{width:100%}.app.is-empty .preview-shell{min-height:420px}.app.is-compact-layout.is-empty .preview-shell{min-height:240px}.app.is-compact-layout .custom-actions--refresh{flex-direction:column;align-items:stretch}.app.is-compact-layout .preview-stage--refresh{min-height:320px;padding:20px 16px}.app.is-compact-layout.has-image .preview-shell{min-height:auto}.app.is-compact-layout.has-image .preview-shell__header{padding:12px 14px}.app.is-compact-layout.has-image .preview-shell__actions{gap:8px}.app.is-compact-layout.has-image .preview-shell__expand-button,.app.is-compact-layout.has-image .preview-save-button{min-height:40px}.app.is-compact-layout.has-image .preview-shell__expand-button{width:40px;min-width:40px;height:40px}.app.is-compact-layout.has-image .preview-save-button{gap:10px;padding:8px 12px;font-size:.9rem}.app.is-compact-layout.has-image .preview-save-button__icon{width:26px;height:26px}.app.is-compact-layout.has-image .preview-stage--refresh{gap:8px;min-height:0;padding:10px 12px}.app.is-compact-layout .preview-stage--refresh.is-empty{min-height:184px;padding:14px}.app.is-compact-layout .preview-artwork{max-width:calc(100vw - 72px)}.app.is-compact-layout.has-image .preview-shell.is-inline-compact .preview-artwork{max-width:min(168px,100vw - 140px)}.app.is-compact-layout.has-image .preview-shell.is-inline-compact .compare-chip{display:none}.app.is-compact-layout .settings-grid,.app.is-compact-layout .bg-color-control--refresh,.app.is-compact-layout .dimension-grid{grid-template-columns:1fr}.app.is-compact-layout .dimension-divider{display:none}.app.is-compact-layout .dropzone--refresh{padding:18px 16px}.app.is-compact-layout .dropzone-icon--refresh{width:48px;height:48px}.app.is-compact-layout .preview-chip-row{gap:6px;width:100%}.app.is-compact-layout.has-image .preview-shell.is-inline-compact .preview-chip{min-height:30px;padding:0 11px;font-size:.76rem}.app.is-compact-layout.has-image .preview-shell.is-expanded{inset:calc(env(safe-area-inset-top,0px) + 12px) 12px 12px}.app.is-compact-layout.has-image .preview-shell.is-expanded .preview-stage--refresh{gap:12px;min-height:0;padding:16px 14px 12px}.app.is-compact-layout.has-image .preview-shell.is-expanded .preview-artwork{max-width:min(100%,100vw - 64px)}.app.is-compact-layout.has-image .preview-shell.is-expanded .compare-chip{opacity:1;transform:translateY(0)}.app.is-compact-layout .settings-grid--size-output{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.app.is-compact-layout .dimension-grid--size-output{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.app.is-compact-layout .settings-stack--size-output .field-card__label{font-size:.74rem}.app.is-compact-layout .settings-stack--size-output .custom-select__button,.app.is-compact-layout .settings-stack--size-output input[type=number]{border-radius:.9rem;min-height:36px;padding:0 11px;font-size:.84rem}.app.is-compact-layout .settings-stack--size-output .mini-color-row{border-radius:.9rem;height:36px;min-height:36px;padding:3px 7px}.app.is-compact-layout .settings-stack--size-output .mini-color-row__display{font-size:.84rem}.palette-editor-card .palette-color-picker__row{height:36px;min-height:36px;box-shadow:0 4px 0 var(--button-shadow);background:#fff;border:2px solid #d7dee7;border-radius:.9rem;gap:8px;padding:3px 7px}.palette-editor-card .palette-color-picker__row:hover,.palette-editor-card .palette-color-picker__row:focus-within,.palette-editor-card .palette-color-picker__row.is-open{border-color:var(--theme-soft-border);background:#fcfdff}.palette-editor-card .palette-color-picker__row:hover{box-shadow:0 5px 0 var(--button-shadow);transform:translateY(-1px)}.palette-editor-card .palette-color-picker__row:active{transform:translateY(4px);box-shadow:0 0 #0000}.palette-editor-card .palette-color-picker__row:has(.mini-color-swatch-button:active){transform:translateY(4px);box-shadow:0 0 #0000}.palette-editor-card .palette-color-picker__row:has(.mini-color-row__display:active){transform:translateY(4px);box-shadow:0 0 #0000}.palette-editor-card .palette-color-picker__row:has(.mini-color-row__toggle:active){transform:translateY(4px);box-shadow:0 0 #0000}.palette-editor-card .palette-color-picker__trigger{border-radius:.5rem;width:24px;min-width:24px;height:24px}.palette-editor-card .palette-color-picker__row .mini-color-row__display{appearance:none;width:100%;min-width:0;height:auto;min-height:0;box-shadow:none;cursor:pointer;caret-color:#0000;background:0 0;border:0;border-radius:0;outline:none;flex:1;margin:0;padding:0;font-size:.84rem;font-weight:800;line-height:1.2}.palette-editor-card .palette-color-picker__row .mini-color-row__toggle{width:18px;min-width:18px;height:18px}@media (width<=1023px){.workspace--refresh{flex-direction:column}.settings-column,.preview-column{width:100%}}@media (width<=720px){.workspace--refresh{gap:18px}.panel-card,.accordion-card,.preview-shell{border-radius:1.8rem}.panel-card{padding:16px}.accordion-card__trigger,.preview-shell__header{padding:14px 16px}.accordion-card__body{padding:0 16px 16px}.preview-shell__header{gap:12px}.preview-shell__title h2{font-size:1rem}.compare-chip{font-size:.72rem}.preview-artwork{border-radius:0}.mini-color-popover{width:min(236px,100vw - 88px)}.app-footer__contact-button{width:auto}.contact-modal-backdrop{padding:14px}.contact-modal{border-radius:1.6rem;padding:18px}.contact-modal__header{gap:12px}.contact-modal__title-wrap{gap:10px}.contact-modal__title-icon{width:35px;height:35px}.contact-modal__title-copy h2{font-size:1.04rem}.contact-modal__title-copy p{font-size:.84rem}.contact-modal__link{gap:12px;padding:14px}.contact-modal__link-icon{border-radius:.85rem;width:36px;height:36px}.contact-modal__link-title{font-size:.94rem}.contact-modal__link-text{font-size:.8rem}.contact-modal__meta{flex-direction:column;align-items:flex-start}.contact-modal__meta-value{font-size:.75rem}.upload-notice-popup{top:calc(env(safe-area-inset-top,0px) + 12px);border-radius:1.2rem;width:min(460px,100vw - 20px);padding:13px}.upload-notice-popup__copy strong{font-size:.9rem}.upload-notice-popup__copy p{font-size:.78rem}.compact-slider{grid-template-columns:1fr;gap:8px}.compact-slider__control{grid-template-columns:minmax(0,1fr) 92px;align-items:center;gap:12px;display:grid}}
