:root{--line-green: #06c755;--line-green-dark: #05b14c;--line-green-press: #04a045;--bg: #eef1f5;--surface: #ffffff;--ink: #1f2933;--muted: #6b7280;--hint: #94a3b8;--border: #e2e8f0;--border-strong: #cbd5e1;--danger: #dc2626;--danger-bg: #fef2f2;--radius: 16px;--radius-sm: 12px;--shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 8px 24px rgba(16, 24, 40, .08);--shadow-btn: 0 6px 16px rgba(6, 199, 85, .32)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:IBM Plex Sans Thai,Noto Sans Thai,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100dvh}#root{min-height:100dvh}.screen{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:24px 18px calc(24px + env(safe-area-inset-bottom))}.shell{width:100%;max-width:460px;margin:0 auto}.brand{text-align:center;margin-bottom:18px}.brand__logo{width:180px;max-width:64%;height:auto;object-fit:contain;margin:0 auto 14px;display:block}.brand__title{margin:0;font-size:21px;font-weight:700;letter-spacing:-.01em}.brand__subtitle{margin:4px 0 0;font-size:14px;color:var(--muted)}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px 20px}.form{display:grid;gap:18px}.field{display:grid;gap:7px}.field__label{font-size:13.5px;font-weight:600;color:var(--ink)}.field__hint{font-weight:400;color:var(--hint);margin-left:4px}.input,.select{width:100%;padding:13px 14px;font-size:16px;font-family:inherit;color:var(--ink);background:#fff;border:1.5px solid var(--border);border-radius:var(--radius-sm);outline:none;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;-moz-appearance:none;appearance:none}.input::placeholder{color:var(--hint)}.input:hover,.select:hover{border-color:var(--border-strong)}.input:focus,.select:focus{border-color:var(--line-green);box-shadow:0 0 0 4px #06c75524}.input--mono{font-variant-numeric:tabular-nums;letter-spacing:.04em}.select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}.btn{width:100%;padding:15px 24px;font-size:16px;font-weight:700;font-family:inherit;color:#fff;background:var(--line-green);border:none;border-radius:var(--radius-sm);box-shadow:var(--shadow-btn);cursor:pointer;transition:background .15s,transform .08s,box-shadow .15s;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:hover{background:var(--line-green-dark)}.btn:active{background:var(--line-green-press);transform:translateY(1px);box-shadow:0 3px 10px #06c75547}.btn:disabled{opacity:.65;cursor:progress;box-shadow:none}.alert{display:flex;gap:8px;align-items:flex-start;padding:12px 14px;background:var(--danger-bg);border:1px solid #fecaca;border-radius:var(--radius-sm);color:var(--danger);font-size:13.5px;line-height:1.45;word-break:break-word}.success__hero{text-align:center;padding:26px 20px 22px;border-radius:var(--radius);background:linear-gradient(135deg,var(--line-green),var(--line-green-dark));color:#fff;box-shadow:var(--shadow-btn)}.success__check{width:58px;height:58px;margin:0 auto 12px;border-radius:50%;background:#ffffff38;display:flex;align-items:center;justify-content:center;font-size:30px;animation:pop .4s cubic-bezier(.2,.8,.3,1.4) both}.success__title{font-size:19px;font-weight:700}.success__bot{margin-top:4px;font-size:14px;opacity:.92}.summary{margin-top:14px}.row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 2px;border-bottom:1px solid #f1f5f9;font-size:15px}.row:last-child{border-bottom:none}.row__label{color:var(--muted);font-size:14px}.row__value{font-weight:600;text-align:right;word-break:break-word}.row__value--amount{color:var(--line-green-dark);font-variant-numeric:tabular-nums}.footnote{margin:18px 2px 0;text-align:center;font-size:13px;color:var(--muted);line-height:1.5}.status{display:flex;flex-direction:column;align-items:center;gap:14px;color:var(--muted);font-size:15px}.spinner{width:38px;height:38px;border-radius:50%;border:3.5px solid rgba(6,199,85,.2);border-top-color:var(--line-green);animation:spin .8s linear infinite}.spinner--sm{width:18px;height:18px;border-width:2.5px;border-color:#fff6;border-top-color:#fff}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pop{0%{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.spinner,.success__check{animation:none}}.screen--top{justify-content:flex-start}.brand--compact{margin-bottom:14px}.empty{text-align:center;color:var(--muted)}.bill-list{display:flex;flex-direction:column;gap:12px;transition:opacity .15s}.bill-list--loading{opacity:.5}.bill{padding:14px 16px}.bill__head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.bill__lotto{font-weight:700;font-size:16px}.bill__round{font-size:13px;color:var(--muted);margin-top:2px}.bill__meta{display:flex;justify-content:space-between;font-size:12px;color:var(--hint);margin:8px 0 10px}.badge{flex-shrink:0;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;background:#f1f5f9;color:var(--muted)}.badge--won{background:#e7f9ee;color:var(--line-green-press)}.badge--lost{background:var(--danger-bg);color:var(--danger)}.badge--refunded{background:#fff4e5;color:#b45309}.entries{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}.entry{display:grid;grid-template-columns:16px auto 1fr auto;gap:8px;align-items:baseline;padding:6px 0;border-bottom:1px solid var(--border);font-size:14px}.entry__mark{color:var(--hint)}.entry--won .entry__mark,.entry--won .entry__num{color:var(--line-green-press)}.entry__num{font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.02em}.entry__type{color:var(--muted);font-size:13px}.entry__amt{font-variant-numeric:tabular-nums}.results{margin-top:10px;padding:10px 12px;background:#fff7e6;border-radius:var(--radius-sm)}.results--note{color:var(--muted);background:#f1f5f9;font-size:13px;text-align:center}.results__title{font-size:12px;font-weight:700;color:#b45309;margin-bottom:6px}.results__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:6px 10px}.results__cell{display:flex;flex-direction:column;min-width:0}.results__label{font-size:11px;color:var(--muted)}.results__value{font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.bill__foot{display:flex;justify-content:space-between;align-items:baseline;margin-top:10px;font-size:14px}.bill__payout{font-weight:700;color:var(--line-green-press)}.bill__loss{font-weight:700;color:var(--danger)}.bill__refund{font-weight:700;color:#b45309}.pager{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:16px 0 8px}.pager__btn{min-height:44px;padding:0 16px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit;font-weight:600;cursor:pointer}.pager__btn:disabled{opacity:.4;cursor:default}.pager__info{font-size:14px;color:var(--muted)}
