@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap";:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#0b0f0e;font-family:Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}#root{max-width:720px;min-height:100svh;margin:0 auto}:root{--bg:#0b0f0e;--surface:#151b19;--surface-2:#1b2320;--lime:#c7f64a;--lime-soft:#c7f64a21;--text:#f5f7f6;--muted:#8f9b96;--line:#ffffff14;--danger:#ff6b6b}body{background:var(--bg);color:var(--text);margin:0;font-family:Manrope,-apple-system,BlinkMacSystemFont,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:wait;opacity:.5}button:active:not(:disabled){transform:scale(.98)}button:focus{outline:none}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--lime);outline-offset:2px}.app{background:radial-gradient(circle at 90% 0,#c7f64a12,transparent 30%),var(--bg);min-height:100svh}.content{min-height:100svh;padding:max(24px,env(safe-area-inset-top)) 18px calc(104px + env(safe-area-inset-bottom))}.page-transition{animation:.28s both page-enter}.icon{flex:none;display:block}h1,h2,h3,h4,p{margin-top:0}.eyebrow{color:var(--lime);letter-spacing:.18em;font-size:10px;font-weight:800;line-height:1}.home-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.home-header h1{letter-spacing:-.04em;max-width:280px;margin:7px 0 0;font-size:25px;line-height:1.15}.home-header .player-avatar-small{border:1px solid #c7f64a59;width:46px;height:46px}.hero-card{background:linear-gradient(145deg,#263229,#17201c 68%,#141a18);border:1px solid #c7f64a29;border-radius:28px;min-height:338px;padding:27px 24px 23px;position:relative;overflow:hidden;box-shadow:0 24px 70px #00000047}.hero-card:after{content:"";border:42px solid #c7f64a14;border-radius:50%;width:245px;height:245px;position:absolute;top:-90px;right:-100px}.hero-orb{background:var(--lime);border-radius:50%;width:62px;height:62px;position:absolute;top:25px;right:18px;box-shadow:inset -14px -9px 20px #1c2f0e47,0 0 55px #c7f64a33}.hero-orb:before,.hero-orb:after{content:"";border:2px solid #18251259;border-radius:50%;position:absolute;inset:8px -8px;transform:rotate(42deg)}.hero-orb:after{transform:rotate(-42deg)}.hero-kicker{color:#ffffff94;letter-spacing:.15em;margin-bottom:26px;font-size:10px;font-weight:800;display:block}.hero-card h2{letter-spacing:-.05em;max-width:250px;margin:0 0 17px;font-size:35px;line-height:1.02}.hero-card h2 span{color:var(--lime)}.hero-card>p{color:#afbab5;max-width:230px;min-height:55px;line-height:1.5}.hero-location{color:#bbc4c0;align-items:center;gap:8px;font-size:13px;display:flex}.hero-location .icon{color:var(--lime)}.capacity-row,.participants-summary{color:var(--muted);justify-content:space-between;margin:24px 0 9px;font-size:12px;display:flex}.capacity-row strong,.participants-summary strong{color:var(--text)}.capacity-track{background:#ffffff1a;border-radius:99px;height:4px;overflow:hidden}.capacity-track i{border-radius:inherit;background:var(--lime);height:100%;display:block}.hero-action{color:#10150d;background:var(--lime);border:0;border-radius:15px;justify-content:space-between;align-items:center;width:100%;margin-top:23px;padding:15px 18px;font-weight:800;display:flex}.section-heading{margin:31px 0 13px}.section-heading h2{letter-spacing:-.035em;margin:5px 0 0;font-size:21px}.quick-stats{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.quick-stats>div{border:1px solid var(--line);background:var(--surface);border-radius:18px;min-width:0;padding:16px 13px}.quick-stats span,.quick-stats small{color:var(--muted);font-size:10px;display:block}.quick-stats strong{letter-spacing:-.04em;margin:8px 0 3px;font-size:clamp(18px,6vw,25px);display:block}.community-link{width:100%;color:var(--text);text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:18px;align-items:center;gap:13px;margin-top:12px;padding:15px;display:flex}.community-icon{width:42px;height:42px;color:var(--lime);background:var(--lime-soft);border-radius:13px;place-items:center;display:grid}.community-link>span:nth-child(2){flex:1}.community-link strong,.community-link small{display:block}.community-link strong{font-size:14px}.community-link small{color:var(--muted);margin-top:3px;font-size:11px}.community-link>.icon{color:var(--muted)}.page-heading{margin-bottom:24px}.page-heading h2{letter-spacing:-.055em;margin:7px 0 4px;font-size:32px;line-height:1.05}.page-heading p{color:var(--muted);margin:0;font-size:13px}.game-card,.game-item,.player-card,.profile-card,.rating-card,.history-card,.partner-card,.match-card{border:1px solid var(--line);background:var(--surface)}.create-card{border-radius:20px;grid-template-columns:46px 1fr auto;align-items:center;gap:13px;padding:15px;display:grid}.create-icon{width:46px;height:46px;color:var(--lime);background:var(--lime-soft);border-radius:15px;place-items:center;display:grid}.create-card h3{margin:0 0 3px;font-size:14px}.create-card p{color:var(--muted);margin:0;font-size:10px;line-height:1.35}.create-game-btn{color:#10150d;background:var(--lime);border:0;border-radius:12px;padding:10px 13px;font-size:12px;font-weight:800}.game-item{text-align:left;border-radius:22px;margin-top:14px;padding:19px}.game-card-top{align-items:center;gap:15px;display:flex}.game-date{color:#10150d;background:var(--lime);border-radius:17px;place-items:center;width:57px;height:64px;display:grid}.game-date strong{font-size:24px;line-height:1}.game-date span{text-transform:uppercase;font-size:11px;font-weight:800}.game-main{min-width:0}.game-main h3{text-overflow:ellipsis;white-space:nowrap;margin:0 0 7px;font-size:17px;overflow:hidden}.game-main p{align-items:center;gap:6px;margin:0 0 4px;font-size:13px;display:flex}.game-main p .icon{color:var(--lime)}.game-main small{color:var(--muted);font-size:10px}.game-active,.game-finished{color:var(--lime);background:var(--lime-soft);border-radius:99px;margin:17px 0 0;padding:6px 10px;font-size:10px;font-weight:700;display:inline-flex}.game-finished{color:var(--muted);background:#ffffff0f}.participants-summary{margin-top:19px}.participant-item{color:#c2cbc7;background:var(--surface-2);border-radius:10px;margin:11px 5px 0 0;padding:6px 9px;font-size:11px;display:inline-flex}.game-comment{color:#aab4b0;background:#ffffff09;border-radius:12px;margin:14px 0 0;padding:12px;font-size:12px;line-height:1.45}.game-full{color:var(--danger);font-size:12px;font-weight:700}.join-game-btn,.leave-game-btn,.match-btn,.finish-game-btn{border-radius:13px;width:100%;margin-top:13px;padding:13px;font-size:12px;font-weight:800}.join-game-btn,.finish-game-btn{color:#10150d;background:var(--lime);border:0}.leave-game-btn{color:var(--danger);background:#ff6b6b14;border:1px solid #ff6b6b4d}.match-btn{border:1px solid var(--line);color:#c5ceca;background:0 0}.edit-buttons{flex-wrap:wrap;gap:8px;margin-top:13px;display:flex}.edit-buttons button{min-width:100px;color:var(--text);background:var(--surface-2);border:0;border-radius:12px;flex:1;padding:11px;font-size:11px;font-weight:700}.edit-buttons .delete-game-btn{color:var(--danger);background:#ff6b6b1a}.edit-buttons .save-game-btn{color:#10150d;background:var(--lime)}.create-game-form{flex-direction:column;grid-column:1/-1;gap:9px;margin-top:8px;display:flex}.create-game-form input,.create-game-form textarea,.create-game-form select{border:1px solid var(--line);width:100%;color:var(--text);background:#0f1412;border-radius:12px;outline:none;padding:13px}.create-game-form input:focus,.create-game-form textarea:focus,.create-game-form select:focus{border-color:#c7f64a8c}.create-game-form textarea{resize:vertical;min-height:80px}.create-game-form h4{color:var(--lime);margin:11px 0 0}.player-card,.rating-card{text-align:left;border-radius:17px;align-items:center;gap:12px;margin-bottom:9px;padding:13px;transition:all .16s;display:flex}.player-card-info{flex:1;min-width:0}.player-card-info strong{font-size:13px}.player-card-info div,.rating-player small{color:var(--muted);margin-top:4px;font-size:10px;display:block}.player-rating,.rating-value{color:var(--lime);font-size:14px}.player-card>.icon{color:var(--muted)}.rating-card.gold{background:linear-gradient(120deg,#c7f64a1a,var(--surface) 55%);border-color:#c7f64a59}.rating-player{flex:1;align-items:center;gap:11px;min-width:0;display:flex}.rating-player>span{min-width:0}.rating-player>span strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}.rank-number{width:18px;color:var(--muted);text-align:center;font-size:12px}.gold .rank-number{color:var(--lime)}.season-heading select{border:1px solid var(--line);width:100%;color:var(--text);background:var(--surface);border-radius:13px;margin-top:13px;padding:12px 13px;font-size:12px;font-weight:700}.season-card{background:linear-gradient(135deg,#c7f64a12,var(--surface) 58%);border:1px solid #c7f64a29;border-radius:21px;margin-bottom:18px;padding:17px}.season-card-top{align-items:center;gap:11px;display:flex}.season-card-top>div{flex:1;min-width:0}.season-card-top h3{margin:5px 0 0;font-size:17px}.season-icon{width:42px;height:42px;color:var(--lime);background:var(--lime-soft);border-radius:13px;place-items:center;display:grid}.season-status{color:var(--lime);background:var(--lime-soft);text-transform:uppercase;border-radius:9px;padding:6px 8px;font-size:8px;font-weight:800}.season-status.finished{color:var(--muted);background:#ffffff0f}.season-summary{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:16px;display:grid}.season-summary span{color:var(--muted);background:var(--surface-2);text-align:center;border-radius:11px;padding:10px 6px;font-size:8px}.season-summary strong{color:var(--text);margin-bottom:3px;font-size:15px;display:block}.season-dates{color:var(--muted);text-align:center;margin-top:11px;font-size:9px;display:block}.season-finish{border:1px solid var(--line);width:100%;color:var(--text);background:var(--surface-2);border-radius:11px;margin-top:12px;padding:11px;font-size:10px;font-weight:800}.rating-card{width:100%;color:var(--text)}.rating-delta{color:var(--lime);font-size:9px;font-weight:800}.rating-delta.negative{color:var(--danger)}.player-avatar{object-fit:cover;color:#9ba6a1;background:#29332f;border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex;overflow:hidden}.player-avatar-small{width:42px;height:42px}.player-avatar-large{width:92px;height:92px;color:var(--lime);background:linear-gradient(145deg,#303d37,#1d2522);border:1px solid #c7f64a40;margin:0 auto 14px}.profile-card{text-align:center;border-radius:25px;padding:24px 18px 18px}.profile-card h3{margin:0 0 4px;font-size:21px}.profile-handle,.profile-card>p{color:var(--muted);margin-bottom:20px;font-size:12px}.profile-rating{color:var(--lime);text-align:left;background:var(--lime-soft);border-radius:17px;align-items:center;gap:12px;padding:15px;display:flex}.profile-rating span{flex:1}.profile-rating small,.profile-rating strong{display:block}.profile-rating small{color:#aab69c;font-size:10px}.profile-rating strong{color:var(--text);margin-top:2px;font-size:21px}.profile-rating em{font-style:normal;font-weight:800}.profile-season-label{color:var(--muted);justify-content:center;align-items:center;gap:7px;margin:-7px 0 12px;font-size:10px;display:flex}.profile-season-label b{color:var(--lime);background:var(--lime-soft);text-transform:uppercase;border-radius:7px;padding:3px 6px;font-size:8px}.stats-grid{grid-template-columns:repeat(4,1fr);gap:5px;margin-top:17px;display:grid}.stats-grid div{background:var(--surface-2);border-radius:13px;min-width:0;padding:12px 4px}.stats-grid strong,.stats-grid span{display:block}.stats-grid strong{font-size:16px}.stats-grid span{color:var(--muted);margin-top:4px;font-size:8px}.telegram-connected{border-top:1px solid var(--line);color:#aab4b0;justify-content:center;align-items:center;gap:7px;margin-top:16px;padding:10px;font-size:10px;display:flex}.telegram-connected i{background:var(--lime);width:6px;height:6px;box-shadow:0 0 8px var(--lime);border-radius:50%}.player-profile-name{text-align:center}.back-btn{color:var(--muted);background:0 0;border:0;margin-bottom:16px;padding:8px 0;font-size:12px}.partner-stats,.player-match-history{text-align:left;margin-top:27px}.partner-stats h3,.player-match-history h3{font-size:17px}.partner-card,.history-card,.match-card{border-radius:16px;margin-bottom:9px;padding:14px;font-size:12px;line-height:1.6}.partner-heading,.partner-record,.history-heading{justify-content:space-between;gap:10px;display:flex}.partner-record,.history-heading span,.history-comment,.match-comment{color:var(--muted)}.partner-wins,.history-win .history-heading strong{color:var(--lime)}.partner-losses,.history-loss .history-heading strong,.history-error{color:var(--danger)}.history-card{border-left:3px solid var(--danger)}.history-card.history-win{border-left-color:var(--lime)}.empty-state{color:var(--muted);text-align:center;background:#c7f64a06;border:1px dashed #c7f64a33;border-radius:22px;padding:45px 25px}.empty-state>span{width:58px;height:58px;color:var(--lime);background:var(--lime-soft);border-radius:18px;place-items:center;margin:0 auto 16px;display:grid}.empty-state h3{color:var(--text);margin-bottom:7px;font-size:16px}.empty-state p{margin:0;font-size:11px;line-height:1.5}.bottom-nav{z-index:30;max-width:720px;padding:8px 9px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#0b0f0ee6;grid-template-columns:repeat(5,1fr);margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{color:#69736f;background:0 0;border:0;flex-direction:column;align-items:center;gap:4px;min-width:0;min-height:50px;padding:7px 0 4px;font-size:9px;font-weight:700;display:flex}.bottom-nav button.active{color:var(--lime)}.bottom-nav button.active .icon{filter:drop-shadow(0 0 8px #c7f64a66)}.calendar-card{border:1px solid var(--line);background:var(--surface);border-radius:24px;padding:16px 12px 14px}.calendar-toolbar{grid-template-columns:38px 1fr 38px;align-items:center;margin-bottom:15px;display:grid}.calendar-toolbar strong{text-align:center;text-transform:capitalize;font-size:15px}.calendar-toolbar button{border:1px solid var(--line);width:38px;height:38px;color:var(--text);background:var(--surface-2);border-radius:12px;place-items:center;display:grid}.calendar-toolbar .calendar-previous .icon{transform:rotate(180deg)}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,1fr);display:grid}.calendar-weekdays span{color:var(--muted);text-align:center;padding:6px 0 10px;font-size:9px;font-weight:700}.calendar-grid{gap:4px}.calendar-grid button{aspect-ratio:1;color:var(--text);background:0 0;border:0;border-radius:12px;place-items:center;font-size:12px;display:grid;position:relative}.calendar-grid button.outside{color:#4f5955}.calendar-grid button.today{box-shadow:inset 0 0 0 1px #c7f64a73}.calendar-grid button.selected{color:#10150d;background:var(--lime);font-weight:800}.calendar-grid button i{color:#10150d;background:var(--lime);border-radius:8px;place-items:center;min-width:13px;height:13px;padding:0 2px;font-size:7px;font-style:normal;font-weight:800;display:grid;position:absolute;bottom:2px;right:2px}.calendar-grid button.selected i{color:var(--lime);background:#182015}.calendar-grid button i.finished{color:#d5ddda;background:#4b5551}.calendar-date-heading{justify-content:space-between;align-items:center;gap:12px;margin:27px 0 12px;display:flex}.calendar-date-heading h3{margin:5px 0 0;font-size:17px}.calendar-date-heading button{color:#10150d;background:var(--lime);border:0;border-radius:11px;align-items:center;gap:5px;padding:9px 11px;font-size:10px;font-weight:800;display:flex}.calendar-empty{padding-block:32px}.calendar-game{border:1px solid var(--line);width:100%;color:var(--text);text-align:left;background:var(--surface);border-radius:17px;align-items:center;gap:12px;margin-bottom:9px;padding:14px;display:flex}.calendar-game-time{color:var(--lime);font-size:14px;font-weight:800}.calendar-game-info{flex:1;min-width:0}.calendar-game-info strong,.calendar-game-info small{display:block}.calendar-game-info strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.calendar-game-info small{color:var(--muted);margin-top:4px;font-size:9px}.calendar-status{color:var(--lime);background:var(--lime-soft);border-radius:9px;padding:5px 7px;font-size:8px;font-weight:800}.calendar-status.finished{color:var(--muted);background:#ffffff0f}.calendar-game>.icon{color:var(--muted)}.status-banner,.offline-banner,.cache-note,.error-banner{border:1px solid var(--line);background:var(--surface);border-radius:13px;margin:0 0 12px;padding:11px 13px;font-size:11px}.status-banner{justify-content:center;align-items:center;gap:9px;display:flex}.offline-banner{color:#10150d;background:var(--lime);font-weight:800}.cache-note{color:var(--muted)}.error-banner{color:#fff;background:#7e2929;justify-content:space-between;display:flex}.error-banner button{color:inherit;background:0 0;border:0}.spinner{border:2px solid var(--line);border-top-color:var(--lime);border-radius:50%;width:17px;height:17px;animation:.7s linear infinite spin}.pull-to-refresh{min-height:100svh}.pull-indicator{color:var(--muted);justify-content:center;align-items:center;font-size:11px;display:flex;overflow:hidden}.modal-backdrop{z-index:100;padding:16px 16px calc(16px + env(safe-area-inset-bottom));background:#000000b8;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.confirm-modal{border:1px solid var(--line);width:min(100%,440px);color:var(--text);background:var(--surface);text-align:left;border-radius:22px;padding:22px}.confirm-modal p{color:var(--muted);font-size:12px;line-height:1.5}.modal-actions{gap:9px;margin-top:20px;display:flex}.modal-actions button{border:0;border-radius:12px;flex:1;padding:12px;font-weight:800}.modal-cancel{color:var(--text);background:var(--surface-2)}.modal-confirm{color:#10150d;background:var(--lime)}.modal-confirm.danger{color:#fff;background:#c74747}@keyframes spin{to{transform:rotate(360deg)}}@keyframes page-enter{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@media (hover:hover){.player-card:hover,.rating-card:hover,.game-item:hover{border-color:#c7f64a33;transform:translateY(-2px)}}@media (width<=360px){.content{padding-inline:13px}.hero-card{padding-inline:19px}.quick-stats{gap:6px}.quick-stats>div{padding-inline:9px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.waitlist-block{background:#f6b54017;border-radius:14px;margin-top:14px;padding:12px}.waitlist-item{border-top:1px solid #ffffff14;justify-content:space-between;gap:12px;padding:9px 0;display:flex}.waitlist-item small{color:var(--text-muted,#8f98a8);text-align:right}.waitlist-actions{gap:8px;display:grid}.reserve-btn{color:#171717;background:#f6b540}.expense-block{background:#c7f64a09;border:1px solid #c7f64a29;border-radius:16px;margin-top:18px;padding:14px}.expense-heading{justify-content:space-between;align-items:center;display:flex}.expense-heading small{color:var(--lime);letter-spacing:.12em;font-size:9px;font-weight:800}.expense-heading h4{margin:4px 0 0;font-size:20px}.expense-heading>button{border:1px solid var(--line);color:var(--muted);background:var(--surface-2);border-radius:9px;padding:7px 9px;font-size:9px}.expense-stats{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:13px;display:grid}.expense-stats span{color:var(--muted);background:var(--surface-2);text-align:center;border-radius:10px;padding:9px 6px;font-size:8px}.expense-stats strong{color:var(--text);margin-top:4px;font-size:10px;display:block}.payment-link{color:#10150d;background:var(--lime);text-align:center;border-radius:10px;margin-top:10px;padding:10px;font-size:10px;font-weight:800;text-decoration:none;display:block}.payment-list{margin-top:11px}.payment-list>div{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:8px 0;font-size:11px;display:flex}.payment-list span small{color:var(--muted);margin-top:2px;font-size:8px;display:block}.payment-list button{color:var(--danger);background:#ff6b6b12;border:1px solid #ff6b6b40;border-radius:9px;padding:7px 8px;font-size:8px;font-weight:700}.payment-list button.paid{color:var(--lime);background:var(--lime-soft);border-color:#c7f64a33}.payment-list b{color:var(--danger)}.payment-list b.paid{color:var(--lime)}.expense-debt{color:var(--muted);margin:10px 0 0;font-size:10px}.expense-debt strong{color:var(--text)}.expense-save{color:#10150d;background:var(--lime);border:0;border-radius:11px;padding:11px;font-size:10px;font-weight:800}.calendar-subscribe{color:var(--lime);background:var(--lime-soft);text-align:center;border:1px solid #c7f64a40;border-radius:13px;margin:-10px 0 14px;padding:12px;font-size:11px;font-weight:800;text-decoration:none;display:block}.integration-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;display:grid}.integration-actions a,.integration-actions button{border:1px solid var(--line);color:var(--text);background:var(--surface-2);text-align:center;border-radius:11px;padding:11px 7px;font-size:9px;font-weight:700;text-decoration:none}.focused-game{border-color:var(--lime);box-shadow:0 0 0 2px #c7f64a1f}
