:root{--ink:#04223a;--ink-deep:#021524;--blue:#075388;--blue-lift:#0d6aa9;--salmon:#f15d5f;--salmon-press:#e04d4f;--yellow:#f2ba56;--green:#0b895c;--w:#fff;--w70:#ffffffb8;--w45:#ffffff73;--w14:#ffffff24;--w07:#ffffff12;--font:Arial, Helvetica, sans-serif;--radius:4px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100%}body{font-family:var(--font);background:var(--ink-deep);color:var(--w);-webkit-font-smoothing:antialiased;position:relative}a{color:inherit;text-decoration:none}button{font-family:inherit}.field{z-index:0;background:radial-gradient(120% 90% at 74% 50%, var(--blue) 0%, #07538873 32%, #04223a00 62%), radial-gradient(100% 120% at 8% 8%, #0d6aa947 0%, #04223a00 55%), linear-gradient(160deg, var(--ink) 0%, var(--ink-deep) 100%);position:fixed;inset:0}.print-stage{aspect-ratio:1020/1330;z-index:1;pointer-events:none;height:96vh;position:fixed;top:50%;right:-8vw;transform:translateY(-50%);-webkit-mask-image:radial-gradient(closest-side,#000 50%,#0000 100%);mask-image:radial-gradient(closest-side,#000 50%,#0000 100%)}.print-stage:before{content:"";background:var(--w);opacity:.1;position:absolute;inset:0;-webkit-mask:url(/portal-assets/thumbprint.svg) 50%/contain no-repeat;mask:url(/portal-assets/thumbprint.svg) 50%/contain no-repeat}.wrap{z-index:5;flex-direction:column;max-width:1500px;min-height:100vh;margin:0 auto;padding:30px 6vw;display:flex;position:relative}.bar{opacity:0;justify-content:space-between;align-items:center;gap:16px;animation:.7s 50ms forwards rise;display:flex}.brand img{width:auto;height:36px;display:block}.who{align-items:center;gap:12px;display:flex}.who-name{color:var(--w70);font-size:13px}.avatar{background:var(--w14);border:1px solid var(--w14);width:32px;height:32px;color:var(--w);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.signout{background:var(--w07);border:1px solid var(--w14);color:var(--w70);cursor:pointer;border-radius:3px;align-items:center;gap:7px;padding:8px 13px;font-size:12.5px;transition:background .16s,border-color .16s,color .16s;display:inline-flex}.signout:hover{background:var(--w14);color:var(--w);border-color:var(--w45)}.signout:focus-visible{outline:2px solid var(--w);outline-offset:3px}.hero{max-width:640px;padding:56px 0 34px}.hero h1{letter-spacing:-.02em;opacity:0;margin-bottom:12px;font-size:clamp(30px,3.6vw,44px);font-weight:700;line-height:1.06;animation:.8s .3s forwards rise}.hero .sub{color:var(--w70);opacity:0;max-width:46ch;font-size:clamp(15px,1.2vw,17px);line-height:1.6;animation:.8s .42s forwards rise}.tools{opacity:0;flex:1;animation:.8s .56s forwards rise}.tool-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.card{background:var(--w07);border:1px solid var(--w14);border-radius:var(--radius);min-height:178px;color:var(--w);flex-direction:column;gap:10px;padding:20px 20px 18px;transition:background .16s,border-color .16s,transform .16s;display:flex;position:relative}a.card:hover,a.card:focus-visible{background:var(--w14);border-color:var(--w45);outline:none;transform:translateY(-2px)}a.card:focus-visible{box-shadow:0 0 0 2px var(--w)}.card.is-soon{color:var(--w45);background:0 0;border-style:dashed}.card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.card-icon{background:var(--w07);border:1px solid var(--w14);width:38px;height:38px;color:var(--w);border-radius:3px;justify-content:center;align-items:center;display:flex}.card.is-soon .card-icon{color:var(--w45)}.card-name{letter-spacing:-.01em;font-size:16px;font-weight:700}.card-desc{color:var(--w70);flex:1;font-size:13.5px;line-height:1.55}.card.is-soon .card-desc{color:var(--w45)}.card-foot{justify-content:space-between;align-items:center;margin-top:6px;font-size:13px;font-weight:700;display:flex}.card-open{color:var(--salmon);align-items:center;gap:6px;display:inline-flex}.card-open svg{width:14px;height:14px;transition:transform .16s}a.card:hover .card-open svg{transform:translate(3px)}.card-soon-label{color:var(--w45);font-weight:400}.badges{gap:6px;display:flex}.badge{letter-spacing:.02em;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700;line-height:1.4}.badge-published{background:var(--green);color:var(--w)}.badge-dev{background:var(--yellow);color:var(--ink)}.badge-coming-soon{background:var(--w14);color:var(--w70)}.badge-hipaa{background:var(--salmon);color:var(--w)}.foot{border-top:1px solid var(--w14);color:var(--w45);opacity:0;justify-content:space-between;gap:12px;margin-top:40px;padding-top:18px;font-size:12.5px;animation:.8s .7s forwards rise;display:flex}.center{z-index:5;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative}.quiet{color:var(--w70);font-size:15px}.login{background:var(--w07);border:1px solid var(--w14);border-radius:var(--radius);opacity:0;flex-direction:column;gap:16px;width:440px;max-width:100%;padding:32px;animation:.7s 50ms forwards rise;display:flex}.login .brand img{height:34px}.login h2{letter-spacing:-.02em;font-size:24px;font-weight:700;line-height:1.1}.login p{color:var(--w70);font-size:14px;line-height:1.6}.signin{background:var(--salmon);color:var(--w);border-radius:var(--radius);cursor:pointer;border:0;justify-content:center;align-items:center;gap:11px;padding:15px 26px;font-size:15px;font-weight:700;transition:background .16s,transform .16s;display:inline-flex}.signin:hover{background:var(--salmon-press);transform:translateY(-1px)}.signin:active{transform:translateY(0)}.signin:disabled{opacity:.6;cursor:default;transform:none}.signin:focus-visible{outline:2px solid var(--w);outline-offset:3px}.signin svg{flex:none;width:15px;height:15px}.note{color:var(--w45);font-size:13px}.error{color:var(--w);word-break:break-word;background:#f15d5f2e;border:1px solid #f15d5f80;border-radius:3px;padding:10px 12px;font-size:13px;line-height:1.5}.error code{color:var(--w70);margin-top:4px;font-family:Consolas,Menlo,monospace;font-size:11px;display:block}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (width<=1000px){.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.print-stage{opacity:.8;height:80vh;right:-30vw}}@media (width<=600px){.wrap{padding:22px 16px 24px}.tool-grid{grid-template-columns:1fr}.hero{padding:36px 0 24px}.who-name{display:none}.print-stage{opacity:.6;height:64vh;right:-50vw}.foot{flex-direction:column;gap:6px}}@media (prefers-reduced-motion:reduce){.bar,.hero h1,.hero .sub,.tools,.foot,.login{opacity:1;animation:none;transform:none}.card,.signout,.signin,.card-open svg{transition:none}}
