:root{--bg:#0b0d10;--surface:#14171b;--border:#242a31;--border-hover:#343c45;--text:#c7ccd4;--text-hover:#e3e7ec;--label:#6c757e;--accent:#3fe0c5}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);margin:0;font-family:IBM Plex Mono,JetBrains Mono,Roboto Mono,monospace}.app-shell{height:100vh;display:flex}.control-panel{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex:0 0 336px;width:336px;height:100%;padding:24px 24px 16px;display:flex;overflow-y:auto}.panel-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.panel-title{letter-spacing:.08em;text-transform:uppercase;color:var(--label);font-size:10px}.install-btn{letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:0 0;border-radius:3px;flex:none;padding:4px 8px;font-family:inherit;font-size:10px}.install-btn:hover{color:var(--text-hover);border-color:var(--text-hover)}.preview-area{background:var(--bg);flex:1;justify-content:center;align-items:center;min-width:0;display:flex;overflow:auto}.preview-stack{flex-direction:column;width:100%;display:flex}.preview-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-top:8px;display:flex}.preview-toolbar-label{letter-spacing:.04em;color:var(--label);white-space:nowrap;font-size:10px}.mute-btn{letter-spacing:.04em;text-transform:uppercase;background:var(--surface);border:1px solid var(--border);color:var(--label);cursor:pointer;border-radius:3px;flex:none;padding:6px 10px;font-family:inherit;font-size:11px}.mute-btn:hover{color:var(--text-hover);border-color:var(--border-hover)}.mute-btn.active{color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.preview-frame{border:1px solid var(--border)}.section{border-bottom:1px solid var(--border);margin-bottom:16px;padding-bottom:16px}.section:last-of-type{border-bottom:none}.section-header{align-items:center;gap:8px;margin-bottom:8px;display:flex}.section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--label);white-space:nowrap;font-size:10px}.hairline{border-top:1px solid var(--border);flex:1;height:0}.section-content{flex-direction:column;gap:8px;display:flex}.field-row{grid-template-columns:120px 1fr;align-items:center;gap:8px;display:grid}.field-label{letter-spacing:.04em;text-transform:uppercase;color:var(--label);font-size:10px}.readout{color:var(--text);font-size:12px}.seg-group{border:1px solid var(--border);border-radius:3px;display:flex;overflow:hidden}.seg-btn{letter-spacing:.04em;text-transform:uppercase;border:none;border-right:1px solid var(--border);color:var(--label);cursor:pointer;box-shadow:none;background:0 0;flex:1;padding:6px 8px;font-family:inherit;font-size:11px}.seg-btn:last-child{border-right:none}.seg-btn:hover{color:var(--text-hover)}.seg-btn.active{color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.seg-btn:disabled{opacity:.4;cursor:default}.export-btn{letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--accent);width:100%;color:var(--accent);cursor:pointer;background:0 0;border-radius:3px;margin-top:8px;padding:8px;font-family:inherit;font-size:11px}.export-btn:hover:not(:disabled){color:var(--text-hover);border-color:var(--text-hover)}.export-btn:disabled{opacity:.5;cursor:default}.copy-link-btn{letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--border);width:100%;color:var(--label);cursor:pointer;background:0 0;border-radius:3px;margin-top:8px;padding:8px;font-family:inherit;font-size:11px}.copy-link-btn:hover{color:var(--text-hover);border-color:var(--border-hover)}.export-error{color:#e05a5a;margin-top:8px;font-size:10px}.text-input,.number-input{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:3px;outline:none;width:100%;padding:5px 7px;font-family:inherit;font-size:12px}.number-input{width:72px}.text-input:hover,.number-input:hover{border-color:var(--border-hover)}.text-input:focus,.number-input:focus{border-color:var(--accent)}.swatch{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:2px;width:18px;height:18px;padding:0}.swatch::-webkit-color-swatch-wrapper{padding:0}.swatch::-webkit-color-swatch{border:none;border-radius:1px}.swatch:hover{border-color:var(--border-hover)}.swatch:focus{border-color:var(--accent);outline:none}.status-bar{letter-spacing:.02em;color:var(--label);white-space:nowrap;text-overflow:ellipsis;margin-top:auto;padding-top:16px;font-size:10px;overflow:hidden}.footer{color:var(--label);text-align:center;flex-direction:column;align-items:center;gap:4px;margin-top:8px;font-size:10px;display:flex}.footer-link{color:var(--label);text-decoration:underline}.footer-link:hover{color:var(--accent)}@media (width<=860px){html,body,#root{height:auto}.app-shell{flex-direction:column;height:auto;min-height:100vh}.control-panel{border-right:none;border-bottom:1px solid var(--border);flex:none;width:100%;height:auto;max-height:none;overflow-y:visible}.preview-area{padding:20px 16px;overflow:visible}.status-bar,.footer{margin-top:16px}}@media (width<=480px){.control-panel{padding:16px 16px 12px}.field-row{grid-template-columns:1fr;gap:4px}.number-input{width:100%}.seg-btn{padding:8px 6px;font-size:10px}.preview-toolbar{flex-wrap:wrap}}
