/* A quiet lunar note beside the footer lotus. */
.footer-brand{align-items:flex-start}
.footer-brand>.logo-mark{flex-shrink:0;margin-top:3px}
.footer-sky{min-width:0;max-width:28rem}
.footer-sky .studio-clock{display:grid;gap:4px;margin:0;line-height:1.65}
.footer-sky .studio-date{font:400 clamp(.85rem,1.1vw,.95rem)/1.5 var(--serif);letter-spacing:.025em;color:var(--bone)}
.footer-sky .studio-clock [data-jst-time]{font-size:.625rem;letter-spacing:.12em;color:#c4b1ca}
.moon-details{position:relative;width:fit-content;max-width:100%;margin-top:3px}
.moon-details[hidden]{display:none}
.moon-details>summary{display:flex;align-items:center;gap:8px;min-height:44px;padding:2px 10px 2px 0;list-style:none;cursor:pointer;color:#d5c3db;font:400 .6875rem/1.4 var(--mono);letter-spacing:.025em;border-radius:999px;transition:color .2s}
.moon-details>summary::-webkit-details-marker{display:none}
.moon-details>summary:hover{color:#fff1f8}
.moon-details>summary:focus-visible{outline:2px solid #dbaee0;outline-offset:4px}
.moon-disc{width:23px;height:23px;flex-shrink:0;overflow:visible;filter:drop-shadow(0 0 5px #eac5d525)}
.moon-disc .moon-shadow{fill:#28222f;stroke:#a892b4;stroke-width:.6}
.moon-disc [data-moon-disc]{fill:#eee3d3}
.moon-chevron{width:12px;height:12px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.moon-details[open] .moon-chevron{transform:rotate(180deg)}
.moon-panel{position:absolute;left:0;top:calc(100% + 4px);z-index:25;width:min(19rem,calc(100vw - 112px));box-sizing:border-box;padding:20px;border:1px solid #a87b9f66;border-radius:22px;background:radial-gradient(ellipse at top right,#a76e9b22,transparent 70%),#120e18;box-shadow:0 12px 40px #0008;color:var(--bone);animation:moon-arrive .2s ease-out}
.moon-panel .moon-panel-title{margin:0 0 12px;font:italic 500 1.25rem/1.3 var(--serif);color:#ead5e6}
.moon-reading{display:flex;align-items:center;gap:14px;margin:0 0 16px}
.moon-reading .moon-disc{width:42px;height:42px}
.moon-reading span{font:400 .75rem/1.5 var(--mono);color:#ddd0df}
.moon-panel dl{display:grid;gap:14px;margin:0}
.moon-panel dt{font:400 .65rem/1.5 var(--mono);color:#d3b8d3;letter-spacing:.04em}
.moon-panel dd{margin:3px 0 0;font:400 .8125rem/1.5 var(--serif);color:var(--bone)}
.moon-panel .moon-note{margin:16px 0 0;font:400 .625rem/1.6 var(--mono);color:#b8a9be}
@keyframes moon-arrive{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:420px){.moon-panel{padding:16px}.moon-reading{gap:9px}.moon-panel .moon-panel-title{font-size:1.1rem}}
@media(prefers-reduced-motion:reduce){.moon-panel{animation:none}.moon-chevron,.moon-details>summary{transition:none}}

/* Compact closing signature: keep content, remove the stacked empty bands. */
html body.nocturne footer{padding:22px 0 18px;overflow:visible}
html body.nocturne footer>.shell{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"identity sky" "social social" "tools context" "credit credit";align-items:center;gap:10px 24px}
html body.nocturne footer .footer-inner{grid-area:identity;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;padding:0;min-width:0}
html body.nocturne footer .footer-inner>p:not(.footer-wordmark){font-size:.75rem;line-height:1.5;margin:0}
html body.nocturne footer .footer-brand{grid-area:sky;display:flex;align-items:center;gap:12px;min-width:0}
html body.nocturne footer .footer-brand>.logo-mark{width:42px;height:42px;margin:0}
html body.nocturne footer .footer-sky{max-width:26rem}
html body.nocturne footer .studio-date{font-size:.875rem;line-height:1.45;font-variant-numeric:lining-nums tabular-nums;letter-spacing:.01em}
html body.nocturne footer .studio-clock{gap:2px}
html body.nocturne footer .moon-details{margin:0}
html body.nocturne footer .moon-details>summary{min-height:44px;padding-block:0}
html body.nocturne footer .moon-disc{width:20px;height:20px}
html body.nocturne footer .moon-reading .moon-disc{width:42px;height:42px}
html body.nocturne footer .moon-panel{left:auto;right:0;top:auto;bottom:calc(100% + 6px);width:min(19rem,calc(100vw - 32px))}
html body.nocturne footer .artist-social-nav{grid-area:social;margin:0;padding:10px 0 0;gap:6px 10px;border-top:1px solid #302833}
html body.nocturne footer .artist-social-nav>a{font-size:.6875rem;line-height:1.45;padding:7px 11px;min-height:44px}
html body.nocturne footer .footer-tools{grid-area:tools;border:0;padding:0;gap:0;min-width:0}
html body.nocturne footer .footer-tools nav{gap:4px}
html body.nocturne footer .footer-tools nav>a{padding:8px 12px;font-size:.75rem;min-height:44px}
html body.nocturne footer .context-links{grid-area:context;padding:0;margin:0;min-width:0;justify-self:end;font-size:.75rem}
html body.nocturne footer .context-links>summary{min-height:44px;padding:10px 14px;line-height:1.7}
html body.nocturne footer .context-links[open]{grid-column:1/-1;grid-row:4;justify-self:stretch}
html body.nocturne footer .context-links[open]~.footer-colophon{grid-row:5}
html body.nocturne footer .footer-colophon{grid-area:credit;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2px 24px;padding-top:6px;border-top:1px solid #302833;min-width:0}
html body.nocturne footer .artist-credit{flex:1 1 30rem;margin:0;padding:0;border:0;font-size:.6875rem;line-height:1.65;font-variant-numeric:lining-nums}
html body.nocturne footer .developer-credit{margin:0;color:var(--bone-dim);font:400 .6875rem/1.65 var(--body);letter-spacing:.01em}
html body.nocturne footer .developer-credit>a{display:inline-flex;align-items:center;gap:2px;min-height:44px;padding-inline:4px;color:var(--bone);text-decoration:none;vertical-align:middle;white-space:nowrap;border-radius:4px}
html body.nocturne footer .developer-credit>a span{text-decoration:underline;text-decoration-color:#b9b2a755;text-underline-offset:3px}
html body.nocturne footer .developer-credit>a:hover{color:#fff1f8}
html body.nocturne footer .developer-credit>a:focus-visible{outline:2px solid #dbaee0;outline-offset:3px}
html body.nocturne footer .developer-credit img{display:block;width:48px;height:36px;object-fit:contain;flex-shrink:0}
@media(max-width:700px){
 html body.nocturne footer>.shell{grid-template-columns:minmax(0,1fr);grid-template-areas:"identity" "sky" "social" "tools" "context" "credit";gap:10px}
 html body.nocturne footer .footer-brand{gap:10px}
 html body.nocturne footer .footer-brand>.logo-mark{width:32px;height:32px}
 html body.nocturne footer .footer-sky{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:0 14px;max-width:100%;min-width:0}
 html body.nocturne footer .studio-date{font-size:.8125rem}
 html body.nocturne footer .moon-details{position:static}
 html body.nocturne footer .moon-panel{left:0;right:auto;max-width:calc(100vw - 60px)}
 html body.nocturne footer .artist-social-nav{gap:6px}
 html body.nocturne footer .context-links{justify-self:start}
 html body.nocturne footer .context-links[open]{grid-row:5}
 html body.nocturne footer .context-links[open]~.footer-colophon{grid-row:6}
 html body.nocturne footer .footer-colophon{justify-content:center;gap:2px;padding-inline:42px;text-align:center}
 html body.nocturne footer .artist-credit{flex-basis:100%}
}
@media(max-width:380px){
 html body.nocturne footer .footer-tools nav>a{padding-inline:10px}
 html body.nocturne footer .artist-social-nav>a{padding-inline:9px}
}
