:root { color-scheme: light; font: 16px system-ui,sans-serif; --ink:#172821; --muted:#55675f; --line:#d7e1da; --green:#183f36; --paper:#f6f7f2; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--paper); }
[hidden] { display:none!important; }
.top { display:flex; align-items:center; justify-content:space-between; padding:.8rem max(1rem, calc((100vw - 48rem)/2)); background:#fff; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:.6rem; font-size:1.2rem; font-weight:800; white-space:nowrap; }
.brand img { border-radius:9px; }
.brand small { font-weight:600; font-size:.66rem; letter-spacing:.09em; color:var(--muted); margin-left:.3rem; }
main { max-width:49rem; margin:auto; padding:1rem 1rem 3rem; }
h1,h2,p { margin:0; }
h1 { font-size:1.65rem; }
h2 { font-size:1.13rem; }
.panel, .balance { border:1px solid var(--line); padding:1rem; border-radius:14px; margin-bottom:.85rem; background:#fff; }
.balance { background:var(--green); border-color:var(--green); color:white; padding:1.25rem; }
.balance p { color:#e0eee5; }
.balance p:last-child { font-size:.87rem; }
.balance strong { display:block; margin:.18rem 0 .36rem; font-size:clamp(2rem,9vw,3.3rem); font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.login { max-width:25rem; margin:2rem auto; }
form { display:grid; gap:.85rem; margin-top:.85rem; }
label { display:grid; gap:.32rem; font-weight:650; }
input,select,textarea { min-width:0; width:100%; min-height:2.75rem; padding:.58rem .7rem; border:1px solid #8b9f94; border-radius:8px; font:inherit; color:var(--ink); background:#fff; }
textarea { min-height:5rem; }
input[type=checkbox] { width:1.2rem; height:1.2rem; min-height:0; accent-color:var(--green); }
.check { display:flex; align-items:center; gap:.45rem; }
button { min-height:2.75rem; font:inherit; font-weight:700; cursor:pointer; border:1px solid #a5b8ae; color:var(--green); background:#fff; border-radius:8px; padding:.5rem .8rem; }
button:disabled { opacity:.6; cursor:wait; }
button.primary { background:var(--green); border-color:var(--green); color:white; }
button.quiet { border-color:transparent; background:transparent; }
button.danger { color:#9a3028; }
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible { outline:3px solid #296a57; outline-offset:2px; }
a { color:#17574a; font-weight:650; }
.actions { display:grid; grid-template-columns:repeat(3,1fr); gap:.55rem; margin-bottom:.85rem; }
.actions button { min-height:3.3rem; }
.row { display:flex; gap:.6rem; justify-content:space-between; align-items:center; flex-wrap:wrap; }
ul { list-style:none; padding:0; margin:.5rem 0 0; }
li { border-top:1px solid var(--line); padding:.65rem 0; overflow-wrap:anywhere; }
li p+p, li .row { margin-top:.25rem; }
.meta { color:var(--muted); font-size:.88rem; }
.warn { color:#9a3028; font-weight:700; }
.notice { margin-bottom:.8rem; border-radius:8px; background:#e2f1e7; padding:.6rem .75rem; }
.notice.error { background:#fce9e5; color:#8a211c; }
#start-button { margin-top:.75rem; }
dialog { width:min(94vw,31rem); max-height:88vh; border:1px solid var(--line); border-radius:14px; padding:1rem; color:var(--ink); }
dialog::backdrop { background:#152921a6; }
.error-text { color:#8a211c; font-weight:650; }
@media (max-width:34rem) { .actions { grid-template-columns:1fr 1fr; } .actions button:last-child { grid-column:1/-1; } }
