:root{--bg: var(--tg-theme-bg-color, #ffffff);--page: var(--tg-theme-secondary-bg-color, #f2f2f7);--text: var(--tg-theme-text-color, #1c1c1e);--hint: var(--tg-theme-hint-color, #8e8e93);--link: var(--tg-theme-link-color, #007aff);--accent: var(--tg-theme-button-color, #007aff);--accent-text: var(--tg-theme-button-text-color, #ffffff);--danger: var(--tg-theme-destructive-text-color, #ff3b30);--ok: #34a853;--ok-text: #1e7e34;--warn: #e6a100;--warn-text: #9a6b00;--hint-strong: color-mix(in srgb, var(--text) 65%, var(--page));--link-strong: color-mix(in srgb, var(--link) 78%, var(--text));--radius: 14px;--maxw: 480px}[data-theme=dark]{--ok: #30d158;--ok-text: #30d158;--warn: #ffd60a;--warn-text: #ffd60a}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,system-ui,sans-serif;background:var(--page);color:var(--text);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}#root{min-height:100dvh}button{font:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.app{max-width:var(--maxw);margin:0 auto;min-height:100dvh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:center;height:52px;padding:0 12px;background:var(--page)}.topbar-title{font-size:16px;font-weight:600;margin:0}.back{position:absolute;left:6px;width:44px;height:44px;font-size:30px;line-height:1;color:var(--link);display:flex;align-items:center;justify-content:center}.content{flex:1;padding-bottom:calc(76px + env(safe-area-inset-bottom))}.tabbar{position:fixed;left:50%;transform:translate(-50%);bottom:0;width:100%;max-width:var(--maxw);display:flex;background:var(--page);padding:6px 8px calc(6px + env(safe-area-inset-bottom));gap:6px}.tabbtn{flex:1;padding:9px 4px;border-radius:12px;font-size:14px;font-weight:500;color:color-mix(in srgb,var(--text) 78%,var(--page));background:transparent}.tabbtn.active{background:color-mix(in srgb,var(--link) 12%,transparent);color:var(--link-strong);font-weight:600}.page-pad{padding:12px 14px 20px}.stack{display:flex;flex-direction:column;gap:10px}.center-col{display:flex;flex-direction:column;align-items:center;gap:14px;padding-top:40px}.center-col.full{flex:1;justify-content:center}.card{background:var(--bg);border-radius:var(--radius);padding:14px 16px;text-align:left;width:100%}.card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.card-title{font-size:16px;font-weight:600}.round{font-size:13px;font-weight:600;color:var(--hint-strong);letter-spacing:.01em}.match-date{font-size:14px;color:var(--hint-strong);margin-bottom:10px}.players{text-align:center;padding:4px 0 8px}.player{font-size:18px;font-weight:600;line-height:1.3}.vs{font-size:12px;margin:2px 0}.card-foot{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:8px;padding-top:10px}.mypred{font-size:13.5px;color:var(--hint);line-height:1.35}.foot-left{display:flex;flex-direction:column;gap:3px;min-width:0}.player.tbd{color:var(--hint-strong);font-weight:500;font-size:16.5px}.cta{color:var(--link-strong);font-weight:600;font-size:15px}.hint-inline{color:var(--hint-strong);font-size:14.5px}.count{font-size:12.5px;color:var(--hint-strong);white-space:nowrap;font-variant-numeric:tabular-nums}.my-points{font-size:19px;font-weight:700;color:var(--link);font-variant-numeric:tabular-nums}.my-points .of,.lb-pts-label{font-size:12px;font-weight:500;color:var(--hint)}.footnote{font-size:13px;color:var(--hint-strong);text-align:center;margin:6px 0 0}.hint{color:var(--hint);font-size:14.5px;margin:8px 0 0;text-align:center}.chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:12.5px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.chip:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.chip.ok{color:var(--ok-text);background:color-mix(in srgb,var(--ok) 15%,transparent)}.chip.warn{color:var(--warn-text);background:color-Mix(in srgb,var(--warn) 16%,transparent)}.chip.info{color:var(--link-strong);background:color-mix(in srgb,var(--link) 12%,transparent)}.chip.hint{color:var(--hint);background:color-mix(in srgb,var(--hint) 14%,transparent)}.chip.bad{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent)}.btn{display:flex;align-items:center;justify-content:center;gap:6px;min-height:48px;padding:12px 18px;border-radius:12px;background:var(--accent);color:var(--accent-text);font-size:16px;font-weight:600;text-decoration:none;transition:transform .08s ease,opacity .12s ease}.btn:active{transform:scale(.98)}.btn[disabled]{opacity:.45;cursor:default;transform:none}.btn.secondary{background:var(--page);color:var(--link)}.btn.danger{background:transparent;color:var(--danger);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--danger) 45%,transparent)}.btn.small{min-height:40px;padding:8px 14px;font-size:14px}.btn.big{min-height:54px;font-size:17px}.btn-row{display:flex;gap:10px;margin-top:12px}.btn-row .btn{flex:1}.btn-row.col{flex-direction:column}.btn-row.nums{gap:10px;align-items:flex-end}.btn-row.nums .field{flex:1}.save-area{display:flex;flex-direction:column;gap:8px}.linklike{color:var(--hint);font-size:14px;text-decoration:underline}.q-title{font-size:16px;font-weight:600;margin-bottom:10px}.q-hint{font-size:13px;color:var(--hint);margin-top:10px;line-height:1.4}.q-hint.center{text-align:center}.winner-row{display:flex;flex-direction:column;gap:8px}.winner-btn{min-height:52px;padding:12px 16px;border-radius:12px;background:var(--page);font-size:16.5px;font-weight:600;text-align:center;transition:transform .08s ease}.winner-btn:active{transform:scale(.98)}.winner-btn.sel{background:var(--accent);color:var(--accent-text)}.stepper{display:flex;align-items:center;gap:10px}.step-btn{width:46px;height:46px;border-radius:12px;background:var(--page);font-size:24px;font-weight:600;display:flex;align-items:center;justify-content:center}.step-btn:active{transform:scale(.95)}.step-input{flex:1;height:50px;text-align:center;font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text);background:transparent;border:none;border-bottom:2px solid color-mix(in srgb,var(--hint) 35%,transparent)}.step-input:focus{outline:none;border-bottom-color:var(--accent)}.step-input:disabled{opacity:.6}.readonly-answers{display:flex;flex-direction:column;gap:6px;font-size:15.5px}.score-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0}.score-row+.score-row{border-top:1px solid color-mix(in srgb,var(--hint) 22%,transparent)}.score-title{font-size:14.5px;font-weight:600}.score-vals{font-size:13px;color:var(--hint);margin-top:2px}.score-pts{font-size:20px;font-weight:700;color:var(--hint);font-variant-numeric:tabular-nums;min-width:34px;text-align:right}.score-pts.hit{color:var(--ok-text)}.result-banner{background:color-mix(in srgb,var(--link) 10%,transparent);color:var(--text);border-radius:var(--radius);padding:12px 16px;font-size:15px}.result-banner.in-card{margin-top:10px}.reveal-row{position:relative}.reveal-name{font-size:15.5px;font-weight:600;padding-right:44px}.reveal-answers{font-size:13.5px;color:var(--hint);margin-top:3px;padding-right:44px}.reveal-pts{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:19px;font-weight:700;color:var(--hint);font-variant-numeric:tabular-nums}.reveal-pts.hit{color:var(--ok-text)}.lb-meta{font-size:14px;color:var(--hint);text-align:center;padding:2px 8px}.lb-row{display:flex;align-items:center;gap:12px}.place{width:30px;height:30px;border-radius:50%;background:var(--page);color:var(--hint);font-size:14.5px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-variant-numeric:tabular-nums}.place.top{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--link)}.place.top.first{background:var(--accent);color:var(--accent-text)}.lb-name{flex:1;font-size:15.5px;font-weight:600;min-width:0}.lb-sub{font-size:12.5px;font-weight:400;color:var(--hint);margin-top:1px}.lb-pts{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:4px}.rules-list{margin:8px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:7px;font-size:15px;line-height:1.45}.rule-pts{margin-top:8px;display:flex;flex-direction:column}.rule-row{display:flex;justify-content:space-between;align-items:baseline;padding:7px 0;font-size:15px}.rule-row+.rule-row{border-top:1px solid color-mix(in srgb,var(--hint) 22%,transparent)}.rule-row b{font-variant-numeric:tabular-nums;font-size:15.5px}.admin-card.voided{opacity:.75}.admin-sep{height:1px;background:color-mix(in srgb,var(--hint) 22%,transparent);margin:14px 0}.field{display:flex;flex-direction:column;gap:5px;margin-top:10px}.field>span{font-size:13px;color:var(--hint);font-weight:500}.field input,.field select{height:46px;border-radius:10px;border:1.5px solid color-mix(in srgb,var(--hint) 35%,transparent);background:var(--bg);color:var(--text);font-size:16px;padding:0 12px;font-variant-numeric:tabular-nums}.field input:focus,.field select:focus{outline:none;border-color:var(--accent)}.field-hint{font-size:13px;color:var(--hint);margin-top:8px;line-height:1.4}.admin-preds{display:flex;flex-direction:column;gap:2px;margin-top:6px}.admin-pred{display:flex;align-items:baseline;gap:8px;padding:7px 0;font-size:14px}.admin-pred+.admin-pred{border-top:1px solid color-mix(in srgb,var(--hint) 20%,transparent)}.ap-name{font-weight:600;flex:1;min-width:0}.ap-vals{color:var(--hint);font-variant-numeric:tabular-nums}.ap-pts{width:30px;text-align:right;font-weight:700;color:var(--hint);font-variant-numeric:tabular-nums}.ap-pts.hit{color:var(--ok-text)}.copy-row{display:flex;gap:8px;margin-top:10px}.copy-row input{flex:1;min-width:0;height:44px;border-radius:10px;border:1.5px solid color-mix(in srgb,var(--hint) 35%,transparent);background:var(--bg);color:var(--text);font-size:13px;padding:0 10px;font-family:ui-monospace,SF Mono,Menlo,monospace}.error-box{background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger);border-radius:10px;padding:10px 14px;font-size:14px;width:100%}.toast{position:fixed;bottom:calc(88px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);background:color-mix(in srgb,var(--text) 88%,transparent);color:var(--bg);padding:10px 18px;border-radius:12px;font-size:14.5px;font-weight:500;z-index:50;max-width:calc(100vw - 40px);text-align:center}.spinner{width:28px;height:28px;border-radius:50%;border:3px solid color-mix(in srgb,var(--hint) 30%,transparent);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.splash{align-items:center;justify-content:center}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
