:root{--grass-a:#3f8d45;--grass-b:#357a3b;--grass-deep:#2f6b34;--chalk:#f7f5ec;--cream:#f6efdf;--card:#fffaf0;--accent:#7a1f2b;--accent-2:#9c3442;--ink:#1f2620;--muted:#5f6a5e;--gold:#d6a21e;--flag:#e7dccb;--sky:#cfe3ec;--stand:#8a9a86;--stand-roof:#58645a;--skin:#d9a77c;--ball:#efe6cf;--tee:#c8742c;--official:#e2d36a;--opposition:#2c3e66;--ref:#3a3a3a;--t1:#f2efe6;--t2:#3c78c8;--t3:#2f9b4b;--t4:#7b4bb3;--t5:#d6a21e;--t0:#b9332f;--radius:14px;--head:"Rockwell", "Roboto Slab", "Zilla Slab", "Cambria", "Times New Roman", serif;--body:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--grass-deep);color:var(--ink);font-family:var(--body);-webkit-text-size-adjust:100%;background-image:repeating-linear-gradient(#ffffff09 0 48px,#0000 48px 96px)}.app{flex-direction:column;max-width:520px;min-height:100vh;margin:0 auto;padding:0 12px 24px;display:flex}main{flex:1}.top{color:var(--chalk);justify-content:space-between;align-items:center;padding:14px 4px;display:flex}.brand{font-family:var(--head);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:8px;font-size:1.35rem;font-weight:800;display:flex}.logo{background:linear-gradient(var(--chalk), var(--chalk)) 4px 0 / 3px 22px no-repeat, linear-gradient(var(--chalk), var(--chalk)) 15px 0 / 3px 22px no-repeat, linear-gradient(var(--chalk), var(--chalk)) 4px 12px / 14px 3px no-repeat;width:22px;height:22px;display:inline-block}.meta{gap:12px;font-size:.95rem;font-weight:600;display:flex}.foot{color:#f7f5ecbf;text-align:center;padding:16px 8px 0;font-size:.75rem}.card{background:var(--card);border-radius:var(--radius);margin:10px 0;padding:18px 16px;box-shadow:0 2px #00000026}h1,h2,h3{font-family:var(--head);margin:0 0 8px;line-height:1.15}h1{font-size:1.6rem}h2{font-size:1.2rem}h3{font-size:1rem}.kicker-tag{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin:0 0 6px;font-size:.75rem;font-weight:700}.hero h1{text-transform:uppercase;letter-spacing:.04em;color:var(--accent);font-size:2.6rem}.pitchline{font-size:1.02rem;line-height:1.45}.howto{margin:12px 0 18px;padding-left:1.2em;line-height:1.5}.small{color:var(--muted);font-size:.82rem;line-height:1.4}.loading{color:var(--chalk);text-align:center;padding:40px 0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.btn{font:inherit;border:2px solid var(--accent);color:var(--accent);cursor:pointer;background:0 0;border-radius:10px;padding:10px 16px;font-weight:700}.btn.primary{background:var(--accent);color:var(--chalk)}.btn.primary:hover:not(:disabled){background:var(--accent-2)}.btn.big{width:100%;font-size:1.1rem;font-family:var(--head);letter-spacing:.03em;margin-top:8px;padding:14px}.btn.link{text-underline-offset:3px;border:0;padding:4px 0;text-decoration:underline}.btn:disabled{opacity:.45;cursor:default}:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:6px}.tees{justify-content:center;gap:8px;margin:4px 0 6px;padding:0;list-style:none;display:flex}.tee{background:#f7f5ec40;border:2px solid #f7f5ec99;border-radius:4px 4px 9px 9px;width:26px;height:18px}.tee.now{border-color:var(--gold);box-shadow:0 0 0 2px #d6a21e59}.tee.t0{background:var(--t0)}.tee.t1{background:var(--t1)}.tee.t2{background:var(--t2)}.tee.t3{background:var(--t3)}.tee.t4{background:var(--t4)}.tee.t5{background:var(--t5)}.prompt{font-size:1.35rem;font-weight:700}.prompt mark{color:inherit;background:linear-gradient(#0000 55%,#d6a21e8c 55%);padding:0 2px}.scope{color:var(--muted);margin:0 0 12px;font-size:.82rem;line-height:1.4}.comp{color:var(--muted)}.clock{background:#e6dfcd;border-radius:6px;height:12px;margin:6px 0 14px;position:relative;overflow:hidden}.clock-bar{background:var(--grass-a);transform-origin:0;transition:transform .1s linear;position:absolute;inset:0}.clock.low .clock-bar{background:var(--t0)}.clock-n{color:var(--ink);font-size:.7rem;font-weight:800;position:absolute;top:-2px;right:6px}.answer{gap:8px;display:flex}.answer input{min-width:0;font:inherit;background:#fff;border:2px solid #cbbfa3;border-radius:10px;flex:1;padding:12px;font-size:1.1rem}.answer input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #d6a21e80}.flash-zone{min-height:2.6em}.flash{border-radius:8px;margin:10px 0 0;padding:8px 10px;animation:.25s ease-out pop}.flash.miss{background:#f5d9d6}.flash.post{background:#f5ebcf}.flash.which{background:#dfe8f1}.attempts{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;font-size:.85rem;display:flex}.attempt{background:#eee6d4;border-radius:99px;padding:2px 8px;text-decoration:line-through}.error{color:var(--t0);font-weight:600}.mini-pitch{border-radius:10px;height:120px;margin-top:8px;overflow:hidden}.mini-pitch .pitch{height:120px}@keyframes pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}.stage{border-radius:10px;position:relative;overflow:hidden}.pitch{aspect-ratio:400/320;background:var(--sky);width:100%;height:auto;display:block}.banner{text-align:center;opacity:0;pointer-events:none;animation:.4s ease-out 1.8s forwards banner;position:absolute;top:34%;left:0;right:0}.banner.touchliner{animation-delay:2.15s}.banner.shotclock{animation-delay:.9s;top:auto;bottom:8%}.b-main{font-family:var(--head);color:var(--chalk);background:var(--accent);text-transform:uppercase;letter-spacing:.05em;border-radius:8px;padding:4px 14px;font-size:2rem;font-weight:900;display:inline-block}.banner.touchliner .b-main{background:var(--gold);color:var(--ink)}.b-sub{color:var(--chalk);text-shadow:0 1px 2px #0009;margin-top:6px;font-weight:800;display:block}@keyframes banner{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}.result-card{min-height:40px}.result-card.in{animation:.25s ease-out pop}.verdict{font-family:var(--head);color:var(--accent);margin:12px 0 4px;font-size:1.6rem;font-weight:900}.verdict.touchliner{color:#a87a0c}.verdict span{font-size:1.2rem}.answer-line{margin:4px 0;font-size:1.05rem}.said{color:var(--muted);margin:4px 0 8px}.pitch .scene{transform:translate(0)}.pitch.play .scene{animation:.45s ease-out forwards pan}@keyframes pan{to{transform:translateX(var(--pan))}}.pitch .ball-path{transform:translate(var(--sx), var(--sy)) scale(var(--ss))}.pitch.play .ball-path{animation:1.1s cubic-bezier(.25,.6,.4,1) .65s forwards fly}.pitch.play .ball-lift{animation:1.1s ease-in-out .65s forwards lift}.pitch .ball-spin{transform-box:fill-box;transform-origin:50%}.pitch.play .ball-spin{animation:.35s linear .65s 3 spin}@keyframes fly{to{transform:translate(var(--ex), var(--ey)) scale(var(--es))}}@keyframes lift{50%{transform:translateY(-46px)}to{transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.pitch .kicker{transform-box:fill-box;transform-origin:bottom}.pitch.play .kicker{animation:.3s ease-in .4s strike}@keyframes strike{50%{transform:translate(6px)rotate(8deg)}}.pitch .arm{transform-box:view-box}.pitch .arm.arm-up{animation:.35s ease-out 1.75s both flag-up}.pitch.out-touchliner .arm.arm-up{animation-delay:2.15s}@keyframes flag-up{0%{transform:rotate(0)}to{transform:rotate(180deg)}}.pitch.out-touchliner .ball-path,.pitch.out-touchliner .ball-lift{animation-duration:1.5s}.pitch.out-touchliner .ball-spin{animation-duration:.5s}.pitch.out-short .ball-lift{animation-name:lift-low}@keyframes lift-low{40%{transform:translateY(-30px)}to{transform:translateY(0)}}.pitch.out-hooked .ball-path{animation-timing-function:cubic-bezier(.6,.05,.3,1)}.pitch.out-post .ball-path{animation-name:fly-post}@keyframes fly-post{70%{transform:translate(var(--ex), var(--ey)) scale(var(--es))}to{transform:translate(var(--bx), var(--by)) scale(calc(var(--es) * 1.4))}}.pitch .posts-hit{transform-box:fill-box;transform-origin:bottom}.pitch.play .posts-hit{animation:.3s ease-in-out 1.42s 2 wobble}@keyframes wobble{25%{transform:rotate(1.2deg)}75%{transform:rotate(-1.2deg)}}.pitch.out-charged .ball-path{animation-duration:.5s;animation-delay:.75s}.pitch.out-charged .ball-lift{animation:.5s ease-out .75s forwards lift-block}@keyframes lift-block{30%{transform:translateY(-26px)}to{transform:translateY(6px)}}.pitch .chaser{transform:translate(var(--cx), var(--cy))}.pitch.play .chaser{animation:.55s ease-in .2s forwards chase}@keyframes chase{to{transform:translate(var(--tx), var(--ty))}}.pitch .ref{opacity:0}.pitch.play .ref{animation:.3s ease-out .4s forwards ref-in}@keyframes ref-in{to{opacity:1}}.mini-pitch .pitch.play .scene{animation:none}.mini-pitch .pitch.play .ball-path,.mini-pitch .pitch.play .ball-lift{animation-duration:.8s;animation-delay:.1s}.mini-pitch .pitch.play .ball-spin{animation-delay:.1s}.mini-pitch .pitch.play .kicker{animation-delay:0s}.mini-pitch .pitch.play .chaser{animation-duration:.4s;animation-delay:0s}.mini-pitch .pitch.out-charged .ball-path,.mini-pitch .pitch.out-charged .ball-lift{animation-delay:.35s}.mini-pitch .pitch.play .posts-hit{animation-delay:.65s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.banner{opacity:1}}.final{text-align:center}.score{justify-content:center;align-items:baseline;gap:8px;margin:4px 0;display:flex}.big-n{font-family:var(--head);color:var(--accent);font-size:4rem;font-weight:900;line-height:1}.of{color:var(--muted);font-weight:600}.title-earned{margin-top:6px;font-size:1.7rem}.title-line{color:var(--muted);margin:0 0 8px}.pct{font-weight:700}.chart{width:100%;max-width:360px;height:auto;margin:10px auto;display:block}.chart-label{fill:var(--chalk);font-size:10px;font-weight:700}.dot{stroke:var(--ink);stroke-width:1.5px}.dot.t1{fill:var(--t1)}.dot.t2{fill:var(--t2)}.dot.t3{fill:var(--t3)}.dot.t4{fill:var(--t4)}.dot.t5{fill:var(--t5)}.dot-n{text-anchor:middle;fill:var(--ink);font-size:11px;font-weight:800}.dot.t2+.dot-n,.dot.t3+.dot-n,.dot.t4+.dot-n{fill:#fff}.share-preview{text-align:left;white-space:pre-wrap;font-family:var(--body);background:#f2ead7;border-radius:10px;margin:10px 0 4px;padding:10px 12px;font-size:.92rem;line-height:1.5}.toast{background:var(--ink);color:var(--chalk);border-radius:8px;padding:8px 12px;display:inline-block}.report{margin:0;padding:0;list-style:none}.row{border-top:1px solid #e7dcc4;padding:10px 0}.row-head{align-items:center;gap:8px;display:flex}.row-head .tag{flex:1;font-weight:700}.pts{font-family:var(--head);font-size:1.2rem;font-weight:900}.pip{border:1.5px solid var(--ink);border-radius:50%;flex:none;width:14px;height:14px;display:inline-block}.pip.t0{background:var(--t0)}.pip.t1{background:var(--t1)}.pip.t2{background:var(--t2)}.pip.t3{background:var(--t3)}.pip.t4{background:var(--t4)}.pip.t5{background:var(--t5)}.row-answer{margin:4px 0 2px 22px}.row-actions{flex-wrap:wrap;align-items:center;gap:4px 14px;margin-left:22px;display:flex}.squad-panel{margin:6px 0 0 22px}.result-card .squad-panel{margin-left:0}.squad{margin:8px 0 0;font-size:.88rem;line-height:1.45}.squad-tier h3{align-items:center;gap:6px;margin:10px 0 2px;font-size:.9rem;display:flex}.squad-tier p{margin:0}.tmo{flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0 0 22px;font-size:.88rem;display:flex}.tmo input{min-width:140px;font:inherit;border:2px solid #cbbfa3;border-radius:8px;flex:1;padding:8px}.stats{grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0;display:grid}.stats div{text-align:center;background:#f2ead7;border-radius:10px;padding:8px}.stats dt{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.72rem}.stats dd{font-family:var(--head);margin:2px 0 0;font-size:1.3rem;font-weight:900}.next{font-weight:700}.countdown{font-variant-numeric:tabular-nums}.tl-list{padding-left:1.1em;line-height:1.6}.tag{color:var(--muted);font-size:.85rem}.test-banner{background:var(--gold);color:var(--ink);text-align:center;border-radius:8px;margin:0 0 6px;padding:6px 10px;font-size:.85rem;font-weight:700}.acct-btn{font:inherit;color:var(--ink);background:var(--chalk);cursor:pointer;border:0;border-radius:99px;padding:5px 12px;font-size:.85rem;font-weight:700}.acct-btn.in{background:var(--gold);place-items:center;width:30px;height:30px;padding:0;display:inline-grid}.acct-initial{font-family:var(--head);font-weight:900}.sheet-backdrop{z-index:50;background:#0f190f8c;justify-content:center;align-items:flex-end;padding:12px;display:flex;position:fixed;inset:0}.sheet{width:100%;max-width:480px;margin:0;padding-top:22px;animation:.2s ease-out pop;position:relative}@media (width>=600px){.sheet-backdrop{align-items:center}}.sheet-close{cursor:pointer;color:var(--muted);background:0 0;border:0;font-size:1.6rem;line-height:1;position:absolute;top:8px;right:10px}.sheet .btn{margin:6px 0}.btn.google{width:100%;color:var(--ink);background:#fff;border-color:#cbbfa3;justify-content:center;align-items:center;gap:10px;display:flex}.g-mark{font-family:var(--body);color:#3c78c8;font-weight:900}.email-form{flex-direction:column;gap:6px;margin-top:12px;font-size:.9rem;display:flex}.email-form input{font:inherit;border:2px solid #cbbfa3;border-radius:8px;padding:10px}.btn.danger{color:var(--t0)}.btn.danger-fill{background:var(--t0);border-color:var(--t0);color:#fff}.save-card{border:2px dashed var(--gold)}.save-card h2{margin-bottom:4px}.foot a{color:inherit}.privacy{line-height:1.55}.privacy h1{font-size:1.8rem}.privacy h2{margin-top:18px;font-size:1.15rem}.privacy h3{margin-top:12px;font-size:1rem}.privacy ul{padding-left:1.2em}.privacy li{margin:4px 0}.placeholder{background:#ffe9a8;border-radius:4px;padding:0 4px}.admin-head{justify-content:space-between;align-items:center;display:flex}.admin .stats{grid-template-columns:repeat(auto-fit,minmax(90px,1fr))}.table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.9rem}.admin-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:2px solid #e7dcc4;padding:6px 8px;font-size:.72rem}.admin-table td{white-space:nowrap;border-bottom:1px solid #efe6d3;padding:6px 8px}.admin-table tr.sel td{background:#f6edd6}.admin-table tbody tr{cursor:pointer}.bar-num{min-width:2ch;display:inline-block}.mini-bar{background:var(--grass-a);vertical-align:middle;border-radius:4px;height:8px;margin-left:6px;display:inline-block}.admin-qs{margin:0;padding:0;list-style:none}.admin-qs li{border-top:1px solid #e7dcc4;padding:10px 0}.aq-head{justify-content:space-between;gap:8px;display:flex}.tier-bar{background:#ece3cf;border-radius:7px;height:14px;margin:6px 0;display:flex;overflow:hidden}.tier-bar .seg{border-right:1px solid #fff9;height:100%;display:block}.seg.t0{background:var(--t0)}.seg.t1{background:#d8d2c2}.seg.t2{background:var(--t2)}.seg.t3{background:var(--t3)}.seg.t4{background:var(--t4)}.seg.t5{background:var(--t5)}.top-answers{flex-wrap:wrap;gap:6px;margin:6px 0 0;display:flex}.chip{background:#f2ead7;border-radius:99px;align-items:center;gap:5px;padding:2px 10px 2px 6px;font-size:.82rem;display:inline-flex}.chip .pip{width:10px;height:10px}.tmo-list{padding-left:1.1em;line-height:1.6}.loading-dark{color:var(--muted)}.btn.x-share{text-align:center;color:#fff;background:#111;border-color:#111;text-decoration:none;display:block}.btn.x-share:hover{background:#2a2a2a}
