:root{--bg-0:#0a0c10;--bg-1:#12151b;--bg-2:#191d25;--bg-3:#222732;--bg-4:#2b313e;--bg-5:#353c4b;--line-hi:#ffffff12;--line-lo:#000000a6;--border:#2c3341;--border-strong:#3b4453;--text:#dde2ea;--text-dim:#99a2b3;--text-faint:#5d6675;--text-inverse:#16130a;--gold:#e6b95c;--gold-hi:#f4d08a;--gold-dim:#a9853c;--teal:#4fd1c5;--teal-dim:#2c8a83;--sel:#2b4f80;--sel-hi:#3a68a8;--danger:#d9534f;--warn:#e0a545;--ok:#5cb85c;--bevel-raised:inset 1px 1px 0 var(--line-hi), inset -1px -1px 0 var(--line-lo);--bevel-sunken:inset 1px 1px 0 var(--line-lo), inset -1px -1px 0 var(--line-hi);--shadow-pop:0 10px 30px #0000008c, 0 2px 6px #0006;--shadow-dialog:0 24px 70px #000000b3, 0 0 0 1px #000c;--focus:0 0 0 1px var(--teal);--font-ui:"Inter", "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;--font-mono:"Cascadia Mono", "JetBrains Mono", ui-monospace, Consolas, Menlo, monospace;--fs-xs:10.5px;--fs-sm:11.5px;--fs-md:12.5px;--fs-lg:14px;--h-menubar:28px;--h-toolbar:36px;--h-statusbar:24px;--h-control:26px;--radius:3px;--radius-lg:5px;--tile:32px;--p1:#f40404;--p2:#0c48cc;--p3:#2cb494;--p4:#88409c;--p5:#f88c14;--p6:#703014;--p7:#cce0d0;--p8:#fcfc38}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--font-ui);font-size:var(--fs-md);color:var(--text);background:var(--bg-1);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;line-height:1.35}button,input,select,textarea{font:inherit;color:inherit}button{cursor:default;background:0 0;border:none}::selection{background:var(--sel-hi);color:#fff}*{scrollbar-width:thin;scrollbar-color:var(--bg-5) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--bg-5);background-clip:padding-box;border:2px solid #0000;border-radius:6px}::-webkit-scrollbar-track{background:0 0}.mono{font-family:var(--font-mono)}.dim{color:var(--text-dim)}.faint{color:var(--text-faint)}.warn{color:var(--warn)}.gold{color:var(--gold)}.teal{color:var(--teal)}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.btn{height:var(--h-control);border-radius:var(--radius);background:var(--bg-3);min-width:78px;box-shadow:var(--bevel-raised);border:1px solid var(--bg-0);color:var(--text);font-size:var(--fs-md);white-space:nowrap;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:6px;padding:0 12px;transition:background .1s;display:inline-flex}.btn:hover{background:var(--bg-4)}.btn:active,.btn[data-state=on],.btn.is-active{background:var(--bg-5);box-shadow:var(--bevel-sunken)}.btn:focus-visible{box-shadow:var(--bevel-raised), var(--focus);outline:none}.btn:disabled{opacity:.45;pointer-events:none}.btn.primary{background:linear-gradient(180deg, var(--gold-hi), var(--gold) 45%, var(--gold-dim));color:var(--text-inverse);border-color:#3a2b0d;font-weight:600;box-shadow:inset 1px 1px #ffffff59,inset -1px -1px #00000040}.btn.primary:hover{filter:brightness(1.06)}.btn.danger{color:#ffb3b0}.btn.ghost{box-shadow:none;background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--bg-4)}.btn.sm{min-width:0;height:22px;font-size:var(--fs-sm);padding:0 8px}.btn.icon{min-width:0;width:var(--h-control);padding:0}.btn.icon.sm{width:22px}button:focus-visible{outline:1px solid var(--teal);outline-offset:-1px}.input,.select,.textarea{height:var(--h-control);background:var(--bg-0);border:1px solid var(--border);border-radius:var(--radius);width:100%;box-shadow:var(--bevel-sunken);color:var(--text);outline:none;padding:0 8px}.input:focus,.select:focus,.textarea:focus{border-color:var(--teal-dim);box-shadow:var(--bevel-sunken), var(--focus)}.input:disabled,.select:disabled,.textarea:disabled{opacity:.5}.input::placeholder{color:var(--text-faint)}.input.mono{font-family:var(--font-mono)}.textarea{resize:vertical;height:auto;min-height:72px;padding:6px 8px;line-height:1.45}.select{appearance:none;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 d='M1 1l4 4 4-4' fill='none' stroke='%2399a2b3' stroke-width='1.5'/></svg>");background-position:right 8px center;background-repeat:no-repeat;padding-right:24px}.select option{background:var(--bg-2)}input[type=number].input{font-family:var(--font-mono);padding-right:4px}input[type=color].input{width:40px;padding:2px}input[type=range]{accent-color:var(--gold);width:100%}.number{align-items:stretch;width:100%;display:inline-flex}.number .input{border-radius:var(--radius) 0 0 var(--radius);text-align:right}.number .spin{border:1px solid var(--border);border-radius:0 var(--radius) var(--radius) 0;background:var(--bg-3);border-left:none;flex-direction:column;width:16px;display:flex;overflow:hidden}.number .spin button{color:var(--text-dim);flex:1;place-items:center;line-height:0;display:grid}.number .spin button:hover{background:var(--bg-4);color:var(--text)}.number .spin button+button{border-top:1px solid var(--border)}.number .unit{color:var(--text-dim);font-size:var(--fs-sm);align-self:center;margin-left:6px}.check{-webkit-user-select:none;user-select:none;cursor:default;white-space:nowrap;align-items:center;gap:7px;height:22px;display:inline-flex}.check input,.tick{appearance:none;border:1px solid var(--border-strong);background:var(--bg-0);width:14px;height:14px;box-shadow:var(--bevel-sunken);border-radius:2px;flex:none;place-items:center;margin:0;display:grid}.check input[type=radio]{border-radius:50%}.check input:checked,.tick:checked{border-color:var(--gold-dim);background:var(--bg-0)}.check input:checked:after,.tick:checked:after{content:"";background:var(--gold);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%);width:8px;height:8px}.check input[type=radio]:checked:after{clip-path:none;border-radius:50%;width:6px;height:6px}.check input:focus-visible,.tick:focus-visible{box-shadow:var(--bevel-sunken), var(--focus);outline:none}.check input:disabled+span{opacity:.45}.check.wrap{white-space:normal;align-items:flex-start;height:auto}.check.wrap input{margin-top:3px}.form{grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:8px 12px;display:grid}.form>*{min-width:0}.form>label{color:var(--text-dim);font-size:var(--fs-sm);white-space:nowrap;text-align:right}.form .span{grid-column:1/-1}.form.wide{grid-template-columns:120px minmax(0,1fr)}.row{align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between}.row.end{justify-content:flex-end}.col{flex-direction:column;gap:8px;display:flex}.grow{flex:1;min-width:0}.stack{flex-direction:column;gap:12px;display:flex}.hint{color:var(--text-faint);font-size:var(--fs-xs);line-height:1.4}.group{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--bevel-raised);min-width:0;padding:12px 12px 10px}.group>legend{font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-left:-2px;padding:0 6px;font-weight:600}.group.flush{padding:8px}.listbox{background:var(--bg-0);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--bevel-sunken);-webkit-user-select:none;user-select:none;outline:none;min-height:0;overflow:auto}.listbox:focus-visible{box-shadow:var(--bevel-sunken), var(--focus)}.listbox .item{white-space:nowrap;height:22px;color:var(--text);font-size:var(--fs-sm);align-items:center;gap:8px;padding:0 8px;display:flex}.listbox .item:hover{background:var(--bg-3)}.listbox .item.selected{background:var(--sel);color:#fff}.listbox .item.selected .dim,.listbox .item.selected .faint{color:#ffffffb3}.listbox .item .idx{width:32px;color:var(--text-faint);font-family:var(--font-mono);font-size:var(--fs-xs);text-align:right}.listbox .header{z-index:1;background:var(--bg-2);color:var(--text-dim);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--border);padding:4px 8px;font-weight:600;position:sticky;top:0}.listbox .empty{text-align:center;color:var(--text-faint);font-size:var(--fs-sm);padding:24px}.table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.table th{background:var(--bg-2);color:var(--text-dim);font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:5px 8px;font-weight:600;position:sticky;top:0}.table td{white-space:nowrap;vertical-align:middle;border-bottom:1px solid #ffffff08;padding:3px 8px}.table tr:hover td{background:#ffffff06}.table tr.selected td{background:var(--sel);color:#fff}.table td.num{font-family:var(--font-mono);text-align:right}.table td .select,.table td .input{height:22px;font-size:var(--fs-sm)}.table.dense td{padding:1px 6px}.tree .node{white-space:nowrap;height:22px;font-size:var(--fs-sm);align-items:center;gap:4px;padding-right:8px;display:flex}.tree .node:hover{background:var(--bg-3)}.tree .node.selected{background:var(--sel);color:#fff}.tree .node .twisty{width:16px;height:16px;color:var(--text-faint);flex:none;place-items:center;display:grid}.tree .node.group{color:var(--text-dim);box-shadow:none;border:none;border-radius:0;padding:0 8px 0 0;font-weight:600}.tree .node .swatch{border-radius:2px;flex:none;width:8px;height:8px}.tabs{flex-direction:column;min-height:0;display:flex}.tabs-list{border-bottom:1px solid var(--border);flex:none;gap:2px;display:flex}.tab{height:28px;color:var(--text-dim);font-size:var(--fs-sm);-webkit-user-select:none;user-select:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:0 12px;display:inline-flex}.tab:hover{color:var(--text);background:#ffffff08}.tab[data-state=active]{color:var(--gold);border-bottom-color:var(--gold)}.tab:focus-visible{box-shadow:var(--focus);outline:none}.tab-panel{outline:none;flex:1;min-height:0;padding-top:12px}.tab-panel[data-state=inactive],.tab-panel[hidden]{display:none!important}.tabs.compact .tab{height:24px;font-size:var(--fs-xs);padding:0 7px}.tabs.compact .tab-panel{padding-top:6px}.swatch{border:1px solid #000000b3;border-radius:2px;flex:none;width:14px;height:14px;display:inline-block;box-shadow:inset 0 0 0 1px #ffffff2e}.kbd{border:1px solid var(--border-strong);background:var(--bg-3);height:18px;line-height:16px;font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-dim);border-bottom-width:2px;border-radius:3px;padding:0 5px;display:inline-block}.badge{letter-spacing:.04em;background:var(--bg-4);height:16px;color:var(--text-dim);border-radius:8px;align-items:center;padding:0 6px;font-size:10px;font-weight:600;display:inline-flex}.badge.gold{color:var(--gold);background:#e6b95c26}.badge.teal{color:var(--teal);background:#4fd1c526}.badge.ok{color:var(--ok);background:#5cb85c26}.badge.warn{color:var(--warn);background:#e0a54526}.badge.danger{color:#ff8a86;background:#d9534f2e}.sep-v{background:var(--border);align-self:stretch;width:1px;margin:4px}.sep-h{background:var(--border);height:1px;margin:4px 0}.tooltip{background:var(--bg-5);color:var(--text);border-radius:var(--radius);font-size:var(--fs-xs);box-shadow:var(--shadow-pop);border:1px solid var(--border-strong);z-index:200;align-items:center;gap:8px;padding:4px 8px;animation:.1s fade-in;display:flex}.tooltip .kbd{height:16px;line-height:14px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.app{background:var(--bg-1);-webkit-user-select:none;user-select:none;flex-direction:column;height:100%;display:flex}.menubar{height:var(--h-menubar);background:var(--bg-2);border-bottom:1px solid var(--bg-0);box-shadow:0 1px 0 var(--line-hi);font-size:var(--fs-md);flex:none;align-items:center;padding:0 6px 0 0;display:flex}.brand{border-right:1px solid var(--border);color:#ff5fa2;letter-spacing:.14em;align-items:center;gap:8px;height:100%;margin-right:4px;padding:0 12px 0 10px;font-size:11px;font-weight:700;display:flex}.brand-mark{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:linear-gradient(135deg,#ffbedc,#b43c6e);width:14px;height:14px;box-shadow:0 0 10px #ff5fa280}.menu-trigger{height:100%;color:var(--text);border-radius:0;outline:none;padding:0 10px}.menu-trigger:hover,.menu-trigger[data-state=open],.menu-trigger[data-highlighted]{background:var(--bg-4);color:#fff}.menu-trigger[data-state=open]{box-shadow:inset 0 -2px 0 var(--gold)}.menu-trigger:focus-visible{outline:none}.menubar-doc{color:var(--text-dim);font-size:var(--fs-sm);align-items:center;gap:8px;margin-left:auto;padding-right:6px;display:flex}.menubar-doc .dot{background:var(--gold);width:6px;height:6px;box-shadow:0 0 6px var(--gold);border-radius:50%}.menubar-doc .dot.clean{background:var(--text-faint);box-shadow:none}.menu-content{background:var(--bg-2);border:1px solid var(--border-strong);border-radius:var(--radius-lg);min-width:220px;box-shadow:var(--shadow-pop), var(--bevel-raised);z-index:150;font-size:var(--fs-md);padding:4px;animation:.1s menu-in}@keyframes menu-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}.menu-item{border-radius:var(--radius);height:24px;color:var(--text);white-space:nowrap;outline:none;align-items:center;gap:8px;padding:0 10px 0 26px;display:flex;position:relative}.menu-item[data-highlighted]{background:var(--sel);color:#fff}.menu-item[data-disabled]{color:var(--text-faint);pointer-events:none}.menu-item .shortcut{font-size:var(--fs-xs);color:var(--text-faint);font-family:var(--font-mono);margin-left:auto;padding-left:24px}.menu-item[data-highlighted] .shortcut{color:#ffffffa6}.menu-item .indicator{color:var(--gold);place-items:center;display:grid;position:absolute;left:8px}.menu-item .chev{color:var(--text-faint);margin-left:auto}.menu-item[data-highlighted] .chev{color:#fff}.menu-separator{background:var(--border);height:1px;margin:4px 6px}.menu-label{font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);padding:4px 10px 2px}.toolbar{height:var(--h-toolbar);background:var(--bg-2);border-bottom:1px solid var(--bg-0);box-shadow:0 1px 0 var(--line-hi);flex:none;align-items:center;gap:2px;padding:0 6px;display:flex}.tb-btn{border-radius:var(--radius);min-width:26px;height:26px;color:var(--text-dim);border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 5px;display:inline-flex}.tb-btn:hover{background:var(--bg-3);color:var(--text);border-color:var(--bg-0);box-shadow:var(--bevel-raised)}.tb-btn:active,.tb-btn.is-active{background:var(--bg-5);color:var(--gold);border-color:var(--bg-0);box-shadow:var(--bevel-sunken)}.tb-btn:disabled{opacity:.35;pointer-events:none}.tb-btn .lbl{font-size:var(--fs-sm);padding-right:3px}.tb-btn.accent{color:var(--gold)}.tb-sep{background:var(--border);width:1px;height:20px;box-shadow:1px 0 0 var(--line-hi);margin:0 5px}.tb-group{align-items:center;gap:6px;padding:0 2px;display:flex}.tb-group>.lbl{color:var(--text-faint);font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase}.tb-group .select{width:auto;min-width:128px;height:24px;font-size:var(--fs-sm)}.tb-group .select.narrow{min-width:64px}.zoom-readout{text-align:center;min-width:42px;font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-dim)}.tb-spacer{flex:1}.body{flex:1;min-height:0;display:flex}.statusbar{height:var(--h-statusbar);background:var(--bg-2);border-top:1px solid var(--line-hi);box-shadow:0 -1px 0 var(--bg-0);font-size:var(--fs-xs);color:var(--text-dim);flex:none;align-items:stretch;gap:4px;padding:2px 6px;display:flex}.status-cell{box-shadow:var(--bevel-sunken);background:var(--bg-1);white-space:nowrap;border-radius:2px;align-items:center;gap:6px;padding:0 8px;display:flex}.status-cell.grow{flex:1}.status-cell .k{color:var(--text-faint);letter-spacing:.06em;text-transform:uppercase;font-size:9.5px}.status-cell .v{font-family:var(--font-mono);color:var(--text)}.status-cell.msg{color:var(--text-dim)}.status-cell .swatch{width:10px;height:10px}.app.drop-target:after{content:"";z-index:40;pointer-events:none;border:2px dashed var(--gold);background:color-mix(in srgb, var(--gold) 6%, transparent);position:absolute;inset:0}.menu-item .menu-icon .plugin-icon{color:var(--teal)}.menu-item .menu-icon img.plugin-icon{border-radius:3px}.toasts{right:14px;bottom:calc(var(--h-statusbar) + 12px);z-index:60;pointer-events:none;flex-direction:column;gap:6px;display:flex;position:fixed}.toast{pointer-events:auto;background:var(--bg-3);border:1px solid var(--border-strong);border-left:3px solid var(--text-dim);border-radius:var(--radius-lg);min-width:240px;max-width:380px;box-shadow:var(--shadow-pop);font-size:var(--fs-sm);color:var(--text);align-items:flex-start;gap:8px;padding:8px 8px 8px 10px;animation:.16s ease-out toast-in;display:flex}.toast.ok{border-left-color:var(--ok)}.toast.ok .toast-icon{color:var(--ok)}.toast.info{border-left-color:var(--teal)}.toast.info .toast-icon{color:var(--teal)}.toast.warn{border-left-color:var(--warn)}.toast.warn .toast-icon{color:var(--warn)}.toast.error{border-left-color:var(--danger)}.toast.error .toast-icon{color:#ff8a86}.toast-icon{flex:none;margin-top:1px}.toast-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.toast-title{font-weight:600}.toast-detail{color:var(--text-dim);overflow-wrap:anywhere}.toast-action{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-3);color:var(--text);font:inherit;cursor:default;flex:none;align-self:center;padding:3px 9px}.toast-action:hover{background:var(--bg-4);border-color:var(--border-strong,var(--border))}.toast-close{border-radius:var(--radius);width:18px;height:18px;color:var(--text-faint);cursor:default;background:0 0;border:0;flex:none;justify-content:center;align-items:center;display:inline-flex}.toast-close:hover{background:var(--bg-4);color:var(--text)}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.dock{background:var(--bg-2);flex-direction:column;flex:none;min-height:0;display:flex;position:relative}.dock.left{border-right:1px solid var(--bg-0);box-shadow:1px 0 0 var(--line-hi)}.dock.right{border-left:1px solid var(--bg-0);box-shadow:-1px 0 0 var(--line-hi)}.dock-resizer{cursor:col-resize;z-index:5;width:6px;position:absolute;top:0;bottom:0}.dock.left .dock-resizer{right:-3px}.dock.right .dock-resizer{left:-3px}.dock-resizer:hover,.dock-resizer.dragging{background:#4fd1c540}.panel{flex-direction:column;min-height:0;display:flex}.panel.grow{flex:1}.panel+.panel{border-top:1px solid var(--bg-0);box-shadow:0 1px 0 var(--line-hi) inset}.panel-head{background:linear-gradient(180deg, var(--bg-3), var(--bg-2));border-bottom:1px solid var(--bg-0);height:24px;box-shadow:var(--bevel-raised);color:var(--text-dim);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;flex:none;align-items:center;gap:6px;padding:0 8px 0 10px;font-weight:600;display:flex}.panel-head .title{flex:1}.panel-head .btn.icon{width:18px;height:18px;box-shadow:none;color:var(--text-faint);background:0 0;border:none}.panel-head .btn.icon:hover{background:var(--bg-4);color:var(--text)}.panel-body{flex:1;min-height:0;padding:8px;overflow:auto}.panel-body.flush{padding:0}.palette{flex:1;min-height:0;display:flex}.layer-rail{border-right:1px solid var(--bg-0);width:38px;box-shadow:1px 0 0 var(--line-hi);background:var(--bg-1);flex-direction:column;flex:none;align-items:center;gap:2px;padding:4px 0;display:flex}.rail-btn{border-radius:var(--radius);width:30px;height:30px;color:var(--text-dim);border:1px solid #0000;place-items:center;display:grid;position:relative}.rail-btn:hover{background:var(--bg-3);color:var(--text)}.rail-btn.is-active{background:var(--bg-4);color:var(--gold);border-color:var(--bg-0);box-shadow:var(--bevel-sunken)}.rail-btn.is-active:before{content:"";background:var(--gold);border-radius:1px;width:2px;position:absolute;top:6px;bottom:6px;left:-5px}.rail-sep{background:var(--border);width:20px;height:1px;margin:4px 0}.palette-main{flex-direction:column;flex:1;min-width:0;display:flex}.palette-main .tabs{flex:1}.palette-main .tab-panel{flex-direction:column;min-height:0;padding:0;display:flex}.palette-main .tabs-list{background:var(--bg-1);padding:0 6px}.palette-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;flex:none;align-items:center;gap:6px;padding:6px 8px;display:flex}.palette-toolbar .lbl{color:var(--text-faint);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em}.palette-toolbar .select,.palette-toolbar .input{height:22px;font-size:var(--fs-sm)}.palette-scroll{flex:1;min-height:0;overflow:auto}.palette-footer{border-top:1px solid var(--border);font-size:var(--fs-xs);color:var(--text-faint);flex:none;justify-content:space-between;gap:8px;padding:6px 8px;display:flex}.tile-thumb{image-rendering:pixelated;border-radius:2px;flex:none;display:block}.terrain-list .item .tile-thumb.swatch{border:1px solid #000000b3;width:18px;height:14px;box-shadow:inset 0 0 0 1px #ffffff2e}.variation-strip{border-bottom:1px solid var(--border);flex-wrap:wrap;flex:none;gap:3px;padding:6px 8px;display:flex}.variation{border:1px solid var(--bg-0);width:26px;height:26px;box-shadow:var(--bevel-raised);background:var(--bg-3);color:var(--text-dim);border-radius:2px;place-items:center;padding:0;display:grid}.variation:hover{border-color:var(--text-dim)}.variation.is-active{outline:2px solid var(--gold);outline-offset:-1px}.variation.rare{border-style:dashed;border-color:var(--gold-dim)}.tile-browser{padding:4px 0;position:relative}.tile-row{align-items:flex-start;gap:6px;padding:0 6px;display:flex;position:absolute;left:0;right:0}.tile-row canvas{image-rendering:pixelated;border:1px solid var(--bg-0);cursor:pointer;display:block}.tile-row.is-selected canvas{border-color:var(--gold-dim)}.tile-row-lbl{width:46px;color:var(--text-faint);flex-direction:column;flex:none;gap:1px;font-size:9.5px;line-height:1.2;display:flex;overflow:hidden}.tile-row-lbl .mono{color:var(--text-dim);font-size:10px}.tile-row-lbl .name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tile-row.kind-terrain .tile-row-lbl .name{color:var(--gold-dim)}.tile-row.is-selected .tile-row-lbl .mono{color:var(--gold)}.tile-grid{padding:4px 6px;position:relative}.tile-grid-row{image-rendering:pixelated;cursor:pointer;display:block;position:absolute;left:0}.palette-toolbar .search{flex:100%;align-items:center;display:flex;position:relative}.palette-toolbar .search>svg{color:var(--text-faint);pointer-events:none;position:absolute;left:5px}.palette-toolbar .search .input{width:100%;padding-left:21px;padding-right:18px}.palette-toolbar .search .clear{width:14px;height:14px;color:var(--text-faint);cursor:pointer;background:0 0;border:none;place-items:center;padding:0;display:grid;position:absolute;right:3px}.palette-toolbar .search .clear:hover{color:var(--text)}.tile-info{border-bottom:1px solid var(--border);flex:none;align-items:flex-start;gap:10px;padding:8px;display:flex}.tile-info .tile-thumb.preview{border:1px solid var(--bg-0);box-shadow:var(--bevel-sunken)}.tile-info .props{flex:1;gap:4px 6px;min-width:0}.palette-footer.sub{border-top:none;padding-top:0}.blend-side{border-bottom:1px solid var(--border)}.blend-side>header{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);justify-content:space-between;align-items:baseline;padding:5px 8px 3px;display:flex}.blend-side>header .dim{text-transform:none;letter-spacing:0;color:var(--text-faint)}.blend-grid{flex-wrap:wrap;gap:3px;padding:0 8px 7px;display:flex}.blend-tile{border:1px solid var(--bg-0);background:var(--bg-3);box-shadow:var(--bevel-raised);cursor:pointer;border-radius:2px;justify-items:center;gap:1px;padding:1px 1px 0;display:grid}.blend-tile:hover{border-color:var(--gold)}.blend-tile.exact .d{color:var(--gold)}.blend-tile .d{color:var(--text-faint);font-size:8.5px;line-height:10px}.blend-anchor .props .k:empty{visibility:hidden}.terrain-list .item{height:26px}.terrain-list .item .swatch{width:18px;height:14px}.terrain-list .item .elev{color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;margin-left:auto;font-size:9.5px}.doodad-grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px;padding:8px;display:grid}.doodad{border-radius:var(--radius);color:var(--text-dim);text-align:center;border:1px solid #0000;flex-direction:column;align-items:center;gap:4px;padding:6px 4px;font-size:10px;display:flex}.doodad:hover{background:var(--bg-3);border-color:var(--bg-0)}.doodad.selected{background:var(--bg-4);border-color:var(--gold-dim);color:var(--text)}.doodad .thumb{background:linear-gradient(160deg, var(--bg-5), var(--bg-1));width:56px;height:40px;box-shadow:var(--bevel-sunken);color:var(--text-faint);border-radius:2px;place-items:center;display:grid;overflow:hidden}.doodad-thumb{image-rendering:auto;display:block}.doodad .lbl{text-overflow:ellipsis;white-space:nowrap;width:100%;overflow:hidden}.doodad-section+.doodad-section{border-top:1px solid var(--border)}.doodad-section-head{font-size:var(--fs-xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;align-items:baseline;padding:8px 8px 0;display:flex}.doodad-section-head+.doodad-grid{padding-top:4px}.placement-options{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:2px 10px;padding:4px 8px 6px;font-size:11px;display:flex}.placement-options .check{gap:4px}.owner-strip{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:3px;padding:6px 8px;display:flex}.owner-chip{border:1px solid var(--bg-0);width:20px;height:18px;box-shadow:var(--bevel-raised);color:#fff;text-shadow:0 1px 1px #000000e6;background:var(--c);opacity:.75;border-radius:2px;place-items:center;font-size:9.5px;font-weight:700;display:grid}.owner-chip:hover{opacity:1}.owner-chip.is-active{opacity:1;outline:2px solid var(--gold);outline-offset:1px}.loc-row{height:24px;font-size:var(--fs-sm);grid-template-columns:24px 1fr auto;align-items:center;gap:6px;padding:0 8px;display:grid}.loc-row:hover{background:var(--bg-3)}.loc-row.selected{background:var(--sel);color:#fff}.loc-row .n{font-family:var(--font-mono);color:var(--text-faint);font-size:var(--fs-xs)}.loc-row .coords{font-family:var(--font-mono);color:var(--text-faint);font-size:10px}.loc-row .name{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;min-width:0;display:flex;overflow:hidden}.loc-row .elev{color:var(--warn);font-size:8px}.loc-row.anywhere{color:var(--text-dim);border-bottom:1px solid var(--border);margin-bottom:2px;font-style:italic}.loc-row.anywhere.selected{color:#fff}.fog-head{align-items:center;gap:6px;padding:6px 8px 0;display:flex}.fog-head .lbl{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.fog-head .faint{white-space:nowrap;font-size:11px}.fog-head .grow{flex:1}.fog-note{border-bottom:1px solid var(--border);padding:0 8px 6px}.fog-actions{gap:8px;padding:8px;display:grid}.fog-actions .group{margin:0}.seg{gap:2px;display:inline-flex}.minimap-wrap{place-items:center;padding:8px;display:grid}.minimap{aspect-ratio:1;background:var(--bg-0);border:1px solid var(--bg-0);width:100%;box-shadow:var(--bevel-sunken);image-rendering:pixelated;cursor:crosshair;touch-action:none;display:block}.layer-row{height:24px;font-size:var(--fs-sm);border-radius:var(--radius);grid-template-columns:20px 20px 1fr 20px;align-items:center;gap:4px;padding:0 6px 0 4px;display:grid}.layer-group{text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);padding:8px 6px 2px;font-size:10.5px}.layer-row.is-overlay .ico{place-items:center;display:grid}.layer-row:hover{background:var(--bg-3)}.layer-row.is-active{background:var(--bg-4);color:var(--gold)}.layer-row .eye,.layer-row .lock{width:20px;height:20px;color:var(--text-dim);border-radius:2px;place-items:center;display:grid}.layer-row .eye:hover,.layer-row .lock:hover{background:var(--bg-5);color:var(--text)}.layer-row .eye.off,.layer-row .lock.off{color:var(--text-faint);opacity:.5}.layer-row .ico{color:var(--text-faint);place-items:center;display:grid}.layer-row.is-active .ico{color:var(--gold)}.props{font-size:var(--fs-sm);grid-template-columns:84px 1fr;align-items:center;gap:6px 8px;display:grid}.props>.k{color:var(--text-faint);text-align:right;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em}.props .select,.props .input{height:22px;font-size:var(--fs-sm)}.props .span{grid-column:1/-1}.props-section{border-top:1px solid var(--border);color:var(--gold);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;grid-column:1/-1;margin-top:10px;padding-top:8px;font-weight:600}.props-empty{text-align:center;color:var(--text-faint);font-size:var(--fs-sm);padding:24px 12px}.props-empty svg{opacity:.5;margin:0 auto 8px;display:block}.unit-preview{image-rendering:pixelated;background-color:#0000;background-image:linear-gradient(45deg,#ffffff0a 25%,#0000 25% 75%,#ffffff0a 75%),linear-gradient(45deg,#ffffff0a 25%,#0000 25% 75%,#ffffff0a 75%);background-position:0 0,4px 4px;background-repeat:repeat,repeat;background-size:8px 8px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;background-color:var(--bg-0);border:1px solid var(--border);border-radius:3px;flex:none;display:block}.unit-head{align-items:center;gap:10px;min-width:0;display:flex}.unit-head .name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.unit-head .sub{color:var(--text-faint);font-size:var(--fs-xs);font-family:var(--font-mono)}.palette-footer.sub.warn{color:var(--warn,#e6b95c)}.plugin-panel{z-index:6;background:var(--bg-1);border:1px solid var(--bg-0);border-radius:var(--radius-lg);max-height:calc(100% - 40px);box-shadow:0 8px 24px #00000080, inset 0 1px 0 var(--line-hi);flex-direction:column;display:flex;position:absolute;overflow:hidden}.plugin-panel-title{cursor:grab;-webkit-user-select:none;user-select:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.plugin-panel-title:active{cursor:grabbing}.plugin-panel-body{min-height:0;font-size:var(--fs-sm);flex:1;padding:10px 12px;overflow:auto}.viewport{background:var(--bg-0);flex:1;grid-template-rows:20px 1fr;grid-template-columns:20px 1fr;min-width:0;display:grid;position:relative}.ruler-corner{background:var(--bg-2);border-right:1px solid var(--bg-0);border-bottom:1px solid var(--bg-0);color:var(--text-faint);place-items:center;display:grid}.ruler{background:var(--bg-2);position:relative;overflow:hidden}.ruler.top{border-bottom:1px solid var(--bg-0);box-shadow:0 1px 0 var(--line-hi)}.ruler.left{border-right:1px solid var(--bg-0);box-shadow:1px 0 0 var(--line-hi)}.ruler canvas{width:100%;height:100%;display:block}.scroller{outline:none;position:relative;overflow:auto}.map-surface{cursor:crosshair;touch-action:none;position:relative}.map-surface.painting{cursor:cell}.map-surface canvas{image-rendering:pixelated;display:block}.map-hud{pointer-events:none;z-index:2;gap:6px;display:flex;position:absolute;bottom:22px;right:22px}.hud-chip{border:1px solid var(--border);color:var(--text-dim);font-size:var(--fs-xs);font-family:var(--font-mono);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a0c10bf;border-radius:3px;padding:3px 8px}.hud-chip.pick{border-color:var(--teal-dim);color:var(--teal)}.hud-chip b{color:var(--gold);font-weight:600}.map-empty{color:var(--text-faint);pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.viewport-notices{z-index:5;pointer-events:none;justify-items:start;gap:8px;display:grid;position:absolute;top:28px;left:28px}.viewport-notice{pointer-events:auto;border:1px solid color-mix(in srgb, var(--warn) 45%, transparent);border-radius:var(--radius);background:color-mix(in srgb, var(--warn) 12%, var(--bg-0));max-width:460px;color:var(--text);justify-items:start;gap:8px;padding:8px 11px;font-size:11.5px;line-height:1.5;display:grid}.viewport-notice code{font-family:var(--font-mono);color:var(--gold-hi)}.viewport-loading{z-index:5;border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--text-dim);font-size:var(--fs-xs);pointer-events:none;background:#0a0c10d9;align-items:center;gap:9px;padding:10px 14px;animation:.18s both fade-in;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.viewport-loading svg{color:var(--gold)}.viewport-loading .spin{animation:.9s linear infinite viewport-spin}@keyframes viewport-spin{to{transform:rotate(360deg)}}.map-surface.placing{cursor:copy}.map-surface.moving{cursor:move}.dlg-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;background:#0406098c;animation:.15s fade-in;position:fixed;inset:0}.dlg{z-index:101;width:var(--dlg-w,520px);background:var(--bg-2);border:1px solid var(--border-strong);border-radius:var(--radius-lg);max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);box-shadow:var(--shadow-dialog), var(--bevel-raised);-webkit-user-select:none;user-select:none;outline:none;flex-direction:column;animation:.16s cubic-bezier(.2,.8,.2,1) dlg-in;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.dlg.sm{--dlg-w:400px}.dlg.md{--dlg-w:540px}.dlg.lg{--dlg-w:740px}.dlg.xl{--dlg-w:960px}.dlg.full{--dlg-w:min(1280px, calc(100vw - 48px));height:calc(100vh - 48px)}.dlg.tall{height:min(720px,100vh - 48px)}@keyframes dlg-in{0%{opacity:0;transform:translate(-50%,-49%)scale(.985)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.dlg-title{background:linear-gradient(180deg, var(--bg-4), var(--bg-3));border-bottom:1px solid var(--bg-0);height:32px;box-shadow:inset 0 1px 0 var(--line-hi);border-radius:var(--radius-lg) var(--radius-lg) 0 0;flex:none;align-items:center;gap:8px;padding:0 6px 0 12px;display:flex}.dlg-title h2{font-size:var(--fs-md);color:var(--gold);letter-spacing:.02em;flex:1;font-weight:600}.dlg-title .icon-lead{color:var(--gold-dim);place-items:center;display:grid}.dlg-close{border-radius:var(--radius);width:22px;height:22px;color:var(--text-dim);place-items:center;display:grid}.dlg-close:hover{background:var(--danger);color:#fff}.dlg-body{-webkit-user-select:text;user-select:text;flex-direction:column;flex:1;gap:12px;min-height:0;padding:14px;display:flex;overflow:auto}.dlg-body.flush{gap:0;padding:0}.dlg-footer{border-top:1px solid var(--bg-0);box-shadow:inset 0 1px 0 var(--line-hi);background:var(--bg-1);border-radius:0 0 var(--radius-lg) var(--radius-lg);flex:none;align-items:center;gap:8px;padding:10px 14px;display:flex}.dlg-footer .left{color:var(--text-faint);font-size:var(--fs-xs);flex:1;align-items:center;gap:8px;display:flex}.dlg-desc{color:var(--text-dim);font-size:var(--fs-sm)}.split{grid-template-columns:var(--split,220px) 1fr;flex:1;gap:12px;min-height:0;display:grid}.split>*{min-width:0;min-height:0}.split.rows{grid-template-columns:1fr;grid-template-rows:var(--split,1fr) 1fr}.tileset-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.tileset-card{border-radius:var(--radius);border:1px solid var(--bg-0);background:var(--bg-3);box-shadow:var(--bevel-raised);text-align:left;color:var(--text-dim);font-size:var(--fs-sm);flex-direction:column;gap:6px;padding:6px;display:flex}.tileset-card:hover{background:var(--bg-4);color:var(--text)}.tileset-card.selected{outline:2px solid var(--gold);outline-offset:-1px;color:var(--text)}.tileset-card .thumb{background:var(--c);height:44px;box-shadow:var(--bevel-sunken);border-radius:2px;position:relative;overflow:hidden}.tileset-card .thumb:after{content:"";background:radial-gradient(at 20% 30%,#ffffff24,#0000 50%),radial-gradient(at 80% 80%,#00000059,#0000 50%),repeating-linear-gradient(0deg,#0000001a 0 1px,#0000 1px 8px),repeating-linear-gradient(90deg,#0000001a 0 1px,#0000 1px 8px);position:absolute;inset:0}.map-preview{aspect-ratio:1;background:var(--bg-0);width:100%;box-shadow:var(--bevel-sunken);border:1px solid var(--border);border-radius:var(--radius);place-items:center;display:grid}.map-preview .sheet{background:var(--c);background-image:repeating-linear-gradient(0deg,#0000001f 0 1px,#0000 1px 12.5%),repeating-linear-gradient(90deg,#0000001f 0 1px,#0000 1px 12.5%);box-shadow:0 0 0 1px #ffffff1a,0 4px 16px #0009}.color-grid{grid-template-columns:repeat(11,1fr);gap:4px;display:grid}.color-chip{aspect-ratio:1;border:1px solid var(--bg-0);box-shadow:var(--bevel-raised);background:var(--c);border-radius:2px}.color-chip:hover{transform:scale(1.08)}.color-chip.selected{outline:2px solid var(--gold);outline-offset:1px}.unit-frame{background:var(--bg-0);box-shadow:var(--bevel-sunken);border-radius:3px;flex:none;place-items:center;padding:4px;display:grid}.unit-frame .unit-preview{border-radius:2px}.unit-header{align-items:center;gap:12px;display:flex}.unit-header .title{font-size:14px;font-weight:600}.force-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.force-box .listbox{height:118px}.force-box .row.flags{flex-wrap:wrap;gap:4px 12px;margin-top:6px}.anchor{grid-template-columns:repeat(3,24px);gap:3px;display:grid}.anchor button{background:var(--bg-3);border:1px solid var(--bg-0);width:24px;height:24px;box-shadow:var(--bevel-raised);color:var(--text-faint);border-radius:2px;place-items:center;display:grid}.anchor button.selected{background:var(--bg-5);color:var(--gold);box-shadow:var(--bevel-sunken)}.trig-list .item{white-space:normal;border-bottom:1px solid #ffffff08;align-items:flex-start;height:auto;padding:5px 8px}.trig-list .item .body{flex-direction:column;gap:2px;min-width:0;display:flex}.trig-list .item .who{color:var(--teal);font-size:var(--fs-xs);font-weight:600}.trig-list .item.selected .who{color:#bff5ef}.trig-list .item .summary{color:var(--text-dim);font-size:var(--fs-xs);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.trig-line{height:22px;font-family:var(--font-mono);font-size:var(--fs-xs);white-space:nowrap;align-items:center;gap:6px;min-width:0;padding:0 8px;display:flex}.trig-line>span{flex:none}.trig-line>.param{text-overflow:ellipsis;flex:0 auto;overflow:hidden}.trig-line:hover{background:var(--bg-3)}.trig-line .kw{color:var(--gold)}.trig-line .param{color:var(--teal)}.player-check-grid{grid-template-columns:repeat(3,1fr);gap:2px 8px;display:grid}.code-editor{background:var(--bg-0);border:1px solid var(--border);min-height:0;box-shadow:var(--bevel-sunken);border-radius:var(--radius);font-family:var(--font-mono);flex:1;grid-template-columns:44px 1fr;font-size:12px;line-height:18px;display:grid;overflow:hidden}.code-editor .gutter{text-align:right;color:var(--text-faint);background:var(--bg-1);border-right:1px solid var(--border);white-space:pre;-webkit-user-select:none;user-select:none;padding:8px 6px;overflow:hidden}.code-editor textarea{resize:none;color:var(--text);white-space:pre;tab-size:4;font:inherit;line-height:inherit;background:0 0;border:none;outline:none;padding:8px 10px;overflow:auto}.about-space{border-radius:var(--radius);background:linear-gradient(#120818,#0a0410);flex:none;padding:22px 24px 20px;position:relative;overflow:hidden}.about-canvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.about-content{text-align:center;flex-direction:column;align-items:center;gap:2px;display:flex;position:relative}.about-logo{margin-bottom:-6px;display:block}.about-app-name{letter-spacing:.14em;color:#ff5fa2;text-shadow:0 0 24px #ff5fa280,0 0 60px #ff5fa226,0 1px #0009;margin-top:6px;font-size:30px;font-weight:800}.about-app-name span{color:#dde2ea}.about-tagline{letter-spacing:.32em;text-transform:uppercase;color:#a064f0d9;text-shadow:0 0 16px #a064f04d;margin-top:2px;font-size:10px}.about-rule{background:linear-gradient(90deg,#0000,#ff5fa280,#0000);width:80px;height:1px;margin:10px auto}.about-meta{color:#ffbedc;letter-spacing:.06em;font-size:11px;font-weight:600}.about-desc{color:#ffbedc99;margin-top:1px;font-size:10.5px}.about-homage{color:#ffbedc80;max-width:46ch;margin:12px 0 0;font-size:10.5px;line-height:1.6}.about-homage strong{color:#ffbedccc;font-weight:600}.about-credits{flex-direction:column;flex:none;gap:14px;display:flex}.about-group h3{letter-spacing:.22em;text-transform:uppercase;color:#ff5fa2;margin:0 0 5px;font-size:10px;font-weight:700}.about-group .about-note{color:var(--text-dim);margin:0 0 8px;font-size:10px;font-style:italic;line-height:1.6}.about-group ul{border-left:1px solid #ff5fa22e;flex-direction:column;gap:8px;margin:0;padding:0 0 0 10px;list-style:none;display:flex}.about-group li{flex-direction:column;gap:1px;display:flex}.about-group .who{color:#ffbedc;letter-spacing:.02em;font-size:11.5px;font-weight:700}.about-group .who em{color:#ffbedc66;font-size:10px;font-style:normal;font-weight:400}.about-group .what{color:var(--text-dim);font-size:10.5px;line-height:1.55}.about-thanks ul{border-left-color:#a064f059}.about-thanks .who{color:#c8a0fff2}.about-details{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-1);flex:none}.about-details>summary{cursor:pointer;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);-webkit-user-select:none;user-select:none;padding:7px 10px;font-size:10.5px;font-weight:600;list-style:none}.about-details>summary::-webkit-details-marker{display:none}.about-details>summary:before{content:"▸";color:#ff5fa2b3;width:11px;transition:transform .12s;display:inline-block}.about-details[open]>summary:before{transform:rotate(90deg)}.about-details>summary:hover{color:#ffbedc}.about-details-body{border-top:1px solid var(--border);padding:2px 10px 10px}.about-details-body p{color:var(--text-dim);margin:8px 0 0;font-size:9.5px;line-height:1.6}.about-details-body code{color:#ffbedcb3;font-size:9px}.about-stack{grid-template-columns:max-content 1fr;gap:3px 10px;margin:8px 0 0;font-size:9.5px;display:grid}.about-stack>div{display:contents}.about-stack dt{color:#ffbedcbf;white-space:nowrap;font-weight:600}.about-stack dd{color:var(--text-dim);margin:0}.about-links{align-items:center;gap:6px;margin-top:10px;display:flex}.about-link{letter-spacing:.06em;color:#ff5fa2;cursor:pointer;background:0 0;border:1px solid #ff5fa240;border-radius:4px;padding:3px 10px;font-size:10px;transition:background .15s,border-color .15s}.about-link:hover{background:#ff5fa21a;border-color:#ff5fa273}.about-disclaimer{color:var(--text-faint);text-align:center;flex:none;margin:0;font-size:9px;line-height:1.5}.hotkeys .kbd{margin-right:3px}.issue{font-size:var(--fs-sm);border-bottom:1px solid #ffffff08;grid-template-columns:18px 1fr auto;align-items:center;gap:8px;padding:4px 8px;display:grid}.issue .where{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-faint)}.issue.error svg{color:var(--danger)}.issue.warn svg{color:var(--warn)}.issue.info svg{color:var(--teal)}.dropzone{text-align:center;border:1px dashed var(--border-strong);border-radius:var(--radius-lg);color:var(--text-dim);background:var(--bg-1);place-items:center;gap:6px;padding:28px;display:grid}.dropzone svg{color:var(--text-faint)}.dropzone.dragging{border-color:var(--gold);background:color-mix(in srgb, var(--gold) 8%, var(--bg-1));color:var(--text);border-style:solid}.dropzone.dragging svg{color:var(--gold)}.error-text{border:1px solid color-mix(in srgb, var(--danger) 45%, transparent);border-radius:var(--radius);background:color-mix(in srgb, var(--danger) 12%, transparent);color:color-mix(in srgb, var(--danger) 70%, var(--text));margin:10px 0 0;padding:8px 10px;font-size:11.5px;line-height:1.45}@keyframes dialog-spin{to{transform:rotate(360deg)}}.btn>.lucide-loader-2,.btn>svg.spin{animation:.9s linear infinite dialog-spin}.flag-grid{align-items:center;gap:4px 12px;display:grid}.flag-grid.vitals{grid-template-columns:max-content minmax(0,1fr) max-content max-content;column-gap:8px}.flag-grid.states{grid-template-columns:minmax(0,1fr) max-content max-content}.flag-grid>.head{font-size:var(--fs-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint);border-bottom:1px solid var(--border);padding-bottom:3px}.flag-grid>.head.tick-col{text-align:center}.flag-grid>.tick{justify-self:center}.flag-grid .unused{color:var(--text-faint)}.export-preview{border-radius:var(--radius);background:var(--bg-0);min-height:150px;box-shadow:var(--bevel-sunken);place-items:center;padding:8px;display:grid}.trig-items .item{height:auto;padding:0}.trig-items .item .trig-line{width:100%}.trig-line.off{opacity:.45;text-decoration:line-through}.trig-item-editor{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-1);flex-direction:column;flex:none;gap:8px;max-height:46%;padding:8px;display:flex;overflow:auto}.trig-args{flex-wrap:wrap;gap:6px 16px;display:flex}.trig-arg{flex-direction:column;gap:3px;display:flex}.trig-arg .lbl{color:var(--text-dim);font-size:var(--fs-xs)}.trig-error{color:var(--danger,#ff7a7a)}.code-editor.wrap textarea{white-space:pre-wrap}.trig-list .item .who .badge{margin-left:6px}.trig-generated{border:1px dashed var(--border-strong);border-radius:var(--radius);color:var(--text-dim);font-size:var(--fs-sm);flex-direction:column;align-items:flex-start;gap:10px;padding:16px;display:flex}.issue.jump{cursor:pointer}.issue.jump:hover{background:color-mix(in srgb, var(--accent,#d4a017) 10%, transparent)}.pane-label{color:var(--text-dim);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:600}.plugin-add{flex-direction:column;gap:6px;display:flex}.plugin-examples{margin:0;padding:0 0 0 16px;list-style:outside}.plugin-examples li{margin-bottom:2px}.plugin-add .hint .mono,.plugin-examples .mono,.plugin-row .mono{overflow-wrap:anywhere}.plugin-tabs>.tab-panel{flex-direction:column;display:flex}.plugin-manage{flex:1;min-height:0}.plugin-manage>.plugin-add,.plugin-manage>.pane-label,.plugin-manage>.hint,.plugin-manage>p{flex:none}.plugin-manage>.pane-label{margin-bottom:-6px}.plugin-list{flex:1;min-height:120px;max-height:none}.listbox .plugin-row{white-space:normal;cursor:default;align-items:flex-start;gap:10px;height:auto;padding:8px 10px}.listbox .plugin-row+.plugin-row{border-top:1px solid var(--bg-2)}.listbox .plugin-row .check{margin-top:1px}.plugin-icon{object-fit:contain;color:var(--text-dim);flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.listbox .plugin-row .plugin-icon{margin:1px 2px 0 4px}.plugin-row-actions{flex-direction:column;flex:none;align-items:flex-end;gap:5px;display:flex}.plugin-row-actions>.row{flex:none}.plugin-copy{color:var(--text-dim);font-size:var(--fs-xs);align-items:center;gap:4px;display:inline-flex}.plugin-copy>svg{flex:none}.plugin-copy .check{gap:4px}.badge.teal{color:var(--teal)}.browse-row.is-installed{box-shadow:inset 3px 0 0 var(--teal)}.browse-row.is-disabled{box-shadow:inset 3px 0 0 var(--text-faint)}.browse-row.is-disabled strong{color:var(--text-dim)}.plugin-here{color:var(--text-dim);font-size:var(--fs-xs);white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.plugin-here.on{color:var(--teal)}.plugin-here>svg{flex:none}.browse-filters{flex:none;align-items:center;gap:6px}.browse-filters .btn .dim{margin-left:5px}@keyframes plugin-flash{0%,45%{background:#4fd1c538}to{background:0 0}}.listbox .plugin-row.flash{animation:1.5s ease-out plugin-flash}.badge>svg.spin{flex:none;margin-right:3px;animation:.9s linear infinite dialog-spin}.badge.error-text{color:#ffb3b0}.plugin-confirm{gap:12px}.plugin-confirm-head{align-items:flex-start;gap:12px;display:flex}.plugin-confirm-name{font-size:var(--fs-lg,14px);overflow-wrap:anywhere}.plugin-warning{border:1px solid color-mix(in srgb, var(--warn) 45%, transparent);background:color-mix(in srgb, var(--warn) 10%, var(--bg-2));border-radius:var(--radius);color:var(--text);align-items:flex-start;gap:8px;padding:9px 11px;font-size:11.5px;line-height:1.5;display:flex}.plugin-warning>svg{color:var(--warn);flex:none;margin-top:1px}.plugin-warning strong{color:var(--warn)}.plugin-options{border:1px solid var(--bg-2);border-radius:var(--radius);background:var(--bg-1);flex-direction:column;gap:8px;padding:9px 11px;display:flex}.plugin-option{flex-direction:column;gap:2px;display:flex}.plugin-option .hint{padding-left:22px}.plugin-option .check.disabled,.plugin-option input:disabled+span{opacity:.55}.plugin-facts{border:1px solid var(--bg-2);border-radius:var(--radius);background:var(--bg-1);flex-direction:column;gap:4px;padding:8px 10px;font-size:11.5px;display:flex}.plugin-fact{grid-template-columns:78px 1fr;align-items:baseline;gap:8px;display:grid}.plugin-fact .k{color:var(--text-dim)}.plugin-fact .v,.plugin-fact .v .mono{overflow-wrap:anywhere}.plugin-fact a{color:var(--teal);display:inline}.plugin-fact a svg{vertical-align:-1px}.plugin-dialog-body{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex}.save-sections{background:var(--bg-0);border:1px solid var(--border);border-radius:var(--radius);max-height:240px;box-shadow:var(--bevel-sunken);overflow:auto}.save-sections .table{table-layout:fixed}.save-sections .table th:first-child,.save-sections .table td:first-child{width:58px}.save-sections .table th:nth-child(3),.save-sections .table td:nth-child(3){text-align:right;width:66px}.save-sections .table th:nth-child(4),.save-sections .table td:nth-child(4){width:80px;overflow:visible}.save-sections .table td{text-overflow:ellipsis;padding:2px 8px;overflow:hidden}.save-sections tr.dropped td{color:var(--text-faint);text-decoration:line-through}.save-sections tr.dropped td.fate,.save-sections tr.merged td.fate{text-decoration:none}.save-sections td.name{font-family:var(--font-mono)}.save-summary{font-size:var(--fs-sm);grid-template-columns:auto 1fr;gap:3px 12px;display:grid}.save-summary .k{color:var(--text-dim)}.save-summary .v{font-family:var(--font-mono)}.save-extras{flex-direction:column;gap:1px;max-height:120px;display:flex;overflow:auto}.save-extras .check{height:20px}.save-extras .check .size{color:var(--text-faint);font-family:var(--font-mono);font-size:var(--fs-xs);margin-left:auto}.save-extras .check>span{flex:1;gap:8px;min-width:0;display:flex}.save-extras .check .path{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.save-warning{border-radius:var(--radius);font-size:var(--fs-sm);color:var(--text-dim);background:#e0a54514;border:1px solid #e0a54540;align-items:flex-start;gap:8px;padding:6px 8px;display:flex}.save-warning svg{color:var(--warn);flex:none;margin-top:1px}.save-presets{align-items:center;gap:6px;display:flex}.save-options .check{align-items:flex-start;height:auto;min-height:22px;padding:3px 0}.save-options .check input{margin-top:1px}.save-options .check>span{white-space:normal}.about-what{padding-left:10px}.stored-list{max-height:208px}.stored-entry+.stored-entry{border-top:1px solid #ffffff08}.stored-entry .item{gap:6px}.stored-toggle{min-width:0;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:flex}.stored-toggle svg:first-child{color:var(--text-faint)}.stored-detail{font-size:var(--fs-xs);flex-direction:column;gap:4px;padding:2px 8px 6px 26px;display:flex}.stored-detail .mono{font-family:var(--font-mono)}.stored-value{border-radius:var(--radius);background:var(--bg-1);border:1px solid var(--border);max-height:116px;color:var(--text-dim);font-family:var(--font-mono);font-size:var(--fs-xs);white-space:pre-wrap;word-break:break-all;-webkit-user-select:text;user-select:text;margin:1px 0 0;padding:4px 6px;overflow:auto}.gd-alert{border:1px solid color-mix(in srgb, var(--warn) 50%, transparent);background:color-mix(in srgb, var(--warn) 11%, var(--bg-2));border-radius:var(--radius-lg);border-left-width:3px;align-items:flex-start;gap:11px;padding:13px 14px;display:flex}.gd-alert>svg{color:var(--warn);flex:none;margin-top:1px}.gd-alert strong{color:var(--warn);font-size:var(--fs-lg);margin-bottom:3px;font-weight:600;display:block}.gd-alert p{color:var(--text-dim);font-size:var(--fs-sm);margin:0;line-height:1.5}.gd-card{border:1px solid color-mix(in srgb, var(--gold) 40%, var(--border));border-radius:var(--radius-lg);background:color-mix(in srgb, var(--gold) 6%, var(--bg-2));box-shadow:var(--bevel-raised);flex-direction:column;gap:9px;padding:14px;display:flex}.gd-card-head{align-items:center;gap:8px;display:flex}.gd-card-head>svg{color:var(--gold);flex:none}.gd-card-title{font-size:var(--fs-lg);font-weight:600}.gd-card p{color:var(--text-dim);font-size:var(--fs-sm);margin:0;line-height:1.5}.gd-cta{height:34px;font-size:var(--fs-lg);align-self:flex-start;padding:0 18px}.gd-alt{border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:7px;padding:11px 12px;display:flex}.gd-alt-head{color:var(--text-dim);font-size:var(--fs-md);align-items:center;gap:7px;font-weight:600;display:flex}.gd-alt-head>svg{color:var(--text-faint);flex:none}.gd-alt p{margin:0}.splash-veil{--sp-pink:#ff5fa2;--sp-pink-hi:#ffbedc;--sp-pink-dim:#b43c6e;--sp-violet:#a064f0;z-index:300;-webkit-backdrop-filter:blur(4px)saturate(.7);backdrop-filter:blur(4px)saturate(.7);background:#06040ee0;place-items:center;transition:opacity .55s;display:grid;position:fixed;inset:0}.splash-veil.solid{-webkit-backdrop-filter:none;backdrop-filter:none;background:#06040e;transition:opacity .55s,background-color .35s}.splash-veil.fade-out{opacity:0;pointer-events:none}.splash-card{aspect-ratio:4/5;cursor:pointer;background:radial-gradient(at 50% 25%,#ff5fa20f,#0000 60%),radial-gradient(at 80% 90%,#a064f00a,#0000 55%),linear-gradient(#120818,#08040e);border:1px solid #ff5fa226;border-radius:8px;flex-direction:column;width:min(520px,90vmin);transition:transform .55s,opacity .55s;display:flex;position:relative;overflow:hidden;box-shadow:0 0 0 1px #000000e6,inset 0 0 0 1px #ff5fa214,0 30px 100px #000000d9,0 0 80px #ff5fa20f}.splash-veil.fade-out .splash-card{opacity:0;transform:scale(.96)translateY(8px)}.splash-canvas{width:100%;height:100%;position:absolute;inset:0}.splash-center{text-align:center;pointer-events:none;flex-direction:column;flex:1;justify-content:flex-end;align-items:center;padding-bottom:16px;display:flex;position:relative}.splash-title{letter-spacing:.18em;color:var(--sp-pink);text-shadow:0 0 30px #ff5fa280,0 0 80px #ff5fa226,0 2px #000000b3;padding-left:.18em;font-size:clamp(40px,10vmin,56px);font-weight:800;line-height:1}.splash-title span{color:var(--text)}.splash-sub{letter-spacing:.35em;text-transform:uppercase;color:var(--sp-violet);text-shadow:0 0 20px #a064f066;margin-top:10px;padding-left:.35em;font-size:11px}.splash-bottom{font-family:var(--font-mono);color:var(--text-dim);background:linear-gradient(#0000,#08040ed9 20%,#08040ef2);padding:0 28px 22px;font-size:10.5px;position:relative}.splash-log{flex-direction:column;justify-content:flex-end;gap:3px;height:64px;display:flex;overflow:hidden}.splash-log div{white-space:nowrap;text-overflow:ellipsis;opacity:.45;font-size:10px;line-height:1.45;overflow:hidden}.splash-log div.failed{color:var(--warn)}.splash-log div.current{opacity:1;color:var(--sp-pink-hi)}.splash-log div.current:after{content:"▍";color:var(--sp-pink);animation:1s steps(2,end) infinite blink}@keyframes blink{to{visibility:hidden}}.splash-bar{background:#ff5fa21a;border-radius:1px;height:2px;margin-top:10px;overflow:hidden}.splash-bar i{background:linear-gradient(90deg, var(--sp-pink-dim), var(--sp-pink), var(--sp-pink-hi));height:100%;box-shadow:0 0 12px var(--sp-pink);transition:width .45s cubic-bezier(.33,1,.68,1);display:block}.splash-foot{justify-content:space-between;align-items:center;margin-top:10px;display:flex}.splash-version{letter-spacing:.12em;color:var(--sp-pink-dim);font-size:10px}.splash-author{letter-spacing:.08em;color:var(--text-faint);font-size:10px}.splash-skip{text-align:center;letter-spacing:.1em;color:var(--text-faint);opacity:.6;margin-top:6px;font-size:9px}
