:root{--bg: #f4f6f2;--card: #ffffff;--ink: #14201a;--muted: #5d6b63;--line: #dfe5dd;--green: #0f7a4a;--green-soft: #e3f3ea;--saffron: #d27a12;--saffron-soft: #fdf0de;--red: #c4362c;--red-soft: #fbe6e3;--code: #f2f5f1;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg)}@media(prefers-color-scheme:dark){:root{--bg: #0d1411;--card: #15201b;--ink: #e8efe9;--muted: #93a39a;--line: #26342d;--green: #3ccf87;--green-soft: #173327;--saffron: #f4a64a;--saffron-soft: #33260f;--red: #ff7a6e;--red-soft: #3a1b18;--code: #101915}}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button{font:inherit;cursor:pointer}.app{max-width:1320px;margin:0 auto;padding:20px 16px 40px}.top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}.brand{display:flex;gap:12px;align-items:center}.logo{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;font-size:24px;background:linear-gradient(135deg,var(--saffron),var(--green))}.brand h1{margin:0;font-size:26px;letter-spacing:-.5px}.brand p{margin:2px 0 0;color:var(--muted);font-size:14px}.badges{display:flex;gap:8px;flex-wrap:wrap}.badge{font-size:12px;padding:6px 10px;border-radius:99px;border:1px solid var(--line);background:var(--card);color:var(--muted)}.badge.cedar{background:var(--saffron-soft);color:var(--saffron);border-color:transparent;font-weight:600}.grid{display:grid;grid-template-columns:1.15fr 1fr 1.1fr;gap:16px}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;min-width:0}.card h2{margin:0 0 12px;font-size:16px;display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}.card h2 small{font-weight:400;color:var(--muted);font-size:12px}.colony,.cedar-card{grid-row:span 2}.ledger{grid-column:1 / -1;overflow-x:auto}.dt{margin-bottom:14px}.dt-label{font-size:12px;font-weight:600;color:var(--muted);margin-bottom:6px}.homes{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.home{border:1.5px solid var(--line);border-radius:12px;padding:10px;font-size:13px;transition:border-color .2s}.home.sel-seller{border-color:var(--saffron)}.home.sel-buyer{border-color:var(--green)}.home-top{display:flex;gap:8px;align-items:center}.home-icon{font-size:20px}.vpa{color:var(--muted);font-size:12px}.meta{margin:6px 0;color:var(--muted)}.meta b{color:var(--ink)}.tags{display:flex;gap:4px;flex-wrap:wrap;min-height:20px}.tag{font-size:11px;padding:2px 7px;border-radius:99px}.tag.ok{background:var(--green-soft);color:var(--green)}.tag.warn{background:var(--red-soft);color:var(--red)}.tag.pts{background:var(--saffron-soft);color:var(--saffron)}.pick{display:flex;gap:4px;margin-top:8px}.pick button{flex:1;font-size:11px;padding:5px;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--muted)}.pick button.on{background:var(--saffron);color:#fff;border-color:transparent}.pick button.on.b{background:var(--green)}.parties{display:flex;align-items:center;gap:8px;margin-bottom:14px}.party{flex:1;background:var(--code);border-radius:10px;padding:8px 10px;min-width:0}.party small{display:block;color:var(--muted);font-size:11px}.party b{font-size:14px;word-break:break-all}.arrow{font-size:20px;color:var(--saffron)}.trade label{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin-top:6px}.trade label b{color:var(--ink)}input[type=range]{width:100%;accent-color:var(--green)}.compare{display:grid;gap:8px;margin:14px 0}.compare>div{display:grid;grid-template-columns:1fr auto;align-items:baseline;border-bottom:1px dashed var(--line);padding-bottom:6px}.compare small{color:var(--muted);font-size:12px}.compare b{font-size:18px;text-align:right}.compare b.g{color:var(--green)}.compare span{grid-column:1 / -1;font-size:11px;color:var(--muted)}.pay{width:100%;padding:13px;border-radius:12px;border:0;color:#fff;font-weight:700;font-size:15px;background:linear-gradient(135deg,#0f7a4a,#0b5c38)}.pay:disabled{opacity:.5}.presets{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;align-items:center}.presets small{width:100%;color:var(--muted)}.presets button{font-size:12px;padding:5px 9px;border-radius:99px;border:1px solid var(--line);background:var(--code);color:var(--ink)}.reg label{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin-top:4px}.reg label b{color:var(--ink)}.two{display:flex;gap:8px}.policies{display:grid;gap:8px;margin-top:12px}.policy{border:1.5px solid var(--line);border-radius:10px;background:var(--code);overflow:hidden;transition:all .25s}.policy.fired{border-color:var(--red);background:var(--red-soft)}.policy.permit{border-color:var(--green);background:var(--green-soft)}.pid{font-size:11px;font-weight:700;padding:5px 10px 0;color:var(--saffron)}.policy.fired .pid{color:var(--red)}.policy.permit .pid{color:var(--green)}.policy pre{margin:0;padding:4px 10px 8px;font-size:11.5px;line-height:1.45;white-space:pre-wrap;word-break:break-word;font-family:JetBrains Mono,Consolas,monospace}.muted{color:var(--muted);font-size:13px}.bar{height:14px;border-radius:99px;background:var(--code);overflow:hidden;border:1px solid var(--line)}.bar div{height:100%;background:linear-gradient(90deg,var(--saffron),var(--green));transition:width .6s}.pool-nums{display:flex;justify-content:space-between;font-size:13px;margin-top:6px}.rec-flash{margin-top:10px;padding:10px;border-radius:10px;background:var(--green-soft);color:var(--green);font-weight:600;font-size:13px}.redeem{margin-top:12px}.redeem small{color:var(--muted)}.redeem div{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.redeem span{font-size:12px;padding:5px 9px;border-radius:99px;background:var(--saffron-soft);color:var(--saffron)}.ledger-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.ledger-actions button{padding:7px 12px;border-radius:9px;border:0;background:var(--green);color:#fff;font-size:13px}.ledger-actions button.ghost{background:transparent;border:1px solid var(--line);color:var(--muted)}.ok-text{color:var(--green);font-weight:600;font-size:13px}.bad-text{color:var(--red);font-weight:600;font-size:13px}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:var(--muted);font-weight:500;border-bottom:1px solid var(--line);padding:6px}td{padding:6px;border-bottom:1px solid var(--line);white-space:nowrap}tr.broken td{background:var(--red-soft);color:var(--red)}.mono{font-family:Consolas,monospace;font-size:12px}.how{margin-top:20px}.how h2{font-size:18px}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.steps div{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px}.steps b{font-size:14px}.steps p{margin:6px 0 0;font-size:12.5px;color:var(--muted);line-height:1.45}.foot{margin-top:12px}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:grid;place-items:center;padding:16px;z-index:10}.modal{background:var(--card);border-radius:20px;padding:22px;width:100%;max-width:340px;text-align:center}.modal h3{margin:6px 0;font-size:22px}.modal small{color:var(--muted)}.dots{display:flex;justify-content:center;gap:12px;margin:12px 0 16px}.dots span{width:14px;height:14px;border-radius:50%;border:2px solid var(--muted)}.dots span.f{background:var(--ink);border-color:var(--ink)}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.keypad button{padding:14px;border-radius:12px;border:1px solid var(--line);background:var(--code);color:var(--ink);font-size:18px;font-weight:600}.checking{padding:30px 0}.spinner{width:42px;height:42px;border-radius:50%;border:4px solid var(--line);border-top-color:var(--saffron);margin:0 auto 14px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.result .big{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:0 auto;font-size:32px;color:#fff}.result.ok .big{background:var(--green)}.result.bad .big{background:var(--red)}.result ul{text-align:left;padding-left:18px;font-size:13px}.result li{margin-bottom:6px}.result code{font-size:11px;background:var(--red-soft);color:var(--red);padding:1px 5px;border-radius:5px}.result.ok code{background:var(--green-soft);color:var(--green)}.result button{margin-top:10px;padding:10px 26px;border-radius:10px;border:0;background:var(--ink);color:var(--card);font-weight:600}@media(max-width:1050px){.grid{grid-template-columns:1fr 1fr}.colony,.cedar-card{grid-row:auto}.steps{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.grid,.steps{grid-template-columns:1fr}}
