@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&display=swap');
:root{--bg:#20211f;--paper:#f6f6f0;--mint:#d0e7b5;--blue:#b7dce4;--yellow:#f6e39c;--muted:#989c93;--ink:#22251f;--line:#dedfd5}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--paper);font:14px 'DM Sans',Arial,sans-serif;letter-spacing:-.25px}button,input,select,textarea{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer;color:inherit}button{border:0}button:focus-visible,a:focus-visible{outline:3px solid #73a6bc;outline-offset:3px}a{color:inherit}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button:disabled{opacity:.4;cursor:not-allowed}.sidebar{position:fixed;left:0;top:0;bottom:0;width:224px;padding:36px 24px 24px;border-right:1px solid #383a34;display:flex;flex-direction:column;z-index:10;background:var(--bg)}.brand{display:flex;align-items:center;gap:10px;font-size:23px;letter-spacing:-1.3px;font-weight:600;text-decoration:none}.brandmark{font-size:33px;line-height:1}.brand small{font-size:10px;color:var(--muted);letter-spacing:2px;display:block;margin-top:5px}.nav{display:grid;gap:8px;margin-top:61px}.nav button{display:flex;align-items:center;gap:13px;padding:14px 17px;border-radius:50px;background:transparent;text-align:left;color:#aeb1a7;font-size:14px}.nav button.active{background:var(--mint);color:var(--ink)}.nav button:hover:not(.active){background:#30322c;color:white}.sidebar-bottom{margin-top:auto}.crew-mini{border-top:1px solid #3e4138;padding-top:23px}.tiny{font-size:11px;color:#91978a;letter-spacing:1.6px;text-transform:uppercase}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;width:38px;height:38px;color:#262820;font-weight:600;font-size:13px;background:var(--mint);border:2px solid var(--bg);flex-shrink:0}.avatars{display:flex;margin:14px 0}.avatars .avatar+.avatar{margin-left:-9px}.local-label{font-size:11px;color:#a6ab9d;display:flex;gap:7px;align-items:center}.dot{width:6px;height:6px;background:#c6e9a7;border-radius:50%;display:inline-block}.main{max-width:1660px;margin-left:224px;padding:0 42px 40px}.topbar{height:104px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #3c3e36}.breadcrumb{color:#959b8c;font-size:13px}.breadcrumb b{color:#e8ebdf;font-weight:400;margin-left:10px}.top-right{display:flex;align-items:center;gap:12px}.subtle{background:transparent;color:#a9af9e}.iconbtn{border:1px solid #474b40;border-radius:50%;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;background:transparent}.profile{display:flex;align-items:center;gap:9px}.profile select{background:transparent;border:0;color:#f6f6f0;max-width:100px}.profile option{color:var(--ink)}.page-head{display:flex;justify-content:space-between;align-items:flex-end;margin:34px 0 28px;gap:18px}.eyebrow{color:#a7ae9a;text-transform:uppercase;letter-spacing:1.8px;font-size:10px;font-weight:600;margin-bottom:12px}h1{font-size:42px;font-weight:450;line-height:1.1;letter-spacing:-2px;margin:0}h1 .soft{color:#9ba28f}h2{font-size:24px;letter-spacing:-.9px;font-weight:500;margin:0}h3{font-size:19px;font-weight:500;margin:0}.btn{border-radius:40px;padding:13px 19px;background:var(--paper);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:500;text-decoration:none;white-space:nowrap}.btn.green{background:var(--mint)}.btn.dark{background:var(--ink);color:var(--paper)}.btn.outline{background:transparent;border:1px solid #565b4c;color:var(--paper)}.btn.small{font-size:12px;padding:9px 13px}.filters{display:flex;gap:8px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.select{background:#2c2e28;border:1px solid #474b40;color:#f3f4e9;padding:10px 34px 10px 15px;border-radius:30px;max-width:100%}.select option{background:#2c2e28}.filter-label{color:#939c88;font-size:12px;margin-left:auto}.grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(310px,1fr);gap:16px}.card{border-radius:26px;background:var(--paper);color:var(--ink);padding:25px;min-width:0}.hero{background:var(--mint);min-height:264px;position:relative;overflow:hidden;padding:29px}.hero .tiny{color:#657852}.hero h2{font-size:38px;line-height:1.06;letter-spacing:-1.8px;max-width:65%;margin:20px 0 22px;font-weight:450}.hero h2 b{font-weight:650}.chip{border:1px solid #aabc91;border-radius:30px;font-size:11px;padding:7px 11px;display:inline-flex;align-items:center;gap:5px}.hero-art{position:absolute;right:4%;top:38px;width:150px;height:180px;transform:rotate(-12deg)}.tile{width:107px;height:107px;border:1.5px solid #3c5130;border-radius:23px;position:absolute;background:#d8edc2;display:flex;align-items:center;justify-content:center;box-shadow:4px 6px 0 #a5bc8a}.tile.one{right:8px;top:34px;transform:rotate(32deg);background:#aec78e}.tile.two{right:30px;top:9px}.tile.three{right:48px;top:64px;background:#f6f6e8;transform:rotate(-6deg);font-size:67px;line-height:1}.dots{display:grid;grid-template-columns:repeat(2,12px);gap:20px}.dots i{width:12px;height:12px;background:#304127;border-radius:50%}.hero-footer{font-size:11px;color:#64774e;margin-top:18px}.overview{background:var(--blue);display:flex;flex-direction:column;justify-content:space-between}.card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.card-top .tiny{color:#557079}.round-arrow{border:1px solid #ffffff80;width:34px;height:34px;border-radius:50%;background:#ffffff55;display:flex;align-items:center;justify-content:center;color:var(--ink)}.big-number{font-size:85px;line-height:1;letter-spacing:-5px;font-weight:450}.overview-bottom{display:flex;justify-content:space-between;align-items:flex-end}.overview-bottom p{line-height:1.5;margin:9px 0 0;color:#49626a;font-size:12px}.mini-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px;grid-column:1/-1}.metric{padding:19px 22px;background:#2c2f27;border:1px solid #414638;border-radius:22px;display:flex;align-items:center;justify-content:space-between}.metric strong{font-size:31px;letter-spacing:-1px;font-weight:450}.metric span{color:#acb59f;font-size:12px;display:block;margin-top:5px}.metric .metric-icon{background:#3d4534;color:#ccdfb9;border-radius:50%;width:39px;height:39px;display:grid;place-items:center}.lower{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(310px,1fr);gap:16px;margin-top:26px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:21px}.section-head h2{font-size:21px}.textbtn{background:transparent;padding:3px 0;display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#68735b}.table{width:100%;border-collapse:collapse;text-align:left}.table th{font-size:10px;text-transform:uppercase;letter-spacing:.6px;font-weight:500;color:#828976;padding:0 8px 13px;border-bottom:1px solid var(--line)}.table td{padding:14px 8px;border-bottom:1px solid var(--line);font-size:13px}.table tr:last-child td{border-bottom:0}.table th:first-child,.table td:first-child{padding-left:0}.person{display:flex;gap:10px;align-items:center}.person .avatar{border:0;width:33px;height:33px;font-size:11px}.ranknum{color:#939a86;width:20px;font-size:12px}.bartrack{width:62px;height:5px;background:#e0e4d8;border-radius:8px;margin-top:5px;overflow:hidden}.bartrack i{height:100%;display:block;background:#536f40;border-radius:8px}.pill{border-radius:20px;font-size:10px;background:#e9ecdf;padding:5px 8px;display:inline-flex;align-items:center;gap:4px}.game-row{display:flex;align-items:center;gap:13px;padding:14px 0;border-bottom:1px solid var(--line);width:100%;background:transparent;text-align:left;color:var(--ink)}.game-row:last-child{border-bottom:0}.game-symbol{width:45px;height:49px;border-radius:13px;display:grid;place-items:center;font-size:29px;background:#d6e5be;flex-shrink:0}.game-row:nth-of-type(2n) .game-symbol{background:#e9d2bd}.game-row:nth-of-type(3n) .game-symbol{background:#c8dfe7}.game-row b{font-weight:500;display:block}.game-row small{color:#838c78;display:block;margin-top:5px;font-size:11px}.game-row .count{margin-left:auto;font-size:21px;font-weight:450}.game-row .count small{font-size:10px;text-align:right}.session-list{display:grid;gap:9px}.session{display:flex;gap:15px;align-items:center;padding:17px 20px;border-radius:21px;background:#f5f5ee;color:var(--ink)}.session .info{flex:1;min-width:0}.session h3{font-size:15px}.session p{font-size:11px;color:#7c8570;margin:5px 0 0}.session .winner{font-size:12px;background:#e1edcf;padding:8px 12px;border-radius:30px}.session .actions{display:flex;gap:5px}.session .iconbtn{width:30px;height:30px;border-color:#d5d9cd}.session .iconbtn svg{width:15px}.history-head{margin-top:28px}.footnote{font-size:11px;color:#9ba48e;line-height:1.6;margin-top:20px}.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.game-card{min-height:216px;position:relative;display:flex;flex-direction:column;gap:20px;text-align:left;border:0}.game-card h2{font-size:26px}.game-card .game-symbol{width:57px;height:57px}.game-card footer{display:flex;justify-content:space-between;margin-top:auto;color:#5f6b50;font-size:12px}.game-card:nth-child(3n+1){background:var(--mint)}.game-card:nth-child(3n+2){background:var(--blue)}.game-card:nth-child(3n){background:var(--yellow)}.game-card .round-arrow{position:absolute;right:22px;top:22px}.player-card .avatar{width:64px;height:64px;border:0;font-size:21px}.player-stats{display:flex;gap:27px;margin-top:8px}.player-stats b{font-size:25px;font-weight:450;display:block}.player-stats small{font-size:11px;color:#78826a}.search{border:1px solid #4e5544;border-radius:30px;background:#2c2f27;color:white;padding:12px 18px;width:230px}.search::placeholder{color:#959e89}.empty{padding:50px 20px;text-align:center;color:#849072}.full{grid-column:1/-1}.settings{display:grid;gap:15px;max-width:800px}.settings p{color:#75816a;line-height:1.7;font-size:13px}.settings .btn{margin-right:7px;margin-bottom:8px}.settings .muted{font-size:11px}dialog{border:0;border-radius:28px;padding:0;background:var(--paper);color:var(--ink);width:min(540px,calc(100% - 24px));max-height:90dvh;box-shadow:0 20px 100px #0008}dialog::backdrop{background:#11170dc4;backdrop-filter:blur(6px)}.modal-inner{padding:28px}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.modal-head .iconbtn{color:var(--ink);border-color:#d4d9cb}.field{display:grid;gap:8px;margin:18px 0}.field label,.field legend{font-size:12px;color:#6a765b}.field input,.field select,.field textarea{width:100%;border:1px solid #d5dccc;background:#fffef8;padding:12px 14px;border-radius:13px;color:var(--ink)}.field textarea{resize:vertical;min-height:70px}.field small{font-size:11px;color:#859176}.checks{display:flex;gap:7px;flex-wrap:wrap}.check{display:inline-flex;gap:7px;align-items:center;border:1px solid #d4ddc7;border-radius:30px;padding:10px 12px;font-size:12px}.check:has(input:checked){background:var(--mint);border-color:#a4bb88}.check input{width:auto;margin:0;accent-color:#445c32}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-row .field{margin:0}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:25px}.error{color:#9f3325;font-size:12px;line-height:1.5}.bottomnav{display:none}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);background:var(--mint);color:var(--ink);border-radius:40px;padding:14px 23px;opacity:0;pointer-events:none;transition:.2s;z-index:100;font-size:13px;box-shadow:0 4px 30px #0003}#toast.show{opacity:1;transform:translate(-50%,0)}.intro-note{padding:12px 18px;border:1px solid #4c5640;border-radius:17px;display:flex;gap:9px;color:#b8c3a8;font-size:12px;line-height:1.5;margin-bottom:20px}.mobile-brand{display:none}.file-input{display:none}.trend{display:flex;align-items:flex-end;gap:6px;height:80px;max-width:190px}.trend i{flex:1;background:#71949b;border-radius:4px 4px 0 0;min-width:12px}.loading{padding:80px;text-align:center}.tabs{display:flex;gap:4px;border:1px solid #cdd5c1;border-radius:30px;padding:3px;width:max-content;margin-bottom:25px}.tabs button{border-radius:25px;background:transparent;color:#6f7c60;padding:8px 15px;font-size:12px}.tabs button.active{background:var(--ink);color:var(--paper)}.badge{font-size:10px;color:#747f65;margin-left:6px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.stat-note{font-size:12px;color:#7d876f;line-height:1.6}.install-steps{font-size:13px;line-height:1.7;color:#6e7a5f}.install-steps li{margin-bottom:8px}
@media(min-width:1450px){.main{padding-left:55px;padding-right:55px}.hero h2{font-size:46px}.hero-art{right:9%}}
@media(max-width:1150px){.sidebar{width:190px;padding:30px 17px}.main{margin-left:190px;padding:0 25px 35px}.grid,.lower{grid-template-columns:minmax(0,1.25fr) minmax(280px,1fr)}.hero h2{font-size:32px}.hero-art{right:-10px;transform:scale(.8) rotate(-12deg)}.card{padding:21px}.hero{padding:25px}.cards-grid{grid-template-columns:repeat(2,1fr)}.profile span:not(.avatar){display:none}}
@media(max-width:880px){.sidebar{width:85px;align-items:center;padding:30px 12px}.brand .brandtext,.nav span,.sidebar-bottom{display:none}.nav{margin-top:50px}.nav button{padding:14px}.main{margin-left:85px;padding:0 22px 30px}.grid,.lower{grid-template-columns:1fr 1fr}.hero h2{font-size:31px;max-width:75%;position:relative;z-index:1}.hero-art{opacity:.6;right:-40px}.metric{padding:16px}.metric .metric-icon{display:none}.metric strong{font-size:28px}.lower{grid-template-columns:1fr}.overview .big-number{font-size:73px}.topbar{height:87px}.topbar .breadcrumb{font-size:11px}h1{font-size:35px}.page-head{margin-top:29px}}
@media(max-width:600px){body{font-size:13px}.sidebar{display:none}.main{margin:0;padding:0 16px 110px}.topbar{height:80px;border:0}.breadcrumb{display:none}.mobile-brand{display:block}.brand{font-size:23px}.brandmark{font-size:29px}.top-right{gap:6px}.top-right>.subtle{display:none}.profile select{font-size:12px;max-width:86px}.profile .avatar{width:31px;height:31px}.page-head{margin:12px 0 25px;align-items:center}.page-head .eyebrow{font-size:9px;letter-spacing:1.4px;margin-bottom:9px}h1{font-size:35px}.page-head>.btn{width:45px;height:45px;padding:0;border-radius:50%;background:var(--mint)}.page-head>.btn span{display:none}.page-head>.btn svg{width:22px;height:22px}.grid{grid-template-columns:1fr;gap:11px}.hero{min-height:265px;padding:26px;border-radius:25px}.hero h2{font-size:39px;max-width:70%;line-height:1.08;margin-top:22px}.hero-art{opacity:1;right:0;top:42px;transform:scale(.88) rotate(-12deg)}.hero-footer{margin-top:21px}.overview{min-height:160px;padding:21px 24px}.overview-bottom{margin-top:10px}.overview .big-number{font-size:74px}.overview .card-top .tiny{font-size:10px}.overview-bottom p{max-width:180px}.mini-metrics{margin-top:0;gap:8px}.metric{display:block;border-radius:19px;padding:15px 12px}.metric strong{font-size:27px}.metric span{font-size:10px;line-height:1.4}.metric-icon{display:none!important}.lower{margin-top:24px;gap:11px}.card{padding:23px 20px}.hero{padding:26px}.section-head{margin-bottom:20px}.section-head h2{font-size:20px}.table td{padding:13px 4px;font-size:12px}.table th{padding:0 4px 12px;font-size:9px}.person{gap:7px}.ranknum{width:12px}.person .avatar{width:29px;height:29px;font-size:10px}.table .bartrack{width:46px}.bottomnav{position:fixed;bottom:0;left:0;right:0;display:flex;background:#20211ff5;backdrop-filter:blur(14px);border-top:1px solid #414638;padding:12px 16px calc(12px + env(safe-area-inset-bottom));z-index:20;justify-content:space-between;gap:4px}.bottomnav button{background:transparent;color:#8b957e;border-radius:30px;padding:10px 12px;display:flex;align-items:center;gap:7px}.bottomnav button span{display:none;font-size:11px}.bottomnav button.active{background:var(--paper);color:var(--ink)}.bottomnav button.active span{display:inline}.bottomnav svg{width:19px;height:19px}.filter-label{display:none}.filters{gap:6px;margin-bottom:17px}.select{font-size:11px;padding:10px 20px 10px 11px;max-width:48%}.cards-grid{grid-template-columns:1fr 1fr;gap:10px}.game-card{padding:20px 16px;min-height:220px;gap:20px}.game-card h2{font-size:23px;line-height:1.1}.game-card .round-arrow{right:14px;top:19px;width:28px;height:28px}.game-card .game-symbol{height:45px;width:43px;font-size:26px}.game-card footer{font-size:10px;display:block;line-height:1.7}.player-card{padding:20px 16px}.player-card h2{font-size:22px}.player-stats{gap:20px}.player-stats b{font-size:23px}.session{padding:14px 12px;gap:10px;flex-wrap:wrap}.session .game-symbol{width:35px;height:42px;font-size:24px}.session p{font-size:10px;line-height:1.5}.session .winner{font-size:10px;padding:7px 9px}.session .actions{width:100%;justify-content:flex-end;border-top:1px solid #e0e4d8;padding-top:8px}.search{width:100%;font-size:12px}.intro-note{font-size:11px}.two-col{grid-template-columns:1fr}.modal-inner{padding:23px 20px}.modal-head h2{font-size:22px}#toast{bottom:105px;width:max-content;max-width:90%;text-align:center}.game-row{padding:13px 0}.topbar>.mobile-brand .brandtext small{display:none}.settings .card{padding:24px 21px}.footnote{font-size:10px}.trend{height:60px}.hero .chip{font-size:10px;padding:6px 8px}}
@media(prefers-reduced-motion:no-preference){.page-body{animation:enter .35s ease both}@keyframes enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.btn,.game-card,.game-row{transition:transform .18s,filter .18s}.btn:hover,.game-card:hover{filter:brightness(.96);transform:translateY(-2px)}}
@media(max-width:600px){.bottomnav button{padding:10px 8px}}

@media(max-width:600px){.topbar{height:60px}.topbar .iconbtn{width:36px;height:36px}}
@media(max-width:600px) and (display-mode:standalone){.topbar{height:calc(60px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}}
