/* Palette study: Catppuccin Latte (MIT). Original brass/copper workshop accents. */
:root{--readable-font:system-ui,-apple-system,"Segoe UI","Noto Sans CJK SC","Microsoft YaHei",sans-serif}
body :is(.node-card,.node-card *,#ip-quality-popup,#ip-quality-popup *,#unlock-backpack,#unlock-backpack *,#server-signal-popup,#server-signal-popup *,dialog,dialog *,.stat,.stat *,.tools,.tools *,.connection,.connection *,.visitor-chat-message,.visitor-chat-message *){font-family:var(--readable-font);text-shadow:none;font-synthesis:none;letter-spacing:normal}
.node-grid:not(.list) .node-name,.node-grid.list .node-name{font-size:16px;font-weight:650}
.node-grid:not(.list) .resource-grid .meter-label,.node-grid:not(.list) .resource-grid .meter-label strong,.node-grid:not(.list) .resource-grid .metric-foot{font-size:13px;line-height:1.5}
.node-grid:not(.list) .resource-grid .meter-label strong{font-weight:600}
.node-card :is(.metric-foot,.ping-summary,.card-network strong,.server-list-live){font-variant-numeric:tabular-nums}
.node-grid:not(.list) .route-badge .route-item-label{font-size:12px;font-weight:600}
:root:not([data-appearance=dark]){--bg:#e6e9ef;--surface:#fffdf8;--surface2:#e6e9ef;--ink:#35384e;--muted:#5c5f77;--line:#b5b6bd;--accent:#89602d;--accent-soft:#eee2cb;--shadow:#c5c6cb;--inventory:#eff1f5;--inventory-edge:#fffdf8;--slot:#fffdf8;--slot-bottom:#dce0e8;--panel-dark:#454557;--paper:#fffdf8;--btn-normal-inner-color:#e6e9ef;--btn-normal-inner-border-lt-color:#fff;--btn-normal-inner-border-br-color:#bcc0cc;--btn-normal-text-color:#35384e;--btn-normal-border-color:#9ca0b0;--btn-normal-inner-hover-color:#eee2cb;--btn-normal-text-hover-color:#35384e;--btn-primary-inner-color:#8c653a;--btn-primary-inner-hover-color:#a27848;--btn-primary-inner-shadow-color:#63492e;--btn-primary-inner-border-lt-color:#c9a875;--btn-primary-inner-border-br-color:#96703f}
:root:not([data-appearance=dark]) body{background:#e6e9ef;background-image:linear-gradient(#b8bac522 1px,transparent 1px),linear-gradient(90deg,#b8bac522 1px,transparent 1px);background-size:32px 32px}
:root:not([data-appearance=dark]) body:before{background:linear-gradient(#fff5,transparent 500px)}
:root:not([data-appearance=dark]) .topbar{background:#e6e9ef;border-bottom:3px solid #9e805c;color:#35384e;box-shadow:inset 0 -1px #fff}
:root:not([data-appearance=dark]) .brand strong{text-shadow:none;color:#35384e}
:root:not([data-appearance=dark]) :is(.brand small,.nav-current){color:#5c5f77;text-shadow:none}
:root:not([data-appearance=dark]) .nav-current{border-color:#a47a48}
:root:not([data-appearance=dark]) :is(.server-section,.summary){background:#dce0e8;border-color:#9ca0b0;box-shadow:inset 2px 2px #fff,0 3px #bcc0cc}
:root:not([data-appearance=dark]) .section-heading{background:#eff1f5;color:#35384e;border-color:#bcc0cc}
:root:not([data-appearance=dark]) :is(.section-heading .small,.connection,.inventory-footer,.footer,.section-marker){color:#5c5f77;text-shadow:none}
:root:not([data-appearance=dark]) .node-card{--ink:#35384e;--muted:#5c5f77;--slot:#fffdf8;background:#fffdf8;border-color:#aaaab4;box-shadow:inset 1px 1px #fff,2px 2px #c6c8ce;color:#35384e}
:root:not([data-appearance=dark]) .node-card:before{background:#ae8750}
:root:not([data-appearance=dark]) .card-heading{border-color:#dce0e8;box-shadow:none}
:root:not([data-appearance=dark]) .node-card :is(.node-meta,.metric-foot,.meter-label,.node-facts,.card-network,.latency-heading,.latency-note,.card-bottom){color:#5c5f77}
:root:not([data-appearance=dark]) .node-card :is(.node-name,.meter-label strong,.card-network strong){color:#35384e}
:root:not([data-appearance=dark]) :is(.stat,.route-badge){background:#eff1f5;border-color:#bcc0cc;box-shadow:inset 1px 1px #fff}
:root:not([data-appearance=dark]) .card-network{background:#f0ece5;border-color:#c9bba7;box-shadow:inset 1px 1px #fff}
:root:not([data-appearance=dark]) .tag{background:#e6e9ef;color:#5c5f77;border-color:#ccd0da}
:root:not([data-appearance=dark]) .badge{background:#e2eddf;color:#2e6427;border-color:#a9bca3;box-shadow:none}
:root:not([data-appearance=dark]) .offline .badge{background:#e6e9ef;color:#5c5f77}
:root:not([data-appearance=dark]) .toolbar{border-color:#bcc0cc;box-shadow:none}
:root:not([data-appearance=dark]) .tab.active{background:#89643d;color:#fffaf0;border-color:#6e5132;box-shadow:inset 1px 1px #c9a875;text-shadow:none}
:root:not([data-appearance=dark]) :is(.search .form-input,.tools select.form-input){background:#fffdf8;color:#35384e;border-color:#9ca0b0;box-shadow:inset 1px 1px #dce0e8}
:root:not([data-appearance=dark]) :is(.risk-low,.ping-green){color:#2d6a36}
:root:not([data-appearance=dark]) :is(.risk-mid,.ping-yellow){color:#8c5c16}
:root:not([data-appearance=dark]) :is(.risk-high,.ping-red){color:#b02e43}
.workshop-gear{display:inline-block;width:19px;height:19px;vertical-align:-4px;margin-right:4px;color:#aa8249;animation:workshop-turn var(--gear-speed,8s) linear infinite;filter:drop-shadow(1px 1px #0003)}
.workshop-gear svg{display:block;width:100%;height:100%}
.node-card .card-network{position:relative;border-top:3px solid #a47a48}
.node-card .card-network:before,.node-card .card-network:after{content:"";position:absolute;top:-3px;width:5px;height:5px;border:1px solid #604c36;background:#d1ae77;pointer-events:none}.node-card .card-network:before{left:4px}.node-card .card-network:after{right:4px}
@keyframes workshop-turn{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.workshop-gear{animation:none}}
.craft-no-miners .workshop-gear{animation:none}
.workshop-icon{display:inline-flex;width:20px;height:20px;flex:0 0 20px;vertical-align:middle;margin-right:4px;align-items:center;justify-content:center}
.workshop-icon svg{width:20px;height:20px;overflow:visible;display:block}
.workshop-icon.workshop-gear{transform-origin:50% 50%;filter:none;vertical-align:middle}
.node-card .meter-label>span,.node-card .card-network>div>span{display:inline-flex;align-items:center;white-space:nowrap}
:root:not([data-appearance=dark]) .section-heading h2,:root:not([data-appearance=dark]) #server-title{color:#35384e;text-shadow:none}
:root:not([data-appearance=dark]) #count-badge{color:#53432d;background:#eee2cb;border-color:#af9470;box-shadow:none}
:root:not([data-appearance=dark]) .connection{background:#eff1f5;color:#4c4f69;border-color:#bcc0cc;box-shadow:none}
:root:not([data-appearance=dark]) .connection #last-update{color:#5c5f77}
/* Signal conveyor: each tread retains its real sample color. */
.ping-history .ping-block{border-top:1px solid #ffffff65;border-bottom:2px solid #0005;box-shadow:inset 1px 0 #0003,inset -1px 0 #0003;position:relative}
.ping-history .ping-block:after{content:"";position:absolute;left:40%;top:1px;width:2px;height:2px;background:#ffffff55}
.ping-history .ping-state-orange,.ping-legend>.orange{background:#c77824}
.ping-orange,.latency-row .ping-orange{color:#a45512}
[data-appearance=dark] .ping-orange{color:#f5ad64}
.loss-skull{width:18px;height:18px;flex:0 0 18px;vertical-align:middle;margin-right:4px;image-rendering:pixelated}
.ping-summary>.ping-loss{display:flex;align-items:center;justify-content:flex-end;white-space:nowrap}
.loss-track{border-color:#8b8175;background:repeating-linear-gradient(90deg,#91887533 0,#91887533 6px,transparent 6px,transparent 8px)}
.node-grid:not(.list) .card-network>div>span{display:flex;align-items:center;gap:5px;line-height:20px;min-height:20px}.node-card .card-network .workshop-icon{margin:0;vertical-align:middle;transform:none;flex:0 0 20px}.node-card .card-network .workshop-icon svg{width:20px;height:20px;display:block}
