/* Three more compositions on the same markup: console, poster, dawn. */
.layout-options{flex-wrap:wrap}

/* ── 04 深空终端: an observatory control room. Readouts, brackets, channels. ── */
[data-layout=console] body{background:#070b10;--gold:#f0a64a;--ink:#dfe7ee;--muted:#8597a6;--line:#7fa3c026}
[data-layout=console] #starfield{opacity:.5}
[data-layout=console] .site-header{background:none}
[data-layout=console] .site-header nav,[data-layout=console] .hero-top,[data-layout=console] .hero-bottom,[data-layout=console] .observation-controls,[data-layout=console] .card-link,[data-layout=console] .category,[data-layout=console] .layout-options button{font-family:ui-monospace,"Cascadia Mono",Consolas,"Microsoft YaHei",monospace}
[data-layout=console] .hero{margin:26px 6% 0;padding:24px 34px 0;height:780px;min-height:0;max-height:none;border:1px solid #7fa3c033;
 background:
  linear-gradient(#f0a64a,#f0a64a) top left/22px 1px no-repeat,linear-gradient(#f0a64a,#f0a64a) top left/1px 22px no-repeat,
  linear-gradient(#f0a64a,#f0a64a) top right/22px 1px no-repeat,linear-gradient(#f0a64a,#f0a64a) top right/1px 22px no-repeat,
  linear-gradient(#f0a64a,#f0a64a) bottom left/22px 1px no-repeat,linear-gradient(#f0a64a,#f0a64a) bottom left/1px 22px no-repeat,
  linear-gradient(#f0a64a,#f0a64a) bottom right/22px 1px no-repeat,linear-gradient(#f0a64a,#f0a64a) bottom right/1px 22px no-repeat,
  linear-gradient(#7fa3c00d 1px,transparent 1px) 0 0/48px 48px,linear-gradient(90deg,#7fa3c00d 1px,transparent 1px) 0 0/48px 48px,
  radial-gradient(ellipse at 72% 40%,#1a2a3d80,transparent 60%),#070b10cc}
[data-layout=console] .hero-top{letter-spacing:1.5px;color:#7f97ab}
[data-layout=console] .hero-top i{background:#f0a64a;box-shadow:0 0 9px #f0a64a;animation:console-blink 1.6s steps(2) infinite}
@keyframes console-blink{50%{opacity:.2}}
[data-layout=console] .motion-control{border-color:#f0a64a55;color:#f3c58a;background:#f0a64a10;border-radius:0}
[data-layout=console] .hero-copy{padding-top:72px;max-width:560px}
[data-layout=console] .hero .eyebrow:before{content:"> ";color:#8fb8d8}
[data-layout=console] h1{font-size:clamp(40px,4.4vw,64px);line-height:1.3;letter-spacing:3px;margin:20px 0}
[data-layout=console] .hero-copy h1 span{color:#f0a64a}
[data-layout=console] .intro{font-family:ui-monospace,Consolas,"Microsoft YaHei",monospace;font-size:12px;line-height:2;color:#9fb2c2;letter-spacing:.5px}
[data-layout=console] .explore{border-radius:0;border-color:#f0a64a88;background:#f0a64a14;color:#f6dcb4;font-family:ui-monospace,Consolas,monospace;letter-spacing:3px}
[data-layout=console] .observing-note{display:none}
[data-layout=console] .hero:after{content:"MOUNT    赤道式 · EQ\A FOV      0.75°\A EXPOSURE 30 s × 12\A SEEING   1.2″\A STATUS   TRACKING";position:absolute;left:34px;bottom:74px;z-index:1;white-space:pre;font:10px/2.1 ui-monospace,Consolas,"Microsoft YaHei",monospace;letter-spacing:1px;color:#7f9cb4;border-left:1px solid #f0a64a66;padding-left:14px;pointer-events:none}
[data-layout=console] .observatory-instrument{right:4%;bottom:64px;width:min(44vw,580px)}
[data-layout=console] .observatory-instrument figcaption{font-family:ui-monospace,Consolas,"Microsoft YaHei",monospace;color:#8fb8d8}
[data-layout=console] .scope-index{color:#f0a64a}
[data-layout=console] .hero-bottom{left:34px;right:34px;color:#6c8296}
[data-layout=console] .observation-controls{margin:0 6%;padding:16px 24px;border:1px solid #7fa3c033;border-top:0;background:#0a1118d9}
[data-layout=console] .observation-controls p{color:#a7bccb}
[data-layout=console] .observation-controls button{border-radius:0;border-color:#7fa3c055;background:transparent;font-size:10px}
[data-layout=console] .observation-targets button[aria-pressed=true],[data-layout=console] #open-observation{background:#f0a64a;border-color:#f0a64a;color:#140c02}
[data-layout=console] .destinations{padding:76px 6% 0;background:none;backdrop-filter:none;border-top:0}
[data-layout=console] .section-heading h2{font-size:24px}
[data-layout=console] .cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
[data-layout=console] .destination,[data-layout=console] .destination.labs,[data-layout=console] .destination.history{grid-column:auto;display:flex;flex-direction:column;border:1px solid #7fa3c033;margin-left:-1px;background:#0a1118d9;transition:background .2s,border-color .2s}
[data-layout=console] .destination:hover{transform:none;border-color:#f0a64a;background:#121a24;position:relative;z-index:1}
[data-layout=console] .card-art{height:150px;min-height:0;background:linear-gradient(#7fa3c00a 1px,transparent 1px) 0 0/16px 16px,#070b10;border-bottom:1px solid #7fa3c026}
[data-layout=console] .card-art>div{scale:.72;translate:0 -18px}
[data-layout=console] .coordinate{top:14px;bottom:auto;left:16px;color:#f0a64acc}
[data-layout=console] .coordinate:before{content:"CH·";color:#7f97ab}
[data-layout=console] .card-copy{padding:22px;display:flex;flex-direction:column;flex:1}
[data-layout=console] .card-copy h3{font-size:21px;margin:12px 0}
[data-layout=console] .card-copy p{font-size:12px;flex:1;min-height:0}
[data-layout=console] .card-link{font-size:10px;color:#a9bccb;margin-top:18px}
[data-layout=console] .closing .eyebrow{font-family:ui-monospace,Consolas,monospace}
[data-layout=console] .closing .eyebrow:after{content:"_";animation:console-blink 1.2s steps(2) infinite;margin-left:2px;color:#f0a64a}

/* ── 05 巨幕海报: one sentence set as large as the page allows. Destinations as an index. ── */
[data-layout=poster] body{background:#111836;--gold:#ff9e6e;--ink:#f3ead8;--muted:#a9aecb;--line:#f3ead824}
[data-layout=poster] #starfield{opacity:.6}
[data-layout=poster] .site-header{background:none}
[data-layout=poster] .hero{height:auto;min-height:0;max-height:none;padding:34px 6% 70px}
[data-layout=poster] .hero-copy{max-width:none;padding-top:54px}
[data-layout=poster] .hero .eyebrow{font-size:11px;letter-spacing:7px}
[data-layout=poster] h1{font-family:"Noto Serif SC","Source Han Serif SC","Songti SC",STSong,SimSun,serif;font-weight:900;font-size:clamp(64px,11.6vw,186px);line-height:1.04;letter-spacing:-.01em;margin:26px 0 36px}
[data-layout=poster] .hero-copy h1 span{color:transparent;-webkit-text-stroke:2px #ff9e6e}
[data-layout=poster] .intro{font-size:14px;max-width:440px;color:#c9cbe0}
[data-layout=poster] .explore{border-color:#ff9e6e;background:#ff9e6e;color:#1a1530;font-weight:600;border-radius:999px;padding:16px 26px}
[data-layout=poster] .explore span{color:#1a1530}
[data-layout=poster] .explore:hover{background:#ffb68f}
[data-layout=poster] .observatory-instrument{right:3%;bottom:30px;width:min(40vw,520px)}
[data-layout=poster] .hero-bottom{display:none}
[data-layout=poster] .observation-controls{border-color:#f3ead824}
[data-layout=poster] .observation-controls button{border-radius:999px;border-color:#f3ead840;background:transparent}
[data-layout=poster] .observation-targets button[aria-pressed=true],[data-layout=poster] #open-observation{background:#f3ead8;border-color:#f3ead8;color:#1a1530}
[data-layout=poster] .destinations{padding:110px 6% 0;background:none;backdrop-filter:none;border-top:0}
[data-layout=poster] .section-heading{align-items:end;margin-bottom:54px}
[data-layout=poster] .section-heading h2{font-family:"Noto Serif SC","Source Han Serif SC","Songti SC",STSong,SimSun,serif;font-weight:900;font-size:clamp(34px,4.6vw,66px);line-height:1.2;letter-spacing:0}
[data-layout=poster] .cards{display:block;border-top:1px solid #f3ead840}
[data-layout=poster] .destination{display:grid;grid-template-columns:150px minmax(0,1fr) minmax(0,1fr) auto;column-gap:40px;align-items:center;padding:36px 12px;border:0;border-bottom:1px solid #f3ead840;background:none;transition:background .25s}
[data-layout=poster] .destination:hover{transform:none;background:linear-gradient(90deg,#ff9e6e14,transparent 70%)}
[data-layout=poster] .card-art{grid-column:1;grid-row:1/3;height:auto;min-height:0;background:none;overflow:visible;align-self:start}
[data-layout=poster] .card-art>div{display:none}
[data-layout=poster] .coordinate{position:static;display:block;font-size:11px;color:#ff9e6e;padding-top:10px}
[data-layout=poster] .card-copy{display:contents}
[data-layout=poster] .category{grid-column:2;grid-row:1;align-self:end}
[data-layout=poster] .card-copy h3{grid-column:2;grid-row:2;font-family:"Noto Serif SC","Source Han Serif SC","Songti SC",STSong,SimSun,serif;font-weight:900;font-size:clamp(30px,3.4vw,52px);margin:8px 0 0;transition:color .25s}
[data-layout=poster] .destination:hover h3{color:#ff9e6e}
[data-layout=poster] .card-copy h3 span{display:none}
[data-layout=poster] .card-copy p{grid-column:3;grid-row:1/3;margin:0;min-height:0;font-size:13px;color:#b5b8d2}
[data-layout=poster] .card-link{grid-column:4;grid-row:1/3;border:0;margin:0;padding:0;gap:18px;font-size:11px;color:#c9cbe0;white-space:nowrap}
[data-layout=poster] .card-link b{font-size:26px;line-height:1;transition:translate .25s}
[data-layout=poster] .destination:hover .card-link b{translate:6px 0}
[data-layout=poster] .closing{padding:120px 20px}
[data-layout=poster] .closing p{font-family:"Noto Serif SC","Source Han Serif SC","Songti SC",STSong,SimSun,serif;font-weight:900;font-size:clamp(32px,4.8vw,64px);line-height:1.4;color:#f3ead8;letter-spacing:2px}

/* ── 06 破晓天幕: the sky just before sunrise, a ridge, and a glass bento of destinations. ── */
[data-layout=dawn] body{background:#15163a;--gold:#ffcf9e;--ink:#f8efe8;--muted:#cdbfd0;--line:#ffffff24}
[data-layout=dawn] .site-header{background:none}
[data-layout=dawn] .hero{margin:22px 6% 0;padding:30px 46px 0;height:740px;min-height:0;max-height:none;border-radius:30px;
 background:linear-gradient(180deg,#0c0f2e00 0%,#2a2560aa 34%,#6e4a80 62%,#d98e7a 86%,#f4bd8c 100%)}
[data-layout=dawn] .hero:before{content:"";position:absolute;left:0;right:0;bottom:0;height:150px;background:#151431;z-index:1;pointer-events:none;
 clip-path:polygon(0 62%,7% 48%,13% 55%,21% 30%,28% 44%,35% 38%,44% 58%,52% 46%,60% 52%,68% 26%,75% 40%,82% 34%,90% 50%,100% 40%,100% 100%,0 100%)}
[data-layout=dawn] .hero-top{color:#d6c7dc}
[data-layout=dawn] .motion-control{border-radius:999px;background:#ffffff14;border-color:#ffffff33;color:#f2e6ee}
[data-layout=dawn] .hero-copy{padding-top:84px;text-shadow:none}
[data-layout=dawn] h1{font-weight:300;font-size:clamp(44px,5vw,78px);letter-spacing:8px}
[data-layout=dawn] .hero-copy h1 span{color:#ffd8b0}
[data-layout=dawn] .intro,[data-layout=dawn] .hero-copy .intro{color:#e3d4e2}
[data-layout=dawn] .explore,[data-layout=dawn] .hero-copy .explore{border-radius:999px;background:#ffffff1f;border-color:#ffffff4d;backdrop-filter:blur(8px)}
[data-layout=dawn] .explore:hover{background:#ffcf9e33}
[data-layout=dawn] .observing-note{color:#d6c3d6}
[data-layout=dawn] .observatory-instrument{right:6%;bottom:58px;width:min(40vw,520px);z-index:2}
[data-layout=dawn] .hero-bottom{z-index:2;color:#a99fbd}
[data-layout=dawn] .observatory-instrument figcaption{display:none}
[data-layout=dawn] .observation-controls{margin:18px 6% 0;padding:16px 24px;border:1px solid #ffffff24;border-radius:20px;background:#ffffff0d;backdrop-filter:blur(10px)}
[data-layout=dawn] .observation-controls p{color:#dccbdc}
[data-layout=dawn] .observation-controls button{border-radius:999px;border-color:#ffffff33;background:transparent}
[data-layout=dawn] .observation-targets button[aria-pressed=true],[data-layout=dawn] #open-observation{background:#ffcf9e;border-color:#ffcf9e;color:#2a1a33}
[data-layout=dawn] .destinations{padding:80px 6% 0;background:none;backdrop-filter:none;border-top:0}
[data-layout=dawn] .cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
[data-layout=dawn] .destination{display:flex;flex-direction:column;border-radius:24px;border-color:#ffffff22;background:linear-gradient(160deg,#ffffff17,#ffffff06);backdrop-filter:blur(12px)}
[data-layout=dawn] .destination:hover{border-color:#ffcf9e88;transform:translateY(-4px)}
[data-layout=dawn] .destination.learning{grid-column:1/3;grid-row:1/3}
[data-layout=dawn] .destination.play{grid-column:3/5;grid-row:1;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
[data-layout=dawn] .destination.labs{grid-column:3/5;grid-row:2}
[data-layout=dawn] .destination.history{grid-column:4;grid-row:2}
[data-layout=dawn] .card-art,[data-layout=dawn] .play .card-art,[data-layout=dawn] .creations .card-art,[data-layout=dawn] .history .card-art{height:140px;min-height:0;background:none}
[data-layout=dawn] .card-art>div{scale:.7;translate:0 -22px}
[data-layout=dawn] .learning .card-art{height:380px;background:radial-gradient(circle at 50% 62%,#f4bd8c33,transparent 55%)}
[data-layout=dawn] .learning .card-art>div{scale:1.7;translate:0 100px}
[data-layout=dawn] .play .card-art{height:100%;min-height:200px}
[data-layout=dawn] .play .card-art>div{translate:0 10px}
[data-layout=dawn] .coordinate{color:#e8d6e4aa}
[data-layout=dawn] .card-copy{padding:24px;display:flex;flex-direction:column;flex:1}
[data-layout=dawn] .card-copy p{flex:1;min-height:0;font-size:12px;color:#d3c5d3}
[data-layout=dawn] .learning .card-copy h3{font-size:34px}
[data-layout=dawn] .learning .card-copy p{font-size:14px}
[data-layout=dawn] .card-link{border-color:#ffffff22}
[data-layout=dawn] .closing{background:none}

/* Tablet */
@media(max-width:1100px) and (min-width:701px){
 [data-layout=console] .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 [data-layout=console] .destination{margin-top:-1px}
 [data-layout=console] .hero-copy{max-width:52%}
 [data-layout=console] .hero:after{display:none}
 [data-layout=poster] .destination{grid-template-columns:110px minmax(0,1fr) auto;column-gap:26px}
 [data-layout=poster] .card-copy p{grid-column:2;grid-row:3;margin-top:14px}
 [data-layout=poster] .card-link{grid-column:3;grid-row:1/4}
 [data-layout=poster] .card-link{font-size:0}
 [data-layout=dawn] .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 [data-layout=dawn] .destination.learning,[data-layout=dawn] .destination.play{grid-column:1/-1;grid-row:auto}
 [data-layout=dawn] .destination.labs,[data-layout=dawn] .destination.history{grid-column:auto;grid-row:auto}
 [data-layout=dawn] .learning .card-art{height:220px}
 [data-layout=dawn] .learning .card-art>div{scale:1.2;translate:0 30px}
 [data-layout=dawn] .hero-copy{max-width:52%}
}
/* Phone */
@media(max-width:700px){
 .layout-options{grid-template-columns:repeat(3,1fr)}
 [data-layout=console] .hero{margin:14px 5% 0;padding:20px 18px 40px;height:auto}
 [data-layout=console] .hero-copy{padding-top:34px}
 [data-layout=console] h1{font-size:38px}
 [data-layout=console] .observatory-instrument{position:relative;right:auto;bottom:auto;width:100%;max-width:400px;margin:28px auto 0}
 [data-layout=console] .hero:after{position:relative;display:block;left:auto;bottom:auto;margin-top:22px}
 [data-layout=console] .hero-bottom{display:none}
 [data-layout=console] .observation-controls{margin:0 5%;padding:16px}
 [data-layout=console] .cards{grid-template-columns:1fr}
 [data-layout=console] .destination{margin-left:0;margin-top:-1px}
 [data-layout=poster] .hero{padding:24px 6% 40px}
 [data-layout=poster] .hero-copy{padding-top:30px}
 [data-layout=poster] h1{font-size:clamp(52px,16vw,80px);margin:18px 0 24px}
 [data-layout=poster] .hero-copy h1 span{-webkit-text-stroke:1.5px #ff9e6e}
 [data-layout=poster] .observatory-instrument{position:relative;right:auto;bottom:auto;width:100%;max-width:400px;margin:24px auto 0}
 [data-layout=poster] .destinations{padding-top:60px}
 [data-layout=poster] .section-heading{display:block;margin-bottom:30px}
 [data-layout=poster] .destination{grid-template-columns:minmax(0,1fr) auto;column-gap:16px;padding:26px 4px}
 [data-layout=poster] .card-art{grid-column:1;grid-row:1}
 [data-layout=poster] .coordinate{padding-top:0;margin-bottom:8px}
 [data-layout=poster] .category{grid-column:1;grid-row:2}
 [data-layout=poster] .card-copy h3{grid-column:1;grid-row:3;font-size:32px}
 [data-layout=poster] .card-copy p{grid-column:1/-1;grid-row:4;margin-top:12px}
 [data-layout=poster] .card-link{grid-column:2;grid-row:1/4;font-size:0}
 [data-layout=poster] .closing{padding:70px 15px}
 [data-layout=dawn] .hero{margin:12px 4% 0;padding:20px 20px 150px;height:auto;border-radius:22px}
 [data-layout=dawn] .hero-copy{padding-top:30px}
 [data-layout=dawn] h1{font-size:40px;letter-spacing:4px}
 [data-layout=dawn] .observatory-instrument{position:relative;right:auto;bottom:auto;width:100%;max-width:380px;margin:24px auto 0}
 [data-layout=dawn] .hero:before{height:110px}
 [data-layout=dawn] .hero-bottom{display:none}
 [data-layout=dawn] .observation-controls{margin:14px 4% 0;padding:16px}
 [data-layout=dawn] .destinations{padding-top:50px}
 [data-layout=dawn] .cards{grid-template-columns:1fr;gap:14px}
 [data-layout=dawn] .destination.learning,[data-layout=dawn] .destination.play,[data-layout=dawn] .destination.labs,[data-layout=dawn] .destination.history{grid-column:auto;grid-row:auto;display:flex}
 [data-layout=dawn] .learning .card-art{height:200px}
 [data-layout=dawn] .learning .card-art>div{scale:1.1;translate:0 20px}
 [data-layout=dawn] .play .card-art{height:140px;min-height:0}
 [data-layout=dawn] .learning .card-copy h3{font-size:26px}
}
@media(prefers-reduced-motion:reduce){[data-layout=console] .hero-top i,[data-layout=console] .closing .eyebrow:after{animation:none}}
/* Physics lab: a full-width fifth entry in the console and dawn grids. */
[data-layout=console] .destination.physics{grid-column:1/-1;display:grid;grid-template-columns:220px 1fr;margin-top:-1px}
[data-layout=console] .physics .card-art{height:auto;min-height:180px;border-bottom:0;border-right:1px solid #7fa3c033}
[data-layout=dawn] .destination.physics{grid-column:1/-1;grid-row:3;display:grid;grid-template-columns:220px 1fr}
[data-layout=dawn] .physics .card-art{height:auto;min-height:150px;background:none}
@media(max-width:1100px) and (min-width:701px){[data-layout=dawn] .destination.physics{grid-row:auto}}
@media(max-width:700px){[data-layout=console] .destination.physics,[data-layout=dawn] .destination.physics{display:flex;flex-direction:column;grid-row:auto}[data-layout=dawn] .physics .card-art{height:140px;min-height:0}[data-layout=console] .physics .card-art{border-right:0;border-bottom:1px solid #7fa3c033}}
/* Atlas: the cards float over the hero; size the hero to the cards instead of a fixed height (fixed heights left a big gap once cards were removed). */
@media(min-width:701px){[data-layout=atlas] main{display:grid;grid-template-columns:minmax(0,1fr)}[data-layout=atlas] .hero{grid-area:1/1;height:auto;min-height:940px}[data-layout=atlas] .destinations{grid-area:1/1;align-self:start;justify-self:end;position:relative;top:auto;right:auto;margin:395px 6% 150px 0}}
