:root{--sidebar-width: 280px}.sidebar{width:var(--sidebar-width)}.sidebar .s-cat-list{display:flex;flex-direction:column;gap:10px}.sidebar .s-cat{background:var(--panel, rgba(0,0,0,.04));border-radius:14px;padding:6px}.sidebar .s-cat-head{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.sidebar .s-cat-head .badge{margin-left:auto;font-size:12px;opacity:.7}.sidebar .s-cat .chev{margin-left:6px;opacity:.7}.sidebar .s-list{display:flex;flex-direction:column;gap:6px;padding:6px 2px 2px}.sidebar .s-cat.closed .s-list{display:none}.sidebar .s-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:8px 10px;border-radius:10px;border:1px solid transparent;background:var(--card, rgba(255,255,255,.6))}.sidebar .s-item:hover{border-color:var(--hairline, rgba(0,0,0,.12));background:var(--cardHover, rgba(255,255,255,.85))}.sidebar .s-item .s-item-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar .s-item.danger{background:#ff00000f}.sidebar .s-item.danger:hover{background:#ff00001f}.sidebar .s-subtitle{margin:8px 6px 2px;font-size:12px;opacity:.7}.autosave-block{margin:14px 6px;padding:10px;display:flex;flex-direction:column;align-items:center;gap:8px;border-top:1px dashed var(--hairline, rgba(0,0,0,.15))}.toggle{position:relative;width:64px;height:28px;border-radius:14px;background:#ccc;border:none;cursor:pointer}.toggle .knob{position:absolute;top:3px;left:3px;width:22px;height:22px;background:#fff;border-radius:50%;transition:transform .2s ease}.toggle.on{background:#22c55e}.toggle.on .knob{transform:translate(36px)}.toggle .label{position:absolute;right:8px;top:4px;font-size:12px;color:#fff}.result-dock{position:fixed;left:calc(var(--sidebar-width) + 16px);right:16px;bottom:0;z-index:40;border-top:1px solid var(--hairline, rgba(0,0,0,.12));background:var(--dockBg, rgba(250,250,250,.95));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 -12px 30px #0000001f;transform:translateY(0);transition:transform .25s ease;border-top-left-radius:14px;border-top-right-radius:14px}.result-dock .dock-head{height:34px;display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:0 10px;font-weight:600}.result-dock .dock-head .dock-meta{min-width:0;font-size:12px;font-weight:500;opacity:.82;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-left:auto}.result-dock .dock-head .dock-toggle{margin-left:8px}.result-dock .dock-body{padding:8px 10px 10px;max-height:75vh;overflow:auto}.result-dock .dock-body label.block{margin-top:0;gap:0}.result-dock.closed{transform:translateY(100%)}.dock-toggle{border:1px solid var(--hairline, rgba(0,0,0,.12));border-radius:8px;padding:4px 8px}.result-dock .actions>button:not(.export-mapping-btn){border:1px solid color-mix(in srgb,var(--btnBorder) 82%,var(--border) 18%);background:linear-gradient(180deg,color-mix(in srgb,var(--btnBg) 94%,#fff 6%),color-mix(in srgb,var(--btnBg) 90%,#0000 10%));color:var(--btnText);box-shadow:0 1px #ffffff14 inset,0 2px 8px #0000000f;transition:transform .16s ease,box-shadow .22s ease,border-color .18s ease,filter .18s ease}.result-dock .actions>button:not(.export-mapping-btn):hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 52%,var(--btnBorder) 48%);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 16%,transparent),0 8px 18px #00000024;filter:saturate(1.06)}.result-dock .actions>button:not(.export-mapping-btn):active{transform:translateY(0);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent),0 3px 9px #0000001a inset}.result-dock .actions>button:not(.export-mapping-btn):focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 24%,transparent),0 8px 18px #00000024}.result-editor{display:grid;grid-template-columns:46px 1fr;width:100%;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--inputBg)}.result-gutter{padding:10px 6px;text-align:right;color:var(--muted);background:color-mix(in srgb,var(--card) 88%,#0000);border-right:1px solid var(--border);font:13px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;overflow:hidden;-webkit-user-select:none;user-select:none}.result-gutter-line{height:1.4em}.result-editor .result-area{border:0!important;border-radius:0!important;background:transparent!important;margin:0;overflow:auto}.dock-fab{position:fixed;right:16px;bottom:16px;z-index:41;border-radius:999px;padding:10px 14px;background:var(--card, #fff);border:1px solid var(--hairline, rgba(0,0,0,.12));box-shadow:0 6px 24px #0000001f}.combine-tiles{display:flex;gap:8px;overflow-x:auto;padding:4px 0;align-items:center}.combine-tile{background:color-mix(in srgb,var(--btnBg) 85%,var(--card) 15%);border:1px solid color-mix(in srgb,var(--btnBorder) 85%,var(--btnBg) 15%);color:var(--btnText)!important;cursor:default;display:inline-flex;align-items:center;gap:8px;border-radius:10px;padding:6px 10px;-webkit-user-select:none;user-select:none;cursor:grab;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .08s ease}.combine-tile.drop-left{box-shadow:inset 3px 0 0 var(--accent)}.combine-tile.drop-right{box-shadow:inset -3px 0 0 var(--accent)}.dock .dock-panel{border-color:var(--border)!important;background:color-mix(in srgb,var(--card) 92%,#0000)!important}.dock textarea{border-color:var(--border)!important;background:var(--inputBg)!important;color:var(--inputText)!important}.dock textarea:focus{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 35%,transparent)}.dock .dock-panel{background:var(--card)!important;border:1px solid var(--border)!important;box-shadow:0 10px 24px #0000004d!important}body[data-theme*=dark] .dock .dock-panel,body[class*=theme-dark] .dock .dock-panel{background:color-mix(in srgb,var(--card) 96%,#0000)!important;border-color:color-mix(in srgb,var(--border) 80%,var(--card) 20%)!important;box-shadow:0 10px 30px #00000080!important}.dock{background:var(--card)!important;border-top:1px solid var(--border)!important;box-shadow:0 10px 24px #0003!important}.dock .dock-head{background:color-mix(in srgb,var(--card) 96%,#0000)!important}.dock .dock-body{background:transparent!important}.result-dock{background:color-mix(in srgb,var(--card) 94%,#0000)!important;border:1px solid var(--border)!important}.result-dock textarea{background:var(--inputBg)!important;color:var(--inputText)!important;border:1px solid var(--border)!important}.combine-tile{background:var(--btnBg)!important;color:var(--btnText)!important;border:1px solid var(--btnBorder)!important}.combine-tile:hover{cursor:grab}.combine-tile-title{color:inherit!important}.dock{background:var(--bg)!important;border-top:0!important;box-shadow:none!important}.dock .dock-head,.dock .dock-body,.dock .dock-panel{background:transparent!important;border:0!important;box-shadow:none!important}.result-dock{background:transparent!important;border:0!important}.result-dock textarea{background:var(--inputBg)!important;color:var(--inputText)!important;border:1px solid var(--border)!important;border-radius:10px!important}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-pop-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-fade{animation:modal-fade-in .18s ease-out both}.modal-pop{animation:modal-pop-in .2s cubic-bezier(.2,.8,.2,1) both}.welcome-backdrop{position:fixed;inset:0;background:#ffffffb3;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.welcome-modal-layer{position:fixed;inset:0;display:grid;place-items:center;padding:1rem}@keyframes modal-fade-out{0%{opacity:1}to{opacity:0}}@keyframes modal-pop-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(8px) scale(.98)}}.modal-fade-leave{animation:modal-fade-out .22s ease-in forwards}.modal-pop-leave{animation:modal-pop-out .22s cubic-bezier(.4,0,1,1) forwards}:root:not([data-theme*=dark]) .modal .alert-success,body:not([data-theme*=dark]) .modal .alert-success,.theme-light .modal .alert-success,.light .modal .alert-success{background:#d1f1dc;border:1px solid #34d399;color:#0f5132;border-radius:12px;padding:12px 16px;font-weight:600}:root:not([data-theme*=dark]) .modal .success,:root:not([data-theme*=dark]) .modal .ok{background:#d1f1dc;border:1px solid #34d399;color:#0f5132;border-radius:12px;padding:12px 16px;font-weight:600}:root:not([data-theme*=dark]) .modal .alert-error{background:#fde2e1;border:1px solid #f87171;color:#7f1d1d;border-radius:12px;padding:12px 16px;font-weight:600}:root:not([data-theme*=dark]) .modal .alert-info{background:#e0f2fe;border:1px solid #60a5fa;color:#0c4a6e;border-radius:12px;padding:12px 16px;font-weight:600}.canvas-viewport{pointer-events:none!important;z-index:0!important}.notes-open .canvas-viewport{pointer-events:auto!important;z-index:50!important}.notes-closed .canvas-viewport{pointer-events:none!important;z-index:-1!important}.notes-closed .note-textarea,.notes-closed .note-resizer,.notes-closed .note-layer,.notes-closed .note-overlay,.notes-closed .note-box{pointer-events:none!important;opacity:0!important;visibility:hidden!important;z-index:-1!important}.notes-open .note-textarea,.notes-open .note-resizer,.notes-open .note-layer,.notes-open .note-overlay,.notes-open .note-box{pointer-events:auto!important;opacity:1!important;visibility:visible!important;z-index:60!important}.notes-closed .note-item,.notes-closed .note-item *,.notes-closed .note-textarea,.notes-closed .note-resizer,.notes-closed .note-layer,.notes-closed .note-overlay,.notes-closed .note-box,.notes-closed .canvas-viewport{pointer-events:none!important;opacity:0!important;visibility:hidden!important;z-index:-1!important}.notes-open .note-item,.notes-open .note-textarea,.notes-open .note-resizer,.notes-open .note-layer,.notes-open .note-overlay,.notes-open .note-box,.notes-open .canvas-viewport{pointer-events:auto!important;opacity:1!important;visibility:visible!important;z-index:60!important}.ctx-menu{position:fixed;z-index:350;width:min(300px,calc(100vw - 16px));padding:8px;border-radius:12px;border:1px solid color-mix(in srgb,var(--border) 82%,transparent);background:color-mix(in srgb,var(--card) 95%,#0000);box-shadow:0 14px 34px #00000047;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.ctx-menu-item{width:100%;display:flex;align-items:center;gap:10px;padding:9px 10px;margin:0;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--text);text-align:left;font-weight:600;cursor:pointer}.ctx-menu-item:hover{border-color:color-mix(in srgb,var(--accent) 34%,transparent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.ctx-menu-item:focus-visible{outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 28%,transparent)}.ctx-menu-item:disabled{opacity:.5;cursor:not-allowed}.ctx-menu-sep{height:1px;margin:6px 4px;background:color-mix(in srgb,var(--border) 84%,transparent)}.ctx-menu-icon{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:.9}.xml-shell{--bg: var(--app-bg, hsl(var(--background, 0 0% 100%)));--fg: var(--app-fg, hsl(var(--foreground, 222.2 84% 4.9%)));--muted: var(--app-muted, hsl(var(--muted-foreground, 215.4 16.3% 46.9%)));--border: var(--app-border, hsl(var(--border, 214.3 31.8% 91.4%)));--panel: var(--app-panel, hsl(var(--card, var(--muted, var(--background)))));--chip-bg: var(--app-chip-bg, var(--panel));--btn-bg: var(--app-btn-bg, hsl(var(--secondary, var(--card, var(--background)))));--btn-fg: var(--app-btn-fg, hsl(var(--secondary-foreground, var(--foreground))));--btn-border: var(--app-btn-border, var(--border));--btn-bg-hover: var(--app-btn-bg-hover, color-mix(in oklab, var(--btn-bg) 90%, var(--fg) 10%));--input-bg: var(--app-input-bg, hsl(var(--background)));--input-fg: var(--app-input-fg, hsl(var(--foreground)));--input-border: var(--app-input-border, var(--border));--placeholder: var(--app-placeholder, hsl(var(--muted-foreground, 215.4 16.3% 46.9%)));--accent: var(--app-accent, hsl(var(--primary, 217.2 91.2% 59.8%)));--accent-hover: var(--app-accent-hover, hsl(var(--primary, 217.2 91.2% 59.8%)));--on-accent: var(--app-on-accent, hsl(var(--primary-foreground, 210 40% 98%)));background-color:var(--bg);color:var(--fg);display:flex;flex-direction:column;height:100%}.xml-header{display:flex;align-items:center;gap:8px;padding:10px;border-bottom:1px solid var(--border);background:var(--panel)}.xml-main{flex:1;overflow:auto;padding:12px}.xml-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.xml-badge{font-size:12px;padding:2px 6px;border:1px solid var(--border);border-radius:6px;background:var(--chip-bg);color:var(--fg)}.xml-row{display:grid;grid-template-columns:240px 1fr 220px;gap:12px;padding:10px;border-bottom:1px dashed var(--border)}.xml-label{font-weight:600;color:var(--fg)}.xml-error{color:#ef4444;font-size:12px}.xml-hint{color:var(--muted);font-size:12px}.xml-controls{display:flex;gap:8px;justify-content:flex-end}.xml-input,.xml-select,textarea.xml-input{width:100%;padding:8px 10px;border:1px solid var(--input-border);border-radius:12px;background:var(--input-bg);color:var(--input-fg);outline:none}.xml-input::placeholder{color:var(--placeholder)}.xml-input:focus,.xml-select:focus,textarea.xml-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 30%,transparent)}.xml-checkbox{transform:translateY(2px)}.xml-select{appearance:auto}button.xml-btn{padding:10px 14px;border:1px solid var(--btn-border);border-radius:14px;background:var(--btn-bg);color:var(--btn-fg);cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .02s ease}button.xml-btn:hover{background:var(--btn-bg-hover)}button.xml-btn:active{transform:translateY(1px)}button.xml-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.xml-btn.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}button.xml-btn.primary:hover{background:var(--accent-hover)}button.xml-btn.primary:focus-visible{outline-color:var(--accent)}button.xml-btn[disabled]{opacity:.55;cursor:not-allowed}button.xml-chip{font-size:12px;padding:6px 10px;border:1px solid var(--btn-border);background:var(--chip-bg);color:var(--fg);border-radius:999px;cursor:pointer}button.xml-chip:hover{background:var(--btn-bg-hover)}.xml-array{border:1px solid var(--border);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:8px;background:var(--panel)}.xml-array-item{display:flex;gap:8px;align-items:center}input[type=file].xml-file{display:block;color:var(--fg)}code{background:color-mix(in srgb,var(--panel) 80%,transparent);padding:2px 6px;border-radius:6px}.sidebar a.s-item.used{border-color:#2ea0438c;background:#2ea0431f}.sidebar a.s-item.used .s-item-title{color:#1a7f2e;font-weight:700}.ifaceCard.used{border-color:#2ea04380;background:color-mix(in srgb,var(--card) 90%,rgba(46,160,67,.12));box-shadow:0 6px 24px #2ea0432e}.sidebar .s-item .s-item-title{display:inline-block;white-space:nowrap;will-change:transform}.sidebar .s-item .s-item-title:before,.sidebar .s-item .s-item-title:after{display:none!important;content:none!important}:root{--sidebarW: 260px;--topbar-h: 52px;--bg:#070912;--card:#0e132b;--muted:#9aa4bf;--text:#e8ecff;--accent:#7aa2ff;--border:#1b2447;--inputBg:#0e1530;--inputText:#e8ecff;--btnBg:#13235b;--btnText:#e8ecff;--btnBorder:#2a3a7a;--sidebarBg: color-mix(in srgb, var(--card) 85%, #0000)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;display:flex;flex-direction:column}header.topbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;background:color-mix(in srgb,var(--card) 40%,#0000);z-index:120}h1{margin:8px 0;font-size:20px;letter-spacing:.3px}h2{margin:10px 0 8px;font-size:18px}.layout{display:flex;min-height:calc(100dvh - var(--topbar-h, 52px))}.sidebar{width:260px;background:var(--sidebarBg);border-right:1px solid var(--border);padding:12px;position:sticky;top:0;margin-top:0;align-self:flex-start;height:calc(100dvh - var(--topbar-h, 52px));overflow:auto}.content{flex:1}.wrap{width:min(1100px,92vw);margin:0 auto;padding:12px}.wrap.wide{width:min(1600px,98vw)}.card{background:color-mix(in srgb,var(--card) 85%,#0000);border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:0 10px 40px #0000001f}.muted{color:var(--muted)}.link{color:var(--accent);text-decoration:none}.grid{display:grid;grid-template-columns:1fr 2fr;gap:10px;align-items:start;margin-top:6px}label.block{display:grid;gap:6px;margin-top:10px}input[type=text],textarea,select,input[type=number]{width:100%;padding:10px 12px;border-radius:10px;background:var(--inputBg);color:var(--inputText);border:1px solid #233067;outline:none}textarea{resize:vertical;min-height:140px;width:100%}.desc{font-size:12px;color:var(--muted);margin-top:2px}.divider{height:1px;background:var(--border);margin:12px 0}footer.footer{border-top:1px solid var(--border);margin-top:auto}.actions{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap;align-items:center}.actions-split{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}button{padding:10px 12px;border-radius:10px;border:1px solid var(--btnBorder);background:var(--btnBg);color:var(--btnText);font-weight:600;cursor:pointer}button.ghost{background:transparent}.labels{display:grid;gap:10px;margin-top:8px}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.catTitle{font-weight:700;font-size:16px;padding:6px 0;border-bottom:1px solid var(--border);margin-top:16px}.pill{display:inline-block;padding:6px 10px;border-radius:999px;border:1px solid var(--border)}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px;border-bottom:1px solid var(--border);padding:0 6px}.tab{padding:10px 14px;border-radius:8px 8px 0 0;border:1px solid var(--border);border-bottom:none;background:color-mix(in srgb,var(--card) 75%,#0000);cursor:pointer;font-weight:600}.tab.active{background:var(--card);position:relative;top:1px}.sep{height:1px;background:var(--border);margin:8px 0}.rowSec{display:grid;grid-template-columns:1.1fr 1.6fr .7fr .9fr 1fr 1fr auto;gap:10px;align-items:center}.drag{cursor:grab;-webkit-user-select:none;user-select:none}.dragging{opacity:.6}.s-h{font-weight:700;margin:4px 0 8px}.s-cat{border:1px solid var(--border);border-radius:10px;margin-bottom:8px;overflow:hidden}.s-cat-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:color-mix(in srgb,var(--card) 65%,#0000);border-bottom:1px solid var(--border);cursor:pointer}.s-cat-title{display:flex;align-items:center;gap:8px;font-weight:700}.badge{font-size:12px;padding:2px 8px;border-radius:999px;border:1px solid var(--border)}.s-list{display:grid;gap:6px;padding:8px}.s-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid var(--border);border-radius:10px;text-decoration:none;color:var(--text);background:transparent}.s-item:hover{background:color-mix(in srgb,var(--card) 60%,#0000)}.s-item .chev{opacity:.7}.s-quick{display:grid;gap:6px;margin-top:8px}.bottomBar{position:fixed;left:var(--sidebarW);right:0;bottom:0;background:color-mix(in srgb,var(--card) 92%,#0000);border-top:1px solid var(--border);box-shadow:0 -10px 30px #0000002e;z-index:40}.bottomBar .inner{width:min(1100px,92vw);margin:0 auto;padding:12px}.bottomSpacer{height:200px}.sep-admin{height:2px;background:linear-gradient(90deg,var(--accent),transparent 60%);margin:8px 0}.tabs-admin{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 12px;border-bottom:1px solid var(--border);padding:0 6px}.tab-admin{padding:8px 12px;border-radius:8px 8px 0 0;border:1px solid var(--border);border-bottom:none;background:color-mix(in srgb,var(--card) 75%,#0000);cursor:pointer;font-weight:600;display:flex;align-items:center;gap:8px}.tab-admin.active{background:var(--card);position:relative;top:1px;z-index:3;border-bottom:1px solid var(--card);margin-bottom:-1px}.tab-admin.active{border-color:color-mix(in srgb,var(--ok, #16a34a) 70%,var(--border));box-shadow:none;isolation:isolate}.tab-admin.active:before{content:"";position:absolute;inset:-2px -2px 2px;border-radius:10px 10px 0 0;box-shadow:0 0 0 2px color-mix(in srgb,var(--ok, #16a34a) 32%,transparent),0 0 18px color-mix(in srgb,var(--ok, #16a34a) 28%,transparent);clip-path:inset(-24px -24px 3px -24px round 10px 10px 0 0);pointer-events:none}.tab-admin.active:after{content:"";position:absolute;left:-8px;right:-8px;bottom:-7px;height:14px;background:var(--card);pointer-events:none}.tab-admin .close{border:0;background:transparent;cursor:pointer;color:var(--muted);font-weight:700}.tab-admin .close:hover{color:var(--text)}.reqBorder{border:2px solid #e25454!important}.reqMark{color:#e25454;margin-left:6px}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border)}.table th{font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.table-actions{display:flex;gap:8px;flex-wrap:wrap}.icon{width:16px;height:16px;display:inline-block;vertical-align:middle}.s-item .icon{margin-right:8px}.btnInline{display:inline-flex;align-items:center;gap:8px}.tab-admin.addBtn,.tabs-admin>.tab-admin{border:1px solid var(--border);border-bottom:none;border-radius:8px 8px 0 0;background:color-mix(in srgb,var(--card) 75%,#0000)}.tabs-admin>.tab-admin:hover{background:color-mix(in srgb,var(--card) 65%,#0000)}.ifaceGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-top:12px}.ifaceCard{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:var(--text);border:1px solid var(--border);border-radius:14px;padding:14px;background:color-mix(in srgb,var(--card) 88%,#0000);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}.ifaceCard:hover{transform:translateY(-2px);box-shadow:0 8px 30px #0000002e;border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:color-mix(in srgb,var(--card) 96%,#0000)}.ifaceTitle{display:flex;align-items:center;gap:10px;font-weight:800;font-size:16px;letter-spacing:.2px}.ifaceTitle .icon{width:18px;height:18px}.ifaceMeta{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px}.ifaceVersionInline{margin-left:auto;font-size:12px;color:var(--muted);opacity:.9;white-space:nowrap}.badge.cat{padding:2px 8px;border-radius:999px;border:1px solid var(--border);font-size:12px}.ifaceTitle{font-weight:600;font-size:15.5px;letter-spacing:.1px}.ifaceTitle .icon{width:16px;height:16px;opacity:.9}.ifaceSummary{color:var(--muted);font-size:13px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:1.6em}.iface-sticky-top{position:sticky;top:0;z-index:55;background:color-mix(in srgb,var(--card) 96%,#0000);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:0;box-shadow:0 4px 12px #00000014;margin:-16px -16px 10px;padding:12px 16px 8px}.modalBackdrop{position:fixed;inset:0;background:#00000073;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:9999}.modalCard{width:min(520px,92vw);background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:0 30px 100px #00000059;overflow:hidden;transform:scale(1);animation:modalIn .14s ease}@keyframes modalIn{0%{transform:translateY(6px);opacity:0}to{transform:translateY(0);opacity:1}}.modalHeader{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border)}.modalTitle{font-weight:700}.modalClose{border:0;background:transparent;color:var(--muted);font-size:22px;line-height:1;cursor:pointer}.modalBody{padding:14px}.modalMsg{color:var(--text);opacity:.95}.modalField{display:grid;gap:8px;margin-top:10px}.modalLabel{font-size:13px;color:var(--muted)}.modalActions{display:flex;gap:10px;justify-content:flex-end;padding:12px 14px;border-top:1px solid var(--border)}.btnPrimary{background:var(--accent);color:#fff;border:1px solid transparent}.modalCard input,.modalCard textarea{width:100%;padding:10px 12px;border-radius:10px;background:var(--inputBg);color:var(--inputText);border:1px solid var(--border);outline:none}.topbar{padding-left:var(--sidebarW)}@media (max-width: 900px){.topbar{padding-left:0}}.bottomBar{left:var(--sidebarW);right:0}@media (max-width: 900px){.bottomBar{left:0}}.tabsWrap .tabsArrow{width:32px;height:32px;border-radius:999px;border:1px solid var(--border);background:var(--card);opacity:.9}.tabsWrap .tabsArrow:disabled{opacity:.35;cursor:not-allowed}.tabsScroll{cursor:grab}.tabsScroll:active{cursor:grabbing}.tabsScroll .tab,.tabsScroll .tab-admin{display:inline-flex;flex:0 0 auto}.tabsScroll .tabs,.tabsScroll .tabs-admin{flex-wrap:nowrap;display:inline-flex}.iface-sticky-top .tabs-admin{position:relative;border-bottom:0}.iface-sticky-top .tabs-admin:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--border);z-index:-1}.iface-sticky-top .tab-admin{position:relative;z-index:1}.iface-sticky-top .tab-admin.active{z-index:3}.sep-admin.strong{height:2px;background:var(--borderStrong, var(--border));margin:8px 0;border-radius:2px}.tabs .tab{appearance:none;background:transparent;border:1px solid var(--border);color:var(--muted);padding:6px 12px;border-radius:999px;font-weight:500;line-height:1;transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease}.tabs .tab:hover{background:var(--card);color:var(--text)}.tabs .tab.active{background:var(--card);color:var(--text);border-color:var(--border);box-shadow:0 1px 2px #0000000a}.inputField{width:320px;max-width:100%}.reqBorder{border:1px solid #e04444!important;border-radius:8px}.fieldJumpFlash{border-color:color-mix(in srgb,var(--ok, #16a34a) 65%,var(--border))!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--ok, #16a34a) 22%,transparent),0 0 16px color-mix(in srgb,var(--ok, #16a34a) 30%,transparent)!important;transition:box-shadow .2s ease,border-color .2s ease}.labelBlock .labelRow .name{font-weight:600}.labelBlock .meta{margin-top:2px}.small{font-size:.85em;color:var(--muted)}.reqStar{color:#e04444;margin-left:4px;font-weight:700}.desc{font-size:.9em;color:var(--muted);margin-top:2px}.clickCell{cursor:pointer}.clickCell:hover{background:color-mix(in srgb,var(--card) 65%,transparent)}.numCell{cursor:pointer;font-variant-numeric:tabular-nums}.numCell:hover{background:color-mix(in srgb,var(--card) 65%,transparent)}.colorPanel{margin-top:8px;padding:8px;border:1px solid var(--border);border-radius:10px;background:var(--card);display:inline-block}.tab-admin{transition:background .15s ease}.secHeader{font-size:1rem}.clickCell:hover,.numCell:hover{outline:2px solid color-mix(in srgb,var(--text) 10%,transparent);outline-offset:-2px}.s-head .s-home{border-radius:12px}.includeCell{cursor:pointer}.includeCell:hover{background:color-mix(in srgb,var(--accent) 10%,#0000)}.btn{padding:10px 14px;border:1px solid var(--btnBorder);border-radius:12px;background:var(--btnBg);color:var(--btnText);text-decoration:none;display:inline-flex;align-items:center;gap:8px;font-weight:600;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px #0000002e}.adminBtn{background:linear-gradient(180deg,color-mix(in srgb,var(--btnBg) 85%,#0000),var(--btnBg))}.adminBtn:hover{background:color-mix(in srgb,var(--btnBg) 85%,#0000)}.topbar .adminBtn{height:38px;padding:0 14px;margin-left:8px}header .inline{display:inline-flex;align-items:center;gap:6px;color:var(--text)}header .inline select{background:var(--inputBg);color:var(--inputText);border:1px solid var(--border);border-radius:8px;padding:6px 8px}header .inline span{font-size:12px;opacity:.9}.topbar-dropdown{position:relative;min-width:180px;display:grid;gap:4px}.admin-filter-dropdown{width:100%;min-width:0}.topbar-dropdown__label{font-size:12px;opacity:.88}.topbar-dropdown__trigger{width:100%;border:1px solid var(--border);border-radius:8px;padding:7px 10px;background:color-mix(in srgb,var(--card) 80%,#0000);color:var(--text);display:inline-flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer}.topbar-dropdown__trigger-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-dropdown__caret{font-size:11px;opacity:.75;transition:transform .14s ease}.topbar-dropdown__caret.is-open{transform:rotate(180deg)}.topbar-dropdown__menu{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:140;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--card) 96%,#0000);box-shadow:0 16px 30px #0000003d;padding:6px;display:grid;gap:4px;max-height:260px;overflow-y:auto;animation:topbar-dropdown-in .14s ease}.topbar-dropdown__item{width:100%;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text);text-align:left;font-size:13px;padding:7px 8px;cursor:pointer}.topbar-dropdown__item:hover{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 34%,transparent)}.topbar-dropdown__item.is-active{background:color-mix(in srgb,var(--accent) 18%,transparent);border-color:color-mix(in srgb,var(--accent) 38%,transparent)}@keyframes topbar-dropdown-in{0%{opacity:0;transform:translateY(-4px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.s-item.danger{background:#dc35451a;border:1px solid rgba(220,53,69,.45);color:#a31120;font-weight:600}.toggle{min-width:48px;height:24px;padding:0 8px;border:1px solid rgba(0,0,0,.2);border-radius:12px;background:#0000000d;font-size:12px;line-height:22px}.s-item.danger{width:100%;display:flex;align-items:center;gap:10px;padding:10px 14px;margin-top:10px;border-radius:12px;background:#dc35451a;border:1px solid rgba(220,53,69,.45);color:#a31120;font-weight:600;text-decoration:none;cursor:pointer}.s-item.danger:hover{background:#dc354529}.s-item.danger .s-item-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toggle{min-width:56px;height:24px;padding:0 10px;border:1px solid rgba(0,0,0,.2);border-radius:12px;background:#0000000d;font-size:12px;line-height:22px}.toggle:hover{background:#00000014}.autosaveRow{width:100%;display:flex;justify-content:center;align-items:center;gap:10px;padding:8px 0 10px}.toggle.on{background:#2ea04329;border-color:#2ea0438c;color:#1a7f2e;font-weight:700}:root{--sidebar-w: 260px;--dock-bg-light-1: rgba(255,255,255,.85);--dock-bg-light-2: rgba(255,255,255,.75);--dock-stroke-light: rgba(0,0,0,.08);--dock-shadow-light: 0 10px 30px rgba(0,0,0,.12);--dock-bg-dark-1: rgba(26,28,36,.88);--dock-bg-dark-2: rgba(16,18,25,.72);--dock-stroke-dark: rgba(255,255,255,.08);--dock-shadow-dark: 0 12px 40px rgba(0,0,0,.45);--dock-radius: 14px;--dock-pad: 12px}.dock{position:fixed;left:calc(var(--sidebar-w) + 16px);right:24px;bottom:16px;z-index:30;pointer-events:none}.dock .dock-panel{pointer-events:auto;border-radius:var(--dock-radius);padding:var(--dock-pad);backdrop-filter:blur(10px) saturate(115%);-webkit-backdrop-filter:blur(10px) saturate(115%);border:1px solid var(--dock-stroke-light);background:linear-gradient(180deg,var(--dock-bg-light-1),var(--dock-bg-light-2));box-shadow:var(--dock-shadow-light);transition:transform .35s ease,opacity .25s ease,box-shadow .2s ease}body.theme-dark .dock .dock-panel,body[data-theme=dark] .dock .dock-panel{border-color:var(--dock-stroke-dark);background:linear-gradient(180deg,var(--dock-bg-dark-1),var(--dock-bg-dark-2));box-shadow:var(--dock-shadow-dark)}.dock-closed .dock-panel{transform:translateY(calc(100% + 12px));opacity:0;pointer-events:none}.dock .dock-toggle{position:absolute;right:18px;bottom:calc(100% + 6px);pointer-events:auto;display:inline-flex;align-items:center;gap:.5rem;font-size:12px;line-height:1;padding:8px 12px;border-radius:999px;border:1px solid var(--dock-stroke-light);background:var(--dock-bg-light-1);backdrop-filter:blur(6px) saturate(115%);-webkit-backdrop-filter:blur(6px) saturate(115%);cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:var(--dock-shadow-light)}body.theme-dark .dock .dock-toggle,body[data-theme=dark] .dock .dock-toggle{border-color:var(--dock-stroke-dark);background:var(--dock-bg-dark-1);box-shadow:var(--dock-shadow-dark)}.dock .dock-toggle:hover{transform:translateY(-1px)}.dock .dock-head{display:flex;align-items:center;gap:.75rem;margin:2px 2px 8px;font-size:12px;opacity:.9;text-transform:uppercase;letter-spacing:.04em}.dock .dock-actions{display:flex;align-items:center;gap:.5rem;margin-top:8px;flex-wrap:wrap}.dock textarea{width:100%;min-height:120px;max-height:40vh;resize:vertical;border-radius:10px;padding:10px 12px;font:13px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;border:1px solid rgba(0,0,0,.12);background:#ffffffb3;color:#0d1117}body.theme-dark .dock textarea,body[data-theme=dark] .dock textarea{border-color:#ffffff1f;background:#0c0e128c;color:#e6edf3}.dock textarea:focus{outline:none;box-shadow:0 0 0 3px #6366f140}.dock .dock-actions .btn{appearance:none;border:1px solid rgba(0,0,0,.12);background:#ffffffd9;border-radius:10px;padding:8px 12px;font-size:13px;cursor:pointer}body.theme-dark .dock .dock-actions .btn,body[data-theme=dark] .dock .dock-actions .btn{border-color:#ffffff24;background:#14161db3;color:#e6edf3}.dock .dock-actions .btn:hover{transform:translateY(-1px)}.dock,.dock *{background-clip:padding-box}.dock{background:transparent!important}body.theme-dark .dock .dock-panel,body[data-theme=dark] .dock .dock-panel,body[class*=theme-][class*=dark] .dock .dock-panel{border-color:#ffffff14;background:linear-gradient(180deg,#1a1c24e0,#101219b8);box-shadow:0 12px 40px #00000073}body.theme-dark .dock textarea,body[data-theme=dark] .dock textarea,body[class*=theme-][class*=dark] .dock textarea{border-color:#ffffff1f;background:#0c0e128c;color:#e6edf3}body.theme-dark .dock .dock-toggle,body[data-theme=dark] .dock .dock-toggle,body[class*=theme-][class*=dark] .dock .dock-toggle{border-color:#ffffff14;background:#1a1c24e0;box-shadow:0 12px 40px #00000073}.dock{left:calc(var(--sidebar-w, 260px) + 16px);right:24px}.dock .dock-panel{max-width:1200px;margin-left:auto}.dock .dock-actions .btn{background:#ffffffd9}body[data-theme=dark] .dock .dock-actions .btn,body.theme-dark .dock .dock-actions .btn,body[class*=theme-][class*=dark] .dock .dock-actions .btn{background:#14161db3;color:#e6edf3}header .inline{display:inline-flex;align-items:center;gap:8px;color:var(--text);white-space:nowrap}header .inline span{font-size:12px;opacity:.9;white-space:nowrap}header .inline select{background:var(--inputBg);color:var(--inputText);border:1px solid var(--border);border-radius:8px;padding:6px 8px;min-width:190px}@media (max-width: 480px){header .inline select{min-width:150px}}.topbar .inline select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--inputBg);color:var(--inputText);border:1px solid var(--border);border-radius:10px;padding:6px 32px 6px 10px;line-height:1.2;min-height:34px;min-width:190px;background-clip:padding-box;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease;background-image:url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%23444' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:14px 14px}.topbar .inline select:hover{border-color:color-mix(in srgb,var(--border) 60%,var(--text) 40%)}.topbar .inline select:focus-visible{border-color:var(--primary, #3b82f6);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary, #3b82f6) 20%,transparent)}:where(body[data-theme*=dark],body.theme-dark,body[class*=theme-dark],body[class*=dark]) .topbar .inline select{background-color:color-mix(in srgb,var(--card, #0b0e12) 80%,white 6%);border-color:color-mix(in srgb,var(--border) 70%,white 10%);color:var(--inputText, #e6edf3);background-image:url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%23bbb' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}:where(body[data-theme*=dark],body.theme-dark,body[class*=theme-dark],body[class*=dark]) .topbar .inline select:focus-visible{border-color:var(--primary, #60a5fa);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary, #60a5fa) 22%,transparent)}.topbar .inline{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}@media (max-width: 480px){.topbar .inline select{min-width:150px}}.s-item{transition:background .12s ease,border-color .12s ease,color .12s ease}.s-item:hover{background:color-mix(in srgb,var(--card) 90%,#0000);border-color:color-mix(in srgb,var(--accent) 25%,var(--border));color:var(--text)}.s-item:hover .s-item-title,.s-item:hover .chev,.s-item:hover .badge{color:var(--text);opacity:.95}.s-item:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:2px}.s-item,.s-item *{color:inherit;text-decoration:none}.topbar .inline select,.topbar .inline select:focus,.topbar .inline select:active,.topbar .inline select:focus-visible{background-color:var(--inputBg)!important;color:var(--inputText)!important;border-color:var(--border)!important;outline:none;-webkit-tap-highlight-color:transparent}.topbar .inline select{transition:border-color .12s ease,box-shadow .12s ease!important;will-change:auto}:where(body[data-theme*=dark],body.theme-dark,body[class*=dark]) .topbar .inline select,:where(body[data-theme*=dark],body.theme-dark,body[class*=dark]) .topbar .inline select:focus,:where(body[data-theme*=dark],body.theme-dark,body[class*=dark]) .topbar .inline select:active,:where(body[data-theme*=dark],body.theme-dark,body[class*=dark]) .topbar .inline select:focus-visible{background-color:color-mix(in srgb,var(--card, #0b0e12) 80%,white 6%)!important;color:var(--inputText, #e6edf3)!important;border-color:color-mix(in srgb,var(--border) 70%,white 10%)!important}.topbar .inline select{animation:none!important}.topbar .inline select:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary, #3b82f6) 20%,transparent)}:where(body[data-theme*=dark],body.theme-dark,body[class*=dark]) .topbar .inline select:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary, #60a5fa) 22%,transparent)}:where(body[data-theme=dark],body[data-theme="dark+"],body[data-theme="dark (visual studio)"],body[data-theme=abyss],body[data-theme*=dark],body.theme-dark,body[class*=theme-dark],body[class*=dark]) .s-item:hover{background:color-mix(in srgb,var(--card, #0b0e12) 80%,#000 20%)!important;color:var(--text, #e6edf3)!important;border-color:color-mix(in srgb,var(--border, #2a2f36) 70%,#fff 10%)!important}:where(body[data-theme=dark],body[data-theme="dark+"],body[data-theme="dark (visual studio)"],body[data-theme=abyss],body[data-theme*=dark],body.theme-dark,body[class*=theme-dark],body[class*=dark]) .s-item:hover .s-item-title,:where(body[data-theme=dark],body[data-theme="dark+"],body[data-theme="dark (visual studio)"],body[data-theme=abyss],body[data-theme*=dark],body.theme-dark,body[class*=theme-dark],body[class*=dark]) .s-item:hover .chev,:where(body[data-theme=dark],body[data-theme="dark+"],body[data-theme="dark (visual studio)"],body[data-theme=abyss],body[data-theme*=dark],body.theme-dark,body[class*=theme-dark],body[class*=dark]) .s-item:hover .badge{color:var(--text, #e6edf3)!important;opacity:.95!important}:where(body[data-theme=dark],body[data-theme="dark+"],body[data-theme="dark (visual studio)"],body[data-theme=abyss],body[data-theme*=dark],body.theme-dark,body[class*=theme-dark],body[class*=dark]) .lang-select,:where(body[data-theme=dark],body[data-theme="dark+"],body[data-theme="dark (visual studio)"],body[data-theme=abyss],body[data-theme*=dark],body.theme-dark,body[class*=theme-dark],body[class*=dark]) .theme-select{background-color:color-mix(in srgb,var(--card, #0b0e12) 80%,white 6%)!important;border-color:color-mix(in srgb,var(--border, #2a2f36) 70%,white 10%)!important;color:var(--inputText, #e6edf3)!important;transition:border-color .12s ease,box-shadow .12s ease!important;animation:none!important}:where(body[data-theme=dark],body[data-theme="dark+"],body[data-theme="dark (visual studio)"],body[data-theme=abyss],body[data-theme*=dark],body.theme-dark,body[class*=theme-dark],body[class*=dark]) .lang-select:hover,:where(body[data-theme=dark],body[data-theme="dark+"],body[data-theme="dark (visual studio)"],body[data-theme=abyss],body[data-theme*=dark],body.theme-dark,body[class*=theme-dark],body[class*=dark]) .lang-select:focus,:where(body[data-theme=dark],body[data-theme="dark+"],body[data-theme="dark (visual studio)"],body[data-theme=abyss],body[data-theme*=dark],body.theme-dark,body[class*=theme-dark],body[class*=dark]) .lang-select:active,:where(body[data-theme=dark],body[data-theme="dark+"],body[data-theme="dark (visual studio)"],body[data-theme=abyss],body[data-theme*=dark],body.theme-dark,body[class*=theme-dark],body[class*=dark]) .theme-select:hover,:where(body[data-theme=dark],body[data-theme="dark+"],body[data-theme="dark (visual studio)"],body[data-theme=abyss],body[data-theme*=dark],body.theme-dark,body[class*=theme-dark],body[class*=dark]) .theme-select:focus,:where(body[data-theme=dark],body[data-theme="dark+"],body[data-theme="dark (visual studio)"],body[data-theme=abyss],body[data-theme*=dark],body.theme-dark,body[class*=theme-dark],body[class*=dark]) .theme-select:active{background-color:color-mix(in srgb,var(--card, #0b0e12) 80%,white 6%)!important;color:var(--inputText, #e6edf3)!important;border-color:color-mix(in srgb,var(--border, #2a2f36) 70%,white 10%)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary, #60a5fa) 22%,transparent)!important}:where(body[data-theme=dark],body[data-theme="dark+"],body[data-theme="dark (visual studio)"],body[data-theme=abyss],body[data-theme*=dark],body.theme-dark,body[class*=theme-dark],body[class*=dark]) .s-item,:where(body[data-theme=dark],body[data-theme="dark+"],body[data-theme="dark (visual studio)"],body[data-theme=abyss],body[data-theme*=dark],body.theme-dark,body[class*=theme-dark],body[class*=dark]) .s-item *{color:inherit!important;text-decoration:none}.sidebar .s-autosave{display:flex;align-items:center;gap:10px;justify-content:flex-end}.sidebar .autosave-toggle{display:inline-flex;align-items:center;justify-content:center;line-height:1;min-height:36px;padding:6px 14px}.sidebar .toggle.autosave-toggle{max-width:none;overflow:visible}.sidebar .sidebar-bottom{position:sticky;bottom:0;width:100%;margin-top:auto;background:linear-gradient(to top,var(--sidebarBg),color-mix(in srgb,var(--sidebarBg) 0%,#0000) 90%)}.sidebar .ls-usage{width:100%;text-align:center;padding:8px 6px 4px;font-size:12px;opacity:.75;color:var(--textMuted, #666)}.sidebar .sidebar-copy{width:100%;text-align:center;font-size:10px;opacity:.65;padding:0 6px 8px;color:var(--textMuted, #666)}@media (prefers-color-scheme: dark){.sidebar .ls-usage,.sidebar .sidebar-copy{color:#bbb}}.sidebar .sidebar-bottom{border-top:1px solid rgba(0,0,0,.07)}@media (prefers-color-scheme: dark){.sidebar .sidebar-bottom{border-top-color:#ffffff14}}:root{--sb-track: #f2f4fa;--sb-thumb: #c7cce0;--sb-thumb-hover: #b0b7d3;--sb-thumb-active: #9aa3c7;--sb-corner: transparent;--sb-width: 10px;--sb-radius: 8px}:root[data-theme=dark],html.dark,body.dark,body[data-theme*=dark],body.theme-dark{--sb-track: #0f1424;--sb-thumb: #2b3350;--sb-thumb-hover: #3b4566;--sb-thumb-active: #4a5683}body[data-theme-id=vs-dark-plus]{--sb-track: #1f1f1f;--sb-thumb: #4a4a4a;--sb-thumb-hover: #5a5a5a;--sb-thumb-active: #6a6a6a}body[data-theme-id=vs-dark-vs]{--sb-track: #2d2d30;--sb-thumb: #525257;--sb-thumb-hover: #626268;--sb-thumb-active: #74747a}.sidebar{scrollbar-width:thin;scrollbar-color:var(--sb-thumb) var(--sb-track)}.sidebar::-webkit-scrollbar{width:var(--sb-width);height:var(--sb-width)}.sidebar::-webkit-scrollbar-track{background:var(--sb-track);border-radius:var(--sb-radius)}.sidebar::-webkit-scrollbar-thumb{background:var(--sb-thumb);border-radius:var(--sb-radius);border:2px solid var(--sb-track)}.sidebar::-webkit-scrollbar-thumb:hover{background:var(--sb-thumb-hover)}.sidebar::-webkit-scrollbar-thumb:active{background:var(--sb-thumb-active)}.sidebar::-webkit-scrollbar-corner{background:var(--sb-corner)}html,body{height:100%;margin:0;overflow:hidden}.layout{height:calc(100dvh - var(--topbar-h, 52px));min-height:calc(100dvh - var(--topbar-h, 52px));overflow:hidden}.content{height:100%;overflow:auto;overscroll-behavior:contain}.bottomBar{contain:paint;will-change:transform}html,body,.content{scrollbar-width:thin;scrollbar-color:var(--sb-thumb) var(--sb-track)}html::-webkit-scrollbar,body::-webkit-scrollbar,.content::-webkit-scrollbar{width:var(--sb-width);height:var(--sb-width)}html::-webkit-scrollbar-track,body::-webkit-scrollbar-track,.content::-webkit-scrollbar-track{background:var(--sb-track);border-radius:var(--sb-radius)}html::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb,.content::-webkit-scrollbar-thumb{background:var(--sb-thumb);border-radius:var(--sb-radius);border:2px solid var(--sb-track)}html::-webkit-scrollbar-thumb:hover,body::-webkit-scrollbar-thumb:hover,.content::-webkit-scrollbar-thumb:hover{background:var(--sb-thumb-hover)}html::-webkit-scrollbar-thumb:active,body::-webkit-scrollbar-thumb:active,.content::-webkit-scrollbar-thumb:active{background:var(--sb-thumb-active)}html::-webkit-scrollbar-corner,body::-webkit-scrollbar-corner,.content::-webkit-scrollbar-corner{background:var(--sb-corner)}textarea,.resultArea,.dock textarea,.bottomBar textarea,.textarea-output{scrollbar-width:thin;scrollbar-color:var(--sb-thumb) var(--sb-track)}textarea::-webkit-scrollbar{width:var(--sb-width);height:var(--sb-width)}textarea::-webkit-scrollbar-track{background:var(--sb-track);border-radius:var(--sb-radius)}textarea::-webkit-scrollbar-thumb{background:var(--sb-thumb);border-radius:var(--sb-radius);border:2px solid var(--sb-track)}textarea::-webkit-scrollbar-thumb:hover{background:var(--sb-thumb-hover)}textarea::-webkit-scrollbar-thumb:active{background:var(--sb-thumb-active)}textarea::-webkit-scrollbar-corner{background:var(--sb-corner)}.admin .bottomBar .defaults-editor textarea,.admin .bottomBar textarea[name=defaultValue],.admin .bottomBar .defValueInput{width:clamp(260px,36vw,420px);max-width:100%;resize:vertical;box-sizing:border-box}.admin .bottomBar .defaults-row,.admin .bottomBar .row-default{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap}.tabs-bottom{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 0;border-top:1px solid var(--border);padding:6px 6px 0}.tab-bottom{padding:8px 12px;border-radius:0 0 8px 8px;border:1px solid var(--border);border-top:2px solid var(--border);background:color-mix(in srgb,var(--card) 75%,#0000);cursor:pointer;font-weight:600;display:flex;align-items:center;gap:8px}.tab-bottom.active{background:var(--card);position:relative;top:-1px;border-top:2px solid var(--accent)}.tab-bottom .close{border:0;background:transparent;cursor:pointer;color:var(--muted);font-weight:700}.tab-bottom .close:hover{color:var(--text)}.badge-dot{display:inline-block;width:10px;height:10px;border-radius:999px;background:var(--accent);border:1px solid var(--border)}.badge-dot.muted{background:transparent;border:1px dashed var(--border)}.tabs-bottom .tab{border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;padding:6px 10px}.tab-bottom{min-width:auto}.tab-bottom--add .tab{font-weight:700}.tabs-bottom .tab-bottom{transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.tabs-bottom .tab-bottom:hover{background:color-mix(in srgb,var(--accent) 8%,var(--card) 92%);border-top-color:var(--accent);box-shadow:0 1px #0000000f}@supports (selector(:has(*))){.tabs-bottom .tab-bottom:has(.close:hover){background:color-mix(in srgb,#ff3b30 10%,var(--card) 90%);border-top-color:#ff3b30}}.tabs-bottom{border-top:0!important;padding-top:0;margin-top:0}.tabs-bottom:before{content:none!important}.tabs-bottom .tab-bottom{transition:margin .12s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease}.tabs-bottom .tab-bottom.drag-over-before{margin-left:18px}.tabs-bottom .tab-bottom.drag-over-after{margin-right:18px}.tabs-bottom.is-dragging .tab-bottom[draggable=true]{cursor:grabbing}:root{--ok: #22c55e}.tabs-bottom .tab-bottom--add{transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease}.tabs-bottom .tab-bottom--add:hover{background:color-mix(in srgb,var(--ok) 12%,var(--card) 88%);border-top-color:var(--ok);box-shadow:0 1px #0000000f}.tabs-bottom .tab-bottom--add .tab:hover{color:var(--ok)}.tabs-bottom.is-dragging .tab-bottom--add:hover{background:color-mix(in srgb,var(--ok) 18%,var(--card) 82%);border-top-color:var(--ok)}.ifaceGrid.drag-active .ifaceCard:not(.dragging){transform:translateY(3px) scale(.965);opacity:.96}.ifaceCard.dragging{cursor:grabbing;transform:scale(1.03)!important;box-shadow:0 16px 36px #00000038!important;border-color:color-mix(in srgb,var(--accent) 40%,var(--border))!important}.ifaceCard.drop-left{transform:translate(-6px);box-shadow:inset 4px 0 color-mix(in srgb,var(--accent) 55%,transparent),0 6px 22px #00000026}.ifaceCard.drop-right{transform:translate(6px);box-shadow:inset -4px 0 color-mix(in srgb,var(--accent) 55%,transparent),0 6px 22px #00000026}.ifaceCard.armed{background:color-mix(in srgb,var(--ok, #16a34a) 16%,var(--card));border-color:color-mix(in srgb,var(--ok, #16a34a) 55%,var(--border));box-shadow:0 10px 26px #16a34a2e;transform:scale(1.015)}.ifaceCard.dragging{cursor:grabbing;transform:scale(1.03)!important;box-shadow:0 16px 36px #16a34a38!important;border-color:color-mix(in srgb,var(--ok, #16a34a) 55%,var(--border))!important;background:color-mix(in srgb,var(--ok, #16a34a) 10%,var(--card))!important}.ifaceCard.drop-left{transform:translate(-6px);box-shadow:inset 4px 0 color-mix(in srgb,var(--ok, #16a34a) 55%,transparent),0 6px 22px #00000026}.ifaceCard.drop-right{transform:translate(6px);box-shadow:inset -4px 0 color-mix(in srgb,var(--ok, #16a34a) 55%,transparent),0 6px 22px #00000026}.sidebar .s-templates .tpl-row{box-sizing:border-box;min-height:34px}.sidebar .s-templates .tpl-row .tpl-edit,.sidebar .s-templates .tpl-row .tpl-del{width:22px;min-width:22px;height:22px;padding:0;display:inline-flex;align-items:center;justify-content:center;line-height:1;font-size:13px;font-weight:400;border-radius:6px;background:transparent;border:1px solid transparent}.sidebar .s-templates .tpl-row .tpl-edit:hover,.sidebar .s-templates .tpl-row .tpl-del:hover{background:transparent;border-color:transparent}.sidebar .s-templates .tpl-row .tpl-title{font-weight:inherit}@supports (selector(:has(*))){.sidebar .s-templates .tpl-row:has(.tpl-del:hover){background:color-mix(in srgb,var(--danger, #ef4444) 16%,transparent)!important;border-color:color-mix(in srgb,var(--danger, #ef4444) 30%,var(--border))!important;color:color-mix(in srgb,var(--danger, #ef4444) 85%,var(--text, #e8ecff))!important}.sidebar .s-templates .tpl-row:has(.tpl-del:hover) .s-item-title,.sidebar .s-templates .tpl-row:has(.tpl-del:hover) .chev,.sidebar .s-templates .tpl-row:has(.tpl-del:hover) .badge{color:inherit!important;opacity:1!important}}.sidebar .s-templates .tpl-rename-input{width:100%;background:var(--inputBg, color-mix(in srgb, var(--card, #0b1026) 92%, #0000));color:var(--inputText, var(--text, #e8ecff));border:1px solid var(--btnBorder, var(--border, #1b2447));border-radius:6px;padding:4px 6px;outline:none;box-shadow:none;caret-color:var(--text, #e8ecff)}.sidebar .s-templates .tpl-rename-input::placeholder{color:color-mix(in srgb,var(--text, #e8ecff) 50%,transparent)}.sidebar .s-templates .tpl-rename-input:focus{border-color:color-mix(in srgb,var(--accent, #2856e6) 55%,var(--btnBorder, #1b2447));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent, #2856e6) 25%,transparent);background:var(--inputBg, color-mix(in srgb, var(--card, #0b1026) 88%, #0000))}@media (prefers-color-scheme: dark){.sidebar .s-templates input.tpl-rename-input,.sidebar .s-templates textarea.tpl-rename-input{background:var(--card, #0b1026)!important;color:var(--text, #e8ecff)!important;border-color:var(--border, #1b2447)!important}.sidebar .s-templates input.tpl-rename-input:focus,.sidebar .s-templates textarea.tpl-rename-input:focus{background:var(--card, #0b1026)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent, #2856e6) 22%,transparent);border-color:color-mix(in srgb,var(--accent, #2856e6) 45%,var(--border, #1b2447))!important}}.sidebar .s-templates input.tpl-rename-input,.sidebar .s-templates textarea.tpl-rename-input{background:var(--card, #0b1026);color:var(--text, #e8ecff);border-color:var(--border, #1b2447)}.sidebar .s-templates input.tpl-rename-input:focus,.sidebar .s-templates textarea.tpl-rename-input:focus{background:var(--card, #0b1026)}.btn.export-mapping-btn{border-radius:999px;border:1px solid var(--border, #2a2f34);background:transparent;padding:6px 10px}.btn.export-mapping-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;border:1px solid var(--border, #2a2f34);background:transparent;color:inherit;cursor:pointer}.btn.export-mapping-btn:hover{background:#ffffff0f}.btn.export-mapping-btn svg{display:block}.actions .export-mapping-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;border:1px solid var(--border, rgba(255,255,255,.18));background:transparent;color:inherit;cursor:pointer;box-sizing:border-box;line-height:1;text-decoration:none;vertical-align:middle;margin-left:8px;appearance:none;-webkit-appearance:none}:root.light .export-mapping-btn,[data-theme=light] .export-mapping-btn{border-color:#0000002e}.actions .export-mapping-btn:hover{background:#ffffff0f}:root.light .export-mapping-btn:hover,[data-theme=light] .export-mapping-btn:hover{background:#0000000f}.actions .export-mapping-btn__content{display:inline-flex;align-items:center;gap:8px;line-height:1}.actions .export-mapping-btn svg{display:block}.actions .export-mapping-btn svg path:first-child{opacity:.18}.btn.iconOnly{padding:6px 8px;border-radius:4px;line-height:0;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--btnBorder);background:var(--btnBg);color:var(--btnText)}.btn.iconOnly:hover{background:color-mix(in srgb,var(--btnBg) 70%,#0000);border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,#0000) inset}.btn.iconOnly:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn.iconOnly svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;vector-effect:non-scaling-stroke}.lm-backdrop{position:fixed;inset:0;background:#0f121673;display:grid;place-items:center;z-index:1000;animation:lm-fade .16s ease-out}.lm-dialog{position:relative;background:var(--card, #101418);color:var(--text, #E7EDF3);border:1px solid var(--border, #26313A);border-radius:12px;min-width:min(680px,92vw);max-width:92vw;box-shadow:0 10px 40px #00000059;transform:scale(.98);animation:lm-pop .18s ease-out forwards}.lm-header{padding:14px 16px;border-bottom:1px solid var(--border, #26313A)}.lm-header h3{margin:0;font-size:16px;font-weight:600}.lm-body{padding:16px}.lm-footer{padding:12px 16px;display:flex;gap:8px;justify-content:flex-end;border-top:1px solid var(--border, #26313A)}.lm-close{position:absolute;top:6px;right:8px;width:28px;height:28px;border-radius:6px;display:grid;place-items:center;background:transparent;border:1px solid transparent;color:inherit;cursor:pointer}.lm-close:hover{background:#ffffff08;border-color:var(--border, #26313A)}@keyframes lm-fade{0%{opacity:0}to{opacity:1}}@keyframes lm-pop{to{transform:scale(1)}}.dropzone{border:1px dashed var(--border, #2A3640);border-radius:10px;padding:18px;text-align:center;background:#ffffff05;transition:border-color .15s ease,background .15s ease}.dropzone:hover{border-color:var(--accent, #3aa1ff);background:#3aa1ff0f}.hint{opacity:.8;font-size:12px}.row{display:flex;align-items:center;gap:8px}.row>.spacer{flex:1}.btn.primary{background:var(--accent, #3aa1ff);border:1px solid var(--accent, #3aa1ff);color:#fff}.btn.primary:hover{filter:brightness(.95)}.lm-body .form-row{display:flex;flex-direction:column;gap:6px}.lm-body input,.lm-body select,.lm-body textarea{background:var(--inputBg, #0e1530);color:var(--inputText, #e8ecff);border:1px solid var(--border, #1b2447);border-radius:10px;padding:10px 12px;outline:none}.lm-body input::placeholder,.lm-body textarea::placeholder{color:color-mix(in srgb,var(--inputText, #e8ecff) 50%,transparent)}.lm-body input:focus,.lm-body select:focus,.lm-body textarea:focus{border-color:color-mix(in srgb,var(--accent, #7aa2ff) 70%,var(--border, #1b2447));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent, #7aa2ff) 22%,transparent)}.lm-body .muted{color:var(--muted, #9aa4bf);font-size:12px}.lm-footer button[disabled]{opacity:.6;cursor:not-allowed}.tabs-bottom.is-compact{gap:8px}.tabs-bottom.is-compact .tab-bottom{padding:4px 10px;min-height:30px;border-radius:2px}.tabs-bottom.is-compact .tab-label{font-size:13px;line-height:1.25}.tabs-bottom.is-compact .close{width:18px;height:18px;font-size:13px;padding:0 4px}.tabs-bottom.is-compact .tab-bottom--add .tab-label{font-size:13px}body.theme-switching .card,body.theme-switching .ifaceCard,body.theme-switching .s-item,body.theme-switching .s-cat,body.theme-switching .btn,body.theme-switching .tab,body.theme-switching .tab-admin,body.theme-switching .tab-bottom,body.theme-switching .topbar-dropdown__trigger,body.theme-switching .topbar-dropdown__menu,body.theme-switching .dock .dock-panel,body.theme-switching .dock .dock-toggle{transition:none!important;animation:none!important}.result-dock{border:1px solid var(--border)!important;border-radius:10px!important;position:fixed;left:calc(var(--sidebar-w, 260px) + 16px);right:16px;bottom:0;z-index:30;background:transparent;border-bottom-left-radius:0;border-bottom-right-radius:0;box-shadow:none;pointer-events:auto}.result-dock:before{content:"";position:absolute;inset:0;z-index:0;backdrop-filter:blur(10px) saturate(115%);-webkit-backdrop-filter:blur(10px) saturate(115%);background:linear-gradient(180deg,#ffffffe0,#ffffffc7)}.result-dock>*{position:relative;z-index:1}.result-dock .dock-head{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:none}.result-dock .dock-title{font-weight:600;margin-right:auto}.result-dock .dock-body{padding:8px 12px 12px}.result-dock .actions{display:flex;gap:8px;justify-content:flex-end}.result-dock .dock-body label.block>span{display:none!important}.result-dock textarea{width:100%;min-height:120px;resize:vertical;background:var(--inputBg);border:1px solid var(--border);color:var(--inputText);border-radius:10px;padding:10px 12px}.result-dock:not(.open) .dock-body{display:none}.result-dock .dock-head{cursor:ns-resize;-webkit-user-select:none;user-select:none}.result-dock .dock-toggle{cursor:pointer}body[data-theme=dark] .result-dock{border-color:color-mix(in srgb,var(--border) 60%,var(--card) 40%)}.result-dock:before{content:none!important;display:none!important}.sidebar a[href^="/iface/"] .s-item-title{overflow:hidden;position:relative}.sidebar a[href^="/iface/"] .s-item-title .marquee{display:inline-block;white-space:nowrap;will-change:transform;animation:marquee-slide 4s linear infinite;animation-play-state:paused}.sidebar a[href^="/iface/"] .s-item-title:hover .marquee,.sidebar a[href^="/iface/"] .s-item-title:focus-within .marquee{animation-play-state:running}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.sidebar .s-home .s-item-title .marquee,.sidebar .s-workspace .s-item-title .marquee{animation:none!important;transform:none!important}:root{--ok-green: #16a34a;--used-bg: color-mix(in srgb, var(--ok, var(--ok-green)) 12%, transparent);--used-br: color-mix(in srgb, var(--ok, var(--ok-green)) 40%, transparent)}.sidebar a[href^="/iface/"].used,.sidebar .s-item.used,.home .iface-card.used,.home a[href^="/iface/"].used,.home [data-iface].used,.home .iface-row.used,.home .card.used{background:var(--used-bg);outline:1px solid var(--used-br);outline-offset:-1px;border-radius:10px}.home-search-wrap{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto}.home-search-input{min-width:clamp(220px,30vw,360px);padding:8px 10px;border:1px solid var(--border, #3a3a3a);border-radius:10px;background:var(--input, color-mix(in srgb, var(--card, #222) 85%, #0000));color:var(--text, #eaeaea);outline:none}.home-search-input::placeholder{color:color-mix(in srgb,var(--text, #eaeaea) 60%,transparent);opacity:.9}.home-search-input:focus{border-color:var(--ok, var(--ok-green));box-shadow:0 0 0 3px color-mix(in srgb,var(--ok, var(--ok-green)) 20%,transparent)}.combine-tiles::-webkit-scrollbar-thumb{background:#00000026;border-radius:8px}.combine-tile:active{cursor:grabbing;transform:scale(.98)}@media (prefers-color-scheme: dark){.combine-tile{background:linear-gradient(180deg,#171717,#111);border-color:#ffffff14;box-shadow:0 1px 3px #0009}}.combine-tiles{justify-content:flex-start;align-items:stretch}.combine-tiles::-webkit-scrollbar{height:8px}.combine-tiles::-webkit-scrollbar-thumb{background:#0000002e;border-radius:8px}.combine-tile{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:12px;box-shadow:0 1px 3px #00000026;border:1px solid rgba(0,0,0,.1);background:linear-gradient(180deg,#fff,#f7f7f7);cursor:grab;-webkit-user-select:none;user-select:none;min-width:140px;max-width:260px;transition:transform .08s ease,box-shadow .12s ease,border-color .12s ease,background-color .12s ease}.combine-tile-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#111}.combine-tile:active{cursor:grabbing;transform:scale(.985)}.combine-tile.drop-left{box-shadow:inset 4px 0 #00000038;border-color:#00000047}.combine-tile.drop-right{box-shadow:inset -4px 0 #00000038;border-color:#00000047}.combine-tiles.is-dragging .combine-tile{transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,opacity .12s ease}.combine-tile.dragging{opacity:.55;cursor:grabbing;box-shadow:0 8px 24px #00000040}.combine-tile.drop-over{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 60%,transparent),0 8px 24px #0000002e;border-color:color-mix(in srgb,var(--accent) 55%,transparent)}@media (prefers-color-scheme: dark){.combine-tile{background:linear-gradient(180deg,#191919,#111);border-color:#ffffff1a;box-shadow:0 1px 3px #0009}.combine-tile-title{color:#eaeaea}.combine-tile.drop-left{box-shadow:inset 4px 0 #ffffff40;border-color:#ffffff40}.combine-tile.drop-right{box-shadow:inset -4px 0 #ffffff40;border-color:#ffffff40}.combine-tile.dragging{box-shadow:0 10px 26px #00000080}.combine-tile.drop-over{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 70%,transparent),0 10px 26px #00000080;border-color:color-mix(in srgb,var(--accent) 65%,transparent)}}@keyframes tile-snap{0%{transform:scale(.96)}to{transform:scale(1)}}.combine-tile.snap{animation:tile-snap .18s ease-out}@media (prefers-color-scheme: dark){.combine-tile-title{color:#f0f0f0}}.seg-btns{margin:8px 0}.combine-tile.button-action{cursor:pointer;display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;transition:transform .12s ease,box-shadow .15s ease,filter .15s ease;will-change:transform}.combine-tile.button-action:hover{transform:translateY(-1px);box-shadow:0 8px 18px #0000001f,0 2px 6px #00000014;filter:brightness(1.04)}.combine-tile.button-action .icon-wrap{display:inline-flex;align-items:center;justify-content:center;opacity:.9}.combine-tile.button-action:hover .icon-wrap{opacity:1}@media (prefers-color-scheme: dark){.combine-tile.button-action:hover{box-shadow:0 10px 24px #0000008c,0 2px 10px #00000059;filter:brightness(1.06)}}.combine-tile.button-action .combine-tile-title{text-align:center}.result-area.copied-flash{animation:resultCopiedGlow .88s cubic-bezier(.22,1,.36,1)}@keyframes resultCopiedGlow{0%{box-shadow:0 0 #22c55e00}24%{box-shadow:0 0 0 2px #22c55e8c,0 0 22px #22c55e3d}62%{box-shadow:0 0 0 2px #22c55e47,0 0 10px #22c55e24}to{box-shadow:0 0 #22c55e00}}@media (prefers-color-scheme: dark){@keyframes resultCopiedGlow{0%{box-shadow:0 0 #22c55e00}24%{box-shadow:0 0 0 2px #22c55eb8,0 0 26px #22c55e57}62%{box-shadow:0 0 0 2px #22c55e75,0 0 14px #22c55e38}to{box-shadow:0 0 #22c55e00}}}@media (prefers-reduced-motion: reduce){.result-area.copied-flash{animation-duration:.15s}}.result-area.template-flash{animation:resultTemplateFill .9s cubic-bezier(.22,1,.36,1)}@keyframes resultTemplateFill{0%{box-shadow:inset 0 0 #3b82f600}15%{box-shadow:inset 0 0 0 1100px #3b82f652}45%{box-shadow:inset 0 0 0 800px #3b82f633}to{box-shadow:inset 0 0 #3b82f600}}.result-area.jump-flash{animation:resultJumpFlash .5s cubic-bezier(.22,1,.36,1)}@keyframes resultJumpFlash{0%{box-shadow:0 0 #10b98100}25%{box-shadow:0 0 0 3px #10b98159,0 0 18px #10b98133}to{box-shadow:0 0 #10b98100}}@media (prefers-reduced-motion: reduce){.result-area.jump-flash{animation-duration:.12s}}.notes-handle{box-shadow:0 8px 24px #00000038,0 2px 6px #0000001f;right:12px!important;left:auto!important;z-index:2147483647;position:fixed;right:calc(var(--dock-width, 60vw));top:calc(50vh + var(--handle-offset, 0px));transform:translateY(-50%);z-index:60;background:var(--card);color:var(--text);border:1px solid var(--border);border-right:none;border-radius:10px 0 0 10px;padding:6px 10px;cursor:pointer;display:flex;align-items:center;gap:8px;box-shadow:0 6px 18px #00000059;transition:background .15s ease,border-color .15s ease,box-shadow .2s ease,top .2s ease}.notes-handle:hover{background:color-mix(in srgb,var(--card) 88%,#fff 12%)}.notes-handle .label{font-weight:600;font-size:12px;letter-spacing:.03em;opacity:.85}.notes-dock{position:fixed;right:12px;bottom:12px;width:var(--dock-width, 60vw);height:var(--dock-height, 60vh);background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 40px #00000059;overflow:hidden;opacity:0;transform:translate(32px);pointer-events:none;transition:transform .5s cubic-bezier(.34,1.56,.64,1),opacity .3s ease,width .2s ease,height .2s ease;z-index:59}.notes-dock.open{opacity:1;transform:none;pointer-events:auto}.notes-topbar{display:flex;align-items:center;gap:10px;padding:8px 10px;background:color-mix(in srgb,var(--card) 85%,#0000);border-bottom:1px solid var(--border)}.notes-tabs{display:flex;align-items:center;gap:6px;overflow:auto}.notes-tab{display:flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--border);background:color-mix(in srgb,var(--card) 92%,#fff 8%);color:var(--text);border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none}.notes-tab.active{background:color-mix(in srgb,var(--card) 80%,#fff 20%);border-color:color-mix(in srgb,var(--border) 70%,#fff 30%)}.notes-rename-input{background:var(--inputBg, var(--card));color:var(--inputText, var(--text));border:1px solid var(--border);border-radius:6px;padding:4px 8px;font:inherit}.notes-addtab{background:var(--btnBg, var(--card));color:var(--btnText, var(--text));border:1px solid var(--btnBorder, var(--border));border-radius:8px;padding:6px 10px;cursor:pointer}.notes-addtab:hover{filter:brightness(1.05)}.notes-actions{margin-left:auto;display:flex;gap:8px}.notes-iconbtn{background:transparent;color:var(--text);border:1px solid var(--border);border-radius:8px;padding:4px 8px;cursor:pointer}.notes-iconbtn:hover{background:color-mix(in srgb,var(--card) 85%,#fff 15%)}.notes-canvas{position:absolute;inset:44px 0 0;background:linear-gradient(transparent 23px,color-mix(in srgb,var(--border),#0000) 24px),linear-gradient(90deg,transparent 23px,color-mix(in srgb,var(--border),#0000) 24px);background-size:24px 24px,24px 24px;background-color:color-mix(in srgb,var(--card) 94%,#000 6%);overflow:auto}.notes-tip{position:absolute;top:8px;left:10px;font-size:12px;color:var(--muted);background:color-mix(in srgb,var(--card) 80%,#0000);padding:4px 8px;border-radius:8px;border:1px solid var(--border)}.note-item{position:absolute;background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 28px #00000052;overflow:hidden;transition:box-shadow .15s ease,border-color .15s ease}.note-item:focus-within,.note-item:hover{box-shadow:0 12px 34px #00000061;border-color:color-mix(in srgb,var(--border) 70%,#fff 30%)}.note-textarea{position:absolute;inset:0;background:transparent;color:var(--text);border:none;outline:none;resize:none;padding:8px 10px 12px;font:inherit;line-height:1.35}.note-textarea::placeholder{color:color-mix(in srgb,var(--muted) 80%,#0000)}.note-image{display:block;width:100%;height:100%;object-fit:cover}.note-resize{position:absolute;right:0;bottom:0;width:24px;height:24px;cursor:nwse-resize}.note-resize:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 50%,var(--border) 50%),linear-gradient(135deg,transparent calc(50% + 2px),color-mix(in srgb,var(--text) 30%,#0000) calc(50% + 2px));background-repeat:no-repeat;background-size:100% 100%;opacity:.7}@media (prefers-color-scheme: light){.notes-handle{box-shadow:0 8px 24px #00000038,0 2px 6px #0000001f;position:fixed;right:12px!important;left:auto!important;z-index:2147483647;box-shadow:0 8px 20px #00000026}.notes-dock{position:fixed;right:12px;bottom:12px;width:var(--dock-width, 60vw);height:var(--dock-height, 60vh);background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 40px #00000059;overflow:hidden;opacity:0;transform:translate(32px);pointer-events:none;transition:transform .5s cubic-bezier(.34,1.56,.64,1),opacity .3s ease,width .2s ease,height .2s ease;z-index:59}.note-item{box-shadow:0 8px 22px #0000002e}}.tabsScroll .notes-tab{flex:0 0 auto}.note-resize-e{position:absolute;top:0;right:-6px;width:12px;height:100%;cursor:ew-resize}.note-resize-s{position:absolute;left:0;bottom:-6px;width:100%;height:12px;cursor:ns-resize}.notes-open-pill-wrapper{position:fixed;top:30%;left:0;z-index:2147483647}.notes-open-pill{background:#27b3a7;color:#fff;font-weight:600;writing-mode:vertical-rl;text-orientation:mixed;border-radius:0 12px 12px 0;padding:10px 6px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s ease,transform .1s ease;box-shadow:0 6px 16px #0000002e;border:1px solid rgba(0,0,0,.12)}.notes-open-pill:hover{background:#1f9087}.notes-open-text{transform:rotate(180deg);display:inline-block}.notes-handle{box-shadow:0 8px 24px #00000038,0 2px 6px #0000001f;position:fixed;right:12px!important;left:auto!important;z-index:2147483647;background:#27b3a7!important;color:#fff!important;border:1px solid rgba(0,0,0,.12)!important;border-left:none!important;border-radius:12px 0 0 12px!important;padding:10px 6px!important;width:auto!important;height:auto!important;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px #0000002e!important;cursor:pointer;-webkit-user-select:none;user-select:none}.notes-handle .label{writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);font-weight:600;letter-spacing:.2px}.notes-handle:hover{background:#1f9087!important}.notes-handle{box-shadow:0 8px 24px #00000038,0 2px 6px #0000001f;position:fixed;right:12px!important;left:auto!important;z-index:2147483647;transform:translateY(var(--handle-offset, 0px))}.notes-dock{transition:transform .5s cubic-bezier(.34,1.56,.64,1),opacity .3s ease;transform:translate(32px);opacity:0;pointer-events:none}.notes-dock.open{transform:none;opacity:1;pointer-events:auto}.notes-handle{transition:top .2s ease,background .2s}.notes-handle.dragging{transition:none!important}:where(html,body) .notes-handle{box-shadow:0 8px 24px #00000038,0 2px 6px #0000001f;position:fixed;right:12px!important;z-index:2147483647;left:auto!important}.notes-dock .dock-resize-n{position:absolute;left:0;right:0;top:0;height:14px;cursor:ns-resize;z-index:3}.notes-dock .dock-resize-w{position:absolute;top:0;bottom:0;left:0;width:14px;cursor:ew-resize;z-index:3}body.notes-resizing,body.notes-resizing *{cursor:grabbing!important}.notes-dock.notes-resizing,.notes-dock.resizing{transition:none!important}.notes-dock{will-change:width,height}body.notes-resizing{-webkit-user-select:none!important;user-select:none!important}.notes-canvas{position:relative;overflow:hidden;cursor:grab}.canvas-viewport{position:absolute;inset:0}.canvas-content{transform-origin:0 0;will-change:transform}.notes-dock{display:flex;flex-direction:column;height:100%;min-height:0}.notes-body{position:relative;flex:1 1 auto;min-height:0}.notes-canvas{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;cursor:grab;overscroll-behavior:contain;touch-action:none}.canvas-viewport{position:absolute;inset:0;pointer-events:auto}.canvas-content{transform-origin:0 0;will-change:transform;pointer-events:auto}body.notes-panning .notes-canvas{cursor:grabbing;-webkit-user-select:none;user-select:none}.notes-dock{height:var(--notes-h)}.notes-topbar{height:var(--notes-topbar-h, 44px);flex:0 0 var(--notes-topbar-h, 44px)}.notes-canvas{height:calc(var(--notes-h) - var(--notes-topbar-h, 44px));flex:1 1 auto;min-height:0;overflow:hidden}:where(.notes-dock){display:block;height:var(--dock-height, 60vh);min-height:0}:where(.notes-dock) .notes-topbar{height:44px;line-height:44px}:where(.notes-dock) .notes-canvas{position:absolute;inset:44px 0 0;height:auto;min-height:0;overflow:hidden}
