:root{--bg: #fbf7f3;--card: #ffffff;--field: #fffdfb;--soft: #f6f0ea;--line: #ece3da;--text: #3b3848;--muted: #7d788a;--primary: #9ed9b8;--primary-soft: #eaf7ef;--on-primary: #1f4a33;--accent: #c9b8f2;--accent-text: #6f57c2;--pink: #f6c6d6;--pink-soft: #fde8ee;--pink-text: #8e3651;--danger: #c94f64;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg);color-scheme:light}*{box-sizing:border-box}body{margin:0}.app{max-width:640px;margin:0 auto;padding:0 12px env(safe-area-inset-bottom);min-height:100vh;display:flex;flex-direction:column}main{flex:1}.top{display:flex;align-items:center;gap:8px;padding:14px 4px}.brand{font-weight:800;font-size:1.1rem;flex:1}.badge{background:var(--pink);color:var(--pink-text);font-size:.7rem;padding:2px 8px;border-radius:99px;font-weight:700}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px;margin:10px 0}.card h2,.card h3{margin:0 0 10px}.gate{text-align:center;margin-top:10vh}.gate form{display:grid;gap:8px;margin:16px 0;text-align:left}.row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}input{background:var(--field);color:var(--text);border:1px solid var(--line);outline-color:var(--accent);border-radius:10px;padding:10px;font-size:1rem}.btn{border:0;border-radius:12px;padding:12px 16px;font-weight:700;font-size:1rem;cursor:pointer;display:inline-block;text-align:center;text-decoration:none}.btn.primary{background:var(--primary);color:var(--on-primary)}.btn.primary:disabled{opacity:.5}.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--line)}.wide{width:100%;margin:6px 0}.link{background:none;border:0;color:var(--muted);cursor:pointer;padding:6px 0;font-size:.95rem;text-align:left}.tabs{display:flex;gap:6px}.tabs button{flex:1;padding:10px;border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--muted);font-weight:700}.tabs button.on{background:var(--card);color:var(--text)}.match{display:flex;gap:10px;align-items:center;padding:10px 6px;border-top:1px solid var(--line);cursor:pointer}.match.on{background:var(--primary-soft);border-radius:8px}.time{color:var(--muted);font-variant-numeric:tabular-nums;min-width:78px;white-space:nowrap;font-size:.9rem}.sticky{position:sticky;bottom:0;background:linear-gradient(transparent,var(--bg) 30%);padding:18px 0 8px}.combo.safe{border-color:var(--primary);border-width:2px}.combo.dream{border-color:var(--accent);border-width:2px}.legs{padding-left:18px;margin:0}.legs li{padding:8px 0;border-bottom:1px solid var(--line)}.legs li{display:list-item}.leg-main{display:inline-flex;flex-direction:column;width:calc(100% - 90px);vertical-align:middle}.odd{width:80px;vertical-align:middle;text-align:center}.totals{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.totals div{display:flex;flex-direction:column;background:var(--soft);padding:8px 10px;border-radius:10px}.totals b{font-size:1.2rem}.detail{border-top:1px solid var(--line)}table{width:100%;border-collapse:collapse}td{padding:4px 0;border-bottom:1px dashed var(--line)}.muted{color:var(--muted)}.small{font-size:.82rem}.center{text-align:center}.error{color:var(--danger)}.warn{background:var(--pink-soft);color:var(--pink-text);padding:12px;border-radius:12px;text-align:center;margin:0}.warn-text{color:var(--accent-text)}.disclaimer{font-size:.78rem;color:var(--muted);border-top:1px solid var(--line);padding:14px 4px 24px;margin-top:16px}.combo.dream .totals b{color:var(--accent-text)}.tabs button.on{border-color:var(--accent)}
