/* skyhang.com · SKYHANG 天空港 · I社3D游戏登机指南 · 游戏38号 */
:root{--sky:#eaf4fb;--sky2:#cfe6f7;--ink:#1c2430;--mut:#5b6878;--red:#e63946;--red2:#c92a37;--ok:#2bb673;--warn:#f4a261;--brd:#1f2630;--flap:#2a323d;--card:#fff;--line:#d5e3ee;--r:16px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:linear-gradient(180deg,#d9ecfa 0,#eaf4fb 420px,#f6f9fc 100%);color:var(--ink);font:16px/1.75 -apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif;padding-bottom:64px}
a{color:#1d5fa8}img{max-width:100%;height:auto;display:block}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Courier New",monospace;letter-spacing:.04em}
.w{max-width:1180px;margin:0 auto;padding-left:18px;padding-right:18px}
.agebar{background:var(--red);color:#fff;font-size:13px;text-align:center;padding:5px 10px}.agebar a{color:#fff}
.hd{background:#fff;border-bottom:3px dashed #c9d9e6;position:sticky;top:0;z-index:20}
.hd .w{display:flex;align-items:center;gap:14px;min-height:64px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);flex:none}
.logo i{width:38px;height:38px;border-radius:10px;background:var(--red);position:relative;display:block;transform:rotate(-8deg)}
.logo i:before{content:"";position:absolute;left:7px;top:16px;width:24px;height:6px;background:#fff;border-radius:6px 2px 2px 6px}
.logo i:after{content:"";position:absolute;left:14px;top:8px;width:8px;height:22px;background:#fff;border-radius:3px;transform:skewX(-24deg)}
.logo span{font-weight:800;font-size:19px;line-height:1.1}.logo small{display:block;font-weight:500;font-size:11px;color:var(--mut)}
.nav{display:flex;gap:5px;flex:1;overflow-x:auto;scrollbar-width:none;padding:8px 0}.nav::-webkit-scrollbar{display:none}
.nav a{flex:none;display:flex;align-items:center;gap:6px;text-decoration:none;color:#fff;background:var(--brd);border-radius:8px;padding:4px 8px 4px 5px;font-size:13px;white-space:nowrap}
.nav a b{background:var(--red);color:#fff;border-radius:5px;padding:0 5px;font-size:11px;line-height:18px}
.nav a[aria-current=page]{background:var(--red)}.nav a[aria-current=page] b{background:#fff;color:var(--red)}
.go{flex:none;background:var(--red);color:#fff;text-decoration:none;border-radius:999px;padding:8px 16px;font-weight:700;font-size:14px;box-shadow:0 4px 0 var(--red2)}
.go:hover{background:var(--red2)}
@media (max-width:860px){.hd .w{flex-wrap:wrap;gap:6px 10px;padding-top:6px}.nav{order:3;flex-basis:100%;padding:0 0 8px}.go{margin-left:auto;padding:7px 12px;font-size:13px}}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:center;padding-top:34px;padding-bottom:18px;overflow:hidden}
.kicker{display:inline-block;background:var(--brd);color:#fff;border-radius:6px;padding:2px 10px;font-size:12px}
.hero h1{font-size:44px;line-height:1.18;margin:14px 0 12px;letter-spacing:-.01em}
.hero h1 em{font-style:normal;color:var(--red);background:linear-gradient(transparent 62%,#ffd9dc 62%)}
.lead{font-size:17px;color:#33404f;margin:0 0 18px}
.btns{display:flex;flex-wrap:wrap;gap:10px}
.btn{display:inline-flex;align-items:center;gap:6px;background:var(--red);color:#fff;text-decoration:none;border-radius:12px;padding:11px 18px;font-weight:700;box-shadow:0 4px 0 var(--red2)}
.btn.ghost{background:#fff;color:var(--ink);box-shadow:0 4px 0 #b9cad8;border:1px solid #c9d9e6}
.stats{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}.stats div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 14px;font-size:13px;color:var(--mut)}.stats b{display:block;font-size:22px;color:var(--ink)}
.win{position:relative;justify-self:center;width:min(420px,100%)}
.win .frame{background:#fff;border-radius:46%/36%;padding:16px;box-shadow:0 18px 40px rgba(28,36,48,.18),inset 0 0 0 2px #e4edf4}
.win .frame>div{border-radius:44%/34%;overflow:hidden;box-shadow:inset 0 0 24px rgba(0,0,0,.35);position:relative}
.win .frame>div:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 30px rgba(0,0,0,.28);background:linear-gradient(130deg,rgba(255,255,255,.28),transparent 40%)}
.win .frame img{width:100%;aspect-ratio:4/5;object-fit:cover}
.win .tag{position:absolute;left:-14px;bottom:44px;background:var(--brd);color:#fff;border-radius:10px;padding:6px 12px;font-size:13px;box-shadow:0 6px 16px rgba(0,0,0,.2)}
.win .tag b{color:#8be0b4}
.win .belt{position:absolute;right:-6px;top:30px;background:#fff;border:2px solid var(--brd);border-radius:10px;padding:4px 10px;font-size:12px;font-weight:700}
.win .belt:before{content:"18+";background:var(--red);color:#fff;border-radius:4px;padding:0 4px;margin-right:6px}
@media (max-width:860px){.hero{grid-template-columns:1fr;gap:18px;padding-top:18px}.win{order:-1;width:min(300px,82%)}.hero h1{font-size:30px}.win .tag{left:0}.win .belt{right:0}}
.sec{padding-top:34px;padding-bottom:10px}
.sec>h2,.page h2{font-size:26px;margin:0 0 6px;line-height:1.3}.sec h2 .mono{display:block;font-size:12px;color:var(--red);font-weight:700}
.sub{color:var(--mut);margin:0 0 18px}
.board{background:var(--brd);border-radius:14px;padding:14px;color:#f5f7fa;box-shadow:0 10px 28px rgba(28,36,48,.25);overflow-x:auto}
.board table{width:100%;border-collapse:separate;border-spacing:0 6px;min-width:640px}
.board th{font-size:11px;color:#9fb0c2;text-align:left;font-weight:600;padding:0 8px;letter-spacing:.08em}
.board td{padding:0 4px}.board td span{display:block;background:var(--flap);border-radius:5px;padding:6px 8px;position:relative;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:14px;white-space:nowrap}
.board td span:after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(0,0,0,.55)}
.board td a{color:#fff;text-decoration:none}.board .st{color:#8be0b4;font-weight:700}.board .st.b{color:#ffd166}.board .st.d{color:#ff8a8a}
.passes{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.bp{display:grid;grid-template-columns:1fr 168px;background:var(--card);border-radius:var(--r);box-shadow:0 8px 22px rgba(28,36,48,.1);text-decoration:none;color:var(--ink);overflow:hidden;border:1px solid var(--line)}
.bp:hover{box-shadow:0 12px 30px rgba(28,36,48,.18)}
.bp .main{padding:0 0 14px}.bp .top{display:flex;justify-content:space-between;align-items:center;background:var(--brd);color:#fff;padding:6px 14px;font-size:12px}
.bp .top b{color:#8be0b4}.bp img{width:100%;aspect-ratio:3/2;object-fit:cover}
.bp .route{display:flex;align-items:center;gap:8px;padding:10px 14px 0;font-size:12px;color:var(--mut)}.bp .route i{flex:1;border-top:2px dashed #b9cad8;position:relative}.bp .route i:after{content:"✈";position:absolute;left:46%;top:-13px;color:var(--red);font-style:normal;font-size:15px}
.bp h3,.bp h2{font-size:19px;margin:6px 14px 2px;line-height:1.35}.bp p{margin:0 14px;font-size:14px;color:#3f4b5a}
.bp .stub{border-left:2px dashed #c9d9e6;padding:14px 12px;position:relative;background:linear-gradient(#fbfdff,#f1f7fc);display:flex;flex-direction:column;gap:6px;font-size:12px}
.bp .stub:before,.bp .stub:after{content:"";position:absolute;left:-11px;width:20px;height:20px;border-radius:50%;background:var(--sky)}
.bp .stub:before{top:-10px}.bp .stub:after{bottom:-10px}
.kv{display:flex;justify-content:space-between;gap:6px}.kv b{font-family:ui-monospace,Menlo,Consolas,monospace}
.bar{height:34px;background:repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 4px,var(--ink) 4px 7px,transparent 7px 9px,var(--ink) 9px 10px,transparent 10px 13px);border-radius:2px;margin-top:auto}
.meter{display:grid;grid-template-columns:auto 1fr;gap:3px 8px;align-items:center;font-size:11px}
.meter span{height:6px;border-radius:6px;background:var(--ok);display:block}.meter span.o{background:var(--red)}
.meter i{font-style:normal;color:var(--mut)}.meter u{text-decoration:none;display:block;background:#e3ecf3;border-radius:6px}
@media (max-width:860px){.passes{grid-template-columns:1fr}.bp{grid-template-columns:1fr}.bp .stub{border-left:0;border-top:2px dashed #c9d9e6}.bp .stub:before,.bp .stub:after{top:-11px;left:auto}.bp .stub:before{left:-10px}.bp .stub:after{right:-10px;bottom:auto}}
.terms{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.term{background:#fff;border-radius:var(--r);padding:18px;text-decoration:none;color:var(--ink);border:1px solid var(--line);position:relative;overflow:hidden}
.term b.t{font-size:54px;line-height:1;font-weight:900;color:var(--sky2);position:absolute;right:12px;top:6px}
.term strong{font-size:19px;display:block;margin:6px 0}.term p{margin:0;font-size:14px;color:#3f4b5a;position:relative}
.term .mono{font-size:11px;color:var(--red);font-weight:700}
.routes{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.rt{background:linear-gradient(160deg,#fff,#eef6fc);border-radius:var(--r);padding:16px;text-decoration:none;color:var(--ink);border:1px solid var(--line)}
.rt svg{width:100%;height:40px;display:block}.rt small{color:var(--red);font-weight:700}.rt b{display:block;font-size:17px;margin:2px 0}.rt p{margin:0;font-size:13px;color:#3f4b5a}
.guides{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.gd{background:#fff;border-radius:12px;padding:14px;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-top:4px solid var(--ok)}
.gd small{color:var(--mut)}.gd b{display:block;margin:2px 0;font-size:16px}
@media (max-width:860px){.terms,.routes{grid-template-columns:1fr}.guides{grid-template-columns:1fr 1fr}}
.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;margin:0 0 10px;padding:0 16px}
.faq summary{cursor:pointer;font-weight:700;padding:12px 0;list-style:none}.faq summary:before{content:"Q ";color:var(--red);font-family:ui-monospace,Menlo,monospace}
.faq p{margin:0 0 14px;color:#33404f}
.cta{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--brd);color:#fff;border-radius:var(--r);padding:20px 22px;position:relative;overflow:hidden}
.cta:before{content:"GATE";position:absolute;right:16px;top:-10px;font-size:84px;font-weight:900;color:rgba(255,255,255,.06)}
.cta b{font-size:20px}.cta p{margin:4px 0 0;color:#c4d0dc;font-size:14px}
@media (max-width:860px){.cta{flex-direction:column;align-items:flex-start}}
.crumb{font-size:13px;color:var(--mut);padding-top:14px;padding-bottom:0}.crumb a{color:var(--mut)}
.page h1{font-size:34px;line-height:1.25;margin:10px 0 10px}
@media (max-width:860px){.page h1{font-size:26px}}
.prose p{max-width:820px}
.fhead{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:start;padding-top:18px}
.fhead .shot{background:#fff;border-radius:28px;padding:12px;box-shadow:0 14px 34px rgba(28,36,48,.16)}.fhead .shot img{border-radius:20px;width:100%;aspect-ratio:3/2;object-fit:cover}
.ticket{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:14px 0}
.ticket table{width:100%;border-collapse:collapse;font-size:14px}.ticket th{width:86px;text-align:left;background:#f1f7fc;color:var(--mut);font-weight:600;padding:7px 12px;border-bottom:1px solid var(--line)}.ticket td{padding:7px 12px;border-bottom:1px solid var(--line)}
@media (max-width:860px){.fhead{grid-template-columns:1fr}}
.plan{list-style:none;padding:0;margin:0;border-left:3px dashed #b9cad8}
.plan li{position:relative;padding:0 0 14px 22px}.plan li:before{content:"✈";position:absolute;left:-12px;top:0;background:var(--sky);color:var(--red);font-size:15px;line-height:22px}
.plan b{display:inline-block;background:var(--brd);color:#fff;border-radius:6px;padding:0 8px;font-size:13px;margin-right:6px}
.notes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.notes div{background:#fff7e9;border:1px solid #f6d7a8;border-radius:12px;padding:12px 14px;font-size:14px}.notes strong{display:block;color:#a35d00}
@media (max-width:860px){.notes{grid-template-columns:1fr}}
.gal{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.gal figure{margin:0}.gal img{border-radius:14px;width:100%;aspect-ratio:3/2;object-fit:cover}.gal figcaption{font-size:12px;color:var(--mut);margin-top:4px}
@media (max-width:860px){.gal{grid-template-columns:1fr}}
.r18 summary{list-style:none;cursor:pointer;position:relative;border-radius:14px;overflow:hidden}.r18 summary::-webkit-details-marker{display:none}
.r18 summary img{filter:blur(22px);transform:scale(1.06)}.r18[open] summary img{filter:none;transform:none}
.r18 .cov{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;background:rgba(28,36,48,.45);font-size:14px}.r18 .cov b{background:var(--red);border-radius:6px;padding:0 8px;font-size:18px;margin-bottom:6px}.r18[open] .cov{display:none}
.rel{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.rel .bp{grid-template-columns:1fr}.rel .bp .stub{display:none}
@media (max-width:860px){.rel{grid-template-columns:1fr}}
.tblw{overflow-x:auto}.tbl{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;font-size:14px;min-width:560px}.tbl th{background:var(--brd);color:#fff;text-align:left;padding:8px 10px;font-weight:600}.tbl td{padding:8px 10px;border-bottom:1px solid var(--line)}
.stops{list-style:none;padding:0;margin:16px 0}.stops li{display:grid;grid-template-columns:52px 1fr;gap:12px;margin-bottom:14px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px}
.stops li>b{width:44px;height:44px;border-radius:50%;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;font-family:ui-monospace,Menlo,monospace}
.stops h2{font-size:19px;margin:0}.stops p{margin:4px 0}
.srch input{width:100%;font-size:17px;padding:12px 14px;border:2px solid var(--brd);border-radius:12px;margin:8px 0}
.srch ul{list-style:none;padding:0}.srch li{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin-bottom:8px}.srch li small{display:block;color:var(--mut)}
.lang{font-size:13px}
.ft{background:var(--brd);color:#c4d0dc;margin-top:40px;padding:26px 0 30px;font-size:14px}
.ft .cols{display:flex;flex-wrap:wrap;gap:8px 18px;margin-bottom:12px}.ft a{color:#fff}
.ft .r18n{border:1px solid #3a4553;border-radius:10px;padding:10px 14px;margin:10px 0}
.dock-x{position:fixed;opacity:0;pointer-events:none}
.dock{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;align-items:stretch;background:var(--red);box-shadow:0 -4px 16px rgba(0,0,0,.18)}
.dock a{flex:1;color:#fff;text-decoration:none;font-weight:800;text-align:center;padding:13px 10px;font-size:16px}
.dock a:before{content:"✈ ";}
.dock label{width:46px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:22px;cursor:pointer;border-left:1px solid rgba(255,255,255,.35)}
.dock-x:checked+.dock{display:none}
@media (min-width:861px){body{padding-bottom:0}.dock{left:auto;right:20px;bottom:20px;border-radius:14px;overflow:hidden;max-width:360px}.dock a{padding:12px 16px;font-size:15px}}
