@font-face{font-family:Martian Mono;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/martian-mono-latin-wght-normal-5W32yIyr.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Doto;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/doto-latin-wght-normal-DtlIPefW.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Michroma;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/michroma-latin-400-normal-4gS0VCia.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-text:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", Meiryo, "Noto Sans JP", system-ui, sans-serif;--font-num:var(--font-text);--bg:#fff;--fg:#000;--muted:#555;--panel-bg:#fff;--panel-fg:#000;--panel-border:#000;--panel-border-width:1px;--panel-radius:0;--track:#e4e4e4;--fill:#000;--just:#ffd60a;--btn-bg:#fff;--btn-fg:#000;--btn-border:#000;--btn-border-width:1px;--btn-radius:0;--primary-bg:#000;--primary-fg:#fff;--danger-bg:#b3261e;--danger-fg:#fff;--focus:#06c;--gap:14px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}[hidden]{display:none!important}html,body{background:var(--bg);min-height:100%;color:var(--fg);font-family:var(--font-text);-webkit-text-size-adjust:100%;margin:0}body{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}button,input,select{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums}.app{gap:var(--gap);flex-direction:column;max-width:560px;margin:0 auto;padding:12px 16px 32px;display:flex}.tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.tab{border:var(--btn-border-width) solid var(--btn-border);border-radius:var(--btn-radius);background:var(--btn-bg);min-height:44px;color:var(--btn-fg);justify-content:center;align-items:center;padding:0 4px;font-weight:700;text-decoration:none;display:flex}.tab[aria-current=page]{background:var(--primary-bg);color:var(--primary-fg);border-color:var(--primary-bg)}h1{margin:0;font-size:22px}h2{margin:0;font-size:15px}p{margin:0;line-height:1.6}.muted{color:var(--muted)}.panel{background:var(--panel-bg);color:var(--panel-fg);border:var(--panel-border-width) solid var(--panel-border);border-radius:var(--panel-radius);flex-direction:column;gap:12px;padding:14px;display:flex}.btn{border:var(--btn-border-width) solid var(--btn-border);border-radius:var(--btn-radius);background:var(--btn-bg);min-height:52px;color:var(--btn-fg);cursor:pointer;padding:0 16px;font-size:16px;font-weight:700}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--primary-bg);color:var(--primary-fg);border-color:var(--primary-bg)}.btn.danger{background:var(--danger-bg);color:var(--danger-fg);border-color:var(--danger-bg)}.actions{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:12px;display:grid}.message{border:var(--panel-border-width) solid var(--panel-border);border-radius:var(--panel-radius);padding:10px 12px}.message.error{background:var(--danger-bg);color:var(--danger-fg);border-color:var(--danger-bg)}.rows{flex-direction:column;margin:0;display:flex}.row{border-bottom:1px solid color-mix(in srgb, currentColor 25%, transparent);justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;display:flex}.row:last-child{border-bottom:0}.row dt,.row dd{margin:0}.row dd{text-align:right;font-variant-numeric:tabular-nums}.field{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.field select,.field input[type=number]{border:var(--btn-border-width) solid var(--btn-border);border-radius:var(--btn-radius);background:var(--btn-bg);min-height:40px;color:var(--btn-fg);max-width:60%;padding:0 8px}.field input[type=checkbox]{width:24px;height:24px}.bar-row{grid-template-columns:5em minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.bar{background:var(--track);border-radius:calc(var(--panel-radius) / 3);height:10px;overflow:hidden}.bar>div{background:var(--fill);width:0;height:100%}.map canvas{width:100%;image-rendering:pixelated;display:block}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:0;display:grid}.stat dt{color:var(--muted);font-size:12px;font-weight:700}.stat dd{font-family:var(--font-num);font-variant-numeric:tabular-nums;margin:0;font-size:26px;font-weight:600;line-height:1.25}.stat .unit{margin-left:4px;font-size:12px;font-weight:400}.receive-active{gap:var(--gap);flex-direction:column;display:flex}.rx-head{align-items:center;gap:10px;display:flex}.rx-head h1{flex:auto}.send-id{font-size:12px}.led{width:10px;height:10px;box-shadow:0 0 0 2px var(--btn-border);background:#8d9287;border-radius:50%;flex:none;display:none}.led[data-state=receiving]{background:#2f8a3a}.led[data-state=finishing]{background:#c98500}.label{font-size:12px;font-weight:700}.camera{flex-direction:column;gap:6px;display:flex}.camera video,.camera canvas{object-fit:cover;border-radius:var(--panel-radius);background:#000;width:100%;height:180px;display:block}.map{flex-direction:column;gap:8px;display:flex}.gauges{display:none}.records-list{max-height:320px;overflow:auto}.license-text{white-space:pre-wrap;max-height:320px;margin:8px 0 0;font-size:11px;line-height:1.5;overflow:auto}details summary{cursor:pointer;align-items:center;min-height:32px;display:flex}body.displaying{overflow:hidden}.display{z-index:10;background:#fff;flex-direction:column;display:flex;position:fixed;inset:0}.display canvas{flex:auto;width:100%;min-height:0;display:block}.strip{padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:var(--panel-bg);color:var(--panel-fg);flex-wrap:wrap;flex:none;align-items:center;gap:4px 16px;font-size:13px;display:flex}.strip .btn{min-height:44px;margin-left:auto}.update{justify-content:space-between;align-items:center;gap:12px;display:flex}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}:root[data-theme=grid]{--font-num:"Doto", ui-monospace, monospace;--bg:#fff;--fg:#000;--muted:#000;--panel-bg:#fff;--panel-fg:#000;--panel-border:#000;--panel-border-width:3px;--panel-radius:0;--track:#e4e4e4;--fill:#000;--just:#ffd60a;--btn-bg:#fff;--btn-fg:#000;--btn-border:#000;--btn-border-width:3px;--btn-radius:0;--primary-bg:#000;--primary-fg:#fff;--danger-bg:#000;--danger-fg:#fff;--focus:#0047ff}:root[data-theme=grid] h1,:root[data-theme=grid] h2,:root[data-theme=grid] .stat dt,:root[data-theme=grid] .stat dd,:root[data-theme=grid] .num{font-weight:800}:root[data-theme=grid] .bar{border-radius:0;height:8px}:root[data-theme=grid] .stats{background:#000;border:3px solid #000;gap:3px}:root[data-theme=grid] .stat{background:#fff;padding:8px 10px}:root[data-theme=grid] .rx-head .mark{display:inline-block}:root[data-theme=grid] .strip{border-top:3px solid #000}:root[data-theme=instrument]{--font-num:"Martian Mono", ui-monospace, monospace;--bg:#d5d8d2;--fg:#2b302a;--muted:#3b403a;--panel-bg:#a9b59a;--panel-fg:#1e2619;--panel-border:#7e8a70;--panel-border-width:2px;--panel-radius:4px;--track:#97a487;--fill:#1e2619;--just:#000;--btn-bg:#eceee9;--btn-fg:#2b302a;--btn-border:#8d9287;--btn-border-width:1px;--btn-radius:6px;--primary-bg:#2b302a;--primary-fg:#eceee9;--danger-bg:#b3261e;--danger-fg:#fff;--focus:#1f5fad}:root[data-theme=instrument] .btn,:root[data-theme=instrument] .tab{border-bottom-width:4px}:root[data-theme=instrument] .panel .stat dt{color:#2e3828}:root[data-theme=instrument] .bar{border-radius:0}:root[data-theme=instrument] .led{display:inline-block}:root[data-theme=native]{--font-text:-apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Segoe UI", Meiryo, sans-serif;--font-num:var(--font-text);--bg:#f2f2f7;--fg:#000;--muted:#6c6c70;--panel-bg:#fff;--panel-fg:#000;--panel-border:transparent;--panel-border-width:0px;--panel-radius:10px;--track:#e5e5ea;--fill:#06c;--just:#7fc4ff;--btn-bg:#fff;--btn-fg:#06c;--btn-border:transparent;--btn-border-width:0px;--btn-radius:10px;--primary-bg:#06c;--primary-fg:#fff;--danger-bg:#fff;--danger-fg:#d70015;--focus:#06c}@media (prefers-color-scheme:dark){:root[data-theme=native]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#000;--fg:#fff;--muted:#98989f;--panel-bg:#1c1c1e;--panel-fg:#fff;--track:#3a3a3c;--fill:#0a84ff;--just:#64d2ff;--btn-bg:#1c1c1e;--btn-fg:#0a84ff;--primary-bg:#0a84ff;--danger-bg:#1c1c1e;--danger-fg:#ff453a;--focus:#0a84ff}}:root[data-theme=native] h1{font-size:34px;font-weight:700}:root[data-theme=native] .stat dd{color:var(--muted);font-size:17px;font-weight:400}:root[data-theme=native] .stat dt{color:var(--fg);font-size:17px;font-weight:400}:root[data-theme=native] .stats{grid-template-columns:1fr;gap:0}:root[data-theme=native] .stat{border-bottom:1px solid var(--track);justify-content:space-between;align-items:center;min-height:44px;display:flex}:root[data-theme=native] .stat:last-child{border-bottom:0}:root[data-theme=native] .bar{border-radius:2px;height:4px}:root[data-theme=native] .tab{font-weight:600}:root[data-theme=groovebox]{--font-num:"Michroma", ui-sans-serif, sans-serif;--bg:#23465a;--fg:#cfe0e8;--muted:#9fc3d3;--panel-bg:#0e1c24;--panel-fg:#f2b33d;--panel-border:#1a3646;--panel-border-width:2px;--panel-radius:8px;--track:#2f5a70;--fill:#f2b33d;--just:#fff3d1;--btn-bg:#3e6a80;--btn-fg:#f3f8fa;--btn-border:#3e6a80;--btn-border-width:0px;--btn-radius:10px;--primary-bg:#f2b33d;--primary-fg:#0e1c24;--danger-bg:#c62f3a;--danger-fg:#fff;--focus:#fff3d1;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=groovebox] .stat dt{color:#9fc3d3}:root[data-theme=groovebox] .stat dd{font-size:22px;font-weight:400}:root[data-theme=groovebox] .bar{border-radius:4px}:root[data-theme=groovebox] .gauges{display:grid}
