html[data-theme=light]{color-scheme:light;--page: #E6E9EF;--canvas: #F2F4F7;--side: #F7F8FA;--surface: #FFFFFF;--muted: #F6F7F9;--hover: #EEF0F4;--divider: #E1E5EB;--field: #CBD1DA;--text: #161A21;--tm: #5F6878;--tf: #8E97A6;--accent: #2563EB;--accent-hover: #1D4ED8;--accent-press: #1E40AF;--sel: #EAF1FF;--sel2: #D6E4FF;--bubble: #BFDBFE;--qkbg: #EEF2FF;--qk: #4F46E5;--chiphover: #E0E7FF;--hl: #FDE68A;--warnfill: #FFFBEB;--posfill: #DCFCE7;--postext: #166534;--negfill: #FDE2E2;--window-border: #C9CED6;--toast-bg: #161A21;--toast-fg: #FFFFFF;--toast-action: #BFDBFE;--overlay: rgba(22,26,33,.36);--header: rgba(255,255,255,.86);--shadow-pop: 0 3px 14px rgba(0,0,0,.16);--shadow-soft: 0 2px 10px rgba(16,24,40,.1);--shadow-modal: 0 16px 48px rgba(0,0,0,.22);--shadow-panel: 0 1px 2px rgba(16,24,40,.06), 0 10px 28px rgba(16,24,40,.07);--shadow-card: 0 1px 2px rgba(16,24,40,.05)}html[data-theme=dark]{color-scheme:dark;--page: #06080C;--canvas: #0E121A;--side: #10141C;--surface: #161B25;--muted: #1C2230;--hover: #242B3A;--divider: #2C3446;--field: #414B60;--text: #EDF0F5;--tm: #A6AFBE;--tf: #77819A;--accent: #4C8DFF;--accent-hover: #3B7BF0;--accent-press: #2563EB;--sel: rgba(76,141,255,.16);--sel2: rgba(76,141,255,.28);--bubble: rgba(76,141,255,.42);--qkbg: rgba(129,140,248,.2);--qk: #B4BEFE;--chiphover: rgba(129,140,248,.34);--hl: rgba(250,204,21,.34);--warnfill: rgba(217,119,6,.16);--posfill: rgba(34,197,94,.2);--postext: #86EFAC;--negfill: rgba(239,68,68,.22);--window-border: #2C3446;--toast-bg: #EDF0F5;--toast-fg: #161B25;--toast-action: #2563EB;--overlay: rgba(0,0,0,.6);--header: rgba(16,20,28,.82);--shadow-pop: 0 8px 28px rgba(0,0,0,.55);--shadow-soft: 0 4px 16px rgba(0,0,0,.4);--shadow-modal: 0 24px 64px rgba(0,0,0,.65);--shadow-panel: 0 0 0 1px rgba(255,255,255,.02), 0 12px 32px rgba(0,0,0,.45);--shadow-card: 0 1px 0 rgba(255,255,255,.03) inset}html{--positive: #16A34A;--warn: #D97706;--negative: #DC2626}html,body{margin:0;padding:0;background:var(--page)}*{box-sizing:border-box}body{font-family:Segoe UI Variable Text,Segoe UI,sans-serif;color:var(--text)}button,input,textarea,select{font-family:inherit}select option,select optgroup{background:var(--surface);color:var(--text)}::placeholder{color:var(--tm)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--field);border-radius:5px;border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#9ca3af;border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-track{background:transparent}::selection{background:#dbeafe}html[data-theme=dark] ::selection{background:#4c8dff59}.mono{font-family:Consolas,Courier New,monospace}.hidden-input{display:none}svg{flex:none}@keyframes kgpulse{0%{transform:scale(1);opacity:.55}to{transform:scale(2.6);opacity:0}}@keyframes kgspin{to{transform:rotate(360deg)}}.app{min-height:100vh;display:flex;flex-direction:column;font-size:13px;background:var(--page);color:var(--text);transition:background .24s,color .24s}.header{flex:none;position:sticky;top:0;z-index:20;min-height:60px;background:var(--header);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--divider);transition:background .24s,border-color .24s;display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:10px 16px}.brand{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 300px}.logo{flex:none;width:30px;height:30px;border-radius:8px;background:var(--accent);display:flex;align-items:center;justify-content:center;box-shadow:0 3px 14px #2563eb47}.brand-text{display:flex;flex-direction:column;min-width:0}.brand-kicker{font-size:11px;color:var(--tm);letter-spacing:.6px}.brand-title{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pill-wrap{position:relative}.pill{position:relative;display:flex;align-items:center;gap:8px;height:34px;padding:0 12px;border:1px solid var(--divider);border-radius:8px;background:var(--muted);cursor:pointer;overflow:hidden;transition:background .2s,border-color .2s;color:var(--text);font-size:12px}.pill:hover{border-color:var(--tf)}.pill.syncing{background:var(--sel);border-color:var(--bubble)}.pill-text{font-size:12px;white-space:nowrap}.pill-role{font-size:11px;color:var(--tm);white-space:nowrap}.pill-bar{position:absolute;left:0;bottom:0;height:2px;background:var(--accent);transition:width .38s ease,opacity .4s}.chevron{transition:transform .12s}.chevron path,.icon-tm path{fill:var(--tm)}.pulse{position:relative;width:8px;height:8px;flex:none;display:inline-block}.pulse>span{position:absolute;inset:0;border-radius:4px;transition:background .2s}.pulse>span.ring{animation:kgpulse 1.4s ease-out infinite}.popover-veil{position:fixed;inset:0;z-index:1}.popover{position:absolute;right:0;top:42px;z-index:2;width:360px;max-width:calc(100vw - 32px);background:var(--surface);border:1px solid var(--divider);border-radius:8px;box-shadow:var(--shadow-pop);transition:opacity .16s ease,transform .16s ease;overflow:hidden}.popover-head{padding:12px 14px 10px;border-bottom:1px solid var(--hover)}.popover-title{font-size:12px;font-weight:600;letter-spacing:.6px;color:var(--tm)}.popover-note{font-size:12px;line-height:17px;color:var(--tm);margin-top:4px}.popover-list{padding:4px 0;max-height:60vh;overflow-y:auto}.station{display:flex;align-items:center;gap:10px;padding:7px 14px}.station-dot{flex:none;width:8px;height:8px;border-radius:4px;transition:background .2s}.station-main{flex:1;min-width:0}.station-name{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.station-sub,.station-seen{display:block;font-size:11px;color:var(--tf)}.station-side{flex:none;text-align:right}.station-state{display:block;font-size:12px;transition:color .2s}.theme-switch{display:flex;align-items:center;padding:3px;gap:2px;border:1px solid var(--divider);border-radius:10px;background:var(--muted);transition:background .24s,border-color .24s}.theme-opt{display:flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:7px;font-size:12px;cursor:pointer;-webkit-user-select:none;user-select:none;background:transparent;color:var(--tm);border:0;transition:background .18s,color .18s,box-shadow .18s}.theme-opt.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-soft)}.header-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.sections{flex:1 1 100%;display:flex;height:36px;margin:0 -16px -10px;padding:0 6px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.sections::-webkit-scrollbar{display:none}.sections .tab{flex:none;white-space:nowrap}.btn{display:flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 12px;border:1px solid var(--field);border-radius:8px;background:var(--surface);font-size:13px;color:var(--text);cursor:pointer;transition:background .12s,box-shadow .12s,opacity .16s,border-color .12s;white-space:nowrap}.btn:hover{background:var(--hover)}.btn:active{background:var(--divider)}.btn.wide{min-width:96px;padding:0 14px}.btn.small{height:28px;padding:0 12px;font-size:12px}.btn.primary{border:0;background:var(--accent);color:#fff;box-shadow:0 1px 2px #2563eb4d}.btn.primary:hover{background:var(--accent-hover);box-shadow:0 3px 14px #2563eb52}.btn.primary:active{background:var(--accent-press)}.btn.primary.saved{background:var(--positive)}.btn.danger-text{color:var(--negative)}.btn.danger-text:hover{background:var(--negfill)}.btn.danger{border:0;background:var(--negative);color:#fff}.btn.danger:hover{filter:brightness(.9);background:var(--negative)}.btn.dim{opacity:.45}.btn:disabled{cursor:default}.btn:focus-visible,.icon-btn:focus-visible,.tool:focus-visible,.node:focus-visible,.row:focus-visible,.theme-opt:focus-visible,.pill:focus-visible,.tab:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.icon-btn{width:24px;height:24px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s;border:0;background:transparent;padding:0;color:var(--tm)}.icon-btn:hover{background:var(--hover)}.icon-btn path{fill:var(--tm)}.field{height:32px;border:1px solid var(--field);border-radius:8px;padding:0 9px;font-size:13px;outline:none;color:var(--text);background:var(--surface);transition:border-color .12s,box-shadow .16s;width:100%}.field:hover{border-color:var(--tf)}.field:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--sel2)}.select-wrap{position:relative;height:32px}.select-wrap select{appearance:none;-webkit-appearance:none;width:100%;height:32px;border:1px solid var(--field);border-radius:8px;background:var(--surface);padding:0 26px 0 9px;font-size:13px;color:var(--text);outline:none;cursor:pointer;transition:border-color .12s,box-shadow .16s}.select-wrap select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--sel2)}.select-wrap .chevron{position:absolute;right:10px;top:14px;pointer-events:none}.select-wrap.small{height:28px}.select-wrap.small select{height:28px;font-size:12px}.select-wrap.small .chevron{top:12px}.select-wrap.dot select{padding-left:27px;background:transparent}.select-wrap.dot{background:var(--surface);border-radius:8px}.select-dot{position:absolute;left:9px;top:11px;width:10px;height:10px;border-radius:4px;pointer-events:none}.label{display:block;font-size:12px;font-weight:500;color:var(--tm);margin-bottom:4px}.body{flex:1 1 auto;display:flex;align-items:stretch;gap:16px;padding:16px}.panel{height:calc(100vh - 125px);min-height:440px;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--divider);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-panel);transition:background .24s,border-color .24s;position:sticky;top:108px}.groups{flex:0 0 236px;background:var(--side)}.list{flex:1 1 360px;min-width:280px}.editor{flex:1.6 1 520px;min-width:0;min-height:520px;position:static}.groups-scroll{flex:1 1 auto;overflow-y:auto;padding:8px 0}.node{position:relative;height:34px;display:flex;align-items:center;gap:10px;padding:0 12px 0 14px;cursor:pointer;transition:background .12s,color .12s,box-shadow .12s;color:var(--tm);background:transparent;border:0;width:100%;font-size:13px;text-align:left}.node:hover{background:var(--hover)}.node.on{background:var(--sel);color:var(--text)}.node.on:hover{background:var(--sel2)}.node.drop{background:var(--sel2);box-shadow:inset 0 0 0 2px var(--accent)}.node .bar{position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:0 2px 2px 0;background:var(--accent);transform:scaleY(0);transition:transform .16s ease}.node.on .bar{transform:scaleY(1)}.node .node-icon path{fill:var(--tm)}.node.on .node-icon path{fill:var(--accent)}.node-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.node-count{font-size:12px;color:var(--tm);min-width:18px;text-align:right}.node.group{padding-right:8px}.node.group .node-count{padding-right:4px}.swatch{flex:none;width:10px;height:10px;border-radius:4px}.node .icon-btn:hover{background:var(--sel2)}.groups-title{display:flex;align-items:center;height:32px;padding:0 8px 0 14px;margin-top:10px}.groups-title span{flex:1;font-size:12px;font-weight:600;color:var(--tm);letter-spacing:.6px}.sep{height:1px;background:var(--divider);margin:10px 14px}.archive-note{padding:6px 14px 0 38px;font-size:12px;line-height:17px;color:var(--tf)}.groups-foot{flex:none;border-top:1px solid var(--divider);padding:10px 14px;display:flex;align-items:center;gap:8px;background:var(--muted)}.groups-foot span{flex:1;font-size:12px;line-height:17px;color:var(--tm)}.keys-btn{flex:none;width:26px;height:26px;border:1px solid var(--field);border-radius:8px;background:var(--surface);display:flex;align-items:center;justify-content:center;font-family:Consolas,monospace;font-size:12px;font-weight:600;color:var(--tm);cursor:pointer;transition:background .12s;padding:0}.keys-btn:hover{background:var(--hover)}.list-top{flex:none;padding:10px 10px 8px;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--divider)}.list-top-row{display:flex;gap:8px}.search{flex:1;min-width:0;height:32px;border:1px solid var(--field);border-radius:8px;position:relative;background:var(--surface);transition:border-color .12s,box-shadow .16s}.search.focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--sel2)}.search svg.lens{position:absolute;left:9px;top:9px}.search input{position:absolute;left:26px;right:30px;top:0;height:30px;border:0;outline:none;background:transparent;font-size:13px;color:var(--text)}.search .clear{position:absolute;right:4px;top:5px;width:20px;height:20px}.sort{flex:none;width:176px}.back-btn{display:flex;align-items:center;gap:6px;height:32px;padding:0 10px 0 6px;border:1px solid var(--field);border-radius:8px;background:var(--surface);color:var(--text);cursor:pointer;font-size:13px;flex:none}.back-btn:hover{background:var(--hover)}.back-btn svg{transform:rotate(90deg)}.toolbar{flex:none;height:36px;border-bottom:1px solid var(--divider);padding:0 6px 0 12px;display:flex;align-items:center;gap:2px}.check{flex:none;width:16px;height:16px;border-radius:4px;border:1px solid var(--field);background:var(--surface);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s,border-color .12s;padding:0}.check:hover{border-color:var(--accent)}.check.on{background:var(--accent);border-color:var(--accent)}.check .dash{width:8px;height:2px;background:#fff;border-radius:1px}.toolbar .check{margin-right:8px}.tool{height:28px;padding:6px 8px;border-radius:8px;display:flex;align-items:center;gap:6px;cursor:pointer;transition:background .12s,opacity .12s;border:0;background:transparent;color:var(--text);font-size:13px}.tool:hover{background:var(--hover)}.tool:active{background:var(--divider)}.tool.dim{opacity:.45}.tool path{fill:currentColor}.tool-sep{width:1px;height:20px;margin:0 6px;background:var(--divider);flex:none}.list-status{font-size:12px;color:var(--tm);padding-right:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spacer{flex:1}.bulk{flex:none;overflow:hidden;transition:max-height .2s ease,opacity .16s ease;max-height:0;opacity:0}.bulk.open{max-height:60px;opacity:1}.bulk-inner{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px 8px 12px;background:var(--sel);border-bottom:1px solid var(--bubble)}.bulk-label{font-size:13px;font-weight:600;color:var(--text)}.bulk .select-wrap{width:190px}.rows{flex:1 1 auto;overflow-y:auto;padding:4px 0 8px}.group-head{position:sticky;top:-4px;z-index:1;height:28px;padding:0 12px;display:flex;align-items:center;gap:8px;background:var(--muted);border-top:1px solid var(--hover);border-bottom:1px solid var(--hover)}.group-head .dot{width:8px;height:8px;border-radius:3px}.group-head .title{flex:1;font-size:11px;color:var(--tm);letter-spacing:.4px}.group-head .count{font-size:11px;color:var(--tm)}.row{position:relative;display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:var(--surface);box-shadow:inset 0 -1px 0 var(--divider);cursor:pointer;transition:background .6s ease,box-shadow .12s,opacity .12s;outline:none}.row.compact{padding:8px 12px}.row:hover{background:var(--hover)}.row.picked{background:var(--muted)}.row.on{background:var(--sel)}.row.on:hover{background:var(--sel2)}.row.flash{background:var(--sel2);transition:background 80ms}.row.over-before{box-shadow:inset 0 2px 0 var(--accent)}.row.over-after{box-shadow:inset 0 -2px 0 var(--accent)}.row.dragging{opacity:.45}.row .bar{position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);transform:scaleY(0);transition:transform .16s ease}.row.on .bar{transform:scaleY(1)}.row .check{margin-top:1px}.row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.row-line{display:flex;align-items:center;gap:6px;min-width:0}.row-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.row.on .row-title{font-weight:600}.row.archived .row-title{color:var(--tm)}.mark{background:var(--hl);border-radius:2px;color:inherit}.badge{flex:none;height:16px;padding:0 4px;border-radius:4px;font-family:Consolas,monospace;font-size:9px;font-weight:600;line-height:16px}.badge.vars{background:var(--qkbg);color:var(--qk)}.badge.img{background:#16a34a1f;color:#16a34a}.badge.plain{background:var(--hover);color:var(--tm)}.dirty-dot{flex:none;width:6px;height:6px;border-radius:3px;background:var(--warn)}.usage{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:3px;min-width:48px}.usage-n{font-size:11px;color:var(--tm);line-height:12px}.usage-track{width:48px;height:3px;border-radius:2px;background:var(--hover);overflow:hidden}.usage-fill{display:block;height:3px;border-radius:2px;transition:width .3s ease;background:var(--accent)}.usage-fill.rare{background:var(--field)}.row-excerpt{font-size:12px;line-height:17px;color:var(--tm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-meta{display:flex;align-items:center;gap:6px;font-size:11px;line-height:15px;color:var(--tf);white-space:nowrap;overflow:hidden}.row-meta .gdot{flex:none;width:6px;height:6px;border-radius:2px}.row-meta span:last-child{overflow:hidden;text-overflow:ellipsis}.empty{padding:56px 24px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.empty .t{font-size:13px;color:var(--tm)}.empty .h{font-size:12px;color:var(--tf)}.no-selection{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:40px;text-align:center}.no-selection .t{font-size:15px;font-weight:600}.no-selection .h{font-size:12px;line-height:17px;color:var(--tm);max-width:360px}.no-selection .btn{margin-top:14px}.ed-head{flex:none;min-height:56px;padding:10px 16px 10px 20px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--divider)}.ed-head .swatch{transition:background .2s}.ed-titles{flex:1;min-width:0;display:flex;flex-direction:column}.ed-heading{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ed-sub{font-size:12px;color:var(--tm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-chip{flex:none;display:flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:8px;font-size:12px;white-space:nowrap;transition:background .2s,color .2s;background:var(--hover);color:var(--tm)}.status-chip.warn{background:var(--warnfill);color:var(--warn)}.status-chip.ok{background:var(--posfill);color:var(--positive)}.status-chip.sync{background:var(--sel);color:var(--accent)}.tabs{flex:none;height:36px;border-bottom:1px solid var(--divider);padding-left:8px;display:flex}.tab{position:relative;height:36px;padding:0 12px;display:flex;align-items:center;gap:6px;color:var(--tm);cursor:pointer;transition:background .12s,color .12s;border:0;background:transparent;font-size:13px}.tab:hover{background:var(--hover)}.tab.on{color:var(--text)}.tab .underline{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--accent);transform:scaleX(0);transition:transform .18s ease}.tab.on .underline{transform:scaleX(1)}.tab-badge{height:18px;min-width:18px;padding:0 5px;border-radius:4px;background:var(--qkbg);color:var(--qk);font-size:11px;font-weight:600;line-height:18px;text-align:center}.tab-badge.warn{background:var(--warnfill);color:var(--warn)}.ed-anim{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;transition:opacity .18s ease,transform .18s ease}.ed-anim.out{opacity:0;transform:translateY(6px)}.canvas{flex:1 1 auto;min-height:0;overflow-y:auto;background:var(--canvas);transition:background .24s}.canvas.edit{padding:16px;display:flex;flex-wrap:wrap;gap:14px;align-items:flex-start}.canvas.pad{padding:18px 20px}.canvas[hidden]{display:none}.form-col{flex:1 1 360px;min-width:0;display:flex;flex-direction:column;gap:12px}.card{background:var(--surface);border:1px solid var(--divider);border-radius:12px;padding:16px;display:flex;flex-direction:column;box-shadow:var(--shadow-card);transition:background .24s,border-color .24s}.card.slim{padding:12px 16px}.card-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}.card-head .t{flex:1;font-size:13px;font-weight:600}.card-head .s{font-size:11px;color:var(--tf)}.num{flex:none;width:22px;height:22px;border-radius:6px;background:var(--sel);color:var(--accent);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.label.gap{margin-top:14px}.body-box{border:1px solid var(--field);border-radius:8px;background:var(--surface);transition:border-color .12s,box-shadow .16s}.body-box.focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--sel2)}.body-box textarea{display:block;width:100%;min-height:120px;height:168px;resize:vertical;border:0;border-radius:8px;padding:7px 9px;font-size:13px;line-height:19px;outline:none;color:var(--text);background:var(--surface)}.var-chips{margin-top:8px;display:flex;flex-wrap:wrap;align-items:center;gap:4px}.var-chips-label{font-size:12px;color:var(--tm);margin-right:4px}.var-chip{height:22px;padding:0 8px;border-radius:4px;background:var(--qkbg);color:var(--qk);font-family:Consolas,monospace;font-size:12px;line-height:22px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .12s,transform .12s;border:0}.var-chip:hover{background:var(--chiphover)}.var-chip:active{transform:scale(.95)}.lint{margin-top:12px;border:1px solid var(--divider);border-radius:8px;background:var(--muted);padding:8px 10px;display:flex;flex-direction:column;gap:4px}.lint-row{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:17px;color:var(--text)}.lint-row .d{flex:none;margin-top:5px;width:6px;height:6px;border-radius:3px;background:var(--warn)}.lint-row.info{color:var(--tm)}.lint-row.info .d{background:var(--tf)}.lint-row.ok{color:var(--postext)}.lint-row.ok .d{background:var(--positive)}.photo-card{background:var(--surface);border:1px solid var(--divider);border-radius:12px;padding:12px 16px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow-card);transition:background .16s,border-color .16s}.photo-card.over{background:var(--sel);border:1px dashed var(--accent)}.photo-head{display:flex;align-items:center;gap:10px}.photo-head .t{flex:none;font-size:13px;font-weight:600}.photo-head .s{flex:1;min-width:0;font-size:12px;color:var(--tm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-head .btn{height:30px;font-size:12px}.photo{display:flex;align-items:center;gap:10px;padding:6px 8px;border:1px solid var(--divider);border-radius:8px;background:var(--muted)}.thumb{flex:none;width:48px;height:36px;border-radius:4px;background:var(--hover);display:flex;align-items:center;justify-content:center;overflow:hidden}.thumb img{width:100%;height:100%;object-fit:cover}.photo-text{flex:1;min-width:0}.photo-name{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-meta{display:block;font-size:11px;color:var(--tm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-x{flex:none;width:26px;height:26px;border-radius:6px}.photo-x:hover{background:var(--negfill)}.keep-row{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;border:0;background:transparent;width:100%;padding:0;color:var(--text);text-align:left;font-size:13px}.keep-row .t{flex:1;min-width:0;font-size:13px;font-weight:600}.switch{flex:none;position:relative;width:36px;height:20px;border-radius:10px;background:var(--field);transition:background .16s}.switch.on{background:var(--accent)}.switch .knob{position:absolute;top:2px;left:0;width:16px;height:16px;border-radius:8px;background:#fff;box-shadow:0 1px 3px #00000040;transform:translate(2px);transition:transform .18s cubic-bezier(.2,.8,.2,1)}.switch.on .knob{transform:translate(18px)}.preview{flex:0 1 350px;min-width:280px;display:flex;flex-direction:column;gap:10px;position:sticky;top:0;background:var(--surface);border:1px solid var(--divider);border-radius:12px;padding:16px;box-shadow:var(--shadow-card);transition:background .24s,border-color .24s}.caps{font-size:12px;font-weight:600;color:var(--tm);letter-spacing:.6px}.picker{background:var(--surface);border:1px solid var(--divider);border-radius:8px;box-shadow:var(--shadow-soft);overflow:hidden}.picker-head{height:26px;padding:0 10px;display:flex;align-items:center;gap:8px;background:var(--muted)}.picker-head .g{flex:1;font-size:11px;color:var(--tm);letter-spacing:.4px}.picker-head .n{font-size:11px;color:var(--tm)}.pv-row{position:relative;height:32px;padding:0 10px;display:flex;align-items:center;gap:8px;background:var(--surface);transition:background .2s}.pv-row.cur{background:var(--sel)}.pv-row .bar{position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent}.pv-row.cur .bar{background:var(--accent)}.qk{flex:none;width:22px;height:20px;border-radius:4px;background:var(--qkbg);color:var(--qk);font-family:Consolas,Courier New,monospace;font-size:12px;font-weight:600;text-align:center;line-height:20px}.pv-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.picker-search{border-top:1px solid var(--divider);padding:8px 10px}.picker-search div{height:28px;border:1px solid var(--field);border-radius:8px;position:relative}.picker-search svg{position:absolute;left:9px;top:7px}.picker-search span{position:absolute;left:26px;top:0;line-height:26px;font-size:12px;color:var(--tm)}.tip{margin-left:24px;background:var(--surface);border:1px solid var(--divider);border-radius:8px;padding:10px 12px;box-shadow:var(--shadow-pop)}.tip-title{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tip-body{font-size:12px;line-height:18px;white-space:pre-wrap;word-break:break-word;margin-top:6px;max-height:180px;overflow:hidden}.tip-meta{font-size:12px;color:var(--tm);margin-top:8px}.caps.guest{margin-top:12px}.bubble{align-self:flex-end;max-width:100%;background:var(--sel);border:1px solid var(--bubble);border-radius:8px;padding:8px 10px;font-size:13px;line-height:19px;white-space:pre-wrap;word-break:break-word}.bubble-hint{font-size:11px;line-height:15px;color:var(--tf);text-align:right}.seg{border-radius:3px;transition:background .2s,color .16s}.seg.var{background:var(--hl);color:var(--text)}.seg.filled{background:var(--posfill);color:var(--postext)}.seg.active{background:var(--accent);color:#fff}.seg.ghost{color:var(--tf)}.test-wrap{max-width:560px;display:flex;flex-direction:column}.note{font-size:12px;line-height:17px;color:var(--tm);margin-bottom:14px}.novars{border:1px solid var(--divider);border-radius:8px;background:var(--muted);padding:20px;text-align:center}.novars .t{font-size:13px;color:var(--tm)}.novars .h{font-size:12px;color:var(--tf);margin-top:6px}.tf{display:flex;flex-direction:column;margin-bottom:10px}.tf label{font-size:12px;color:var(--tm);margin-bottom:4px}.tf.active label{color:var(--accent)}.tf input{height:32px;border:1px solid var(--field);border-radius:8px;padding:0 9px;font-size:13px;outline:none;color:var(--text);background:var(--surface);transition:border-color .12s,box-shadow .16s,background .12s}.tf.empty-val input{background:var(--warnfill);border-color:var(--warn)}.tf.active input{border-color:var(--accent);box-shadow:0 0 0 3px var(--sel2);background:var(--surface)}.preview-label{font-size:12px;color:var(--tm);margin:4px 0}.test-preview{border:1px solid var(--divider);border-radius:8px;background:var(--muted);padding:8px 10px;font-size:12px;line-height:18px;white-space:pre-wrap;word-break:break-word}.test-warn{font-size:12px;line-height:17px;margin-top:12px;color:var(--warn)}.test-warn.ok{color:var(--positive)}.right{display:flex;justify-content:flex-end;margin-top:10px}.history{max-width:720px}.version{display:flex;gap:12px}.timeline{flex:none;width:12px;display:flex;flex-direction:column;align-items:center}.timeline .dot{flex:none;margin-top:12px;width:10px;height:10px;border-radius:5px;background:var(--surface);border:2px solid var(--field)}.timeline .line{flex:1;width:2px;background:var(--divider)}.version.current .timeline .dot{background:var(--accent);border-color:var(--sel2)}.v-card{flex:1;min-width:0;margin-bottom:12px;border:1px solid var(--divider);border-radius:8px;background:var(--surface);overflow:hidden}.version.current .v-card{border-color:var(--bubble)}.v-head{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--hover);flex-wrap:wrap;background:var(--surface)}.version.current .v-head{background:var(--sel)}.v-label{font-size:13px;font-weight:600}.v-meta{font-size:12px;color:var(--tm);flex:1;min-width:0}.btn.small.toggled{background:var(--sel);border-color:var(--accent);color:var(--accent)}.v-body{padding:8px 10px}.v-title{font-size:12px;color:var(--tm);margin-bottom:4px}.v-text{font-size:12px;line-height:18px;white-space:pre-wrap;word-break:break-word;max-height:90px;overflow:hidden}.diff{border:1px solid var(--divider);border-radius:4px;overflow:hidden}.diff-line{display:flex;gap:8px;padding:1px 8px;font-size:12px;line-height:18px}.diff-line .sign{flex:none;width:10px;font-family:Consolas,monospace;color:var(--tf)}.diff-line .tx{flex:1;min-width:0;white-space:pre-wrap;word-break:break-word;color:var(--tm)}.diff-line.del{background:var(--negfill)}.diff-line.del .sign{color:var(--negative)}.diff-line.del .tx{color:var(--text);text-decoration:line-through}.diff-line.add{background:var(--posfill)}.diff-line.add .sign{color:var(--positive)}.diff-line.add .tx{color:var(--postext)}.archived{max-width:720px;display:flex;flex-direction:column}.info{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--divider);border-radius:8px;background:var(--muted);padding:10px 12px}.info span{font-size:12px;line-height:17px;color:var(--tm)}.a-label{font-size:12px;color:var(--tm);margin:14px 0 4px}.a-value{font-size:13px}.a-text{border:1px solid var(--divider);border-radius:8px;padding:8px 10px;font-size:13px;line-height:19px;white-space:pre-wrap;word-break:break-word;color:var(--tm)}.foot{flex:none;position:sticky;bottom:0;z-index:3;min-height:56px;border-top:1px solid var(--divider);border-radius:0 0 14px 14px;padding:12px 20px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:var(--surface)}.foot .hint{flex:1 1 200px;font-size:12px;line-height:17px;color:var(--tm)}.btn.save{min-width:128px;gap:8px;padding:0 14px}.spinner{width:12px;height:12px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:kgspin .7s linear infinite;flex:none}.overlay{position:fixed;inset:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;padding:20px;z-index:50;opacity:0;transition:opacity .16s ease}.overlay.in{opacity:1}.modal{max-width:100%;background:var(--surface);border:1px solid var(--window-border);border-radius:8px;box-shadow:var(--shadow-modal);overflow:hidden;transform:translateY(10px) scale(.97);transition:transform .18s cubic-bezier(.2,.8,.2,1)}.overlay.in .modal{transform:translateY(0) scale(1)}.modal-bar{height:32px;border-bottom:1px solid var(--hover);padding-left:12px;display:flex;align-items:center}.modal-bar span{flex:1;font-size:12px;color:var(--tm)}.modal-x{width:44px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s;border:0;background:transparent;padding:0}.modal-x:hover{background:var(--negfill)}.modal-x path{fill:var(--tm)}.modal-body{padding:20px}.modal-text{font-size:13px;line-height:19px;white-space:pre-line}.modal-input{width:100%;height:32px;border:1px solid var(--accent);border-radius:8px;padding:0 9px;font-size:13px;outline:none;color:var(--text);background:var(--surface);box-shadow:0 0 0 3px var(--sel2)}.modal-error{font-size:12px;line-height:17px;color:var(--negative);margin-top:8px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;flex-wrap:wrap}.keys{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;align-items:center}.keys .k{justify-self:end;height:22px;padding:0 8px;border:1px solid var(--field);border-bottom-width:2px;border-radius:4px;background:var(--muted);font-family:Consolas,monospace;font-size:12px;line-height:19px;color:var(--text);white-space:nowrap}.color-note{font-size:12px;line-height:17px;color:var(--tm);margin-top:12px;display:flex;align-items:center;gap:8px}.color-pick{display:flex;gap:8px;margin-top:2px}.color-dot{width:24px;height:24px;border-radius:8px;border:0;padding:0;cursor:pointer;transition:transform .12s,box-shadow .12s}.color-dot:hover{transform:scale(1.08)}.color-dot.on{box-shadow:0 0 0 2px var(--surface),0 0 0 4px currentColor}.dates{display:flex;gap:12px;flex-wrap:wrap}.date-field{flex:1 1 160px;min-width:0}.date-field .field{width:100%}.date-field .field:disabled{opacity:.55}.perm-toggle{margin-top:8px}.perm-toggle.off{cursor:default;color:var(--tf)}.field.bad{border-color:var(--negative)}.field-error{font-size:12px;line-height:17px;color:var(--negative);margin-top:4px}.field-note{font-size:11px;line-height:15px;color:var(--tf);margin-top:8px}.summary-field{margin-top:12px}.summary-field .label{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.summary-field .counter{font-size:11px;color:var(--tf);font-variant-numeric:tabular-nums;font-weight:400}.summary-field .counter.bad{color:var(--negative)}.field.summary{display:block;width:100%;height:auto;min-height:56px;padding-top:7px;padding-bottom:7px;resize:vertical;line-height:18px}.timer-chip{font-variant-numeric:tabular-nums}.terms-note{font-size:12px;line-height:17px;color:var(--tf);padding:2px 4px 0}.timer-chip{flex:none;height:26px;display:flex;align-items:center;padding:0 10px;border-radius:8px;font-size:12px;background:var(--sel);color:var(--accent);white-space:nowrap}.timer-chip.warn{background:var(--warnfill);color:var(--warn);font-weight:600}.badge.term{background:var(--sel);color:var(--accent);font-family:inherit;font-size:10px}.badge.term.gone{background:var(--hover);color:var(--tf)}.toast-wrap{position:fixed;left:0;right:0;bottom:40px;display:flex;justify-content:center;pointer-events:none;z-index:60;opacity:0;transform:translateY(12px);transition:opacity .2s ease,transform .2s ease;padding:0 16px}.toast-wrap.on{opacity:1;transform:translateY(0)}.toast{display:flex;align-items:center;gap:12px;min-height:34px;padding:0 6px 0 14px;border-radius:8px;background:var(--toast-bg);color:var(--toast-fg);font-size:12px;box-shadow:var(--shadow-modal);max-width:100%}.toast-wrap.on .toast{pointer-events:auto}.toast .txt{padding:8px 0}.toast-action{height:26px;padding:0 10px;border-radius:4px;color:var(--toast-action);font-weight:600;line-height:26px;cursor:pointer;transition:background .12s;border:0;background:transparent;font-size:12px}.toast-action:hover{background:#ffffff1a}.toast .pad{width:8px}.login-page{min-height:100vh;display:flex;flex-direction:column;background:var(--page);color:var(--text);font-size:13px;transition:background .24s,color .24s}.login-top{display:flex;justify-content:flex-end;padding:16px}.login-center{flex:1;display:flex;align-items:center;justify-content:center;padding:16px 16px 72px}.login-card{width:360px;max-width:100%;background:var(--surface);border:1px solid var(--divider);border-radius:14px;box-shadow:var(--shadow-panel);padding:28px 28px 24px;display:flex;flex-direction:column}.login-brand{display:flex;align-items:center;gap:10px;margin-bottom:22px}.login-card form{display:flex;flex-direction:column}.login-card .field{height:36px;font-size:15px;letter-spacing:1px}.login-card .field.bad{border-color:var(--negative)}.login-card .field.bad:focus{box-shadow:0 0 0 3px var(--negfill)}.login-error{min-height:17px;margin-top:6px;font-size:12px;line-height:17px;color:var(--negative)}.login-card .btn.primary{height:36px;margin-top:12px;font-size:13px}.login-foot{margin-top:18px;font-size:12px;line-height:17px;color:var(--tf)}.drawer-veil{position:fixed;inset:0;z-index:40;background:var(--overlay);opacity:0;transition:opacity .16s ease}.drawer-veil.in{opacity:1}.drawer{position:fixed;top:0;bottom:0;left:0;z-index:41;width:280px;max-width:86vw;transform:translate(-100%);transition:transform .2s cubic-bezier(.2,.8,.2,1);display:flex}.drawer.in{transform:translate(0)}.drawer .panel.groups{height:100%;min-height:0;border-radius:0 14px 14px 0;position:static;flex:1 1 auto}.group-switch{display:flex;align-items:center;gap:8px;height:32px;padding:0 10px;border:1px solid var(--field);border-radius:8px;background:var(--surface);color:var(--text);font-size:13px;cursor:pointer;flex:none;max-width:50%}.group-switch:hover{background:var(--hover)}.group-switch .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(min-width:1024px){.list{min-width:280px;flex:1 1 300px}.editor{flex:1.6 1 460px}.groups{flex:0 0 236px}}@media(min-width:1024px)and (max-width:1279px){.groups{flex-basis:212px}.sort{width:150px}.brand-kicker{display:none}}@media(max-width:1023px){.body{gap:12px;padding:12px}.panel{height:calc(100vh - 85px);top:72px}.list{flex:0 0 42%;min-width:0}.editor{flex:1 1 0;min-width:0;min-height:0}.sort{width:132px}.preview{flex:1 1 100%;min-width:0;position:static}.pill-role,.brand-kicker,.theme-opt .label-text,.header-actions .btn .label-text{display:none}.header-actions .btn.primary .label-text{display:inline}}@media(max-width:599px){.header{padding:8px 12px;gap:8px}.brand{flex:1 1 auto}.brand-title{font-size:14px}.body{padding:8px;gap:8px}.panel{height:calc(100dvh - 74px);min-height:0;top:66px;flex:1 1 100%;width:100%}.panel.groups,.panel.list,.panel.editor{flex:1 1 100%;min-width:0}.pill-text,.header-actions .btn.primary .label-text{display:none}.ed-head{padding:8px 12px}.canvas.edit{padding:10px}.canvas.pad{padding:14px 12px}.foot{padding:10px 12px}.foot .hint{display:none}.foot .btn{flex:1 1 auto}.card{padding:12px}.tab{padding:0 10px}.toolbar .tool span{display:none}.sort{width:118px}.usage{display:none}.login-card{padding:22px 18px 18px}}.pin path{fill:#d97706}.accent-note{color:var(--accent)}@media(max-width:599px){.header-actions .btn.wide{min-width:0;padding:0 10px}.theme-switch .theme-opt{padding:0 8px}.sections{margin:0 -12px -8px;padding:0 2px}.sections .tab{flex:1 1 auto;justify-content:center;gap:4px;padding:0 6px;font-size:12px}.sections .nav-count{display:none}}.nav-row{align-items:center}.nav-row .group-switch{max-width:100%}.nav-title{flex:1;min-width:0;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:1023px){.toolbar .tool span{display:none}}@media(max-width:1023px){.app{height:100dvh;min-height:0}.body{flex:1 1 auto;min-height:0}.panel,.panel.editor{height:auto;min-height:0;position:static}.foot{flex-wrap:nowrap}.foot .hint{display:none}.foot .btn{flex:1 1 auto;min-width:0}.btn.save{min-width:0}}.music-view{flex:1 1 600px;min-width:0;position:static}.music-badge{flex:none;width:30px;height:30px;border-radius:8px;background:#db2777;color:#fff;display:flex;align-items:center;justify-content:center}.music-badge path{fill:#fff}.music-canvas{display:flex;flex-direction:column;gap:12px}.music-canvas>*{flex:none}.music-canvas .card{max-width:860px;width:100%}.music-total{max-width:860px;font-size:12px;line-height:17px;color:var(--tm);padding:0 4px}.music-law{max-width:860px;font-size:12px;line-height:17px;color:var(--tf);padding:0 4px}.uploads{gap:10px}.uploads .card-head{margin-bottom:4px}.upload{display:flex;flex-direction:column;gap:6px;padding:10px;border:1px solid var(--divider);border-radius:8px;background:var(--muted)}.upload.error{border-color:var(--negative);background:var(--negfill)}.upload.done{opacity:.8}.upload-fields{display:flex;gap:8px;align-items:center}.upload-fields .field{flex:1 1 0;min-width:0}.upload-meta{display:flex;gap:10px;align-items:center;font-size:11px;color:var(--tm);min-width:0}.upload-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-percent{font-variant-numeric:tabular-nums;color:var(--accent);font-weight:600}.upload-ok{color:var(--positive);font-weight:600}.progress{height:4px;border-radius:2px;background:var(--divider);overflow:hidden}.progress span{display:block;height:4px;border-radius:2px;background:var(--accent);transition:width .2s ease}.upload.done .progress span{background:var(--positive)}.upload-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.tracks-card .card-head{margin-bottom:6px}.tracks{display:flex;flex-direction:column}.track{position:relative;display:flex;align-items:center;gap:10px;min-height:52px;padding:6px 4px 6px 0;box-shadow:inset 0 -1px 0 var(--divider);background:var(--surface);transition:background .12s,opacity .12s}.track:last-child{box-shadow:none}.track:hover{background:var(--hover)}.track.off .track-title,.track.off .track-artist,.track.off .track-n{color:var(--tf)}.track.dragging{opacity:.45}.track.over-before{box-shadow:inset 0 2px 0 var(--accent)}.track.over-after{box-shadow:inset 0 -2px 0 var(--accent)}.grip{flex:none;width:20px;display:flex;justify-content:center;cursor:grab;color:var(--tf)}.grip path{fill:var(--tf)}.track-n{flex:none;width:22px;text-align:right;font-size:12px;color:var(--tm);font-variant-numeric:tabular-nums}.track-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.track-main.editing{gap:6px;padding:4px 0}.track-title{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-artist{font-size:12px;color:var(--tm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-size{flex:none;font-size:12px;color:var(--tm);font-variant-numeric:tabular-nums;min-width:56px;text-align:right}.track-tools,.track-confirm{flex:none;display:flex;align-items:center;gap:2px}.track-confirm{gap:6px;font-size:12px;color:var(--negative)}.track-edit-actions{display:flex;justify-content:flex-end;gap:6px}.switch-btn{border:0;background:transparent;padding:4px 6px;cursor:pointer;display:flex}.icon-btn:disabled{opacity:.35;cursor:default}.icon-btn:disabled:hover{background:transparent}.icon-btn.danger:hover{background:var(--negfill)}.icon-btn.danger:hover path{fill:var(--negative)}@media(max-width:599px){.music-view .ed-head{flex-wrap:wrap}.track{flex-wrap:wrap;padding:8px 0}.track-main{flex:1 1 calc(100% - 60px)}.track-size{min-width:0;margin-left:52px}.track-tools,.track-confirm{margin-left:auto}.upload{position:relative}.upload-fields{flex-wrap:wrap;padding-right:30px}.upload-fields .field{flex:1 1 100%}.upload-fields .icon-btn{position:absolute;top:12px;right:8px}}.music-tabs{padding-left:12px}.music-actions{max-width:860px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.music-hint{font-size:12px;color:var(--tf);min-width:0}.track-used{flex:none;font-size:11px;color:var(--tf);min-width:92px;text-align:right}.empty.compact{padding:20px 12px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{height:30px;padding:0 12px;border-radius:15px;border:1px solid var(--divider);background:var(--muted);color:var(--text);font-size:13px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;transition:background .12s,border-color .12s}.chip:hover{background:var(--hover)}.chip.on{background:var(--sel);border-color:var(--accent);color:var(--accent);font-weight:600}.chip.add{color:var(--accent);border-style:dashed;background:transparent}.chip.off{color:var(--tm)}.chip:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.chip-n{font-size:11px;color:var(--tm);font-weight:400;font-variant-numeric:tabular-nums}.inline-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}.inline-form .field{flex:1 1 220px;min-width:0;max-width:360px}.inline-form .field-error{flex:1 1 100%;margin-top:0}.inline-form.grow{flex:1;margin-top:0}.playlist-head{margin-bottom:4px}.playlist-head .s{margin-right:4px}.playlist-stations{font-size:12px;color:var(--tm);margin-bottom:10px}.confirm-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px;margin-bottom:8px;border-radius:8px;background:var(--negfill);color:var(--negative);font-size:12px;line-height:17px}.confirm-row span{flex:1 1 260px}.playlist-add{display:flex;gap:8px;align-items:center;margin-top:10px}.playlist-add .select-wrap{flex:1 1 auto;min-width:0;max-width:520px}.mst{display:flex;flex-direction:column}.mst-row{display:grid;grid-template-columns:minmax(0,1.5fr) 80px minmax(0,1fr) minmax(0,1.4fr);gap:12px;align-items:center;min-height:48px;padding:6px 0;box-shadow:inset 0 -1px 0 var(--divider)}.mst-row:last-child{box-shadow:none}.mst-head{min-height:28px;font-size:11px;color:var(--tf);text-transform:uppercase;letter-spacing:.04em}.mst-name{display:flex;flex-direction:column;gap:2px;min-width:0}.mst-name .n{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mst-name .l{font-size:12px;color:var(--tm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mst-ver,.mst-seen{font-size:12px;color:var(--tm);font-variant-numeric:tabular-nums}.mst-pick .select-wrap{display:block}.schedule-card .card-head{margin-bottom:10px}.schedule-warn{padding:10px;border-radius:8px;background:var(--warnfill);color:var(--warn);font-size:12px;line-height:17px;margin-bottom:12px}.schedule-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:14px 16px}.sf{display:flex;flex-direction:column;gap:6px;min-width:0}.sf.wide{grid-column:1 / -1}.sf .field-note,.sf .field-error{margin-top:0}.sf-label{font-size:12px;color:var(--tm);font-weight:600;display:flex;align-items:center;gap:8px}.vol-n{font-size:12px;color:var(--accent);font-variant-numeric:tabular-nums}.time-field{max-width:140px}.volume{width:100%;max-width:420px;accent-color:var(--accent)}.radio-row{display:flex;flex-wrap:wrap;gap:16px}.st-radio,.st-check{display:inline-flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}.st-radio input,.st-check input{accent-color:var(--accent);margin:0}.st-checks{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-radius:8px;background:var(--muted)}.st-check .l{font-size:12px;color:var(--tf)}.schedule-foot{display:flex;align-items:flex-end;gap:16px;margin-top:16px}.schedule-foot .field-note{flex:1;margin-top:0}@media(max-width:599px){.track-used{min-width:0;text-align:left;margin-left:32px}.mst-head{display:none}.mst-row{grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:10px 0}.mst-name{grid-column:1;grid-row:1}.mst-ver{grid-column:2;grid-row:1;text-align:right}.mst-seen{grid-column:1 / -1;grid-row:2}.mst-pick{grid-column:1 / -1;grid-row:3}.schedule-grid{grid-template-columns:minmax(0,1fr)}.schedule-foot{flex-direction:column;align-items:stretch}.playlist-add{flex-wrap:wrap}.playlist-add .select-wrap{flex:1 1 100%;max-width:none}}.programs-view{flex:1 1 600px;min-width:0;position:static}.prog-head-icon{flex:none;width:30px;height:30px;border-radius:8px;background:var(--sel);color:var(--accent);display:flex;align-items:center;justify-content:center}.prog-head-icon path{fill:var(--accent)}.prog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px;align-items:start}.prog-card{border:1px solid var(--divider);border-radius:8px;background:var(--muted);overflow:hidden;transition:border-color .16s,box-shadow .16s;text-align:left}.prog-card.open{border-color:var(--accent)}.prog-card.clickable{cursor:pointer}.prog-card.clickable:hover{border-color:var(--tf);box-shadow:var(--shadow-soft)}.prog-card.clickable:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.prog-photo{position:relative;height:150px;background:#7f7f7f14;display:flex;align-items:center;justify-content:center}.prog-photo img{width:100%;height:100%;object-fit:cover;display:block}.prog-badge{position:absolute;top:10px;left:10px;display:flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:12px;background:#0a0e14bd;color:#fff;font-size:11px;font-weight:600}.prog-badge .d{width:6px;height:6px;border-radius:50%;background:#22c55e}.prog-badge.upcoming .d{background:#60a5fa}.prog-badge.finished .d{background:#9ca3af}.prog-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:10px}.prog-title{font-size:15px;font-weight:600;line-height:20px}.prog-dates{display:grid;grid-template-columns:1fr 1fr;gap:8px}.prog-dates>span{display:flex;flex-direction:column;gap:2px}.prog-dates .k{font-size:11px;color:var(--tf)}.prog-dates .v{font-size:12px;font-variant-numeric:tabular-nums}.prog-timer{display:flex;align-items:center;justify-content:space-between;gap:8px;height:34px;padding:0 12px;border-radius:4px;background:var(--sel);color:var(--accent);font-size:12px}.prog-timer .t{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}.prog-timer.soon{background:#ef444429;color:#ef4444}.prog-timer.finished{background:var(--hover);color:var(--tm)}.prog-timer.finished .t{font-size:12px;font-weight:600}.prog-summary{font-size:12px;line-height:18px;color:var(--tm)}.prog-desc{font-size:12px;line-height:18px;color:var(--text);padding-top:10px;border-top:1px solid var(--divider);white-space:pre-wrap;word-break:break-word}.prog-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.prog-more{display:flex;align-items:center;gap:6px;height:30px;padding:0 12px;border:1px solid var(--divider);border-radius:4px;background:var(--surface);color:var(--accent);font-size:12px;font-weight:600;cursor:pointer}.prog-more:hover{background:var(--sel)}.prog-more .chevron path{fill:var(--accent)}.prog-actions .btn.small{height:30px}.program-form .preview .prog-card{background:var(--muted)}.node.group.system .swatch{opacity:.85}.node .lock{flex:none;display:flex;align-items:center;color:var(--tf)}.node .lock path{fill:var(--tf)}@media(max-width:599px){.prog-grid{grid-template-columns:1fr}.programs-view .ed-head{flex-wrap:wrap}}.settings-view{flex:1 1 600px;min-width:0;position:static}.settings-badge{flex:none;width:30px;height:30px;border-radius:8px;background:var(--muted);display:flex;align-items:center;justify-content:center}.settings-badge path{fill:var(--tm)}.settings-canvas{display:flex;flex-direction:column;gap:12px}.settings-canvas>*{flex:none}.settings-section{display:flex;flex-direction:column;gap:12px}.settings-section>*{flex:none}.settings-section .card{max-width:860px;width:100%}.settings-head{max-width:860px;display:flex;align-items:center;gap:12px;padding:0 4px}.settings-head .ed-heading{margin:0}.bot-badge{flex:none;width:30px;height:30px;border-radius:8px;background:#229ed9;color:#fff;display:flex;align-items:center;justify-content:center}.bot-badge path{fill:#fff}.bot-state{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;background:var(--muted)}.bot-dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--tf)}.bot-state[data-state=running] .bot-dot{background:var(--positive)}.bot-state[data-state=connecting] .bot-dot{background:var(--warn)}.bot-state[data-state=error]{background:var(--negfill)}.bot-state[data-state=error] .bot-dot{background:var(--negative)}.bot-state-main{display:flex;flex-direction:column;gap:2px;min-width:0}.bot-state-main .n{font-size:13px;font-weight:600}.bot-state-main .l{font-size:12px;line-height:17px;color:var(--tm);overflow-wrap:anywhere}.bot-facts{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:12px;font-size:12px;color:var(--tm)}.bot-facts b{color:var(--text);font-weight:600}.bot-note{margin-top:10px;font-size:12px;line-height:17px;color:var(--tm)}.bot-note.warn{padding:10px;border-radius:8px;background:var(--warnfill);color:var(--warn)}.bot-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}.bot-check{flex:1 1 260px;min-width:0;font-size:12px;line-height:17px}.bot-check.ok{color:var(--postext)}.bot-check.bad{color:var(--negative)}.bot-token-form{margin-top:0}.bot-token-form .field{max-width:460px}.bot-chats,.bot-events{display:flex;flex-direction:column}.bot-chat,.bot-event{display:flex;align-items:center;gap:10px;min-height:48px;padding:6px 0;box-shadow:inset 0 -1px 0 var(--divider)}.bot-chat:last-child,.bot-event:last-child{box-shadow:none}.bot-chat-main,.bot-event-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.bot-chat-main .n,.bot-event-main .n{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bot-chat-main .l,.bot-event-main .l{font-size:12px;color:var(--tm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bot-connected{flex:none;font-size:11px;font-weight:600;color:var(--postext);background:var(--posfill);padding:3px 8px;border-radius:10px}.bot-mark{flex:none;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.bot-event.ok .bot-mark{background:var(--posfill);color:var(--postext)}.bot-event.bad .bot-mark{background:var(--negfill);color:var(--negative)}.bot-event-at{flex:none;font-size:12px;color:var(--tm);font-variant-numeric:tabular-nums}.bot-help{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:13px;line-height:19px}.bot-help .mono{background:var(--muted);border-radius:4px;padding:1px 6px;overflow-wrap:anywhere}.bot-help .bot-template{margin:6px 0 0;padding:8px 10px;background:var(--muted);border-radius:6px;font-family:Consolas,Courier New,monospace;font-size:12px;line-height:18px;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.bot-help .bot-steps{margin:6px 0;padding-left:18px;display:flex;flex-direction:column;gap:2px;color:var(--tm)}@media(max-width:599px){.bot-chat{flex-wrap:wrap}.bot-chat-main{flex:1 1 100%}.bot-chat .btn{margin-left:auto}.bot-token-form .field{max-width:none}}.recover{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:12px 16px 0;padding:10px 14px;border:1px solid var(--warn);border-radius:10px;background:var(--warnfill);color:var(--text)}.recover .t{flex:1 1 280px;font-size:13px;line-height:18px}.away-pad{flex:none;padding:12px 16px 0;background:var(--canvas)}.archived-away{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 12px;border:1px solid var(--warn);border-radius:8px;background:var(--warnfill)}.archived-away .t{flex:1 1 260px;font-size:12px;line-height:17px;color:var(--text)}.stations-view{flex:1 1 600px;min-width:0;position:static}.stations-badge{flex:none;width:30px;height:30px;border-radius:8px;background:var(--accent);display:flex;align-items:center;justify-content:center}.stations-badge path{fill:#fff}.stations-canvas{display:flex;flex-direction:column;gap:12px}.stations-canvas>*{flex:none}.stations-canvas .card{max-width:1160px;width:100%}.stations-versions{flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px 24px;font-size:13px;color:var(--tm)}.stations-versions b{color:var(--text);font-weight:600}.stations-new{margin-left:auto}.stations-new path{fill:currentColor}.stations-schema{font-size:13px;line-height:18px;color:var(--warn);background:var(--warnfill);border-color:var(--warn)}.stations-card .card-head{margin-bottom:6px}.stations-note{max-width:1160px}.st-table{width:100%;border-collapse:collapse;font-size:13px}.st-table{table-layout:fixed}.st-table th:nth-child(1){width:20%}.st-table th:nth-child(2){width:12%}.st-table th:nth-child(3){width:18%}.st-table th:nth-child(4){width:12%}.st-table th:nth-child(5){width:9%}.st-table th:nth-child(6){width:29%}.st-table td{overflow-wrap:anywhere}.st-table th{text-align:left;font-size:11px;font-weight:600;color:var(--tf);padding:0 12px 6px 0;white-space:nowrap}.st-table td{padding:9px 12px 9px 0;box-shadow:inset 0 1px 0 var(--divider);vertical-align:middle}.st-table th:last-child,.st-table td:last-child{padding-right:0}.st-name .n{font-weight:600;margin-right:8px;overflow-wrap:anywhere}.st-tag{display:inline-block;font-size:11px;font-weight:600;line-height:18px;padding:0 7px;border-radius:9px;background:var(--muted);color:var(--tm);white-space:nowrap}.st-tag.warn{background:var(--warnfill);color:var(--warn);margin-left:8px}.st-name .st-tag+.st-tag{margin-left:6px}.st-seen{white-space:nowrap}.st-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--tf);margin-right:7px;vertical-align:1px}.st-dot.on{background:var(--positive)}.st-state{margin-right:8px}.st-when{font-size:12px;color:var(--tm)}.st-unknown{color:var(--tf)}.st-playlist,.st-claim{color:var(--tm)}.st-key-state{font-weight:600;color:var(--tm)}.st-key-state.ok{color:var(--positive)}.st-key-state.wait{color:var(--accent)}.st-key-state.warn{color:var(--warn)}.st-key-detail{display:block;font-size:12px;line-height:16px;color:var(--tm);margin-top:2px}.keys-locked .stations-new,.keys-locked .st-actions .btn{opacity:.5}.st-table .st-seen{white-space:normal}.st-own{color:var(--tm)}.st-own-toggle{white-space:nowrap}.st-access{display:flex;flex-direction:column;gap:8px}.st-own-new{margin-top:10px}.station-dialog{width:460px}.station-dialog.wide{width:560px}.station-dialog .select-wrap{margin-top:0}.station-dialog .field-note{margin-top:10px}.key-line{display:block;height:auto;padding:7px 9px;resize:none;font-family:Consolas,Courier New,monospace;font-size:12px;line-height:17px;letter-spacing:.2px;word-break:break-all}.stations-setup{flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:13px;color:var(--tm)}.stations-setup b,.stations-setup-t{color:var(--text);font-weight:600}.stations-setup-version{margin-top:0;width:120px}.stations-setup-get{margin-left:auto}.stations-setup-missing{line-height:18px}.pkg-modules{display:flex;flex-wrap:wrap;gap:8px 18px}.pkg-hours{display:block;width:120px}.pkg-remote{display:flex;width:fit-content;margin-top:12px}.pkg-addresses{overflow-wrap:anywhere}.pkg-password{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 12px;padding:12px 10px;border-radius:8px;background:var(--muted);border:1px solid var(--field);font-family:Consolas,Courier New,monospace;font-size:22px;line-height:30px;font-weight:600;letter-spacing:2px;color:var(--text)}.pkg-group{white-space:nowrap}.pkg-password-note{color:var(--tm)}.pkg-actions .btn{white-space:nowrap}.stations-tabs,.settings-tabs{border-bottom:none;padding-left:0}.stations-tabs{margin-left:auto}.settings-tabs{padding:0 12px;border-bottom:1px solid var(--divider);overflow-x:auto;scrollbar-width:none}.settings-tabs::-webkit-scrollbar{display:none}.settings-tabs .tab{flex:none;white-space:nowrap}.st-name-btn{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:2px 4px 2px 0;border:none;background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:6px}.st-name-btn:hover .n{text-decoration:underline}.st-caret{flex:none;width:0;height:0;border-left:5px solid var(--tm);border-top:4px solid transparent;border-bottom:4px solid transparent;transition:transform .12s}.st-name-btn[aria-expanded=true] .st-caret{transform:rotate(90deg)}.st-kind{color:var(--tm)}.st-kind[data-kind=server],.st-kind[data-kind=editor]{color:var(--text);font-weight:600}.st-act-row{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px}.st-actions .btn.small{height:26px;padding:0 10px;white-space:nowrap}.users-table th:nth-child(1){width:28%}.users-table th:nth-child(2){width:15%}.users-table th:nth-child(3){width:13%}.users-table th:nth-child(4){width:14%}.users-table th:nth-child(5){width:30%}.st-menu-wrap{position:relative;display:inline-block}.st-more{width:30px;padding:0!important;justify-content:center}.st-more path{fill:currentColor}.st-menu-veil{position:fixed;inset:0;z-index:40}.st-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:41;min-width:190px;display:flex;flex-direction:column;padding:4px;background:var(--surface);border:1px solid var(--divider);border-radius:10px;box-shadow:0 8px 24px #00000029;text-align:left}.st-menu-item{height:32px;padding:0 10px;border:none;background:none;border-radius:6px;text-align:left;font:inherit;font-size:13px;color:var(--text);cursor:pointer;white-space:nowrap}.st-menu-item:hover:not(:disabled){background:var(--hover)}.st-menu-item:disabled{color:var(--tf);cursor:default}.st-menu-item.danger-text{color:var(--negative)}.st-table tr.st-details td{padding-top:0;box-shadow:none}.st-detail-list{margin:0 0 4px;padding:10px 12px;border-radius:8px;background:var(--muted);display:flex;flex-wrap:wrap;gap:8px 28px;font-size:12px}.st-detail-list>div{min-width:0}.st-detail-list dt{font-size:11px;font-weight:600;color:var(--tf);margin-bottom:2px}.st-detail-list dd{margin:0;color:var(--text);overflow-wrap:anywhere}.st-id{font-size:11px;color:var(--tm)}.loc-top{flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px 16px}.loc-top .loc-new{margin-left:auto}.loc-top path,.users-add path{fill:currentColor}.loc-card .card-head{flex-wrap:wrap;margin-bottom:10px}.loc-card .card-head .t{flex:none}.loc-card .loc-counts{flex:1 1 200px}.loc-card .loc-actions{display:flex;gap:6px}.loc-cats{display:flex;flex-direction:column;gap:6px}.loc-cat{width:fit-content;max-width:100%}.loc-cat-name{overflow-wrap:anywhere}.loc-cat-name.depth-1{padding-left:20px}.loc-cat-name.depth-2{padding-left:40px}.loc-cat-name.depth-3{padding-left:60px}.loc-cat-note{font-size:11px;color:var(--tf)}.users-card .card-head{flex-wrap:wrap}.users-card .card-head .t{flex:none}.users-card .card-head .s{flex:1 1 220px}.users-table{margin-bottom:10px}.users-table tr.off .n,.users-table tr.off .user-role{color:var(--tf)}.users-table .st-tag{margin-left:0}.user-code-row{display:flex;gap:8px}.user-code-row .modal-input{flex:1 1 auto;min-width:0;letter-spacing:1px}.settings-general,.settings-exchange,.settings-about{gap:10px}.settings-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;font-size:13px}.settings-k{flex:none;width:190px;color:var(--tm)}.settings-v{min-width:0;overflow-wrap:anywhere}.settings-actions{display:flex;flex-wrap:wrap;gap:8px}.settings-actions path{fill:currentColor}.settings-about .stations-setup{font-size:13px}.settings-about .stations-setup-get{margin-left:0}@media(max-width:599px){.stations-view .ed-head{flex-wrap:wrap}.stations-tabs{margin-left:0;flex:1 1 100%}.st-seen{white-space:normal}.st-table thead{display:none}.st-table,.st-table tbody{display:block}.st-table tr{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:10px 0;box-shadow:inset 0 1px 0 var(--divider)}.st-table td{display:block;padding:0;box-shadow:none;min-width:0}.st-table .st-name{grid-column:1 / -1}.st-table .st-playlist:before,.st-table .st-kind:before,.user-role:before,.user-state:before,.user-set:before{content:attr(data-label) ": ";color:var(--tf);font-weight:400}.st-table .st-actions{grid-column:1 / -1}.st-act-row{justify-content:flex-start}.st-table tr.st-details{display:block;padding:0 0 8px;box-shadow:none}.st-table tr.st-details td{display:block}.st-menu{position:fixed;inset:auto 16px 16px;min-width:0}.st-menu-item{height:40px}.stations-new,.stations-setup-get{margin-left:0;flex:1 1 100%}.pkg-password{font-size:19px;letter-spacing:1px;gap:4px 10px}.pkg-actions .btn{flex:1 1 100%}.loc-top .loc-new{margin-left:0;flex:1 1 100%}.loc-card .loc-actions,.users-add{flex:1 1 100%}.user-code-row{flex-direction:column}.settings-k{width:100%}}.place-filter{display:flex;align-items:center;gap:8px;padding:10px 10px 2px 14px}.place-label{flex:none;font-size:12px;font-weight:600;color:var(--tm)}.place-filter .select-wrap{flex:1 1 auto;min-width:0;height:28px}.place-filter .select-wrap select{height:28px;font-size:12px}.place-filter .select-wrap .chevron{top:12px}.loc-tag{flex:none;max-width:92px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:600;line-height:16px;padding:0 6px;border-radius:8px;background:var(--muted);color:var(--tm)}.node-text{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:1px}.node-text .node-name{flex:none;max-width:100%}.node-text .loc-tag{max-width:100%;line-height:14px}.node.group.tagged{height:auto;min-height:34px;padding-top:4px;padding-bottom:4px}.loc-picks{display:flex;flex-wrap:wrap;gap:8px 18px;padding:10px 12px;border-radius:8px;background:var(--muted)}.loc-picks.dim{opacity:.55}.loc-picks.dim .st-check{cursor:default}.loc-inherit{margin-bottom:8px}.loc-note{margin-top:6px}.scope-field .radio-row{margin-bottom:8px}.loc-start{display:flex;flex-direction:column;gap:8px}.loc-from{margin-left:22px}.field-note.warn{color:var(--warn)}.loc-card .st-tag:not(.warn){margin-left:0}
