Card host now scales the iframe; remove broken transform that clipped UI to the corner. Co-authored-by: Cursor <cursoragent@cursor.com>
58 lines
2.9 KiB
HTML
58 lines
2.9 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<title>AIR</title>
|
|
<style>
|
|
*{box-sizing:border-box;margin:0;padding:0}
|
|
html,body{width:320px;height:240px;overflow:hidden;background:#000;margin:0}
|
|
.bezel{width:320px;height:240px;background:#1a1408}
|
|
.screen{width:320px;height:240px;background:#0A1018;color:#F2F5FA;font:12px/1.2 system-ui,sans-serif;
|
|
overflow:hidden;}
|
|
.hdr{display:flex;align-items:center;gap:8px;padding:4px 8px;height:24px}
|
|
.hdr b{font-size:14px}.up{color:#7E90A8}.sp{margin-left:auto;display:flex;gap:6px;align-items:center;color:#7E90A8}
|
|
.led{width:9px;height:9px;border-radius:50%;background:#4CAF7A}
|
|
.row{display:flex;gap:6px;padding:0 8px}
|
|
.panel{flex:1;height:118px;background:#121C2A;border:1px solid #1E2C40;border-radius:6px;padding:6px 8px;position:relative}
|
|
.cap{color:#7E90A8;font-size:11px}
|
|
.gauge{width:90px;height:90px;margin:4px auto 0;border-radius:50%;
|
|
background:conic-gradient(#4DA3FF 0 40%, #243247 0);
|
|
mask:radial-gradient(farthest-side,transparent 62%,#000 63%);
|
|
-webkit-mask:radial-gradient(farthest-side,transparent 62%,#000 63%)}
|
|
.panel.tvoc .gauge{background:conic-gradient(#B07CFF 0 28%, #243247 0)}
|
|
.val{position:absolute;left:0;right:0;top:44px;text-align:center;font-size:20px;font-weight:700;color:#4DA3FF}
|
|
.panel.tvoc .val{color:#B07CFF}
|
|
.unit{font-size:10px;color:#7E90A8}
|
|
.rng{position:absolute;left:0;right:0;bottom:6px;text-align:center;color:#7E90A8;font-size:11px}
|
|
.bot{margin:6px 8px 0;height:78px;background:#121C2A;border:1px solid #1E2C40;border-radius:6px;display:flex;gap:8px;padding:8px}
|
|
.info{width:96px}.ok{color:#4CAF7A;font-size:14px;font-weight:700}
|
|
.meta{margin-top:10px;color:#7E90A8;font-size:11px}
|
|
.chart{flex:1;background:#0E1622;border-radius:4px}
|
|
.chart svg{width:100%;height:100%}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div class="bezel"><div class="screen" id="s">
|
|
<div class="hdr"><b>AIR</b><span class="up">up 03:10</span>
|
|
<span class="sp"><span>GOOD</span><span class="led"></span></span></div>
|
|
<div class="row">
|
|
<div class="panel"><div class="cap">eCO2</div><div class="gauge"></div>
|
|
<div class="val">612<span class="unit"> ppm</span></div><div class="rng">baseline</div></div>
|
|
<div class="panel tvoc"><div class="cap">TVOC</div><div class="gauge"></div>
|
|
<div class="val">84<span class="unit"> ppb</span></div><div class="rng">SGP30</div></div>
|
|
</div>
|
|
<div class="bot">
|
|
<div class="info"><div class="ok">FRESH</div>
|
|
<div class="meta">SDA22 · SCL27<br/>IAQ index OK</div></div>
|
|
<div class="chart"><svg viewBox="0 0 180 60" preserveAspectRatio="none">
|
|
<polyline fill="none" stroke="#4DA3FF" stroke-width="2"
|
|
points="0,35 30,32 60,30 90,28 120,33 150,29 180,27"/>
|
|
<polyline fill="none" stroke="#B07CFF" stroke-width="2"
|
|
points="0,48 30,46 60,44 90,45 120,42 150,43 180,41"/>
|
|
</svg></div>
|
|
</div>
|
|
</div></div>
|
|
|
|
</body>
|
|
</html>
|