:root{--bg: #14161a;--bg-2: #1b1e24;--bg-3: #22262e;--line: #2f343d;--text: #e8eaee;--muted: #99a1ae;--primary: #3b82f6;--danger: #ef4444;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:ui-sans-serif,-apple-system,SF Pro Text,Segoe UI,Roboto,sans-serif;font-size:13px}.app{display:flex;flex-direction:column;height:100%}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;border-bottom:1px solid var(--line);background:var(--bg-2);flex:none}.brand{display:flex;align-items:baseline;gap:10px}.brand strong{font-size:15px;letter-spacing:-.2px}.brand span{color:var(--muted)}.home-link{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid var(--line);border-radius:6px;color:var(--muted);text-decoration:none;font-size:12px}.home-link:hover{border-color:var(--primary);color:var(--text)}.topbar-actions{display:flex;align-items:center;gap:8px}.workspace{display:grid;grid-template-columns:430px minmax(0,1fr);flex:1;min-height:0}.sidebar{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line);background:var(--bg-2)}.tabs{display:flex;gap:2px;padding:8px 8px 0;flex:none;overflow-x:auto}.tabs button{flex:1;padding:8px 10px;border:0;border-radius:8px 8px 0 0;background:transparent;color:var(--muted);font:inherit;cursor:pointer;white-space:nowrap}.tabs button.is-active{background:var(--bg-3);color:var(--text)}.sidebar-body{flex:1;min-height:0;overflow-y:auto;padding:14px;background:var(--bg-3)}.panel{display:flex;flex-direction:column;gap:14px}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field-label{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.field-hint,.hint{color:var(--muted);font-size:11px;line-height:1.4;margin:0}.grid{display:grid;gap:12px}.input{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:8px;color:var(--text);padding:7px 9px;font:inherit;min-width:0}.input:focus{outline:2px solid var(--primary);outline-offset:-1px}.textarea{resize:vertical;line-height:1.45;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:22px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 13px) 14px,calc(100% - 8px) 14px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.slider-wrap{display:flex;align-items:center;gap:10px}.slider{flex:1;accent-color:var(--primary);min-width:0}.slider-value,.readout{color:var(--muted);font-variant-numeric:tabular-nums;min-width:46px;text-align:right;font-size:12px}.segmented{display:inline-flex;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:2px;gap:2px}.segmented button{border:0;background:transparent;color:var(--muted);font:inherit;padding:5px 10px;border-radius:6px;cursor:pointer;white-space:nowrap}.segmented button.is-active{background:var(--primary);color:#fff}.toggle{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--text);font:inherit;cursor:pointer;padding:0}.toggle-track{width:34px;height:20px;border-radius:10px;background:var(--line);position:relative;transition:background .15s;flex:none}.toggle.is-on .toggle-track{background:var(--primary)}.toggle-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s}.toggle.is-on .toggle-knob{transform:translate(14px)}.toggles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.btn{border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:8px;padding:6px 10px;font:inherit;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.btn:hover{border-color:#444b57}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-danger{color:#ff9a9a;border-color:#4a2a2a}.btn-ghost{background:transparent;border-color:transparent;color:var(--muted)}.swatches{display:flex;flex-wrap:wrap;gap:8px}.swatch{width:26px;height:26px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}.swatch.is-active{border-color:#fff;box-shadow:0 0 0 2px var(--primary)}.image-input{display:flex;flex-direction:column;gap:8px}.image-input-row{display:flex;align-items:center;gap:8px}.image-input-row .input{flex:1}.field-hint.error,.error{color:#ff9a9a}.image-thumb{width:40px;height:40px;border-radius:8px;object-fit:cover;border:1px solid var(--line)}.quickadd{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--bg-2)}.quickadd-actions{display:flex;flex-wrap:wrap;gap:6px}.msg-list{display:flex;flex-direction:column;gap:10px}.msg-card{border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--bg-2);display:flex;flex-direction:column;gap:8px}.msg-card.is-target{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary) inset}.msg-card-head,.msg-card-foot{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.msg-card-head .spacer{flex:1}.mini-label{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.msg-card-foot .select{width:auto;min-width:110px}.badge{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border:1px solid var(--line);border-radius:5px;padding:2px 6px}.target-chip{display:inline-block;max-width:100%;padding:4px 8px;border-radius:6px;background:var(--bg);border:1px solid var(--line);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:12px}.section-head h3{margin:0;font-size:13px}.section-actions{display:flex;gap:6px}.menu-editor{display:flex;flex-direction:column;gap:6px}.menu-row{display:grid;grid-template-columns:22px 92px minmax(0,1fr) auto auto auto auto;align-items:center;gap:4px}.menu-row .btn{padding:5px 7px}.menu-icon-preview{color:var(--muted);display:flex}.tapback-picker{display:flex;gap:6px;flex-wrap:wrap}.tapback-toggle{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:var(--bg);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.4;filter:grayscale(1)}.tapback-toggle.is-on{opacity:1;filter:none;border-color:var(--primary)}.export-actions{display:flex;gap:8px;flex-wrap:wrap}.status{color:var(--muted);margin:0}.stage{display:flex;flex-direction:column;min-width:0;min-height:0;background:radial-gradient(circle at 50% 0%,#23272f,#14161a 70%)}.stage-toolbar{display:flex;align-items:center;gap:10px;padding:8px 16px;border-bottom:1px solid var(--line);color:var(--muted);flex:none}.stage-toolbar input[type=range]{width:160px;accent-color:var(--primary)}.stage-canvas{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:auto;padding:24px}.chip-row{display:flex;flex-wrap:wrap;gap:6px}.preset-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.preset-list li{display:flex;align-items:center;gap:4px}.preset-apply{flex:1;text-align:left;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:8px;padding:7px 10px;font:inherit;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preset-apply:hover{border-color:var(--primary)}.phone-scaler{transform-origin:top left;flex:none;filter:drop-shadow(0 24px 60px rgba(0,0,0,.55));cursor:grab;touch-action:none}.phone-scaler:active{cursor:grabbing}.stage-toolbar .spacer{flex:1}
