*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{color:#eef1ff;-webkit-user-select:none;user-select:none;background:#0b1026;font-family:system-ui,-apple-system,sans-serif;overflow:hidden}#app{height:100dvh;position:relative}.sky{width:100%;height:100%;display:block;position:fixed;inset:0}.overlay{padding:2rem 1.5rem calc(3rem + env(safe-area-inset-bottom));text-align:center;background:linear-gradient(#0000 45%,#05060f8c 100%);flex-direction:column;justify-content:flex-end;align-items:center;gap:1rem;display:flex;position:fixed;inset:0}.overlay[hidden]{display:none}.brand{letter-spacing:.02em;text-shadow:0 1px 8px #00000080;font-size:2rem;font-weight:700}.tagline{color:#c3caf0;text-shadow:0 1px 6px #00000080}.start{color:#0b1026;cursor:pointer;background:#eef1ff;border:none;border-radius:999px;margin-top:.5rem;padding:.9rem 2.2rem;font-size:1.1rem;font-weight:600}.start:disabled{opacity:.5}.status{color:#ffb454;text-shadow:0 1px 6px #0009;min-height:1.4em}.hud{left:50%;top:calc(1.1rem + env(safe-area-inset-top));pointer-events:none;flex-direction:column;align-items:center;gap:.4rem;width:max-content;max-width:92vw;display:flex;position:fixed;transform:translate(-50%)}.hud>*{pointer-events:auto}.target{color:#eef1ff;cursor:pointer;text-shadow:0 1px 6px #00000080;-webkit-tap-highlight-color:transparent;background:#05060f99;border:1px solid #eef1ff40;border-radius:999px;align-items:center;gap:.4rem;min-height:44px;padding:.4rem 1rem;font-size:1.05rem;font-weight:600;display:inline-flex}.target:focus-visible{outline-offset:2px;outline:2px solid #ffd76a}.target[hidden]{display:none}.target-caret{opacity:.7;font-size:.8rem}.target-status{justify-content:center;align-items:center;display:inline-flex}.target-status[hidden]{display:none}.target-status.is-dot{border-radius:999px;width:8px;height:8px}.target-status.is-ready{background:#7ed0a5}.target-status.is-aging{background:#9aa4c7}.target-status.is-fetching{background:#dbe2ff;animation:1.4s ease-in-out infinite chip-breathe}.target-status.is-offline{color:#9aa4c7}.target-status.is-offline svg{width:1.1rem;height:1.1rem}.target-status svg,.share-btn svg{fill:none;stroke:currentColor;stroke-width:32px;stroke-linecap:round;stroke-linejoin:round}@keyframes chip-breathe{0%,to{opacity:1}50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.target-status.is-fetching{opacity:.55;animation:none}}.readout{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;font-variant-numeric:tabular-nums;color:#eef1ff;text-align:center;text-shadow:0 1px 6px #00000080;background:#05060f8c;border-radius:999px;padding:.35rem .85rem;font-size:.95rem}.readout[hidden]{display:none}.moonphase{left:calc(1rem + env(safe-area-inset-left));bottom:calc(1.35rem + env(safe-area-inset-bottom));color:#eef1ff;text-shadow:0 1px 6px #00000080;background:#05060f8c;border-radius:999px;padding:.45rem .85rem;font-size:.9rem;position:fixed}.moonphase[hidden]{display:none}.share-btn{right:calc(1rem + env(safe-area-inset-right));bottom:calc(1rem + env(safe-area-inset-bottom));color:#eef1ff;cursor:pointer;text-shadow:0 1px 6px #00000080;background:#05060f8c;border:none;border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex;position:fixed}.share-btn svg{filter:drop-shadow(0 1px 4px #00000080);width:1.35rem;height:1.35rem}.share-btn:disabled{opacity:.5}.share-btn[hidden]{display:none}.calibrate{color:#0b1026;text-align:center;background:#ffd76a;border-radius:999px;max-width:88vw;padding:.55rem 1.1rem;font-size:.95rem;font-weight:600;position:fixed;top:66%;left:50%;transform:translate(-50%);box-shadow:0 2px 12px #00000059}.calibrate[hidden]{display:none}.toast{left:50%;bottom:calc(1.5rem + env(safe-area-inset-bottom));color:#ffd76a;text-align:center;background:#05060fb8;border-radius:999px;max-width:90vw;padding:.55rem 1rem;font-size:.9rem;position:fixed;transform:translate(-50%)}.toast[hidden]{display:none}.overlay.is-handoff{background:#05060f73;justify-content:center}.overlay.is-handoff>:is(.tagline,.start,.status){display:none}.handoff{flex-direction:column;align-items:center;gap:.75rem;display:flex}.handoff-say{color:#0b1026;background:#eef1ff;border-radius:1rem;max-width:18rem;padding:.7rem 1.1rem;font-size:1.1rem;font-weight:600;position:relative}.handoff-say:after{content:"";border:.6rem solid #0000;border-top-color:#eef1ff;border-bottom:0;position:absolute;bottom:-.55rem;left:50%;transform:translate(-50%)}.handoff-puppy{width:190px;height:190px;margin-top:-.25rem}.handoff-qr{border-radius:.75rem;width:min(12rem,60vw);height:auto;box-shadow:0 4px 24px #0006}.handoff-hint{color:#c3caf0;text-shadow:0 1px 6px #00000080}.handoff-continue{font:inherit;color:#c3caf0;text-underline-offset:.2em;cursor:pointer;background:0 0;border:none;padding:.5rem 1rem;font-size:.95rem;text-decoration:underline}.puppy-layer{pointer-events:none;width:100%;height:100%;display:block;position:fixed;inset:0}.puppy-stage{touch-action:none;position:fixed;inset:0}.puppy-handle{opacity:0;pointer-events:none;background:0 0;border:0;border-radius:12px;margin:0;padding:0;position:fixed}.puppy-handle:focus-visible{opacity:1;outline-offset:2px;outline:2px solid #ffd76a}.puppy-dismiss{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;place-items:center;width:44px;height:44px;margin:0;padding:0;display:grid;position:fixed}.puppy-dismiss span{color:#eef1ff;text-align:center;background:#05060fb3;border-radius:50%;width:26px;height:26px;font:16px/26px system-ui,-apple-system,sans-serif}.puppy-restore{left:calc(1rem + env(safe-area-inset-left));top:calc(1.1rem + env(safe-area-inset-top));color:#eef1ff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#05060f8c;border:none;border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;margin:0;padding:0;display:inline-flex;position:fixed}.puppy-restore svg{fill:currentColor;filter:drop-shadow(0 1px 4px #00000080);width:1.35rem;height:1.35rem}.puppy-stage[hidden],.puppy-handle[hidden],.puppy-dismiss[hidden],.puppy-restore[hidden]{display:none}
