:root{--ink:#17211c;--muted:#68736d;--paper:#f5f6f2;--white:#fff;--green:#123f2c;--lime:#c8f15d;--line:#dfe4dc;--blue:#52a6ff;--gold:#f7d45b;--red:#e96252}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}.topbar{height:66px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;background:#10251c;color:white;position:sticky;top:0;z-index:5}.brand{display:flex;gap:10px;align-items:center}.brand .mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--lime);color:var(--green);font-weight:950;font-style:italic}.brand b{display:block;letter-spacing:-.4px}.brand small{font-size:9px;letter-spacing:1.5px;color:#9db1a7}.icon-btn{border:1px solid #3b5047;color:white;background:transparent;border-radius:10px;width:38px;height:38px;font-size:20px}main{max-width:800px;margin:auto;padding:16px 16px 95px}.view{display:none}.view.active{display:block}.scoreboard{background:var(--white);border:1px solid var(--line);border-radius:18px;display:grid;grid-template-columns:1fr 1.55fr 1fr;text-align:center;align-items:center;padding:14px 8px;margin-bottom:12px;box-shadow:0 5px 20px #183c2a0c}.team span,.game-state span{font-size:10px;letter-spacing:1.2px;color:var(--muted);font-weight:800}.team strong{font-size:36px;display:block;line-height:1}.game-state{border:solid var(--line);border-width:0 1px}.game-state b{font-size:17px;display:block;margin:4px}.game-state small{font-size:9px;font-weight:800;color:var(--green)}.field-card{background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden}.field-head{display:flex;justify-content:space-between;align-items:center;padding:11px 14px;font-size:10px;font-weight:900;letter-spacing:1.2px}.badge{background:#e2f7e9;color:#17683c;padding:5px 8px;border-radius:20px;font-size:9px}.field{height:250px;background-color:#2c744a;background-image:repeating-linear-gradient(90deg,transparent 0,transparent calc(10% - 1px),#ffffff42 10%);position:relative;overflow:hidden}.field:after{content:"";position:absolute;inset:12px 5%;border:1px solid #ffffff90;pointer-events:none}.endzone{position:absolute;top:0;bottom:0;width:5%;display:grid;place-items:center;writing-mode:vertical-rl;color:#ffffff90;font-size:9px;font-weight:900;letter-spacing:2px;background:#1b5637}.endzone.right{right:0;transform:rotate(180deg)}.yardnums{position:absolute;left:8%;right:8%;top:50%;display:flex;justify-content:space-between;transform:translateY(-50%);color:#ffffff54;font-weight:900;font-size:12px}.los,.first{position:absolute;top:0;bottom:0;width:3px;background:var(--blue);box-shadow:0 0 8px #147ee9;z-index:1}.first{background:var(--gold);box-shadow:none}.dot{position:absolute;width:35px;height:35px;border-radius:50%;background:var(--lime);border:3px solid white;display:grid;place-items:center;color:#163522;font-weight:900;font-size:11px;z-index:2;box-shadow:0 3px 7px #0005;transform:translate(-50%,-50%)}.field-key{padding:10px 14px;display:flex;gap:16px;color:var(--muted);font-size:10px}.field-key i{width:8px;height:8px;border-radius:50%;display:inline-block}.blue{background:var(--blue)}.gold{background:var(--gold)}.section-title{display:flex;align-items:center;justify-content:space-between;margin:20px 2px 10px;font-weight:850}.section-title small{color:var(--muted);font-weight:500}.section-title button{border:0;background:transparent;color:var(--green);font-weight:800}.play-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.play-actions button{border:1px solid var(--line);background:white;border-radius:15px;padding:14px 5px;color:var(--ink)}.play-actions span{font-size:22px;color:var(--green);height:30px;display:block}.play-actions b{display:block;font-size:13px}.play-actions small{display:block;color:var(--muted);font-size:9px;margin-top:4px}.last-play{padding:14px;background:white;border-radius:14px;border:1px solid var(--line);font-size:13px}.last-play b{display:block;margin-bottom:3px}.page-title{display:flex;align-items:center;justify-content:space-between;margin:8px 2px 20px}.page-title small{color:var(--green);font-size:10px;font-weight:900;letter-spacing:1.5px}.page-title h1{margin:2px 0;font-size:27px;letter-spacing:-1px}.primary{border:0;background:var(--green);color:white;border-radius:12px;padding:13px 16px;font-weight:800}.primary.small{font-size:12px}.notice{background:#e8efda;padding:13px;border-radius:13px;font-size:12px;display:flex;flex-wrap:wrap;gap:5px}.notice span{margin-left:auto;color:var(--green)}h3{font-size:13px;margin:22px 2px 9px}h3 span{float:right;color:var(--muted);font-weight:500}.player-list{display:grid;gap:8px}.player-row{display:flex;align-items:center;padding:11px;background:white;border:1px solid var(--line);border-radius:14px;gap:11px}.avatar{width:40px;height:40px;background:var(--green);color:var(--lime);border-radius:12px;display:grid;place-items:center;font-weight:900}.player-info{flex:1}.player-info b,.player-info small{display:block}.player-info small{color:var(--muted);font-size:10px;margin-top:3px}.quarters{font-size:10px;text-align:right;color:var(--muted)}.quarters b{color:var(--green);display:block;font-size:13px}.sub-btn{border:1px solid var(--line);background:white;border-radius:9px;padding:8px;font-weight:800;color:var(--green)}.stat-summary{display:grid;grid-template-columns:repeat(3,1fr);background:var(--green);color:white;border-radius:16px;padding:18px 8px;text-align:center}.stat-summary div+div{border-left:1px solid #ffffff25}.stat-summary b{display:block;color:var(--lime);font-size:24px}.stat-summary span{font-size:9px;color:#b7c7c0}.stats-table{overflow:auto;margin-top:15px;background:white;border-radius:15px;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;font-size:11px;min-width:560px}th,td{padding:12px 9px;text-align:center;border-bottom:1px solid var(--line)}th{color:var(--muted);font-size:9px}th:first-child,td:first-child{text-align:left;position:sticky;left:0;background:white}.history-list{display:grid;gap:9px}.history-item{background:white;border:1px solid var(--line);padding:14px;border-radius:14px;display:flex;gap:10px;align-items:center}.play-icon{width:35px;height:35px;border-radius:10px;background:#e8efda;display:grid;place-items:center}.history-item div:nth-child(2){flex:1}.history-item b,.history-item small{display:block}.history-item small{color:var(--muted);margin-top:3px}.edit{border:0;background:transparent;color:var(--green);font-weight:800}nav{position:fixed;bottom:0;left:0;right:0;height:72px;background:white;border-top:1px solid var(--line);display:flex;justify-content:center;z-index:10;padding-bottom:env(safe-area-inset-bottom)}nav button{width:min(25%,180px);border:0;background:transparent;color:#7f8984;font-size:10px;font-weight:700}nav span{display:block;font-size:20px;height:28px}nav .active{color:var(--green)}.sheet-wrap{position:fixed;inset:0;z-index:30;display:none}.sheet-wrap.open{display:block}.scrim{position:absolute;inset:0;background:#07130db5}.sheet{position:absolute;left:0;right:0;bottom:0;max-height:88vh;overflow:auto;background:var(--paper);border-radius:24px 24px 0 0;padding:8px 18px calc(22px + env(safe-area-inset-bottom));max-width:800px;margin:auto}.handle{width:38px;height:4px;background:#bac2bd;border-radius:5px;margin:2px auto 16px}.sheet h2{margin:0 0 4px}.sheet .hint{color:var(--muted);font-size:12px;margin-bottom:17px}.choices{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.choice{border:1px solid var(--line);background:white;border-radius:13px;padding:12px;text-align:left}.choice.selected{border:2px solid var(--green);background:#eff7e2}.choice b,.choice small{display:block}.choice small{font-size:10px;color:var(--muted);margin-top:3px}.steps{display:flex;gap:4px;margin-bottom:18px}.steps i{height:4px;background:#d5dad5;flex:1;border-radius:4px}.steps i.done{background:var(--green)}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.result-grid button{padding:13px 4px;border:1px solid var(--line);border-radius:12px;background:white;font-weight:750}.form-row{margin:14px 0}.form-row label{display:block;font-size:11px;font-weight:800;margin-bottom:6px}.form-row input,.form-row select{width:100%;padding:14px;border:1px solid var(--line);background:white;border-radius:12px;font:inherit}.save{width:100%;padding:15px;border:0;border-radius:13px;background:var(--green);color:white;font-weight:900;margin-top:10px}.danger{color:var(--red)}@media(min-width:650px){.field{height:330px}.sheet{bottom:16px;border-radius:24px;max-width:580px}.sheet-wrap{padding:16px}.play-actions button{padding:18px}}
