@font-face{font-family:DSEG7;src:url(../fonts/DSEG7Classic-Bold.woff2) format("woff2");font-weight:700;font-display:swap}:root{--lcd: #9ed91a;--lcd-ink: #14210a;--frame: #15171a;--key: #23262a;--key-ink: #cfd2d6;--go: #c62828;--hw: #1565c0;--night: #37306b;--bg: #0c0d0f}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;background:var(--bg);color:#e8eaed;font-family:-apple-system,Segoe UI,Microsoft JhengHei,system-ui,sans-serif;-webkit-user-select:none;user-select:none}.seg{font-family:DSEG7,ui-monospace,SFMono-Regular,monospace;font-weight:700;letter-spacing:1px}#app{max-width:480px;margin:0 auto;padding:max(10px,env(safe-area-inset-top)) 12px calc(14px + env(safe-area-inset-bottom))}.topbar{display:flex;align-items:center;justify-content:space-between;padding:4px 2px 10px}.brand{font-size:14px;font-weight:600;color:#cdd2d8;display:flex;align-items:center;gap:7px}.brand-dot{width:9px;height:9px;border-radius:50%;background:var(--lcd)}.topbar-right{display:flex;align-items:center;gap:10px}.ver{font-size:11px;color:#6b7077;font-variant-numeric:tabular-nums}.icon-btn{background:none;border:none;color:#9aa0a6;font-size:18px;cursor:pointer;padding:4px}.layout-toggle{display:flex;gap:8px;margin-bottom:12px}.layout-toggle button{flex:1;background:#1a1c1f;color:#9aa0a6;border:.5px solid #2c2f33;border-radius:9px;padding:9px;font-size:13px;cursor:pointer}.layout-toggle button.on{background:#243042;color:#cfe0ff;border-color:var(--hw)}.device{background:var(--frame);border-radius:20px;padding:13px;border:.5px solid #2c2f33}.device--landscape{border-radius:16px;padding:11px}.grille{display:flex;justify-content:center;gap:4px;margin-bottom:9px}.grille i{width:5px;height:5px;border-radius:50%;background:#2b2f33}.grille i.bar{width:34px;border-radius:3px}.lcd{background:var(--lcd);color:var(--lcd-ink);border-radius:9px;padding:12px 14px;overflow:hidden}.lcd-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;opacity:.82;margin-bottom:4px}.status{font-weight:600;background:var(--lcd-ink);color:var(--lcd);padding:2px 8px;border-radius:5px;opacity:1;white-space:nowrap}.clock{font-variant-numeric:tabular-nums}.lcd-main{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.lbl{font-size:10px;opacity:.7}.timer{font-size:24px;line-height:1.2}.fare-box{text-align:right;white-space:nowrap}.fare-wrap{position:relative;display:inline-block}.ghost{position:absolute;right:0;top:0;color:var(--lcd-ink);opacity:.1;pointer-events:none}.fare{position:relative;font-size:52px;line-height:.95}.unit{font-size:15px}.lcd-sub{display:flex;justify-content:space-between;align-items:flex-end;margin-top:6px;border-top:1px dashed rgba(20,33,10,.25);padding-top:6px}.dist .seg{font-size:18px}.fees{text-align:right;font-size:11px;line-height:1.55}.fees .seg{font-size:13px}.gps{font-size:9px;margin-left:4px;opacity:.8;display:inline-flex;align-items:center;gap:3px}.gps .dot{width:6px;height:6px;border-radius:50%;background:#1f7a1f}.gps.weak .dot{background:#b8860b}.gps.lost .dot{background:#a32d2d}.lamps{display:flex;gap:6px;margin-top:7px;align-items:center}.lamp{flex:1;text-align:center;font-size:10px;font-weight:600;padding:3px;border-radius:5px;background:#14210a1f;color:var(--lcd-ink)}.lamp.on-hw{background:var(--hw);color:#fff}.lamp.on-night{background:var(--night);color:#fff}.board{font-size:10px;opacity:.65;white-space:nowrap}.keys{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:11px}.key{background:var(--key);color:var(--key-ink);border:none;border-radius:9px;padding:15px 2px;font-size:13px;font-weight:500;cursor:pointer;line-height:1.3}.key:active{transform:scale(.97)}.key small{display:block;font-size:9px;opacity:.7}.key--hw{padding:11px 2px;font-size:11px}.key--go.is-running{background:var(--go);color:#fff}.key--hw.is-on{background:var(--hw);color:#fff}.device--landscape .key{padding:12px 2px;font-size:12px}.stats{display:flex;gap:8px;margin-top:12px}.stat{flex:1;background:#15171a;border:.5px solid #2c2f33;border-radius:10px;padding:9px;text-align:center}.stat-lbl{display:block;font-size:11px;color:#8a9097}.stat-val{font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}.receipt{margin-top:12px;background:#16181b;border:.5px solid #2c2f33;border-radius:12px;padding:14px;font-size:13px}.receipt h3{margin:0 0 8px;font-size:14px;font-weight:600}.receipt table{width:100%;line-height:1.9}.receipt td:last-child{text-align:right}.receipt .total{border-top:.5px solid #2c2f33;margin-top:8px;padding-top:8px;display:flex;justify-content:space-between;font-weight:600;font-size:15px}.receipt .note{font-size:11px;color:#7a7f86;margin-top:8px}.panel{margin-top:12px;background:#15171a;border:.5px solid #2c2f33;border-radius:10px}.panel summary{padding:11px 14px;font-size:13px;color:#aeb4ba;cursor:pointer}.panel-body{padding:4px 14px 14px}.row{display:flex;align-items:center;gap:10px;padding:7px 0;font-size:13px;color:#c3c8ce}.row>span:first-child{flex:1}.row input[type=range]{flex:2}.row.presets{flex-wrap:wrap}.row.presets button{flex:1;background:#23262a;color:#cfd2d6;border:none;border-radius:7px;padding:8px;font-size:12px;cursor:pointer}.sim-out{min-width:32px;text-align:right;font-variant-numeric:tabular-nums}.reset{width:100%;margin-top:8px;background:#2a1d1d;color:#e79a9a;border:.5px solid #4a2c2c;border-radius:8px;padding:9px;font-size:12px;cursor:pointer}#app:not(.sim) .sim-only{display:none}.disclaimer{margin-top:14px;font-size:11px;line-height:1.6;color:#6b7077;text-align:center}.disclaimer b{color:#9aa0a6}
