.team-page{background:#d5e9e7;color:#365c64;overflow:hidden;font-family:"Microsoft JhengHei","Segoe UI",sans-serif}.team-page button,.team-page select{font:inherit}.team-page button,.team-page a{touch-action:manipulation}.team-page canvas#team-canvas{position:fixed;inset:0;width:100%;height:100%;outline:none}.tm-header{position:fixed;top:24px;left:28px;right:28px;display:flex;align-items:center;gap:12px;z-index:6;pointer-events:none}.tm-header>*{pointer-events:auto}.tm-logo{display:grid;place-content:center;position:relative;background:#ed7a9f;border:3px solid #fff8;border-radius:16px;width:47px;height:51px;color:white;text-decoration:none;font-size:33px;font-weight:900;transform:rotate(-7deg);box-shadow:0 4px 0 #cf658a}.tm-logo span{position:absolute;right:2px;top:-8px;color:#ffe6a3;font-size:20px}.tm-header small{font-size:8px;letter-spacing:2px;font-weight:900}.tm-header h1{font-size:18px;margin:5px 0}.tm-header h1 span{font-size:11px;padding:5px 7px;border-radius:7px;background:#fff8;margin-left:7px}.tm-header nav{margin-left:auto;display:flex;gap:7px}.tm-header button,.tm-footer button,.tm-footer a{border:1px solid #fff8;background:#ffffffe0;border-radius:12px;padding:11px;color:#5a7e85;font-size:11px;font-weight:750;cursor:pointer}.tm-score{position:fixed;top:22px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:25px;background:#fffaf0ef;border:2px solid #fff;border-radius:24px;padding:12px 24px;z-index:5;box-shadow:0 8px 30px #456c6b0b}.tm-score>div{text-align:center}.tm-score .blue{color:#4d9ac2}.tm-score .orange{color:#cd8e49}.tm-score strong{display:block;font-size:36px;line-height:1.15;font-weight:900}.tm-score small{font-size:9px;white-space:nowrap}.tm-timer{display:flex;flex-direction:column;gap:3px}.tm-timer span{font-size:10px;font-weight:800}.tm-timer b{font-size:22px;font-variant-numeric:tabular-nums}.tm-timer small{font-size:7px;letter-spacing:1.2px;color:#9aae9c}.tm-welcome{position:fixed;top:132px;left:5vw;width:355px;max-height:calc(100dvh - 216px);overflow:auto;scrollbar-width:thin;z-index:7;background:linear-gradient(135deg,#fcfaf0ed,#edf6ebd9);border:2px solid #fff9;border-radius:26px;padding:24px;box-shadow:0 10px 35px #456b6a0d;backdrop-filter:blur(7px)}.tm-kicker{font-size:10px;letter-spacing:1px;color:#779b8c;font-weight:900}.tm-welcome h2{font-size:32px;line-height:1.5;margin:12px 0}.tm-welcome h2 span{color:#dc7199}.tm-welcome p{font-size:11px;line-height:1.9;color:#809590}.tm-steps{padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;margin:16px 0}.tm-steps li{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:750}.tm-steps li>b{display:grid;place-content:center;border-radius:10px;width:30px;height:32px;background:#deece0;color:#6b9d85;font-size:14px}.tm-steps li span span{display:block;font-size:9px;font-weight:400;color:#96a99d;margin-top:4px}.tm-settings{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0 12px}.tm-settings label{font-size:9px;color:#7f9b8f;flex:1;min-width:85px}.tm-settings label:first-child{flex-basis:100%}.tm-settings select{display:block;width:100%;font-size:11px;border:1px solid #dae6da;background:#fffdf6;border-radius:9px;padding:8px 4px;margin-top:5px;color:#5f8071}.tm-primary{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;border-radius:15px;background:#e77ca3;color:#fff7ec;font-size:14px!important;font-weight:850!important;padding:17px 19px;box-shadow:0 5px 0 #cf648d;cursor:pointer}.tm-text{background:none;border:0;color:#879e92;font-size:10px!important;padding:14px 0 0;cursor:pointer}.tm-control-note{font-size:9px!important}.tm-pad-status{font-size:9px!important;margin-bottom:0}.tm-roster{position:fixed;right:26px;top:145px;width:225px;max-height:calc(100dvh - 230px);overflow:auto;background:#fffaf0ec;border:2px solid #fff;border-radius:20px;padding:17px;z-index:6;backdrop-filter:blur(5px)}.tm-roster-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.tm-roster-head b{font-size:12px}.tm-roster-head button{display:none;border:0;background:none;color:#6f938d;font-size:19px}.tm-crew-title{margin:11px 0 8px;font-size:9px;font-weight:850;letter-spacing:1px}.tm-crew-person{display:flex;gap:9px;align-items:center;margin:9px 0}.tm-uniform-icon{display:grid;place-content:center;flex-shrink:0;width:32px;height:34px;font-size:21px;border:2px solid #fff;border-radius:11px;background:#e4e7d4}.tm-crew-person strong{font-size:10px;display:block}.tm-crew-person small{font-size:8px!important;line-height:1.5;color:#8ba397;display:block}.tm-crew-person .tm-crew-work{color:#5a94ad}.tm-roster>small{display:block;border-top:1px solid #e0e8da;padding-top:10px;font-size:8px;line-height:1.8;color:#92a495}.tm-objective{position:fixed;left:50%;top:131px;transform:translateX(-50%);z-index:5;text-align:center;padding:12px 20px;border-radius:16px;border:1px solid #fff;background:#fffaf0ee;max-width:85vw;width:max-content}.tm-objective span{display:block;font-weight:850;font-size:12px}.tm-objective small{display:block;margin-top:6px;color:#8ca393;font-size:9px}.tm-feed{position:fixed;top:205px;left:50%;transform:translateX(-50%);z-index:7;background:#fff5eae8;padding:10px 17px;border-radius:12px;font-size:11px;opacity:0;transition:opacity .15s;text-align:center;max-width:80vw;pointer-events:none}.tm-feed.show{opacity:1}.tm-countdown{position:fixed;left:50%;top:43%;transform:translate(-50%,-50%);font-size:78px;font-weight:950;color:#fffdf0;text-shadow:0 5px 0 #94b9af;z-index:8;pointer-events:none}.tm-footer{position:fixed;bottom:22px;left:28px;right:28px;display:flex;gap:8px;z-index:9}.tm-footer a{text-decoration:none}.tm-footer #tm-pad{margin-left:auto}.tm-map{position:fixed;right:30px;bottom:80px;width:130px;padding:7px;background:#fffcf1c9;border:1px solid #fff8;border-radius:18px;z-index:5;text-align:center}.tm-map small{font-size:7px;color:#7f9e96}.tm-map canvas{width:100%;height:auto}.tm-dialog{position:fixed;inset:0;display:grid;place-items:center;background:#c5ded848;backdrop-filter:blur(9px);z-index:12;padding:20px}.tm-dialog section{width:390px;max-width:100%;max-height:88dvh;overflow:auto;border:2px solid #fff;background:#fffaf0;border-radius:26px;padding:30px}.tm-dialog section>small{font-size:9px;letter-spacing:2px;color:#a4a383}.tm-dialog h2{font-size:27px;margin:17px 0}.tm-dialog p{font-size:12px;line-height:1.9;color:#869d92}.tm-dialog .tm-primary{margin-top:20px}.tm-stat-row{display:flex;justify-content:space-between;font-size:11px;padding:8px;border-bottom:1px solid #e9eadc}.tm-touch{position:fixed;left:18px;right:18px;bottom:75px;display:flex;align-items:flex-end;gap:8px;z-index:8;pointer-events:none}.tm-touch>*{pointer-events:auto}.tm-touch-actions{margin-left:auto;display:flex;flex-direction:column;gap:7px}.tm-touch-actions>div{display:flex;gap:6px}.tm-touch-actions .grab-btn{font-size:12px}.tm-touch-actions .push-btn,.tm-touch-actions .roll-btn{min-width:49px;font-size:11px;padding:9px 7px}.tm-touch-actions small{font-size:8px;display:block;margin-top:4px}.team-page .joystick{width:94px;height:94px}.team-page .joystick>div{left:22px;top:22px}.team-page .jump-btn{width:68px;height:68px}.team-page .hidden{display:none!important}.team-page .pad-panel{color:#547b70}.team-page button:focus-visible,.team-page a:focus-visible{outline:3px solid #df83a5;outline-offset:4px}.team-page .tm-welcome.hidden~.tm-roster{opacity:.94}
@media(max-width:1150px){.tm-score{top:97px;padding:8px 18px;gap:18px}.tm-score strong{font-size:28px}.tm-header{top:16px;left:18px;right:18px}.tm-welcome{top:190px;max-height:calc(100dvh - 275px);left:24px}.tm-roster{top:194px;max-height:calc(100dvh - 280px);right:18px;width:195px}.tm-objective{top:194px}.tm-feed{top:265px}.tm-map{width:100px;right:18px}.tm-timer b{font-size:19px}}
@media(max-width:740px){.tm-header{top:14px;left:14px;right:14px;gap:8px}.tm-logo{width:36px;height:40px;font-size:26px;border-radius:13px}.tm-header small{font-size:6px;letter-spacing:1px}.tm-header h1{font-size:14px}.tm-header h1 span{font-size:8px;margin-left:3px;padding:4px}.tm-header nav{gap:4px}.tm-header button{font-size:9px;padding:9px 7px}.tm-header #tm-sound{display:inline-flex;align-items:center;justify-content:center;min-width:30px}.tm-score{top:79px;width:calc(100vw - 28px);justify-content:space-around;gap:7px;padding:8px 10px;border-radius:18px}.tm-score strong{font-size:25px}.tm-score small{font-size:8px}.tm-timer b{font-size:18px}.tm-timer small{font-size:6px}.tm-welcome{left:14px;top:167px;width:calc(100vw - 28px);max-height:calc(100dvh - 243px);padding:20px}.tm-welcome h2{font-size:27px;line-height:1.4;margin:10px 0}.tm-welcome h2 br{display:none}.tm-welcome p{font-size:10px}.tm-steps{gap:8px;margin:12px 0}.tm-steps li{font-size:11px}.tm-steps li span span{font-size:8px}.tm-settings{margin:10px 0}.tm-settings label:first-child{flex-basis:35%}.tm-settings label{min-width:75px}.tm-settings select{font-size:10px;padding:8px 3px}.tm-roster{display:none;top:165px;left:14px;right:14px;width:auto;max-height:calc(100dvh - 246px);padding:20px;z-index:10;background:#fffaf4f5}.tm-roster.open{display:block}.tm-roster-head button{display:block}.tm-crew-person{margin:8px 0}.tm-objective{top:164px;width:calc(100vw - 28px);max-width:calc(100vw - 28px);padding:10px}.tm-objective span{font-size:11px}.tm-objective small{font-size:8px}.tm-feed{top:231px;width:max-content;font-size:10px}.tm-footer{left:14px;right:14px;bottom:17px;gap:5px}.tm-footer button,.tm-footer a{font-size:9px;padding:10px 7px;border-radius:10px}.tm-footer #tm-pad{margin-left:auto}.tm-map{right:14px;bottom:260px;width:73px;padding:4px;border-radius:12px}.tm-map small{font-size:5px}.tm-touch{left:14px;right:14px;bottom:76px;gap:6px}.tm-touch-actions .grab-btn{padding:8px 9px;font-size:10px}.tm-touch-actions .push-btn,.tm-touch-actions .roll-btn{font-size:10px;min-width:44px;padding:8px 5px}.tm-dialog section{padding:24px}.tm-dialog h2{font-size:24px}}
@media(max-height:560px) and (min-width:741px){.tm-welcome{top:105px;max-height:calc(100dvh - 181px)}.tm-roster{display:none}.tm-score{top:15px;transform:translateX(-25%)}.tm-objective{top:105px}.tm-feed{top:170px}.tm-map{display:none}}

.tm-roster-head button{display:block;cursor:pointer}.tm-map{pointer-events:none}

.tm-dialog{grid-template-columns:minmax(0,1fr)}.tm-dialog section{width:min(390px,calc(100vw - 40px));max-width:100%;min-width:0;justify-self:center;box-sizing:border-box}
