/* Ledger Lending. Builds on the Ursa Ledger arcade style. Play money only. */
.playbar{background:#2a1d05;border-bottom:1px solid var(--gold-dim);color:#ffe9b8;font-weight:700;font-size:13px;letter-spacing:.04em;text-align:center}
.playbar .wrap{padding:6px 0}
@media(max-width:640px){.playbar{font-size:12px}}
.hero{padding:26px 0 8px}
.modechip{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:6px 0 10px;font-size:14px}
.chip{display:inline-block;border:1px solid var(--gold);color:var(--gold);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.chip.ok{border-color:#64d49a;color:#64d49a}.chip.warn{border-color:#f0b24a;color:#f0b24a}.chip.bad{border-color:#ff7a7a;color:#ff7a7a}
.muted{color:var(--muted)}
.bad{color:#ff9a9a}
.memo-toggle,.nick-field,.field{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:14px}
.nick-field input,.field input[type=text],.field input[type=number],.field select,.prompt input,.picker input{background:#0a0824;border:1px solid var(--line);color:var(--text);border-radius:10px;padding:10px 12px;font:inherit;min-height:44px;max-width:100%}
.field input[type=number]{width:7.5em}
.field.inline{margin-right:8px}
.field select{min-width:12em}
.field{display:flex;flex-direction:column;align-items:flex-start;margin:12px 0}
.field.inline{display:inline-flex;flex-direction:row}
input[type=range]{width:100%;max-width:26rem;accent-color:#e8c27a;min-height:34px}
input[type=checkbox],input[type=radio]{accent-color:#e8c27a;width:20px;height:20px}
.prompt{background:rgba(232,194,122,.08);border:1px solid var(--gold-dim);border-radius:14px;padding:12px 14px;margin:8px 0 12px;font-size:15px}
.prompt .row,.card2 .row,.picker .row{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;margin-top:10px}
.prompt-lite{background:rgba(232,194,122,.08);border:1px solid var(--gold-dim);border-radius:12px;padding:10px 12px;color:var(--text)}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:10px 0 6px}
@media(min-width:760px){.stats{grid-template-columns:repeat(5,1fr)}}
.tile{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;min-width:0}
.tile .tl,.pool .tl,.pos .tl{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.tile .tv{font:600 30px/1.1 Cormorant,serif;color:var(--text)}
.tile .th{font-size:12px;color:var(--muted)}
.tile.good .tv{color:#64d49a}.tile.warn .tv{color:#f0b24a}
.toast{min-height:0;margin:6px 0;padding:0;border-radius:12px;font-weight:600;overflow:hidden;max-height:0;transition:max-height .2s}
.toast.show{max-height:200px;padding:10px 14px;background:rgba(100,212,154,.12);border:1px solid rgba(100,212,154,.45);color:#c8f5de}
.toast.show.bad{background:rgba(255,122,122,.12);border-color:rgba(255,122,122,.5);color:#ffd0d0}
.tabs{display:flex;gap:6px;overflow-x:auto;padding:6px 0 10px;margin-top:6px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.tabs button{flex:0 0 auto;background:#0c0a28;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:10px 16px;font:600 15px Manrope,system-ui,sans-serif;min-height:44px;cursor:pointer}
.tabs button[aria-selected=true]{background:var(--gold);color:#1a1208;border-color:var(--gold)}
.panel{padding:6px 0 10px;min-height:260px}
.btn{border:0;cursor:pointer;font-family:inherit;min-height:44px}
.btn.sm{padding:9px 14px;font-size:14px}
.btn.ghost{background:transparent;color:var(--gold);border:1px solid var(--gold)}
.btn.good{background:#64d49a;color:#06210f}
.btn[disabled]{opacity:.55;cursor:default}
button.mini{background:transparent;color:var(--gold);border:1px solid var(--gold-dim);border-radius:999px;padding:5px 12px;font:600 13px Manrope,system-ui,sans-serif;cursor:pointer;min-height:34px}
a.mini-link{font-size:14px}
.busy .btn,.busy .mini{pointer-events:none;opacity:.6}
.card2{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin:0 0 14px;box-shadow:var(--shadow)}
.card2 h3{font:600 26px/1.2 Cormorant,serif;margin:0 0 6px;color:var(--gold)}
.card2 h4,.picker h4{font:600 20px/1.2 Cormorant,serif;margin:14px 0 6px;color:var(--text)}
.learn p,.learn li{max-width:46rem}
.learn ul{padding-left:1.1rem}.learn li{margin:0 0 8px}
details{background:#0a0824;border:1px solid var(--line);border-radius:12px;padding:10px 14px;margin:8px 0}
summary{cursor:pointer;font-weight:600;min-height:32px;display:flex;align-items:center}
.loop{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px;margin:0 0 14px}
.loop ol{margin:0;padding-left:1.2rem}.loop li{margin:4px 0}
.games{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:12px}
@media(min-width:700px){.games{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.games{grid-template-columns:1fr 1fr 1fr}}
.gcard{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px}
.gcard h3{font:600 24px/1.2 Cormorant,serif;margin:0 0 4px}
.gcard p{margin:0 0 6px;font-size:14px}
.gcard .row{display:flex;flex-wrap:wrap;gap:8px}
.note{font-size:14px;max-width:46rem}
.pool,.pos{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:0 0 14px}
@media(min-width:760px){.pool{grid-template-columns:repeat(6,1fr)}.pos{grid-template-columns:repeat(3,1fr)}}
.pool>div,.pos>div{background:#0a0824;border:1px solid var(--line);border-radius:12px;padding:8px 10px;display:flex;flex-direction:column}
.pool .tv,.pos .tv{font:600 24px/1.2 Cormorant,serif}
.terms{display:grid;grid-template-columns:1fr;gap:8px;margin:8px 0}
@media(min-width:700px){.terms{grid-template-columns:repeat(3,1fr)}}
.term{display:flex;align-items:center;gap:10px;background:#0a0824;border:1px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer;min-height:56px}
.term:has(input:checked){border-color:var(--gold);background:rgba(232,194,122,.08)}
.preview{background:rgba(232,194,122,.08);border:1px solid var(--gold-dim);border-radius:12px;padding:10px 12px;margin:10px 0}
.loans{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.loan{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;background:#0a0824;border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.loan>div{min-width:0;flex:1 1 16rem;overflow-wrap:anywhere}
.picker{background:#0a0824;border:1px solid var(--gold-dim);border-radius:14px;padding:12px 14px;margin:0 0 14px}
.scores{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}
.score{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
table.board{border-collapse:collapse;width:100%;min-width:560px;font-size:15px}
table.board th,table.board td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line)}
table.board th{color:var(--muted);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
table.board tr.me td{color:var(--gold);font-weight:700}
.modal{position:fixed;inset:0;z-index:2147482000;display:flex;align-items:flex-start;justify-content:center;padding:14px 10px;background:rgba(3,2,18,.86);overflow-y:auto;-webkit-overflow-scrolling:touch}
.modal-card{width:100%;max-width:600px;margin:auto 0;background:#fff8ea;color:#16132a;border:2px solid #c9a15b;border-radius:20px;padding:18px 18px 16px;box-shadow:0 24px 60px rgba(0,0,0,.5);font-size:16.5px;line-height:1.5}
.modal-card h3{font:600 30px/1.15 Cormorant,serif;margin:6px 0 4px;color:#16132a}
.modal-card .muted{color:#4a4560}
.modal-card dt{font-weight:800;margin-top:10px;color:#3b2c0b}
.modal-card dd{margin:2px 0 0}
.modal-card code{background:#efe4c8;border-radius:6px;padding:1px 6px;font-size:13.5px;overflow-wrap:anywhere;word-break:break-all}
.modal-card a{color:#7a4f00;font-weight:700}
.modal-card .tag{display:inline-block;background:#16132a;color:#ffe9b8;border-radius:999px;padding:2px 10px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.modal-card .fine{font-size:13px;color:#4a4560;margin:12px 0 8px}
.modal-card .btn{background:#16132a;color:#ffe9b8}
.modal-card button.mini{color:#7a4f00;border-color:#c9a15b}
.memo-status.ok{color:#0b6b3a;font-weight:700}.memo-status.bad{color:#a11}

/* ---- Arcade governance. Green = XRPL (yes, passed, the real rule). Purple = the arcade. Gold stays the main button color. ---- */
:root{--xrp:#64d49a;--arcade:#a98bff}
.tabs button.tab-gov{border-color:rgba(169,139,255,.55);color:#cdbdff}
.tabs button.tab-gov[aria-selected=true]{background:var(--gold);color:#1a1208;border-color:var(--gold)}
.gv-head h3{font:600 28px/1.2 Cormorant,serif;margin:0 0 4px;color:#cdbdff}
.gv-nav,.gv-filter{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px}
.gv-nav button.mini,.gv-filter button.mini{min-height:40px;padding:6px 14px;font-size:14px;border-color:rgba(169,139,255,.5);color:#cdbdff}
.gv-nav button.mini.on,.gv-filter button.mini.on{background:var(--arcade);color:#120a2e;border-color:var(--arcade)}
.gv-stats{grid-template-columns:repeat(2,1fr)}
@media(min-width:760px){.gv-stats{grid-template-columns:repeat(6,1fr)}}
.gv-go{color:var(--xrp)}
.gv-yes{color:var(--xrp);font-weight:700}.gv-no{color:#ff9a9a;font-weight:700}
.gv-list{display:grid;gap:12px}
.gv-card{background:#0a0824;border:1px solid var(--line);border-left:4px solid var(--arcade);border-radius:14px;padding:12px 14px}
.gv-card h4{margin:6px 0 4px}
.gv-card p{margin:4px 0;overflow-wrap:anywhere}
.gv-top{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:13px}
.gv-card .row{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;margin-top:10px}
.gv-card .btn.good{color:#06210f}
.chip.gv-cat{font-size:11px}
.chip.gv-games{border-color:var(--arcade);color:#cdbdff}
.chip.gv-lending{border-color:var(--xrp);color:var(--xrp)}
.chip.gv-st-open{border-color:var(--arcade);color:#cdbdff}
.chip.gv-st-passed{background:var(--xrp);border-color:var(--xrp);color:#06210f}
.chip.gv-st-expired,.chip.gv-st-withdrawn{border-color:var(--muted);color:var(--muted)}
.gv-bar{position:relative;display:flex;height:16px;border-radius:999px;background:#17133b;border:1px solid var(--line);overflow:hidden;margin:10px 0 4px}
.gv-bar .y{background:var(--xrp);height:100%}
.gv-bar .n{background:#e06a6a;height:100%}
.gv-bar .mark{position:absolute;top:-2px;bottom:-2px;width:3px;background:#fff;opacity:.9;margin-left:-1px}
.gv-count{margin:2px 0 0}
.gv-clock{font-size:14px}
.gv-voters{margin-top:8px}
.gv-voters summary{font-size:14px;min-height:36px}
.gv-votes{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:4px;font-size:14px}
.gv-table{min-width:0}
.gv-cats{border:0;padding:0;margin:12px 0;display:grid;grid-template-columns:1fr;gap:8px}
@media(min-width:700px){.gv-cats{grid-template-columns:1fr 1fr}}
.gv-cats legend{padding:0;margin-bottom:6px}
.field textarea,textarea#gv-body{width:100%;max-width:46rem;background:#0a0824;border:1px solid var(--line);color:var(--text);border-radius:10px;padding:10px 12px;font:inherit;line-height:1.45;resize:vertical}
.field input#gv-title{width:100%;max-width:46rem}
.gv-rules{font-size:14px;max-width:46rem}
.gv-hist .gv-row details{margin-top:8px}
.gv-row .chip{margin-right:4px}
.gv-next{margin:0;padding-left:1.3rem;display:grid;gap:12px}
.gv-xrpl{border:1px solid rgba(100,212,154,.55);background:rgba(100,212,154,.07);border-radius:14px;padding:4px 14px;margin:8px 0}
.gv-xrpl-h{color:var(--xrp)}
.prompt-lite.gv-roleok{border-color:rgba(100,212,154,.55);background:rgba(100,212,154,.08)}
.chip.ok{border-color:var(--xrp);color:var(--xrp)}
@media(max-width:640px){.gv-nav button.mini{flex:1 1 auto}}

.gv-msg{margin:10px 0 0;font-weight:600}
