:root{--chrome-0: #0d1420;--chrome-1: #131c2b;--chrome-2: #1a2537;--chrome-3: #223049;--line: rgba(148, 170, 205, .14);--line-strong: rgba(148, 170, 205, .26);--text-0: #eef3fb;--text-1: #b7c4d9;--text-2: #7d8ca6;--accent: #2e7cf6;--accent-soft: rgba(46, 124, 246, .16);--aws-orange: #ff9900;--ok: #16a34a;--danger: #dc2626;--font-display: "Space Grotesk", "IBM Plex Sans", system-ui, sans-serif;--font-body: "IBM Plex Sans", system-ui, -apple-system, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}html,body,#app{height:100%;overflow:hidden}body{font-family:var(--font-body);font-size:13px;color:var(--text-0);background:var(--chrome-0);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}#app{display:flex;flex-direction:column}#topbar{height:50px;flex:0 0 50px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;background:linear-gradient(180deg,#16202f,#111a28);border-bottom:1px solid var(--line);gap:8px;z-index:30}.tb-left,.tb-right{display:flex;align-items:center;gap:6px;min-width:0}.brand{display:flex;align-items:center;gap:8px;padding:0 6px 0 2px}.brand-name{font-family:var(--font-display);font-weight:700;font-size:15px;letter-spacing:.14em}.brand-chip{font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--aws-orange);border:1px solid rgba(255,153,0,.45);border-radius:3px;padding:2px 5px}.tb-sep{width:1px;height:22px;background:var(--line-strong);margin:0 4px}.tb-group{display:flex;align-items:center;gap:2px;background:#090e1880;border:1px solid var(--line);border-radius:8px;padding:2px}.tb-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:30px;min-width:30px;padding:0 6px;border:none;border-radius:6px;background:transparent;color:var(--text-1);cursor:pointer;transition:background .14s ease,color .14s ease,transform .1s ease}.tb-btn:hover{background:var(--chrome-3);color:var(--text-0)}.tb-btn:active{transform:scale(.94)}.tb-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.tb-btn.active{background:var(--accent);color:#fff;box-shadow:0 2px 10px #2e7cf673}.tb-btn.disabled{opacity:.32;pointer-events:none}.tb-btn svg{display:block}.tb-btn-label{padding:0 10px;font-weight:500;font-size:12.5px}.tb-btn-label span{letter-spacing:.01em}.toggle-btn[aria-pressed=true]{color:var(--aws-orange);background:#ff99001f}.toggle-btn[aria-pressed=false]{color:var(--text-2)}.tb-zoom-label{font-family:var(--font-mono);font-size:11.5px;color:var(--text-1);background:transparent;border:none;min-width:44px;height:30px;cursor:pointer;border-radius:6px}.tb-zoom-label:hover{background:var(--chrome-3);color:var(--text-0)}.tb-menu-wrap{position:relative}.tb-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:var(--chrome-2);border:1px solid var(--line-strong);border-radius:10px;padding:5px;box-shadow:0 14px 40px #02060e99;z-index:60;animation:menu-in .16s ease}@keyframes menu-in{0%{opacity:0;transform:translateY(-5px)}}.tb-menu button{display:flex;align-items:center;gap:9px;width:100%;padding:8px 9px;border:none;border-radius:7px;background:transparent;color:var(--text-0);font-size:12.5px;cursor:pointer}.tb-menu button:hover{background:var(--chrome-3)}.tb-menu button em{margin-left:auto;font-style:normal;font-family:var(--font-mono);font-size:10px;color:var(--text-2)}#main{flex:1;display:flex;min-height:0}#palette{width:262px;flex:0 0 262px;display:flex;flex-direction:column;background:linear-gradient(180deg,#121b29,#0f1725);border-right:1px solid var(--line);z-index:20}.pal-head{display:flex;align-items:baseline;justify-content:space-between;padding:13px 14px 8px}.pal-title{font-family:var(--font-display);font-weight:600;font-size:14px;letter-spacing:.08em;text-transform:uppercase}.pal-sub{font-family:var(--font-mono);font-size:10px;color:var(--text-2)}.pal-search{display:flex;align-items:center;gap:7px;margin:0 12px 8px;padding:0 9px;height:32px;background:#080d16b3;border:1px solid var(--line);border-radius:8px;transition:border-color .15s ease,box-shadow .15s ease}.pal-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.pal-search-icon{color:var(--text-2);display:flex}.pal-search input{flex:1;background:transparent;border:none;outline:none;color:var(--text-0);font-family:var(--font-body);font-size:12.5px;min-width:0}.pal-search input::placeholder{color:var(--text-2)}.pal-search kbd{font-family:var(--font-mono);font-size:9.5px;color:var(--text-2);border:1px solid var(--line-strong);border-radius:4px;padding:1px 4px}.pal-scroll{flex:1;overflow-y:auto;padding:2px 8px 12px;scrollbar-width:thin;scrollbar-color:var(--chrome-3) transparent}.pal-scroll::-webkit-scrollbar{width:8px}.pal-scroll::-webkit-scrollbar-thumb{background:var(--chrome-3);border-radius:4px}.pal-family{margin-top:4px}.pal-family.filtered-out{display:none}.pal-family-head{display:flex;align-items:center;gap:8px;width:100%;padding:7px 6px;border:none;border-radius:7px;background:transparent;color:var(--text-0);cursor:pointer;text-align:left}.pal-family-head:hover{background:#94aacd12}.pal-cat{width:20px;height:20px;border-radius:5px;display:flex;align-items:center;justify-content:center;flex:0 0 20px}.pal-cat svg{width:100%;height:100%;border-radius:4px}.pal-cat-containers{background:var(--accent-soft);color:var(--accent);border-radius:5px}.pal-family-name{flex:1;font-size:12px;font-weight:600;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pal-count{font-family:var(--font-mono);font-size:10px;color:var(--text-2)}.pal-chevron{color:var(--text-2);transition:transform .18s ease;transform:rotate(90deg);display:flex}.pal-family.collapsed .pal-chevron{transform:rotate(0)}.pal-family.collapsed .pal-rows{display:none}.pal-rows{padding:1px 0 4px 4px}.pal-row{display:flex;align-items:center;gap:9px;padding:5px 8px 5px 6px;border-radius:7px;cursor:grab;transition:background .12s ease,transform .12s ease;touch-action:none}.pal-row:hover{background:#94aacd17;transform:translate(2px)}.pal-row.filtered-out{display:none}.pal-row.dragging{opacity:.4}.pal-row.over-canvas{background:var(--accent-soft)}.pal-tile{width:26px;height:26px;border-radius:6px;overflow:hidden;flex:0 0 26px;display:flex;align-items:center;justify-content:center;background:var(--tile, #333);box-shadow:0 1px 3px #0006;transition:transform .14s ease}.pal-row:hover .pal-tile{transform:scale(1.1)}.pal-tile svg{width:100%;height:100%;display:block}.pal-tile-glyph{background:#fff}.pal-row-text{display:flex;flex-direction:column;min-width:0}.pal-name{font-size:12px;font-weight:500;color:var(--text-0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pal-cost{font-family:var(--font-mono);font-size:9.5px;color:var(--text-2);margin-top:1px}.pal-empty{padding:22px 10px;text-align:center;color:var(--text-2);font-size:12px}.pal-foot{padding:9px 14px;border-top:1px solid var(--line);font-family:var(--font-mono);font-size:9.5px;color:var(--text-2)}.pal-foot span{color:var(--aws-orange)}.drag-chip{position:fixed;z-index:200;transform:translate(-50%,-120%);display:flex;align-items:center;gap:8px;padding:6px 11px 6px 6px;background:var(--chrome-2);border:1px solid var(--line-strong);border-radius:9px;box-shadow:0 12px 34px #02060e8c;pointer-events:none;font-size:12px;font-weight:500;animation:chip-in .14s ease}@keyframes chip-in{0%{transform:translate(-50%,-120%) scale(.85);opacity:0}}.drag-chip .pal-tile{width:24px;height:24px;flex-basis:24px}body.is-dragging-tile,body.is-dragging-tile *{cursor:grabbing!important}#stage{position:relative;flex:1;min-width:0;background:#f3f6fa}#canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;touch-action:none;outline:none}#canvas:focus-visible{box-shadow:inset 0 0 0 2px #2e7cf659}#stage-overlays{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}#stage-overlays>*{pointer-events:auto}.label-editor{position:absolute;transform:translate(-50%,-100%);min-width:130px;padding:5px 9px;font-family:var(--font-body);font-size:12px;font-weight:500;color:#1c2a42;background:#fff;border:1.5px solid var(--accent);border-radius:7px;box-shadow:0 8px 26px #0a1e4647;outline:none;text-align:center;animation:editor-in .13s ease}@keyframes editor-in{0%{transform:translate(-50%,-100%) scale(.92);opacity:0}}#statusbar-host{position:absolute;left:12px;bottom:12px;display:flex;align-items:center;gap:8px;padding:6px 12px;background:#0d1420d1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--line);border-radius:8px;color:var(--text-1);font-family:var(--font-mono);font-size:10.5px;pointer-events:none}.status-sep{color:var(--text-2);opacity:.5}.status-hint{color:var(--text-2);font-family:var(--font-body);font-size:11px;margin-left:6px}.status-hint kbd{border:1px solid var(--line-strong);border-radius:3px;padding:0 4px;font-family:var(--font-mono);font-size:9.5px}#costdock-host{position:absolute;right:14px;bottom:14px;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.cost-dock{display:flex;align-items:center;gap:10px;padding:10px 14px;background:linear-gradient(180deg,#182338,#101a2b);border:1px solid var(--line-strong);border-radius:12px;color:var(--text-0);cursor:pointer;box-shadow:0 12px 34px #03081273;transition:transform .16s ease,box-shadow .16s ease}.cost-dock:hover{transform:translateY(-2px);box-shadow:0 16px 42px #0308128c}.cost-dock.cost-bump .cost-value{animation:cost-bump .24s ease}@keyframes cost-bump{40%{transform:scale(1.12);color:var(--aws-orange)}}.cost-pulse{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 #16a34a80;animation:pulse 2.4s infinite}@keyframes pulse{0%{box-shadow:0 0 #16a34a73}70%{box-shadow:0 0 0 9px #16a34a00}to{box-shadow:0 0 #16a34a00}}.cost-label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2)}.cost-value{font-family:var(--font-mono);font-weight:600;font-size:19px;letter-spacing:-.01em}.cost-caret{color:var(--text-2);transform:rotate(-90deg);display:flex}.cost-dock[aria-expanded=true] .cost-caret{transform:rotate(90deg)}.cost-panel{width:300px;background:#101827f5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line-strong);border-radius:12px;padding:12px 13px;box-shadow:0 16px 46px #02060e8c;animation:menu-in .16s ease}.cost-panel-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:9px;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--text-2)}.cost-panel-total{font-family:var(--font-mono);font-size:13px;color:var(--text-0);text-transform:none;letter-spacing:0}.cost-rows{display:flex;flex-direction:column;gap:6px}.cost-row{display:grid;grid-template-columns:10px 92px 1fr 48px;align-items:center;gap:8px;font-size:11px}.cost-dot{width:8px;height:8px;border-radius:2px}.cost-name{color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cost-bar{height:5px;background:#94aacd1f;border-radius:3px;overflow:hidden}.cost-bar i{display:block;height:100%;border-radius:3px;transition:width .5s cubic-bezier(.2,.8,.2,1)}.cost-amt{font-family:var(--font-mono);color:var(--text-0);text-align:right}.cost-empty{color:var(--text-2);font-size:11.5px;padding:6px 0}.cost-note{margin-top:10px;padding-top:9px;border-top:1px solid var(--line);color:var(--text-2);font-size:10px;line-height:1.5}#inspector{width:276px;flex:0 0 276px;background:linear-gradient(180deg,#121b29,#0f1725);border-left:1px solid var(--line);overflow-y:auto;padding-bottom:16px;scrollbar-width:thin;scrollbar-color:var(--chrome-3) transparent;z-index:20}#inspector::-webkit-scrollbar{width:8px}#inspector::-webkit-scrollbar-thumb{background:var(--chrome-3);border-radius:4px}.ins-head{display:flex;gap:11px;align-items:flex-start;padding:15px 14px 12px;border-bottom:1px solid var(--line)}.ins-head-icon{width:40px;height:40px;border-radius:9px;overflow:hidden;flex:0 0 40px;background:#fff;box-shadow:0 3px 10px #00000059}.ins-head-icon svg{width:100%;height:100%;display:block}.ins-head-diagram{background:var(--chrome-2);display:flex;align-items:center;justify-content:center}.ins-head-group{background:#fff}.ins-head-conn,.ins-head-multi{background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center}.ins-head-text{min-width:0;flex:1}.ins-name,.ins-name-static{width:100%;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text-0);font-family:var(--font-display);font-weight:600;font-size:14.5px;padding:2px 5px;margin-left:-5px;outline:none;transition:border-color .14s ease,background .14s ease}.ins-name:hover{border-color:var(--line-strong)}.ins-name:focus{border-color:var(--accent);background:#080d1699}.ins-name-static{padding-top:4px}.ins-kind{display:flex;align-items:center;gap:6px;font-size:10.5px;color:var(--text-2);margin-top:3px;padding-left:1px}.ins-dot{width:7px;height:7px;border-radius:2px;display:inline-block}.ins-section{padding:12px 14px 2px}.ins-section-title{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-2);margin-bottom:8px;font-weight:600}.ins-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.ins-stats>div{background:#080d168c;border:1px solid var(--line);border-radius:9px;padding:9px 6px;text-align:center}.ins-stats b{display:block;font-family:var(--font-mono);font-size:17px;font-weight:600}.ins-stats span{font-size:9.5px;color:var(--text-2);text-transform:uppercase;letter-spacing:.07em}.ins-fams{display:flex;flex-direction:column;gap:6px}.ins-fam-row{display:grid;grid-template-columns:10px 1fr 60px 44px;align-items:center;gap:7px;font-size:11px}.ins-fam-dot{width:8px;height:8px;border-radius:2px}.ins-fam-name{color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ins-fam-bar{height:5px;background:#94aacd1f;border-radius:3px;overflow:hidden}.ins-fam-bar i{display:block;height:100%;transition:width .5s ease}.ins-fam-cost{font-family:var(--font-mono);text-align:right}.ins-tips{list-style:none;display:flex;flex-direction:column;gap:7px;margin-bottom:10px}.ins-tips li{font-size:11.5px;color:var(--text-1);line-height:1.45;padding-left:13px;position:relative}.ins-tips li:before{content:"";position:absolute;left:0;top:6px;width:5px;height:5px;border-radius:1.5px;background:var(--aws-orange)}.ins-tips kbd{font-family:var(--font-mono);font-size:10px;border:1px solid var(--line-strong);border-radius:3px;padding:0 4px}.ins-crumbs{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-bottom:10px}.ins-crumb{font-size:10px;font-family:var(--font-mono);color:var(--c, var(--text-1));border:1px solid color-mix(in srgb,var(--c, #888) 55%,transparent);background:color-mix(in srgb,var(--c, #888) 12%,transparent);border-radius:4px;padding:2px 6px}.ins-crumb-none{color:var(--text-2);border-style:dashed}.ins-crumb-sep{color:var(--text-2);font-size:10px}.ins-grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ins-field{display:flex;flex-direction:column;gap:4px}.ins-field>span{font-size:10px;color:var(--text-2);text-transform:uppercase;letter-spacing:.08em}.ins-stepper{display:flex;align-items:center;background:#080d168c;border:1px solid var(--line);border-radius:7px;overflow:hidden}.ins-stepper button{flex:1;height:26px;border:none;background:transparent;color:var(--text-1);font-size:14px;cursor:pointer;transition:background .12s ease}.ins-stepper button:hover{background:var(--chrome-3);color:var(--text-0)}.ins-stepper b{flex:1;text-align:center;font-family:var(--font-mono);font-size:12px;font-weight:500}.ins-pos{margin-top:8px;font-family:var(--font-mono);font-size:10px;color:var(--text-2)}.ins-cost-card{background:#080d168c;border:1px solid var(--line);border-radius:10px;padding:11px 13px}.ins-cost-main{font-family:var(--font-mono);font-size:22px;font-weight:600;color:var(--aws-orange)}.ins-cost-main span{font-size:11px;color:var(--text-2);margin-left:3px;font-weight:400}.ins-cost-sub{font-size:10.5px;color:var(--text-2);margin-top:3px;font-family:var(--font-mono)}.ins-conn-row{display:flex;align-items:center;gap:7px;padding:5px 7px;border-radius:6px;font-size:11.5px;margin-bottom:3px;background:#080d1666;border:1px solid var(--line)}.ins-conn-row:hover{border-color:var(--line-strong)}.ins-conn-dir{color:var(--accent);font-family:var(--font-mono)}.ins-conn-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ins-conn-label{font-family:var(--font-mono);font-size:9.5px;color:var(--text-2)}.ins-muted{color:var(--text-2);font-size:11.5px;margin-bottom:8px}.ins-select{width:100%;background:#080d168c;color:var(--text-0);border:1px solid var(--line);border-radius:7px;padding:7px 9px;font-family:var(--font-body);font-size:12px;outline:none;cursor:pointer}.ins-select:focus{border-color:var(--accent)}.ins-tint{font-size:11px;line-height:1.5;color:var(--text-1);border-left:3px solid var(--tint, #888);background:color-mix(in srgb,var(--tint, #888) 9%,transparent);padding:8px 10px;border-radius:0 7px 7px 0}.ins-blurb{font-size:11.5px;color:var(--text-1);line-height:1.5}.ins-endpoints{display:flex;flex-direction:column;gap:5px}.ins-endpoint{display:flex;align-items:center;gap:8px;background:#080d1666;border:1px solid var(--line);border-radius:7px;padding:7px 9px;font-size:12px}.ins-ep-tag{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);border:1px solid rgba(46,124,246,.4);border-radius:3px;padding:1px 5px}.ins-ep-arrow{color:var(--text-2);text-align:center;font-size:11px}.ins-align{display:flex;gap:6px}.ins-align-btn{width:34px;height:30px}.ins-icon-btn{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border:1px solid var(--line);border-radius:5px;background:#080d1666;color:var(--text-1);cursor:pointer;transition:all .12s ease}.ins-icon-btn:hover{border-color:var(--danger);color:var(--danger);background:#dc26261a}.ins-btn{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:7px;border:1px solid rgba(46,124,246,.5);background:var(--accent-soft);color:#cfe0ff;font-size:12px;font-weight:500;cursor:pointer;transition:all .14s ease}.ins-btn:hover{background:#2e7cf64d;border-color:var(--accent)}.ins-btn-ghost{border-color:var(--line-strong);background:transparent;color:var(--text-1)}.ins-btn-ghost:hover{background:var(--chrome-3);color:var(--text-0);border-color:var(--line-strong)}.ins-btn-danger{border-color:#dc262673;background:#dc26261a;color:#ffb4b4}.ins-btn-danger:hover{background:#dc26263d;border-color:var(--danger)}.ins-actions{display:flex;gap:8px;padding:14px 14px 0;flex-wrap:wrap}#toasts{position:fixed;left:50%;bottom:22px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:7px;z-index:120;pointer-events:none}.toast{display:flex;align-items:center;gap:9px;padding:8px 15px;background:#0f1725f0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line-strong);border-radius:9px;color:var(--text-0);font-size:12px;box-shadow:0 10px 32px #02060e80;opacity:0;transform:translateY(10px);transition:opacity .22s ease,transform .22s ease}.toast-in{opacity:1;transform:translateY(0)}.toast-out{opacity:0;transform:translateY(6px)}.toast-dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}.toast-success .toast-dot{background:var(--ok)}.toast-error .toast-dot{background:var(--danger)}.toast-error{border-color:#dc262666}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0408109e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:150;animation:fade-in .16s ease}@keyframes fade-in{0%{opacity:0}}.modal{width:min(560px,calc(100vw - 40px));max-height:82vh;overflow-y:auto;background:var(--chrome-1);border:1px solid var(--line-strong);border-radius:14px;box-shadow:0 30px 80px #01040ab3;animation:modal-in .2s cubic-bezier(.2,.9,.3,1.2)}@keyframes modal-in{0%{transform:scale(.94) translateY(8px);opacity:0}}.modal-head{display:flex;align-items:center;gap:10px;padding:16px 18px;border-bottom:1px solid var(--line);color:var(--text-2)}.modal-head h2{font-family:var(--font-display);font-size:15px;font-weight:600;color:var(--text-0);letter-spacing:.02em;flex:1}.modal-close{border:none;background:transparent;color:var(--text-2);cursor:pointer;padding:4px;border-radius:5px;display:flex}.modal-close:hover{color:var(--text-0);background:var(--chrome-3)}.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 22px;padding:14px 18px 18px}.sc-row{display:flex;align-items:center;gap:10px;padding:5px 0;font-size:12px;color:var(--text-1)}.sc-row kbd{font-family:var(--font-mono);font-size:10px;background:#080d16b3;border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:5px;padding:2.5px 7px;min-width:52px;text-align:center;color:var(--text-0)}.empty-state{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;background:radial-gradient(ellipse at center,#f3f6fa00,#f3f6fad9 75%);animation:fade-in .3s ease}.empty-iso{animation:float 4s ease-in-out infinite}@keyframes float{50%{transform:translateY(-7px)}}.empty-state h2{font-family:var(--font-display);font-size:21px;font-weight:700;color:#1c2a42;letter-spacing:.01em;margin-top:4px}.empty-state p{color:#5a6b87;font-size:13px;line-height:1.6}.empty-actions{margin-top:14px}.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:none;border-radius:9px;background:linear-gradient(180deg,#ffab2e,#f90);color:#3a2400;font-family:var(--font-display);font-weight:600;font-size:13.5px;cursor:pointer;box-shadow:0 8px 24px #ff990059;transition:transform .15s ease,box-shadow .15s ease}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 30px #ff990073}.btn-primary:active{transform:translateY(0)}#boot{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:radial-gradient(ellipse at 50% 42%,#16233a,#0b111d 70%);transition:opacity .5s ease}#boot.boot-done{opacity:0;pointer-events:none}.boot-cube{animation:boot-pop 1.1s cubic-bezier(.3,1.4,.4,1) infinite alternate}@keyframes boot-pop{0%{transform:translateY(0) scale(1)}to{transform:translateY(-9px) scale(1.06)}}.boot-title{font-family:var(--font-display);font-weight:700;font-size:19px;letter-spacing:.34em;margin-left:.34em}.boot-sub{font-family:var(--font-mono);font-size:10.5px;color:var(--text-2);letter-spacing:.06em}@media(max-width:1080px){#palette{width:220px;flex-basis:220px}#inspector{width:240px;flex-basis:240px}.tb-btn-label span{display:none}}
