:root{--ink:#0f3d3e;--ink-soft:#3d5f5f;--signal:#e8ff6a;--font-display:"Bricolage Grotesque", Georgia, serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;font-family:var(--font-display);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--ink);background:#d9e5df}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px}button,input{font:inherit}.page{flex-direction:column;min-height:100svh;padding:clamp(1.25rem,4vw,2.5rem);display:flex;position:relative;overflow-x:clip}.atmosphere{z-index:0;pointer-events:none;background:radial-gradient(80% 50% at 10% -10%,#e8ff6a2e,#0000 55%),radial-gradient(60% 45% at 90% 20%,#2e8b8e38,#0000 50%),linear-gradient(165deg,#f3f6f2 0%,#d9e5df 45%,#c5d4cf 100%);position:fixed;inset:0}.grid{background-image:linear-gradient(#0f3d3e0f 1px,#0000 1px),linear-gradient(90deg,#0f3d3e0f 1px,#0000 1px);background-size:48px 48px;animation:28s linear infinite grid-drift;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 60% at 50% 30%,#000,#0000);mask-image:radial-gradient(70% 60% at 50% 30%,#000,#0000)}.glow{filter:blur(40px);border-radius:50%;position:absolute}.glow-a{background:#e8ff6a40;width:280px;height:280px;animation:6s ease-in-out infinite pulse-soft;top:12%;right:8%}.glow-b{background:#0f3d3e2e;width:360px;height:360px;animation:8s ease-in-out infinite reverse pulse-soft;bottom:-8%;left:-6%}.radar{aspect-ratio:1;opacity:.55;width:min(42vw,340px);position:absolute;top:18%;right:max(4%,50% - 420px)}.radar span{border:1px solid #0f3d3e47;border-radius:50%;animation:4.5s ease-out infinite ring;position:absolute;inset:0}.radar span:nth-child(2){animation-delay:.7s;inset:14%}.radar span:nth-child(3){animation-delay:1.4s;inset:28%}.radar i{transform-origin:0;background:linear-gradient(90deg,#e8ff6ae6,#0000);width:48%;height:2px;margin-left:-1px;animation:3.8s linear infinite sweep;position:absolute;top:50%;left:50%}.brand-bar,.hero,.results,.foot{z-index:1;position:relative}.brand-bar{align-items:center;gap:.65rem;margin-bottom:2.5rem;display:flex}.mark{background:var(--signal);border-radius:50%;width:.85rem;height:.85rem;animation:2.4s ease-in-out infinite pulse-soft;box-shadow:0 0 0 6px #e8ff6a40}.brand{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin:0;font-size:.8rem}.hero{max-width:38rem;padding-top:clamp(1rem,8vh,4.5rem);animation:.8s ease-out both rise}.brand-hero{font-family:var(--font-display);letter-spacing:-.04em;color:var(--ink);margin:0 0 1rem;font-size:clamp(3.4rem,12vw,6.5rem);font-weight:800;line-height:.92}.lede{max-width:30rem;color:var(--ink-soft);margin:0 0 2rem;font-size:clamp(1.05rem,2.4vw,1.2rem);line-height:1.5}.lookup{flex-direction:column;align-items:stretch;gap:.75rem;display:flex}.actions{flex-wrap:wrap;gap:.75rem;display:flex}.field{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff8c;border:1.5px solid #0f3d3e47;align-items:center;gap:.35rem;min-height:3.4rem;padding:0 1rem;transition:border-color .2s,background .2s;display:flex}.field:focus-within{border-color:var(--ink);background:#ffffffd9}.prefix{font-family:var(--font-mono);color:var(--ink-soft)}.field input{width:100%;font-family:var(--font-mono);color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:1.05rem}.field input::placeholder{color:#0f3d3e59}.lookup button,.history button{font-family:var(--font-display);cursor:pointer;font-weight:700}.actions button{border:0;flex:10rem;min-height:3.4rem;padding:0 1.4rem;font-size:1.05rem;transition:transform .15s,opacity .15s}.actions button[type=submit]{background:var(--ink);color:var(--signal);width:100%}.actions button:hover:not(:disabled){transform:translateY(-1px)}.actions button:disabled{opacity:.55;cursor:not-allowed}.error{color:#8b1e1e;margin:1rem 0 0;font-size:.95rem}.notice{color:var(--ink);margin:1rem 0 0;font-size:.95rem}.hint{color:var(--ink-soft);margin:1.25rem 0 0;font-size:.92rem;line-height:1.45}.hint strong{color:var(--ink);font-weight:700}.share-panel{gap:1rem;margin-top:1.75rem;animation:.55s ease-out both rise;display:grid}.share-meta h3{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 .4rem;font-size:1.2rem;font-weight:700}.share-meta p{font-family:var(--font-mono);color:var(--ink);margin:0;font-size:.92rem}.share-time{color:var(--ink-soft)!important;margin-top:.35rem!important;font-size:.8rem!important}.share-links{flex-wrap:wrap;gap:1rem;margin-top:.75rem;display:flex}.share-links a,.share-links .linkish{font-family:var(--font-mono);color:var(--ink);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-size:.82rem;text-decoration:underline}.map-frame{background:#fff6;border:1.5px solid #0f3d3e33;width:100%;min-height:280px}.log-panel{margin-top:1.75rem;animation:.55s ease-out both rise}.log-head{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.75rem;display:flex}.log-head h3{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.2rem;font-weight:700}.log-table-wrap{border-top:1px solid #0f3d3e33;overflow-x:auto}.log-table{border-collapse:collapse;width:100%;font-family:var(--font-mono);font-size:.82rem}.log-table th,.log-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #0f3d3e1f;padding:.7rem .65rem .7rem 0}.log-table th{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-size:.68rem;font-weight:500}.log-table td{color:var(--ink)}.history{margin-top:1.75rem;animation:.5s ease-out both rise}.history p{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 .5rem;font-size:.72rem}.history ul{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.history button{color:var(--ink);font-family:var(--font-mono);background:0 0;border:1px solid #0f3d3e33;padding:.4rem .7rem;font-size:.85rem;font-weight:500}.history button:hover{border-color:var(--ink);background:#ffffff80}.results{max-width:42rem;margin-top:clamp(2rem,6vh,3.5rem);animation:.55s ease-out both rise}.results-head{flex-wrap:wrap;align-items:baseline;gap:.75rem 1.25rem;margin-bottom:1.25rem;display:flex}.results-head h2{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:0;font-size:1.5rem;font-weight:700}.badge{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;padding:.3rem .55rem;font-size:.72rem}.badge.ok{color:var(--ink);background:#0f3d3e1f}.badge.warn{color:#6b3a00;background:#b4641426}.scan-lines{gap:.75rem;display:grid}.scan-lines div{background:linear-gradient(90deg,#0f3d3e14,#e8ff6a59,#0f3d3e14) 0 0/200% 100%;height:1.15rem;animation:1.1s linear infinite shimmer}.scan-lines div:nth-child(2){width:78%;animation-delay:.12s}.scan-lines div:nth-child(3){width:62%;animation-delay:.24s}.report{border-top:1px solid #0f3d3e33;gap:0;margin:0;display:grid}.report>div{border-bottom:1px solid #0f3d3e26;grid-template-columns:8.5rem 1fr;gap:1rem;padding:.85rem 0;display:grid}.report dt{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);align-self:center;margin:0;font-size:.72rem}.report dd{color:var(--ink);word-break:break-word;margin:0;font-size:1.02rem}.foot{margin-top:auto;padding-top:3rem}.foot p{color:#0f3d3e9e;max-width:36rem;margin:0;font-size:.82rem;line-height:1.5}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-soft{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}@keyframes ring{0%{opacity:.7;transform:scale(.72)}to{opacity:0;transform:scale(1.08)}}@keyframes sweep{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes grid-drift{0%{transform:translateY(0)}to{transform:translateY(48px)}}@media (width<=560px){.report>div{grid-template-columns:1fr;gap:.25rem}.radar{opacity:.35;width:55vw;top:6%;right:-10%}.actions button{flex:100%;width:100%}}
