:root{--font-mono: "Space Mono", "Martian Mono", ui-monospace, monospace;--bg-primary: #ffffff;--bg-secondary: #f0f1f2;--bg-tertiary: #e5e6e7;--bg-input: #f0f1f2;--bg-fill: #d9d9da;--text-primary: #000000;--text-secondary: #86909a;--text-muted: #7a8891;--border-color: rgba(0, 0, 0, .1);--ring-color: #000000;--btn-primary-bg: #21292e;--btn-primary-text: #f0f6fc;--viewer-bg: #ffffff;--panel-shadow: 0 4px 24px rgba(0, 0, 0, .08)}[data-theme=dark]{--bg-primary: #21292e;--bg-secondary: #2a3439;--bg-tertiary: #323b41;--bg-input: #2a3439;--bg-fill: #3d484f;--text-primary: #f0f6fc;--text-secondary: #c1c9d0;--text-muted: #7a8891;--border-color: rgba(255, 255, 255, .1);--ring-color: #f0f6fc;--btn-primary-bg: #f0f6fc;--btn-primary-text: #21292e;--viewer-bg: #000000;--panel-shadow: 0 4px 24px rgba(0, 0, 0, .3)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden;font-family:var(--font-mono);font-size:15px;line-height:1.33;background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{display:flex;width:100%;height:100%;position:relative;overflow:hidden;align-items:center}#mobile-warning{height:100%;width:100%;padding:24px;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-mono);font-size:16px;line-height:1.6;display:none;align-items:center;justify-content:center;text-align:center}#mobile-warning p{max-width:520px}.ui-panel{width:416px;flex-shrink:0;height:100%;background:var(--bg-primary);border-right:1px solid var(--border-color);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--text-muted) transparent;transition:background-color .3s ease}.ui-panel::-webkit-scrollbar{width:6px}.ui-panel::-webkit-scrollbar-track{background:transparent}.ui-panel::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:3px}.panel-content{padding:20px;display:flex;flex-direction:column;gap:16px}.viewer{flex:1;position:relative;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;background:var(--viewer-bg);transition:background-color .3s ease}.viewer-inner{position:relative;width:min(100%,100vh);aspect-ratio:1;max-width:100%;max-height:100vh}#c{display:block;width:100%;height:100%}.load-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;z-index:10;pointer-events:none;transition:opacity .6s ease-out}.load-overlay.fade-out{opacity:0}.viewer-export-btn{position:fixed;top:20px;right:20px;z-index:5;padding:11px 16px 13px;font-family:var(--font-mono);font-size:15px;font-weight:400;color:var(--text-secondary);background:var(--bg-input);border:none;border-radius:8px;cursor:pointer;text-transform:uppercase;white-space:nowrap;transition:background .15s}.viewer-export-btn:hover{background:var(--bg-tertiary)}@media (max-width: 1024px){.app{display:none}#mobile-warning{display:flex}}.input-group{display:flex;flex-direction:column;gap:10px}.fieldset{display:flex;flex-direction:column;gap:0}.fieldset-label{font-family:var(--font-mono);font-size:16px;font-weight:400;text-transform:uppercase;color:var(--text-primary);line-height:20px;margin-bottom:12px}.fieldset-label.expandable{cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:space-between;gap:4px}.fieldset-label.expandable::-webkit-details-marker{display:none}.collapsible-section{width:100%}.arrow-icon{flex-shrink:0;transition:transform .2s ease;transform:rotate(0)}.collapsible-section[open]>summary .arrow-icon{transform:rotate(180deg)}.group-label{font-family:var(--font-mono);font-size:12px;font-weight:400;text-transform:uppercase;color:var(--text-primary);opacity:.3;line-height:20px;margin-top:8px;margin-bottom:2px}.group-label:first-child{margin-top:0}.advanced-divider{width:100%;display:flex;align-items:center;gap:10px;margin:8px 0 4px}.advanced-divider:before,.advanced-divider:after{content:"";height:1px;background:var(--border-color);flex:1}.advanced-divider>span{font-family:var(--font-mono);font-size:12px;font-weight:400;text-transform:uppercase;color:var(--text-primary);opacity:.3;line-height:20px;white-space:nowrap}.field-row{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:36px}.field-row+.field-row{margin-top:4px}.field-name{font-family:var(--font-mono);font-size:16px;font-weight:400;text-transform:uppercase;color:var(--text-primary);line-height:20px;white-space:nowrap;flex-shrink:0}.fields-group{display:flex;flex-direction:column;gap:4px}.field-control{width:200px;flex-shrink:0}.file-input{position:relative;display:flex;align-items:center;gap:4px;padding:11px 12px 11px 16px;background:var(--bg-secondary);border-radius:8px;cursor:pointer;transition:background-color .2s ease}.file-input:hover{background:var(--bg-tertiary)}.file-input input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:0}.file-icon,.file-action{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;color:var(--text-secondary)}.file-name{flex:1;font-size:15px;color:var(--text-secondary);text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.button-group{display:flex;gap:4px}.option-btn{flex:1;height:36px;padding:0 8px;background:var(--bg-input);border:none;border-radius:8px;font-family:var(--font-mono);font-size:12px;color:var(--text-secondary);text-transform:uppercase;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.option-btn:hover{background:var(--bg-fill)}.option-btn.selected{background:var(--btn-primary-bg);color:var(--btn-primary-text)}.slider-wrap{position:relative;width:200px;height:36px;flex-shrink:0}.slider{width:100%;height:36px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(to right,var(--bg-fill) 0,var(--bg-fill) var(--range-progress, 0%),var(--bg-input) var(--range-progress, 0%),var(--bg-input) 100%);border-radius:8px;outline:none;cursor:pointer;display:block}.slider::-webkit-slider-runnable-track{height:100%;background:transparent;border-radius:8px}.slider::-moz-range-track{height:100%;background:transparent;border-radius:8px}.slider::-webkit-slider-thumb{-webkit-appearance:none;width:0;height:0;background:transparent;border:none}.slider::-moz-range-thumb{width:0;height:0;background:transparent;border:none}.slider-value{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-family:var(--font-mono);font-size:15px;color:var(--text-secondary);pointer-events:none;white-space:nowrap;line-height:1}.swatches-wrap{position:relative;display:flex;gap:4px;width:200px;height:36px;flex-shrink:0;align-items:stretch}.swatch{flex:1;min-width:0;height:36px;border-radius:8px;cursor:pointer;position:relative;transition:transform .1s ease;box-sizing:border-box}.swatch:hover{transform:scaleY(1.05)}.swatch.active:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1.5px solid var(--text-primary);border-radius:8px;pointer-events:none}.swatch-custom{background:var(--bg-input);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:14px;color:var(--text-secondary)}.swatch-custom:before{content:"#";pointer-events:none}.color-display-wrap{position:relative;width:36px;height:36px;flex-shrink:0;border-radius:8px;cursor:pointer;flex-grow:0;background:var(--bg-input);display:flex;align-items:center;justify-content:center}.bg-color-display{flex-shrink:0}.bg-color-display:before{content:"#";font-family:var(--font-mono);font-size:14px;color:var(--text-secondary)}.bg-color-display.active:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:8px;border:1.5px solid var(--text-primary);pointer-events:none}.color-display,.color-hex{display:none}.color-picker-hidden{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;pointer-events:none;cursor:pointer;font-size:0;border:none;padding:0}.export-btn{width:100%;height:44px;padding:0 12px;background:var(--btn-primary-bg);border:none;border-radius:8px;font-family:var(--font-mono);font-size:15px;font-weight:400;color:var(--btn-primary-text);text-transform:uppercase;cursor:pointer;transition:opacity .2s ease}.export-btn:hover{opacity:.9}.mobile-toggle{display:none;position:fixed;top:20px;left:20px;z-index:100;padding:12px;background:var(--bg-primary);border:none;border-radius:8px;color:var(--text-primary);cursor:pointer;box-shadow:var(--panel-shadow);transition:all .2s ease}.mobile-toggle:hover{opacity:.9}.mobile-toggle .hidden{display:none}.mobile-drawer{display:none;position:fixed;inset:auto 0 0 0;z-index:90;background:var(--bg-primary);border-radius:16px 16px 0 0;box-shadow:0 -4px 24px #00000026;max-height:50vh;transform:translateY(calc(100% - 56px));transition:transform .3s ease}.mobile-drawer.open{transform:translateY(0)}.drawer-handle{width:100%;padding:16px;background:transparent;border:none;border-bottom:1px solid var(--border-color);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px}.handle-bar{width:48px;height:4px;background:var(--text-muted);border-radius:2px}.handle-text{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12px;color:var(--text-secondary);text-transform:uppercase}.mobile-drawer.open .handle-text svg{transform:rotate(180deg)}.drawer-content{overflow-y:auto;max-height:calc(50vh - 56px);padding:20px;display:flex;flex-direction:column;gap:16px;-webkit-overflow-scrolling:touch}@media (max-width: 1024px){.app{flex-direction:column}.ui-panel{display:none}.mobile-toggle{display:flex}.mobile-drawer{display:block}.viewer{width:100%;flex:0 0 50vh;min-height:50vh;min-width:0;align-self:stretch}}@media (max-width: 480px){.panel-content,.drawer-content{padding:16px;gap:12px}.field-name{font-size:13px}.slider-wrap,.field-control,.swatches-wrap{width:160px}.option-btn,.export-btn{font-size:12px}}.hidden{display:none!important}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.input-group,.fieldset{animation:fadeIn .3s ease forwards}.fieldset:nth-child(1){animation-delay:.05s}.fieldset:nth-child(2){animation-delay:.1s}.fieldset:nth-child(3){animation-delay:.15s}.fieldset:nth-child(4){animation-delay:.2s}.fieldset:nth-child(5){animation-delay:.25s}.fieldset:nth-child(6){animation-delay:.3s}.fieldset:nth-child(7){animation-delay:.35s}button:focus-visible,input:focus-visible{outline:2px solid var(--ring-color);outline-offset:2px}
