:root{color:#172024;background:#f4f6f8;--bg: #f4f6f8;--surface: #ffffff;--surface-muted: #f8fafb;--surface-strong: #eef3f6;--border: #d9e0e4;--border-strong: #c2ccd3;--text: #172024;--muted: #5e6d76;--muted-strong: #40505a;--primary: #176b54;--primary-hover: #125842;--primary-soft: #e8f5ef;--primary-border: #8dc8b4;--accent: #245f82;--accent-soft: #e7f1f8;--danger: #9b2c20;--danger-soft: #fff4f0;--warning: #77530d;--warning-soft: #fff8e8;--shadow-sm: 0 1px 2px rgba(18, 32, 39, .06);--shadow-md: 0 14px 34px rgba(18, 32, 39, .08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;line-height:1.5;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,#f9fbfc 0,var(--bg) 260px),var(--bg)}button,input,select{font:inherit}button{cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease}button:disabled{cursor:not-allowed;opacity:.58}.app-shell{width:min(1360px,100%);margin:0 auto;padding:28px 24px 36px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:4px 0 18px}.eyebrow{margin:0 0 4px;color:var(--muted);font-size:.76rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2{margin:0;letter-spacing:0}h1{color:var(--text);font-size:clamp(2rem,4vw,3.2rem);line-height:.98}h2{color:var(--text);font-size:1.15rem;line-height:1.2}.status-pill{display:inline-flex;min-width:116px;height:36px;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--muted-strong);font-size:.86rem;font-weight:800;box-shadow:var(--shadow-sm);text-transform:capitalize}.status-pill.online{border-color:var(--primary-border);background:var(--primary-soft);color:var(--primary)}.status-pill.offline{border-color:#efb0a6;background:var(--danger-soft);color:var(--danger)}.alert{display:flex;align-items:center;gap:10px;margin-bottom:16px;border:1px solid #efb0a6;border-radius:8px;padding:12px 14px;background:var(--danger-soft);color:var(--danger);font-weight:750}.page-tabs{display:flex;width:fit-content;gap:6px;margin-bottom:16px;border:1px solid var(--border);border-radius:8px;padding:4px;background:var(--surface);box-shadow:var(--shadow-sm)}.page-tabs button{display:inline-flex;height:36px;align-items:center;gap:8px;border:1px solid transparent;border-radius:6px;padding:0 12px;background:transparent;color:var(--muted-strong);font-weight:800}.page-tabs button:hover{background:var(--surface-muted);color:var(--text)}.page-tabs button.active{border-color:var(--primary-border);background:var(--primary-soft);color:var(--primary)}.toolbar,.panel{border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm)}.toolbar{display:grid;grid-template-columns:minmax(180px,1.1fr) repeat(3,minmax(128px,.6fr)) auto;gap:12px;align-items:end;margin-bottom:16px;padding:14px;position:sticky;top:0;z-index:5}label{display:grid;gap:6px;color:var(--muted-strong);font-size:.78rem;font-weight:800}input,select{width:100%;height:40px;border:1px solid var(--border-strong);border-radius:6px;padding:0 10px;background:var(--surface);color:var(--text);outline:none}input:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #176b5424}input:disabled,select:disabled{background:var(--surface-strong);color:var(--muted)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(340px,.9fr);gap:16px;align-items:start}.panel{min-width:0;padding:18px}.recent-panel{grid-row:span 2}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.panel-subtitle{margin:6px 0 0;color:var(--muted);font-size:.78rem;font-weight:700}.panel-icon{color:var(--accent)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid #edf0ec;padding:11px 8px;text-align:left;white-space:nowrap}th{color:var(--muted);font-size:.76rem;text-transform:uppercase}.ball,.pick-index{display:inline-flex;align-items:center;justify-content:center;font-weight:800}.stack{display:grid;gap:12px}.icon-button,.primary-button,.secondary-button{display:inline-flex;height:40px;align-items:center;justify-content:center;gap:8px;border-radius:8px;padding:0 14px;font-weight:800}.icon-button{border:1px solid var(--border-strong);background:var(--surface);color:var(--text)}.icon-button:hover,.text-button:hover,.google-button:hover,.small-icon-button:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.primary-button{width:100%;border:1px solid var(--primary-hover);background:var(--primary);color:#fff;box-shadow:0 8px 18px #176b542e}.primary-button:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.secondary-button{width:100%;border:1px solid #1d5677;background:var(--accent);color:#fff}.secondary-button:hover:not(:disabled){background:#1e536f;transform:translateY(-1px)}.compact-button{width:auto}.small-icon-button{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);color:var(--accent)}.pick-list{display:grid;gap:8px;margin-top:14px}.auth-card{display:grid;gap:10px;margin-bottom:12px;border:1px solid var(--border);border-radius:8px;padding:12px;background:var(--surface-muted)}.auth-page{display:grid;justify-items:center}.account-page{display:grid}.auth-page-panel{width:min(520px,100%);box-shadow:var(--shadow-md)}.account-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.75fr);gap:16px;align-items:start}.account-page-panel{width:100%}.settings-form{display:grid;gap:12px}.account-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 16px}.account-summary div{min-height:68px;border:1px solid var(--border);border-radius:8px;padding:10px;background:var(--surface-muted)}.account-summary dd{margin:6px 0 0;font-size:.98rem;line-height:1.2;text-transform:capitalize}.success-alert{display:flex;align-items:center;gap:10px;margin-bottom:14px;border:1px solid var(--primary-border);border-radius:8px;padding:10px 12px;background:var(--primary-soft);color:var(--primary);font-size:.82rem;font-weight:800}.field-note{margin:-2px 0 0;color:var(--muted);font-size:.76rem;font-weight:700}.auth-page-form{display:grid;gap:12px}.auth-page-actions,.signed-in-state{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}.auth-page-actions .text-button,.auth-page-actions .google-button,.signed-in-state .primary-button{width:auto}.auth-status{display:grid;gap:2px}.auth-status span,.auth-status small{color:var(--muted);font-size:.72rem;font-weight:800}.auth-status span{text-transform:uppercase}.auth-status strong{color:var(--text);font-size:.98rem}.auth-note{display:inline-flex;align-items:center;gap:8px;border:1px solid #e9c46f;border-radius:8px;padding:9px 10px;background:var(--warning-soft);color:var(--warning);font-size:.78rem;font-weight:800}.login-form,.register-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr) auto;gap:8px;align-items:end}.register-form{grid-template-columns:minmax(0,1fr) minmax(0,.85fr) minmax(0,.85fr) auto}.register-form .secondary-button,.login-form .secondary-button,.google-button{min-width:104px}.google-button,.text-button,.account-pill{display:inline-flex;height:40px;align-items:center;justify-content:center;gap:8px;border-radius:8px;padding:0 12px;font-weight:800}.account-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.text-button{border:1px solid var(--border-strong);background:var(--surface);color:var(--muted-strong)}.google-button{border:1px solid var(--border-strong);background:var(--surface);color:var(--text)}.account-pill{width:fit-content;border:1px solid var(--primary-border);background:var(--primary-soft);color:var(--primary);font-size:.78rem;text-transform:capitalize}.quota-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border:1px solid var(--border);border-radius:8px;padding:10px;background:var(--surface-muted)}.quota-strip div{display:grid;gap:3px}.quota-strip span{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.quota-strip strong{color:var(--text);font-size:.92rem}.pick-row{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:center;min-height:42px}.pick-index{height:28px;border-radius:6px;background:var(--surface-strong);color:var(--muted);font-size:.82rem}.balls{display:flex;flex-wrap:wrap;gap:7px}.ball{width:32px;height:32px;border-radius:50%;background:#1f2a30;color:#fff;font-size:.86rem;box-shadow:inset 0 -1px #ffffff29}.ball.extra{background:#c74735}.draw-list{display:grid;gap:10px}.draw-row{display:grid;grid-template-columns:minmax(132px,.5fr) minmax(240px,1fr) minmax(120px,.35fr);gap:14px;align-items:center;width:100%;min-height:76px;border:1px solid var(--border);border-radius:8px;padding:12px;background:var(--surface-muted);color:inherit;text-align:left}.draw-row:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.draw-row:hover,.draw-row.selected{border-color:var(--primary-border);background:var(--primary-soft)}.draw-row.selected{box-shadow:0 0 0 2px #176b5424}.draw-meta,.draw-extra{display:grid;gap:4px}.draw-meta strong{color:var(--text);font-size:.95rem}.draw-meta span,.draw-extra span{color:var(--muted);font-size:.74rem;font-weight:800;text-transform:uppercase}.draw-extra{grid-template-columns:1fr auto;align-items:baseline}.draw-extra strong{color:var(--text)}.history-list{display:grid;gap:10px}.history-row{display:grid;grid-template-columns:minmax(94px,.35fr) minmax(0,1fr);gap:12px;align-items:start;border:1px solid var(--border);border-radius:8px;padding:10px;background:var(--surface-muted)}.history-meta{display:grid;gap:3px}.history-meta strong{color:var(--text);font-size:.9rem;text-transform:capitalize}.history-meta span,.empty-state{color:var(--muted);font-size:.78rem;font-weight:700}.history-toggle{display:inline-flex;width:fit-content;align-items:center;gap:4px;border:1px solid var(--border);border-radius:999px;padding:5px 8px 5px 6px;background:var(--surface);color:var(--primary);font-size:.72rem;font-weight:800}.history-toggle svg{transition:transform .16s ease}.history-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.history-toggle:hover{border-color:var(--primary-border);background:var(--primary-soft)}.history-picks{display:grid;gap:6px}.history-pick{display:flex;gap:8px;align-items:center;justify-content:space-between;border-radius:6px;padding:7px 9px;background:var(--primary-soft);color:var(--primary-hover);font-size:.82rem;font-weight:800}.history-numbers{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.history-number{display:inline-flex;min-width:26px;height:26px;align-items:center;justify-content:center;border:1px solid transparent;border-radius:50%;background:var(--surface);color:var(--primary-hover)}.history-number.extra{color:#b43c2b}.history-number.matched{border-color:var(--primary-hover);background:var(--primary);color:#fff}.history-number.extra.matched{border-color:#b43c2b;background:#c74735}.match-summary{flex:0 0 auto;border:1px solid var(--border);border-radius:999px;padding:5px 8px;background:var(--surface);color:var(--muted);font-size:.72rem;font-weight:800;white-space:nowrap}.match-summary.has-match{border-color:var(--primary-border);background:var(--primary-soft);color:var(--primary)}.matches-page{display:grid;gap:12px}.match-board{display:grid;gap:10px}.match-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;align-items:stretch;border:1px solid var(--border);border-radius:8px;padding:12px;background:var(--surface-muted)}.match-rank{display:grid;min-height:112px;align-content:center;justify-items:center;border-radius:6px;background:var(--accent-soft);color:var(--accent)}.match-rank span,.match-rank small,.match-label,.match-card-header span{color:#65757c;font-size:.74rem;font-weight:800}.match-rank strong{color:var(--text);font-size:2.1rem;line-height:1}.match-card-body{display:grid;gap:12px}.match-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.match-card-header div{display:grid;gap:3px}.match-card-header strong{color:var(--text);font-size:.95rem;text-transform:capitalize}.match-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.match-card-grid>div{display:grid;gap:6px;border-radius:6px;padding:8px;background:var(--surface-strong)}.match-label{text-transform:uppercase}.empty-state{border:1px dashed var(--border-strong);border-radius:8px;padding:14px;text-align:center}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.summary-grid div{min-height:74px;border:1px solid var(--border);border-radius:8px;padding:10px;background:var(--surface-muted)}dt{color:var(--muted);font-size:.75rem;font-weight:800;text-transform:uppercase}dd{margin:6px 0 0;color:var(--text);font-size:1.55rem;font-weight:850;line-height:1}.inline-loader{display:inline-flex;align-items:center;gap:8px;color:var(--muted)}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:980px){.toolbar,.dashboard-grid,.account-layout{grid-template-columns:1fr}.recent-panel{grid-row:auto}.draw-row,.match-card,.match-card-grid{grid-template-columns:1fr}}@media(max-width:640px){.app-shell{padding:16px}.topbar{align-items:flex-start;flex-direction:column}h1{font-size:2.25rem}.panel-header{align-items:flex-start;flex-direction:column}.generator-panel .panel-header,.history-panel .panel-header,.ingest-panel .panel-header,.game-panel .panel-header{align-items:center;flex-direction:row}.status-pill{width:100%}.summary-grid,.account-summary,.quota-strip{grid-template-columns:1fr}.page-tabs{display:grid}.register-form,.login-form,.history-row{grid-template-columns:1fr}.history-pick{align-items:flex-start;flex-direction:column}}
