/* ArcShare shared tokens. Compatibility aliases support existing utility pages. */
:root {
  color-scheme: dark;
  --arc-nav-h:56px;
  --arc-content-max:1180px;
  --arc-page-gutter:24px;
  --arc-bg:#17191c;
  --arc-s1:#1e2125;
  --arc-nav-bg:#24272c;
  --arc-s2:#25292e;
  --arc-s3:#30353b;
  --arc-s4:#3c444f;
  --arc-b1:rgba(255,255,255,.06);
  --arc-b2:rgba(255,255,255,.11);
  --arc-b3:rgba(255,255,255,.18);
  --arc-b4:rgba(255,255,255,.28);
  --arc-t0:#eef0f3;
  --arc-t1:#d5dae1;
  --arc-t2:#abb2bc;
  --arc-t3:#a0a8b3;
  --arc-t4:#a0a8b3;
  --arc-acc:#3566bc;
  --arc-acc2:#87aef0;
  --arc-acb:rgba(55,102,193,.14);
  --arc-acr:rgba(111,156,240,.30);
  --arc-go:#35c58b;
  --arc-gob:rgba(53,197,139,.10);
  --arc-gor:rgba(53,197,139,.26);
  --arc-red:#ff7d8e;
  --arc-reb:rgba(240,90,112,.10);
  --arc-rer:rgba(240,90,112,.26);
  --arc-amb:#e9a63a;
  --arc-ambb:rgba(233,166,58,.10);
  --arc-ambr:rgba(233,166,58,.26);
  --arc-pur:#a78bfa;
  --arc-purb:rgba(167,139,250,.12);
  --arc-shadow-xs:0 1px 2px rgba(0,0,0,.24);
  --arc-shadow-sm:0 1px 3px rgba(0,0,0,.36),0 0 0 1px var(--arc-b1);
  --arc-shadow-md:0 8px 24px rgba(0,0,0,.28),0 0 0 1px var(--arc-b1);
  --arc-shadow-lg:0 20px 60px rgba(0,0,0,.38),0 0 0 1px var(--arc-b1);
  --arc-sans:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --arc-mono:ui-monospace,'SFMono-Regular',Consolas,monospace;
  --arc-radius-xs:4px;
  --arc-radius-sm:6px;
  --arc-radius-md:8px;
  --arc-radius-lg:8px;
  --arc-radius-xl:8px;
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-6:24px;
  --space-8:32px;
  --text-xs:12px;
  --text-sm:13px;
  --text-base:14px;
  --text-md:16px;
  --text-lg:18px;
  --text-title:30px;
  --control-h:40px;
  --control-touch-h:44px;
  --control-action-h:36px;
  --workspace-max:960px;
  --receiver-max:720px;

  /* Canonical variables used by the newer pages. */
  --bg:var(--arc-bg);
  --s1:var(--arc-s1);
  --s2:var(--arc-s2);
  --s3:var(--arc-s3);
  --s4:var(--arc-s4);
  --b1:var(--arc-b1);
  --b2:var(--arc-b2);
  --b3:var(--arc-b3);
  --b4:var(--arc-b4);
  --t0:var(--arc-t0);
  --t1:var(--arc-t1);
  --t2:var(--arc-t2);
  --t3:var(--arc-t3);
  --t4:var(--arc-t4);
  --acc:var(--arc-acc);
  --acc2:var(--arc-acc2);
  --acb:var(--arc-acb);
  --acr:var(--arc-acr);
  --go:var(--arc-go);
  --gob:var(--arc-gob);
  --gor:var(--arc-gor);
  --red:var(--arc-red);
  --reb:var(--arc-reb);
  --rer:var(--arc-rer);
  --amb:var(--arc-amb);
  --ambb:var(--arc-ambb);
  --ambr:var(--arc-ambr);
  --pur:var(--arc-pur);
  --purb:var(--arc-purb);
  --blue:var(--arc-acc2);
  --blb:var(--arc-acb);
  --blr:var(--arc-acr);
  --sans:var(--arc-sans);
  --mono:var(--arc-mono);
  --nav-bg:var(--arc-nav-bg);
  --nav-h:var(--arc-nav-h);
  --sh:var(--arc-shadow-sm);
  --sh2:var(--arc-shadow-md);
  --sh-lg:var(--arc-shadow-lg);

  /* Compatibility aliases used by older and utility pages. */
  --bg2:var(--arc-s1);
  --bg3:var(--arc-s2);
  --bg4:var(--arc-s3);
  --bg5:var(--arc-s4);
  --surface:var(--arc-s1);
  --surface-2:var(--arc-s2);
  --surface-3:var(--arc-s3);
  --text:var(--arc-t0);
  --text2:var(--arc-t2);
  --text3:var(--arc-t3);
  --text4:var(--arc-t4);
  --border:var(--arc-b2);
  --border2:var(--arc-b3);
  --border3:var(--arc-b4);
  --border-2:var(--arc-b3);
  --border-3:var(--arc-b4);
  --r1:var(--arc-b1);
  --r2:var(--arc-b2);
  --r3:var(--arc-b3);
  --r4:var(--arc-b4);
  --r:var(--arc-radius-lg);
  --r-sm:var(--arc-radius-sm);
  --ra:var(--arc-radius-xl);
  --rb:var(--arc-radius-lg);
  --rc:var(--arc-radius-md);
  --rd:var(--arc-radius-sm);
  --re:var(--arc-radius-xs);
  --r-xs:var(--arc-radius-xs);
  --r-md:var(--arc-radius-md);
  --r-lg:var(--arc-radius-lg);
  --r-xl:var(--arc-radius-xl);
  --acc-2:var(--arc-acc2);
  --acc-bg:var(--arc-acb);
  --acc-bg-strong:var(--arc-acr);
  --acc-rim:var(--arc-acr);
  --blue-dim:var(--arc-acb);
  --blue-txt:var(--arc-acc2);
  --green:var(--arc-go);
  --green-bg:var(--arc-gob);
  --green-br:var(--arc-gor);
  --green-dim:var(--arc-gob);
  --green-txt:var(--arc-go);
  --go-bg:var(--arc-gob);
  --go-rim:var(--arc-gor);
  --red-bg:var(--arc-reb);
  --red-br:var(--arc-rer);
  --red-dim:var(--arc-reb);
  --red-rim:var(--arc-rer);
  --amber:var(--arc-amb);
  --amber-bg:var(--arc-ambb);
  --amber-br:var(--arc-ambr);
  --amber-dim:var(--arc-ambb);
  --amb-bg:var(--arc-ambb);
  --amb-rim:var(--arc-ambr);
  --pur-bg:var(--arc-purb);
  --shadow:var(--arc-shadow-sm);
  --shadow-xs:var(--arc-shadow-xs);
  --shadow-sm:var(--arc-shadow-sm);
  --shadow-md:var(--arc-shadow-md);
  --shadow-lg:var(--arc-shadow-lg);
  --shadow-soft:var(--arc-shadow-md);
  --input-bg:var(--arc-s2);
  --input-br:var(--arc-b2);
  --btn:var(--arc-t0);
  --btn-txt:var(--arc-bg);
  --panel:var(--arc-s1);
  --panel2:var(--arc-s2);
  --muted:var(--arc-t2);
  --muted2:var(--arc-t3);
  --line:var(--arc-b2);
  --accent:var(--arc-acc);
}

html[data-theme='light'] {
  color-scheme: light;
  --arc-bg:#f5f6f8;
  --arc-s1:#ffffff;
  --arc-nav-bg:#fafbfc;
  --arc-s2:#f5f7fa;
  --arc-s3:#e8ecf2;
  --arc-s4:#dbe1e9;
  --arc-b1:rgba(16,24,40,.05);
  --arc-b2:rgba(16,24,40,.10);
  --arc-b3:rgba(16,24,40,.17);
  --arc-b4:rgba(16,24,40,.26);
  --arc-t0:#20252d;
  --arc-t1:#263044;
  --arc-t2:#505b69;
  --arc-t3:#566170;
  --arc-t4:#566170;
  --arc-acc:#315fba;
  --arc-acc2:#2855a7;
  --arc-acb:rgba(49,95,186,.09);
  --arc-acr:rgba(49,95,186,.24);
  --arc-go:#087957;
  --arc-gob:rgba(8,121,87,.09);
  --arc-gor:rgba(8,121,87,.22);
  --arc-red:#b51f3c;
  --arc-reb:rgba(201,45,73,.08);
  --arc-rer:rgba(201,45,73,.22);
  --arc-amb:#946114;
  --arc-ambb:rgba(154,103,22,.09);
  --arc-ambr:rgba(154,103,22,.22);
  --arc-shadow-xs:0 1px 2px rgba(17,24,39,.04);
  --arc-shadow-sm:0 1px 3px rgba(17,24,39,.08),0 0 0 1px var(--arc-b1);
  --arc-shadow-md:0 8px 24px rgba(17,24,39,.09),0 0 0 1px var(--arc-b1);
  --arc-shadow-lg:0 20px 60px rgba(17,24,39,.13),0 0 0 1px var(--arc-b1);
  --nav-bg:var(--arc-nav-bg);
  --btn:var(--arc-t0);
  --btn-txt:#ffffff;
  --input-bg:#ffffff;
  --input-br:var(--arc-b3);
}

html,
body {
  background:var(--bg)!important;
  color:var(--t0)!important;
  font-family:var(--sans)!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

button,
input,
select,
textarea {
  font-family:inherit;
}

a {
  text-underline-offset:2px;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline:2px solid var(--acc2)!important;
  outline-offset:2px!important;
}


:root { --acc-hover:#2d58a4; --layer-nav:200; --layer-menu:20; --layer-dialog:900; --layer-toast:950; }

/* Explicit primitives. Route owners retain layout and specialized states. */
body.arc-ui { margin:0; font-size:var(--text-base); line-height:1.5; }
.arc-page-header { margin-bottom:24px; }
body.arc-ui .arc-page-title { margin:0 0 8px; color:var(--t0); font:650 var(--text-title)/1.2 var(--sans); letter-spacing:-.6px; }
body.arc-ui .arc-page-description { margin:0; max-width:720px; color:var(--t2); font:14px/1.5 var(--sans); }
.arc-surface { background:var(--s1); border:1px solid var(--b2); border-radius:var(--arc-radius-md); }
body.arc-ui .arc-btn { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:36px; padding:8px 12px; border:1px solid var(--b2); border-radius:var(--arc-radius-sm); background:var(--s2); color:var(--t1); font:600 13px/1.2 var(--sans); text-decoration:none; cursor:pointer; box-shadow:none; }
body.arc-ui .arc-btn:hover { background:var(--s3); border-color:var(--b3); color:var(--t0); }
body.arc-ui .arc-btn-primary { background:var(--acc); border-color:var(--acc); color:#fff; }
body.arc-ui .arc-btn-primary:hover { background:var(--acc-hover); border-color:var(--acc-hover); color:#fff; }
body.arc-ui .arc-btn-danger { color:var(--red); }
body.arc-ui .arc-btn-danger:hover { background:var(--reb); border-color:var(--rer); color:var(--red); }
body.arc-ui .arc-icon-btn { width:36px; height:36px; min-width:36px; padding:0; }
body.arc-ui .arc-input { color:var(--t0); background:var(--input-bg); border:1px solid var(--input-br); border-radius:var(--arc-radius-sm); padding:9px 12px; font:14px/1.5 var(--sans); min-width:0; }
body.arc-ui :is(input,select).arc-input { min-height:var(--control-h); }
body.arc-ui .arc-input::placeholder { color:var(--t4); opacity:1; }
.arc-label { color:var(--t2); font:600 12px/1.5 var(--sans); }
.arc-tabs { display:flex; gap:16px; border-bottom:1px solid var(--b2); }
.arc-segmented { display:inline-flex; gap:4px; padding:4px; background:var(--s2); border:1px solid var(--b2); border-radius:var(--arc-radius-sm); }
.arc-status { display:inline-flex; align-items:center; padding:3px 6px; border-radius:var(--arc-radius-xs); color:var(--t2); background:var(--s2); font:12px/1.4 var(--sans); }
.arc-status-success { color:var(--go); background:var(--gob); }
.arc-status-warning { color:var(--amb); background:var(--ambb); }
.arc-status-error { color:var(--red); background:var(--reb); }
.arc-empty { padding:24px 16px; color:var(--t2); font:14px/1.5 var(--sans); text-align:center; }
.arc-alert { padding:12px 16px; border:1px solid var(--b2); border-radius:var(--arc-radius-sm); color:var(--t1); background:var(--s2); font:13px/1.5 var(--sans); }
.arc-alert-success { color:var(--go); border-color:var(--gor); background:var(--gob); }
.arc-alert-warning { color:var(--amb); border-color:var(--ambr); background:var(--ambb); }
.arc-alert-error { color:var(--red); border-color:var(--rer); background:var(--reb); }
input,select,textarea { accent-color:var(--acc); }
:is(button,input,select,textarea):disabled { cursor:not-allowed; opacity:.55; }
:is(.toast,.clip-toast) { max-width:calc(100vw - 32px); box-shadow:var(--shadow-md); font-size:13px; }

/* Shared application toolbar; secondary routes collapse progressively. */
body.arc-ui > .topnav {
  position:sticky; top:0; z-index:var(--layer-nav); width:100%;
  height:var(--arc-nav-h); min-height:var(--arc-nav-h); padding:0 24px;
  display:flex; align-items:center; gap:16px; background:var(--nav-bg);
  border:0; border-bottom:1px solid var(--b2); box-shadow:none;
  backdrop-filter:none; flex-shrink:0; font-family:var(--sans);
}
body.arc-ui .nav-logo { display:flex; align-items:center; width:92px; height:100%; margin:0; flex:0 0 92px; }
body.arc-ui .nav-logo img { display:none; width:auto; height:44px; max-width:92px; object-fit:contain; }
html[data-theme='dark'] .nav-logo .logo-dark,
html[data-theme='light'] .nav-logo .logo-light { display:block; }
body.arc-ui .nav-links { display:flex; align-items:center; gap:2px; flex:1; min-width:0; }
body.arc-ui .nav-link,
body.arc-ui .arc-tools-menu > summary {
  display:inline-flex; align-items:center; gap:6px; min-height:36px; padding:0 10px;
  color:var(--t2); border:0; border-radius:6px; background:transparent;
  font:500 13px/1 var(--sans); white-space:nowrap; text-decoration:none; cursor:pointer;
}
body.arc-ui .nav-link:hover, body.arc-ui .arc-tools-menu > summary:hover { background:var(--b1); color:var(--t0); }
body.arc-ui .nav-link.active { background:var(--b2); color:var(--t0); }
body.arc-ui .nav-right { display:flex; gap:8px; align-items:center; margin-left:auto; flex-shrink:0; }
.arc-admin-nav { padding-left:12px; border-left:1px solid var(--b3); }
body.arc-ui .nav-theme-btn, body.arc-ui .arc-menu-btn {
  width:36px; height:36px; min-width:36px; display:inline-flex; align-items:center; justify-content:center;
  border:1px solid var(--b2); border-radius:6px; background:transparent; color:var(--t2); padding:0; cursor:pointer;
}
body.arc-ui .arc-menu-btn { display:none; }
body.arc-ui .nav-theme-btn:hover, body.arc-ui .arc-menu-btn:hover { background:var(--b1); color:var(--t0); }
body.arc-ui .arc-theme-label, body.arc-ui .nav-tpill, body.arc-ui .nav-pip { display:none; }
.arc-icon { width:18px; height:18px; display:inline-block; background:currentColor; mask:var(--icon) center/contain no-repeat; -webkit-mask:var(--icon) center/contain no-repeat; flex-shrink:0; }
.arc-tools-menu { position:relative; display:none; }
body.arc-ui .arc-tools-links > .arc-nav-secondary { display:none; }
.arc-tools-menu > summary { list-style:none; }
.arc-tools-menu > summary::-webkit-details-marker { display:none; }
.arc-tools-menu[open] > summary { background:var(--b2); }
.arc-tools-links, .arc-mobile-panel {
  position:absolute; top:calc(100% + 8px); z-index:var(--layer-menu); min-width:210px;
  display:grid; gap:2px; padding:6px; background:var(--s1); border:1px solid var(--b3);
  border-radius:8px; box-shadow:var(--shadow-md);
}
.arc-mobile-panel { right:16px; width:min(320px,calc(100vw - 32px)); grid-template-columns:1fr 1fr; }
.arc-mobile-panel[hidden] { display:none; }
body.arc-ui .arc-tools-links .nav-link, body.arc-ui .arc-mobile-panel .nav-link { justify-content:flex-start; width:100%; }
.arc-detail-title { font:500 14px var(--sans); color:var(--t1); }
.arc-detail-spacer { flex:1; }
.arc-detail-action { min-height:36px; padding:8px 12px; color:var(--t1); border:1px solid var(--b2); border-radius:6px; text-decoration:none; font:500 13px var(--sans); }
body[data-arc-shell='detail'], body[data-arc-shell='compact'] { padding-top:0; }
:where(button, a, summary, input, textarea, select, [tabindex]):focus-visible { outline:2px solid var(--acc2); outline-offset:3px; }
@media (max-width:1199px) {
  body.arc-ui .topnav > .nav-links > .arc-nav-tertiary { display:none; }
  .arc-tools-menu { display:block; }
  body.arc-ui .arc-tools-menu.active-tertiary > summary { background:var(--b2); color:var(--t0); }
}
@media (max-width:979px) {
  body.arc-ui .topnav > .nav-links > .arc-nav-secondary { display:none; }
  body.arc-ui .arc-tools-links > .arc-nav-secondary { display:inline-flex; }
  body.arc-ui .arc-tools-menu.active-secondary > summary { background:var(--b2); color:var(--t0); }
}
@media (max-width:768px) {
  :root { --text-title:26px; }
  :root { --control-action-h:44px; }
  :root { --arc-page-gutter:16px; }
  body.arc-ui .arc-btn { min-height:44px; }
  body.arc-ui .arc-icon-btn { width:44px; height:44px; min-width:44px; }
  body.arc-ui :is(input,select).arc-input { min-height:44px; }
  body.arc-ui > .topnav { padding:0 16px; gap:12px; }
  body.arc-ui .topnav > .nav-links { display:none; }
  .arc-admin-nav { display:none; }
  body.arc-ui .arc-menu-btn { display:inline-flex; }
  body.arc-ui .nav-theme-btn, body.arc-ui .arc-menu-btn { width:44px; height:44px; }
  .arc-detail-action { min-height:44px; display:inline-flex; align-items:center; }
  body.arc-ui .arc-mobile-panel .nav-link { min-height:44px; }
  .arc-detail-title { font-size:13px; }
}
@media (prefers-reduced-motion:reduce) { *, *::before, *::after { scroll-behavior:auto; transition-duration:0s !important; animation-duration:0s !important; } }

/* A normal-flow footer for pages that already render the attribution. */
body.arc-footer-shell { min-height:100vh; min-height:100dvh; display:flex; flex-direction:column; }
body.arc-footer-shell > #app { flex-shrink:0; }
#vlyntro-built-by { display:flex; flex-shrink:0; justify-content:center; align-items:center; gap:10px; margin-top:auto; padding:64px 20px 24px; color:var(--t2); font:500 12px var(--sans); }
#vlyntro-built-by a { display:inline-flex; align-items:center; gap:8px; color:var(--t2); text-decoration:none; opacity:.85; }
#vlyntro-built-by a:hover, #vlyntro-built-by a:focus-visible { opacity:1; color:var(--t0); }
#vlyntro-built-by svg { display:block; flex:none; width:26px; height:26px; stroke:none; }
.vlyntro-wordmark { font:800 16px/1 var(--sans); letter-spacing:-.045em; }

/* One floating description, anchored and clamped by arc-tooltip.js. */
.arc-tooltip { position:fixed; inset:auto; margin:0; z-index:var(--layer-tooltip,1000); box-sizing:border-box; width:max-content; max-width:280px; padding:8px 10px; border:1px solid var(--b3); border-radius:var(--arc-radius-sm); background:var(--s1); color:var(--t0); box-shadow:var(--shadow-xs); font:12px/1.45 var(--sans); overflow-wrap:anywhere; }
.arc-tooltip[hidden] { display:none; }
.arc-tooltip::backdrop { background:transparent; pointer-events:none; }
@media print { body.arc-ui > .topnav, #vlyntro-built-by { display:none !important; } }
@media (max-width:768px) {
  #vlyntro-built-by { padding-top:32px; }
  #vlyntro-built-by a { min-height:44px; }
}
@media (prefers-reduced-motion:no-preference) {
  #vlyntro-built-by a { transition:color .12s, opacity .12s; }
}
