:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0;padding:0}html,body{height:100%}body{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;min-height:100vh;line-height:1.5;overflow:hidden}img,picture,video,canvas,svg{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}ul[role=list],ol[role=list]{list-style:none}:root{--bg:#0a0a0a;--panel:#111;--border:#1f1f1f;--border-hi:#2f2f2f;--text:#ededed;--dim:#666;--dim2:#999;--accent:#f30;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--sans:-apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans", "Noto Sans JP", sans-serif;--controls-width:320px;--ts-fast:.1s;--ts-norm:.15s;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-panel-x:22px;--space-panel-gap:22px;--tracking-label:.18em;--tracking-brand:.15em;--tracking-detonate:.25em;--fs-section:9px;--fs-label:11px;--fs-value:12px;--fs-body:13px;--fs-brand:15px;--radius-sm:2px}body{font-family:var(--sans);font-size:var(--fs-value);background:var(--bg);color:var(--text)}#app{grid-template-columns:var(--controls-width) 1fr;height:100vh;min-width:calc(var(--controls-width) + 360px);grid-template-rows:100vh;display:grid}.controls{background:var(--panel);border-right:1px solid var(--border);height:100%;min-height:0;padding:var(--space-5) var(--space-panel-x) 48px;gap:var(--space-panel-gap);flex-direction:column;display:flex;overflow-y:auto}.controls::-webkit-scrollbar{width:6px}.controls::-webkit-scrollbar-track{background:0 0}.controls::-webkit-scrollbar-thumb{background:var(--border-hi);border-radius:3px}.brand{padding-bottom:var(--space-3);border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;display:flex}.brand-title{font-family:var(--mono);font-size:var(--fs-brand);letter-spacing:var(--tracking-brand);color:var(--text);font-weight:600}.brand-sub{font-family:var(--mono);font-size:var(--fs-section);letter-spacing:var(--tracking-brand);color:var(--dim);text-transform:uppercase}.stage{background:#080808 radial-gradient(circle at 1px 1px,#1a1a1a 1px,#0000 0) 0 0/20px 20px;justify-content:center;align-items:center;padding:48px;display:flex;position:relative}.frame{position:relative;box-shadow:0 30px 80px #0009,0 0 0 1px #ffffff0a}.frame canvas{max-width:100%;max-height:100%;display:block}.stage-info{font-family:var(--mono);color:var(--dim);letter-spacing:.12em;gap:20px;font-size:10px;display:flex;position:absolute;bottom:16px;left:20px}.stage-info span strong{color:var(--dim2);margin-right:6px;font-weight:400}.stage-kbd{font-family:var(--mono);color:var(--dim);letter-spacing:.1em;gap:16px;font-size:10px;display:flex;position:absolute;bottom:16px;right:20px}kbd{font-family:var(--mono);border:1px solid var(--border-hi);border-radius:var(--radius-sm);color:var(--dim2);margin-right:3px;padding:1px 5px;font-size:9px}.section-label{font-family:var(--mono);font-size:var(--fs-section);letter-spacing:var(--tracking-label);color:var(--dim);text-transform:uppercase;margin-bottom:10px}.row{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:10px;display:flex}.row:last-child{margin-bottom:0}.row label{font-size:var(--fs-value);color:var(--text)}.mono,.value,.hex{font-family:var(--mono)}.value{font-size:var(--fs-label);color:var(--dim2);text-align:right;min-width:36px}.segmented{background:var(--border);border-radius:var(--radius-sm);grid-template-columns:repeat(5,1fr);gap:2px;padding:2px;display:grid}.segmented button{color:var(--dim2);font-family:var(--mono);letter-spacing:.08em;cursor:pointer;transition:color var(--ts-norm);background:0 0;border:none;padding:9px 4px;font-size:10px}.segmented button:hover{color:var(--text)}.segmented button.active{background:var(--text);color:var(--bg)}.segmented-4{grid-template-columns:repeat(4,1fr)}.segmented button:disabled{opacity:.4;cursor:not-allowed}.custom-aspect-inputs{gap:var(--space-2);margin-top:var(--space-2);display:flex}.custom-aspect-field{font-family:var(--mono);letter-spacing:.05em;color:var(--dim2);flex:1;align-items:center;gap:6px;font-size:10px;display:flex}.custom-aspect-field input[type=number]{background:var(--bg);border:1px solid var(--border-hi);min-width:0;color:var(--text);font-family:var(--mono);border-radius:var(--radius-sm);transition:border-color var(--ts-norm);flex:1;padding:6px 8px;font-size:11px}.custom-aspect-field input[type=number]:hover{border-color:var(--text)}.custom-aspect-field input[type=number]:focus{border-color:var(--accent);outline:none}.polygon-picker{grid-template-columns:repeat(5,1fr);gap:4px;display:grid}.polygon-picker button{background:var(--border);color:var(--dim2);font-family:var(--mono);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--ts-fast);border:1px solid #0000;padding:10px 4px;font-size:11px}.polygon-picker button:hover{color:var(--text);border-color:var(--border-hi)}.polygon-picker button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.color-swatch{align-items:center;gap:8px;display:flex}.color-swatch input[type=color]{border:1px solid var(--border-hi);cursor:pointer;border-radius:var(--radius-sm);background:0 0;width:32px;height:24px;padding:1px}.color-swatch input[type=color]:disabled{opacity:.4;cursor:not-allowed}.color-swatch .hex{color:var(--dim2);letter-spacing:.05em;font-size:10px}input[type=range]{accent-color:var(--accent);flex:1;min-width:0}.file-label{border:1px dashed var(--border-hi);font-family:var(--mono);color:var(--dim2);cursor:pointer;letter-spacing:.08em;border-radius:var(--radius-sm);transition:all var(--ts-norm);justify-content:space-between;align-items:center;padding:11px 12px;font-size:10px;display:flex}.file-label:hover{border-color:var(--text);color:var(--text)}.file-label.loaded{color:var(--accent);border-color:var(--accent);border-style:solid}.file-label .clear{color:var(--dim);cursor:pointer;font-size:14px}.file-label.loaded .clear{color:var(--accent)}.file-label input[type=file]{display:none}.btn{border:1px solid var(--border-hi);width:100%;color:var(--text);font-family:var(--mono);letter-spacing:.15em;cursor:pointer;border-radius:var(--radius-sm);transition:all var(--ts-fast);text-transform:uppercase;background:0 0;padding:9px 12px;font-size:10px}.btn:hover{border-color:var(--text);background:#1a1a1a}.btn:disabled{opacity:.4;cursor:not-allowed}.btn:active:not(:disabled){transform:translateY(1px)}.btn.ghost{color:var(--dim2)}.btn-shuffle{margin-top:6px}.btn-reset{margin-top:10px}.btn-randomize-colors{margin-top:6px}.btn.detonate{background:var(--accent);color:#fff;font-size:var(--fs-body);letter-spacing:var(--tracking-detonate);border:none;padding:16px;font-weight:700;position:relative;overflow:hidden}.btn.detonate:hover{background:#ff4d1a}.btn.detonate:active:not(:disabled){transform:translateY(1px)}.btn.detonate:disabled{color:#666;background:#333}.button-row{grid-template-columns:1fr 1fr;gap:6px;display:grid}.export-progress{font-family:var(--mono);color:var(--dim2);letter-spacing:.05em;word-break:break-word;margin-top:8px;font-size:10px}.timeline-wrap{margin-top:10px;position:relative}.timeline{cursor:grab;width:100%}.timeline:active{cursor:grabbing}.timeline-marks{font-family:var(--mono);font-size:var(--fs-section);color:var(--dim);letter-spacing:.08em;justify-content:space-between;margin-top:4px;display:flex}textarea{background:var(--bg);border:1px solid var(--border-hi);width:100%;color:var(--text);font-family:var(--mono);font-size:var(--fs-label);letter-spacing:.05em;border-radius:var(--radius-sm);resize:vertical;min-height:52px;transition:border-color var(--ts-fast);outline:none;margin-bottom:10px;padding:8px 10px}textarea:focus{border-color:var(--dim2)}select{background:var(--bg);border:1px solid var(--border-hi);width:100%;color:var(--text);font-family:var(--mono);font-size:var(--fs-label);border-radius:var(--radius-sm);cursor:pointer;appearance:none;transition:border-color var(--ts-fast);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='%23666' d='M0 0l5 6 5-6z'/></svg>");background-position:right 10px center;background-repeat:no-repeat;outline:none;padding:8px 28px 8px 10px}select:focus{border-color:var(--dim2)}.toggle-row{border:1px solid var(--border-hi);border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text);font-size:var(--fs-value);transition:all var(--ts-fast);justify-content:space-between;align-items:center;margin-bottom:10px;padding:8px 10px;display:flex}.toggle-row:last-child{margin-bottom:0}.toggle-row:hover{border-color:var(--dim2)}.toggle-row.active{border-color:var(--accent);color:var(--accent)}.toggle-row .state{font-family:var(--mono);font-size:var(--fs-label);letter-spacing:.1em}.font-picker-row{align-items:center;gap:var(--space-3);grid-template-columns:80px 1fr;margin-bottom:10px;display:grid}.font-picker-row:last-child{margin-bottom:0}.font-picker-row label{font-size:var(--fs-value);color:var(--text)}.font-status{font-family:var(--mono);font-size:var(--fs-label);color:var(--dim2);margin-top:10px;margin-bottom:10px;padding:4px 2px}.overlay-slot{margin-bottom:14px}.overlay-slot:last-child{margin-bottom:0}.overlay-slot-header{align-items:center;gap:var(--space-2);grid-template-columns:92px 1fr auto;display:grid}.overlay-slot-label{font-size:var(--fs-value);color:var(--text);letter-spacing:.02em}.overlay-slot-btn{width:auto;padding:7px 10px}.overlay-filename{font-family:var(--mono);font-size:var(--fs-label);color:var(--dim2);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;padding:4px 0 0 92px;overflow:hidden}:focus{outline:none}:focus-visible{outline:1px solid var(--accent);outline-offset:2px}
/*$vite$:1*/