.venue-page{padding:88px 2vw 28px;background:#03090d;min-height:100vh}.venue-story{max-width:1760px;margin:auto}.venue-heading{display:flex;justify-content:space-between;color:#7d969f;font-size:14px;margin:0 0 18px}.venue-heading p{margin:0}.venue-stage{position:relative;aspect-ratio:16/9;overflow:hidden;border:1px solid #263a45;border-radius:18px;background:#040914;color:#eaf6fc;isolation:isolate}.world-shot,.opening-shot,.reconstruction,.brand-transition{position:absolute;inset:0;opacity:0;pointer-events:none}.world-shot img,.opening-shot video{width:100%;height:100%;object-fit:cover;display:block}.world-shot img{transform-origin:72% 32%}.world-reveal{opacity:var(--reveal,0)}.world-reveal img{transform:scale(var(--wide-scale,1))}.world-close{opacity:var(--close,0)}.world-close img{transform:scale(var(--close-scale,1))}.world-ending{opacity:var(--ending,0)}.opening-shot{opacity:var(--opening,1);transform:translate(var(--opening-x,0),var(--opening-y,0)) scale(var(--opening-scale,1));transform-origin:45% 48%;z-index:2}.opening-shot video{object-fit:contain;background:#000}.brand-transition{z-index:6;background:#010305;display:flex;align-items:center;justify-content:center;gap:20px;opacity:var(--brand,0)}.brand-transition img{width:90px;height:90px}.brand-transition strong{font-size:clamp(36px,5vw,80px);font-style:italic;letter-spacing:-3px}.brand-transition span{color:#61d6ed}.reconstruction{opacity:var(--three,0);z-index:3}.reconstruction canvas{width:100%;height:100%;display:block}.scan-beam{position:absolute;inset:0;width:100%;height:100%;opacity:var(--scanning,0);mix-blend-mode:screen}.scan-beam path{fill:#58e1ef22;stroke:#65e8ed;stroke-width:2;stroke-dasharray:8 12}.court-sweep{position:absolute;width:62%;height:3px;left:8%;top:var(--sweep-y,52%);background:linear-gradient(90deg,transparent,#9af7ff,transparent);box-shadow:0 0 30px 12px #47e5f444;transform:rotate(-8deg);opacity:var(--scanning,0)}
.story-copy{position:absolute;left:5%;top:9%;z-index:7;max-width:45%;pointer-events:none;opacity:1;text-shadow:0 2px 18px #000}.story-kicker{font-size:14px;letter-spacing:.12em;color:#73e5f4;margin:0 0 12px}.story-title{font-size:clamp(25px,3.3vw,58px);line-height:1.22;letter-spacing:-.03em;white-space:pre-line;margin:0}.story-body{font-size:clamp(13px,1.1vw,19px);line-height:1.8;white-space:pre-line;color:#b6c9d6;margin-top:18px;max-width:420px}.scene-note{position:absolute;bottom:20px;left:26px;z-index:9;font-size:11px;color:#b1c3ce;text-shadow:0 2px 6px #000}.stage-error{position:absolute;bottom:42px;left:26px;z-index:10;color:#ffbc84;font-size:13px}.stage-error[hidden]{display:none}
.venue-stage[data-scene="match"] .story-copy,.venue-stage[data-scene="reveal"] .story-copy,.venue-stage[data-scene="camera"] .story-copy,.venue-stage[data-scene="capture"] .story-copy{top:auto;bottom:8%;max-width:48%;padding:18px 24px;background:linear-gradient(90deg,#03090ddb,#03090d00);border-radius:10px}.venue-stage[data-scene="match"] .story-title{font-size:28px}.venue-stage[data-scene="match"] .story-body{margin:8px 0 0}.venue-stage[data-scene="brand"] .story-copy{opacity:0}.venue-stage[data-scene="three"] .story-copy{top:6%;max-width:38%}.venue-stage[data-scene="three"] .story-title{font-size:clamp(26px,3vw,48px)}.venue-stage[data-scene="scan"] .story-copy{top:auto;bottom:10%;max-width:52%;background:linear-gradient(90deg,#000c,transparent);padding:22px}.venue-stage[data-scene="scan"] .story-title{font-size:clamp(22px,2.7vw,44px)}
.phone{position:absolute;right:12%;top:5%;height:90%;width:30%;max-width:390px;background:#031119;border:6px solid #34434b;border-radius:42px;z-index:5;overflow:hidden;opacity:0;transform:translateY(40px) scale(.94);transition:opacity .6s,transform .7s;box-shadow:0 25px 100px #0009;font-size:13px}.venue-stage[data-scene="court"] .phone,.venue-stage[data-scene="positions"] .phone,.venue-stage[data-scene="tactics"] .phone{opacity:1;transform:none}.venue-stage[data-scene="court"] .reconstruction,.venue-stage[data-scene="positions"] .reconstruction,.venue-stage[data-scene="tactics"] .reconstruction{opacity:.4;filter:blur(2px)}.phone-island{width:32%;height:18px;background:#172329;border-radius:18px;margin:12px auto 8px}.phone-brand{padding:12px 20px;background:#010607;font-size:20px;font-weight:700;display:flex;justify-content:space-between;align-items:center}.phone-brand span{font-size:10px;color:#829da9}.phone-shot{display:flex;justify-content:space-between;padding:12px 18px;font-size:12px}.shot-label{color:#67dcf0}.replay-window{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#000}.replay-window video{display:block;width:100%;height:100%;object-fit:contain}.tracking-overlay{position:absolute;inset:0;pointer-events:none}.video-player{position:absolute;border:1px solid #54dfff;color:#fff;background:#00161bbb;font-size:8px;border-radius:2px;padding:1px 3px;transform:translate(-50%,-50%)}.video-player.is-B{border-color:#ffc16a}.video-player.active{box-shadow:0 0 10px #fff8}.video-source{position:absolute;bottom:5px;left:8px;font-size:8px;color:#ddd;text-shadow:0 1px 5px #000}.phone-tabs{display:flex;padding:12px 10px 0;gap:8px}.phone-tabs button{background:none;border:0;border-bottom:2px solid transparent;color:#7995a3;padding:7px 2px;font-size:11px;cursor:pointer;flex:1}.phone-tabs button[aria-selected="true"]{color:#64e0f2;border-color:#64e0f2}.phone-analysis{padding:18px 16px}.panel-title{display:flex;justify-content:space-between;align-items:center;font-size:14px;margin-bottom:12px}.panel-title span{font-size:10px;color:#89a3ad}.team-court{position:relative;background:#103c31;border-radius:10px;aspect-ratio:1340/610;margin-top:15px}.team-court svg{position:absolute;inset:14px;width:calc(100% - 28px);height:calc(100% - 28px);fill:none;stroke:#bfd9c7;stroke-width:5;opacity:.6}.court-players{position:absolute;inset:14px}.court-player{position:absolute;transform:translate(-50%,-50%);width:34px;height:34px;border-radius:50%;border:2px solid #55d5ef}.court-player.is-B{border-color:#ffc578}.court-player img{width:100%;height:100%;object-fit:cover;border-radius:50%}.court-player.active{box-shadow:0 0 0 3px #ffe075,0 0 20px #ffe075aa}.court-player b{position:absolute;right:-11px;top:-10px;background:#06201c;font-size:8px;color:#7cdef1}.court-player span{position:absolute;top:100%;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:8px;background:#011b17d9;padding:2px}.phone-caption{font-size:10px;line-height:1.7;color:#86a3ac;margin:20px 0 0}.positions-panel,.tactics-panel{display:none}.venue-stage[data-scene="positions"] .court-panel,.venue-stage[data-scene="tactics"] .court-panel{display:none}.venue-stage[data-scene="positions"] .positions-panel,.venue-stage[data-scene="tactics"] .tactics-panel{display:block}.position-row{display:grid;grid-template-columns:28px 1fr;gap:9px;align-items:center;margin:13px 0}.position-row img{width:28px;height:28px;border-radius:50%}.position-row-name{display:flex;justify-content:space-between;gap:4px;font-size:10px}.position-row-name span{font-size:9px;color:#88a6b0}.position-bar{height:4px;margin-top:6px;background:#394955;border-radius:5px;overflow:hidden}.position-bar i{display:block;height:100%;background:#55cfdf}.position-row[data-player^="B"] .position-bar i{background:#edb768}.tactic-card{padding:12px;background:#0b2430;border:1px solid #1e4554;border-radius:10px}.tactic-card small{font-size:10px;color:#78d0df}.tactic-card h3{font-size:19px;margin:12px 0}.tactic-card p{font-size:11px;line-height:1.8;color:#a6bfca}.tactic-chain{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#9edbea;margin:18px 0}.evidence-replay{background:#153c4a;color:#7eebf7;border:1px solid #328094;border-radius:5px;padding:8px 10px;font-size:11px;cursor:pointer}.tactic-note{display:block;margin-top:12px}.phone-home{position:absolute;bottom:9px;left:35%;width:30%;height:3px;background:#6b7b83;border-radius:4px}
.venue-controls{display:flex;align-items:center;gap:22px;margin-top:20px}.venue-controls button{border:1px solid #305564;background:none;color:#bad0da;border-radius:7px;padding:11px 20px;cursor:pointer;white-space:nowrap}.venue-controls input{flex:1;min-width:0;accent-color:#5acede}.venue-controls output{color:#89a5b0;font-size:13px;font-variant-numeric:tabular-nums}.venue-scenes{display:flex;justify-content:center;gap:28px;margin:23px 0}.venue-scenes button{background:none;border:0;border-bottom:1px solid transparent;padding:8px 0;color:#7998a5;cursor:pointer;font-size:13px}.venue-scenes button[aria-current="true"]{color:#6ae5f5;border-color:#6ae5f5}.venue-source{color:#566f7b;font-size:11px;text-align:center}.venue-source a{color:#7fabb9}
@media(max-width:800px){.venue-page{padding:85px 12px 24px}.venue-heading{font-size:10px}.venue-stage{aspect-ratio:4/3;border-radius:12px}.world-shot img{object-fit:cover}.story-copy{left:5%;max-width:44%;top:10%}.story-kicker{font-size:9px;margin-bottom:8px}.story-title{font-size:23px}.story-body{font-size:10px;line-height:1.6;margin-top:12px}.phone{right:4%;width:43%;height:92%;top:4%;border-width:3px;border-radius:22px;font-size:10px}.phone-island{height:10px;margin:7px auto 3px}.phone-brand{padding:7px 10px;font-size:14px}.phone-brand span{font-size:7px}.phone-shot{padding:8px;font-size:8px}.phone-tabs{gap:3px;padding:6px 4px 0}.phone-tabs button{font-size:8px;padding:5px 1px}.phone-analysis{padding:10px 8px}.panel-title{font-size:10px;margin-bottom:8px}.panel-title span{font-size:7px}.court-player{width:22px;height:22px}.court-player span,.court-player b{font-size:6px}.team-court{margin-top:10px}.phone-caption{font-size:8px;margin-top:13px}.position-row{grid-template-columns:20px 1fr;gap:5px;margin:8px 0}.position-row img{width:20px;height:20px}.position-row-name{font-size:7px}.position-row-name span{font-size:6px}.tactic-card{padding:8px}.tactic-card h3{font-size:13px;margin:8px 0}.tactic-card p{font-size:8px}.tactic-chain{font-size:6px;margin:9px 0}.evidence-replay{font-size:8px;padding:6px}.tactic-note{font-size:7px!important;margin-top:7px}.venue-stage[data-scene="scan"] .story-title{font-size:21px}.scene-note{font-size:8px;left:12px;bottom:10px}.venue-controls{gap:9px}.venue-controls button{padding:9px;font-size:10px}.venue-controls output{font-size:10px}.venue-scenes{gap:12px;flex-wrap:wrap;margin:14px 0}.venue-scenes button{font-size:10px}.brand-transition img{width:50px;height:50px}.brand-transition{gap:10px}.brand-transition strong{font-size:38px}.venue-stage[data-scene="three"] .story-title{font-size:22px}.venue-stage[data-scene="match"] .story-title{font-size:20px}}

.phone{container-type:inline-size}.venue-stage[data-scene="scan"] .story-title{font-size:clamp(20px,1.9vw,36px)}
@container(max-width:310px){.phone-island{height:10px;margin:7px auto 3px}.phone-brand{padding:7px 10px;font-size:14px}.phone-brand span{font-size:7px}.phone-shot{display:none}.phone-tabs{gap:3px;padding:6px 4px 0}.phone-tabs button{font-size:8px;padding:5px 1px}.phone-analysis{padding:10px 8px}.panel-title{font-size:10px;margin-bottom:8px}.panel-title span{font-size:7px}.court-player{width:22px;height:22px}.court-player span,.court-player b{font-size:6px}.team-court{margin-top:10px}.phone-caption{font-size:8px;margin-top:13px}.position-row{grid-template-columns:20px 1fr;gap:5px;margin:8px 0}.position-row img{width:20px;height:20px}.position-row-name{font-size:7px}.position-row-name span{font-size:6px}.tactic-card{padding:8px}.tactic-card h3{font-size:13px;margin:8px 0}.tactic-card p{font-size:8px}.tactic-chain{font-size:6px;margin:9px 0}.evidence-replay{font-size:8px;padding:6px}.tactic-note{font-size:7px!important;margin-top:7px}}
@container(max-width:310px){.tactic-card p{margin:8px 0;line-height:1.55}.tactic-card h3{margin:6px 0}.tactic-chain{margin:8px 0}.tactic-note{margin-top:4px}}
.venue-page{padding-top:76px}.venue-story{max-width:min(1760px,calc((100svh - 220px)*16/9))}.venue-heading{font-size:12px;margin-bottom:10px}.venue-controls{gap:16px;margin-top:12px}.venue-controls button{padding:8px 16px;font-size:13px}.venue-scenes{gap:22px;margin:10px 0}.venue-scenes button{padding:5px 0;font-size:12px}.venue-source{margin:6px 0;font-size:10px}
.training-panel{display:none}.venue-stage[data-scene="training"] .phone{opacity:1;transform:none}.venue-stage[data-scene="training"] .phone-shot,.venue-stage[data-scene="training"] .replay-window,.venue-stage[data-scene="training"] .phone-tabs,.venue-stage[data-scene="training"] .phone-analysis{display:none}.venue-stage[data-scene="training"] .training-panel{display:block}.venue-stage[data-scene="training"]{background:radial-gradient(ellipse at 70% 40%,#153949,#040914 70%)}.training-photo{width:100%;height:110px;object-fit:cover;object-position:50% 55%;display:block}.training-content{padding:12px 16px}.training-mode{color:#66d9ef;font-size:10px}.training-title{font-size:16px;line-height:1.3;margin:7px 0}.training-total{font-size:12px;color:#a6c4d0}.training-counts{display:flex;gap:8px;margin:12px 0}.training-counts span{flex:1;background:#143240;padding:7px;border-radius:6px;text-align:center}.training-counts b{display:block;font-size:20px;color:#7ae2ee}.training-counts span:nth-child(2) b{color:#efb678}.training-counts span:nth-child(3) b{color:#95a7b5}.training-counts i{font-style:normal;font-size:9px}.training-map-label{font-size:11px;margin-bottom:5px}.training-map{display:block;width:100%;height:130px;background:#103b32;border-radius:7px;fill:none;stroke:#8faea1;stroke-width:3}.training-map circle{stroke:none;fill:#60e3ef;transition:opacity .3s}.training-map .quality-low{fill:#edb275}.training-map .quality-unknown{fill:#94a8b5}.training-evidence{font-size:9px;color:#86a0aa;line-height:1.5;margin:8px 0 0}
@container(max-width:310px){.training-photo{height:85px}.training-content{padding:8px 10px}.training-title{font-size:12px;margin:5px 0}.training-mode,.training-total{font-size:9px}.training-counts{margin:8px 0}.training-counts span{padding:4px}.training-counts b{font-size:16px}.training-counts i{font-size:7px}.training-map{height:100px}.training-map-label{font-size:9px}.training-evidence{font-size:8px;margin-top:6px}}
@media(max-width:800px){.venue-page{padding-top:76px}.venue-story{max-width:100%}.venue-controls{gap:8px}.venue-controls button{padding:8px;font-size:10px}.venue-scenes{gap:12px}.venue-scenes button{font-size:10px}.training-photo{height:60px}.training-map{height:75px}}
.venue-stage{container-type:inline-size}.story-title{font-size:clamp(24px,3.8cqw,58px)}.venue-stage[data-scene="three"] .story-title{font-size:clamp(24px,3.8cqw,48px)}.phone{container-type:size}
@container(max-height:380px){.phone-island{height:7px;margin:5px auto 2px}.phone-brand{font-size:12px;padding:5px 8px}.training-photo{height:50px}.training-content{padding:6px 8px}.training-title{font-size:10px;margin:4px 0}.training-mode,.training-total{font-size:8px}.training-counts{margin:5px 0}.training-counts b{font-size:13px}.training-map{height:60px}.training-evidence{font-size:7px;margin-top:4px}}
@media(max-width:800px){.venue-stage{aspect-ratio:1/1}.story-title{font-size:clamp(15px,4.5vw,23px)}.venue-stage[data-scene="three"] .story-title{font-size:18px}.venue-stage[data-scene="scan"] .story-title{font-size:16px}}
.training-cinema,.training-world,.training-film{position:absolute;inset:0;pointer-events:none}.training-cinema{z-index:2}.training-world img,.training-film video{width:100%;height:100%;display:block;object-fit:cover}.training-wide{opacity:var(--training-wide,0)}.training-close{opacity:var(--training-close,0)}.training-film{opacity:var(--training-film,0);transform:translate(var(--training-shift,0),-4%) scale(var(--training-scale,1));transform-origin:45% 50%}.venue-stage[data-scene="training-video"] .training-film{transform:none}.training-sweep{position:absolute;left:8%;width:64%;top:var(--training-sweep,50%);height:3px;background:linear-gradient(90deg,transparent,#9af7ff,transparent);box-shadow:0 0 28px 10px #47e5f444;opacity:var(--training-scanning,0)}.training-beam{position:absolute;inset:0;width:100%;height:100%;opacity:var(--training-scanning,0);fill:#62dff11a;stroke:#79e8f0;stroke-width:2;stroke-dasharray:8 12}.venue-stage[data-scene="training-video"] .story-copy,.venue-stage[data-scene="training-reveal"] .story-copy,.venue-stage[data-scene="training-capture"] .story-copy{top:auto;bottom:8%;max-width:48%;padding:16px 20px;background:linear-gradient(90deg,#03090ddd,transparent);border-radius:10px}.venue-stage[data-scene="training"] .training-cinema{opacity:.28;filter:blur(2px)}.training-photo{object-fit:contain;background:#000;object-position:center}.venue-stage[data-scene="training"] .phone-brand span{font-size:0}.venue-stage[data-scene="training"] .phone-brand span:after{content:"训练复盘";font-size:10px}html[lang="en"] .venue-stage[data-scene="training"] .phone-brand span:after{content:"Practice review"}
@media(max-width:800px){.training-world img{object-position:65% center}.venue-stage[data-scene="training-video"] .training-film video{object-fit:contain}.venue-stage[data-scene^="training-"] .story-copy{left:3%;bottom:6%;max-width:55%;padding:10px}.venue-stage[data-scene^="training-"] .story-title{font-size:17px}.venue-stage[data-scene^="training-"] .story-kicker{font-size:8px}.venue-stage[data-scene^="training-"] .story-body{font-size:8px;margin-top:7px}}
@media(max-width:800px){.training-close img,.world-ending img{object-position:85% center}}
@media(max-width:800px){.venue-stage{aspect-ratio:4/3}}
