@import"https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&display=swap";:root{--bg: #060a13;--bg-subtle: #0b1120;--surface: #111827;--surface-raised: #1a2235;--surface-bright: #222d42;--border: #1e293b;--border-bright: #2d3a50;--text: #f1f5f9;--text-secondary: #94a3b8;--text-dim: #475569;--text-muted: #334155;--accent: #3b82f6;--accent-dim: #1d4ed8;--accent-glow: rgba(59, 130, 246, .15);--live: #ef4444;--live-glow: rgba(239, 68, 68, .25);--live-pulse: rgba(239, 68, 68, .5);--hot: #22c55e;--hot-bg: rgba(34, 197, 94, .1);--hot-border: rgba(34, 197, 94, .25);--cold: #ef4444;--cold-bg: rgba(239, 68, 68, .08);--cold-border: rgba(239, 68, 68, .2);--neutral-pct: #64748b;--foul: #eab308;--foul-bg: rgba(234, 179, 8, .1);--font-display: "Outfit", system-ui, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", monospace;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-full: 999px}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg);color:var(--text);font-family:var(--font-display);font-size:15px;line-height:1.4;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}body{min-height:100dvh;background:var(--bg)}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}.page{padding:0 16px 32px;max-width:540px;margin:0 auto}.page__back{display:flex;align-items:center;gap:6px;padding:14px 0 8px;color:var(--text-secondary);font-size:13px;font-weight:500;letter-spacing:.01em;transition:color .15s}.page__back:active{color:var(--text)}.page__back-arrow{font-size:16px;line-height:1}.page__status{display:flex;align-items:center;justify-content:center;padding:48px 0;color:var(--text-dim);font-size:14px}.page__status--error{color:var(--cold)}.home-header{padding:20px 0 6px}.home-header__date{font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase}.home-header__title{font-size:26px;font-weight:800;letter-spacing:-.02em;margin-top:2px;background:linear-gradient(135deg,#f1f5f9,#94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.home-header__top{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.home-header__date-nav{display:flex;align-items:center;gap:4px;min-width:0}.home-header__date-block{min-width:0}.home-header__actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.day-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;font-family:var(--font-display);font-size:22px;font-weight:500;line-height:1;color:var(--text-secondary);background:transparent;border:1px solid var(--border);border-radius:var(--radius-full);transition:color .15s ease,border-color .15s ease}.day-btn:hover{color:var(--text);border-color:var(--border-bright)}.today-btn{padding:6px 10px;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);background:var(--accent-glow);border:1px solid transparent;border-radius:var(--radius-full);transition:background .15s ease}.today-btn:hover{background:#3b82f640}.game-list{list-style:none;display:flex;flex-direction:column;gap:10px;padding-top:16px}.game-card{display:block;position:relative;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color .2s,background .2s;overflow:hidden}.game-card:active{background:var(--surface-raised);border-color:var(--border-bright)}.game-card--live{border-color:var(--border-bright)}.game-card--live:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--live) 0%,transparent 100%)}.game-card__row{display:flex;align-items:center;justify-content:space-between;padding:3px 0}.game-card__team{display:flex;align-items:center;gap:10px;flex:1}.game-card__tricode{font-family:var(--font-mono);font-weight:700;font-size:15px;letter-spacing:.04em;min-width:38px}.game-card__name{font-size:12px;color:var(--text-secondary);font-weight:400}.game-card__score{font-family:var(--font-mono);font-weight:700;font-size:20px;letter-spacing:-.01em;font-variant-numeric:tabular-nums;min-width:36px;text-align:right}.game-card__score--winner{color:var(--text)}.game-card__score--loser{color:var(--text-secondary)}.game-card__meta{display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.game-card__status{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--text-secondary)}.game-card__live-dot{width:6px;height:6px;border-radius:50%;background:var(--live);animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1;box-shadow:0 0 0 0 var(--live-pulse)}50%{opacity:.7;box-shadow:0 0 0 4px transparent}}.game-card__arrow{color:var(--text-dim);font-size:14px}.detail-header{padding:8px 0 12px}.detail-header__matchup{display:flex;align-items:center;justify-content:center;gap:16px}.detail-header__side{display:flex;flex-direction:column;align-items:center;gap:2px}.detail-header__tricode{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--text-secondary);letter-spacing:.06em}.detail-header__score{font-family:var(--font-mono);font-size:36px;font-weight:800;letter-spacing:-.02em;line-height:1}.detail-header__score--winner{color:var(--text)}.detail-header__score--loser{color:var(--text-dim)}.detail-header__divider{display:flex;flex-direction:column;align-items:center;gap:2px}.detail-header__at{font-size:12px;color:var(--text-dim);font-weight:500}.detail-header__clock{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:8px;font-family:var(--font-mono);font-size:12px;font-weight:500;color:var(--text-secondary)}.detail-header__clock-dot{width:5px;height:5px;border-radius:50%;background:var(--live);animation:pulse-dot 2s ease-in-out infinite}.detail-header__meta{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:8px}.detail-header__meta .detail-header__clock{margin-top:0}.refresh-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text);background:var(--surface-raised);border:1px solid var(--border-bright);border-radius:var(--radius-full);transition:background .15s ease,border-color .15s ease,opacity .15s ease}.refresh-btn:hover:not(:disabled){background:var(--surface-bright);border-color:var(--accent)}.refresh-btn:disabled{cursor:default;opacity:.6}@media (min-width: 768px){.refresh-btn{padding:9px 18px;font-size:12px}}.stat-tabs{display:flex;gap:4px;padding:4px;margin:8px 0 4px;background:var(--bg-subtle);border-radius:var(--radius-md);border:1px solid var(--border);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.stat-tabs::-webkit-scrollbar{display:none}.stat-tabs__tab{flex:1;min-width:0;padding:7px 4px;font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--text-dim);border-radius:var(--radius-sm);transition:all .15s;text-align:center;white-space:nowrap}.stat-tabs__tab:active{color:var(--text-secondary)}.stat-tabs__tab--active{background:var(--accent);color:#fff;box-shadow:0 1px 4px #3b82f64d}.team-section{margin-top:16px}.team-section__header{display:flex;align-items:center;gap:8px;padding:8px 0}.team-section__tricode{font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--accent)}.team-section__name{font-size:12px;color:var(--text-dim);font-weight:400}.team-section__table-wrap{overflow-x:auto;margin:0 -16px;padding:0 16px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.team-section__table-wrap::-webkit-scrollbar{display:none}.team-section__table{width:100%;min-width:520px;border-collapse:collapse;font-variant-numeric:tabular-nums}.team-section__table th{position:sticky;top:0;background:var(--bg);font-family:var(--font-mono);font-size:10px;font-weight:600;color:var(--text-dim);text-align:right;padding:6px 6px 8px;letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--border);white-space:nowrap}.team-section__table th:first-child{text-align:left;min-width:110px}.player-row{transition:background .1s}.player-row:active{background:var(--surface-raised)}.player-row td{font-family:var(--font-mono);font-size:13px;font-weight:500;text-align:right;padding:8px 6px;border-bottom:1px solid var(--border);color:var(--text);white-space:nowrap}.player-row td:first-child{text-align:left;font-family:var(--font-display);font-weight:500}.player-row--dnp td{color:var(--text-muted)}.player-row__name{display:flex;align-items:center;gap:6px}.player-row__name-text{font-size:13px;line-height:1.2;max-width:100px;overflow:hidden;text-overflow:ellipsis}.player-row__foul-badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:4px;font-family:var(--font-mono);font-size:9px;font-weight:700;background:var(--foul-bg);color:var(--foul);border:1px solid rgba(234,179,8,.3);flex-shrink:0}.player-row__pct{position:relative}.player-row__pct--hot{color:var(--hot)}.player-row__pct--cold{color:var(--cold)}.player-row__pct--neutral{color:var(--text-dim)}.player-row__pct-bar{position:absolute;bottom:0;left:2px;right:2px;height:2px;border-radius:1px;opacity:.6}.player-row__pct-bar--hot{background:var(--hot)}.player-row__pct-bar--cold{background:var(--cold)}.player-row__pts{font-weight:700;font-size:14px}.shooting-legend{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:6px 0 2px;font-size:10px;color:var(--text-dim);font-family:var(--font-mono)}.shooting-legend__item{display:flex;align-items:center;gap:4px}.shooting-legend__dot{width:6px;height:6px;border-radius:50%}.shooting-legend__dot--hot{background:var(--hot)}.shooting-legend__dot--cold{background:var(--cold)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--surface) 25%,var(--surface-raised) 50%,var(--surface) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}.skeleton-card{height:100px;border-radius:var(--radius-lg)}@media (min-width: 768px){.page{max-width:720px}.game-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.team-section__table{min-width:0}.player-row__name-text{max-width:140px}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:radial-gradient(at 20% 20%,var(--accent-glow),transparent 60%),var(--bg)}.login-card{width:100%;max-width:360px;display:flex;flex-direction:column;gap:16px;padding:28px 22px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 12px 40px #00000073}.login-card__title{font-family:var(--font-display);font-size:22px;font-weight:800;letter-spacing:.02em;color:var(--text)}.login-card__subtitle{font-size:14px;color:var(--text-secondary);margin-top:-8px}.login-field{display:flex;flex-direction:column;gap:6px}.login-field__label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim)}.login-field__input{padding:11px 12px;font-size:15px;font-family:var(--font-mono);background:var(--bg-subtle);color:var(--text);border:1px solid var(--border-bright);border-radius:var(--radius-md);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.login-field__input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.login-card__error{font-size:13px;color:var(--cold);background:var(--cold-bg);border:1px solid var(--cold-border);padding:8px 10px;border-radius:var(--radius-sm)}.login-card__submit{margin-top:6px;padding:12px 16px;font-family:var(--font-display);font-weight:700;font-size:15px;letter-spacing:.04em;color:#07112a;background:var(--accent);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background .15s ease,transform .05s ease}.login-card__submit:hover:not(:disabled){background:var(--accent-dim)}.login-card__submit:active:not(:disabled){transform:translateY(1px)}.login-card__submit:disabled{opacity:.6;cursor:not-allowed}
