: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, "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", "Noto Sans CJK KR", 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}[hidden]{display:none!important}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}:lang(ko){word-break:keep-all}.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}.select.icon-select{text-align:left;cursor:default;background-image:none;align-items:center;gap:7px;padding-right:8px;display:inline-flex}.select.icon-select[data-state=open]{border-color:var(--teal-dim)}.select.icon-select>span:first-child{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:7px;display:inline-flex;overflow:hidden}.select.icon-select .chev{color:var(--text-faint);margin-left:auto;display:grid}.select-content{min-width:var(--radix-select-trigger-width)}.select-item{cursor:default;padding-left:10px}.opt-globe{color:var(--text-faint)}.opt-icon{flex:none;place-items:center;width:24px;display:inline-grid}.select-item[data-state=checked]{color:var(--gold)}.select-item[data-state=checked][data-highlighted]{color:#fff}.flag{border-radius:1px;flex:none;box-shadow:0 0 0 1px #00000080}.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,.tick:disabled,.check input:disabled+span{opacity:.45}.check input:disabled,.tick:disabled{box-shadow:none;cursor:not-allowed}.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}}.code-bar{flex-wrap:wrap;gap:3px;display:flex}.code-chip{border:1px solid var(--border-strong);background:var(--bg-3);height:18px;font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-dim);cursor:pointer;border-radius:3px;align-items:center;gap:3px;padding:0 4px;display:inline-flex}.code-chip:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.code-chip:disabled{opacity:.45;cursor:default}.code-chip.is-effect{font-style:italic}.code-swatch{border:1px solid #000000b3;border-radius:2px;flex:none;width:9px;height:9px;box-shadow:inset 0 0 0 1px #ffffff2e}.string-preview{border:1px solid var(--border);border-radius:var(--radius);min-height:34px;font-family:var(--font-mono);font-size:var(--fs-sm);white-space:pre-wrap;overflow-wrap:anywhere;background:#0b0b12;padding:6px 8px;line-height:1.45;overflow-y:auto}.string-preview-line{min-height:1.45em}.string-preview .is-hidden{opacity:.35;text-decoration:line-through}.string-inline{white-space:pre;text-overflow:ellipsis;min-width:0;display:block;overflow:hidden}.string-inline .is-hidden{opacity:.35;text-decoration:line-through}.color-text-wrap{flex-direction:column;gap:4px;min-width:0;display:flex}.color-text-wrap.grow{min-height:0}.color-text-wrap.grow .color-text{flex:1;min-height:0}.color-text-wrap.grow .textarea{height:100%}.color-text{min-width:0;position:relative}.color-text>.input,.color-text>.textarea,.color-text>.color-read{width:100%}.color-text.has-codes>.input,.color-text.has-codes>.color-read,.color-text.has-codes>.textarea{padding-right:26px}.color-read{cursor:text;align-items:center;display:flex;overflow:hidden}.color-read.textarea{line-height:1.45;display:block;overflow:auto}.color-read.textarea .string-inline{white-space:pre-wrap;overflow-wrap:anywhere}.color-text-codes{width:21px;height:21px;box-shadow:none;color:var(--text-faint);background:0 0;border-color:#0000;position:absolute;top:2px;right:2px}.color-text-codes:hover:not(:disabled){color:var(--accent);border-color:var(--border-strong);background:var(--bg-3)}.color-text:focus-within .color-text-codes,.color-text:hover .color-text-codes{color:var(--text-dim)}.code-popover{background:var(--bg-2);border:1px solid var(--border-strong);border-radius:var(--radius-lg);max-width:340px;box-shadow:var(--shadow-pop), var(--bevel-raised);z-index:160;padding:8px;animation:.1s fade-in}@keyframes ui-spin{to{transform:rotate(360deg)}}@keyframes ui-sweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes ui-slide{0%{transform:translate(-100%)}to{transform:translate(285%)}}.spinner{border:2px solid var(--border-strong);border-top-color:var(--teal);border-radius:50%;flex:none;width:14px;height:14px;animation:.7s linear infinite ui-spin}.spinner.sm{border-width:1.5px;width:10px;height:10px}.spinner.lg{width:20px;height:20px}.spinner-row{color:var(--text-dim);align-items:center;gap:6px;display:inline-flex}.progress{flex-direction:column;gap:4px;min-width:0;display:flex}.progress>.row{gap:8px}.progress-track{background:var(--bg-0);border:1px solid var(--border);border-radius:3px;flex:1;min-width:60px;height:6px;position:relative;overflow:hidden}.progress-track>i{border-radius:inherit;background:var(--gold);width:0;height:100%;transition:width 90ms linear;display:block}.progress-track.sliding>i{background:var(--teal);width:35%;transition:none;animation:1.1s ease-in-out infinite ui-slide}.progress .percent{text-align:right;min-width:30px;font-size:var(--fs-xs);flex:none}.status-line{min-height:var(--h-control);min-width:0;color:var(--text-dim);font-size:var(--fs-sm);align-items:center;gap:8px;display:flex}.status-line>.grow{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.status-line>.progress-track{flex:none;width:120px}.status-line.ok{color:var(--ok)}.status-line.warn{color:var(--warn)}.status-line.error{color:var(--danger)}.skeleton{border-radius:var(--radius);background:var(--bg-3);display:block;position:relative;overflow:hidden}.skeleton.block{border-radius:var(--radius-lg)}.skeleton:after{content:"";background:linear-gradient(90deg, transparent, var(--line-hi), transparent);animation:1.3s ease-in-out infinite ui-sweep;position:absolute;inset:0;transform:translate(-100%)}.skeleton-lines{flex-direction:column;gap:6px;display:flex}.busy-box{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex;position:relative}.busy-box>.is-busy{opacity:.4;pointer-events:none;transition:opacity .12s linear}.busy-cover{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.busy-box>.is-busy:has(+.busy-cover.no-dim){opacity:1}.busy-note{border:1px solid var(--border);background:var(--bg-2);color:var(--text-dim);font-size:var(--fs-sm);box-shadow:var(--shadow-pop);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;display:flex}.busy-note>span:not(.spinner):empty{display:none}.steps{min-width:0;font-size:var(--fs-sm);color:var(--text-dim);flex-direction:column;gap:2px;display:flex}.step{border-radius:3px;padding:2px 4px}.step-main{align-items:center;gap:6px;min-width:0;display:flex}.step.running{background:var(--bg-3)}.step-icon{text-align:center;flex:none;width:12px}.step-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);flex:auto;overflow:hidden}.step.pending .step-label,.step.skipped .step-label{color:var(--text-dim)}.step.skipped{color:var(--text-faint)}.step-detail{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;max-width:55%;margin-left:auto;overflow:hidden}.step-detail:empty{display:none}.step.failed .step-detail{color:var(--danger)}.step-mark{flex:none;justify-content:center;align-items:center;width:14px;display:inline-flex}.step.done .step-mark{color:var(--ok)}.step.failed .step-mark{color:var(--danger)}.step-extra{margin:2px 0 0 18px}.step-note{padding:2px 4px;line-height:1.4}.fold{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-1);font-size:var(--fs-sm);color:var(--text-dim);min-width:0}.fold>.fold-head{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:4px 8px;list-style:none;display:flex}.fold>.fold-head::-webkit-details-marker{display:none}.fold>.fold-head>.fold-mark{width:14px;color:var(--ok);flex:none;justify-content:center;align-items:center;display:inline-flex}.fold>.fold-head>.fold-mark.warn{color:var(--warn)}.fold>.fold-head>.fold-mark.error{color:var(--danger)}.fold>.fold-head>.fold-line{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.fold>.fold-head>.fold-line .error{color:var(--danger)}.fold>.fold-head>.btn{flex:none}.fold>.fold-body{border-top:1px solid var(--border);padding:4px 6px 6px}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s;animation-timing-function:steps(8,end)}.skeleton:after{background:0 0;animation:none}.progress-track.sliding>i{opacity:.5;width:100%;animation:none}}.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:210;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}}.status-cell.plugin-status{color:var(--text);gap:6px}.status-cell.plugin-status.clickable{cursor:pointer}.status-cell.plugin-status.clickable:hover{background:var(--bg-2)}.status-cell.plugin-status.warn{color:var(--warn)}.status-cell.plugin-status .plugin-icon{color:var(--teal)}.status-spinner{border:1.5px solid var(--text-faint);border-top-color:var(--teal);border-radius:50%;flex:none;width:10px;height:10px;animation:.8s linear infinite status-spin}@keyframes status-spin{to{transform:rotate(360deg)}}.tabstrip{background:var(--bg-1);border-bottom:1px solid var(--bg-0);height:28px;box-shadow:0 1px 0 var(--line-hi);font-size:var(--fs-sm);scrollbar-width:thin;flex:none;align-items:stretch;gap:1px;padding:0 4px;display:flex;overflow:auto hidden}.tabstrip .tab{min-width:0;max-width:220px;color:var(--text-dim);background:var(--bg-2);border:1px solid var(--border);cursor:default;white-space:nowrap;border-bottom:none;border-radius:4px 4px 0 0;outline:none;align-items:center;gap:6px;margin-top:3px;padding:0 4px 0 10px;display:flex}.tabstrip .tab:hover{background:var(--bg-3);color:var(--text)}.tabstrip .tab.active{background:var(--bg-3);color:var(--text);border-color:var(--border-strong);box-shadow:inset 0 2px 0 var(--gold)}.tabstrip .tab:focus-visible{box-shadow:inset 0 0 0 1px var(--gold)}.tabstrip .tab-title{text-overflow:ellipsis;overflow:hidden}.tabstrip .tab .dot{background:var(--text-faint);border-radius:50%;flex:none;width:6px;height:6px}.tabstrip .tab.modified .dot{background:var(--gold);box-shadow:0 0 6px var(--gold)}.tabstrip .tab-close{width:18px;height:18px;color:var(--text-faint);background:0 0;border:none;border-radius:3px;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.tabstrip .tab-close:hover{color:var(--text);background:var(--bg-4)}.debug-console{background:var(--bg-0);border-top:1px solid var(--border);min-height:80px;font-family:var(--font-mono);font-size:var(--fs-sm);flex-direction:column;flex:none;display:flex}.console-grip{cursor:ns-resize;flex:none;height:5px;margin-bottom:-3px}.console-grip:hover{background:var(--sel-hi)}.console-head{background:var(--bg-2);border-bottom:1px solid var(--line-lo);font-family:var(--font-ui);font-size:var(--fs-xs);flex:none;align-items:center;gap:6px;padding:3px 6px;display:flex}.console-title{color:var(--text-dim);padding-right:4px}.console-spacer{flex:1}.console-head button{border:1px solid var(--border);background:var(--bg-3);height:20px;color:var(--text-dim);font:inherit;cursor:pointer;border-radius:2px;padding:0 8px}.console-head button:hover{background:var(--bg-4);color:var(--text)}.console-filters{display:flex}.console-filters button{border-radius:0;margin-left:-1px}.console-filters button:first-child{border-radius:2px 0 0 2px;margin-left:0}.console-filters button:last-child{border-radius:0 2px 2px 0}.console-filters button.on{background:var(--bg-5);color:var(--text)}.console-find{border:1px solid var(--border);background:var(--bg-1);width:140px;height:20px;color:var(--text);font:inherit;border-radius:2px;padding:0 6px}.console-check{color:var(--text-dim);cursor:pointer;align-items:center;gap:4px;display:flex}.console-close{font-size:var(--fs-md);line-height:1}.console-body{overflow-wrap:anywhere;flex:1;padding:3px 0;overflow:auto}.console-empty{color:var(--text-faint);font-family:var(--font-ui);margin:8px 10px}.console-row{color:var(--text-dim);gap:8px;padding:0 8px;line-height:1.5;display:flex}.console-row:hover{background:var(--bg-1)}.console-row.warn{color:var(--warn)}.console-row.error{color:var(--danger)}.console-at{color:var(--text-faint);white-space:pre;flex:none}.console-source{color:var(--teal-dim);flex:none;min-width:72px}.console-msg{flex:1}.console-data{color:var(--text-faint)}.console-repeat{background:var(--bg-3);color:var(--text-dim);font-size:var(--fs-xs);border-radius:6px;margin-left:6px;padding:0 4px;display:inline-block}.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}.plugin-panel.resizable .plugin-panel-body{flex-direction:column;display:flex}.plugin-panel.flush .plugin-panel-body{padding:0}.plugin-panel-grip{cursor:nwse-resize;background:linear-gradient(135deg, transparent 0 55%, var(--text-faint) 55% 65%, transparent 65% 80%, var(--text-faint) 80% 90%, transparent 90%);opacity:.7;width:16px;height:16px;position:absolute;bottom:0;right:0}.plugin-panel-grip:hover{opacity:1}.panel.plugin-docked{min-height:120px}.panel.plugin-docked .panel-head .icon-lead{color:var(--teal);display:inline-flex}.panel.plugin-docked .panel-body{flex-direction:column;min-height:0;padding:8px 10px;display:flex}.panel.plugin-docked.grow .panel-body{flex:1}.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}.hud-btn{pointer-events:auto;cursor:pointer;color:var(--text);align-items:center;gap:5px;display:inline-flex}.hud-btn:hover{border-color:var(--teal-dim);color:var(--teal)}.hud-btn.active{border-color:var(--teal-dim);color:var(--teal);background:#0a0c10e6}.hud-badge{background:var(--gold);color:#111;text-align:center;border-radius:7px;min-width:14px;padding:0 4px;font-size:10px;font-weight:700;line-height:14px}.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{box-shadow:var(--bevel-sunken);border-radius:2px;display:block;overflow:hidden}.group.terrain-group{flex-direction:column;flex:1;min-height:96px;display:flex}.terrain-picker{min-height:0;box-shadow:none;border:none;border-radius:0;flex-direction:column;flex:1;display:flex;overflow-y:auto}.terrain-picker .row{text-align:left;color:var(--text-dim);font-size:var(--fs-sm);align-items:center;gap:8px;padding:3px 8px;display:flex}.terrain-picker .row:hover{background:var(--bg-4);color:var(--text)}.terrain-picker .row.selected{background:var(--sel);color:var(--text)}.terrain-picker .swatch{box-shadow:var(--bevel-sunken);border-radius:2px;flex:none}.map-preview{background:var(--bg-0);width:100%;box-shadow:var(--bevel-sunken);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.map-preview canvas{display:block}.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}.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}.prefs .hotkeys{overflow-x:hidden}.prefs .hotkeys td .kbd{margin-block:1px}.prefs .hotkeys td.hotkey-keys,.prefs .hotkeys td:first-child{white-space:normal}.hotkeys .hotkeys-group td{font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);padding-top:8px;font-weight:600}.hotkey-chip{align-items:center;gap:3px;display:inline-flex}.hotkey-remove{color:var(--text-faint);cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.hotkey-remove:hover{color:var(--danger)}.hotkeys .kbd.is-conflict{border-color:var(--warn);color:var(--warn)}.hotkeys .kbd.is-capturing{color:var(--text);border-style:dashed}.prefs-hint.warn{color:var(--warn)}.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-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-row.held .plugin-name{color:var(--warn)}.plugin-row .plugin-used-by{color:var(--text-dim);margin-top:5px;font-weight:600}.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.bad{color:#ffb3b0}.plugin-here>svg{flex:none}.plugin-meta{font-size:var(--fs-xs);flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:2px;line-height:1.4;display:flex}.plugin-meta>span{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.plugin-meta svg{opacity:.75;flex:none}.plugin-by,.plugin-updated{color:var(--text-dim)}.plugin-tag{color:var(--gold);letter-spacing:.02em;background:#e6b95c24;border-radius:8px;padding:0 6px;font-size:10px}.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-requires{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-3);flex-direction:column;gap:4px;padding:8px 10px;font-size:11.5px;display:flex}.plugin-requires ul{flex-direction:column;gap:4px;margin:2px 0 0;padding:0;list-style:none;display:flex}.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-keep{gap:6px}.save-keep .check{align-items:flex-start;height:auto}.save-keep .check input{margin-top:3px}.save-keep .check>span{white-space:normal}.save-more{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-1)}.save-more>summary{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--fs-sm);align-items:center;gap:8px;padding:5px 8px;list-style:none;display:flex}.save-more>summary::-webkit-details-marker{display:none}.save-more>summary:before{content:"▸";width:10px;color:var(--text-faint);flex:none;transition:transform .12s}.save-more[open]>summary:before{transform:rotate(90deg)}.save-more>summary .v{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-dim);font-family:var(--font-mono);font-size:var(--fs-xs);margin-left:auto;overflow:hidden}.save-more-body{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding:8px;display:flex}.save-check{font-size:var(--fs-sm);align-items:center;gap:8px;display:flex}.save-check .hint{flex:1}.save-sections{background:var(--bg-0);border-top:1px solid var(--border);max-height:240px;overflow:auto}.save-sections .table{table-layout:fixed}.save-sections .table th:first-child,.save-sections .table td:first-child{width:74px}.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-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-options{gap:0;margin:6px 0 0 22px}.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}.dlg-footer .left.discard{color:var(--text);font-size:var(--fs-sm)}.dlg-footer .left .dlg-slot{align-items:center;gap:6px;display:inline-flex}.dlg-footer .left .dlg-slot:empty{display:none}.prefs{gap:14px}.prefs-nav{border-right:1px solid var(--border);flex-direction:column;gap:2px;padding:4px 8px 4px 0;display:flex;overflow:auto}.prefs-nav-btn{height:var(--h-control);border-radius:var(--radius);color:var(--text-dim);font-size:var(--fs-md);text-align:left;border:1px solid #0000;align-items:center;gap:8px;padding:0 10px;display:flex;position:relative}.prefs-nav-btn:hover{background:var(--bg-3);color:var(--text)}.prefs-nav-btn.is-active{background:var(--bg-4);color:var(--gold);border-color:var(--bg-0);box-shadow:var(--bevel-sunken)}.prefs-nav-btn.is-active:before{content:"";background:var(--gold);border-radius:1px;width:2px;position:absolute;top:6px;bottom:6px;left:-4px}.prefs-nav-btn.nested{padding-left:28px}.prefs-page{flex-direction:column;padding-right:4px;display:flex;overflow:auto}.prefs-builtin{flex-direction:column;flex:1;min-height:0;display:flex}.prefs-page .stack{gap:18px}.prefs-section>h3{border-bottom:1px solid var(--border);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin:0 0 8px;padding-bottom:4px;font-weight:600}.prefs-hint{margin:0 0 4px}.prefs-section .check+.prefs-hint,.prefs-section .form+.prefs-hint,.prefs-section .row+.prefs-hint{margin-top:-2px}.recovery-list{max-height:280px;margin:10px 0;overflow:auto}.recovery-list .recovery-item{align-items:center;gap:8px;height:auto;padding:6px 8px}.recovery-item .ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.prefs-checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 16px;display:grid}.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);padding-left:.4em;animation:1s step-end infinite blink}@keyframes blink{0%{opacity:1}50%{opacity:0}}.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}
