:root{--teal:#1290ab;--teal-deep:#0b7288;--ink:#333c42;--muted:#5d6b75;--line:#d3dde3;--alert:#cf3b1b;--desk:#e9e2d5;--paper:#fbf8f1;--stock:#ede7da;--rule:#d2c6b0;--graphite:#2a2620;--faded:#6b6152;--forest:#2c3a33;--forest-2:#3f5147;--brick:#9c3b22;--brick-deep:#82301b;--brick-pale:#f2ddd4;--serif:"Source Serif 4", Georgia, serif;--sans:"Karla", system-ui, sans-serif;--mono:"Space Mono", ui-monospace, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);font-family:Open Sans,Segoe UI,system-ui,sans-serif;line-height:1.45}body{background:var(--desk);margin:0}:where(button,input,a):focus-visible{outline:3px solid var(--teal-deep);outline-offset:2px}.game{width:min(56rem,100% - 2rem);font-family:var(--sans);color:var(--graphite);margin:0 auto;padding-block:1.5rem 3rem;line-height:1.5}.game :where(button,input,a):focus-visible{outline-color:var(--forest-2)}.hud{background:var(--paper);border:1px solid var(--rule);border-bottom:3px double var(--graphite);padding:22px 30px 18px}.hud-top{align-items:baseline;gap:1rem;display:flex}.hud-period{white-space:nowrap}.hud-period,.hud-title{font-family:var(--serif);flex:1;margin:0;font-size:1.375rem;font-weight:700;line-height:1.2}.hud-statement,.hud-label{letter-spacing:.16em;color:var(--faded);margin:0;font-size:.75rem;font-weight:700}.hud-label{margin:14px 0 4px}.hud-amount{font-family:var(--mono);font-variant-numeric:tabular-nums;margin:0;font-size:2.875rem;font-weight:700;line-height:1}.hud-amount span{font-family:var(--sans);letter-spacing:.12em;color:var(--faded);font-size:.9375rem}.hud-balances{flex-wrap:wrap;gap:.4rem 2.5rem;margin-top:16px;display:flex}.hud-balances p{color:var(--faded);margin:0;font-size:.8125rem;font-weight:600}.hud-balances b{font-family:var(--mono);color:var(--graphite);font-weight:700}.hud--plain{padding-block:1.5rem}.hud--plain.bust .hud-title{color:var(--brick)}.card{background:var(--paper);border:1px solid var(--rule);border-top:0;flex-direction:column;gap:18px;padding:28px;display:flex}.instructions{margin:0;font-size:.84375rem;line-height:1.55}.instructions b{color:var(--forest)}.lede{color:var(--faded);margin:0;font-size:1.0625rem}.game button{font:inherit;font-family:var(--serif);letter-spacing:.06em;color:var(--paper);background:var(--brick);cursor:pointer;border:0;border-radius:2px;padding:16px 28px;font-size:.9375rem;font-weight:700}.game button:hover:not(:disabled){background:var(--brick-deep)}.game button:disabled{opacity:.5;cursor:not-allowed}.game button.ghost{color:var(--graphite);box-shadow:inset 0 0 0 1px var(--graphite);background:0 0}.game button.ghost:hover:not(:disabled){background:var(--stock)}.game button.lang{font-family:var(--sans);letter-spacing:.04em;color:var(--forest);border:1px solid var(--rule);background:0 0;align-self:center;padding:.2rem .6rem;font-size:.75rem;font-weight:600}.game button.lang:hover{background:var(--stock)}.actions{justify-content:flex-end;display:flex}.banner{letter-spacing:.03em;color:var(--faded);background:var(--stock);border-radius:2px;margin:0;padding:.55rem .9rem;font-size:.8125rem;font-weight:700}.banner.go{color:var(--forest);border:1px dashed var(--forest-2);background:0 0}.error{color:var(--brick);margin:0;font-size:.9375rem;font-weight:600}.bills{border-top:1px solid var(--rule);margin:6px 0 0;padding:0;list-style:none}.bills li{border-bottom:1px dashed var(--rule);align-items:center;gap:14px;padding:11px 0;display:flex}.bill-mark{color:var(--forest);display:flex}.bill-icon{width:30px;height:30px}.bill-name{letter-spacing:.06em;flex:1;margin:0;font-size:.875rem;font-weight:600}.bill-amount{font-family:var(--mono);margin:0;font-size:.8125rem;font-weight:700}.bill-amount s{text-decoration:none}.bill-amount b{font-family:var(--sans);letter-spacing:.08em;color:var(--brick);margin-left:8px;font-size:.75rem}.bills--paid .bill-mark,.bills--paid .bill-name,.bills--paid s{color:var(--faded)}.bills--paid s{text-decoration:line-through}.allocate{text-align:center;margin:10px 0 0;font-size:.875rem;font-weight:700}.split{gap:14px;display:grid}.split-row{letter-spacing:.07em;color:var(--faded);grid-template-columns:13rem minmax(0,1fr) 7rem 4rem;align-items:center;gap:18px;font-size:.75rem;font-weight:600;display:grid}.split-row b{font-family:var(--mono);letter-spacing:0;color:var(--graphite);font-variant-numeric:tabular-nums;font-size:.875rem;font-weight:700}.split-row b.split-usd{text-align:right;color:var(--brick)}.slider{appearance:none;background:0 0;width:100%;height:20px;margin:0}.slider::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--forest-2) 0 var(--p), var(--stock) var(--p) 100%);border-radius:3px;height:5px}.slider::-moz-range-track{background:linear-gradient(to right, var(--forest-2) 0 var(--p), var(--stock) var(--p) 100%);border-radius:3px;height:5px}.slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--paper);border:3px solid var(--forest-2);cursor:grab;border-radius:50%;width:20px;height:20px;margin-top:-7.5px}.slider::-moz-range-thumb{box-sizing:border-box;background:var(--paper);border:3px solid var(--forest-2);cursor:grab;border-radius:50%;width:20px;height:20px}.allocate-foot{justify-content:space-between;align-items:center;gap:24px;margin-top:4px;display:flex}.hints p{color:var(--brick);margin:0;font-size:.8125rem}.hints p+p{margin-top:4px}.code{background:var(--stock);border:1px dashed var(--forest-2);border-radius:2px;gap:10px;padding:18px 20px;display:grid}.code label{letter-spacing:.16em;color:var(--faded);font-size:.75rem;font-weight:700}.code-row{gap:12px;display:flex}.code-row input{min-width:0;font-family:var(--mono);letter-spacing:.2em;color:var(--graphite);background:var(--paper);border:1px solid var(--rule);border-radius:2px;flex:1;padding:12px 16px;font-size:1.5rem;font-weight:700}.code-help{margin:0;font-size:.875rem}.payout{font-family:var(--mono);font-variant-numeric:tabular-nums;margin:0;font-size:3rem;font-weight:700;line-height:1}.summary{border-top:1px solid var(--rule);grid-template-columns:1fr auto;gap:.4rem 1rem;margin:0;padding-top:12px;display:grid}.summary dt{color:var(--faded);font-size:.9375rem}.summary dd{font-family:var(--mono);text-align:right;margin:0;font-weight:700}.overlay{background:#0812188c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0;overflow:auto}.modal{background:var(--paper);border-radius:2px;width:min(48rem,100%);overflow:hidden}.modal-head{background:var(--brick);padding:20px 3rem;position:relative}.modal-head h2{font-family:var(--serif);letter-spacing:.04em;text-align:center;color:var(--paper);margin:0;font-size:1.875rem;font-weight:700}.game button.modal-x{font-family:var(--sans);background:0 0;padding:.25rem .55rem;font-size:1.1rem;position:absolute;top:.4rem;right:.5rem}.modal-body{flex-direction:column;gap:20px;padding:26px 30px 30px;display:flex}.modal-body p{margin:0;font-size:1rem}.ledger{border-collapse:collapse}.ledger--wide{width:100%}.ledger thead th{letter-spacing:.12em;color:var(--faded);padding:0 30px 8px;font-size:.75rem;font-weight:700}.ledger tbody th{letter-spacing:.06em;text-align:right;padding:14px 16px 14px 0;font-size:.8125rem;font-weight:700}.ledger td{font-family:var(--mono);text-align:center;border:2px solid var(--graphite);font-variant-numeric:tabular-nums;padding:14px 30px;font-size:1.25rem;font-weight:700}.ledger--wide td{padding:12px 16px;font-size:1rem}.shock-grid{justify-content:space-between;align-items:center;gap:30px;display:flex}.shock-mark{width:132px;height:132px;color:var(--brick);background:var(--brick-pale);border-radius:2px;flex:none;justify-content:center;align-items:center;display:flex}.shock-art{width:62px;height:62px}.shock-confirm{align-items:stretch;gap:20px;display:flex}.shock-confirm input{min-width:0;font-family:var(--mono);color:var(--graphite);background:var(--stock);border:1px solid var(--rule);border-radius:2px;flex:1;padding:16px 18px;font-size:1.25rem}.shock-confirm input::placeholder{color:var(--faded);opacity:1}.modal-actions{gap:12px;display:flex}.modal-actions button{flex:1}@media (width<=40rem){.hud{padding:18px 16px 14px}.hud-statement{display:none}.card{padding:20px 16px}.hud-amount{font-size:2.25rem}.split-row{grid-template-columns:1fr auto}.split-row .slider{grid-column:1/-1}.allocate-foot,.shock-grid,.shock-confirm,.code-row{flex-direction:column;align-items:stretch}.shock-mark{align-self:center}.modal-body{padding:20px 16px}.ledger thead th,.ledger td{padding-inline:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.admin{min-height:100vh;color:var(--ink);background:#f4f6f8;display:flow-root}.admin .mono{font-variant-numeric:tabular-nums}.admin-nav{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;padding:.9rem 2rem;display:flex}.admin-word{letter-spacing:.08em;text-transform:uppercase;color:var(--teal-deep);font-size:.875rem;font-weight:700}.admin-logout{cursor:pointer;font:inherit;color:var(--muted);background:0 0;border:0;padding:.3rem;font-size:.875rem;font-weight:600}.admin-logout:hover{color:var(--ink)}.admin-tabs{border-bottom:1px solid var(--line);background:#fff;gap:1.75rem;padding:0 2rem;display:flex}.admin-tab{cursor:pointer;font:inherit;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.75rem .1rem;font-size:.9375rem;font-weight:600}.admin-tab:hover{color:var(--ink)}.admin-tab.active{color:var(--teal-deep);border-bottom-color:var(--teal)}.admin-main{width:min(64rem,100% - 3rem);margin:2rem auto 4rem}.panel{border:1px solid var(--line);background:#fff;border-radius:6px;margin-bottom:1.25rem;overflow:hidden}.panel h2{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);margin:0;padding:.9rem 1.5rem;font-size:.75rem;font-weight:700}.panel-body{padding:1.5rem}.panel .field{align-items:baseline;gap:.9rem;margin:0 0 1.25rem;display:flex}.panel .field label{text-align:right;width:9rem;color:var(--muted);flex:none;font-size:.9375rem}.panel .field input{max-width:14rem;font:inherit;color:var(--ink);border:0;border-bottom:1px solid var(--line);background:0 0;flex:1;padding:.45rem 0;font-size:1rem}.panel .field input:focus{border-bottom-color:var(--teal);outline:none}.panel .field-control{flex:1;gap:.3rem;display:grid}.panel .field-control input{max-width:14rem}.field-hint{max-width:30rem;color:var(--muted);margin:0;font-size:.8125rem;line-height:1.45}.admin-ok{color:var(--teal-deep);margin-left:.8rem;font-size:.875rem;font-weight:600}form+.hint{margin-top:1.25rem}.hint{max-width:36rem;color:var(--muted);margin:0;font-size:.875rem;line-height:1.55}.admin-btn{font:inherit;color:#fff;background:var(--teal);border:1px solid var(--teal);cursor:pointer;border-radius:4px;margin-left:9.9rem;padding:.55rem 1.3rem;font-size:.9375rem;font-weight:600}.admin-btn:hover:not(:disabled){background:var(--teal-deep);border-color:var(--teal-deep)}.admin-btn:disabled{opacity:.5;cursor:default}.admin-btn-outline{color:var(--ink);border-color:var(--line);background:0 0;margin-left:0}.admin-btn-outline:hover:not(:disabled){color:var(--teal-deep);border-color:var(--teal);background:#f4f8fa}.admin-err{color:var(--alert);margin:0 0 1rem;font-size:.9375rem;font-weight:600}.stat-strip{background:var(--line);border:1px solid var(--line);border-radius:6px;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:1px;margin-bottom:1.25rem;display:grid;overflow:hidden}.stat{background:#fff;flex-direction:column;gap:.35rem;padding:1.1rem 1.4rem;display:flex}.stat span{color:var(--muted);font-size:.8125rem}.stat b{letter-spacing:-.015em;font-size:1.75rem;font-weight:700;line-height:1.1}.charts{background:var(--line);grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1px;display:grid}.chart{background:#fff;padding:1.25rem 1.5rem 1.4rem}.chart h3{margin:0 0 .9rem;font-size:.9375rem;font-weight:600}.chart-row{border-radius:3px;grid-template-columns:6rem 1fr 3.25rem;align-items:center;gap:.75rem;margin:0 -.4rem;padding:.3rem .4rem;display:grid}.chart-row:hover{background:#f4f6f8}.chart-label{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;overflow:hidden}.chart-plot{border-left:1px solid var(--line);display:block}.chart-bar{background:var(--teal);border-radius:0 4px 4px 0;min-width:2px;height:10px;display:block}.chart-value{text-align:right;font-variant-numeric:tabular-nums;font-size:.8125rem;font-weight:600}.chart-empty{color:var(--muted);margin:0;padding:1.5rem;font-size:.875rem}.ledger-table{border-collapse:collapse;width:100%;font-size:.875rem}.ledger-table th{letter-spacing:.06em;text-transform:uppercase;text-align:left;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:.7rem 1.5rem;font-size:.6875rem;font-weight:700}.ledger-table td{white-space:nowrap;border-bottom:1px solid #eef2f5;padding:.6rem 1.5rem}.ledger-table th.r,.ledger-table td.r{text-align:right}.ledger-table tbody tr:hover td{background:#f4f6f8}.ledger-table tbody tr:last-child td{border-bottom:none}.ledger-scroll{max-height:24rem;overflow:auto}.ledger-scroll thead th{z-index:1;background:#fff;position:sticky;top:0}@media (width<=40rem){.admin-nav,.admin-tabs{padding-inline:1.25rem}.admin-main{width:calc(100% - 1.5rem)}.panel .field{flex-direction:column;align-items:stretch;gap:.3rem}.panel .field label{text-align:left;width:auto}.panel .field input{max-width:none}.admin-btn{margin-left:0}.admin-tabs{gap:1.25rem}.ledger-table th,.ledger-table td,.chart{padding-inline:1rem}}
