@font-face{font-family:TrackerFallback;src:local("Inter"),local("Segoe UI")}*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:#090e16;color:#edf1f7;font-family:TrackerFallback,system-ui,-apple-system,sans-serif;font-size:15px;-webkit-tap-highlight-color:transparent}button,input,summary,a{touch-action:manipulation}button,input{font:inherit}button,a,input,summary{outline-offset:5px}button{cursor:pointer;border:0;color:inherit}button:disabled{opacity:.45;cursor:default}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid #ffaa55}button:hover:not(:disabled){filter:brightness(1.13)}[hidden]{display:none!important}h1,h2,p{margin:0}p{line-height:1.6;color:#9ba8bb}small{font-size:11px;letter-spacing:.08em}.home{max-width:820px;margin:auto;padding:0 26px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:26px 0;border-bottom:1px solid #ffffff0d}.brand{display:flex;gap:13px;align-items:center}.brand img{width:38px;height:38px;object-fit:contain}.brand>span{font-weight:800;letter-spacing:.13em;font-size:12px}.brand small{display:block;color:#79869c;font-size:9px;margin-top:4px;letter-spacing:.15em}.icon-button{background:transparent;border:1px solid #ffffff12;border-radius:12px;width:42px;height:42px;display:grid;place-content:center;font-size:23px;flex:none}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.17em;color:#8190a6}.signal{display:inline-block;width:7px;height:7px;border-radius:50%;background:#eea358;box-shadow:0 0 12px #ed994444;margin-right:5px}.intro{padding:50px 0 28px}.intro h1{font-size:clamp(32px,7vw,54px);line-height:1.13;letter-spacing:-.04em;margin:18px 0}.intro em{color:#efa358;font-style:normal}.intro>p{font-size:14px}.card{background:#101824;border:1px solid #233042;border-radius:19px;margin-bottom:15px}.profile-card{display:flex;align-items:center;gap:14px;padding:19px 22px}.profile-mark{width:44px;height:44px;border:1px solid #e29d4c38;border-radius:13px;display:grid;place-content:center;background:#261f1b;color:#e8a65d;font-size:30px}.profile-card small{font-size:9px;color:#8490a2}.profile-card h2{font-size:18px;overflow-wrap:anywhere;margin-top:5px}.profile-card .text-button{margin-left:auto}.text-button{background:none;color:#e6a868;padding:8px;font-size:12px;font-weight:600}.discovery-card{padding:26px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.badge{border:1px solid #374150;border-radius:6px;padding:5px 7px;font-size:8px;letter-spacing:.1em;color:#8998ab}.discovery-card h2{font-size:24px;letter-spacing:-.03em;margin-bottom:10px}.discovery-card>p{font-size:13px;margin-bottom:21px}.primary,.secondary{display:flex;align-items:center;justify-content:center;gap:16px;padding:15px 20px;min-height:48px;font-size:13px;font-weight:700;border-radius:11px;width:100%;background:#e8a25a;color:#17130f}.primary span{margin-left:auto;font-size:19px}.secondary{border:1px solid #344055;background:#172130;color:#d6e0ed;margin-top:12px}details{font-size:12px;margin-top:20px}summary{color:#9aa9bd;cursor:pointer;padding:6px 0}label{display:block;margin:18px 0 8px;font-size:12px;color:#bec9d8}input{width:100%;background:#090f18;border:1px solid #354053;border-radius:10px;color:white;padding:15px 13px;min-width:0}input::placeholder{color:#586880}form>.primary{margin-top:18px}.home-notes{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:20px 7px}.home-notes>div{display:flex;gap:12px}.home-notes>div>span{font-size:10px;color:#9a764d;font-weight:bold;padding-top:3px}.home-notes p{font-size:11px}.home-notes strong{display:block;color:#bdc8d9;font-size:12px;margin-bottom:4px}footer{font-size:10px;padding:20px 0 32px;text-align:center}footer p{font-size:10px;color:#657288}footer a{display:inline-block;padding-top:13px;color:#acb7c8}.match-list:empty{display:none}.match-choice,.player-choice{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;padding:15px;background:#192536;border:1px solid #34485e;border-radius:11px;margin:10px 0;gap:15px}.match-choice small,.player-choice small{display:block;color:#8294ac;margin-top:5px;letter-spacing:0}.match-choice b,.player-choice b{font-size:20px;color:#e8a25a}.loading .signal{animation:pulse 1s ease infinite}@keyframes pulse{50%{opacity:.25}}
.tracker{height:100dvh;min-height:520px;display:grid;grid-template-rows:minmax(0,1fr) 68px minmax(0,1fr);overflow:hidden;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);background:#090e16}.player-panel{position:relative;display:flex;flex-direction:column;justify-content:center;padding:24px max(22px,calc((100vw - 770px)/2));overflow:hidden;--accent:#edaa66}.player-panel:before{content:"";position:absolute;pointer-events:none;inset:0;opacity:.8;background:radial-gradient(ellipse at 100% 80%,#55371e38,transparent 70%)}.opponent{background:#101b29;--accent:#81b9d7}.opponent:before{background:radial-gradient(ellipse at 100% 80%,#31618338,transparent 70%)}.self{background:#191711}.opponent.rotated{transform:rotate(180deg)}.player-identity{display:flex;gap:13px;align-items:center;position:relative;min-height:48px}.player-identity img,.avatar-fallback{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid #ffffff23;flex:none}.avatar-fallback{display:grid;place-content:center;background:#ffffff0a;color:var(--accent);font-size:30px}.player-identity>div:not(.wins){min-width:0}.player-identity small{color:var(--accent);font-size:8px;font-weight:700;letter-spacing:.2em}.player-identity h2{font-size:clamp(16px,4vw,23px);margin:3px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:58vw}.player-identity p{font-size:10px;color:#97a0ad}.wins{display:flex;gap:6px;margin-left:auto}.pip{width:10px;height:10px;border:1px solid #ffffff35;border-radius:3px;transform:rotate(45deg)}.pip.won{background:var(--accent);border-color:var(--accent)}.score-row{position:relative;display:grid;grid-template-columns:56px 1fr 75px;align-items:center;gap:10px;flex:1;max-height:220px;min-height:80px}.score{background:transparent;min-height:80px;height:100%;touch-action:none;user-select:none;-webkit-user-select:none;color:#f4f4ed;display:flex;flex-direction:column;justify-content:center;align-items:center}.score>span{font-size:clamp(66px,15dvh,140px);font-weight:800;letter-spacing:-.07em;font-variant-numeric:tabular-nums;line-height:.95;text-shadow:0 4px 45px #0003}.score>small{display:flex;align-items:center;gap:12px;font-size:8px;color:#9ca5b0;letter-spacing:.2em;margin-top:9px}.score small b{font-size:18px;color:var(--accent)}.minus{height:49px;width:49px;background:#ffffff06;border:1px solid #ffffff1a;border-radius:50%;color:var(--accent);font-size:31px}.game-win{background:transparent;border:1px solid #ffffff15;border-radius:12px;text-align:left;padding:11px;font-size:10px;color:#b2bac2;line-height:1.5}.game-win span{display:block;color:var(--accent);font-size:19px}.tap-hint{position:relative;text-align:center;color:#727d89;font-size:9px;letter-spacing:.025em}.tap-hint span{margin:0 9px}.match-bar{z-index:2;display:flex;align-items:center;justify-content:center;gap:16px;background:#090f18;border-top:1px solid #34404c;border-bottom:1px solid #34404c;padding:10px 16px}.match-bar .icon-button{width:31px;height:33px;font-size:22px;border:0}.match-info{background:none;text-align:left;min-width:0;padding:0}.match-info strong{display:block;font-size:9px;letter-spacing:.1em;color:#c3ccd8}.match-info span{font-size:10px;color:#6f8399;display:block;margin-top:5px}.clock{text-align:center;padding:0 14px;border-left:1px solid #ffffff12;border-right:1px solid #ffffff12}.clock strong{font-family:monospace;font-size:19px;letter-spacing:-.05em}.clock small{display:block;font-size:6px;letter-spacing:.12em;color:#758399;margin-top:3px}.sync-button{padding:5px 0;background:none;display:flex;align-items:center;font-size:10px;color:#9dacc0;white-space:nowrap}.signal.online{background:#78c499;box-shadow:0 0 10px #78c49933}.signal.offline{background:#8191a3;box-shadow:none}.complete-banner,.offline-banner{position:fixed;z-index:3;background:#111d2d;border:1px solid #41607c;border-radius:10px;padding:10px 14px;left:50%;transform:translateX(-50%);bottom:calc(14px + env(safe-area-inset-bottom));width:max-content;max-width:92vw;box-shadow:0 10px 50px #0006;font-size:12px}.complete-banner{display:flex;align-items:center;gap:15px}.offline-banner{font-size:10px;color:#f1bd83;pointer-events:none;bottom:calc(4px + env(safe-area-inset-bottom));padding:5px 12px}
dialog{max-height:90dvh;overflow:auto;width:calc(100% - 30px);max-width:470px;background:#111a27;color:#e4eaf3;border:1px solid #354157;border-radius:23px;padding:27px;box-shadow:0 24px 100px #0009}dialog::backdrop{background:#03070dc9;backdrop-filter:blur(6px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.dialog-head .icon-button{border:0;font-size:27px;width:30px;height:30px}dialog h2{font-size:27px;line-height:1.15;letter-spacing:-.035em;margin:13px 0}dialog p{font-size:12px;margin:13px 0}dialog .fine-print{font-size:10px;color:#7c8da4;line-height:1.6;margin-top:20px}.error{color:#ffac9c!important;font-size:12px}.error:empty{display:none}.player-results{margin-top:15px}.setting-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;background:none;border-bottom:1px solid #ffffff0c;text-align:left;font-size:13px;margin:0;color:#dce3ec}.setting-row small{display:block;letter-spacing:0;font-size:10px;color:#7b8aa1;margin-top:6px;line-height:1.4}.setting-row input{width:19px;height:19px;flex:none;accent-color:#e5a564}.setting-row b{color:#b58c5c;font-size:20px}.setting-row.danger{color:#ccaba5}.code-card{text-align:center;padding:22px;background:#090f18;border:1px dashed #5d4a36;border-radius:12px;margin-top:20px}.code-card strong{display:block;font-family:monospace;font-size:38px;letter-spacing:.1em;color:#f1b675}.code-card small{display:block;color:#899bb0;font-size:10px;letter-spacing:0;margin-top:10px}.divider{display:flex;align-items:center;gap:10px;margin-top:26px;color:#63748c;font-size:9px}.divider:before,.divider:after{content:"";height:1px;background:#ffffff12;flex:1}#join-code{text-align:center;text-transform:uppercase;font-family:monospace;letter-spacing:.15em;font-size:21px}.dialog-actions{display:flex;gap:12px;align-items:stretch;margin-top:25px}.dialog-actions .secondary{margin:0}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);padding:13px 20px;max-width:92vw;width:max-content;color:#e1e8f3;background:#24364a;border:1px solid #43566e;box-shadow:0 8px 40px #0008;border-radius:12px;z-index:10;font-size:12px}.shake{animation:shake .2s ease}@keyframes shake{50%{transform:scale(.97)}}
@media(max-width:470px){.home{padding:0 20px}.topbar{padding:22px 0}.intro{padding:36px 0 25px}.discovery-card{padding:22px}.home-notes{grid-template-columns:1fr;gap:18px}.profile-card{padding:18px}.match-bar{gap:8px;padding:10px 8px}.clock{padding:0 9px}.match-info strong{font-size:8px}.sync-button{font-size:9px}.player-panel{padding:17px 23px}.player-identity img,.avatar-fallback{width:44px;height:44px}.score-row{grid-template-columns:46px 1fr 65px}.game-win{font-size:9px;padding:9px}.minus{width:43px;height:43px}}
@media(max-height:680px) and (orientation:portrait){.tracker{min-height:480px;grid-template-rows:minmax(0,1fr) 60px minmax(0,1fr)}.player-panel{padding:12px 22px}.player-identity img,.avatar-fallback{width:36px;height:36px}.player-identity h2{font-size:16px}.score>span{font-size:80px}.tap-hint{font-size:8px}}
@media(min-width:740px) and (orientation:landscape){.tracker{min-height:370px;grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr) 70px}.opponent{grid-column:2;grid-row:1}.self{grid-column:1;grid-row:1}.match-bar{grid-column:1/3;grid-row:2;gap:30px}.opponent.rotated{transform:none}.player-panel{padding:40px clamp(24px,4vw,90px)}.score-row{max-height:400px}.score>span{font-size:clamp(130px,28dvh,240px)}.player-identity h2{max-width:28vw}.player-identity{margin-bottom:25px}.complete-banner{bottom:82px}.offline-banner{bottom:72px}.clock{padding:0 30px}.match-info strong{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}
@media(min-width:740px) and (max-height:500px) and (orientation:landscape){.player-panel{padding:20px 34px}.player-identity{margin-bottom:12px}.score>span{font-size:clamp(80px,28dvh,120px)}.tap-hint{margin-top:12px}}
