@import "https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=DM+Sans:wght@400;500;600;700;800&display=swap";:root{--navy:#132746;--blue:#315bfa;--lime:#d2f56a;--muted:#778395;--line:#e5e9ef;--bg:#f6f7fa}*{box-sizing:border-box}body{background:var(--bg);color:var(--navy);margin:0;font-family:DM Sans,sans-serif;font-size:14px}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;touch-action:manipulation;background:0 0;border:0}button:disabled{opacity:.45;cursor:not-allowed}:is(button:focus-visible,a:focus-visible){outline-offset:3px;outline:3px solid #80a7ff}a{color:inherit;text-decoration:none}header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;max-width:760px;height:84px;margin:auto;padding:20px 24px;display:flex}.brand{letter-spacing:1.7px;align-items:center;gap:11px;font-size:18px;font-weight:900;display:flex}.brand>div>span{letter-spacing:.5px;margin-top:3px;font-size:10px;font-weight:500;display:block}.crest{letter-spacing:-1px;border:2px solid var(--navy);text-align:center;border-radius:50% 50% 45% 45%;width:43px;height:46px;padding-top:3px;font-family:serif;font-size:23px}.crest small{letter-spacing:.4px;font:6px sans-serif;display:block}.season{letter-spacing:1px;color:var(--muted);font-size:9px}main{max-width:720px;margin:auto;padding:30px 24px 110px}h1,h2,h3,p{margin:0}h1{letter-spacing:-1.4px;font-family:Barlow Condensed,Impact,sans-serif;font-size:48px;font-weight:800;line-height:1.02}h2{letter-spacing:-.6px;font-size:20px}h3{letter-spacing:-.4px;font-size:17px}p{color:var(--muted);line-height:1.6}.eyebrow,.page-title>span{letter-spacing:1.7px;color:var(--blue);align-items:center;gap:8px;font-size:10px;font-weight:800;display:flex}.eyebrow>span{background:var(--blue);border-radius:50%;width:7px;height:7px}.welcome h1{margin-top:18px;font-size:66px;line-height:.99}.welcome h1 em{color:var(--blue);font-style:normal}.intro{max-width:360px;margin:16px 0 26px;font-size:14px}.photo-card{border:1px solid var(--line);background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 8px 30px #1727420b}.photo-scroll{overscroll-behavior:contain;max-height:480px;overflow:auto}.photo{min-width:100%;line-height:0;position:relative}.photo img{width:100%;display:block}.hotspot{z-index:1;place-items:center;width:44px;height:44px;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%)}.hotspot>span{width:26px;height:26px;color:var(--navy);background:#ffffffdb;border:2px solid #fff;border-radius:50%;place-items:center;font-size:10px;font-weight:800;display:grid;box-shadow:0 2px 8px #0005}.hotspot.chosen{z-index:3}.hotspot.chosen>span{background:var(--lime);outline:5px solid #d2f56755}.hotspot>b{white-space:nowrap;background:var(--lime);border-radius:8px;padding:9px 11px;font-size:11px;line-height:1;position:absolute;top:45px}.photo-tools{justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.photo-tools>span{color:var(--muted);align-items:center;gap:6px;font-size:10px;display:flex}.photo-tools>div{align-items:center;gap:8px;display:flex}.photo-tools button{background:var(--bg);border-radius:8px;place-items:center;width:32px;height:34px;display:grid}.photo-tools b{font-size:10px}.identity{align-items:center;gap:13px;margin:24px 0 19px;display:flex}.step{color:var(--blue);background:#e8edff;border-radius:12px;padding:15px;font-weight:800}.identity p{margin-top:4px;font-size:12px}.primary{background:var(--blue);color:#fff;border-radius:12px;justify-content:center;align-items:center;gap:12px;min-height:50px;padding:16px 19px;font-weight:700;display:flex}.full{justify-content:space-between;width:100%}.primary:disabled{color:#8d98ac;opacity:1;background:#dce2ef}.fallback{text-align:center;color:var(--muted);margin-top:18px;font-size:12px}.fallback summary{cursor:pointer;padding:8px}.chips{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.chips button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:12px;font-size:12px}.selected{color:var(--blue)!important;border-color:var(--blue)!important;background:#e7edff!important}.welcome-foot{justify-content:center;align-items:center;gap:12px;margin-top:28px;display:flex}.welcome-foot p{color:#59687b;font-size:11px}.welcome-foot small{text-align:center;color:#95a0ae;font-size:10px;display:block}.upcoming{border-top:1px solid var(--line);margin-top:25px;padding-top:23px}.upcoming>span{letter-spacing:1.6px;color:var(--muted);font-size:9px}.upcoming strong{justify-content:space-between;margin-top:8px;font-size:15px;display:flex}.upcoming b{color:var(--blue);font-size:11px;font-weight:500}.avatar{color:var(--blue);background:#e9eeff;border-radius:50%;width:40px;height:40px;font-size:12px;font-weight:800}.greeting{flex-direction:column;margin-bottom:24px;display:flex}.greeting>span{letter-spacing:1.5px;color:var(--muted);font-size:9px;font-weight:700}.greeting>b{letter-spacing:-.6px;margin-top:7px;font-size:24px}.live,.offline{color:#718093;align-items:center;gap:5px;margin-top:9px;font-size:10px;display:flex}.live i,.offline i{background:#3da87d;border-radius:100%;width:5px;height:5px}.offline i{background:#d59832}.hero{background:var(--navy);color:#fff;border-radius:21px;padding:23px;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;border:1px solid #ffffff15;border-radius:50%;width:260px;height:260px;position:absolute;top:-95px;right:-130px;box-shadow:0 0 0 27px #ffffff06,0 0 0 54px #ffffff04}.hero-top{letter-spacing:1.8px;color:#c3cee1;justify-content:space-between;align-items:center;font-size:9px;display:flex}.hero-top svg{color:var(--lime)}.hero h1{letter-spacing:-1px;margin:17px 0 22px;font-size:59px;line-height:.9}.hero h1>span{color:var(--lime);display:block}.date-line{align-items:center;gap:12px;display:flex}.date-line>b{letter-spacing:-3px;font-size:49px;font-weight:500;line-height:1}.date-line>div{letter-spacing:1px;color:#a1b0c6;font-size:9px}.date-line strong{color:#fff;letter-spacing:0;margin-top:5px;font-size:13px;display:block}.date-badge{border:1px solid #ffffff30;border-radius:7px;margin-left:auto;padding:7px 10px;font-size:10px}.hero-info{border-top:1px solid #ffffff18;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px;padding-top:19px;display:grid}.hero-info>div{align-items:center;gap:11px;display:flex}.hero-info svg{color:#c6dc8d}.hero-info span{color:#a1b0c6;font-size:10px}.hero-info b{color:#fff;margin-top:4px;font-size:18px;display:block}.hero>a{background:#ffffff09;border-radius:9px;align-items:center;gap:8px;margin-top:19px;padding:12px;font-size:11px;display:flex}.hero>a svg:last-child{margin-left:auto}.quick-actions{gap:8px;margin:13px 0 23px;display:flex}.quick-actions button{border:1px solid var(--line);background:#fff;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:7px;padding:13px 6px;font-size:11px;display:flex}.attendance{border:1px solid var(--line);background:#fff;border-radius:15px;padding:19px}.attendance p{margin-top:5px;font-size:11px}.segmented{background:var(--bg);border-radius:10px;margin-top:15px;padding:4px;display:flex}.segmented button{border-radius:7px;flex:1;padding:10px 3px;font-size:11px}.segmented .active{background:var(--navy);color:#fff}.section-heading{justify-content:space-between;align-items:center;margin-top:30px;margin-bottom:14px;display:flex}.section-heading>span{color:var(--blue);font-size:11px;font-weight:700}.progress-track{background:#e5e9f1;border-radius:5px;height:6px;overflow:hidden}.progress-track i{background:var(--blue);height:100%;transition:width .5s;display:block}.muted{color:var(--muted);margin-top:10px;font-size:11px}.dashboard-grid{grid-template-columns:1fr 1fr;gap:11px;margin-top:18px;display:grid}.dash-card{border:1px solid var(--line);text-align:left;background:#fff;border-radius:15px;flex-direction:column;align-items:start;padding:18px 15px;display:flex}.dash-card>span,.dash-card>svg{margin-bottom:14px;font-size:25px}.dash-card strong{font-size:14px}.dash-card small{color:var(--muted);margin-top:6px;font-size:10px}.dash-card b{width:100%;color:var(--blue);justify-content:space-between;margin-top:20px;font-size:10px;font-weight:600;display:flex}.court-link{background:#eaf0ff}.mytask{text-align:left;border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:12px;width:100%;margin-top:8px;padding:16px;display:flex}.mytask>span{font-size:24px}.mytask div{flex:1}.mytask small{color:var(--muted);margin-top:4px;font-size:11px;display:block}.mytask svg{color:#3b9666}.empty{text-align:center;background:#eef1f6;border-radius:16px;margin-top:14px;padding:28px 20px}.empty>span{margin-bottom:12px;font-size:29px;display:block}.empty p{margin-top:8px;font-size:12px}.text-btn{color:var(--blue);padding:15px 0 0;font-size:12px;font-weight:700}nav{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--line);width:100%;max-width:760px;padding:9px 9px calc(12px + env(safe-area-inset-bottom));z-index:20;background:#ffffffed;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}nav button{color:#8b96a6;flex-direction:column;flex:1;align-items:center;gap:6px;padding:5px 0;font-size:9px;font-weight:600;display:flex}nav button.active{color:var(--blue)}nav button.active svg{fill:#315bfa10}footer{color:#a4adba;letter-spacing:1px;justify-content:center;align-items:center;gap:7px;margin-top:40px;font-size:8px;display:flex}.page-title{margin-bottom:24px}.page-title h1{margin-top:13px;font-size:44px}.page-title p{margin-top:11px;font-size:12px}.tabs{border-bottom:1px solid var(--line);gap:22px;display:flex}.tabs button{color:var(--muted);border-bottom:2px solid #0000;padding:13px 0;font-size:12px;font-weight:700}.tabs .active{color:var(--blue);border-color:var(--blue)}.filter-row{justify-content:space-between;align-items:center;gap:10px;margin:17px 0;display:flex}.filter-row small{color:var(--muted);font-size:10px;line-height:1.5}.filter-row button{border:1px solid var(--line);border-radius:8px;padding:9px 12px;font-size:10px}.task-list{gap:14px;display:grid}.task-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:20px}.task-card.own{border-color:#9cafff}.task-top{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.task-icon{background:#f4f5f9;border-radius:13px;place-items:center;width:45px;height:45px;font-size:25px;display:grid}.status{color:#7b8797;background:#f2f4f8;border-radius:6px;padding:6px 8px;font-size:9px}.status.done{color:#378052;background:#e6f6e9}.task-card>p{margin-top:8px;font-size:12px}.volunteers{flex-direction:column;gap:10px;min-height:40px;margin:15px 0;display:flex}.volunteers>small{color:#a0a8b4;padding-top:8px;font-size:10px}.volunteers>div{align-items:center;gap:8px;display:flex}.mini-avatar{color:var(--blue);background:#edf1ff;border-radius:50%;place-items:center;width:27px;height:27px;font-size:11px;font-weight:700;display:grid}.volunteers b{font-size:11px}.volunteers small{color:var(--muted);overflow-wrap:anywhere;margin-top:2px;font-size:10px;display:block}.join{width:100%;color:var(--blue);border:1px solid #dce3f0;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:13px;font-size:12px;font-weight:700;display:flex}.join.joined{background:#eef2ff;border-color:#0000}.court-intro{color:#5670a6;background:#eaf0ff;border-radius:12px;align-items:center;gap:10px;padding:13px;font-size:11px;line-height:1.5;display:flex}.court-layout{flex-direction:column;display:flex}.roster{gap:7px;margin:17px -4px;padding:4px;display:flex;overflow:auto}.roster button{border:1px solid var(--line);background:#fff;border-radius:9px;flex-shrink:0;gap:7px;padding:12px 10px;font-size:11px;display:flex}.roster button span{color:#a0aabb;font-size:9px}.arena{background:#e9eff2;border:1px solid #dce5eb;border-radius:20px;height:620px;position:relative;overflow:hidden}.court{background:#e3af83;border:3px solid #fff;width:53%;height:71%;position:absolute;top:15%;left:19%;box-shadow:0 0 0 5px #dfaa7f}.attack{background:#fff;width:100%;height:2px;position:absolute;top:33%}.a2{top:67%}.net{background:repeating-linear-gradient(90deg,#0000 0 6px,#fff9 6px 7px),repeating-linear-gradient(0deg,#374d5b 0 3px,#fff9 3px 4px);border-top:3px solid #fff;width:126%;height:12px;position:absolute;top:50%;left:-13%;box-shadow:0 6px 8px #13274625}.net:before,.net:after{content:"";background:#315bfa;width:5px;height:20px;position:absolute;top:-3px;left:0}.net:after{left:auto;right:0}.court-word{letter-spacing:3px;color:#ffffff6b;text-align:center;width:100%;font:700 25px/.9 Barlow Condensed,sans-serif;position:absolute;top:20%;left:0}.position{z-index:2;flex-direction:column;align-items:center;width:100px;padding:0;display:flex;position:absolute;transform:translate(-50%,-50%)}.position-name{text-overflow:ellipsis;white-space:nowrap;color:#7a8ca3;background:#fff;border-radius:6px;max-width:105px;min-height:25px;padding:7px 9px;font-size:9px;overflow:hidden;box-shadow:0 3px 8px #13274614}.assigned .position-name{background:var(--navy);color:#fff}.figure{filter:drop-shadow(0 4px 2px #20364712);width:65px;height:76px;overflow:visible}.position small{white-space:nowrap;background:#e9eff2bf;border-radius:3px;padding:3px;font-size:8px}.p0{top:49%;left:11%}.p1{top:49%;left:79%}.p2{top:69%;left:86%}.p3{top:89%;left:86%}.p4{top:89%;left:15%}.p5{top:12%;left:76%}.tip{background:#edf1f6;border-radius:12px;align-items:flex-start;gap:10px;margin-top:20px;padding:16px;display:flex}.tip svg{color:#8998aa;flex-shrink:0}.tip p{font-size:10px}.tip b{color:#586b83}.source-link{color:var(--muted);margin-top:15px;font-size:9px;line-height:1.5;display:block}.perform .moving-arm{animation:1.7s ease-in-out signal}.figure-1.perform .moving-arm{animation:1.7s ease-in-out signal-down}.figure-2.perform .moving-arm{animation:.3s 5 write}.figure-3.perform .score-flip{transform-origin:50%;animation:.8s flip}.figure-4.perform .moving-arm,.figure-5.perform .moving-arm{animation:1.7s flag}.celebrating .position-name{background:var(--blue);animation:.4s pop}.chat-feed{flex-direction:column;gap:17px;min-height:220px;margin-bottom:24px;display:flex}.chat-message{align-self:flex-start;max-width:88%}.chat-message small{color:var(--muted);font-size:9px}.chat-message p{border:1px solid var(--line);color:var(--navy);white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border-radius:0 14px 14px;margin-top:5px;padding:13px 15px;font-size:13px}.chat-message.me{text-align:right;align-self:flex-end}.chat-message.me p{text-align:left;background:#e9eeff;border-color:#e0e7ff;border-radius:14px 0 14px 14px}.chat-compose{background:var(--bg);gap:8px;padding:10px 0;display:flex;position:sticky;bottom:89px}.chat-compose input{flex:1;min-width:0}.chat-compose button{padding:13px}.team-banner{border-radius:14px;width:100%}.settings-btn{color:var(--blue);align-items:center;gap:8px;margin-top:18px;padding:12px 0;font-size:12px;display:flex}.team-row{border-bottom:1px solid var(--line);align-items:center;gap:13px;padding:18px 0;display:flex}.team-row .number{color:#8d9bb0;font-family:Barlow Condensed,sans-serif;font-size:24px}.team-row>div{flex:1}.team-row b{font-size:13px}.team-row div>small{color:var(--muted);margin-top:4px;font-size:10px;display:block}.contribution{color:var(--muted);font-size:9px}.team-row button{color:var(--blue);background:#e9eeff;border-radius:8px;padding:12px;font-size:11px}.overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:40;background:#0d1c3970;justify-content:center;align-items:end;display:flex;position:fixed;inset:0}.sheet{width:100%;max-width:520px;padding:17px 25px calc(30px + env(safe-area-inset-bottom));background:#fff;border-radius:25px 25px 0 0;max-height:90dvh;animation:.25s ease-out rise;position:relative;overflow:auto}.handle{background:#dfe4eb;border-radius:5px;width:36px;height:4px;margin:0 auto 20px}.close{padding:8px;position:absolute;top:30px;right:18px}.sheet-icon{margin-bottom:17px;font-size:40px;display:block}.sheet h2{margin:12px 0;font-size:25px}.sheet p{margin-bottom:18px;font-size:12px}.sheet label{margin-top:20px;font-size:12px;font-weight:600;display:block}.sheet label span{color:var(--muted);font-weight:400}input{width:100%;color:var(--navy);background:#f5f7fa;border:1px solid #dfe5ee;border-radius:11px;outline:none;padding:15px;font-size:16px}input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #315bfa12}.sheet input{margin:10px 0 18px}.remove{color:#98717a;width:100%;padding:18px 10px 0;font-size:12px}.toast{z-index:60;background:var(--navy);color:#fff;border-radius:16px;align-items:center;gap:15px;width:calc(100% - 40px);max-width:440px;padding:16px 20px;animation:.3s ease-out toast;display:flex;position:fixed;bottom:105px;left:50%;transform:translate(-50%);box-shadow:0 10px 40px #13274640}.toast b{font-size:12px;line-height:1.5}.celebration{font-size:32px;animation:1s ease-in-out bite}.error{z-index:70;color:#a9472c;background:#fff1eb;border:1px solid #ffc8b4;border-radius:12px;gap:10px;width:calc(100% - 30px);max-width:520px;padding:15px;font-size:12px;display:flex;position:fixed;top:15px;left:50%;transform:translate(-50%)}.error button{margin-left:auto}.wave{animation:.8s ease-in-out wave;display:inline-block}.chat-feed .empty{width:100%}@keyframes signal{30%,70%{transform:rotate(-100deg)}}@keyframes signal-down{30%,70%{transform:rotate(35deg)}}@keyframes write{50%{transform:rotate(12deg)}}@keyframes flag{30%,70%{transform:rotate(-150deg)}}@keyframes flip{50%{transform:rotateX(160deg)}}@keyframes pop{50%{transform:scale(1.15)}}@keyframes wave{50%{transform:rotate(20deg)}}@keyframes bite{25%{transform:rotate(-15deg)scale(1.3)}50%{transform:rotate(12deg)scale(.8)}75%{transform:scale(1.1)}}@keyframes rise{0%{transform:translateY(100%)}}@keyframes toast{0%{opacity:0;bottom:85px}}@media (min-width:650px){.welcome{max-width:620px}.welcome h1{font-size:78px}.photo-scroll{max-height:600px}.app{padding-top:32px}.hero h1{font-size:78px}.dashboard-grid{grid-template-columns:repeat(4,1fr)}.task-list{grid-template-columns:1fr 1fr}.arena{height:640px}.figure{width:80px;height:94px}.position small{font-size:10px}.position-name{font-size:11px}.p0{left:12%}.p1{left:80%}.court-layout{flex-direction:row;gap:15px}.roster{flex-direction:column;flex-shrink:0;width:125px;max-height:630px;margin:18px 0;overflow:auto}.arena{flex:1;margin-top:18px}.roster button{font-size:10px}.position{width:90px}.sheet{border-radius:25px;margin-bottom:35px}.overlay{align-items:center}}@media (max-width:360px){main,header{padding-left:17px;padding-right:17px}.welcome h1{font-size:59px}.hero h1{font-size:53px}.photo-tools>span{font-size:9px}.position{width:85px}.figure{width:58px}.position-name{font-size:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (max-width:649px){.welcome h1{letter-spacing:-1.8px;font-size:52px}.roster{scrollbar-width:none}.roster::-webkit-scrollbar{display:none}}
