:root{--app-bg:#f5f7f6;--surface:#fff;--surface-muted:#eef2ef;--text:#445047;--text-strong:#101815;--muted:#748077;--border:#dfe6e2;--accent:#23c469;--green-dark:#12804a;--danger:#b42318;--soft-shadow:0 8px 24px #0f172a0f;--sans:Satoshi, Geist, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:"JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", ui-monospace, monospace;font-family:var(--sans);color:var(--text);background:var(--app-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{background:var(--app-bg);min-width:320px;min-height:100%}body{min-width:320px;min-height:100dvh;margin:0}#root{min-height:100dvh}button,input,select,textarea{font:inherit}button{color:inherit}.app-shell{background:radial-gradient(circle at 50% -10%,#22c55e1f,#0000 30rem),linear-gradient(#eef1f4 0%,#dfe5e9 100%);place-items:center;width:100%;max-width:100vw;min-height:100dvh;padding:20px;display:grid;overflow-x:hidden}.phone-frame{background:var(--app-bg);width:min(390px,100vw - 40px);max-width:100%;min-height:min(100dvh,900px);color:var(--text);border:1px solid #0f172a14;border-radius:28px;position:relative;overflow:hidden;box-shadow:0 30px 80px #0f172a2e}.phone-frame.is-auth-obscured{filter:blur(4px);opacity:.72;pointer-events:none;-webkit-user-select:none;user-select:none;transform:scale(.985)}.phone-frame *{min-width:0}.top-bar,.date-rail,.segment-control,.featured-match,.market-ticker,.feed-heading,.match-feed,.page-title,.market-dashboard,.live-ou-panel,.market-list,.record-window,.record-hero,.record-grid,.record-section,.competition-tabs,.competition-cards,.profile-placeholder{width:calc(100vw - 28px);max-width:calc(100% - 28px);margin-inline:14px}.top-bar{justify-content:space-between;align-items:center;gap:12px;height:70px;padding-top:4px;display:flex}.brand-lockup{align-items:center;gap:10px;min-width:0;display:flex}.brand-mark{color:#062313;background:var(--accent);border-radius:8px;place-items:center;width:34px;height:34px;display:grid;box-shadow:inset 0 1px #ffffff73}.brand-lockup strong{color:var(--text-strong);font-size:16px;line-height:1.1;display:block}.brand-lockup span:not(.brand-mark){color:var(--muted);font-size:11px;font-family:var(--mono);text-transform:uppercase;letter-spacing:0;margin-top:3px;display:block}.top-actions{flex:none;align-items:center;gap:8px;display:flex}.icon-button{border:1px solid var(--border);background:var(--surface);width:36px;height:36px;color:var(--text);border-radius:8px;place-items:center;display:grid;box-shadow:0 1px #ffffffe6}.icon-button.is-active{color:var(--green-dark);background:#e7f8ee;border-color:#22c55e6b}.date-rail{grid-template-columns:64px repeat(4,minmax(0,1fr));gap:8px;padding-bottom:12px;display:grid;position:relative}.calendar-trigger{align-content:center;justify-items:center;gap:2px;width:64px;height:48px;display:grid}.calendar-trigger span{color:var(--muted);font-size:10px;font-weight:900;line-height:1}.calendar-trigger.is-active span{color:var(--green-dark)}.date-chip{min-height:48px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:8px;place-items:center;padding:6px;display:grid}.date-chip span{font-size:11px;line-height:1}.date-chip strong{color:var(--text-strong);margin-top:3px;font-size:16px;line-height:1.1}.date-chip.is-active{background:var(--surface);border-color:var(--border);box-shadow:var(--soft-shadow)}.date-chip.is-active span,.date-chip.is-active strong{color:#0d3b22}.date-picker-popover{z-index:60;background:#fffffffa;border:1px solid #0f172a1f;border-radius:12px;gap:12px;padding:12px;display:grid;position:absolute;top:58px;left:0;right:0;box-shadow:0 18px 42px #0f172a29}.date-picker-head{justify-content:space-between;align-items:start;gap:10px;display:flex}.date-picker-head>div,.date-input-row{gap:4px;display:grid}.date-picker-popover strong{color:var(--text-strong);font-size:14px}.date-picker-popover span{color:var(--muted);font-size:11px}.date-picker-close{border:1px solid var(--border);background:var(--surface);width:34px;height:34px;color:var(--text);border-radius:8px;flex:none;place-items:center;display:grid}.date-stepper{grid-template-columns:62px 1fr 62px;gap:7px;display:grid}.date-stepper input,.date-stepper button{border:1px solid var(--border);background:var(--surface);height:38px;color:var(--text-strong);border-radius:8px;font-size:13px;font-weight:800}.date-stepper input{width:100%;padding:0 10px;font-size:16px}.date-stepper button{color:var(--green-dark);font-size:12px}.date-quick-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.date-quick-grid button{border:1px solid var(--border);min-height:46px;color:var(--text);background:#f8fbf9;border-radius:8px;place-items:center;gap:3px;padding:6px 4px;display:grid}.date-quick-grid button.is-active{color:var(--green-dark);background:#e7f8ee;border-color:#19844a52}.date-quick-grid strong{font-size:13px;line-height:1}.date-picker-actions{grid-template-columns:1fr 1.35fr;gap:8px;display:grid}.date-picker-actions button{border:1px solid var(--border);background:var(--surface);height:38px;color:var(--text);border-radius:8px;font-size:13px;font-weight:900}.date-picker-actions button.is-primary{color:#062313;background:#1fb15e;border-color:#19844a3d}.date-picker-popover button{cursor:pointer}.date-quick-grid button.is-active{color:var(--green-dark)}.segment-control{background:#e7ecef;border:1px solid #0f172a0d;border-radius:8px;grid-template-columns:repeat(4,1fr);gap:4px;padding:4px;display:grid}.segment-control button{height:34px;color:var(--muted);background:0 0;border:0;border-radius:6px;font-size:12px;font-weight:700}.segment-control button.is-active{color:var(--text-strong);background:var(--surface);box-shadow:0 8px 18px #0f172a14}.featured-match{background:var(--surface);border:1px solid var(--border);box-shadow:var(--soft-shadow);border-radius:8px;margin-top:12px;padding:14px}.featured-head{justify-content:space-between;gap:12px;display:flex}.featured-head>div:first-child{min-width:0}.meta-line{color:var(--muted);font-size:11px;font-family:var(--mono);text-transform:uppercase}.featured-head h1{color:var(--text-strong);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;font-size:20px;line-height:1.15;overflow:hidden}.confidence-badge{flex:none;justify-items:center;gap:4px;width:62px;display:grid}.confidence-badge em{color:var(--muted);text-align:center;font-size:9px;font-style:normal;font-weight:800;line-height:1.05}.confidence-ring{background:conic-gradient(var(--accent) var(--score), #e5e7eb 0), #fff;border-radius:50%;place-items:center;width:52px;height:52px;display:grid;position:relative}.confidence-ring:before{content:"";background:var(--surface);border-radius:50%;width:40px;height:40px;position:absolute}.confidence-ring span{font-family:var(--mono);color:var(--text-strong);font-size:13px;font-weight:800;position:relative}.review-badge{border:1px solid var(--border);text-align:center;background:#f8faf9;border-radius:8px;flex:none;place-items:center;gap:1px;width:58px;min-height:46px;padding:6px;display:grid}.review-badge strong{color:var(--text-strong);font-size:13px;line-height:1}.review-badge span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:48px;font-size:9px;line-height:1.1;overflow:hidden}.review-badge.is-hit{background:#ecfdf3;border-color:#19844a47}.review-badge.is-hit strong{color:var(--green-dark)}.review-badge.is-miss{background:#fff4f2;border-color:#b4231833}.review-badge.is-miss strong{color:var(--danger)}.versus-row{border-block:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;margin-top:14px;padding:12px 0;display:grid;overflow:hidden}.team-block{align-items:center;gap:8px;min-width:0;display:flex}.team-block.is-away{text-align:right;flex-direction:row-reverse;justify-content:flex-end}.team-block strong{color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.crest{background:linear-gradient(145deg, var(--crest), color-mix(in srgb, var(--crest) 58%, #111827));color:#fff;border-radius:50%;flex:0 0 28px;place-items:center;width:28px;height:28px;font-size:9px;font-weight:900;display:grid;box-shadow:inset 0 1px #ffffff52}.kickoff-block{width:84px;height:34px;color:var(--muted);font-size:11px;font-family:var(--mono);background:#f4f7f5;border-radius:8px;justify-content:center;align-items:center;gap:5px;font-weight:700;display:flex}.kickoff-block.is-result{color:var(--text-strong);gap:1px;display:grid}.kickoff-block.is-xg{width:92px;height:42px;color:var(--text-strong);align-content:center;gap:3px;display:grid}.kickoff-block.is-xg span{color:var(--muted);font-family:var(--sans);text-align:center;font-size:9px;line-height:1}.kickoff-block.is-xg strong{color:var(--text-strong);font-family:var(--mono);font-size:12px;line-height:1}.kickoff-block.is-result span{color:var(--muted);font-size:9px;line-height:1}.kickoff-block.is-result strong{font-size:14px;line-height:1.1}.metric-block,.handicap-strip,.correct-score-strip{margin-top:14px}.metric-caption{justify-content:space-between;align-items:center;gap:8px;min-height:22px;margin-bottom:7px;display:flex}.metric-caption span{color:var(--text-strong);font-size:12px;font-weight:900}.metric-caption em{color:var(--muted);text-align:right;font-size:10px;font-style:normal}.prob-stack{gap:8px;display:grid}.prob-row{grid-template-columns:48px 1fr 54px;align-items:center;gap:9px;display:grid}.prob-label{min-height:30px;color:var(--muted);background:#edf2ef;border-radius:6px;place-items:center;gap:1px;font-weight:800;display:grid}.prob-label b{color:var(--text-strong);font-family:var(--mono);font-size:11px;line-height:1}.prob-label small{color:var(--muted);white-space:nowrap;font-size:9px;line-height:1}.prob-track{background:#e5e9e7;border-radius:999px;height:8px;overflow:hidden}.prob-track span{border-radius:inherit;background:#9aa4a0;height:100%;display:block}.prob-track span.is-leader{background:var(--accent)}.prob-row strong{color:var(--text-strong);font-family:var(--mono);text-align:right;font-size:12px}.market-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.market-cell{border:1px solid var(--border);background:#fbfcfb;border-radius:8px;min-width:0;padding:8px}.market-cell span,.market-cell em{color:var(--muted);font-size:10px;font-family:var(--mono);font-style:normal;display:block}.handicap-cells,.correct-score-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.handicap-cells{grid-template-columns:repeat(2,minmax(0,1fr))}.handicap-cells span,.correct-score-grid span{border:1px solid var(--border);background:#fbfcfb;border-radius:8px;align-content:center;gap:4px;min-height:58px;padding:8px;display:grid}.handicap-cells b,.correct-score-grid em{color:var(--muted);font-size:10px;font-style:normal;font-weight:800}.handicap-cells strong,.correct-score-grid b{color:var(--text-strong);font-family:var(--mono);font-size:16px;line-height:1}.correct-score-grid strong{color:var(--green-dark);font-family:var(--mono);font-size:11px}.correct-score-grid span.is-hit{background:#ecfdf3;border-color:#19844a52}.correct-score-grid span.is-miss{background:#fff7f5;border-color:#b423182e}.market-cell strong{color:var(--text-strong);font-family:var(--mono);margin:3px 0;font-size:18px;line-height:1.1;display:block}.model-note{color:#365243;background:#f3f7f5;border-radius:8px;align-items:flex-start;gap:8px;margin-top:12px;padding:10px;font-size:12px;line-height:1.35;display:flex}.model-note svg{color:var(--green-dark);flex:none;margin-top:1px}.prediction-review{border-radius:8px;align-items:flex-start;gap:8px;margin-top:12px;padding:10px;font-size:12px;line-height:1.35;display:flex}.prediction-review svg{flex:none;margin-top:1px}.prediction-review.is-hit{color:#214c34;background:#ecfdf3}.prediction-review.is-hit svg{color:var(--green-dark)}.prediction-review.is-miss{color:#6b2b24;background:#fff4f2}.prediction-review.is-miss svg{color:var(--danger)}.empty-state{border:1px solid var(--border);background:var(--surface);color:var(--text);box-shadow:var(--soft-shadow);border-radius:8px;gap:8px;margin:12px 14px 0;padding:18px 14px;display:grid}.empty-state svg{color:var(--green-dark)}.empty-state strong{color:var(--text-strong);font-size:15px}.empty-state span{color:var(--muted);font-size:12px;line-height:1.4}.market-ticker{border-block:1px solid var(--border);background:#ffffff73;margin-top:12px;overflow:hidden}.ticker-track{gap:8px;width:max-content;padding:9px 0;animation:28s linear infinite ticker;display:flex}.ticker-item{background:var(--surface);border:1px solid var(--border);white-space:nowrap;height:28px;font-family:var(--mono);border-radius:8px;align-items:center;gap:6px;padding:0 10px;font-size:10px;display:flex}.ticker-item svg{color:var(--green-dark)}.ticker-item span{color:var(--muted)}.ticker-item strong{color:var(--text-strong)}.is-spinning{animation:.82s linear infinite spin}.feed-heading{justify-content:space-between;align-items:end;margin-top:16px;display:flex}.feed-heading span,.section-head span{color:var(--muted);font-size:10px;font-family:var(--mono);text-transform:uppercase;display:block}.feed-heading strong,.section-head strong{color:var(--text-strong);margin-top:3px;font-size:16px;display:block}.feed-heading button,.section-head button{border:1px solid var(--border);background:var(--surface);height:30px;color:var(--text-strong);border-radius:8px;padding:0 10px;font-size:11px;font-weight:800}.feed-heading button.is-active{color:var(--green-dark);background:#e7f8ee;border-color:#19844a52;box-shadow:inset 0 0 0 1px #19844a14}.match-feed{gap:12px;margin-top:10px;display:grid}.competition-group{border:1px solid var(--border);background:var(--surface);box-shadow:var(--soft-shadow);border-radius:8px;overflow:hidden}.group-title{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;height:38px;padding:0 12px;display:flex}.group-title div{align-items:center;gap:8px;min-width:0;display:flex}.group-title svg{color:var(--green-dark)}.group-title span{color:var(--text-strong);font-size:13px;font-weight:800}.group-title em{color:var(--muted);font-size:11px;font-style:normal}.rows{display:grid}.match-row-shell{border-bottom:1px solid var(--border)}.match-row-shell:last-child{border-bottom:0}.match-row{width:100%;min-height:78px;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:50px minmax(0,1fr) 58px 82px;align-items:center;gap:5px;padding:8px 10px;display:grid}.match-row.is-selected{background:#f3faf6}.match-row:active{background:#eef8f2}.inline-match-detail{background:#f3faf6;padding:0 10px 12px}.inline-match-detail .featured-match{width:100%;max-width:100%;box-shadow:none;margin:0}.inline-match-detail .featured-head h1{font-size:18px}.match-time span,.match-time em{font-family:var(--mono);font-style:normal;display:block}.match-time span{color:var(--text-strong);font-size:11px;font-weight:800}.match-time em{color:var(--green-dark);margin-top:5px;font-size:10px}.match-teams{gap:8px;min-width:0;display:grid}.match-teams div{align-items:center;gap:8px;min-width:0;display:flex}.match-teams .crest{flex-basis:22px;width:22px;height:22px;font-size:8px}.match-teams span{color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:760;overflow:hidden}.row-confidence-badge{justify-self:end;justify-items:center;gap:3px;width:58px;display:grid}.row-confidence-ring{--ring-color:var(--accent);--score:0deg;background:conic-gradient(var(--ring-color) var(--score), #e5e7eb 0deg), #fff;border-radius:999px;place-items:center;width:48px;height:48px;display:grid;position:relative}.row-confidence-ring:before{content:"";border-radius:inherit;background:var(--surface);width:36px;height:36px;position:absolute}.row-confidence-ring.is-strong{--ring-color:var(--accent)}.row-confidence-ring.is-watch{--ring-color:#f2b705}.row-confidence-ring strong{z-index:1;text-align:center;color:var(--text-strong);line-height:1;font-family:var(--mono);font-size:12px;font-weight:900;display:block;position:relative}.row-confidence-badge em{color:var(--muted);font-family:var(--sans);text-align:center;white-space:nowrap;font-size:9px;font-style:normal;font-weight:800;line-height:1}.row-market{align-content:center;justify-self:end;justify-items:end;gap:6px;width:82px;display:grid}.row-market>span:not(.row-expand-cue){min-width:0;height:auto;color:var(--muted);font-family:var(--sans);background:#edf2ef;border:1px solid #0f2f2214;border-radius:8px;place-items:center;padding:6px 7px;font-size:10px;font-weight:800;display:grid}.row-market>span.row-pick-summary{box-sizing:border-box;width:82px;height:auto;min-height:42px;color:var(--text-strong);text-align:center;white-space:normal;align-content:center;justify-items:center;gap:4px;display:grid}.row-market>span.row-pick-summary em{color:var(--green-dark);font-family:var(--mono);font-size:10px;font-style:normal;font-weight:800;line-height:1}.row-market>span.row-pick-summary strong{max-width:82px;color:var(--text-strong);font-family:var(--sans);text-overflow:ellipsis;font-size:14px;font-weight:900;line-height:1.12;overflow:hidden}.row-market strong{color:var(--text-strong);font-family:var(--mono);font-size:13px}.row-market em{color:var(--green-dark);font-family:var(--mono);font-size:10px;font-style:normal;font-weight:800}.row-market>.row-review-badge{text-align:center;align-content:center;place-items:center;gap:3px;width:82px;height:auto;min-height:42px;display:grid}.row-review-badge strong{color:var(--text-strong);font-family:var(--sans);font-size:13px;line-height:1}.row-review-badge em{max-width:82px;color:var(--muted);font-family:var(--sans);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-style:normal;font-weight:800;line-height:1.12;overflow:hidden}.row-review-badge.is-hit{color:var(--green-dark);background:#ecfdf3;border-color:#19844a33}.row-review-badge.is-hit strong,.row-review-badge.is-hit em{color:var(--green-dark)}.row-review-badge.is-miss{color:var(--danger);background:#fff4f2;border-color:#b423182e}.row-review-badge.is-miss strong{color:var(--danger)}.row-expand-cue{width:82px;min-height:24px;color:var(--green-dark);white-space:nowrap;background:#ecf8f1;border:1px solid #19844a2e;border-radius:7px;justify-content:center;align-items:center;gap:3px;margin-top:3px;padding:0 7px;font-size:10px;font-weight:900;line-height:1;display:inline-flex}.row-expand-cue span{color:inherit;font-size:inherit;font-weight:inherit}.row-expand-cue svg{flex:none;transition:transform .16s}.match-row.is-selected .row-expand-cue{background:#dff5e8;border-color:#19844a47}.match-row.is-selected .row-expand-cue svg{transform:rotate(180deg)}.section-head{justify-content:space-between;align-items:center;display:flex}.page-title{justify-content:space-between;align-items:center;gap:12px;min-height:44px;margin-top:8px;display:flex}.page-title span{color:var(--muted);font-size:10px;font-family:var(--mono);text-transform:uppercase;display:block}.page-title strong{color:var(--text-strong);margin-top:3px;font-size:20px;line-height:1.1;display:block}.page-title em{min-height:26px;color:var(--green-dark);font-style:normal;font-family:var(--mono);background:#edf5f0;border-radius:7px;flex:none;place-items:center;padding:0 9px;font-size:10px;font-weight:800;display:grid}.market-dashboard,.record-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.market-kpi,.record-grid div{border:1px solid var(--border);background:var(--surface);min-height:66px;box-shadow:var(--soft-shadow);border-radius:8px;align-content:center;gap:6px;padding:10px 9px;display:grid}.market-kpi span,.record-grid span{color:var(--muted);font-family:var(--mono);font-size:10px}.market-kpi strong,.record-grid strong{color:var(--text-strong);font-family:var(--mono);font-size:20px;line-height:1}.market-kpi.is-blue strong{color:#2563eb}.market-kpi.is-green strong{color:var(--green-dark)}.market-kpi.is-amber strong{color:#b7791f}.market-board-head span,.bookmaker-line span,.record-hero span,.competition-card span,.fixture-row span{color:var(--muted);font-family:var(--mono);text-transform:uppercase;font-size:10px;display:block}.competition-card em,.fixture-row em{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:11px;font-style:normal;display:block;overflow:hidden}.market-list,.competition-cards,.record-list,.fixture-list{gap:10px;margin-top:10px;display:grid}.market-board-card,.competition-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--soft-shadow);border-radius:8px;padding:12px}.market-board-head,.bookmaker-line,.competition-card,.fixture-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.market-board-head>div,.competition-card>div:first-child,.fixture-row>div{min-width:0}.market-board-head strong,.fixture-row strong{color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:14px;line-height:1.2;display:block;overflow:hidden}.market-board-head em,.bookmaker-line em{color:var(--muted);font-family:var(--mono);white-space:nowrap;font-size:10px;font-style:normal}.bookmaker-line{background:#f3f7f5;border-radius:8px;min-height:32px;margin-top:10px;padding:0 9px}.bookmaker-line span{color:var(--text-strong);text-transform:none;font-family:var(--sans);font-weight:800}.odds-depth-summary{background:#eef7f2;border-radius:8px;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:2px 8px;min-height:42px;margin-top:10px;padding:7px 9px;display:grid}.odds-depth-summary span,.odds-depth-summary em{color:var(--muted);font-family:var(--mono);font-size:10px;font-style:normal}.odds-depth-summary strong{min-width:0;color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.odds-depth-summary em{grid-column:2}.bet365-panel{background:#fbfcfb;border:1px solid #19844a29;border-radius:8px;margin-top:10px;overflow:hidden}.bet365-panel-head{background:#eef8f2;border-bottom:1px solid #19844a24;justify-content:space-between;align-items:center;gap:10px;min-height:48px;padding:10px;display:flex}.bet365-panel-head span,.odds-market-title span{color:var(--muted);font-family:var(--mono);font-size:10px;font-weight:800;display:block}.bet365-panel-head strong{color:var(--text-strong);margin-top:2px;font-size:14px;line-height:1.1;display:block}.bet365-panel-head em,.odds-market-title em{color:var(--green-dark);font-family:var(--mono);text-align:right;font-size:10px;font-style:normal;font-weight:900}.odds-market-section{border-top:1px solid var(--border);padding:10px}.odds-market-section:first-of-type{border-top:0}.odds-market-title{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px;display:flex}.odds-market-title span{color:var(--text-strong);font-family:var(--sans);text-transform:none;font-size:12px}.odds-market-title em{max-width:48%;color:var(--muted);line-height:1.35}.one-book-odds{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.one-book-odds span,.market-price-cell{border:1px solid var(--border);background:#fff;border-radius:8px;align-content:center;gap:4px;min-width:0;min-height:58px;padding:8px;display:grid}.one-book-odds b,.market-price-cell b{color:var(--muted);white-space:normal;font-size:10px;font-weight:800;line-height:1.2}.one-book-odds strong,.market-price-cell strong{color:var(--text-strong);font-family:var(--mono);font-size:17px;line-height:1}.market-line-list{gap:7px;display:grid}.market-line-row{grid-template-columns:48px minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:7px;display:grid}.line-tag{min-height:58px;color:var(--text-strong);font-family:var(--mono);text-align:center;background:#edf2ef;border-radius:8px;place-items:center;font-size:12px;font-weight:900;display:grid}.line-tag.is-main{color:var(--green-dark);background:#def7e8;box-shadow:inset 0 0 0 1px #19844a1f}.market-price-cell.is-empty{color:var(--muted);background:#f5f7f6}.live-ou-panel{box-shadow:var(--soft-shadow);background:#f7fbf8;border:1px solid #19844a2e;border-radius:8px;margin-top:12px;padding:12px}.live-ou-head,.live-ou-match,.live-ou-foot{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.live-ou-head span,.live-ou-match span,.live-ou-foot{color:var(--muted);font-family:var(--mono);font-size:10px;font-weight:800}.live-ou-head strong{color:var(--text-strong);margin-top:2px;font-size:16px;line-height:1.15;display:block}.live-ou-head em{max-width:42%;color:var(--green-dark);text-align:right;background:#e8f8ef;border-radius:8px;flex:none;padding:6px 8px;font-size:10px;font-style:normal;font-weight:900;line-height:1.3}.live-ou-empty{border:1px solid var(--border);color:var(--muted);background:#fff;border-radius:8px;margin-top:10px;padding:10px;font-size:12px;line-height:1.45}.live-ou-list{gap:10px;margin-top:10px;display:grid}.live-ou-card{border:1px solid var(--border);background:#fff;border-radius:8px;padding:10px}.live-ou-match strong{color:var(--text-strong);margin-top:3px;font-size:13px;line-height:1.2;display:block}.live-ou-match em{color:var(--text-strong);font-family:var(--mono);white-space:nowrap;background:#edf2ef;border-radius:8px;flex:none;padding:6px 8px;font-size:11px;font-style:normal;font-weight:900}.live-ou-lines{gap:7px;margin-top:9px;display:grid}.live-line-row{grid-template-columns:50px minmax(0,1fr) minmax(0,1fr)}.live-ou-foot{align-items:center;margin-top:8px}.live-ou-foot em{color:var(--green-dark);font-style:normal}.record-window,.competition-tabs{background:#e7ecef;border-radius:8px;gap:5px;margin-top:8px;padding:4px;display:grid}.record-window{grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,288px);margin-left:auto;margin-right:auto}.competition-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.record-window button,.competition-tabs button{height:34px;color:var(--muted);background:0 0;border:0;border-radius:6px;font-size:11px;font-weight:900}.record-window button.is-active,.competition-tabs button.is-active{color:var(--text-strong);background:var(--surface);box-shadow:0 8px 18px #0f172a14}.record-window button.is-disabled,.record-window button:disabled{cursor:not-allowed;color:#65746c70;opacity:.68}.record-hero{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px;display:grid}.record-hero.is-single{grid-template-columns:1fr}.record-hero div{border:1px solid var(--border);background:var(--surface);min-height:106px;box-shadow:var(--soft-shadow);border-radius:8px;align-content:center;gap:7px;padding:13px;display:grid}.record-hero strong{color:var(--green-dark);font-family:var(--mono);font-size:30px;line-height:1}.record-hero em{color:var(--muted);font-size:11px;font-style:normal}.record-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.record-grid div{min-height:62px;padding:9px 7px}.record-grid strong{font-size:18px}.record-section{margin-top:14px}.record-breakdown{gap:8px;margin-top:10px;display:grid}.record-breakdown-row,.record-row,.fixture-row{border:1px solid var(--border);background:var(--surface);min-height:58px;box-shadow:var(--soft-shadow);border-radius:8px;padding:10px}.record-breakdown-row{grid-template-columns:minmax(0,1fr) 64px 44px;align-items:center;gap:8px;display:grid}.record-breakdown-row span{color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:800;overflow:hidden}.record-breakdown-row strong,.record-breakdown-row em{font-family:var(--mono);text-align:right;font-style:normal}.record-breakdown-row strong{color:var(--green-dark);font-size:13px}.record-breakdown-row em{color:var(--muted);font-size:11px}.record-row{grid-template-columns:46px minmax(0,1fr);align-items:center;gap:10px;display:grid}.record-result{height:34px;font-family:var(--mono);border-radius:8px;place-items:center;font-size:10px;font-weight:900;display:grid}.record-result.is-hit{color:var(--green-dark);background:#e6f8ed}.record-result.is-miss{color:var(--danger);background:#fff0ed}.record-row strong,.competition-card strong{color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.2;display:block;overflow:hidden}.record-row span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:11px;display:block;overflow:hidden}.record-row em{color:var(--muted);font-family:var(--mono);text-align:right;font-size:10px;font-style:normal}.record-empty{border:1px dashed var(--border);min-height:70px;color:var(--muted);background:#ffffff8c;border-radius:8px;place-items:center;padding:14px;font-size:12px;display:grid}.competition-card-stats{text-align:right;flex:none;gap:5px;display:grid}.competition-card-stats span{min-height:22px;color:var(--green-dark);text-transform:none;background:#edf5f0;border-radius:6px;place-items:center;padding:0 8px;font-size:10px;display:grid}.fixture-row b{min-width:44px;min-height:30px;color:var(--text-strong);font-family:var(--mono);background:#edf5f0;border-radius:8px;flex:none;place-items:center;font-size:11px;display:grid}.profile-placeholder{border:1px solid var(--border);background:var(--surface);min-height:220px;box-shadow:var(--soft-shadow);text-align:center;border-radius:8px;align-content:center;place-items:center;gap:10px;margin-top:16px;padding:26px;display:grid}.profile-placeholder svg{color:var(--green-dark)}.profile-placeholder strong{color:var(--text-strong);font-size:18px}.profile-placeholder span{color:var(--muted);font-size:12px;line-height:1.45}.language-toggle{background:#e7ecef;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:min(220px,100%);margin-top:6px;padding:4px;display:grid}.language-toggle button{height:34px;color:var(--muted);background:0 0;border:0;border-radius:6px;font-size:12px;font-weight:900}.language-toggle button.is-active{background:var(--surface);color:var(--green-dark);box-shadow:0 8px 18px #0f172a14}.auth-frame{place-items:center;padding:18px;display:grid}.auth-backdrop{z-index:130;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a2e;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.auth-card.auth-dialog{width:min(346px,100vw - 40px);max-height:calc(100dvh - 40px);overflow-y:auto}.auth-card{border:1px solid var(--border);background:var(--surface);width:100%;box-shadow:var(--soft-shadow);border-radius:8px;gap:14px;padding:18px;display:grid}.auth-card>strong{color:var(--text-strong);font-size:22px}.auth-card p{color:var(--muted);margin:0;font-size:13px}.auth-brand{align-items:center;gap:10px;display:flex}.auth-brand strong{color:var(--text-strong);font-size:18px;line-height:1.1;display:block}.auth-brand span:not(.brand-mark){color:var(--muted);font-family:var(--mono);text-transform:uppercase;margin-top:3px;font-size:10px;display:block}.auth-tabs,.admin-tabs{background:#e7ecef;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;display:grid}.auth-tabs button,.admin-tabs button{height:38px;color:var(--muted);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:900;display:inline-flex}.auth-tabs button.is-active,.admin-tabs button.is-active{background:var(--surface);color:var(--green-dark);box-shadow:0 8px 18px #0f172a14}.auth-form,.activation-form{gap:10px;display:grid}.auth-form label,.activation-form label{gap:6px;display:grid}.auth-form span,.activation-form span{color:var(--muted);font-family:var(--mono);text-transform:uppercase;font-size:10px}.auth-form input,.activation-form input,.password-inline input{border:1px solid var(--border);width:100%;height:42px;color:var(--text-strong);background:#fbfcfb;border-radius:8px;padding:0 11px;font-size:16px;font-weight:700}.auth-help-button{min-height:38px;color:var(--green-dark);background:#f8fbf9;border:1px solid #19844a29;border-radius:8px;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:900;display:inline-flex}.primary-action{background:var(--accent);color:#062313;border:1px solid #19844a38;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:42px;font-size:13px;font-weight:950;display:inline-flex}.primary-action:disabled,.password-inline button:disabled,.delete-code-button:disabled{cursor:wait;opacity:.72}.form-message,.admin-message{border-radius:8px;align-items:center;min-height:30px;padding:7px 9px;font-size:12px;font-weight:800;line-height:1.3;display:flex}.form-message.is-error,.admin-message.is-error{color:var(--danger);background:#fff0ed}.form-message.is-success,.admin-message.is-success{color:var(--green-dark);background:#e8f8ee}.activation-notice{color:#8a5a13;background:#fff8e8;border:1px solid #b7791f38;border-radius:8px;justify-content:center;align-items:center;gap:7px;width:calc(100% - 28px);min-height:38px;margin:0 14px 10px;font-size:13px;font-weight:900;display:flex}.protected-content{transition:filter .18s,opacity .18s}.protected-content.is-locked{filter:blur(7px);opacity:.56;pointer-events:none;-webkit-user-select:none;user-select:none}.activation-backdrop{z-index:112;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#0f172a4d;place-items:end center;display:grid;position:fixed;inset:0}.activation-modal{width:min(390px,100vw);padding:16px 16px calc(20px + env(safe-area-inset-bottom,0px));background:#fbfdfc;border:1px solid #0f172a1f;border-radius:18px 18px 0 0;gap:12px;display:grid;box-shadow:0 -26px 70px #0f172a3d}.activation-head,.profile-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.activation-head span,.profile-head span,.profile-stats span{color:var(--muted);font-family:var(--mono);text-transform:uppercase;font-size:10px;display:block}.activation-head strong{color:var(--text-strong);margin-top:4px;font-size:20px;display:block}.activation-head button{border:1px solid var(--border);background:var(--surface);width:38px;height:38px;color:var(--text);border-radius:8px;place-items:center;display:grid}.activation-modal p{color:#315143;margin:0;font-size:13px;line-height:1.48}.profile-card,.admin-tabs,.admin-list,.admin-message{width:calc(100vw - 28px);max-width:calc(100% - 28px);margin-inline:14px}.profile-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--soft-shadow);border-radius:8px;gap:12px;margin-top:12px;padding:12px;display:grid}.profile-avatar{width:42px;height:42px;color:var(--green-dark);background:#e8f8ee;border-radius:8px;flex:none;place-items:center;display:grid}.profile-head>div:nth-child(2){flex:1;min-width:0}.profile-head strong{color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:18px;display:block;overflow:hidden}.profile-head em,.admin-row-main em{border-radius:7px;align-items:center;min-height:26px;padding:0 8px;font-size:11px;font-style:normal;font-weight:950;display:inline-flex}.profile-head em.is-active,.admin-row-main em.is-active{color:var(--green-dark);background:#e8f8ee}.profile-head em.is-inactive,.admin-row-main em.is-inactive{color:var(--danger);background:#fff0ed}.profile-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.profile-stats div{border:1px solid var(--border);background:#f8fbf9;border-radius:8px;align-content:center;gap:5px;min-height:66px;padding:10px;display:grid}.profile-stats strong{color:var(--text-strong);font-size:13px;line-height:1.25}.profile-actions{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.profile-actions button,.page-title button,.copy-code-button,.delete-code-button{border:1px solid var(--border);min-height:36px;color:var(--text-strong);background:#f8fbf9;border-radius:8px;justify-content:center;align-items:center;gap:6px;font-size:12px;font-weight:900;display:inline-flex}.admin-tabs{margin-top:8px}.admin-frame{background:linear-gradient(180deg, #f7faf8 0%, #eef3f0 100%), var(--app-bg)}.admin-home-link{border:1px solid var(--border);background:var(--surface);min-height:36px;color:var(--text-strong);border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:900;display:inline-flex;box-shadow:0 1px #ffffffe6}.admin-message{margin-top:10px}.admin-list{gap:10px;margin-top:10px;display:grid}.admin-row{border:1px solid var(--border);background:var(--surface);box-shadow:var(--soft-shadow);border-radius:8px;gap:9px;padding:12px;display:grid}.admin-row-main{grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.admin-row-main span,.admin-row-grid span{color:var(--muted);font-family:var(--mono);font-size:10px}.admin-row-main strong{color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.admin-row-grid{gap:4px;display:grid}.password-inline{grid-template-columns:minmax(0,1fr) 76px;gap:8px;display:grid}.password-inline button{min-height:40px;color:var(--green-dark);background:#e8f8ee;border:1px solid #19844a2e;border-radius:8px;justify-content:center;align-items:center;gap:5px;font-size:12px;font-weight:950;display:inline-flex}.code-generator{margin-top:10px}.generator-row{gap:8px;display:grid}.code-generator .settings-toggle{grid-template-columns:repeat(3,minmax(0,1fr))}.code-generator .settings-toggle button{white-space:nowrap}.code-actions{flex-wrap:wrap;justify-self:start;gap:8px;display:flex}.copy-code-button,.delete-code-button{min-width:78px}.delete-code-button{color:var(--danger);background:#fff0ed;border-color:#d843312e}.settings-backdrop{z-index:100;background:#0f172a38;place-items:end center;display:grid;position:fixed;inset:0}.settings-panel{width:min(390px,100vw);padding:16px 16px calc(20px + env(safe-area-inset-bottom,0px));background:#fffffffa;border:1px solid #0f172a1f;border-radius:16px 16px 0 0;gap:14px;display:grid;box-shadow:0 -22px 60px #0f172a33}.settings-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.settings-head span,.settings-section>span{color:var(--muted);font-size:11px;font-family:var(--mono);text-transform:uppercase;letter-spacing:0;display:block}.settings-head strong{color:var(--text-strong);margin-top:4px;font-size:20px;line-height:1.1;display:block}.settings-head button{border:1px solid var(--border);background:var(--surface);width:38px;height:38px;color:var(--text);border-radius:8px;place-items:center;display:grid}.settings-section{border:1px solid var(--border);background:#f8fbf9;border-radius:8px;gap:8px;padding:12px;display:grid}.settings-toggle{background:#e7ecef;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;display:grid}.settings-toggle button{height:36px;color:var(--muted);background:0 0;border:0;border-radius:6px;font-size:13px;font-weight:900}.settings-toggle button.is-active{background:var(--surface);color:var(--green-dark);box-shadow:0 8px 18px #0f172a14}.timezone-select{border:1px solid var(--border);background:var(--surface);width:100%;height:40px;color:var(--text-strong);border-radius:8px;padding:0 10px;font-size:16px;font-weight:800}.settings-section em{color:var(--green-dark);font-size:12px;font-style:normal;font-weight:800}.help-backdrop{z-index:150;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a42;place-items:end center;display:grid;position:fixed;inset:0}.help-panel{width:min(390px,100vw);max-height:88dvh;padding:14px 14px calc(20px + env(safe-area-inset-bottom,0px));background:#fbfdfc;border:1px solid #0f172a1f;border-radius:18px 18px 0 0;gap:14px;display:grid;overflow-y:auto;box-shadow:0 -26px 70px #0f172a3d}.help-hero{background:linear-gradient(135deg,#e8f8eefa,#fffffff2),#eef7f2;border:1px solid #19844a2e;border-radius:12px;grid-template-columns:1fr 38px;gap:12px;min-height:150px;padding:16px;display:grid}.help-hero span,.help-section>span,.help-scorecard span{color:var(--muted);font-size:11px;font-family:var(--mono);text-transform:uppercase;letter-spacing:0;display:block}.help-hero strong{color:var(--text-strong);margin-top:6px;font-size:23px;line-height:1.08;display:block}.help-hero p,.help-card p,.help-note p{color:#315143;margin:0;font-size:13px;line-height:1.48}.help-hero p{margin-top:10px}.help-hero button{width:38px;height:38px;color:var(--text);background:#ffffffb8;border:1px solid #0f172a14;border-radius:8px;place-items:center;display:grid}.help-scorecard{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.help-scorecard div{border:1px solid var(--border);background:var(--surface);border-radius:8px;align-content:center;gap:6px;min-height:70px;padding:10px;display:grid}.help-scorecard strong{color:var(--text-strong);font-size:13px;line-height:1.15}.help-section{gap:9px;display:grid}.help-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.help-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;min-height:116px;padding:12px}.help-card strong{color:var(--text-strong);margin-bottom:7px;font-size:14px;display:block}.help-steps{counter-reset:help-step;gap:8px;margin:0;padding:0;list-style:none;display:grid}.help-steps li{border:1px solid var(--border);min-height:42px;color:var(--text);counter-increment:help-step;background:#f7faf8;border-radius:8px;grid-template-columns:28px 1fr;align-items:center;gap:9px;padding:9px 10px;font-size:13px;line-height:1.35;display:grid}.help-steps li:before{content:counter(help-step);width:28px;height:28px;color:var(--green-dark);font-family:var(--mono);background:#e4f6ec;border-radius:7px;place-items:center;font-weight:900;display:grid}.help-note{color:#315143;background:#eff7f3;border-radius:8px;grid-template-columns:22px 1fr;gap:8px;padding:12px;display:grid}.help-note svg{color:var(--green-dark);margin-top:1px}.safe-space{height:calc(86px + env(safe-area-inset-bottom,0px))}.bottom-nav{z-index:50;width:min(390px,100vw);height:calc(70px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);border-top:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffeb;grid-template-columns:repeat(5,1fr);align-items:center;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -18px 44px #0f172a14}.bottom-nav button{color:var(--muted);background:0 0;border:0;justify-items:center;gap:3px;font-size:10px;font-weight:800;display:grid}.bottom-nav button.is-active{color:var(--green-dark)}@media (width<=520px){.app-shell{padding:0}.phone-frame{border:0;border-radius:0;width:100vw;min-height:100dvh}.brand-lockup strong{font-size:17px}.brand-lockup span:not(.brand-mark),.meta-line,.date-chip span,.market-cell span,.market-cell em,.model-note,.feed-heading span,.feed-heading button,.match-row-meta span,.match-row-meta em,.record-grid span,.record-hero span,.record-hero em,.market-board-head span,.bookmaker-line span,.competition-card span,.fixture-row span,.bottom-nav button{font-size:12px}.segment-control button,.team-block strong,.market-cell strong,.match-row-team,.record-breakdown-row span,.record-row strong,.fixture-row strong,.market-board-head strong,.profile-placeholder span{font-size:14px}.featured-head h1{font-size:22px}.date-chip strong,.kickoff-block.is-result strong,.record-breakdown-row strong,.one-book-odds strong,.market-price-cell strong{font-size:16px}.prob-label,.prob-value,.review-badge span,.kickoff-block,.kickoff-block.is-result span,.match-row-pick span,.match-row-pick em,.record-result,.record-row span,.record-row em,.competition-card-stats span,.one-book-odds b,.market-price-cell b{font-size:11px}.bottom-nav{width:100vw}.auth-backdrop{padding:16px}.auth-card.auth-dialog{width:min(342px,100vw - 32px)}}button{cursor:pointer;-webkit-tap-highlight-color:transparent;font-family:inherit;transition:transform .18s cubic-bezier(.16,1,.3,1),background .18s cubic-bezier(.16,1,.3,1),border-color .18s cubic-bezier(.16,1,.3,1)}button:active{transform:translateY(1px)scale(.99)}button:focus-visible{outline-offset:2px;outline:2px solid #1fb15e8c}@keyframes ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=480px){.app-shell{background:var(--app-bg);place-items:start center;padding:0}.phone-frame{width:min(390px,100vw);max-width:100vw;min-height:100dvh;box-shadow:none;border:0;border-radius:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
