.studio{--g-paper:#edefe8;--g-paper-deep:#dde1d7;--g-card:#f6f7f1;--g-ink:#1f2420;--g-spruce:#26483f;--g-spruce-deep:#1b3832;--g-marigold:#d9a62e;--g-soft:#4a5048;--g-rule:#b6bcb0;border-top:1px solid var(--g-rule);border-bottom:1px solid var(--g-rule);background:var(--g-paper);width:100%;color:var(--g-ink);grid-template-columns:minmax(0,1fr) 384px;display:grid}.studio-main{flex-direction:column;min-width:0;display:flex}.studio-bar{border-bottom:1px solid var(--g-rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 24px;padding:16px 28px;display:flex}.studio-bar-title{align-items:baseline;gap:18px;min-width:0;display:flex}.studio-back{min-height:44px;color:var(--g-soft);align-items:center;gap:8px;font-size:.82rem;font-weight:700;text-decoration:none;display:inline-flex}.studio-back:hover{color:var(--g-ink);text-underline-offset:4px;text-decoration:underline}.studio-bar h1{letter-spacing:-.04em;white-space:nowrap;margin:0;font-size:clamp(1.35rem,2.2vw,1.9rem);font-weight:800}.studio-bar-tools{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.studio-price{border-left:1px solid var(--g-rule);align-items:baseline;gap:8px;min-height:44px;margin-right:6px;padding:0 14px;display:inline-flex}.studio-price strong{font-size:.95rem;font-weight:800}.studio-price small{color:var(--g-soft);letter-spacing:.02em;font-size:.7rem}.gen-canvas-wrap{background:#f4eee6;flex:1;min-height:clamp(360px,62vh,720px);position:relative}.gen-canvas-wrap>div:first-child{position:absolute;inset:0}.gen-canvas-wrap canvas{touch-action:none;width:100%;height:100%;display:block}.studio-stage-tools{border:1px solid var(--g-rule);backdrop-filter:blur(2px);background:#f6f7f1eb;border-radius:2px;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:8px 12px;display:flex;position:absolute;top:16px;left:16px}.gen-check{min-height:44px;color:var(--g-ink);align-items:center;gap:8px;font-size:.78rem;font-weight:700;display:inline-flex}.gen-check input[type=checkbox]{width:20px;height:20px;accent-color:var(--g-spruce)}.gen-check input[type=range]{width:96px;accent-color:var(--g-spruce)}.gen-stage-btn{min-height:44px;color:var(--g-ink);font:inherit;background:0 0;border:1px solid #8f9589;border-radius:2px;padding:0 12px;font-size:.76rem;font-weight:700}.gen-stage-btn:hover{background:var(--g-paper-deep)}.gen-stage-btn:focus-visible{outline:3px solid var(--g-spruce);outline-offset:2px}.gen-status{border:1px solid var(--g-rule);max-width:calc(100% - 32px);color:var(--g-ink);background:#f6f7f1f0;border-radius:2px;align-items:center;gap:8px;padding:7px 12px;font-size:.74rem;font-weight:700;display:flex;position:absolute;bottom:16px;left:16px}.gen-status .dot{background:#2f7a55;border-radius:50%;flex:none;width:8px;height:8px}.gen-status.is-busy .dot{background:var(--g-marigold);animation:1s ease-in-out infinite g-pulse}.gen-status.is-error .dot{background:#b44222}@keyframes g-pulse{50%{opacity:.3}}.gen-notice{color:#63440a;background:#fbf1d8;border:1px solid #d5b36a;border-radius:2px;max-width:min(360px,100% - 32px);margin:0;padding:7px 12px;font-size:.74rem;font-weight:700;position:absolute;bottom:16px;right:16px}.studio-result{border-top:1px solid var(--g-rule);background:var(--g-card);grid-template-columns:132px minmax(0,1fr);align-items:center;gap:18px;padding:16px 28px 20px;display:grid}.studio-result img,.studio-result-thumb{border:1px solid var(--g-rule);background:repeating-linear-gradient(#f4eee6 0 11px,#e6ddcf 11px 12px);border-radius:2px;width:132px;height:132px;display:block}.studio-result dl{flex-wrap:wrap;gap:6px 26px;margin:0 0 8px;display:flex}.studio-result dt{letter-spacing:.07em;text-transform:uppercase;color:var(--g-soft);font-size:.66rem}.studio-result dd{color:var(--g-ink);margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;font-weight:600}.studio-result p{color:var(--g-soft);margin:0;font-size:.78rem;line-height:1.55}.studio-panel{border-left:1px solid var(--g-rule);background:var(--g-card);flex-direction:column;min-width:0;display:flex}.studio-panel-scroll{flex-direction:column;gap:20px;max-height:74vh;padding:20px 22px 24px;display:flex;overflow-y:auto}.studio-panel-foot{border-top:1px solid var(--g-rule);background:var(--g-paper);gap:10px;margin-top:auto;padding:16px 22px 20px;display:grid}.gen-wide{width:100%}.gen-group{border-bottom:1px solid #cfd4c9;flex-direction:column;gap:12px;padding-bottom:18px;display:flex}.gen-group:last-child{border-bottom:0;padding-bottom:0}.gen-group-title{letter-spacing:.13em;text-transform:uppercase;color:var(--g-soft);margin:0;font-size:.68rem;font-weight:800}.gen-field{gap:6px;display:grid}.gen-field>span{font-size:.79rem;font-weight:700}.gen-hint{color:var(--g-soft);margin:0;font-size:.72rem;line-height:1.5}.gen-input,.gen-select{background:var(--g-paper);width:100%;min-height:44px;color:var(--g-ink);font:inherit;border:1px solid #8f9589;border-radius:2px;padding:10px 12px;font-size:.9rem}.gen-input::placeholder{color:#5c6259;opacity:1}.gen-input:focus-visible,.gen-select:focus-visible,.gen-range:focus-visible,.gen-seg button:focus-visible{outline:3px solid var(--g-spruce);outline-offset:2px}.gen-range-row{gap:4px;display:grid}.gen-range-head{justify-content:space-between;align-items:baseline;gap:12px;font-size:.78rem;font-weight:700;display:flex}.gen-range-head output{color:var(--g-soft);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;font-weight:600}.gen-range{width:100%;height:26px;accent-color:var(--g-spruce);cursor:pointer;margin:0}.gen-seg{border:1px solid var(--g-rule);border-radius:2px;grid-auto-columns:1fr;grid-auto-flow:column;display:grid;overflow:hidden}.gen-seg button{border:0;border-right:1px solid var(--g-rule);min-height:44px;color:var(--g-ink);font:inherit;background:0 0;padding:6px 8px;font-size:.76rem;font-weight:700}.gen-seg button:last-child{border-right:0}.gen-seg button:hover{background:var(--g-paper-deep)}.gen-seg button[aria-pressed=true]{background:var(--g-spruce);color:var(--g-paper)}.gen-toggle{border:1px solid var(--g-rule);border-radius:2px;justify-content:space-between;align-items:center;gap:14px;min-height:44px;padding:8px 10px;font-size:.79rem;font-weight:700;display:flex}.gen-toggle input{width:22px;height:22px;accent-color:var(--g-spruce);flex:none}.gen-matrix-size{flex-wrap:wrap;gap:18px;display:flex}.gen-matrix-size .gen-field{flex:1;min-width:120px}.gen-matrix{gap:6px;display:grid}.gen-cell{aspect-ratio:1;min-height:44px;display:grid}.gen-cell-tile{border:1.5px solid var(--g-spruce);background:var(--g-paper);cursor:grab;place-items:center;display:grid;position:relative}.gen-cell-tile.is-selected{outline:2px solid var(--g-marigold);outline-offset:2px}.gen-cell-tile input{width:100%;height:100%;color:inherit;font:inherit;text-align:center;text-transform:uppercase;background:0 0;border:0;font-size:1.05rem;font-weight:800}.gen-cell-empty{color:var(--g-soft);font:inherit;cursor:pointer;background:0 0;border:1.5px dashed #8f9589;font-size:1.1rem;font-weight:700}.gen-cell-empty:hover:not(:disabled){border-color:var(--g-spruce);background:var(--g-paper-deep)}.gen-cell-empty:disabled{cursor:not-allowed;opacity:.5}.gen-cell-empty:focus-visible{outline:3px solid var(--g-spruce);outline-offset:2px}.gen-matrix-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.gen-matrix-actions .gen-hint{margin:0}.gen-keys{gap:6px;display:grid}.gen-key-row{border:1px solid var(--g-rule);background:var(--g-paper);border-radius:2px;align-items:center;gap:8px;padding:6px;display:flex}.gen-key-row input[type=text]{background:var(--g-card);width:44px;min-height:44px;color:var(--g-ink);font:inherit;text-align:center;text-transform:uppercase;border:1px solid #8f9589;border-radius:2px;padding:4px;font-size:.9rem;font-weight:700}.gen-key-label{min-width:0;color:var(--g-soft);flex:1;font-size:.72rem}.gen-icon-btn{border:1px solid var(--g-rule);width:44px;height:44px;color:var(--g-ink);font:inherit;background:0 0;border-radius:2px;place-items:center;font-size:.95rem;font-weight:700;display:grid}.gen-icon-btn:hover:not(:disabled){border-color:var(--g-spruce);background:var(--g-paper-deep)}.gen-icon-btn:disabled{color:#9aa094}.gen-icon-btn.is-add{border-color:var(--g-spruce);background:var(--g-spruce);color:var(--g-paper)}.gen-stepper{align-items:center;gap:10px;display:flex}.gen-stepper output{text-align:center;min-width:2.4ch;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9rem;font-weight:700}.gen-part-chips{flex-wrap:wrap;gap:8px;display:flex}.gen-part-chip{background:var(--g-paper);min-height:44px;color:var(--g-ink);font:inherit;border:1px solid #8f9589;border-radius:2px;align-items:center;gap:8px;padding:0 14px;font-size:.78rem;font-weight:700;display:inline-flex}.gen-part-chip:hover{border-color:var(--g-spruce);background:var(--g-paper-deep)}.gen-part-chip-dot{border:1px solid #1f242047;border-radius:2px;flex:none;width:16px;height:16px}.gen-btn{min-height:44px;color:var(--g-ink);font:inherit;background:0 0;border:1px solid #8f9589;border-radius:2px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:.8rem;font-weight:700;text-decoration:none;display:inline-flex}.gen-btn:hover:not(:disabled){background:var(--g-paper-deep)}.gen-btn.is-primary{border-color:var(--g-marigold);background:var(--g-marigold);color:var(--g-ink)}.gen-btn.is-primary:hover:not(:disabled){background:#e6b94f;border-color:#e6b94f}.gen-btn:focus-visible{outline:3px solid var(--g-spruce);outline-offset:2px}.gen-btn:disabled{opacity:.6}.gen-popover{z-index:70;color:#1f2420;background:#f6f7f1;border:1px solid #8f9589;padding:12px;position:fixed;box-shadow:0 10px 28px #141c182e}.gen-popover:focus-visible{outline:3px solid var(--g-spruce);outline-offset:2px}.gen-popover-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;font-size:.82rem;display:flex}.gen-popover-head strong{font-weight:800}.gen-popover-close{width:32px;height:32px;color:inherit;background:0 0;border:1px solid #0000;place-items:center;font-size:1.15rem;line-height:1;display:grid}.gen-popover-close:hover{border-color:#8f9589}.gen-popover-custom{align-items:center;gap:10px;margin-bottom:10px;display:flex}.gen-color{border:1px solid #8f9589;border-radius:2px;flex:none;width:44px;height:44px;display:block;position:relative;overflow:hidden}.gen-color span{position:absolute;inset:0}.gen-color input[type=color]{opacity:0;cursor:pointer;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.gen-popover-hex{background:var(--g-paper);border:1px solid #8f9589;border-radius:2px;flex:1;align-items:center;gap:4px;min-height:44px;padding:0 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;font-weight:700;display:flex}.gen-popover-hex input{min-width:0;color:inherit;font:inherit;text-transform:uppercase;letter-spacing:.04em;background:0 0;border:0;flex:1}.gen-popover-hex input:focus-visible{outline:none}.gen-popover-swatches{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.gen-popover-swatch{aspect-ratio:1;border:1px solid #1f242040;border-radius:2px;width:100%;min-height:26px}.gen-popover-swatch[aria-pressed=true]{outline:2px solid var(--g-spruce);outline-offset:2px}.gen-dialog{z-index:80;background:#141c18d1;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.gen-dialog-card{border:1px solid var(--g-rule,#b6bcb0);color:#1f2420;background:#f6f7f1;flex-direction:column;width:min(560px,100%);max-height:min(88vh,840px);display:flex;overflow:hidden}.gen-dialog-card:focus-visible{outline-offset:2px;outline:3px solid #d9a62e}.gen-dialog-head{border-bottom:1px solid #cfd4c9;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.gen-dialog-head h2{letter-spacing:-.02em;margin:0;font-size:1.05rem;font-weight:800}.gen-order-body,.gen-gate-body{gap:14px;padding:18px;display:grid;overflow-y:auto}.gen-order-lead{color:#4a5048;margin:0;font-size:.85rem;line-height:1.6}.gen-order-id{background:#edefe8;border:1px solid #cfd4c9;flex-wrap:wrap;gap:6px 28px;margin:0;padding:12px 14px;display:flex}.gen-order-id dt{letter-spacing:.07em;text-transform:uppercase;color:#4a5048;font-size:.66rem}.gen-order-id dd{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;font-weight:700}.gen-order-note{color:#1f2420;white-space:pre-wrap;word-break:break-word;background:#fff;border:1px solid #cfd4c9;max-height:190px;margin:0;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.74rem;line-height:1.6;overflow:auto}.gen-order-actions{flex-wrap:wrap;gap:10px;display:flex}.gen-order-shopee{border-top:1px solid #cfd4c9;gap:10px;padding-top:14px;display:grid}.gen-order-shopee span{color:#4a5048;font-size:.78rem;line-height:1.55}.gen-gate-body p{color:#4a5048;margin:0;font-size:.85rem;line-height:1.6}.gen-status-inline{margin:0;font-size:.78rem;font-weight:700}.gen-status-inline.is-error{color:#a33a1d}@media (width>=901px){.studio-panel{height:100vh;position:sticky;top:0}.studio-panel-scroll{flex:1;max-height:none}}@media (width<=1100px) and (width>=901px){.studio{grid-template-columns:minmax(0,1fr) 340px}}@media (width<=900px){.studio{grid-template-columns:minmax(0,1fr)}.studio-panel{border-left:0;border-top:1px solid var(--g-rule)}.studio-bar{padding:14px 20px}.studio-result{padding:16px 20px 20px}.gen-canvas-wrap{min-height:48vh}}@media (width<=620px){.studio-bar-title{flex-direction:column;align-items:flex-start;gap:2px}.studio-bar h1{white-space:normal}.studio-bar-tools{grid-template-columns:1fr 1fr;gap:10px;width:100%;display:grid}.studio-price{border-left:0;grid-column:1/-1;min-height:32px;margin-right:0;padding-left:0}.studio-bar-tools .gen-btn{width:100%}.studio-stage-tools{top:10px;left:10px;right:10px}.gen-status{bottom:10px;left:10px}.gen-notice{bottom:62px;right:10px}.studio-result{grid-template-columns:96px minmax(0,1fr);gap:14px}.studio-result img,.studio-result-thumb{width:96px;height:96px}.studio-panel-scroll{padding:18px 20px 22px}.studio-panel-foot{padding:14px 20px 18px}}@media (prefers-reduced-motion:reduce){.gen-status.is-busy .dot{animation:none}}
