@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Inter:wght@400;500;600;700&family=Source+Code+Pro:wght@400;500;600&display=swap");@import url("https://cdn.jsdelivr.net/npm/flag-icons@7.2.3/css/flag-icons.min.css");:root{--bg:oklch(0.165 0.013 50);--bg-elev:oklch(0.195 0.014 50);--card:oklch(0.215 0.016 50);--card-2:oklch(0.245 0.016 50);--inset:oklch(0.275 0.015 50);--text:oklch(0.95 0.008 75);--text-dim:oklch(0.83 0.012 70);--text-muted:oklch(0.72 0.022 62);--text-faint:oklch(0.58 0.022 58);--border:oklch(0.83 0.045 62/0.12);--border-strong:oklch(0.83 0.045 62/0.22);--ring:oklch(0.83 0.045 62/0.08);--copper:oklch(0.66 0.16 45);--copper-soft:oklch(0.75 0.11 52);--patina:oklch(0.70 0.11 168);--patina-soft:oklch(0.79 0.09 168);--bronze:oklch(0.77 0.16 88);--bronze-soft:oklch(0.84 0.11 90);--online:oklch(0.72 0.10 207);--online-soft:oklch(0.81 0.08 207);--danger:oklch(0.64 0.18 22);--danger-soft:oklch(0.75 0.13 25);--primary:var(--copper);--primary-soft:var(--copper-soft);--radius-card:1.25rem;--radius-tile:0.9rem;--radius-lg:1.5rem;--radius-sm:0.6rem;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;--font-heading:"DM Sans",var(--font-sans);--font-mono:"Source Code Pro","JetBrains Mono",monospace;--shadow-card:0 1px 2px rgba(0,0,0,0.25),0 12px 30px -18px rgba(0,0,0,0.55);--shadow-pop:0 1px 3px rgba(0,0,0,0.3),0 30px 70px -28px rgba(0,0,0,0.72)}*{margin:0;padding:0;box-sizing:border-box}body,html{font-family:var(--font-sans);color:var(--text);min-height:100vh;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-user-select:none;user-select:none;-webkit-user-select:none}body{background:var(--bg);position:relative;isolation:isolate}.selectable,input,textarea{-moz-user-select:text;user-select:text;-webkit-user-select:text}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse 100% 60% at 50% -15%,color-mix(in srgb,var(--copper) 9%,transparent),transparent 70%),radial-gradient(ellipse 90% 55% at 90% 8%,color-mix(in srgb,var(--patina) 6%,transparent),transparent 75%)}button{font-family:inherit}.container{max-width:1480px;margin:0 auto;padding:3rem 2.5rem 4rem;position:relative;z-index:1}.header{gap:1rem;margin-bottom:3rem}.brand,.header{display:flex;align-items:center}.brand{gap:.9rem}.brand-mark{width:52px;height:52px;flex-shrink:0;background:linear-gradient(145deg,var(--bronze-soft),var(--copper) 55%,oklch(.5 .1 40));-webkit-mask:url(/logo.svg) no-repeat center/contain;mask:url(/logo.svg) no-repeat center/contain;filter:drop-shadow(0 4px 12px color-mix(in srgb,var(--copper) 30%,transparent))}h1{font-family:var(--font-heading);font-size:2.1rem;font-weight:600;color:var(--text);letter-spacing:-.02em;line-height:1}.header-spacer{flex:1 1}.header-action{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dim);font-size:.85rem;font-weight:500;padding:.6rem 1rem;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;transition:color .18s ease,border-color .18s ease,background .18s ease}.header-action:hover{color:var(--text);border-color:var(--border-strong);background:var(--card-2)}.header-action:disabled{opacity:.5;cursor:not-allowed}.header-action svg{width:16px;height:16px;flex-shrink:0;display:block}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.section-head{display:flex;align-items:baseline;gap:1rem;margin-bottom:1.5rem}h2{font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.15em}.section-head .count-pill{font-family:var(--font-mono);font-size:.75rem;color:var(--copper);background:color-mix(in srgb,var(--copper) 12%,transparent);border:1px solid color-mix(in srgb,var(--copper) 25%,transparent);padding:.2rem .6rem;border-radius:999px;font-weight:500}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1rem;gap:1rem;margin-bottom:3.5rem}@media (max-width:1100px){.stats{grid-template-columns:minmax(0,1fr);max-width:560px;margin-left:auto;margin-right:auto}}.stat-card{position:relative;background:var(--card);border-radius:var(--radius-card);padding:1.4rem 1.5rem;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease;isolation:isolate;display:flex;flex-direction:column;box-shadow:var(--shadow-card),inset 0 0 0 1px var(--ring);height:256px;container-type:size}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card),inset 0 0 0 1px var(--border-strong)}.stat-card .accent{position:absolute;top:-45%;right:-22%;width:170px;height:170px;border-radius:50%;filter:blur(46px);opacity:.1;pointer-events:none;z-index:-1;transition:opacity .3s ease}.stat-card:hover .accent{opacity:.18}.stat-card.copper .accent{background:var(--copper)}.stat-card.patina .accent{background:var(--patina)}.stat-card.bronze .accent{background:var(--bronze)}.stat-card.online .accent{background:var(--online)}.stat-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.stat-label{font-size:clamp(9px,2.6cqi,11px);text-transform:uppercase;letter-spacing:.14em;font-weight:600;color:var(--text-faint)}.stat-icon{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:.7rem;background:color-mix(in srgb,var(--text) 5%,transparent);color:var(--text-muted)}.stat-icon svg{width:18px;height:18px;display:block}.copper .stat-icon{color:var(--copper);background:color-mix(in srgb,var(--copper) 16%,transparent)}.patina .stat-icon{color:var(--patina);background:color-mix(in srgb,var(--patina) 16%,transparent)}.bronze .stat-icon{color:var(--bronze);background:color-mix(in srgb,var(--bronze) 16%,transparent)}.online .stat-icon{color:var(--online);background:color-mix(in srgb,var(--online) 16%,transparent)}.stat-value{font-size:clamp(21px,6.5cqi,27px);color:var(--text);font-family:var(--font-mono);font-weight:600;letter-spacing:-.01em;line-height:1.1}.stat-value.danger{color:var(--danger-soft)}.stat-value.muted{color:var(--text-faint)}.stat-sub{margin-top:.55rem;font-size:clamp(10px,2.9cqi,12.5px);color:var(--text-muted)}.stat-foot,.stat-sub{font-family:var(--font-mono)}.stat-foot{margin-top:.6rem;font-size:clamp(9px,2.7cqi,11.5px);color:var(--text-faint)}.stat-foot-row{margin-top:1.1rem;display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.stat-foot-row .foot-item{display:flex;flex-direction:column;gap:.45rem;min-width:0}.stat-foot-row .dim{color:var(--text-faint);text-transform:uppercase;letter-spacing:.12em;font-size:clamp(8px,2.3cqi,10px);font-weight:600;white-space:nowrap}.stat-foot-row .mono{font-family:var(--font-mono);font-size:clamp(10px,2.9cqi,12.5px);color:var(--text-dim);overflow-wrap:anywhere}.split-card .split-body{margin-top:auto;display:flex;align-items:stretch;gap:1rem}.sync-card .stat-value{margin-top:auto}.split-card .split-block{flex:1 1;display:flex;flex-direction:column;gap:.2rem}.split-card .split-block .stat-value{font-size:clamp(23px,7cqi,29.5px)}.split-card .split-block .stat-sub{margin-top:.15rem;text-transform:uppercase;letter-spacing:.1em;font-size:clamp(9px,2.6cqi,11px);color:var(--text-faint);font-weight:600}.split-card .split-divider{width:1px;background:var(--border);align-self:stretch}.sync-card .refresh-body{display:flex;align-items:center;gap:1.1rem;margin-top:auto}.sync-card .refresh-info{flex:1 1;display:flex;flex-direction:column;gap:.4rem;min-width:0}.sync-card .refresh-line{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem;font-size:.78rem;color:var(--text-muted)}.sync-card .refresh-line .dim{color:var(--text-faint);text-transform:uppercase;letter-spacing:.1em;font-size:.65rem;font-weight:600}.sync-card .refresh-line .mono{font-family:var(--font-mono);color:var(--text)}.refresh-card-btn,.sync-card .refresh-line .mono.strong{color:var(--patina-soft);font-weight:600}.refresh-card-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .95rem;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--patina) 14%,transparent);border:1px solid color-mix(in srgb,var(--patina) 30%,transparent);font-family:inherit;font-size:.85rem;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease;white-space:nowrap;line-height:1}.refresh-card-btn svg{width:16px;height:16px;display:block;flex-shrink:0}.refresh-card-btn:hover:not(:disabled){background:color-mix(in srgb,var(--patina) 20%,transparent);border-color:color-mix(in srgb,var(--patina) 45%,transparent);color:var(--patina)}.refresh-card-btn:disabled{opacity:.6;cursor:not-allowed}.circular{position:relative;flex-shrink:0;width:96px;height:96px;overflow:visible}.circular svg{display:block;overflow:visible;transform-origin:center}.circular .track{stroke:color-mix(in srgb,var(--text) 7%,transparent)}.circular .fill{stroke:var(--text-faint);transition:stroke-dashoffset .5s ease,stroke .3s ease}.circular.active .fill{stroke:var(--patina)}.circular.active svg{animation:circular-rotate 6s linear infinite;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--patina) 45%,transparent))}@keyframes circular-rotate{to{transform:rotate(1turn)}}.circular-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);color:var(--text-muted);pointer-events:none}.circular.active .circular-label{color:var(--text)}.circular-value{font-size:clamp(16px,4.8cqi,20px);font-weight:700;letter-spacing:-.02em;line-height:1}.stat-bar{margin-top:1rem;height:4px;border-radius:999px;background:color-mix(in srgb,var(--text) 5%,transparent);overflow:hidden;position:relative}.stat-bar-fill{height:100%;border-radius:999px;transition:width .5s ease}.copper .stat-bar-fill{background:var(--copper)}.patina .stat-bar-fill{background:var(--patina)}.bronze .stat-bar-fill{background:var(--bronze)}.online .stat-bar-fill{background:var(--online)}.stat-foot-row.reach-foot{grid-template-columns:repeat(3,1fr)}.stat-foot-row .mono.danger{color:var(--danger-soft)}.resources-gauges{flex:1 1;display:flex;align-items:center;justify-content:space-evenly;gap:.75rem;padding:.2rem 0}.arc-gauge{flex:1 1;min-width:0;max-width:184px;aspect-ratio:200/140;overflow:visible}.arc-track{stroke:color-mix(in srgb,var(--text) 8%,transparent)}.arc-fill{stroke:var(--bronze);filter:drop-shadow(0 0 5px color-mix(in srgb,var(--bronze) 38%,transparent));transition:stroke-dashoffset .7s cubic-bezier(.16,1,.3,1)}.arc-value{fill:var(--text);font-family:var(--font-mono);font-size:30px;font-weight:600;letter-spacing:-.5px}.arc-cap{fill:var(--text-faint);font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:1.6px}.server-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:.85rem;gap:.85rem}.server-btn{background:linear-gradient(165deg,color-mix(in srgb,var(--card-2) 50%,var(--card)),var(--card) 65%);border:1px solid var(--border);border-radius:var(--radius-tile);padding:.75rem .95rem;color:var(--text-faint);font-family:var(--font-sans);font-size:1rem;font-weight:500;text-align:left;cursor:default;transition:transform .2s ease,border-color .2s ease,box-shadow .25s ease,background .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;display:flex;flex-direction:column;gap:.35rem;position:relative;overflow:hidden;isolation:isolate;box-shadow:0 1px 2px rgba(0,0,0,.22),0 5px 14px -10px rgba(0,0,0,.5),inset 0 1px 0 color-mix(in srgb,var(--text) 5%,transparent)}.server-btn .top{display:flex;align-items:center;gap:.65rem;min-width:0;padding-left:.1rem}.server-btn .flag{font-size:1.1rem;flex-shrink:0;border-radius:2px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text) 8%,transparent);filter:saturate(.6) brightness(.82);transition:filter .2s ease}.server-btn .name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem}.server-btn .code{font-size:.7rem;padding:.18rem .45rem;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--text) 4%,transparent);letter-spacing:.05em}.server-btn .code,.server-btn .meta{color:var(--text-faint);font-family:var(--font-mono)}.server-btn .meta{display:flex;align-items:center;font-size:.75rem}.server-btn .meta-right{display:flex;align-items:center;gap:.45rem;margin-left:auto;text-transform:lowercase;letter-spacing:.02em}.server-btn .status-dot{width:6px;height:6px;border-radius:50%;background:var(--text-faint)}.server-btn.active{border-color:color-mix(in srgb,var(--patina) 28%,transparent);color:var(--text);cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.25),0 7px 18px -10px rgba(0,0,0,.55),inset 0 1px 0 color-mix(in srgb,var(--text) 6%,transparent)}.server-btn.active .flag{filter:saturate(.95) brightness(.98)}.server-btn.active .code{color:var(--patina-soft);background:color-mix(in srgb,var(--patina) 10%,transparent);border:1px solid color-mix(in srgb,var(--patina) 20%,transparent)}.server-btn.active .meta{color:var(--patina-soft)}.server-btn.active .status-dot{background:var(--patina);box-shadow:0 0 7px color-mix(in srgb,var(--patina) 55%,transparent)}.server-btn.active:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--patina) 52%,transparent);box-shadow:0 3px 6px rgba(0,0,0,.32),0 14px 30px -12px color-mix(in srgb,var(--patina) 34%,transparent),inset 0 1px 0 color-mix(in srgb,var(--text) 10%,transparent)}.server-btn .ping{font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted);background:color-mix(in srgb,var(--text) 5%,transparent);border:1px solid var(--border);padding:1px 6px;border-radius:var(--radius-sm);letter-spacing:.01em}.server-btn.active .ping{color:var(--patina-soft);background:color-mix(in srgb,var(--patina) 8%,transparent);border-color:color-mix(in srgb,var(--patina) 16%,transparent)}.server-btn.available{border-color:color-mix(in srgb,var(--bronze) 26%,transparent);color:var(--text);cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.25),0 7px 18px -10px rgba(0,0,0,.55),inset 0 1px 0 color-mix(in srgb,var(--text) 6%,transparent)}.server-btn.available .flag{filter:saturate(.85) brightness(.95)}.server-btn.available .code{color:var(--bronze-soft);background:color-mix(in srgb,var(--bronze) 10%,transparent);border:1px solid color-mix(in srgb,var(--bronze) 20%,transparent)}.server-btn.available .meta{color:var(--bronze-soft)}.server-btn.available .status-dot{background:var(--bronze);box-shadow:0 0 7px color-mix(in srgb,var(--bronze) 55%,transparent)}.server-btn.available:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--bronze) 52%,transparent);box-shadow:0 3px 6px rgba(0,0,0,.32),0 14px 30px -12px color-mix(in srgb,var(--bronze) 34%,transparent),inset 0 1px 0 color-mix(in srgb,var(--text) 10%,transparent)}.modal-overlay{position:fixed;inset:0;background:color-mix(in srgb,var(--bg) 72%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:100;display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:fade-in .2s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{position:relative;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:640px;overflow:hidden;box-shadow:var(--shadow-pop),inset 0 0 0 1px var(--ring);animation:modal-in .25s cubic-bezier(.16,1,.3,1)}@keyframes modal-in{0%{opacity:0;transform:scale(.96) translateY(14px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-flag{text-align:center;padding:2rem 1.5rem .5rem;line-height:1;position:relative}.modal-flag .fi{font-size:4rem;border-radius:5px;box-shadow:0 6px 22px rgba(0,0,0,.45),inset 0 0 0 1px color-mix(in srgb,var(--text) 10%,transparent)}.modal-title{text-align:center;padding:0 1.5rem 1.5rem;position:relative}.modal-title h3{font-family:var(--font-heading);font-size:1.35rem;font-weight:600;color:var(--text);letter-spacing:-.01em;margin-bottom:.45rem}.modal-title .country-code{font-family:var(--font-mono);font-size:.75rem;color:var(--copper-soft);letter-spacing:.15em;background:color-mix(in srgb,var(--copper) 12%,transparent);border:1px solid color-mix(in srgb,var(--copper) 22%,transparent);padding:.2rem .6rem;border-radius:999px;display:inline-block}.modal-close{position:absolute;top:.85rem;right:.85rem;width:36px;height:36px;background:color-mix(in srgb,var(--text) 4%,transparent);border:1px solid var(--border);border-radius:.7rem;color:var(--text-muted);cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease;display:inline-flex;align-items:center;justify-content:center;padding:0;z-index:2}.modal-close svg{width:16px;height:16px;display:block}.modal-close:hover{color:var(--text);background:color-mix(in srgb,var(--text) 8%,transparent);border-color:var(--border-strong)}.modal-row{display:flex;align-items:center;gap:1.5rem;padding:.55rem 1rem;border-radius:var(--radius-sm);background:var(--card-2);border:1px solid var(--border);transition:background .15s ease,border-color .15s ease}.modal-row:hover{background:color-mix(in srgb,var(--copper) 6%,var(--card-2));border-color:color-mix(in srgb,var(--copper) 20%,transparent)}.modal-row .label{flex-shrink:0;color:var(--text-faint);font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;width:70px}.modal-row .value{flex:1 1;color:var(--text);font-family:var(--font-mono);font-size:.88rem;overflow-wrap:anywhere;-moz-user-select:none;user-select:none;-webkit-user-select:none;text-align:right}.modal-row .copy-btn{flex-shrink:0;background:transparent;border:1px solid var(--border);color:var(--text-muted);border-radius:.55rem;width:30px;height:30px;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease;display:inline-flex;align-items:center;justify-content:center;padding:0}.modal-row .copy-btn svg{width:14px;height:14px;display:block}.modal-row .copy-btn:hover{color:var(--copper);border-color:color-mix(in srgb,var(--copper) 30%,transparent);background:color-mix(in srgb,var(--copper) 10%,transparent)}.modal-row .copy-btn.copied{color:var(--patina);border-color:color-mix(in srgb,var(--patina) 40%,transparent);background:color-mix(in srgb,var(--patina) 14%,transparent)}.modal-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-gap:.85rem;gap:.85rem;padding:0 1.5rem 1.5rem}.modal-creds{gap:.45rem}.modal-creds,.modal-tests{display:flex;flex-direction:column;min-width:0}.modal-tests{gap:.6rem}.copy-url-btn{width:100%;margin-top:.4rem;padding:.7rem 1rem;background:color-mix(in srgb,var(--copper) 10%,transparent);border:1px solid color-mix(in srgb,var(--copper) 22%,transparent);border-radius:var(--radius-sm);color:var(--copper-soft);font-family:inherit;font-weight:600;font-size:.78rem;letter-spacing:.03em;cursor:pointer;transition:color .18s ease,border-color .18s ease,background .18s ease,transform .18s ease;display:inline-flex;align-items:center;justify-content:center;gap:.55rem}.copy-url-btn svg{width:14px;height:14px}.copy-url-btn:hover{background:color-mix(in srgb,var(--copper) 16%,transparent);border-color:color-mix(in srgb,var(--copper) 38%,transparent);color:var(--copper)}.copy-url-btn.copied{background:color-mix(in srgb,var(--patina) 14%,transparent);border-color:color-mix(in srgb,var(--patina) 32%,transparent);color:var(--patina-soft)}.test-card{position:relative;background:var(--card-2);border:1px solid var(--border);border-radius:.9rem;padding:.85rem .95rem .95rem;display:flex;flex-direction:column;gap:.55rem;overflow:hidden;transition:border-color .25s ease,background .25s ease;flex:1 1;min-height:0}.test-card-head{display:flex;align-items:center;gap:.55rem;color:var(--text-muted);transition:color .25s ease}.test-card-head .icon{width:22px;height:22px;flex-shrink:0}.test-card-label{font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.test-card-value{font-size:1.05rem;font-weight:600;color:var(--text);font-family:var(--font-mono);letter-spacing:.005em;transition:color .25s ease}.test-card-btn{align-self:stretch;margin-top:auto;background:transparent;border:1px solid var(--border);border-radius:.55rem;color:var(--text-dim);padding:.4rem .7rem;font-family:inherit;font-weight:600;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease;display:inline-flex;align-items:center;justify-content:center;min-height:32px}.test-card-btn:hover:not(:disabled){color:var(--copper);border-color:color-mix(in srgb,var(--copper) 30%,transparent);background:color-mix(in srgb,var(--copper) 10%,transparent)}.test-card-btn:disabled{opacity:.6;cursor:not-allowed}.test-card.busy{border-color:color-mix(in srgb,var(--copper) 22%,transparent);background:color-mix(in srgb,var(--copper) 4%,var(--card-2))}.test-card.busy .test-card-head{color:var(--copper)}.test-card.busy .test-card-value{color:var(--copper-soft);animation:action-pulse 1.2s ease-in-out infinite}.test-card.ok{border-color:color-mix(in srgb,var(--patina) 26%,transparent)}.test-card.ok .test-card-head,.test-card.ok .test-card-value{color:var(--patina-soft)}.test-card.failed{border-color:color-mix(in srgb,var(--danger) 28%,transparent)}.test-card.failed .test-card-head,.test-card.failed .test-card-value{color:var(--danger-soft)}@property --card-angle{syntax:"<angle>";initial-value:0deg;inherits:false}.test-card.busy:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:2px;background:conic-gradient(from var(--card-angle,0deg),var(--copper) 0deg,var(--copper) 6deg,transparent 6deg,transparent 306deg,color-mix(in srgb,var(--copper) 45%,transparent) 350deg,var(--copper) 1turn);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:card-orbit 1.5s linear infinite;pointer-events:none}@keyframes card-orbit{to{--card-angle:360deg}}@keyframes action-pulse{0%,to{opacity:.55}50%{opacity:1}}.ping-icon{color:inherit}.ping-icon .ring{fill:none;stroke:currentColor;stroke-width:1.4;opacity:.45;transform-origin:center}.ping-icon.active .ring{animation:ping-ripple 1.6s ease-out infinite;opacity:0}.ping-icon.active .ring:first-of-type{animation-delay:0s}.ping-icon.active .ring:nth-of-type(2){animation-delay:.45s}.ping-icon.active .ring:nth-of-type(3){animation-delay:.9s}@keyframes ping-ripple{0%{transform:scale(.55);opacity:0}15%{opacity:.85}to{transform:scale(1.35);opacity:0}}.speed-icon .bar{transform-box:fill-box;transform-origin:50% 100%;transition:transform .3s ease}.speed-icon.active .bar{animation:speed-bar .9s ease-in-out infinite}.speed-icon.active .bar-1{animation-delay:0s}.speed-icon.active .bar-2{animation-delay:.1s}.speed-icon.active .bar-3{animation-delay:.2s}.speed-icon.active .bar-4{animation-delay:.3s}@keyframes speed-bar{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}.spinner{display:inline-block;width:12px;height:12px;border:1.5px solid;border-top:1.5px solid transparent;border-radius:50%;animation:spinner-rotate .8s linear infinite}@keyframes spinner-rotate{to{transform:rotate(1turn)}}.empty{text-align:center;color:var(--text-muted);padding:4rem 2rem;font-size:.9rem;border:1px dashed var(--border);border-radius:var(--radius-card)}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;position:relative;z-index:1}.login-card{width:100%;max-width:380px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2.5rem 2rem 2rem;box-shadow:var(--shadow-pop),inset 0 0 0 1px var(--ring);position:relative;overflow:hidden}.login-card:before{content:"";position:absolute;top:-1px;left:28%;right:28%;height:1px;background:linear-gradient(90deg,transparent,var(--copper),transparent);opacity:.6}.login-brand{display:flex;flex-direction:column;align-items:center;margin-bottom:1.5rem}.login-brand .brand-mark{margin-bottom:.5rem}.login-card h1{text-align:center;margin-bottom:.4rem;font-size:1.5rem}.login-card .subtitle{text-align:center;color:var(--text-muted);font-size:.85rem;margin-bottom:2rem}.login-form{display:flex;flex-direction:column;gap:1rem}.login-form label{color:var(--text-dim);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;margin-bottom:.45rem;display:block}.login-form input{width:100%;background:var(--inset);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.8rem 1rem;color:var(--text);font-family:inherit;font-size:.95rem;transition:border-color .18s ease,box-shadow .18s ease}.login-form input:focus{outline:none;border-color:color-mix(in srgb,var(--copper) 55%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--copper) 16%,transparent)}.login-form button{background:var(--copper);color:oklch(.2 .03 45);border:none;border-radius:var(--radius-sm);padding:.85rem 1rem;font-weight:700;font-size:.95rem;cursor:pointer;transition:background .18s ease,transform .18s ease,box-shadow .18s ease;margin-top:.5rem;box-shadow:0 8px 22px -12px color-mix(in srgb,var(--copper) 70%,transparent);letter-spacing:.01em}.login-form button:hover{background:var(--copper-soft);transform:translateY(-1px);box-shadow:0 12px 28px -12px color-mix(in srgb,var(--copper) 75%,transparent)}.login-form button:active{transform:translateY(0)}.login-form button:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-error{background:color-mix(in srgb,var(--danger) 12%,transparent);border:1px solid color-mix(in srgb,var(--danger) 28%,transparent);color:var(--danger-soft);padding:.7rem .85rem;border-radius:var(--radius-sm);font-size:.82rem}.node-foot{display:flex;align-items:center;gap:.5rem;font-size:.72rem;color:var(--text-faint);font-family:var(--font-mono)}.node-foot .sep{opacity:.4}.node-foot .grow{margin-left:auto}.modal.wide{max-width:760px}.editor-body{padding:0 1.5rem 1.5rem;gap:.85rem;max-height:min(70vh,640px);overflow-y:auto}.editor-body,.iface-card{display:flex;flex-direction:column}.iface-card{background:var(--card-2);border:1px solid var(--border);border-radius:var(--radius-tile);padding:.9rem 1rem 1rem;gap:.75rem}.iface-head{display:flex;align-items:center;gap:.75rem}.field-label{color:var(--text-faint);font-weight:600;font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;white-space:nowrap}.text-input{flex:1 1;min-width:0;background:var(--inset);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.55rem .75rem;color:var(--text);font-family:var(--font-mono);font-size:.85rem;transition:border-color .18s ease,box-shadow .18s ease}.text-input:focus{outline:none;border-color:color-mix(in srgb,var(--copper) 55%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--copper) 16%,transparent)}.select{background:var(--inset);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.5rem .7rem;color:var(--text);font-family:inherit;font-size:.82rem;cursor:pointer}.select:focus{outline:none;border-color:color-mix(in srgb,var(--copper) 55%,transparent)}.ob-list{display:flex;flex-direction:column;gap:.4rem}.ob-empty{color:var(--text-faint);font-size:.78rem;padding:.5rem .2rem}.ob-chip{display:flex;align-items:center;gap:.6rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.4rem .5rem .4rem .65rem}.ob-rank{font-family:var(--font-mono);font-size:.7rem;color:var(--copper-soft);width:1.4rem;flex-shrink:0}.ob-chip .fi{font-size:1rem;border-radius:2px;flex-shrink:0;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text) 8%,transparent)}.ob-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;color:var(--text)}.ob-code{font-family:var(--font-mono);font-size:.7rem;color:var(--text-faint)}.ob-actions{display:flex;align-items:center;gap:.25rem;margin-left:.25rem}.icon-btn{background:transparent;border:1px solid var(--border);color:var(--text-muted);border-radius:.5rem;width:28px;height:28px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;font-family:var(--font-mono);font-size:.9rem;line-height:1;transition:color .15s ease,border-color .15s ease,background .15s ease}.icon-btn:hover:not(:disabled){color:var(--copper);border-color:color-mix(in srgb,var(--copper) 30%,transparent);background:color-mix(in srgb,var(--copper) 10%,transparent)}.icon-btn.danger:hover:not(:disabled){color:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 35%,transparent);background:color-mix(in srgb,var(--danger) 12%,transparent)}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.add-row{display:flex;align-items:center;gap:.5rem}.add-row .select{flex:1 1}.btn{border-radius:var(--radius-sm);padding:.6rem 1rem;font-family:inherit;font-weight:600;font-size:.82rem;cursor:pointer;border:1px solid var(--border);background:var(--card-2);color:var(--text-dim);transition:color .15s ease,border-color .15s ease,background .15s ease,transform .15s ease;display:inline-flex;align-items:center;justify-content:center;gap:.45rem}.btn:hover:not(:disabled){color:var(--text);border-color:var(--border-strong);background:var(--inset)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--copper);color:oklch(.2 .03 45);border-color:transparent;box-shadow:0 8px 22px -12px color-mix(in srgb,var(--copper) 70%,transparent)}.btn.primary:hover:not(:disabled){background:var(--copper-soft);color:oklch(.2 .03 45);transform:translateY(-1px)}.btn.danger{color:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 30%,transparent);background:color-mix(in srgb,var(--danger) 8%,transparent)}.btn.danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 16%,transparent);border-color:color-mix(in srgb,var(--danger) 45%,transparent)}.add-iface-btn,.btn.ghost{background:transparent}.add-iface-btn{border:1px dashed var(--border-strong);color:var(--text-muted);border-radius:var(--radius-tile);padding:.7rem 1rem;font-family:inherit;font-weight:600;font-size:.8rem;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.add-iface-btn:hover{color:var(--copper);border-color:color-mix(in srgb,var(--copper) 35%,transparent);background:color-mix(in srgb,var(--copper) 6%,transparent)}.editor-actions{display:flex;align-items:center;gap:.6rem;padding:1rem 1.5rem 1.5rem;border-top:1px solid var(--border);margin-top:.25rem}.editor-actions .grow{flex:1 1}.iface-empty{color:var(--text-faint);font-size:.82rem;text-align:center;padding:1.5rem 1rem;border:1px dashed var(--border);border-radius:var(--radius-tile)}.editor-error{background:color-mix(in srgb,var(--danger) 12%,transparent);border:1px solid color-mix(in srgb,var(--danger) 28%,transparent);color:var(--danger-soft);padding:.55rem .75rem;border-radius:var(--radius-sm);font-size:.8rem;margin:0 1.5rem}.node-status{display:inline-flex;align-items:center;gap:.4rem;text-transform:lowercase;letter-spacing:.02em}.picker{position:relative}.picker-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;background:var(--inset);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.55rem .8rem;color:var(--text-muted);font-family:inherit;font-size:.82rem;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.picker-trigger:hover:not(:disabled){color:var(--text);border-color:color-mix(in srgb,var(--copper) 35%,transparent);background:color-mix(in srgb,var(--copper) 6%,var(--inset))}.picker-trigger:disabled{opacity:.5;cursor:not-allowed}.picker-caret{font-size:.7rem;color:var(--text-faint)}.picker-panel{margin-top:.4rem;background:var(--card);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-pop);overflow:hidden;display:flex;flex-direction:column}.picker-search{border:none;border-bottom:1px solid var(--border);background:var(--inset);color:var(--text);font-family:inherit;font-size:.85rem;padding:.65rem .85rem;outline:none}.picker-search::placeholder{color:var(--text-faint)}.picker-list{max-height:248px;overflow-y:auto;padding:.3rem;display:flex;flex-direction:column;gap:1px}.picker-option{display:flex;align-items:center;gap:.65rem;width:100%;background:transparent;border:none;border-radius:var(--radius-sm);padding:.45rem .55rem;color:var(--text);font-family:inherit;font-size:.85rem;cursor:pointer;text-align:left;transition:background .12s ease}.picker-option:hover{background:color-mix(in srgb,var(--copper) 15%,transparent)}.picker-option .fi{font-size:1.05rem;border-radius:2px;flex-shrink:0;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text) 8%,transparent)}.picker-option .opt-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-option .opt-code{font-family:var(--font-mono);font-size:.7rem;color:var(--text-faint)}.picker-empty{color:var(--text-faint);font-size:.8rem;padding:.7rem .6rem;text-align:center}.picker-list::-webkit-scrollbar{width:8px}.picker-list::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}.picker-list::-webkit-scrollbar-track{background:transparent}