:root{--ink:#18211b;--paper:#f5f1df;--green:#1d6b45;--red:#a62a2a;--gold:#d8a62e;--line:#d6d1bb}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:linear-gradient(180deg,#f7f2df,#eeead8);min-height:100vh}.topbar{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:14px max(18px,calc((100vw - 1180px)/2));background:#173d2b;color:white;box-shadow:0 2px 15px #0002}.topbar a{color:white;text-decoration:none;margin-left:14px}.brand{font-weight:900;font-size:1.1rem}.container{max-width:1180px;margin:auto;padding:28px 18px 70px}.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:35px;align-items:center;min-height:520px}.hero h1{font-size:clamp(2.5rem,6vw,5.6rem);line-height:.95;margin:.2em 0}.hero p{font-size:1.15rem;max-width:700px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-weight:800;font-size:.75rem;color:var(--green)}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.btn{border:1px solid #193827;background:white;color:#193827;padding:11px 15px;border-radius:10px;text-decoration:none;font-weight:800;cursor:pointer}.btn.primary,.btn.green{background:var(--green);color:white}.btn.dark{background:#18211b;color:white}.btn.red{background:var(--red);color:white}.note-stack{position:relative;min-height:350px}.note-stack img{position:absolute;width:90%;border-radius:8px;box-shadow:0 18px 40px #0004;left:5%;top:20%;transform:rotate(-5deg)}.note-stack img:nth-child(2){transform:rotate(5deg);top:25%}.note-stack img:nth-child(3){transform:rotate(-1deg);top:30%}.panel{background:#fffdf4;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 12px 30px #273b2914}.narrow{max-width:520px;margin:45px auto}form{display:grid;gap:14px}label{display:grid;gap:6px;font-weight:700}input,select{width:100%;padding:12px;border:1px solid #b8b4a3;border-radius:9px;background:white;font:inherit}.split{display:grid;grid-template-columns:1.4fr .6fr;gap:24px}.game-row,.activity>div{display:flex;justify-content:space-between;gap:20px;background:#fffdf4;border:1px solid var(--line);border-radius:12px;padding:16px;margin:10px 0;text-decoration:none;color:inherit}.game-row small,.activity small{display:block;color:#687166;margin-top:4px}.game-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:20px}.game-head h1{font-size:3.5rem;margin:0}.player-grid{display:grid;gap:14px}.player-card{background:#fffdf4;border:1px solid var(--line);border-radius:15px;padding:18px}.player-card>div{display:flex;justify-content:space-between;align-items:center}.player-card strong{font-size:1.8rem}.quick-actions{grid-template-columns:repeat(5,1fr);margin-top:14px}.notes-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.notes-grid.small{grid-template-columns:repeat(7,1fr)}.note-card{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden;text-align:center}.note-card img{display:block;width:100%;aspect-ratio:2/1;object-fit:cover}.note-card strong{display:block;padding:10px}.mini-note{display:flex;align-items:center;gap:10px;margin:8px 0}.mini-note img{width:110px;border-radius:4px}.alert{padding:14px 16px;border-radius:10px;margin-bottom:15px}.alert.success{background:#dff4e7;color:#185c37}.alert.error{background:#f7dddd;color:#812222}.wallet{text-align:center;padding:45px 10px}.wallet h1{font-size:2.5rem;margin:.2em}.balance{font-weight:950;font-size:clamp(4rem,14vw,9rem);line-height:1;color:var(--green)}.footer{text-align:center;padding:30px;color:#697065}.activity>div{display:grid;grid-template-columns:1fr auto}.activity small{grid-column:1/-1}.footer{border-top:1px solid var(--line)}hr{border:0;border-top:1px solid var(--line);margin:25px 0}@media(max-width:800px){.hero,.split{grid-template-columns:1fr}.hero{min-height:auto}.note-stack{min-height:260px}.quick-actions{grid-template-columns:1fr 1fr}.notes-grid,.notes-grid.small{grid-template-columns:repeat(2,1fr)}.game-head{align-items:stretch;flex-direction:column}.topbar nav{font-size:.85rem}.player-card>div{align-items:flex-start}.balance{font-size:4.5rem}}
