:root{--blue:#004898;--bright:#087add;--cyan:#65dcff;--ink:#14304f;--muted:#647991;--line:#e0eaf5;--paper:#f2f6fb;--shadow:0 8px 28px #003e7910;color-scheme:light;font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:#063266 url('assets/hero-fast.webp') center/cover fixed;color:var(--ink);font-size:15px;line-height:1.55}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.6}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #43c9f7;outline-offset:3px}#shell{max-width:480px;min-height:100dvh;background:var(--paper);margin:auto;box-shadow:0 0 70px #001b5a80;position:relative}.brandbar{height:64px;padding:14px 20px;background:white;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.brandbar img{width:270px;max-width:100%;display:block}.brandbar a{flex:1;min-width:0}.demo-badge{font-size:10px;white-space:nowrap;color:var(--blue);background:#edf6ff;border:1px solid #cbdff5;padding:3px 7px;border-radius:4px}#app{padding-bottom:95px;min-height:calc(100dvh - 64px)}.bottom-nav{position:fixed;z-index:20;bottom:0;width:min(480px,100%);display:grid;grid-template-columns:repeat(4,1fr);height:calc(68px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#fffffff5;border-top:1px solid #dce6f0;backdrop-filter:blur(14px)}.bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font-size:11px;color:#6e8095}.bottom-nav a span{font-size:25px;line-height:1.3}.bottom-nav a.active{color:var(--blue);font-weight:700}.bottom-nav a.active::before{content:"";position:absolute;top:0;width:28px;height:3px;border-radius:3px;background:var(--bright)}.desktop-note{position:fixed;left:max(30px,calc(50vw - 670px));top:22vh;color:white;opacity:.85;pointer-events:none}.desktop-note>span{font-size:17px;letter-spacing:7px;color:#b4e5ff}.desktop-note p{font-weight:800;font-size:40px;letter-spacing:6px;line-height:1.6;margin:14px 0}.desktop-note small{display:block;margin-top:14px;font-size:10px;letter-spacing:3px;color:#b4d6f5}.hero{position:relative;background:#0862c2 url('assets/hero-fast.webp') center bottom/cover;color:white;padding:28px 25px 0;min-height:464px;overflow:hidden}.hero .eyebrow{color:#b8eaff;letter-spacing:2px;font-size:10px;margin:0 0 16px}.hero h1{font-size:clamp(26px,7.2vw,34px);line-height:1.45;letter-spacing:.4px;margin:0;font-weight:850;text-shadow:0 2px 12px #00316c50}.hero h1 .year{font-size:24px;color:#9ee9ff;display:block;margin:5px 0 2px}.hero h1 strong{font-weight:850;font-size:1.11em;letter-spacing:1px}.hero .theme{font-size:19px;font-weight:700;letter-spacing:4px;margin:15px 0 13px;color:#e6f9ff}.hero .event-meta{margin-top:18px;font-size:12px;line-height:1.9;color:#d8efff}.hero-actions{display:flex;align-items:center;gap:20px;margin-top:18px}.hero-actions .primary{background:white;color:var(--blue);border:none;padding:10px 23px;font-size:13px}.hero-actions a:not(.primary){font-size:12px;color:#d9f4ff}.hero .equipment-space{height:100px}.home-body{padding:20px 20px 0}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-heading h2{font-size:18px;margin:0;letter-spacing:1px}.section-heading small{font-size:10px;color:var(--muted);letter-spacing:1px}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.menu-card{border:1px solid #dce8f5;background:white;padding:17px 16px;border-radius:10px;min-height:94px;box-shadow:var(--shadow);position:relative}.menu-card .menu-icon{font-size:20px;line-height:1;color:var(--bright);display:block;margin-bottom:9px}.menu-card b{display:block;font-size:15px}.menu-card small{font-size:10px;color:#8599b0}.menu-card .arrow{position:absolute;right:15px;top:20px;color:#aac9e5;font-size:16px}.notice{font-size:11px;color:var(--muted);line-height:1.7;background:#eaf2fa;padding:11px 13px;border-radius:6px;margin-top:16px}.home-quick{margin-top:22px}.quick-agenda{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #e2ebf4}.quick-agenda time{color:var(--blue);font-size:13px;font-weight:700;width:55px}.quick-agenda b{font-size:13px}.quick-agenda span{display:block;font-size:11px;color:var(--muted)}.page-top{background:linear-gradient(125deg,#004898,#096dc6);color:white;padding:23px 22px 24px;position:relative;overflow:hidden}.page-top::after{content:"";position:absolute;width:150px;height:150px;border:1px solid #8ce5ff40;transform:rotate(35deg);right:-65px;top:-35px;pointer-events:none}.page-top .back{font-size:11px;color:#b7ddff;display:inline-flex;margin-bottom:12px}.page-top h1{font-size:25px;letter-spacing:2px;line-height:1.3;margin:0 0 7px}.page-top p{font-size:12px;line-height:1.7;color:#c3e6ff;margin:0}.page-content{padding:18px 20px}.card{background:white;border:1px solid var(--line);border-radius:10px;padding:19px;margin:0 0 14px;box-shadow:var(--shadow)}.card h2{font-size:17px;margin:0 0 13px;line-height:1.4}.card h3{font-size:14px;margin:12px 0 7px}.card p{margin:6px 0;color:var(--muted);font-size:12px;line-height:1.8}.tag{display:inline-block;padding:3px 8px;border-radius:4px;font-size:10px;color:var(--blue);background:#eaf4ff}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;border-radius:6px;padding:12px 18px;min-height:44px;font-size:14px;font-weight:700;line-height:1.3;text-align:center}.primary{background:var(--blue);color:white;border:1px solid var(--blue)}.secondary{color:var(--blue);background:#edf6ff;border:1px solid #d1e3f7}.wide{width:100%}.button-row{display:flex;gap:10px;margin-top:14px}.button-row>*{flex:1}.field{margin:0 0 16px}.field>label,.field>legend{display:block;font-size:13px;font-weight:700;margin-bottom:7px}.req{color:#0878d8;margin-left:3px}.field input[type=text],.field input[type=tel],.field select,.field textarea{width:100%;border:1px solid #ceddeb;border-radius:6px;padding:12px;background:#fbfdff;outline:none;min-height:45px;font-size:14px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#1381d8;box-shadow:0 0 0 3px #1381d818}.field textarea{height:86px;resize:vertical}.field .hint{font-size:11px;color:var(--muted);margin-top:4px}.field .error{font-size:11px;color:#b72f36;margin:5px 0;min-height:0}.field.invalid input,.field.invalid select{border-color:#c74d55}.choice-grid{display:grid;gap:8px}.choice{display:flex;align-items:flex-start;gap:9px;padding:12px;border:1px solid var(--line);border-radius:6px;font-size:13px;background:#fbfdff;cursor:pointer}.choice:has(input:checked){border-color:#3793dc;background:#edf6ff}.choice input{margin-top:4px;accent-color:var(--blue);width:16px;height:16px;flex-shrink:0}.choice b{display:block;font-weight:600}.choice small{display:block;font-size:11px;color:var(--muted);margin-top:2px}.inline-choices{display:flex;gap:8px}.inline-choices .choice{flex:1}.check-label{display:flex;gap:9px;font-size:11px;line-height:1.7;align-items:flex-start}.check-label input{accent-color:var(--blue);margin-top:4px;width:16px;height:16px}.form-section{border:none;padding:0;margin:0 0 19px}.form-section legend{font-size:15px;font-weight:700;border-bottom:1px solid var(--line);padding:0 0 10px;width:100%;margin-bottom:15px}.success-head{text-align:center;padding:18px 0}.success-mark{width:46px;height:46px;border-radius:50%;background:#e6f5ee;color:#27815b;display:grid;place-items:center;font-size:25px;margin:0 auto 12px}.success-head h2{margin:0;font-size:20px}.kv-line{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #edf2f7;padding:10px 0;font-size:12px}.kv-line span{color:var(--muted)}.kv-line b{text-align:right;font-weight:600;word-break:break-word}.tabs{display:flex;gap:7px;padding-bottom:3px;overflow-x:auto;margin:0 0 16px}.tabs button{font-size:12px;white-space:nowrap;border:1px solid #d9e5f2;padding:8px 12px;border-radius:5px;background:white;color:var(--muted);min-height:38px}.tabs button.active{background:var(--blue);color:white;border-color:var(--blue)}details.card{padding:0;overflow:hidden}details.card>summary{list-style:none;padding:17px 18px;cursor:pointer;position:relative;padding-right:34px}details.card>summary::-webkit-details-marker{display:none}details.card>summary::after{content:"+";position:absolute;right:18px;top:28px;color:var(--bright);font-size:20px}details.card[open]>summary::after{content:"−"}summary time{font-size:12px;letter-spacing:.3px;color:var(--bright);font-weight:700;display:block}summary h2{margin:5px 0!important;font-size:16px!important}summary small{font-size:10px;color:var(--muted)}.detail-body{padding:0 18px 17px;border-top:1px solid var(--line)}.timeline-row{display:grid;grid-template-columns:91px 1fr;gap:9px;padding:11px 0;border-bottom:1px solid #edf2f7;font-size:12px}.timeline-row>span{color:var(--bright);font-size:11px;font-weight:600}.timeline-row b{font-weight:600}.search-box{display:flex;gap:8px}.search-box input{min-width:0;flex:1;border:1px solid #c9ddeb;border-radius:6px;padding:12px;font-size:14px}.search-box button{padding:10px 15px}.sample-buttons{display:flex;gap:8px;margin-top:12px}.sample-buttons button{background:#edf5fe;border:none;color:var(--blue);font-size:11px;border-radius:4px;padding:7px 10px}.seat-ticket{background:linear-gradient(145deg,#004898,#087bd5);color:white;border-radius:8px;padding:24px 20px;margin-top:17px;position:relative;overflow:hidden}.seat-ticket::after{content:"";position:absolute;right:-30px;bottom:-35px;width:120px;height:120px;border:1px solid #8deaff44;transform:rotate(30deg)}.seat-ticket small{color:#bce8ff;font-size:10px;letter-spacing:1px}.seat-ticket h2{font-size:21px;margin:7px 0 3px}.seat-ticket .seat-number{font-size:30px;font-weight:800;margin:13px 0 9px;color:#d7f7ff}.seat-ticket p{color:#c9e8ff!important}.seat-map{padding:17px 4px;text-align:center}.seat-map .stage{margin:0 30px 18px;border-radius:4px;background:#dfeeff;padding:7px;font-size:11px;color:var(--blue);letter-spacing:5px}.zones{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.zone{border:1px solid #d7e6f4;padding:8px;border-radius:4px;color:#6d91b3;font-size:11px}.zone.selected{border-color:#0b7dd1;color:var(--blue);background:#eaf5ff}.seats{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:9px}.seats i{height:8px;border-radius:2px;background:#d8e7f5}.zone.selected .seats i{background:#66b5ef}.empty-state{padding:20px 0;text-align:center;font-size:12px;color:var(--muted)}.venue-image{width:calc(100% + 38px);margin:-19px -19px 15px;display:block;aspect-ratio:16/9;object-fit:cover;border-radius:10px 10px 0 0}.address{font-size:14px!important;color:var(--ink)!important;font-weight:600}.service-detail summary{padding:16px 18px!important;font-size:14px;font-weight:600}.service-detail summary::after{top:12px!important}.service-detail .detail-body{padding-top:12px}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.product-card{border:1px solid var(--line);border-radius:8px;background:white;overflow:hidden}.product-card img{width:100%;height:120px;object-fit:cover;display:block}.product-card>div{padding:13px}.product-card h2{font-size:15px;margin:0 0 5px}.product-card p{font-size:10px;color:var(--muted);margin:0}.product-card a{font-size:11px;color:var(--bright);display:block;margin-top:9px}.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.photo-button{padding:0;border:none;border-radius:7px;background:white;overflow:hidden;text-align:left;box-shadow:var(--shadow)}.photo-button img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.photo-button span{display:block;padding:10px;font-size:11px}.download-card{display:flex;gap:13px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:8px;background:white;margin-bottom:10px;cursor:pointer;text-align:left;width:100%}.download-card .file-icon{font-size:22px;color:var(--bright);background:#edf6ff;border-radius:4px;width:44px;height:44px;display:grid;place-items:center;flex-shrink:0}.download-card b{font-size:13px;display:block}.download-card small{font-size:10px;color:var(--muted);display:block}.download-card .download-arrow{margin-left:auto;color:var(--bright)}.muted-footer{text-align:center;color:#8aa0b5;font-size:10px;letter-spacing:1px;padding:18px 0 3px}.text-button{border:none;background:none;color:var(--bright);font-size:12px;padding:5px 0;text-decoration:underline}.hidden,[hidden]{display:none!important}#toast{position:fixed;z-index:60;bottom:95px;left:50%;transform:translate(-50%,15px);background:#113b62f0;color:white;max-width:calc(100% - 40px);padding:12px 20px;border-radius:7px;font-size:12px;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}dialog{padding:0;border:none;background:#042447;color:white;width:min(880px,94vw);border-radius:9px;box-shadow:0 30px 100px #00162980}dialog::backdrop{background:#001222dc;backdrop-filter:blur(5px)}#lightbox-image{width:100%;max-height:75vh;object-fit:contain;display:block}.dialog-close{position:absolute;right:10px;top:10px;z-index:2;color:white;border:1px solid #ffffff70;background:#002955b0;border-radius:50%;height:36px;width:36px;font-size:24px;line-height:1}.lightbox-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 14px}.lightbox-footer p{font-size:12px}.lightbox-footer button{color:white;border:1px solid #7aa4c755;background:none;border-radius:5px;width:40px;height:36px}.fade-in{animation:fade-in .18s ease-out}@keyframes fade-in{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(max-width:950px){.desktop-note{display:none}}@media(max-width:480px){body{background:var(--paper)}#shell{box-shadow:none}.brandbar{padding:12px 19px;height:61px}.brandbar img{width:260px}.hero{min-height:444px;padding:25px 23px 0}.hero h1{font-size:29px}.hero .equipment-space{height:87px}.page-content{padding:17px}.home-body{padding:19px 17px 0}.hero .theme{font-size:18px;letter-spacing:3px}}@media(max-width:360px){.hero h1{font-size:26px}.hero h1 strong{font-size:1.08em}.hero .theme{font-size:16px}.brandbar img{width:230px}.brandbar{padding:12px 13px}.menu-card{padding:14px}.timeline-row{grid-template-columns:84px 1fr}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
.hero{background-size:100% 100%;min-height:580px}.hero .equipment-space{height:160px}@media(max-width:480px){.hero{min-height:550px}.hero .equipment-space{height:150px}}

.route-entry{display:flex;align-items:center;gap:12px;background:linear-gradient(115deg,#004898,#0879d5);color:white;padding:17px 16px;border-radius:9px;margin:17px 0;box-shadow:0 8px 22px #075da12a}.route-entry-icon{font-size:31px;line-height:1}.route-entry b{display:block;font-size:15px}.route-entry small{display:block;color:#bce9ff;font-size:10px;margin-top:4px}.route-entry>span:last-child{margin-left:auto}.destination-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 16px}.destination-shortcuts a{border:1px solid #d4e3f1;background:white;border-radius:5px;padding:11px;font-size:12px;color:var(--blue)}.guide-notice{font-size:11px;color:#9b6729;background:#fff4df;border:1px solid #eed7b3;padding:9px 12px;border-radius:5px;margin-bottom:13px}.destination-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.destination-grid button{border:1px solid #d8e4f0;border-radius:6px;background:white;color:var(--muted);font-size:10px;min-height:69px;padding:9px 3px;line-height:1.4}.destination-grid button>span{display:block;font-size:19px;color:#1a79c5;margin-bottom:4px;font-weight:700}.destination-grid button.active{border-color:#1182d8;background:#e9f5ff;color:var(--blue);font-weight:700;box-shadow:0 0 0 1px #1182d8}.guide-route-meta{display:flex;justify-content:space-between;gap:8px;font-size:11px;padding:17px 2px 12px;color:var(--muted)}.guide-route-meta b{color:var(--blue)}.guide-card{border:1px solid var(--line);border-radius:10px;background:white;overflow:hidden;box-shadow:var(--shadow)}.guide-photo-wrap{position:relative}.guide-photo-wrap img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.guide-photo-label{position:absolute;top:10px;left:10px;font-size:10px;color:white;background:#103a62bb;backdrop-filter:blur(5px);border-radius:4px;padding:4px 8px}.guide-step-badge{position:absolute;bottom:10px;right:10px;font-size:11px;color:white;background:#103a62d0;padding:4px 10px;border-radius:30px}.guide-instruction{padding:18px}.guide-kicker{color:#1283d9;font-size:10px;letter-spacing:2px;margin:0 0 7px;font-weight:700}.guide-instruction h2{font-size:19px;line-height:1.45;margin:0 0 8px}.guide-instruction h3{font-size:12px;font-weight:500;color:#4f6e8c;margin:0}.guide-instruction>p:not(.guide-kicker){font-size:11px;line-height:1.8;color:var(--muted)}.step-dots{display:flex;justify-content:center;gap:11px;padding:10px}.step-dots button{width:26px;height:26px;border-radius:50%;background:#edf4fc;color:#7894ac;border:1px solid #d7e5f2;font-size:11px}.step-dots button.active{background:var(--blue);color:white;border-color:var(--blue)}
.external-portal{display:block;background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:18px}.external-portal img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.external-portal>div{padding:18px}.external-portal h2{font-size:18px;margin:0 0 8px}.external-portal p{font-size:13px;color:#50667e;margin:0 0 12px}.external-portal b{font-size:13px;color:var(--blue)}.external-portal.unavailable b{color:#586a7e}.lookup-error{color:#a82a36;font-size:13px}.kv-line b{overflow-wrap:anywhere}.external-portal:focus-visible{outline:3px solid #087add;outline-offset:3px}
