:root{--forest:#1c2d26;--paper:#f7f4ec;--coral:#dc7659;--ink:#1d2b25;--muted:#66736c}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--forest)}
body{font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;letter-spacing:0;-webkit-font-smoothing:antialiased}
a{-webkit-tap-highlight-color:transparent}
svg{width:1em;height:1em;stroke-width:1.8}
.portal{position:relative;width:100%;max-width:860px;min-height:100svh;margin:0 auto;overflow:hidden;color:#fff;background:var(--forest)}
.portal__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%}
.portal__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,24,20,.28),rgba(13,26,21,.4) 35%,rgba(13,25,20,.9) 100%)}
.portal__header{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:calc(22px + env(safe-area-inset-top)) 22px 0}
.wordmark{font:700 27px/1 STSong,"Songti SC",serif}
.wordmark span{display:block;margin-top:5px;font:500 8px/1 Arial,sans-serif;letter-spacing:2.5px}
.location{display:flex;align-items:center;gap:5px;color:rgba(255,255,255,.82);font-size:11px}
.location svg{font-size:15px}
.portal__content{position:relative;z-index:1;display:flex;min-height:calc(100svh - 118px);flex-direction:column;justify-content:flex-end;padding:50px 18px 34px}
.portal__intro{padding:0 5px 26px}
.eyebrow{margin:0 0 12px;font:600 10px/1 Arial,sans-serif;letter-spacing:2.6px;color:rgba(255,255,255,.7)}
h1{margin:0;font:600 38px/1.2 STSong,"Songti SC",serif;letter-spacing:0}
.intro-copy{max-width:330px;margin:14px 0 0;color:rgba(255,255,255,.72);font-size:13px;line-height:1.7}
.choice-list{display:grid;gap:11px}
.choice{position:relative;display:grid;grid-template-columns:54px 1fr 24px;align-items:center;gap:15px;min-height:148px;padding:22px 18px;color:var(--ink);text-decoration:none;background:rgba(255,255,255,.93);border:1px solid rgba(255,255,255,.65);border-radius:8px;box-shadow:0 16px 34px rgba(7,18,13,.15);backdrop-filter:blur(14px);transition:transform .18s ease,background .18s ease}
.choice:active{transform:scale(.985);background:#fff}
.choice__icon{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#dce7e1;color:var(--forest);font-size:24px}
.choice__icon--warm{background:#f3ddd5;color:#9c4d39}
.choice__label{display:block;margin-bottom:7px;color:#7a867f;font:600 9px/1 Arial,sans-serif;letter-spacing:1.8px}
.choice h2{margin:0;font:600 25px/1.25 STSong,"Songti SC",serif;letter-spacing:0}
.choice p{margin:8px 0 0;color:var(--muted);font-size:11px;line-height:1.5}
.choice .season-note{display:flex;align-items:flex-start;gap:7px;margin-top:11px;color:#9f4935;font-size:14px;line-height:1.55;font-weight:700}
.season-note svg{flex:0 0 auto;margin-top:2px;font-size:16px}
.choice__arrow{justify-self:end;color:#89948e;font-size:19px}
footer{position:relative;z-index:1;padding:0 22px calc(18px + env(safe-area-inset-bottom));color:rgba(255,255,255,.48);font-size:9px;letter-spacing:2px;text-align:center}
@media(min-width:700px){.portal__header{padding-left:52px;padding-right:52px}.portal__content{padding:80px 52px 42px}.portal__intro{padding-bottom:32px}.portal__intro h1{font-size:44px}.choice-list{grid-template-columns:repeat(2,minmax(0,1fr))}.choice{min-height:190px;grid-template-columns:1fr 26px;align-content:center}.choice__icon{grid-row:1/3;margin-bottom:20px}.choice__body{grid-column:1/2}.choice__arrow{grid-column:2;grid-row:1/3;align-self:center}}
@media(max-height:700px){.portal__content{padding-top:30px}.portal__intro{padding-bottom:18px}.choice{min-height:126px;padding-top:16px;padding-bottom:16px}}
@media(prefers-reduced-motion:reduce){.choice{transition:none}}
