:root{color:#1a1c1b;font-synthesis:none;--ink:#1a1c1b;--paper:#f2f3ef;--green:#173f35;--green-light:#2e6757;--red:#d52b1e;--muted:#68716c;--line:#d9dcd6;background:#f2f3ef;font-family:Avenir Next,Trebuchet MS,sans-serif}*{box-sizing:border-box}body{background:var(--paper);min-width:320px;min-height:100vh;margin:0}button{font:inherit}.app-shell{min-height:100vh}.topbar{z-index:10;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;width:58%;height:86px;padding:0 clamp(2rem,5.5vw,6rem);display:flex;position:absolute;top:0;left:0}.wordmark{color:var(--ink);align-items:center;gap:.75rem;font-family:Georgia,Times New Roman,serif;font-size:1.2rem;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark{background:var(--red);color:#fff;place-items:center;width:34px;height:34px;font-family:Georgia,Times New Roman,serif;font-size:1.15rem;line-height:1;display:grid}.environment{color:var(--muted);text-transform:uppercase;align-items:center;gap:.5rem;font-size:.72rem;font-weight:700;display:inline-flex}.environment span{background:#28a46c;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #28a46c24}.shell{grid-template-columns:minmax(0,58%) minmax(320px,42%);min-height:100vh;display:grid}.identity-panel{flex-direction:column;justify-content:space-between;min-width:0;padding:86px clamp(2rem,5.5vw,6rem) 2rem;display:flex}.identity-content{flex-direction:column;flex:1;justify-content:center;align-items:flex-start;width:min(100%,560px);padding:3rem 0;animation:.6s ease-out both reveal;display:flex}.eyebrow{color:var(--red);text-transform:uppercase;margin:0 0 1.35rem;font-size:.72rem;font-weight:700}h1{color:var(--ink);margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(3.5rem,5.7vw,6rem);font-weight:400;line-height:.93}.intro{max-width:38ch;color:var(--muted);margin:1.75rem 0 0;font-size:1rem;line-height:1.65}.auth-area{border-top:1px solid var(--line);width:min(100%,390px);margin-top:2.5rem;padding-top:2.25rem}.status{min-height:48px;color:var(--muted);align-items:center;gap:.75rem;margin:0;font-size:.88rem;display:inline-flex}.status-spinner{border:2px solid var(--line);border-top-color:var(--green);border-radius:50%;width:18px;height:18px;animation:.85s linear infinite spin}.primary-action,.text-action{cursor:pointer;border:0;min-height:44px;font-weight:700}.primary-action{background:var(--green);color:#fff;text-align:left;grid-template-columns:18px 1fr 18px;align-items:center;gap:1rem;width:100%;min-height:56px;padding:.75rem 1rem;transition:background-color .16s,transform .16s;display:grid}.primary-action:hover,.primary-action:focus-visible{background:var(--green-light);transform:translateY(-2px)}.primary-action:focus-visible,.text-action:focus-visible,.wordmark:focus-visible{outline-offset:3px;outline:3px solid #d52b1e59}.microsoft-mark{grid-template-rows:repeat(2,7px);grid-template-columns:repeat(2,7px);gap:2px;display:grid}.microsoft-mark i:first-child{background:#f35325}.microsoft-mark i:nth-child(2){background:#81bc06}.microsoft-mark i:nth-child(3){background:#05a6f0}.microsoft-mark i:nth-child(4){background:#ffba08}.button-arrow{text-align:right;font-size:1.25rem;font-weight:400}.authenticated{border-left:3px solid var(--green);width:100%;padding:1.35rem 0 0 1.25rem}.welcome{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.55rem;line-height:1.2}.welcome strong{font-weight:400}.message{color:var(--muted);align-items:center;gap:.55rem;margin:.7rem 0 1.1rem;font-size:.82rem;display:flex}.message span{background:#28a46c;border-radius:50%;width:7px;height:7px}.text-action{color:var(--red);text-underline-offset:.25rem;background:0 0;padding:0;font-size:.82rem;text-decoration:underline}.error{border-left:3px solid var(--red);color:#78231d;background:#f8e8e5;margin:1rem 0 0;padding:.85rem 1rem;font-size:.85rem;line-height:1.5}.page-footer{border-top:1px solid var(--line);color:#858c88;text-transform:uppercase;justify-content:space-between;padding-top:1.5rem;font-size:.68rem;font-weight:700;display:flex}.signal-panel{background-color:var(--green);color:#f5f3eb;background-image:radial-gradient(circle at 80% 18%,#ffffff14 0 1px,#0000 1.5px);background-size:24px 24px;flex-direction:column;justify-content:flex-end;min-height:100%;padding:clamp(2.5rem,5vw,5.5rem);display:flex;position:relative;overflow:hidden}.route-map{opacity:.9;position:absolute;inset:0}.route{transform-origin:0;background:#f2ca4cb3;height:2px;display:block;position:absolute}.route-one{width:66%;top:26%;left:13%;transform:rotate(28deg)}.route-two{width:58%;top:53%;left:36%;transform:rotate(-38deg)}.route-three{width:49%;top:42%;left:7%;transform:rotate(-12deg)}.route-node{background:var(--green);border:3px solid #f2ca4c;border-radius:50%;width:14px;height:14px;animation:2.8s ease-in-out infinite pulse;display:block;position:absolute;box-shadow:0 0 0 7px #f2ca4c1a}.node-one{top:25%;left:12%}.node-two{animation-delay:.4s;top:45%;left:51%}.node-three{animation-delay:.8s;top:20%;right:14%}.node-four{animation-delay:1.2s;top:40%;left:6%}.signal-copy{z-index:1;animation:.7s ease-out .12s both reveal;position:relative}.signal-index{color:#f2ca4c;text-transform:uppercase;margin:0 0 1.5rem;font-size:.7rem;font-weight:700}.signal-panel h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.2rem,4vw,4.4rem);font-weight:400;line-height:.98}.signal-detail{color:#b9c9c2;max-width:28ch;margin:1.5rem 0 0;font-size:.92rem;line-height:1.6}[hidden]{display:none!important}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{box-shadow:0 0 0 6px #f2ca4c14}50%{box-shadow:0 0 0 12px #f2ca4c29}}@keyframes reveal{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (width<=820px){.topbar{width:100%;height:72px;padding:0 1.5rem;position:relative}.shell{grid-template-rows:minmax(calc(100vh - 72px),auto) minmax(390px,55vh);grid-template-columns:1fr}.identity-panel{padding:2rem 1.5rem 1.5rem}.identity-content{justify-content:center;padding:2rem 0 3rem}.signal-panel{padding:2.5rem 1.5rem}h1{font-size:clamp(3.4rem,15vw,5rem)}.page-footer{gap:1rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
