:root{--green-900: #07301d;--green-800: #0b3d24;--green-700: #0b6b3a;--green-600: #138a4c;--green-500: #1faa5d;--accent: #f4c430;--paper: #0f2519;--card: #143324;--card-2: #1b4030;--line: #235440;--text: #eaf4ee;--muted: #9fc4b0;--red: #e2574c;--yellow: #f2b134;--green: #2ecc71;--radius: 14px;--shadow: 0 6px 20px rgba(0, 0, 0, .35)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:linear-gradient(180deg,var(--green-900),var(--paper));color:var(--text);-webkit-font-smoothing:antialiased}.app{max-width:520px;margin:0 auto;min-height:100%;padding:env(safe-area-inset-top) 16px calc(env(safe-area-inset-bottom) + 24px)}h1,h2,h3{font-weight:700;line-height:1.15}h1{font-size:26px;margin:18px 0 4px}h2{font-size:19px;margin:22px 0 10px}h3{font-size:15px;margin:0 0 8px}p{line-height:1.5;color:var(--muted)}a{color:var(--accent)}.muted{color:var(--muted)}.small{font-size:13px}.center{text-align:center}.row{display:flex;gap:10px;align-items:center}.row.wrap{flex-wrap:wrap}.spread{justify-content:space-between}.grow{flex:1}.stack{display:flex;flex-direction:column;gap:12px}.mt{margin-top:16px}.mb{margin-bottom:16px}.appbar{display:flex;align-items:center;justify-content:space-between;padding:14px 0 6px}.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.3px}.brand .dot{width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px #f4c4302e}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow)}.card+.card{margin-top:12px}button{font-family:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:12px;padding:13px 16px;font-size:16px;font-weight:700;cursor:pointer;background:var(--card-2);color:var(--text);border:1px solid var(--line);transition:transform .04s ease,filter .15s ease}.btn:active{transform:scale(.98)}.btn.primary{background:linear-gradient(180deg,var(--green-600),var(--green-700));border-color:var(--green-500)}.btn.accent{background:linear-gradient(180deg,#f6cf45,#e6b21f);color:#2a1f00;border:none}.btn.ghost{background:transparent}.btn.danger{background:transparent;border-color:#5b2a27;color:var(--red)}.btn.block{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.sm{padding:8px 12px;font-size:14px;border-radius:10px}input,select{font-family:inherit;font-size:16px;background:var(--green-900);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:11px 12px;width:100%}label.field{display:block}label.field>span{display:block;font-size:13px;color:var(--muted);margin:0 0 6px}.seg{display:inline-flex;background:var(--green-900);border:1px solid var(--line);border-radius:12px;padding:3px}.seg button{border:none;background:transparent;color:var(--muted);padding:9px 14px;border-radius:9px;font-weight:700;font-size:14px}.seg button.on{background:var(--green-600);color:#fff}.chip{display:inline-flex;align-items:center;gap:6px;background:var(--green-900);border:1px solid var(--line);border-radius:999px;padding:6px 11px;font-size:13px;color:var(--muted)}.chip.on{background:var(--green-600);color:#fff;border-color:var(--green-500)}.badge{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;padding:3px 8px;border-radius:999px}.badge.new{background:#f4c43029;color:var(--accent)}.badge.soon{background:#9fc4b024;color:var(--muted)}.badge.excl{background:#2ecc7129;color:var(--green)}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tile{text-align:left;position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px;cursor:pointer;min-height:92px}.tile.on{border-color:var(--green-500);background:var(--card-2);box-shadow:0 0 0 2px #1faa5d66}.tile.locked{opacity:.6;cursor:not-allowed}.tile .name{font-weight:800;font-size:15px}.tile .alias{font-size:12px;color:var(--muted)}.tile .top{display:flex;justify-content:space-between;align-items:flex-start;gap:6px}.pace{display:flex;align-items:center;gap:10px;border-radius:12px;padding:10px 12px;font-weight:700;border:1px solid var(--line)}.pace .light{width:14px;height:14px;border-radius:50%}.pace.green{background:#2ecc711f}.pace.green .light{background:var(--green)}.pace.yellow{background:#f2b1341f}.pace.yellow .light{background:var(--yellow)}.pace.red{background:#e2574c24}.pace.red .light{background:var(--red);box-shadow:0 0 10px var(--red)}.scorer{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}.scorer:last-child{border-bottom:none}.stepper{display:flex;align-items:center;gap:10px}.stepper button{width:40px;height:40px;border-radius:10px;font-size:22px;font-weight:800;background:var(--card-2);color:var(--text);border:1px solid var(--line)}.stepper .val{min-width:42px;text-align:center;font-size:22px;font-weight:800}.stepper .val.empty{color:var(--muted);font-weight:600}.stepper .delta{font-size:11px;font-weight:700;color:var(--muted)}.shotrow{width:100%;text-align:left;background:transparent;border:none;border-bottom:1px solid var(--line);cursor:pointer}.shotrow:last-of-type{border-bottom:none}.shotrow.on{background:#1faa5d1a;border-radius:10px}.bigclock{font-size:26px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--accent)}.pacebar{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--line)}.pacebar:last-child{border-bottom:none}.pacebar .hole{width:32px;font-weight:700}.pacebar .track{flex:1;height:8px;background:var(--green-900);border-radius:999px;overflow:hidden}.pacebar .fill{height:100%;border-radius:999px}.pacebar .fill.ok{background:var(--green)}.pacebar .fill.over{background:var(--red)}.pacebar .t{width:78px;text-align:right;font-variant-numeric:tabular-nums;font-size:13px}.teeorder{display:flex;gap:8px;flex-wrap:wrap}.teeorder .pos{background:var(--green-900);border:1px solid var(--line);border-radius:10px;padding:6px 10px;font-size:13px}.teeorder .pos b{color:var(--accent)}.scoreboard{width:100%;border-collapse:collapse}.scoreboard th,.scoreboard td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);font-size:14px;vertical-align:middle}.scoreboard td.num,.scoreboard th.num{text-align:right;font-variant-numeric:tabular-nums}.press-row td{background:#ffffff05}.st{display:inline-block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;padding:2px 6px;border-radius:999px;margin-right:6px}.st.final{background:#2ecc712e;color:var(--green)}.st.closed{background:#f4c4302e;color:var(--accent)}.st.live{background:#9fc4b029;color:var(--muted)}.st.idle{background:transparent;color:var(--muted);border:1px solid var(--line)}.transfer{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}.transfer:last-child{border-bottom:none}.amount.pos{color:var(--green);font-weight:800}.amount.neg{color:var(--red);font-weight:800}.narrative{white-space:pre-line;line-height:1.6;color:var(--text)}.audit{font-size:13px;color:var(--muted)}.audit div{padding:4px 0;border-bottom:1px dashed var(--line)}.hole-nav{display:flex;align-items:center;justify-content:space-between;gap:10px}.hole-pill{font-size:13px;color:var(--muted)}.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%);background:var(--card-2);border:1px solid var(--green-500);color:var(--text);padding:10px 16px;border-radius:999px;box-shadow:var(--shadow);font-weight:700;font-size:14px;z-index:50}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:100;display:flex;align-items:center;justify-content:center;padding:12px}.modal{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px;width:100%;max-width:560px;max-height:90vh;overflow:auto;box-shadow:var(--shadow)}.map-wrap{overflow:auto;-webkit-overflow-scrolling:touch;border-radius:10px}.map-img{width:100%;height:auto;display:block;border-radius:10px}.empty-state{text-align:center;padding:40px 16px}.divider{height:1px;background:var(--line);margin:16px 0}.sticky-actions{position:sticky;bottom:0;padding:12px 0 0;background:linear-gradient(180deg,transparent,var(--paper) 30%)}
