
/* -------------------------------------------------------------------------
   TAS FIELD SYSTEM — product-level art direction
   Full-width surfaces, editorial hierarchy, restrained motion, no card farm.
   ------------------------------------------------------------------------- */
:root {
  color-scheme: dark;
  --bg: #090c0e;
  --sidebar: rgba(9,12,14,.94);
  --panel: transparent;
  --panel-strong: #111719;
  --stroke: rgba(224,238,228,.13);
  --stroke-bright: rgba(224,238,228,.25);
  --text: #edf2eb;
  --muted: #8f9b93;
  --muted-2: #bdc9bf;
  --blue: #b8f36c;
  --green: #b8f36c;
  --amber: #e8c478;
  --red: #ff8375;
  --radius: 2px;
  --signal: #b8f36c;
  --signal-ink: #11170b;
  --serif: Georgia, "Times New Roman", serif;
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-family: Inter, "Avenir Next", Avenir, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-optical-sizing: auto;
}
html { scroll-behavior: smooth; scroll-padding-top: 120px; }
body {
  background:
    radial-gradient(ellipse at 74% -10%, rgba(120,154,83,.10), transparent 34rem),
    radial-gradient(ellipse at 5% 40%, rgba(40,72,60,.11), transparent 40rem),
    #090c0e;
  color: var(--text);
  letter-spacing: -.012em;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: .15;
  background-image: linear-gradient(rgba(229,240,226,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(229,240,226,.045) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(to bottom, black, transparent 76%);
}
button, input, select, textarea { font: inherit; }
button, a, select, input, textarea { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--signal); outline-offset: 4px; }
::selection { color: #0a0d0b; background: var(--signal); }
.ambient { width: 32rem; height: 32rem; opacity: .11; filter: blur(120px); }
.ambient-one { background: #b8f36c; top: -24rem; right: -7rem; }
.ambient-two { background: #376c61; bottom: -24rem; left: -15rem; }

/* The public entrance is an editorial landing page, not a centered login card. */
.login-screen {
  min-height: 100svh; width: 100%; max-width: none; margin: 0 auto; padding: 0 clamp(22px,5vw,84px);
  display: flex; flex-direction: column; justify-content: flex-start; position: relative; overflow: hidden; z-index: 1;
}
.landing-top {
  min-height: 94px; width: 100%; display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: center;
  border-bottom: 1px solid var(--stroke); position: relative; z-index: 3;
}
.landing-brand { display: inline-flex; align-items: center; gap: 12px; justify-self: start; }
.landing-brand strong { display:block; font-size: 15px; line-height: 1; letter-spacing: .18em; }
.landing-brand small { display:block; margin-top: 6px; color: #7e8b81; font: 9px var(--mono); letter-spacing: .14em; }
.brand-mark { border-radius: 2px; background: var(--signal); color: #10170d; box-shadow: none; font-size: 19px; width: 36px; height: 36px; }
.landing-topline { display:flex; justify-content:center; align-items:center; gap:10px; color:#7f8e82; font: 9px var(--mono); letter-spacing:.11em; }
.landing-live-dot { width:6px;height:6px;border-radius:50%;background:var(--signal);box-shadow:0 0 13px rgba(184,243,108,.8); animation: signal-breathe 2.8s ease-in-out infinite; }
.landing-access { justify-self:end; font-size: 12px; color: var(--text); border-bottom: 1px solid rgba(184,243,108,.4); padding: 9px 0; transition: color .2s,border-color .2s; }
.landing-access span { color: var(--signal); margin-left: 10px; }
.landing-access:hover { color: var(--signal); border-color: var(--signal); }
.landing-main { width:100%; min-height:min(690px, calc(100svh - 190px)); display:grid; grid-template-columns:minmax(0,1.03fr) minmax(360px,.97fr); align-items:center; gap:clamp(30px,6vw,105px); padding:clamp(54px,9vh,116px) 0 clamp(58px,8vh,110px); position:relative; }
.landing-copy { position:relative; z-index:2; max-width:690px; animation: reveal-up .8s cubic-bezier(.2,.7,.2,1) both; }
.landing-eyebrow { display:flex; align-items:center; gap:14px; color:var(--signal); font: 10px var(--mono); letter-spacing:.13em; }
.landing-eyebrow span { color:#77867a; }
.landing-copy h1 { max-width: 780px; margin:26px 0 24px; font-size:clamp(52px,7.4vw,108px); line-height:.91; font-weight:550; letter-spacing:-.085em; }
.landing-copy h1 em { font-family:var(--serif); font-weight:400; letter-spacing:-.07em; color:var(--signal); }
.landing-lede { max-width:490px; color:#a5b2a7; font-size:clamp(15px,1.3vw,18px); line-height:1.8; margin-bottom:31px; }
.landing-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px 23px; }
.login-button { width:auto; min-height:52px; padding:0 18px; border-radius:2px; font-size:12px; letter-spacing:.01em; gap:14px; box-shadow:none !important; }
.button.primary { color:var(--signal-ink); background:var(--signal); border:1px solid var(--signal); border-radius:2px; box-shadow:none; transition:transform .22s,background .22s,color .22s; }
.button.primary:hover { transform:translateY(-2px); background:#d1ffa1; }
.button.secondary { border:1px solid var(--stroke-bright); border-radius:2px; background:rgba(255,255,255,.018); transition:background .2s,border-color .2s,color .2s; }
.button.secondary:hover { background:rgba(255,255,255,.07); border-color:rgba(184,243,108,.5); }
.button.danger { border-radius:2px; }
.button.small { border-radius:2px; }
.button-arrow { font-size:17px; margin-left:13px; }
.landing-assurance { display:flex; gap:9px; align-items:center; color:#7f8e82; font-size:10px; line-height:1.5; }
.landing-lock { color:var(--signal); font-size:17px; }
.login-screen .error-text { min-height:20px; margin:12px 0 0; font-size:12px; }
.landing-proof { border-top:1px solid var(--stroke); margin-top:43px; padding-top:17px; display:flex; gap:clamp(22px,4vw,48px); color:#627167; font:10px var(--mono); letter-spacing:.04em; }
.landing-proof span { display:flex; gap:11px; align-items:center; }
.landing-proof b { color:#c7d2c8; font:500 10px var(--mono); }
.landing-visual { min-height:460px; height:100%; position:relative; display:flex; align-items:center; justify-content:center; isolation:isolate; animation: reveal-up 1s .12s cubic-bezier(.2,.7,.2,1) both; }
.visual-grid { position:absolute; inset:4% 0 5%; opacity:.65; background:linear-gradient(rgba(208,232,205,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(208,232,205,.08) 1px,transparent 1px); background-size:34px 34px; mask-image:radial-gradient(ellipse,black 15%,transparent 75%); }
.visual-orbit { position:absolute; aspect-ratio:1; border:1px solid rgba(184,243,108,.24); border-radius:50%; transform:rotateX(67deg) rotateZ(-23deg); }
.orbit-outer { width:min(100%,510px); animation: orbit-drift 32s linear infinite; }
.orbit-mid { width:74%; border-color:rgba(195,217,186,.2); transform:rotateX(67deg) rotateZ(23deg); animation: orbit-counter 42s linear infinite; }
.orbit-inner { width:52%; border-style:dashed; border-color:rgba(184,243,108,.35); animation: orbit-drift 65s linear infinite; }
.visual-core { position:relative; width:132px; height:132px; border:1px solid rgba(184,243,108,.65); background:radial-gradient(circle at 35% 30%,rgba(184,243,108,.22),rgba(14,22,17,.2) 70%); box-shadow:0 0 90px rgba(184,243,108,.08),inset 0 0 50px rgba(184,243,108,.05); display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;transform:rotate(-9deg); animation:core-float 7s ease-in-out infinite; }
.visual-core::before,.visual-core::after { content:"";position:absolute;width:160%;height:1px;background:linear-gradient(90deg,transparent,rgba(184,243,108,.36),transparent); }
.visual-core::after { transform:rotate(90deg); }
.visual-core-mark { font-weight:900;font-size:45px;line-height:.8;color:var(--signal);letter-spacing:-.12em; }
.visual-core > span:last-child { color:#a2b09f;font:8px/1.5 var(--mono);text-align:center;letter-spacing:.14em; }
.visual-coordinate { position:absolute;color:#65756a;font:9px/1.7 var(--mono);letter-spacing:.08em; }
.coordinate-top { left:3%;top:1%; }
.coordinate-bottom { right:0;bottom:0; }
.visual-readout { position:absolute; min-width:150px; padding:12px 0 12px 16px; border-left:1px solid var(--signal); background:linear-gradient(90deg,rgba(9,12,14,.85),transparent); display:flex;flex-direction:column;gap:6px; }
.visual-readout small { color:#718077;font:8px var(--mono);letter-spacing:.14em; }
.visual-readout strong { color:#d6e0d3;font-size:11px;font-weight:550; }
.readout-a { left:1%;top:28%; animation:readout-float 6s ease-in-out infinite; }
.readout-b { right:0;bottom:26%; animation:readout-float 7s 1s ease-in-out infinite reverse; }
.orbit-node { position:absolute;width:10px;height:10px;border:1px solid var(--signal);background:#0a0e0c;transform:rotate(45deg);box-shadow:0 0 18px rgba(184,243,108,.4); }
.node-a { top:22%;right:19%; }.node-b { bottom:18%;left:23%;width:7px;height:7px; }.node-c { top:47%;right:8%;width:5px;height:5px; }
.visual-scan { position:absolute;inset:3% 0 7%;background:linear-gradient(transparent 47%,rgba(184,243,108,.13) 50%,transparent 53%);opacity:.4;animation:scan-vertical 8s ease-in-out infinite;pointer-events:none; }
.landing-story { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--stroke);border-bottom:1px solid var(--stroke); }
.landing-story > div { padding:24px clamp(15px,3vw,37px) 26px 0; position:relative; }
.landing-story > div + div { border-left:1px solid var(--stroke);padding-left:clamp(15px,3vw,37px); }
.story-index { display:block;color:var(--signal);font:9px var(--mono);letter-spacing:.12em;margin-bottom:14px; }
.landing-story strong { font-size:15px;letter-spacing:-.03em;font-weight:550; }
.landing-story p { max-width:330px;margin:10px 0 0;color:#859388;line-height:1.7;font-size:12px; }
.landing-footer { display:flex;align-items:center;gap:10px;justify-content:flex-start;margin-top:auto;padding:22px 0;color:#627066;font:9px var(--mono);letter-spacing:.1em; }
.footer-year { margin-left:auto; color:#829184; }

/* Main app shell becomes a horizontal command surface. */
.app-shell { display:block; min-height:100vh; }
.sidebar {
  position:sticky;top:0;z-index:40;height:auto;width:100%;padding:14px clamp(18px,4.5vw,72px);
  display:grid;grid-template-columns:auto minmax(280px,1fr) auto auto;grid-template-areas:"brand nav guild bottom";
  align-items:center;gap:clamp(16px,2.4vw,38px);border:0;border-bottom:1px solid var(--stroke);
  background:rgba(9,12,14,.86);backdrop-filter:blur(24px) saturate(140%);-webkit-backdrop-filter:blur(24px) saturate(140%);
}
.brand { grid-area:brand;padding:0;gap:10px;white-space:nowrap; }
.brand strong { font-size:14px;letter-spacing:.16em; }
.brand small { letter-spacing:.12em;font:8px var(--mono); }
.workspace-label,.select-label { display:none; }
.guild-select { grid-area:guild;width:178px;max-width:100%;background:#111719;color:#e7efe5;border:1px solid var(--stroke-bright);border-radius:2px;padding:10px 28px 10px 10px;font-size:11px; }
.nav-list { grid-area:nav;display:flex;gap:3px;align-items:center;min-width:0;overflow-x:auto;margin:0;padding:0;scrollbar-width:none; }
.nav-list::-webkit-scrollbar { display:none; }
.nav-item { white-space:nowrap;flex:0 0 auto;display:inline-flex;gap:8px;align-items:center;padding:11px 10px;border:0;border-bottom:1px solid transparent;border-radius:0;background:transparent;color:#849187;font-size:11px;font-weight:550;transition:color .2s,border-color .2s,background .2s; }
.nav-item:hover { color:var(--text);background:rgba(255,255,255,.025); }
.nav-item.active { color:var(--text);border-color:var(--signal);background:linear-gradient(180deg,transparent,rgba(184,243,108,.045)); }
.nav-icon { color:var(--signal);font-size:15px;width:14px; }
.nav-dot { margin-left:0; }
.nav-lab-mark { color:var(--signal);font:8px var(--mono);border:1px solid rgba(184,243,108,.35);padding:3px 4px; }
.sidebar-bottom { grid-area:bottom;display:flex;align-items:center;gap:14px;margin:0; }
.api-status { padding:0;border:0;background:transparent;gap:8px;white-space:nowrap; }
.api-status strong { font-size:10px; }.api-status small { font-size:9px; }
.api-status .dot { width:5px;height:5px;box-shadow:none; }
.user-row { padding:0;border:0;background:transparent;gap:8px; }
.user-copy strong { max-width:110px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.user-copy small { font-size:8px; }
.avatar { width:29px;height:29px;border-radius:50%;background:#202923;border:1px solid var(--stroke-bright); }
.icon-button { border-radius:2px; }
.main-area { min-width:0;padding:0 clamp(18px,4.5vw,72px) 35px; }
.topbar { max-width:1600px;margin:0 auto;padding:20px 0 18px;border-bottom:1px solid var(--stroke);background:transparent;backdrop-filter:none; }
.breadcrumb { font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase; }
.crumb-slash { color:var(--signal);padding:0 12px; }
.top-actions { gap:15px; }
#last-updated { font:10px var(--mono); }
#refresh-btn { border-radius:2px; }
.page-view { max-width:1600px;margin:0 auto;padding:36px 0 26px;animation:page-arrive .45s cubic-bezier(.2,.7,.2,1) both; }
.page-heading { display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:35px; }
.page-heading .eyebrow { font:9px var(--mono);letter-spacing:.15em; }
.page-heading h1 { font-size:clamp(35px,4.8vw,64px);letter-spacing:-.075em;font-weight:520;line-height:1;margin:14px 0 12px; }
.page-heading p { max-width:780px;line-height:1.8;font-size:13px; }
.status-pill { border-radius:2px;font:9px var(--mono);letter-spacing:.09em;padding:10px 12px;border:1px solid var(--stroke-bright);background:transparent; }
.status-pill.good { border-color:rgba(184,243,108,.35);color:var(--signal);background:rgba(184,243,108,.045); }
.status-pill.bad { border-color:rgba(255,131,117,.35);color:var(--red);background:rgba(255,131,117,.045); }
.stats-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--stroke);border-bottom:1px solid var(--stroke);background:transparent;margin-bottom:42px; }
.stat-card { padding:24px 25px 25px 0;border:0;border-radius:0;background:transparent;box-shadow:none;min-width:0; }
.stat-card + .stat-card { border-left:1px solid var(--stroke);padding-left:25px; }
.stat-top { display:flex;align-items:center;justify-content:space-between;gap:8px; }
.stat-label { color:#8a978d;font:9px var(--mono);letter-spacing:.1em;text-transform:uppercase; }
.stat-icon { background:transparent!important;color:var(--signal)!important;font-size:15px;padding:0; }
.stat-number { font-size:clamp(33px,4vw,53px);font-weight:500;letter-spacing:-.075em;margin:19px 0 8px;line-height:1; }
.stat-caption { color:#68776d;font-size:10px;line-height:1.5; }
.content-grid { gap:clamp(28px,4vw,65px);margin-bottom:39px; }
.panel,.security-panel { background:transparent;border:0;border-top:1px solid var(--stroke);border-radius:0;padding:25px 0 0;box-shadow:none;backdrop-filter:none;min-width:0; }
.panel-heading { padding-bottom:17px;border-bottom:1px solid rgba(224,238,228,.08);margin-bottom:15px; }
.panel-heading h2 { font-size:20px;letter-spacing:-.05em;font-weight:500; }
.panel-heading .eyebrow { font:9px var(--mono); }
.security-symbol { border-radius:0;border:1px solid rgba(184,243,108,.22);background:rgba(184,243,108,.055);color:var(--signal); }
.meter-row { padding:13px 0;border-bottom:1px solid var(--stroke); }
.meter { border-radius:0;background:#202822; }.meter span { border-radius:0; }
.activity-item { grid-template-columns:9px minmax(0,1fr);gap:15px;padding:17px 0;border-bottom:1px solid rgba(224,238,228,.075); }
.activity-mark { width:6px;height:6px;border-radius:0;transform:rotate(45deg);margin-top:7px; }
.activity-title { font-size:12px;font-weight:550;gap:15px; }
.activity-meta { line-height:1.7;font-size:10px;color:#718076;margin-top:7px;overflow-wrap:anywhere; }
.text-button { border-radius:0;color:var(--signal);font-size:11px; }
.text-button:hover { color:#e0ffd0; }
.table-wrap { border-color:var(--stroke); }
table { min-width:770px;border-collapse:collapse; }
thead th { color:#77867a;background:transparent;font:9px var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:13px 14px 13px 0;border-bottom:1px solid var(--stroke); }
tbody td { padding:17px 14px 17px 0;border-bottom:1px solid rgba(224,238,228,.08);line-height:1.6; }
tbody tr:hover { background:rgba(255,255,255,.018); }
.tag { border-radius:0;font:9px var(--mono);letter-spacing:.04em; }
input,select,textarea { border-radius:2px!important;border-color:var(--stroke-bright)!important;background:#0d1212!important;color:var(--text)!important; }
input::placeholder,textarea::placeholder { color:#56645a; }
.toolbar { margin-bottom:18px; }
.notice { border-radius:0;background:rgba(184,243,108,.035);border:0;border-left:2px solid rgba(184,243,108,.55);padding:16px 18px; }
.config-form { padding-top:0; }
.setting { border:0;border-bottom:1px solid var(--stroke);border-radius:0;background:transparent;padding:15px 0; }
.setting-title { font-size:12px; }.setting-help { font-size:10px;line-height:1.6;color:#78867a; }
.form-actions { border-top:1px solid var(--stroke); }
.code-preview { border:1px solid var(--stroke);border-radius:0;background:#080b0b; }
.toast { border-radius:2px;border-color:var(--stroke-bright);background:#161d17;box-shadow:0 16px 60px rgba(0,0,0,.32); }
.main-footer { border-top:1px solid var(--stroke);margin-top:35px;padding-top:21px;color:#627167;font:9px var(--mono);letter-spacing:.07em; }

/* Operations Lab: typographic sections, continuous rules, deliberate negative space. */
.operations-view { max-width:1600px; }
.lab-hero { min-height:290px;display:flex;justify-content:space-between;align-items:flex-end;gap:32px;padding:27px 0 38px;border-bottom:1px solid var(--stroke); }
.lab-hero-copy { max-width:960px; }
.lab-hero .eyebrow { color:var(--signal);font:9px var(--mono);letter-spacing:.12em;display:flex;align-items:center;gap:12px; }
.eyebrow-line { width:24px;height:1px;background:var(--signal);display:inline-block; }
.lab-hero h1 { font-size:clamp(42px,6vw,79px);line-height:.97;font-weight:520;letter-spacing:-.08em;margin:24px 0 19px; }
.lab-hero h1 em { font-family:var(--serif);font-weight:400;color:var(--signal);letter-spacing:-.06em; }
.lab-hero p { max-width:720px;font-size:13px;line-height:1.85;color:#9aa79b;margin-bottom:0; }
.lab-hero-stamp { min-width:170px;padding:15px 0 0 18px;border-left:1px solid var(--signal);margin-bottom:5px; }
.lab-hero-stamp > span,.lab-hero-stamp small { display:block;color:#738177;font:9px var(--mono);letter-spacing:.12em; }
.lab-hero-stamp strong { display:block;margin:12px 0;font-size:27px;letter-spacing:-.06em;font-weight:500; }
.lab-hero-stamp strong span { color:var(--signal);font:12px var(--mono); }
.lab-hero-stamp small { font-size:8px;letter-spacing:.04em;line-height:1.6; }
.lab-contents { display:flex;gap:0;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--stroke);margin-bottom:0;position:sticky;top:68px;z-index:20;background:rgba(9,12,14,.92);backdrop-filter:blur(18px); }
.lab-contents::-webkit-scrollbar { display:none; }
.lab-contents button { display:flex;gap:12px;align-items:center;flex:0 0 auto;background:transparent;color:#6c7b70;padding:17px 15px;border:0;border-bottom:1px solid transparent;font:9px var(--mono);transition:color .2s,border-color .2s; }
.lab-contents button:first-child { padding-left:0; }
.lab-contents button span { color:#acb7ab;font:11px inherit; }
.lab-contents button:hover { color:var(--signal);border-color:var(--signal); }
.lab-section { display:grid;grid-template-columns:100px minmax(0,1fr);gap:clamp(18px,3.6vw,55px);padding:48px 0 53px;border-bottom:1px solid var(--stroke);scroll-margin-top:140px; }
.lab-section-index { color:var(--signal);font:12px var(--mono);letter-spacing:.05em;padding-top:4px; }
.lab-section-index span { display:block;margin-top:8px;color:#647268;font-size:8px;letter-spacing:.13em; }
.lab-section-main { min-width:0; }
.lab-section-main > .eyebrow { color:#8c9b8e;font:9px var(--mono);letter-spacing:.12em;margin-bottom:12px; }
.lab-section-main h2 { font-size:clamp(25px,3vw,39px);font-weight:500;letter-spacing:-.07em;line-height:1.1;margin:7px 0 12px; }
.lab-section-main > p { max-width:820px;font-size:12px;color:#8e9d91;line-height:1.85;margin-bottom:25px; }
.lab-section-wide .lab-section-main { max-width:1300px; }
.lab-section-heading { display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:27px; }
.lab-section-heading p { max-width:700px;font-size:12px;color:#89988c;line-height:1.8;margin:11px 0 0; }
.lab-count { text-align:right;min-width:120px;border-left:1px solid var(--stroke);padding-left:17px; }
.lab-count strong { display:block;font-size:38px;font-weight:500;letter-spacing:-.08em; }
.lab-count span { display:block;font:8px var(--mono);color:#718075;text-transform:uppercase;letter-spacing:.1em; }
.pulse-grid { display:grid;grid-template-columns:minmax(0,1fr) 225px;gap:35px;align-items:stretch;border-top:1px solid var(--stroke);border-bottom:1px solid var(--stroke);padding:21px 0; }
.chart-caption { display:flex;justify-content:space-between;gap:14px;color:#718075;font:8px var(--mono);letter-spacing:.1em;margin-bottom:22px; }
.chart-caption span:last-child { text-align:right;letter-spacing:0; }
.pulse-chart { height:145px;display:grid;grid-template-columns:repeat(14,minmax(0,1fr));align-items:end;gap:clamp(4px,1vw,14px); }
.pulse-bar-column { display:flex;height:100%;min-width:0;align-items:center;justify-content:flex-end;flex-direction:column;gap:7px; }
.pulse-bar-value { height:12px;color:#91a28f;font:9px var(--mono); }
.pulse-bar-track { position:relative;width:100%;height:calc(100% - 20px);display:flex;align-items:flex-end;background:rgba(255,255,255,.018);border-top:1px solid rgba(255,255,255,.06); }
.pulse-bar-fill { width:100%;height:var(--bar-height);min-height:2px;background:linear-gradient(0deg,rgba(184,243,108,.35),var(--signal));transform-origin:bottom;animation:bar-rise .7s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--bar-delay); }
.pulse-bar-column i { position:absolute;bottom:0;left:0;width:100%;height:var(--high-height);min-height:3px;border-top:2px solid #ff9c78;pointer-events:none; }
.pulse-bar-column small { color:#647369;font:8px var(--mono); }
.chart-axis { display:flex;justify-content:space-between;margin-top:13px;color:#536157;font:8px var(--mono); }
.pulse-side { display:grid;grid-template-rows:repeat(3,1fr);border-left:1px solid var(--stroke);padding-left:24px; }
.pulse-total { display:flex;flex-direction:column;justify-content:center;padding:12px 0;border-bottom:1px solid rgba(224,238,228,.07); }
.pulse-total:last-child { border:0; }
.pulse-total span { color:#77867a;font:8px var(--mono);letter-spacing:.1em; }
.pulse-total strong { font-size:21px;font-weight:500;letter-spacing:-.04em;margin:6px 0;overflow-wrap:anywhere; }
.pulse-total small { color:#66756a;font-size:9px; }
.lab-filterbar { display:flex;align-items:center;gap:15px;margin:23px 0 9px;flex-wrap:wrap; }
.lab-search { flex:1 1 260px;display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--stroke-bright);padding:0 3px 0 0; }
.lab-search > span { color:var(--signal);font-size:20px; }
.lab-search input { flex:1;border:0!important;background:transparent!important;padding:12px 0!important; }
.lab-select-label { display:flex;align-items:center;gap:12px;color:#738075;font:9px var(--mono); }
.lab-select-label select { padding:10px 12px;min-width:145px; }
.lab-muted { color:#6e7c71;font:9px var(--mono); }
.ops-timeline { border-top:1px solid var(--stroke); }
.timeline-row { display:grid;grid-template-columns:8px 135px minmax(0,1fr) auto;gap:14px;align-items:start;padding:18px 0;border-bottom:1px solid rgba(224,238,228,.08);animation:reveal-up .35s both; }
.timeline-marker { width:6px;height:6px;margin-top:6px;background:#788a7b;transform:rotate(45deg); }
.timeline-marker.high { background:var(--red);box-shadow:0 0 13px rgba(255,131,117,.25); }.timeline-marker.medium { background:var(--amber); }
.timeline-row time { font:9px/1.7 var(--mono);color:#78887b; }
.timeline-event strong { font-size:12px;font-weight:600;letter-spacing:-.02em; }
.timeline-event p { color:#7e8e81;font-size:10px;line-height:1.7;margin:7px 0 9px;overflow-wrap:anywhere; }
.timeline-tags { display:flex;flex-wrap:wrap;gap:6px; }
.timeline-tags span { border:1px solid var(--stroke);padding:4px 6px;color:#8a998d;font:8px var(--mono); }
.timeline-note { border:0;background:transparent;color:#77877a;font:8px var(--mono);padding:5px;white-space:nowrap; }
.timeline-note:hover { color:var(--signal); }
.lab-form { display:flex;gap:13px;align-items:end;flex-wrap:wrap;padding:18px 0;border-top:1px solid var(--stroke);border-bottom:1px solid var(--stroke); }
.lab-form label,.simulator-inputs label,.runbook-title-label,.runbook-body-label { display:flex;flex-direction:column;gap:9px;color:#819084;font:9px var(--mono);letter-spacing:.035em; }
.lab-form label { flex:1 1 190px; }
.lab-form input,.lab-form select,.simulator-inputs input,.runbook-title-label input { width:100%;min-width:0;padding:12px 11px; }
.lab-form .button { min-height:42px;white-space:nowrap; }
.lab-form-stacked { display:grid;grid-template-columns:1fr auto;align-items:end; }
.lab-form-stacked label { min-width:0; }
.lab-record-list { border-top:1px solid rgba(224,238,228,.08);margin-top:15px; }
.lab-record { display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid rgba(224,238,228,.08); }
.lab-record-main { display:flex;flex-direction:column;gap:5px;min-width:0;flex:1; }
.lab-record-label { font:8px var(--mono);letter-spacing:.1em;color:var(--signal);text-transform:uppercase; }
.lab-record-main strong { font-size:12px;font-weight:550;overflow-wrap:anywhere; }
.lab-record-main small { color:#78877b;font-size:10px;line-height:1.6;overflow-wrap:anywhere; }
.lab-record-count { border:1px solid var(--stroke);min-width:35px;height:35px;display:grid;place-items:center;font:12px var(--mono); }
.lab-record > .button { flex:0 0 auto; }
.simulator-grid { display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:clamp(25px,4vw,65px);border-top:1px solid var(--stroke);border-bottom:1px solid var(--stroke);padding:22px 0; }
.simulator-inputs { display:grid;grid-template-columns:1fr 1fr;gap:16px;align-content:start; }
.simulator-inputs input { margin-top:0;padding:10px; }
.simulator-inputs .button { grid-column:1/-1;justify-self:start;margin-top:4px; }
.simulator-result { min-height:220px;padding:20px 0 10px 25px;border-left:1px solid var(--stroke);display:flex;flex-direction:column;align-items:flex-start; }
.result-kicker { color:var(--signal);font:8px var(--mono);letter-spacing:.12em; }
.simulator-result > strong { font-size:clamp(23px,3vw,38px);font-weight:500;letter-spacing:-.07em;margin:13px 0 8px; }
.simulator-result > p { color:#8d9a8f;font-size:10px;line-height:1.7;margin-bottom:17px; }
.sim-tier { width:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:auto;border-top:1px solid var(--stroke);padding-top:13px;gap:7px; }
.sim-tier span { color:#515f54;font:9px var(--mono); }
.sim-tier span.reached { color:var(--signal); }
.sim-tier small { display:block;margin-top:6px;font:8px/1.5 var(--mono);color:#6c7a6e;overflow-wrap:anywhere; }
.sim-tier .reached small { color:#a9b9a8; }
.sim-flags { display:flex;gap:8px;flex-wrap:wrap;margin-top:16px; }
.sim-flags span { color:#c6d1c5;font-size:9px;border-left:2px solid var(--amber);padding-left:9px; }
.simulator-result[data-tier="0"] .result-kicker { color:#9eae9e; }
.simulator-result[data-tier="3"] .result-kicker,.simulator-result[data-tier="4"] .result-kicker { color:var(--red); }
.lab-footnote { font-size:9px!important;color:#5f6d62!important;margin-top:17px!important; }
.audit-summary { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--stroke);margin:20px 0; }
.audit-summary > div { padding:18px 16px 18px 0; }
.audit-summary > div+div { border-left:1px solid var(--stroke);padding-left:18px; }
.audit-summary span { display:block;color:#728075;font:8px var(--mono);letter-spacing:.1em; }
.audit-summary strong { display:block;font-size:24px;font-weight:500;letter-spacing:-.05em;margin-top:7px; }
.lab-table { min-width:730px; }
.lab-table td { padding-block:13px; }
.lab-result-list { margin-top:21px;border-top:1px solid var(--stroke); }
.drift-summary { display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:15px 0;border-bottom:1px solid var(--stroke);font:9px var(--mono); }
.drift-summary span { color:#738177;letter-spacing:.08em; }.drift-summary strong { color:var(--signal);font-size:11px;font-weight:500; }
.drift-row { display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,1fr) 20px minmax(0,1fr);gap:13px;align-items:center;padding:14px 0;border-bottom:1px solid rgba(224,238,228,.08); }
.drift-row > span:first-child { color:#d3ddd2;font-size:11px; }.drift-arrow { color:var(--signal);text-align:center; }
.drift-row div { display:flex;flex-direction:column;gap:6px;min-width:0; }.drift-row small { color:#6f7d72;font:8px var(--mono); }.drift-row strong { font:10px/1.6 var(--mono);color:#9cac9d;overflow-wrap:anywhere; }
.readiness-meter { height:2px;background:#273029;margin:21px 0 9px; }
.readiness-meter span { display:block;height:100%;width:0;background:var(--signal);transition:width .35s ease; }
.readiness-caption { text-align:right;font:9px var(--mono);color:#7d8b7f;margin-bottom:17px; }
.ops-checklist { border-top:1px solid var(--stroke); }
.readiness-item { display:grid;grid-template-columns:19px 30px minmax(0,1fr) 20px;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid rgba(224,238,228,.08);cursor:pointer;color:#aeb9ae;font-size:11px;line-height:1.6; }
.readiness-item input { position:absolute;opacity:0;width:1px;height:1px; }
.readiness-item input:focus-visible + .readiness-num { outline:2px solid var(--signal);outline-offset:3px; }
.readiness-num { color:#627166;font:9px var(--mono); }
.readiness-check { color:#354439;transition:color .2s; }
.readiness-item:has(input:checked) { color:#718076; }.readiness-item:has(input:checked) .readiness-num,.readiness-item:has(input:checked) .readiness-check { color:var(--signal); }
.runbook-title-label,.runbook-body-label { display:block;margin:17px 0 0; }
.runbook-title-label input,.runbook-body-label textarea { display:block;width:100%;margin-top:9px;padding:13px!important;line-height:1.75; }
.runbook-body-label textarea { resize:vertical;min-height:150px;font:12px/1.9 var(--mono); }
.drift-actions { display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px; }
.drift-actions .button { min-height:39px; }
.export-choices { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--stroke);border-left:1px solid var(--stroke); }
.export-choices button { position:relative;min-height:155px;display:flex;flex-direction:column;align-items:flex-start;gap:9px;text-align:left;padding:20px;background:transparent;color:var(--text);border:0;border-right:1px solid var(--stroke);border-bottom:1px solid var(--stroke);transition:background .2s; }
.export-choices button:hover { background:rgba(184,243,108,.045); }
.export-type { color:var(--signal);font:8px var(--mono);letter-spacing:.13em; }
.export-choices strong { font-size:16px;font-weight:500;letter-spacing:-.04em; }
.export-choices small { color:#78877b;font-size:10px; }
.export-arrow { position:absolute;right:20px;top:18px;color:#718075;transition:transform .2s,color .2s; }
.export-choices button:hover .export-arrow { color:var(--signal);transform:translate(3px,-3px); }
.lab-case-form { display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(130px,.65fr);align-items:end;gap:14px 18px; }
.lab-case-form label { display:flex;flex-direction:column;gap:9px;color:#829085;font:9px var(--mono); }
.lab-case-form select { padding:12px 10px; }.lab-case-form .case-note-label { grid-column:1/-1; }
.lab-case-form textarea { resize:vertical;padding:12px!important;line-height:1.7; }
.lab-case-form button { justify-self:start; }
.lab-legal { display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:23px 0 0;color:#667469;font:8px var(--mono);letter-spacing:.04em; }
.lab-legal > span:first-child { color:var(--signal);letter-spacing:.12em; }.lab-legal button { margin-left:auto; }
.empty-state { color:#718075;line-height:1.7;font-size:11px;padding:20px 0; }
.lab-record-list .empty-state { border-bottom:1px solid rgba(224,238,228,.08); }
.lab-filterbar .tag { border-radius:0; }
#ops-view-list .lab-record { flex-wrap:wrap; }
#ops-view-list .lab-record-main { flex-basis:100%; }
#ops-view-list .lab-record > .button { margin-left:auto; }
.lab-hero, .lab-section, .lab-section-heading { min-width:0; }
@keyframes signal-breathe { 0%,100% { opacity:.55;box-shadow:0 0 0 0 rgba(184,243,108,0); } 50% { opacity:1;box-shadow:0 0 0 5px rgba(184,243,108,.08); } }
@keyframes reveal-up { from { opacity:0;transform:translateY(16px); } to { opacity:1;transform:translateY(0); } }
@keyframes page-arrive { from { opacity:.65;transform:translateY(5px); } to { opacity:1;transform:translateY(0); } }
@keyframes orbit-drift { from { transform:rotateX(67deg) rotateZ(-23deg); } to { transform:rotateX(67deg) rotateZ(337deg); } }
@keyframes orbit-counter { from { transform:rotateX(67deg) rotateZ(23deg); } to { transform:rotateX(67deg) rotateZ(-337deg); } }
@keyframes core-float { 0%,100% { translate:0 0; } 50% { translate:0 -9px; } }
@keyframes readout-float { 0%,100% { translate:0 0; } 50% { translate:0 -5px; } }
@keyframes scan-vertical { 0%,100% { transform:translateY(-20%);opacity:0; } 30%,70% { opacity:.35; } 50% { transform:translateY(20%);opacity:.55; } }
@keyframes bar-rise { from { transform:scaleY(.05);opacity:.3; } to { transform:scaleY(1);opacity:1; } }

/* Discrete classes keep generated chart markup compatible with strict CSP style-src rules. */
.pulse-bar-fill.bar-height-0 { height:0%; }
.pulse-bar-column i.bar-high-0 { height:0%; }
.pulse-bar-fill.bar-height-1 { height:10%; }
.pulse-bar-column i.bar-high-1 { height:10%; }
.pulse-bar-fill.bar-height-2 { height:20%; }
.pulse-bar-column i.bar-high-2 { height:20%; }
.pulse-bar-fill.bar-height-3 { height:30%; }
.pulse-bar-column i.bar-high-3 { height:30%; }
.pulse-bar-fill.bar-height-4 { height:40%; }
.pulse-bar-column i.bar-high-4 { height:40%; }
.pulse-bar-fill.bar-height-5 { height:50%; }
.pulse-bar-column i.bar-high-5 { height:50%; }
.pulse-bar-fill.bar-height-6 { height:60%; }
.pulse-bar-column i.bar-high-6 { height:60%; }
.pulse-bar-fill.bar-height-7 { height:70%; }
.pulse-bar-column i.bar-high-7 { height:70%; }
.pulse-bar-fill.bar-height-8 { height:80%; }
.pulse-bar-column i.bar-high-8 { height:80%; }
.pulse-bar-fill.bar-height-9 { height:90%; }
.pulse-bar-column i.bar-high-9 { height:90%; }
.pulse-bar-fill.bar-height-10 { height:100%; }
.pulse-bar-column i.bar-high-10 { height:100%; }
.pulse-bar-fill.bar-delay-0 { animation-delay:0ms; }
.pulse-bar-fill.bar-delay-1 { animation-delay:28ms; }
.pulse-bar-fill.bar-delay-2 { animation-delay:56ms; }
.pulse-bar-fill.bar-delay-3 { animation-delay:84ms; }
.pulse-bar-fill.bar-delay-4 { animation-delay:112ms; }
.pulse-bar-fill.bar-delay-5 { animation-delay:140ms; }
.pulse-bar-fill.bar-delay-6 { animation-delay:168ms; }
.pulse-bar-fill.bar-delay-7 { animation-delay:196ms; }
.pulse-bar-fill.bar-delay-8 { animation-delay:224ms; }
.pulse-bar-fill.bar-delay-9 { animation-delay:252ms; }
.pulse-bar-fill.bar-delay-10 { animation-delay:280ms; }
.pulse-bar-fill.bar-delay-11 { animation-delay:308ms; }
.pulse-bar-fill.bar-delay-12 { animation-delay:336ms; }
.pulse-bar-fill.bar-delay-13 { animation-delay:364ms; }

@media (min-width: 1700px) {
  .landing-main,.landing-story,.landing-top,.landing-footer { max-width:1650px;margin-left:auto;margin-right:auto;width:100%; }
}
@media (max-width: 1320px) {
  .sidebar { grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"brand nav guild" "bottom bottom bottom";gap:10px 20px; }
  .sidebar-bottom { grid-area:bottom;display:flex;justify-content:space-between;border-top:1px solid rgba(224,238,228,.065);padding-top:9px; }
  .nav-item { padding:9px 8px;font-size:10px; }
  .nav-icon { display:none; }
}
@media (max-width: 1000px) {
  .landing-main { grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:22px; }
  .landing-copy h1 { font-size:clamp(52px,8vw,80px); }
  .landing-visual { min-height:370px; }
  .readout-a { left:-3%; }.readout-b { right:-4%; }
  .sidebar { grid-template-columns:1fr auto;grid-template-areas:"brand guild" "nav nav" "bottom bottom";padding-block:12px; }
  .brand { grid-area:brand; }.guild-select { grid-area:guild;width:min(40vw,240px); }
  .nav-list { grid-area:nav; }
  .sidebar-bottom { grid-area:bottom; }
  .nav-item { font-size:11px; }
  .user-copy { max-width:120px; }
  .pulse-grid { grid-template-columns:minmax(0,1fr) 185px;gap:22px; }
}
@media (max-width: 720px) {
  body::before { background-size:42px 42px; }
  .login-screen { padding:0 19px; }
  .landing-top { min-height:74px;grid-template-columns:1fr auto;gap:12px; }
  .landing-topline { display:none; }
  .landing-main { display:flex;flex-direction:column;align-items:stretch;gap:32px;padding:49px 0 38px;min-height:0; }
  .landing-copy h1 { font-size:clamp(49px,14vw,77px);margin-top:22px; }
  .landing-lede { font-size:14px;line-height:1.75; }
  .landing-actions { align-items:flex-start;flex-direction:column;gap:13px; }
  .landing-proof { gap:18px;justify-content:space-between;margin-top:29px; }
  .landing-proof span { gap:5px;flex-wrap:wrap;font-size:8px; }
  .landing-proof b { font-size:8px; }
  .landing-visual { min-height:305px;max-height:340px; }
  .visual-orbit.orbit-outer { width:300px;max-width:90vw; }
  .visual-core { width:100px;height:100px; }
  .visual-core-mark { font-size:36px; }
  .visual-readout { min-width:118px;padding-left:9px; }
  .readout-a { left:0;top:20%; }.readout-b { right:0;bottom:19%; }
  .coordinate-top { top:0;left:0; }.coordinate-bottom { right:0;bottom:0; }
  .landing-story { grid-template-columns:1fr; }
  .landing-story > div,.landing-story > div + div { padding:18px 0;border:0;border-bottom:1px solid var(--stroke); }
  .landing-story > div:last-child { border-bottom:0; }
  .landing-story p { margin-bottom:0; }
  .landing-footer { flex-wrap:wrap;font-size:8px;line-height:1.7; }
  .footer-year { width:100%;margin-left:0; }
  .sidebar { padding:11px 15px;gap:9px; }
  .brand-mark { width:31px;height:31px; }
  .brand strong { font-size:12px; }.brand small { font-size:7px; }
  .guild-select { width:min(48vw,210px);font-size:10px;padding:9px 5px; }
  .nav-list { gap:0;margin:0 -5px;padding:2px 0; }
  .nav-item { padding:11px 11px;font-size:10px; }
  .nav-lab-mark { display:none; }
  .sidebar-bottom { align-items:center;gap:8px; }
  .api-status { gap:6px; }.api-status small { display:none; }.api-status strong { font-size:9px; }
  .user-copy strong { max-width:100px;font-size:9px; }.user-copy small { display:none; }
  .main-area { padding:0 17px 25px; }
  .topbar { padding:15px 0; }
  .breadcrumb { font-size:9px; }.top-actions { gap:7px; }#last-updated { display:none; }
  .page-view { padding-top:27px; }
  .page-heading { display:block;margin-bottom:26px; }
  .page-heading h1 { font-size:42px; }
  .page-heading .status-pill { display:inline-flex;margin-top:8px; }
  .stats-grid { grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:32px; }
  .stat-card { padding:18px 12px 19px 0; }
  .stat-card + .stat-card { padding-left:12px; }
  .stat-card:nth-child(3) { border-left:0;border-top:1px solid var(--stroke); }
  .stat-card:nth-child(4) { border-top:1px solid var(--stroke); }
  .stat-number { font-size:38px;margin:13px 0 6px; }
  .stat-caption { font-size:9px; }
  .content-grid { grid-template-columns:1fr;gap:28px; }
  .panel { padding-top:20px; }
  .panel-heading h2 { font-size:19px; }
  .form-grid,.settings-grid { grid-template-columns:1fr; }
  .button-row { flex-wrap:wrap; }
  .lab-hero { min-height:0;padding:22px 0 28px;align-items:flex-start;flex-direction:column;gap:23px; }
  .lab-hero h1 { font-size:clamp(42px,12vw,65px);margin:18px 0 14px; }
  .lab-hero-stamp { min-width:0;border-left:0;border-top:1px solid var(--signal);padding:12px 0 0;width:100%;display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 15px; }
  .lab-hero-stamp > span { grid-column:1; }.lab-hero-stamp strong { grid-column:1;margin:3px 0;font-size:22px; }.lab-hero-stamp small { grid-column:2;grid-row:1/3;text-align:right; }
  .lab-contents { top:104px; }
  .lab-contents button { padding:14px 12px;font-size:8px;gap:8px; }.lab-contents button:first-child { padding-left:0; }.lab-contents button span { font-size:10px; }
  .lab-section { grid-template-columns:29px minmax(0,1fr);gap:13px;padding:32px 0 35px;scroll-margin-top:120px; }
  .lab-section-index { font-size:10px; }.lab-section-index span { font-size:7px;writing-mode:vertical-rl; }
  .lab-section-main h2 { font-size:28px; }
  .lab-section-main > p { font-size:11px; }
  .lab-section-heading { align-items:flex-start;flex-direction:column;gap:15px; }
  .lab-count { display:flex;align-items:baseline;gap:10px;text-align:left;border-left:0;border-bottom:1px solid var(--stroke);padding:0 0 12px;width:100%; }
  .lab-count strong { font-size:27px; }.lab-count span { font-size:8px; }
  .pulse-grid { grid-template-columns:1fr;gap:16px; }
  .pulse-chart { height:120px;gap:3px; }.pulse-bar-column small { font-size:7px; }.chart-caption { font-size:7px; }
  .pulse-side { grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:1fr;border-left:0;border-top:1px solid var(--stroke);padding:9px 0 0;gap:10px; }
  .pulse-total { padding:9px 0;border:0;align-items:flex-start; }.pulse-total strong { font-size:14px; }.pulse-total span { font-size:7px; }.pulse-total small { font-size:8px;line-height:1.5; }
  .lab-filterbar { gap:10px; }.lab-filterbar .lab-search { flex-basis:100%; }.lab-select-label { flex:1;justify-content:space-between; }.lab-select-label select { min-width:130px; }
  .timeline-row { grid-template-columns:7px minmax(0,1fr) auto;gap:9px;padding:15px 0; }
  .timeline-row time { grid-column:2/-1;grid-row:1;font-size:8px; }
  .timeline-marker { grid-column:1;grid-row:2; }.timeline-event { grid-column:2/-1;grid-row:2; }.timeline-note { grid-column:2;justify-self:start;grid-row:3;padding-left:0; }
  .lab-form { align-items:stretch; }.lab-form label { flex-basis:100%; }.lab-form .button { align-self:flex-start; }
  .lab-form-stacked { grid-template-columns:1fr; }
  .lab-record { gap:9px;flex-wrap:wrap; }.lab-record-main { flex-basis:100%; }.lab-record-count { margin-left:auto; }
  .simulator-grid { grid-template-columns:1fr;gap:23px; }
  .simulator-inputs { gap:12px; }.simulator-result { border-left:0;border-top:1px solid var(--stroke);padding:22px 0 0;min-height:205px; }
  .sim-tier { gap:3px; }.sim-tier small { font-size:7px; }
  .audit-summary > div { padding:13px 7px 13px 0; }.audit-summary > div+div { padding-left:8px; }.audit-summary span { font-size:7px; }.audit-summary strong { font-size:19px; }
  .drift-actions { gap:8px; }.drift-actions .button { padding-inline:10px;font-size:10px; }
  .drift-row { grid-template-columns:1fr auto;gap:8px; }.drift-row > span:first-child { grid-column:1/-1; }.drift-arrow { display:none; }
  .readiness-item { grid-template-columns:17px 20px minmax(0,1fr) 14px;gap:7px;font-size:10px;padding:12px 0; }
  .export-choices { grid-template-columns:1fr; }
  .export-choices button { min-height:125px;padding:17px; }
  .lab-case-form { grid-template-columns:1fr; }.lab-case-form .case-note-label { grid-column:auto; }
  .lab-legal { gap:10px;line-height:1.7; }.lab-legal button { margin-left:0; }
  .main-footer { font-size:8px;line-height:1.7;gap:8px; }
}
@media (max-width: 390px) {
  .landing-access { font-size:10px; }.landing-brand { gap:7px; }.landing-brand small { font-size:7px; }
  .landing-proof { gap:9px; }.landing-proof span { font-size:7px; }
  .sidebar { padding-inline:10px; }.guild-select { width:45vw; }.nav-item { padding-inline:9px; }
  .main-area { padding-inline:12px; }.lab-section { grid-template-columns:22px minmax(0,1fr);gap:10px; }
  .simulator-inputs { grid-template-columns:1fr; }.simulator-inputs .button { grid-column:auto; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important; }
}


/* Interaction finish: inspired by the button studies, tuned for the TAS field-system palette. */
.button,
.icon-button,
.nav-item,
.guild-select,
.export-choices button {
  -webkit-tap-highlight-color: transparent;
}
.button {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  transition:
    transform 180ms cubic-bezier(.2,.8,.2,1),
    border-color 180ms ease,
    background-color 180ms ease,
    color 180ms ease,
    box-shadow 180ms ease;
}
.button::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(112deg, transparent 20%, rgba(255,255,255,.16) 48%, transparent 72%);
  transform: translateX(-110%);
  transition: transform 420ms ease, opacity 160ms ease;
}
.button:hover::after {
  opacity: 1;
  transform: translateX(110%);
}
.button:active,
.icon-button:active,
.export-choices button:active {
  transform: translateY(1px) scale(.985);
}
.button.primary {
  box-shadow: 0 1px 0 rgba(255,255,255,.22) inset, 0 5px 18px rgba(184,243,108,.055);
}
.button.primary:hover {
  box-shadow: 0 1px 0 rgba(255,255,255,.3) inset, 0 8px 24px rgba(184,243,108,.13);
}
.button.secondary:hover {
  box-shadow: 0 5px 18px rgba(0,0,0,.18);
}
.button.danger:hover {
  border-color: rgba(255,131,117,.62);
  box-shadow: 0 5px 18px rgba(255,80,70,.08);
}
.icon-button {
  transition: transform 160ms ease, border-color 160ms ease, background 160ms ease, color 160ms ease;
}
.icon-button:hover {
  transform: translateY(-1px);
  border-color: var(--stroke-bright);
  background: rgba(255,255,255,.06);
}
.nav-item {
  position: relative;
  transition: color 160ms ease, border-color 160ms ease, background 160ms ease, padding 160ms ease;
}
.nav-item:hover { padding-left: 13px; }
.nav-item.active { box-shadow: inset 2px 0 0 var(--signal); }
.guild-select:focus-visible,
.button:focus-visible,
.icon-button:focus-visible,
.nav-item:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--signal);
  outline-offset: 3px;
}
.export-choices button {
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}
.export-choices button:hover {
  transform: translateY(-2px);
  border-color: rgba(184,243,108,.5);
  background: rgba(184,243,108,.035);
}
/* Optional reusable variants for future dashboard controls. */
.btn-glow:hover { box-shadow: 0 0 0 1px rgba(184,243,108,.35), 0 8px 24px rgba(184,243,108,.12); }
.btn-liquid { overflow: hidden; }
.btn-liquid::before {
  content: "";
  position: absolute;
  width: 145%;
  height: 220%;
  left: -22%;
  top: 115%;
  border-radius: 45%;
  background: rgba(184,243,108,.13);
  transition: top 420ms cubic-bezier(.2,.8,.2,1), transform 600ms ease;
  z-index: -1;
}
.btn-liquid:hover::before { top: -58%; transform: rotate(-9deg); }
.btn-electric { border: 1px solid rgba(184,243,108,.45); }
.btn-electric:hover { box-shadow: 0 0 0 1px rgba(184,243,108,.12), 0 0 18px rgba(184,243,108,.09); }
.btn-3d { box-shadow: 0 3px 0 rgba(0,0,0,.45); }
.btn-3d:active { transform: translateY(2px); box-shadow: 0 1px 0 rgba(0,0,0,.4); }
.btn-neon:hover { box-shadow: 0 0 0 1px rgba(184,243,108,.24), 0 0 22px rgba(184,243,108,.08); }
.btn-ripple { overflow: hidden; }
.btn-slide { background-image: linear-gradient(90deg, rgba(184,243,108,.09) 50%, transparent 50%); background-size: 205% 100%; background-position: right center; transition: background-position 240ms ease, border-color 180ms ease; }
.btn-slide:hover { background-position: left center; }
.btn-text:hover { color: var(--signal); }
@media (prefers-reduced-motion: reduce) {
  .button, .button::after, .icon-button, .nav-item, .guild-select, .export-choices button,
  .btn-liquid::before { transition: none !important; }
  .button:hover::after { display: none; }
}


/* TAS clan branding: use the supplied mark and banner, not placeholder glyphs/orbit art. */
.brand-mark.logo-image {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  padding: 0;
  flex: 0 0 auto;
  overflow: hidden;
  border: 1px solid rgba(222, 218, 203, .28);
  border-radius: 4px;
  background: #090b0c !important;
  color: inherit;
  box-shadow: none !important;
}
.brand-mark.logo-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}
.landing-brand .brand-mark.logo-image { width: 48px; height: 48px; }
.brand .brand-mark.logo-image { width: 34px; height: 34px; }
.landing-visual {
  width: 100%;
  min-height: 0;
  height: auto;
  aspect-ratio: 776 / 325;
  position: relative;
  display: block;
  overflow: hidden;
  isolation: auto;
  border: 1px solid rgba(222, 218, 203, .17);
  border-radius: 4px;
  background: #050708;
  box-shadow: 0 22px 54px rgba(0,0,0,.24);
  animation: reveal-up 1s .12s cubic-bezier(.2,.7,.2,1) both;
}
.tas-clan-banner {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 776 / 325;
  object-fit: cover;
  object-position: center;
  transition: transform 500ms cubic-bezier(.2,.8,.2,1), filter 500ms ease;
}
.landing-visual:hover .tas-clan-banner { transform: scale(1.015); filter: contrast(1.025); }
@media (max-width: 720px) {
  .landing-brand .brand-mark.logo-image { width: 43px; height: 43px; }
  .landing-visual { margin-top: 20px; }
  .tas-clan-banner { object-fit: cover; }
}
@media (prefers-reduced-motion: reduce) {
  .tas-clan-banner { transition: none; }
  .landing-visual:hover .tas-clan-banner { transform: none; }
}
