:root{--bg:#050607;--surface:#0c0f11e0;--surface-2:#11161a;--text:#e8ecef;--muted:#8a949c;--line:#1e2428;--accent:#c6ff3d;--accent-soft:#c6ff3d1a;--cyan:#3de8ff;--warn:#ffb547;--warn-soft:#ffb5471a;--bad:#ff3d8b;--bad-soft:#ff3d8b1f;--radius:2px;--mono:"JetBrains Mono", ui-monospace, monospace;--display:"Unbounded", "Geist", sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0}body{-webkit-font-smoothing:antialiased;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);background-image:radial-gradient(#ffffff12 1px,#0000 1px);background-size:18px 18px;background-attachment:fixed;font:16px/1.45 Geist,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit;color:inherit}select option{background:#0c0f11}a{color:var(--accent)}.wrap{max-width:560px;margin:0 auto;padding:16px 16px 100px}.row{align-items:center;gap:12px;display:flex}.between{justify-content:space-between}.stack{gap:12px;display:grid}.muted{color:var(--muted)}.small{font-size:13px}.num{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}.grow{flex:1;min-width:0}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mono{font-family:var(--mono)}.label-hud{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:11px}.glow{text-shadow:0 0 24px #c6ff3d66}h1{font-family:var(--display);letter-spacing:-.01em;margin:8px 0 4px;font-size:24px;font-weight:500}h2{font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;color:var(--muted);margin:28px 0 10px;font-size:11px;font-weight:500}p{margin:0 0 12px}.card,.list{--bk:var(--accent);background:linear-gradient(var(--bk), var(--bk)) top left / 12px 2px no-repeat, linear-gradient(var(--bk), var(--bk)) top left / 2px 12px no-repeat, linear-gradient(var(--bk), var(--bk)) top right / 12px 2px no-repeat, linear-gradient(var(--bk), var(--bk)) top right / 2px 12px no-repeat, linear-gradient(var(--bk), var(--bk)) bottom left / 12px 2px no-repeat, linear-gradient(var(--bk), var(--bk)) bottom left / 2px 12px no-repeat, linear-gradient(var(--bk), var(--bk)) bottom right / 12px 2px no-repeat, linear-gradient(var(--bk), var(--bk)) bottom right / 2px 12px no-repeat, var(--surface);border:1px solid var(--line);border-radius:var(--radius);position:relative}.card{padding:16px}.card.bk-bad,.list.bk-bad{--bk:var(--bad)}.card.bk-warn,.list.bk-warn{--bk:var(--warn)}.card.bk-cyan,.list.bk-cyan{--bk:var(--cyan)}.list{overflow:hidden}.item{border-top:1px dashed var(--line);text-align:left;background:0 0;border-bottom:0;border-left:0;border-right:0;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex}.item:first-child{border-top:0}button.item{cursor:pointer}button.item:hover{background:var(--surface-2)}.item.selected{background:var(--accent-soft)}.btn{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);cursor:pointer;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:12px 16px;font-size:13px;font-weight:500}.btn:hover{border-color:#33403f}.btn.primary{background:var(--accent);border-color:var(--accent);color:#050607;font-weight:700;box-shadow:0 0 18px #c6ff3d40}.btn.block{width:100%}.btn.small{padding:6px 10px;font-size:11px}.btn.ghost{color:var(--muted);background:0 0;border-color:#0000}.btn:disabled{opacity:.5;cursor:default}.input{border-radius:var(--radius);border:1px solid var(--line);background:#0a0d0f;width:100%;padding:12px 14px}.input:focus{outline:1px solid var(--accent);outline-offset:-1px;box-shadow:0 0 12px #c6ff3d33}label.field{color:var(--muted);gap:6px;font-size:13px;display:grid}.hero{margin-top:12px;padding:20px 18px}.hero .label{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:11px}.hero .big{font-family:var(--display);letter-spacing:-.03em;color:var(--accent);text-shadow:0 0 24px #c6ff3d66;margin:12px 0 8px;font-size:52px;font-weight:500;line-height:1.05}.hero .big .cents{color:var(--muted);text-shadow:none;font-size:.5em;font-weight:300}.hero .big.neg{color:var(--bad);text-shadow:0 0 24px #ff3d8b73}.tiles{grid-template-columns:1fr;gap:12px;display:grid}.tile .label{font-family:var(--display);font-size:14px}.tile .value{font-family:var(--mono);margin-top:2px;font-size:14px}.bar{background:#161b1e;height:10px;margin-top:10px;display:flex;overflow:hidden;-webkit-mask:repeating-linear-gradient(90deg,#000 0 calc(5% - 3px),#0000 calc(5% - 3px) 5%);mask:repeating-linear-gradient(90deg,#000 0 calc(5% - 3px),#0000 calc(5% - 3px) 5%)}.bar>span{background:var(--accent);height:100%;display:block}.bar.over>span{background:var(--bad)}.bar.cyan>span{background:var(--cyan)}.bar>span.over{background:var(--bad)}.chip{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--line);color:var(--muted);white-space:nowrap;padding:2px 6px;font-size:10px}.chip.paid{border-color:var(--accent);color:var(--accent)}.chip.due{border-color:var(--warn);color:var(--warn)}.chip.late{border-color:var(--bad);color:var(--bad)}.amt-in{color:var(--accent)}.check{border:1px solid var(--muted);border-radius:2px;flex:none;place-items:center;width:22px;height:22px;font-size:14px;display:grid}.selected .check{background:var(--accent);border-color:var(--accent);color:#050607}.error{background:var(--bad-soft);color:var(--bad);border:1px solid var(--bad);font-family:var(--mono);padding:12px 14px;font-size:13px}.steps{gap:4px;margin-bottom:18px;display:flex}.steps span{background:var(--line);flex:1;height:4px}.steps span.on{background:var(--accent);box-shadow:0 0 8px #c6ff3d80}.sheet{z-index:10;background:#000000b3;align-items:end;display:grid;position:fixed;inset:0}.sheet>div{background:var(--bg);border-top:1px solid var(--accent);max-height:92vh;padding:16px 16px calc(24px + env(safe-area-inset-bottom));width:100%;max-width:560px;margin:0 auto;overflow:auto}.spin{animation:1s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.brand{font-family:var(--display);letter-spacing:.04em;font-size:18px;font-weight:700}.brand span{color:var(--accent)}.live-dot{background:var(--accent);width:7px;height:7px;box-shadow:0 0 8px var(--accent);border-radius:4px;display:inline-block}.readout{background:var(--line);border:1px solid var(--line);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:1px;margin-top:12px;display:grid}.readout>div{background:var(--bg);padding:10px}.readout .v{font-family:var(--mono);white-space:nowrap;margin-top:4px;font-size:13px}.timeline{padding-left:22px;position:relative}.timeline:before{content:"";background:var(--line);width:1px;position:absolute;top:8px;bottom:8px;left:5px}.timeline .node{border:2px solid var(--warn);background:var(--bg);width:9px;height:9px;margin-top:-5px;position:absolute;top:50%;left:-21px;transform:rotate(45deg)}.tabbar{z-index:5;background:var(--bg);border-top:1px solid var(--line);padding:0 max(12px, calc(50% - 268px)) env(safe-area-inset-bottom);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar button{cursor:pointer;height:58px;font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);background:0 0;border:0;font-size:11px;position:relative}.tabbar button.on{color:var(--accent)}.tabbar button.on:before{content:"";background:var(--accent);height:2px;box-shadow:0 0 10px var(--accent);position:absolute;top:-1px;left:22%;right:22%}.display{color:#eef0f3;cursor:default;background:#07090b;position:fixed;inset:0;overflow:hidden}.display-inner{flex-direction:column;height:100%;padding:4vh 5vw;transition:transform 2s;display:flex}.display-top{justify-content:space-between;align-items:flex-start;display:flex}.display-clock{letter-spacing:-.02em;font-size:clamp(28px,4.5vw,72px);font-weight:600}.display-muted{color:#8b93a1;font-size:clamp(14px,1.6vw,26px)}.display-warn{color:#f0a445}.display-bad{color:#ff6b63}.display-center{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.display-label{color:#8b93a1;font-size:clamp(18px,2.4vw,40px)}.display-big{letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:#3ddc97;margin:1vh 0;font-size:clamp(64px,14vw,260px);font-weight:700;line-height:1}.display-big.display-bad{color:#ff6b63}.display-sub{margin-top:1vh}.display-bottom{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2vw;display:grid}.display-tile{background:#11151a;border-radius:20px;padding:2.4vh 2vw}.display-bills{grid-column:span 2}@media (width<=700px){.display-bills{grid-column:auto}}.display-mid{font-variant-numeric:tabular-nums;margin-top:.5vh;font-size:clamp(28px,4vw,64px);font-weight:700}.display-bar{background:#1c2027;border-radius:99px;height:8px;margin-top:1.2vh;overflow:hidden}.display-bar>span{background:#3ddc97;height:100%;display:block}.display-row{font-variant-numeric:tabular-nums;grid-template-columns:1fr auto auto;gap:1.5vw;margin-top:1vh;font-size:clamp(16px,1.8vw,30px);display:grid}.display-menu{background:#14171c;border-radius:16px;flex-wrap:wrap;justify-content:center;gap:8px;padding:12px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.display-menu .btn{color:#eef0f3}.display-bar.over>span{background:#ff6b63}.display-rotate-90,.display-rotate-270{width:100vh;height:100vw;inset:50% auto auto 50%}.display-rotate-90{transform:translate(-50%,-50%)rotate(90deg)}.display-rotate-270{transform:translate(-50%,-50%)rotate(-90deg)}.display-rotate-90 .display-bottom,.display-rotate-270 .display-bottom{grid-template-columns:1fr}.display-rotate-90 .display-bills,.display-rotate-270 .display-bills{grid-column:auto}.display-rotate-90 .display-big,.display-rotate-270 .display-big{font-size:clamp(64px,16vh,220px)}.display-rotate-90 .display-clock,.display-rotate-270 .display-clock{font-size:clamp(28px,6vh,72px)}.display-rotate-90 .display-muted,.display-rotate-270 .display-muted,.display-rotate-90 .display-row,.display-rotate-270 .display-row{font-size:clamp(14px,2.6vh,30px)}.display-rotate-90 .display-mid,.display-rotate-270 .display-mid{font-size:clamp(28px,6vh,64px)}.display-rotate-90 .display-label,.display-rotate-270 .display-label{font-size:clamp(18px,3.4vh,40px)}.display-card{font-size:clamp(16px,2.2vw,36px)}.display-rotate-90 .display-card,.display-rotate-270 .display-card{font-size:clamp(16px,3.2vh,36px)}
