/* Moonlight Observatory — wish wall, intentionally independent of home layout. */
.wishes-page{background:#051713;color:#eee8d7;--wall-line:#dac8a333}
.wishes-header{position:absolute;inset:0 0 auto;height:96px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;z-index:10;border-bottom:1px solid #dac8a320}
.wishes-header .header-actions{gap:26px}.back-link,.wall-motion{font-size:11px;letter-spacing:1px;padding:14px 0;background:none;border:0;color:#d8d9c8}.back-link span{margin-left:12px;color:var(--gold)}
.wishes-hero{position:relative;isolation:isolate;height:100svh;min-height:820px;max-height:1300px;overflow:hidden;background:#041511}
.observatory-backdrop{position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,#03130fec 0%,#051914b0 40%,#05161238 72%),linear-gradient(0deg,#051713,transparent 40%),url('./assets/moon-world.webp') center/cover;opacity:.66}
#wish-universe{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.celestial-moon{display:none;position:absolute;width:clamp(170px,19vw,350px);aspect-ratio:1;top:27%;left:66%;border-radius:50%;z-index:-2;background:radial-gradient(circle at 35% 25%,#ffedbf15,#122d2555 72%),url('./assets/moon-texture.jpg') 42% center/210% 100%;box-shadow:inset -25px -12px 45px #243c358c,0 0 65px #e1c38124,0 0 170px #d0ba7526;filter:sepia(.5);opacity:.95}
.scene-coordinate{position:absolute;top:133px;left:6%;font-size:9px;letter-spacing:3px;color:#9fae9f}.hero-inner{position:absolute;left:7%;top:29%;max-width:650px;z-index:2;pointer-events:none}.hero-inner a{pointer-events:auto}.hero-inner .eyebrow{font-size:10px;letter-spacing:3px;margin-bottom:30px}
.wishes-hero h1{font:400 clamp(48px,5.6vw,88px)/1.42 var(--serif);letter-spacing:.055em;margin:0}.wishes-hero h1 em{font-style:normal;color:#dec79d}.hero-english{font:24px/1.5 Georgia,serif;color:#c5bea7;margin:22px 0 28px}.hero-english i{color:#e3d8bb}.hero-sub{font:12px/2.2 var(--sans);letter-spacing:2px;color:#b3c1b3}.hero-cta{display:flex;align-items:center;gap:28px;margin-top:32px}.wall-primary{display:inline-flex;gap:36px;align-items:center;justify-content:space-between;border:1px solid #dfcea27d;background:#d8c29e;color:#12291f;padding:18px 23px;font-size:12px;letter-spacing:2px;transition:background .3s,box-shadow .3s}.wall-primary:hover{background:#f2dfba;box-shadow:0 0 40px #e8c88525}.wall-secondary{font-size:11px;letter-spacing:2px;padding:14px 0;color:#d5c7a6;background:none;border:0}.wall-secondary:hover{color:#fff2cf}
.observatory-bottom{position:absolute;bottom:38px;left:6%;right:6%;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--wall-line);padding-top:24px;gap:22px}.hero-count{display:flex;align-items:center;gap:16px;margin:0}.hero-count strong{font:36px Georgia;color:#e1cca2;font-weight:400}.hero-count span,.sky-instruction,.scene-index{font-size:10px;letter-spacing:2px;color:#aebbab}.scene-index{font-family:Georgia;color:#dec79d}.sky-instruction::before{content:'✦';color:#dfc58b;margin-right:12px}
.sky-wishes{position:absolute;inset:0;z-index:1;pointer-events:none}.sky-wish{position:absolute;pointer-events:auto;display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid #dbc58c24;border-radius:2px;background:linear-gradient(110deg,#0b241bc9,#0b211775);backdrop-filter:blur(8px);color:#dcd4b9;max-width:230px;text-align:left;box-shadow:0 12px 45px #0002;transition:border-color .3s,background .3s;animation:wish-drift 7s ease-in-out infinite alternate;animation-delay:var(--delay)}.sky-wish:hover,.sky-wish:focus-visible{background:#203c2c;border-color:#e1c992b3;animation-play-state:paused}.sky-wish .star-light{font-size:25px;color:#f4d497;text-shadow:0 0 18px #ffd37f;flex:none}.sky-wish span:last-child{font:13px/1.8 var(--serif);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sky-wish:nth-child(1){left:61%;top:20%}.sky-wish:nth-child(2){left:79%;top:56%}.sky-wish:nth-child(3){left:53%;top:71%}.sky-wish:nth-child(4){left:72%;top:80%}.sky-wish:nth-child(5){left:48%;top:49%}
.composer-wrap{padding:130px 8%;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9%;position:relative;border-top:1px solid #dac8a320;background:radial-gradient(ellipse at 12% 80%,#183c2944,transparent 60%)}.compose-intro h2{font:400 clamp(30px,3.1vw,48px)/1.55 var(--serif);letter-spacing:.04em;margin:30px 0}.compose-intro>p:not(.eyebrow){font-size:12px;line-height:2.2;letter-spacing:1px;color:#aebbab}.compose-seal{display:block;writing-mode:vertical-rl;border:1px solid #a8865855;padding:10px 6px;margin-top:38px;font:13px/1.5 var(--serif);letter-spacing:4px;color:#bea477}
.composer{position:relative;padding:34px;border:1px solid #ddc69c45;background:linear-gradient(140deg,#17322766,#071b16bb);box-shadow:0 25px 80px #0002}.composer::before,.composer::after{content:'';position:absolute;width:9px;height:9px;border:1px solid #d8bf90;transform:rotate(45deg);background:#10271d;top:-5px;left:-5px}.composer::after{inset:auto -5px -5px auto}.composer-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:24px}.composer-eyebrow{font-size:12px;letter-spacing:3px;color:#e3cea5}.anon-badge{font-size:10px;color:#aebeac}.composer textarea{display:block;width:100%;min-height:150px;resize:vertical;border:0;border-bottom:1px solid #dfcc9d35;background:transparent;color:#efe3c8;padding:16px 0;font:20px/1.9 var(--serif);letter-spacing:1px}.composer textarea::placeholder{color:#8e9f8d}.composer-foot{display:flex;justify-content:space-between;gap:18px;padding:18px 0 26px}.composer-hint{font-size:10px;line-height:1.8;color:#a4b29f}.composer-count{white-space:nowrap;font-size:10px;color:#c3c4ac}.composer-count.over{color:#f3ad8d}.composer .solid-link{width:100%;background:#d8c29e}.composer-status{font-size:12px;line-height:1.8;min-height:22px;color:#b8c6ae;margin-bottom:0}.composer-status.is-error{color:#ffc49f}.composer-status.is-ok{color:#edd5a2}.composer-lanterns{position:absolute;inset:0;overflow:hidden;pointer-events:none}.composer-lanterns .flying-lantern{top:auto;bottom:0}
.feed-section{padding:65px 8% 120px;background:linear-gradient(#051713,#071d17)}.feed-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding-bottom:35px;border-bottom:1px solid var(--wall-line)}.section-code{font-size:9px;letter-spacing:3px;color:#bcae8e}.feed-head h2{font:400 clamp(29px,3.2vw,48px)/1.5 var(--serif);letter-spacing:2px;margin:22px 0 0}.feed-head h2 em{font-style:normal;color:#cfba91}.section-note{font-size:11px;letter-spacing:1px;color:#a6b6a6}.feed-toolbar{display:flex;align-items:center;justify-content:space-between;margin:22px 0 36px}.feed-toolbar p{font-size:11px;color:#a6b6a6;letter-spacing:1px}.feed{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}.wish-card{position:relative;min-height:235px;display:flex;flex-direction:column;justify-content:space-between;padding:32px;border:1px solid #cfc49a24;background:radial-gradient(ellipse at 50% 0,#cdb4740c,transparent 70%),#0a201a;overflow:hidden;transition:transform .5s,border-color .5s,background .5s}.wish-card::before{content:'✧';display:block;color:#d6be89;font:30px Georgia;margin-bottom:27px}.wish-card:nth-child(6n+2){background:radial-gradient(ellipse at 50% 0,#dac49215,transparent 80%),#12291f}.wish-card:hover{transform:translateY(-5px);border-color:#dcc28a75;background-color:#102b20}.wish-text{font:21px/1.9 var(--serif);letter-spacing:.07em;margin:0 0 30px;overflow-wrap:anywhere;color:#ece3ce}.wish-card[data-len=s] .wish-text{font-size:29px}.wish-card[data-len=l] .wish-text{font-size:17px}.wish-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #cfc49a1c;padding-top:17px;margin-top:auto}.wish-no,.wish-time{font-size:9px;letter-spacing:1.5px;color:#a3b39f}.wish-mark{color:#ceb27e;font-size:11px}.wish-card.is-new{animation:card-arrive 1.2s ease-out both;border-color:#ecd29899}.feed-empty{text-align:center;font:18px/2 var(--serif);color:#beccb7;padding:40px}.feed-more{text-align:center;padding-top:45px}.feed-more .text-button{border:1px solid #dbcda247;background:transparent;padding:16px 34px;color:#dfcfac;font-size:12px;letter-spacing:2px}.wishes-footer{padding:45px 8%;display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--wall-line);font-size:10px;letter-spacing:2px;color:#b0bba8}.wishes-footer .serif-en{font:20px Georgia;color:#ddcaa5}
.starlight-dialog{width:min(540px,calc(100vw - 40px));max-height:85svh;overflow:auto;padding:65px 45px 48px;text-align:center;border:1px solid #d7be8270;background:radial-gradient(ellipse at 50% 0,#36503a,#081d16 68%);color:#e8dfc7;box-shadow:0 0 120px #0008}.starlight-dialog::backdrop{background:#02100dc9;backdrop-filter:blur(12px)}.starlight-close{position:absolute;right:14px;top:12px;width:44px;height:44px;font-size:26px;background:none;border:0;color:#d5c197}.dialog-star{display:block;font-size:48px;color:#e7c98c;text-shadow:0 0 35px #edc988;margin-bottom:32px}.starlight-dialog .eyebrow{font-size:8px;letter-spacing:2px}#starlight-text{font:28px/1.9 var(--serif);overflow-wrap:anywhere}#starlight-meta{font-size:10px;color:#b2bea5;letter-spacing:2px}.starlight-note{border-top:1px solid var(--wall-line);margin:35px 0 0;padding-top:26px;font-size:11px;letter-spacing:2px;color:#cfc3a5}
@keyframes wish-drift{from{transform:translateY(-7px)}to{transform:translateY(9px)}}@keyframes card-arrive{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.motion-off .sky-wish,.motion-off .wish-card.is-new{animation:none}.motion-off .wish-card:hover{transform:none}
@media(min-width:1500px){.hero-inner{top:31%}.sky-wish{max-width:270px}.sky-wish span:last-child{font-size:15px}}
@media(max-width:1050px){.wishes-hero{min-height:850px}.hero-inner{left:6%;top:30%;max-width:55%}.wishes-hero h1{font-size:6vw}.hero-english{font-size:20px}.sky-wish:nth-child(5){display:none}.sky-wish:nth-child(2){left:73%}.sky-wish{max-width:190px}.composer-wrap{gap:5%;padding:95px 6%}.composer{padding:25px}.feed-section{padding-left:6%;padding-right:6%}.feed{grid-template-columns:repeat(2,minmax(0,1fr))}.sky-instruction{max-width:200px;line-height:1.8}}
@media(max-width:700px){.wishes-header{height:80px;padding:0 22px}.wishes-header .brand-icon{width:32px;height:32px}.wishes-header .brand-name{font-size:21px}.wishes-header .header-actions{gap:18px}.wall-motion,.back-link{font-size:10px}.back-link span{margin-left:3px}.wishes-hero{height:970px;min-height:970px;max-height:none}.scene-coordinate{top:109px;left:24px;font-size:7px;letter-spacing:2px}.hero-inner{top:157px;left:24px;right:24px;max-width:none}.hero-inner .eyebrow{font-size:9px;letter-spacing:1.7px;margin-bottom:23px}.wishes-hero h1{font-size:clamp(38px,9.6vw,64px);line-height:1.45}.hero-english{font-size:19px;margin:17px 0 20px}.hero-sub{font-size:11px}.hero-cta{gap:22px;margin-top:25px}.wall-primary{padding:16px 18px;font-size:11px;gap:25px}.wall-secondary{font-size:10px;letter-spacing:1px}.celestial-moon{display:block;width:170px;top:59%;left:calc(50% - 85px)}.observatory-backdrop{background:radial-gradient(ellipse at 50% 70%,#20423166,transparent 55%);opacity:1}.sky-wish{max-width:175px;padding:9px 12px;gap:8px}.sky-wish span:last-child{font-size:12px}.sky-wish .star-light{font-size:22px}.sky-wish:nth-child(1){left:7%;top:56%}.sky-wish:nth-child(2){left:auto;right:5%;top:74%}.sky-wish:nth-child(3){left:5%;top:82%}.sky-wish:nth-child(4){display:none}.observatory-bottom{bottom:20px;left:24px;right:24px;padding-top:17px}.hero-count{gap:12px}.hero-count strong{font-size:28px}.hero-count span{font-size:9px;letter-spacing:1px}.sky-instruction{display:none}.scene-index{font-size:9px}.composer-wrap{grid-template-columns:1fr;padding:75px 24px;gap:35px}.compose-intro h2{font-size:32px;margin:22px 0}.compose-seal{display:none}.composer{padding:24px 20px}.composer-head{gap:8px}.composer-eyebrow{font-size:11px;letter-spacing:1px}.anon-badge{font-size:9px}.composer textarea{font-size:18px}.composer-foot{gap:10px}.feed-section{padding:35px 24px 75px}.feed-head{display:block}.feed-head h2{font-size:30px;letter-spacing:0}.section-note{display:block;margin-top:20px}.feed-toolbar p{font-size:10px}.feed{grid-template-columns:1fr;gap:16px}.wish-card{min-height:210px;padding:26px}.wish-card::before{margin-bottom:20px}.wish-card[data-len=s] .wish-text{font-size:28px}.wish-text{font-size:21px}.wishes-footer{padding:35px 24px;flex-wrap:wrap;font-size:9px}.wishes-footer .serif-en{font-size:17px}.starlight-dialog{padding:60px 25px 35px}#starlight-text{font-size:24px}}
@media(prefers-reduced-motion:reduce){.sky-wish,.wish-card.is-new{animation:none}.wish-card:hover{transform:none}html{scroll-behavior:auto}}
/* Copy and statistics occupy separate rows: neither can cover the other. */
@media(min-width:701px){
  .wishes-hero{display:grid;grid-template-rows:minmax(min-content,1fr) auto;row-gap:48px;height:auto;min-height:max(850px,100svh);max-height:none;padding:190px 6% 38px}
  .hero-inner{position:relative;top:auto;left:auto;align-self:center;max-width:min(650px,55%);margin-left:1.14%}
  .observatory-bottom{position:relative;inset:auto;width:100%;margin:0}
}
