:root{color:#eafff4;background:#06100d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0}button{color:inherit;font:inherit}.app{--cool-level: 0;min-height:100svh;display:grid;place-items:center;overflow:hidden;padding:max(18px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:linear-gradient(rgba(147,255,196,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(147,255,196,.045) 1px,transparent 1px),radial-gradient(circle at 50% 22%,rgba(76,255,160,calc(.13 + var(--cool-level) * .24)),transparent 38%),radial-gradient(circle at 80% 86%,rgba(255,221,87,.16),transparent 34%),#06100d;background-size:42px 42px,42px 42px,auto,auto,auto}.shell{width:min(100%,520px);min-height:min(780px,calc(100svh - 36px));display:grid;grid-template-rows:auto minmax(280px,1fr) auto auto;gap:clamp(18px,4svh,32px)}.topbar,.controls,.status{display:flex;align-items:center}.topbar{justify-content:space-between;gap:18px}.eyebrow{margin:0 0 3px;color:#eafff49e;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}h1{margin:0;font-size:clamp(44px,14vw,84px);line-height:.92;font-weight:950;letter-spacing:0}.iconButton,.scanButton{border:1px solid rgba(179,255,214,.28);background:#0b221bb8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.iconButton{width:48px;height:48px;flex:0 0 48px;border-radius:999px;display:grid;place-items:center}.radar{position:relative;align-self:center;justify-self:center;width:min(88vw,430px);aspect-ratio:1;border-radius:50%;overflow:hidden;border:1px solid rgba(179,255,214,.34);box-shadow:0 0 0 1px #2aff9114 inset,0 0 calc(28px + var(--cool-level) * 70px) rgba(55,255,147,calc(.14 + var(--cool-level) * .5));background:radial-gradient(circle,rgba(76,255,160,.16) 0 2px,transparent 3px),radial-gradient(circle,#071e171a,#020e0aeb 68%)}.rings,.rings:before,.rings:after{position:absolute;inset:12%;border:1px solid rgba(179,255,214,.28);border-radius:50%}.rings:before,.rings:after{content:""}.rings:before{inset:20%}.rings:after{inset:40%}.sweep{position:absolute;inset:0;background:conic-gradient(from 0deg,rgba(64,255,154,.58),rgba(64,255,154,.12) 34deg,transparent 74deg);mix-blend-mode:screen;transform-origin:50% 50%;animation:sweep 2.2s linear infinite;filter:brightness(calc(1 + var(--cool-level) * 1.4))}.active .sweep{animation-duration:calc(2.1s - var(--cool-level) * 1s)}.core{position:absolute;inset:50%;width:92px;height:92px;display:grid;place-items:center;border-radius:50%;color:#07110e;background:#b7ffd3;transform:translate(-50%,-50%) scale(calc(1 + var(--cool-level) * .08));box-shadow:0 0 calc(24px + var(--cool-level) * 42px) #7effb18c}.blip{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);border-radius:50%;background:#ffea75;box-shadow:0 0 18px #ffea75e0;transform:translate(-50%,-50%);animation:blip 1.15s ease-out forwards}.readout{text-align:center}.score{display:inline-flex;align-items:baseline;justify-content:center;gap:8px;min-width:260px}.score span{font-size:clamp(76px,21vw,124px);line-height:.82;font-weight:950;letter-spacing:0;text-shadow:0 0 calc(12px + var(--cool-level) * 36px) rgba(55,255,147,.58)}.score small{color:#eafff4a8;font-size:clamp(18px,5vw,26px);font-weight:850}.readout p{min-height:30px;margin:12px 0 0;color:#eafff4b8;font-size:clamp(18px,5vw,26px);font-weight:800}.controls{gap:14px}.scanButton{min-height:62px;flex:1;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#b7ffd3;border-color:transparent;color:#06100d;font-weight:900}.scanButton.active{background:#ffea75}.status{min-width:132px;gap:9px;color:#eafff4ad;font-size:14px;font-weight:750}.dot{width:10px;height:10px;flex:0 0 10px;border-radius:999px;background:#eafff457}.dot.active{background:#7effb1;box-shadow:0 0 0 7px #7effb126}.iconButton:hover,.scanButton:hover{transform:translateY(-1px)}@keyframes sweep{to{transform:rotate(360deg)}}@keyframes blip{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}16%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) scale(2.4)}}@media(max-width:520px){.shell{min-height:calc(100svh - 36px);grid-template-rows:auto minmax(250px,1fr) auto auto}.controls{display:grid;grid-template-columns:1fr}.status{min-width:0;justify-content:center}}
