/* The banner art keeps its existing orbit; only the celestial bodies accept gestures. */
.site-banner-inner{pointer-events:none}
.masthead-sun,.masthead-moons{border:0;padding:0;background:transparent;color:var(--masthead-ink);pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;transition:opacity 1.2s ease}
.masthead-sun img,.masthead-moons img{pointer-events:none;-webkit-user-drag:none;user-select:none}
.masthead-sun:disabled,.masthead-moons:disabled{pointer-events:none;cursor:default}
.masthead-sun:focus-visible,.masthead-moons:focus-visible{outline:2px solid var(--masthead-red);outline-offset:6px;border-radius:50%}
.masthead-orbit{transition:transform 1.2s cubic-bezier(.22,.7,.24,1)}
.celestial-returning .masthead-orbit,.celestial-returning .masthead-sun,.celestial-returning .masthead-moons{transition-duration:.45s;transition-timing-function:ease-out}
.celestial-dragging .masthead-orbit,.celestial-dragging .masthead-sun,.celestial-dragging .masthead-moons,.celestial-initial .masthead-orbit,.celestial-initial .masthead-sun,.celestial-initial .masthead-moons{transition:none!important}
.celestial-dragging .masthead-sun,.celestial-dragging .masthead-moons{cursor:grabbing}
.puzzle-dialog.night-gate{width:510px;padding-bottom:34px}
.night-gate .puzzle-hint{display:block;margin-top:12px;font-size:.875rem;line-height:1.7;color:var(--muted)}
.night-gate .puzzle-actions{justify-content:flex-start;margin-top:26px}
.night-gate .puzzle-actions .text-button{min-height:44px}
.puzzle-dialog.seal-dialog{width:540px;max-height:calc(100svh - 32px);overflow:auto;padding:36px 34px 26px}
.seal-dialog h2{margin:12px 0}
.seal-dialog>p{line-height:1.7;margin:0}
/* Mobile browsers otherwise highlight SVG hit areas with a rectangular tap overlay. */
.book-seal,.book-seal *{-webkit-tap-highlight-color:transparent}
.book-seal{margin:18px 0 12px}
.seal-drawing{width:min(260px,70vw);margin:0 auto 12px;user-select:none;-webkit-user-select:none;touch-action:manipulation}
.seal-drawing svg{display:block;width:100%;height:auto;overflow:visible}
.seal-frame,.seal-edge{fill:none;stroke:var(--line);stroke-width:1}
.seal-hit{fill:var(--soft);cursor:pointer}
.seal-ring{transform-origin:140px 140px;transition:transform .32s cubic-bezier(.2,.8,.2,1)}
.seal-ring.is-aligned .seal-hit{cursor:default}
.seal-trace,.seal-anchor{fill:none;stroke:var(--gold);stroke-width:3;stroke-linecap:round;transition:stroke .3s,filter .3s}
.seal-pin{fill:var(--gold)}
.seal-etch{stroke:var(--muted);stroke-width:1;opacity:.45}
.seal-ring.is-aligned .seal-trace{stroke:var(--accent);filter:drop-shadow(0 0 3px var(--accent))}
.seal-eye{stroke:var(--gold);stroke-width:1.5;fill:var(--paper);transition:filter .4s}
.seal-eye circle{fill:var(--gold);stroke:none}
.book-seal.is-solved .seal-eye{filter:drop-shadow(0 0 7px var(--gold))}
.seal-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.seal-controls button{display:flex;flex-direction:column;align-items:center;gap:5px;min-height:58px;padding:10px 5px;border:1px solid var(--line);background:var(--soft);color:var(--ink);font-size:.8rem}
.seal-controls small{font-size:.72rem;color:var(--muted)}
.seal-controls button[aria-disabled=true]{border-color:var(--accent);cursor:default}
.seal-controls button[aria-disabled=true] small{color:var(--accent)}
.seal-dialog .puzzle-feedback{font-size:.8rem!important;text-align:center;min-height:24px;margin:0 0 12px}
.seal-dialog .puzzle-actions{gap:12px;flex-wrap:wrap}
.seal-dialog .puzzle-actions button{min-height:44px}
.seal-dialog .puzzle-actions .primary{padding:12px 20px}
@media(max-width:600px){
 .puzzle-dialog.night-gate{padding:36px 24px 22px}
 .puzzle-dialog.seal-dialog{padding:32px 22px 22px}
 .seal-dialog h2{font-size:1.5rem}
 .seal-dialog>p{font-size:.9rem}
 .seal-drawing{width:min(230px,65vw)}
 .seal-dialog .puzzle-actions{gap:8px;font-size:.83rem}
}
@media(prefers-reduced-motion:reduce){.masthead-orbit,.masthead-sun,.masthead-moons,.seal-ring,.seal-trace,.seal-eye{transition:none!important}}
:root[data-reduced-motion=true] .masthead-orbit,:root[data-reduced-motion=true] .masthead-sun,:root[data-reduced-motion=true] .masthead-moons,:root[data-reduced-motion=true] .seal-ring,:root[data-reduced-motion=true] .seal-trace,:root[data-reduced-motion=true] .seal-eye{transition:none!important}
