body.portal { min-height: 100dvh; display: grid; place-items: center; padding: 22px 16px calc(24px + env(safe-area-inset-bottom)); background: radial-gradient(900px 440px at 50% -8%, #14705f 0%, #092e29 52%, #061d1a 100%); color: #fff; overflow-x: hidden; }
.portal-wrap { width: min(460px, 100%); perspective: 1000px; }
.portal-scene { height: 230px; position: relative; margin: -12px -6px 20px; border-radius: 30px; overflow: hidden; transform: rotateX(2deg); transform-style: preserve-3d; background: linear-gradient(180deg, #0b5f53 0%, #153f38 48%, #122a27 100%); box-shadow: inset 0 1px rgba(255,255,255,.18), 0 30px 60px rgba(0,0,0,.35); }
.portal-scene::after { content:""; position:absolute; inset:0; background:linear-gradient(115deg,rgba(255,255,255,.13),transparent 35%,rgba(0,0,0,.15)); pointer-events:none; }
.scene-sky { position:absolute; width:180px; height:180px; right:-35px; top:-70px; border-radius:50%; background:radial-gradient(circle,#b9fff0 0%,rgba(90,222,194,.28) 30%,transparent 68%); }
.scene-building { position:absolute; left:28px; top:52px; width:132px; height:100px; border-radius:9px 9px 3px 3px; transform:skewY(-3deg); background:linear-gradient(100deg,#e7f0ed,#9db5ae); box-shadow:14px 18px 24px rgba(0,0,0,.24), inset -15px 0 24px rgba(17,64,54,.14); }
.scene-building::before { content:"泰康医药"; position:absolute; left:16px; top:14px; color:#075848; font-weight:900; letter-spacing:.12em; }
.scene-building::after { content:""; position:absolute; left:13px; right:13px; bottom:0; height:50px; background:repeating-linear-gradient(90deg,#477d71 0 25px,#cbe0da 25px 29px); box-shadow:inset 0 5px 9px rgba(0,0,0,.18); }
.scene-building i { position:absolute; width:17px; height:10px; top:40px; background:#75ab9f; border:2px solid #d4e5e0; box-shadow:inset 0 2px 3px rgba(0,0,0,.25); }.scene-building i:nth-child(1){left:15px}.scene-building i:nth-child(2){left:45px}.scene-building i:nth-child(3){left:75px}
.scene-road { position:absolute; left:-40px; right:-30px; bottom:-60px; height:138px; transform:perspective(300px) rotateX(55deg) rotateZ(-5deg); background:#263b38; box-shadow:0 -9px 18px rgba(0,0,0,.25); }
.scene-road span { position:absolute; left:0; right:0; top:66px; height:4px; background:repeating-linear-gradient(90deg,#e7d88f 0 30px,transparent 30px 56px); }
.scene-van { position:absolute; right:38px; bottom:42px; width:136px; height:65px; transform:skewY(-2deg) rotate(-2deg); filter:drop-shadow(12px 15px 10px rgba(0,0,0,.38)); }
.van-box { position:absolute; left:0; top:0; width:86px; height:54px; border-radius:7px 4px 2px 3px; display:grid; place-items:center; color:#fff; font-size:21px; font-weight:900; background:linear-gradient(125deg,#ff8845,#e95012 62%,#a92e08); box-shadow:inset 0 2px rgba(255,255,255,.35),inset -8px -9px 14px rgba(114,28,0,.22); }
.van-cabin { position:absolute; right:0; bottom:11px; width:55px; height:43px; border-radius:8px 18px 4px 3px; background:linear-gradient(130deg,#f9fcfb,#aec4be 58%,#718b84); box-shadow:inset -7px -7px 12px rgba(22,54,46,.2); }
.van-cabin::before { content:""; position:absolute; right:8px; top:6px; width:28px; height:17px; transform:skewX(12deg); border-radius:3px 8px 2px 2px; background:linear-gradient(140deg,#9ed7d0,#28655b); box-shadow:inset 0 2px 4px rgba(255,255,255,.35); }
.wheel { position:absolute; bottom:0; width:24px; height:24px; border-radius:50%; background:radial-gradient(circle,#82908d 0 22%,#182320 24% 58%,#050807 60%); box-shadow:0 4px 5px rgba(0,0,0,.35); }.wheel.a{left:23px}.wheel.b{right:15px}
.scene-pin { position:absolute; width:16px; height:16px; border-radius:50% 50% 50% 0; transform:rotate(-45deg); background:#f7d864; box-shadow:0 7px 14px rgba(247,216,100,.45); }.scene-pin::after{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:#285c51;left:5px;top:5px}.scene-pin.p1{right:26px;top:42px}.scene-pin.p2{left:178px;top:28px;transform:rotate(-45deg) scale(.72)}
.kicker { margin: 0 0 8px; color: #8ed6c6; font-weight: 800; letter-spacing: .14em; font-size: 11px; }
h1 { margin: 0 0 8px; font-size: 31px; letter-spacing: -.03em; }
.lead { margin: 0 0 24px; color: #bcd0ca; line-height:1.55; }
.entry { position:relative; display: grid; gap: 6px; padding: 20px 20px 21px; border-radius: 18px; text-decoration: none; margin-bottom: 14px; transform:translateZ(0); transition:transform .15s ease,box-shadow .15s ease; overflow:hidden; }
.entry::after { content:"›"; position:absolute; right:19px; top:50%; transform:translateY(-50%); font-size:32px; opacity:.8; }
.entry:active { transform:translateY(5px); }
.entry.driver { background: linear-gradient(145deg,#ff8040,#eb5b15 62%,#a93209); color: #fff; box-shadow:0 9px 0 #7f2609,0 18px 30px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.3); }
.entry.finance { background: linear-gradient(145deg,#14a084,#08745f 62%,#06473d); color: #fff; box-shadow:0 9px 0 #03362f,0 18px 30px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.28); }
.entry strong { font-size: 21px; }
.entry span { opacity: .88; padding-right:28px; font-size:13px; }
.hint { color: #96ada7; font-size: 12px; text-align:center; margin:22px 0 0; }
.download { display:block; width:fit-content; max-width:100%; margin:25px auto 0; padding:10px 4px; color:#d9eee8; font-size:14px; text-underline-offset:4px; }
