@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600&family=Sora:wght@600;700;800&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--blue: #2563eb;--blue-hover: #1d4ed8;--blue-soft: rgba(37, 99, 235, .08);--blue-medium: rgba(37, 99, 235, .15);--green: #10b981;--green-soft: rgba(16, 185, 129, .08);--green-medium: rgba(16, 185, 129, .15);--warning: #f59e0b;--warning-soft: rgba(245, 158, 11, .08);--danger: #ef4444;--danger-soft: rgba(239, 68, 68, .08);--bg: #fafaf8;--bg-surface: #ffffff;--bg-elevated: #f5f5f2;--bg-input: #f5f5f2;--border: rgba(0, 0, 0, .05);--border-strong: rgba(0, 0, 0, .1);--text-primary: #111111;--text-secondary: rgba(17, 17, 17, .55);--text-muted: rgba(17, 17, 17, .35);--shadow-sm: 0 1px 2px rgba(0,0,0,.04), 0 1px 3px rgba(0,0,0,.03);--shadow-md: 0 4px 12px rgba(0,0,0,.06), 0 1px 3px rgba(0,0,0,.04);--shadow-lg: 0 8px 24px rgba(0,0,0,.08), 0 2px 6px rgba(0,0,0,.04);--radius-xs: 8px;--radius-sm: 12px;--radius-md: 16px;--radius-lg: 20px;--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-top: env(safe-area-inset-top, 0px);--font: "Outfit", sans-serif;--font-display: "Sora", sans-serif;--font-mono: "JetBrains Mono", monospace}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:var(--font);background:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;font-size:15px;line-height:1.5}button{font-family:inherit;cursor:pointer;border:none;outline:none;background:none;-webkit-tap-highlight-color:transparent}input{font-family:inherit;outline:none;border:none;background:none}a{color:inherit;text-decoration:none}.app-shell{display:flex;flex-direction:column;height:100%;width:100%}.app-content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-top:var(--safe-top)}.matches-page{min-height:100%;padding-bottom:24px}.matches-header{position:relative;padding:28px 20px 22px;overflow:hidden}.matches-header-glow{position:absolute;top:-40px;right:-30px;width:180px;height:180px;background:radial-gradient(circle,rgba(16,185,129,.12) 0%,transparent 70%);border-radius:50%;pointer-events:none}.matches-greeting{font-size:13px;font-weight:500;color:var(--text-muted);letter-spacing:.02em;margin-bottom:4px;animation:fadeUp .4s ease-out both}.matches-title{font-family:var(--font-display);font-size:32px;font-weight:800;letter-spacing:-.8px;color:var(--text-primary);line-height:1.1;margin-bottom:4px;animation:fadeUp .4s ease-out .05s both}.matches-date{font-size:13px;color:var(--text-muted);font-weight:400;animation:fadeUp .4s ease-out .1s both}.matches-filters{display:flex;gap:8px;padding:0 20px 18px;overflow-x:auto;scrollbar-width:none;animation:fadeUp .4s ease-out .15s both}.matches-filters::-webkit-scrollbar{display:none}.matches-filter-pill{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:100px;font-size:13px;font-weight:500;color:var(--text-secondary);background:var(--bg-surface);border:1px solid var(--border);white-space:nowrap;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm)}.matches-filter-pill:active{transform:scale(.96)}.matches-filter-pill.active{background:var(--text-primary);color:#fff;border-color:var(--text-primary);box-shadow:var(--shadow-md)}.filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:100px;font-size:11px;font-weight:600;background:#ffffff26}.matches-filter-pill:not(.active) .filter-count{background:var(--bg-elevated);color:var(--text-muted)}.matches-list{padding:0 16px;display:flex;flex-direction:column;gap:10px}.match-card{display:flex;width:100%;text-align:left;color:var(--text-primary);background:var(--bg-surface);border-radius:var(--radius-md);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1);animation:cardReveal .5s cubic-bezier(.22,1,.36,1) both}.match-card:active{transform:scale(.98);box-shadow:var(--shadow-sm)}.match-card-accent{width:4px;flex-shrink:0;background:var(--border-strong);transition:background .3s ease}.match-card--clips .match-card-accent{background:linear-gradient(180deg,#10b981,#059669)}.match-card--locked .match-card-accent{background:linear-gradient(180deg,#f59e0b,#d97706)}.match-card-body{flex:1;padding:16px 18px;min-width:0}.match-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.match-card-info{flex:1;min-width:0}.match-card-facility{display:block;font-size:15px;font-weight:600;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.match-card-meta{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);margin-top:4px;flex-wrap:wrap}.match-card-dot{width:3px;height:3px;border-radius:50%;background:var(--text-muted);flex-shrink:0}.match-card-duration{display:inline-block;font-size:11px;font-weight:500;color:var(--text-muted);margin-top:8px;padding:2px 8px;background:var(--bg-elevated);border-radius:6px}.match-card-badge-wrap{flex-shrink:0}.match-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:100px;font-size:12px;font-weight:600;white-space:nowrap;letter-spacing:.01em}.match-badge--clips{color:#059669;background:#10b9811a}.match-badge--locked{color:#b45309;background:#f59e0b1a}.match-badge--none{color:var(--text-muted);background:var(--bg-elevated);font-weight:500}.match-skeleton{display:flex;background:var(--bg-surface);border-radius:var(--radius-md);border:1px solid var(--border);overflow:hidden;animation:skeletonFade .4s ease-out both}.match-skeleton:before{content:"";width:4px;flex-shrink:0;background:var(--border)}.skeleton-bar{height:12px;border-radius:6px;background:linear-gradient(90deg,var(--bg-elevated) 25%,var(--border) 50%,var(--bg-elevated) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.skeleton-wide{width:55%;margin-bottom:10px}.skeleton-narrow{width:35%;height:10px}.match-skeleton{padding:18px 18px 16px;display:flex;flex-direction:column}.matches-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 28px;text-align:center;animation:fadeUp .5s ease-out both}.matches-empty-icon{width:56px;height:56px;border-radius:16px;background:var(--bg-elevated);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:var(--text-muted)}.matches-empty-title{font-size:16px;font-weight:600;color:var(--text-secondary);margin-bottom:4px}.matches-empty-sub{font-size:13px;color:var(--text-muted);max-width:260px;line-height:1.5}.app-header{display:flex;align-items:center;gap:6px;padding:12px 20px;background:var(--bg-surface);border-bottom:1px solid var(--border);color:var(--text-primary);flex-shrink:0}.app-header-name{font-family:var(--font-display);font-size:14px;font-weight:700;letter-spacing:.02em}.bottom-nav{display:flex;align-items:stretch;background:var(--bg-surface);border-top:1px solid var(--border);padding-bottom:var(--safe-bottom);position:relative}.bottom-nav-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 0 6px;color:var(--text-muted);transition:color .2s ease;position:relative;min-width:0}.bottom-nav-tab.active{color:var(--text-primary)}.bottom-nav-indicator{position:absolute;top:0;width:20px;height:2.5px;border-radius:0 0 2px 2px;background:var(--green);opacity:0;transition:opacity .25s ease}.bottom-nav-tab.active .bottom-nav-indicator{opacity:1}.bottom-nav-label{font-size:10px;font-weight:500;margin-top:3px;letter-spacing:.02em}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes cardReveal{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes skeletonFade{0%{opacity:0}to{opacity:1}}
