:root{color-scheme:dark;--bg: #0b1220;--panel: rgba(255, 255, 255, .06);--panel2: rgba(255, 255, 255, .08);--text: rgba(255, 255, 255, .92);--muted: rgba(255, 255, 255, .72);--faint: rgba(255, 255, 255, .55);--border: rgba(255, 255, 255, .12);--accent: #79b8ff;--good: #48d597;--bad: #ff6b81;--warn: #ffcc66;--shadow: 0 18px 60px rgba(0, 0, 0, .38);--radius: 18px}*{box-sizing:border-box}html{min-height:100%;background:radial-gradient(1200px 900px at 18% 12%,rgba(121,184,255,.16),transparent 65%),radial-gradient(900px 700px at 82% 25%,rgba(72,213,151,.1),transparent 60%),radial-gradient(1000px 700px at 55% 92%,rgba(255,204,102,.08),transparent 60%),var(--bg)}body{min-height:100vh;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";color:var(--text);background:transparent}a{color:inherit}.page{min-height:100vh;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px}.logo{width:38px;height:38px;border-radius:12px;background:url(/icon.svg) center / contain no-repeat;box-shadow:0 10px 30px #00000059}.title{line-height:1.1}.title h1{font-size:16px;margin:0;letter-spacing:.2px}.title p{margin:2px 0 0;font-size:12.5px;color:var(--muted)}.topBar{padding:14px 16px 10px}.main{flex:1;display:flex;flex-direction:column;align-items:center;padding:10px 16px 16px;gap:14px}.hero{width:100%;max-width:520px;display:grid;place-items:center;gap:12px;padding:10px 0 2px}.ringButton{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;width:min(78vw,320px);aspect-ratio:1 / 1;border-radius:999px;cursor:pointer;padding:0;display:grid;place-items:center;position:relative}.progressRing{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform:rotate(-90deg);pointer-events:none}.progressRingTrack{fill:none;stroke:#ffffff1f;stroke-width:10}.progressRingValue{fill:none;stroke:#79b8ffeb;stroke-width:10;stroke-linecap:round;transition:stroke-dashoffset .16s linear;shape-rendering:geometricPrecision}.ringButton:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:radial-gradient(circle at 30% 25%,rgba(121,184,255,.28),transparent 55%),radial-gradient(circle at 70% 75%,rgba(72,213,151,.22),transparent 58%),#ffffff08;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.12)}.ringButton:after{content:"";position:absolute;top:12px;right:12px;bottom:12px;left:12px;border-radius:999px;border:2px solid rgba(255,255,255,.12);background:#0000002e}.ringButtonBusy:before{background:#ffffff08;border-color:#ffffff2e}.ringButtonBusy .ringButtonTitle{animation:textPulse 1.15s ease-in-out infinite}@keyframes textPulse{0%,to{opacity:.92}50%{opacity:1}}.ringButtonInner{position:relative;z-index:1;text-align:center;padding:18px}.ringButtonTitle{display:block;font-weight:850;letter-spacing:.2px;font-size:24px}.ringButtonSub{display:block;margin-top:8px;font-size:12.5px;color:var(--muted)}.ringButton:disabled{cursor:default;opacity:.8}.heroMeta{font-size:12px;color:var(--muted)}.resultBig{font-weight:950;letter-spacing:.4px;font-size:22px;text-align:center;padding:10px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#00000024;color:#ffffffeb}.resultGood{border-color:#48d59747;background:#48d59714;color:#92ffd0f5}.resultWarn{border-color:#ffcc6647;background:#ffcc6614;color:#ffde9cfa}.panel{width:100%;max-width:520px;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg,#ffffff0f,#ffffff08);box-shadow:var(--shadow);overflow:hidden}.installPanel .panelText{padding-bottom:6px}.installSteps{padding:0 14px 14px;display:grid;gap:10px}.installCta{padding:0 14px 12px;display:grid;gap:8px}.ctaBtn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(121,184,255,.32);background:#79b8ff24;color:#ffffffeb;padding:10px 12px;border-radius:14px;font-weight:850;font-size:13px;cursor:pointer}.ctaBtn:disabled{opacity:.8;cursor:default}.ctaHint{font-size:12px;color:var(--faint);line-height:1.35}.installStep{border:1px solid rgba(255,255,255,.08);background:#00000024;border-radius:14px;padding:10px;display:grid;gap:6px}.installStep b{font-size:12px}.installStep span{font-size:12px;color:var(--muted);line-height:1.35}.miniBtn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.12);background:#0000001f;color:var(--muted);padding:6px 10px;border-radius:999px;font-size:12px;font-weight:750;cursor:pointer}.miniBtn:hover{background:#0000002e}.panelHeader{padding:14px 14px 10px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between;gap:12px}.panelTitle{margin:0;font-size:13px;letter-spacing:.2px;font-weight:850}.panelText{padding:12px 14px 10px;color:var(--muted);font-size:13px;line-height:1.45}.panelMiniRow{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;padding:10px 14px 14px}.panelMini{border:1px solid rgba(255,255,255,.08);background:#00000024;border-radius:14px;padding:10px;display:grid;gap:6px}.panelMini b{font-size:12px}.panelMini span{font-size:12px;color:var(--muted)}.compactList{list-style:none;margin:0;padding:10px 14px 14px;display:grid;gap:10px}.compactList li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border-radius:14px;background:#0000001f;border:1px solid rgba(255,255,255,.06)}.compactLeft{display:grid;min-width:0;gap:4px}.compactLeft b{font-size:13px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compactSub{font-size:12px;color:var(--muted);line-height:1.35}.badge{font-size:12px;padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:#ffffff0a;white-space:nowrap}.badgeGood{border-color:#48d59759;color:#48d597f2}.badgeBad{border-color:#ff6b8159;color:#ff6b81f2}.badgeWarn{border-color:#ffcc6659;color:#ffcc66f2}.small{font-size:12px;color:var(--muted);line-height:1.45}.bottomBar{position:relative;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:transparent}.bottomBarInner{max-width:520px;margin:0 auto;border:1px solid rgba(255,255,255,.08);background:#00000029;border-radius:16px;padding:10px 12px;color:var(--faint);font-size:12px;line-height:1.45}
