
    #home { width:100%; }
    #home .pm-cover { position:relative; width:100%; aspect-ratio:16/9; min-height:400px; overflow:hidden; background:#080e19; color:#eee5d5; isolation:isolate; }
    #home .pm-canvas { display:block; position:absolute; inset:0; width:100%; height:100%; }
    #home .pm-nav { position:absolute; right:4.8%; top:4.8%; display:flex; gap:28px; z-index:5; }
    #home .pm-nav button { position:relative; padding:6px 0; border:0; background:transparent; color:#eee5d5; font:400 13px Arial,'Noto Sans CJK SC',sans-serif; letter-spacing:.08em; }
    #home .pm-nav button::after { content:''; position:absolute; bottom:0; left:0; width:100%; height:1px; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform .4s cubic-bezier(.22,1,.36,1); }
    #home .pm-nav button:hover::after, #home .pm-nav button:focus-visible::after { transform:scaleX(1); }
    #home .pm-caption { position:absolute; left:4.8%; top:60%; margin:0; color:#ece3d4; font:400 clamp(12px,1.5vw,18px) 'Songti SC','Noto Serif CJK SC',serif; letter-spacing:.04em; transition:opacity .9s,transform .9s; display:flex; flex-wrap:wrap; gap:0 13px; z-index:4; }
    #home .pm-caption span { white-space:nowrap; }
    #home .pm-caption span + span::before { content:'/'; margin-right:13px; opacity:.65; }
    #home .pm-planet-hit { position:absolute; padding:0; border:0; background:transparent; border-radius:50%; z-index:3; }
    #home .pm-planet-hit:focus-visible { outline:1px solid #d7e5db; outline-offset:8px; }
    #home .pm-planet-hit .pm-hover-label { position:absolute; bottom:15%; left:50%; transform:translate(-50%,5px); opacity:0; white-space:nowrap; color:#e6e9dc; font:400 12px Arial,'Noto Sans CJK SC',sans-serif; letter-spacing:.08em; transition:opacity .4s,transform .4s; }
    #home .pm-planet-hit:hover .pm-hover-label, #home .pm-planet-hit:focus-visible .pm-hover-label { opacity:.85; transform:translate(-50%,0); }
    #home .pm-directions { position:absolute; right:7%; top:72%; display:flex; flex-wrap:wrap; justify-content:flex-end; gap:11px 18px; z-index:6; }
    #home .pm-directions[hidden] { display:none; }
    #home .pm-directions button { padding:6px 0; color:#eae4d9; background:transparent; border:0; border-bottom:1px solid #899e99; font:400 12px 'Songti SC','Noto Serif CJK SC',serif; letter-spacing:.03em; animation:pm-direction-in .6s cubic-bezier(.22,1,.36,1) both; }
    #home .pm-directions button:nth-child(2) { animation-delay:.07s; }
    #home .pm-directions button:nth-child(3) { animation-delay:.14s; }
    #home .pm-directions button[aria-pressed="true"] { color:#bce2cf; border-color:#bce2cf; }
    #home .pm-selected { position:absolute; top:82%; right:7%; color:#becbc6; font:400 12px Arial,'Noto Sans CJK SC',sans-serif; letter-spacing:.06em; z-index:6; }
    #home .pm-footer { position:absolute; bottom:6.3%; left:4.8%; right:4.8%; display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; font:400 11px Arial,sans-serif; letter-spacing:.16em; z-index:4; }
    #home .pm-footer .pm-available { display:flex; align-items:center; gap:11px; }
    #home .pm-dot { width:6px; height:6px; border-radius:50%; background:#9bcfb8; }
    #home .pm-footer .pm-year::before { content:''; display:block; width:19px; height:1px; background:#aaa18f; margin-bottom:12px; }
    #home .pm-controls { margin-top:10px; }
    #home .pm-caption, #home .pm-footer { opacity:0; transition:none; }
    #home .pm-nav { opacity:0; visibility:hidden; }
    #home .pm-planet-hit:disabled { pointer-events:none; }
    #home .pm-identity-halo { position:absolute; left:4.5%; top:75%; width:24%; height:10%; background:radial-gradient(ellipse,#cad5c012,transparent 65%); opacity:0; transition:opacity .5s; pointer-events:none; }
    #home .pm-identity-halo.is-on { opacity:1; }
    @keyframes pm-direction-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
    @media (max-width:600px) {
      #home .pm-cover { aspect-ratio:4/5; min-height:510px; }
      #home .pm-nav { right:7%; top:5%; gap:22px; }
      #home .pm-nav button { min-height:38px; font-size:12px; }
      #home .pm-caption { left:7%; top:60%; max-width:85%; font-size:12px; gap:5px 8px; }
      #home .pm-caption span + span::before { margin-right:8px; }
      #home .pm-directions { left:7%; right:7%; top:68%; justify-content:flex-start; gap:8px 16px; }
      #home .pm-directions button { min-height:38px; }
      #home .pm-selected { left:7%; right:auto; top:77%; }
      #home .pm-footer { left:7%; right:7%; bottom:5%; font-size:11px; letter-spacing:.07em; gap:15px; }
      #home .pm-identity-halo { left:5%; top:81%; width:38%; }
    }
    @media (prefers-reduced-motion:reduce) {
      #home .pm-caption, #home .pm-footer, #home .pm-nav button::after { transition:none; }
      #home .pm-directions button { animation:none; }
    }

/* Integrated portfolio cover; the artwork retains the original 16:9 composition. */
body>.header{display:none}
#portfolio-load-error{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:32px;text-align:center;background:#080e19;color:#eee5d5}
#portfolio-load-error h2{font-size:clamp(24px,4vw,42px);letter-spacing:0}
#portfolio-load-error p{color:#acb8c0}
#portfolio-load-error button,#portfolio-load-error a{border:1px solid #899e99;border-radius:0;padding:12px 24px;background:transparent;color:#eee5d5}
html{scroll-padding-top:24px}
#home{max-width:none;margin:0;background:#080e19;position:relative}
#home .pm-cover{min-height:0}
#home .pm-controls{position:absolute;right:4.8%;bottom:1.25%;display:flex;gap:14px;margin:0;z-index:8}
#home .pm-controls button{background:transparent;border:0;border-bottom:1px solid #bdc9c540;color:#a6b1b8;font:12px/1.5 Arial,'Microsoft YaHei',sans-serif;padding:4px 0}
#home .pm-controls button:hover{color:#fff}
#home .pm-nav button{font-size:clamp(14px,1.1vw,19px)}
#home .pm-footer{font-size:clamp(11px,.85vw,16px);border:0;padding:0}
#home .pm-planet-hit{cursor:pointer}
#home .pm-directions button{font-size:clamp(12px,1vw,16px)}
#home .pm-directions{top:72%}
@media(max-width:600px){#home .pm-cover{min-height:560px;aspect-ratio:4/5}#home .pm-controls{right:7%;bottom:1.3%}#home .pm-controls button{font-size:11px}#home .pm-directions{top:65%;gap:4px 14px}#home .pm-directions button{font-size:12px}#home .pm-nav button{font-size:14px}#home .pm-caption{top:59%;font-size:12px}}
