:root{color-scheme:dark;--bg:#090708;--ivory:#eae1d7;--silver:#b7b1b1;--rose:#bc7d8c;--ruby:#741f34;--muted:#b5a1a7}*{box-sizing:border-box}body{margin:0;color:var(--ivory);background:radial-gradient(ellipse at 50% 65%,#30101e65 0,transparent 58%),radial-gradient(ellipse at 15% 0,#300d1750,transparent 45%),var(--bg);font:16px/1.65 system-ui,sans-serif;min-height:100svh}button,input,select,textarea{font:inherit}button,a,summary,select{touch-action:manipulation}button{cursor:pointer}a{color:#d9bdc4;text-underline-offset:5px}button:disabled{opacity:.45;cursor:default}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.atmosphere{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:-1}.star{position:absolute;width:2px;height:2px;background:#d8c6c2;border-radius:50%;opacity:.3;animation:star-drift var(--duration) linear infinite alternate}.petal{position:absolute;top:-12%;width:var(--size);height:auto;opacity:.35;animation:petal-drift var(--duration) linear infinite;animation-delay:var(--delay);filter:drop-shadow(0 0 15px #761f3422)}.topbar{height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 35px;position:relative;z-index:2}.quiet-button{border:0;padding:8px 0;background:none;color:var(--muted);font-size:.875rem;letter-spacing:.06em}.quiet-button:hover{color:var(--ivory)}.topbar select{border:0;background:transparent;color:var(--muted);font-size:.875rem;max-width:230px}.bottom-bar{display:flex;justify-content:center;gap:35px;padding:18px 20px 25px}.landing{text-align:center;display:flex;flex-direction:column;align-items:center;padding:25px 20px 0}.landing h1{font:normal clamp(2.3rem,5.2vw,4.6rem)/1.15 Georgia,'Times New Roman',serif;letter-spacing:.13em;margin:0;white-space:normal}.landing h1 span{font-size:.65em;letter-spacing:.1em}.tagline{font:italic 1.05rem/1.5 Georgia,serif;color:#c6b0b6;margin:15px 0 0;letter-spacing:.025em}.hero-media{height:clamp(230px,43svh,420px);width:min(410px,100%);position:relative;margin:0 auto;isolation:isolate}.hero-media img{width:100%;height:100%;object-fit:contain;mask-image:radial-gradient(ellipse at center,black 40%,transparent 76%);animation:breathe 9s ease-in-out infinite alternate}.transmission-button{background:linear-gradient(110deg,#4c182833,#701e3433);border:1px solid #a878854d;color:var(--ivory);padding:15px 35px;font-size:.875rem;letter-spacing:.16em;position:relative;transition:background .3s,border-color .3s;box-shadow:0 0 40px #67192d18}.transmission-button:hover{background:#722b3e44;border-color:#b58e98}.answer-form{width:min(475px,100% - 40px);margin:24px auto 0;display:flex;flex-wrap:wrap;align-items:center;gap:12px}.answer-form input,.answer-form textarea{width:100%;flex:1;min-width:0;border:0;border-bottom:1px solid #8f67745b;background:transparent;color:var(--ivory);padding:10px 2px;outline-offset:5px}.answer-form input::placeholder,.answer-form textarea::placeholder{color:#c0a5af9e}.answer-form button{border:0;background:transparent;color:#d7bdc5;font-size:.8rem;letter-spacing:.16em;padding:12px}.answer-form textarea{resize:vertical;min-height:100px}#answer-feedback{flex-basis:100%;min-height:24px;margin:0;text-align:center;font-size:.8rem;letter-spacing:.08em;color:#d9b1bf}.landing-seal{position:absolute;right:4vw;bottom:65px;opacity:.5}.seal{display:inline-flex;position:relative;align-items:center;justify-content:center;width:78px;height:78px;flex-direction:column;color:#cbb6bb}.seal svg{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#a68d9480;stroke-width:1}.seal .phase{font:20px Georgia,serif;line-height:1.2}.seal .seal-number{font-size:14px;line-height:1.3}.puzzle-page{max-width:900px;margin:25px auto;padding:0 25px;animation:arrive .7s ease}.chapter{font-size:.75rem;letter-spacing:.25em;text-transform:uppercase;text-align:center;color:var(--muted)}h2{font:normal clamp(2rem,4vw,3rem)/1.2 Georgia,serif;letter-spacing:.025em;margin:12px 0 24px;text-align:center}.clue{font:italic 1.1rem/1.7 Georgia,serif;text-align:center;color:#c7b2b9;margin:18px auto;max-width:670px}.recurring{font-size:.8rem;text-align:center;letter-spacing:.14em;margin:22px auto;color:#d2b9c2}.panel{background:linear-gradient(135deg,#26101877,#15101288);border:1px solid #5f39464d;padding:25px;margin:22px 0;border-radius:3px}.sky-map{position:relative;width:min(500px,100%);aspect-ratio:1;margin:15px auto;background:radial-gradient(circle at center,#4a243514,transparent 68%);border:1px solid #73526333}.sky-map::before,.sky-map::after{content:'';position:absolute;background:#b49ba314}.sky-map::before{top:50%;width:100%;height:1px}.sky-map::after{left:50%;height:100%;width:1px}.sky-point{position:absolute;transform:translate(-50%,-50%);width:36px;height:36px;border:0;background:none;color:#f2e5df;text-shadow:0 0 15px #e8bebc;font-size:23px;border-radius:50%;line-height:1;padding:0}.sky-point:hover{background:#6f394744}.point-data{min-height:120px;text-align:center}.point-word{font:1.5rem Georgia,serif;letter-spacing:.15em}.small{font-size:.875rem;color:var(--muted)}.chart-note{text-align:center}.plate-marker{text-align:right}.plate-marker summary{display:inline-flex;align-items:center}.ledger{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{padding:10px;text-align:left;border-bottom:1px solid #74536144}th{font-weight:normal;color:#d9b9c5}.greek{line-height:2.2;letter-spacing:.12em;overflow-wrap:anywhere}.ciphertext{font:1.05rem/2 ui-monospace,monospace;letter-spacing:.12em;overflow-wrap:anywhere;color:#e0c7d1;text-align:center;user-select:text}.cipher-seal{text-align:right}.registers{display:grid;grid-template-columns:1fr 1fr;gap:24px}.register{margin:0;padding:25px 16px}.register h3{font:1.35rem Georgia,serif;letter-spacing:.12em;text-align:center}.register table{font:1.05rem/1.8 ui-monospace,monospace;text-align:center;table-layout:fixed}.register th,.register td{padding:9px 0;text-align:center;font-weight:normal}.register th{width:1.6rem;font:14px Georgia,serif}.register .seal{display:flex;margin:20px auto 0}.folio{max-width:420px;margin:35px auto;padding:25px 20px}.folio-row{display:flex;gap:30px;align-items:center;border-bottom:1px solid #77596338;padding:14px}.folio-row span:first-child{font-size:14px;color:var(--muted);width:20px}.folio-row span:last-child{font:1.25rem Georgia,serif;letter-spacing:.12em}.ending{text-align:center}.ending .hero-media{height:360px}.moon-disc{width:70px;height:70px;display:grid;place-items:center;margin:20px auto;color:#e9ddd2;font:48px Georgia,serif}.ending-code{font:1.5rem Georgia,serif;letter-spacing:.25em;margin:15px}.variant{letter-spacing:.2em;font-size:.8rem}.ribbon-text{white-space:pre-line;text-align:center;font:italic 1.05rem/1.9 Georgia,serif}.loading-status{text-align:center;color:var(--muted);font-size:.875rem}.button-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.button-row button,dialog select{background:#35192377;border:1px solid #81515f66;padding:8px 14px;color:var(--ivory);border-radius:2px}dialog{width:min(680px,100% - 30px);max-height:85svh;overflow:auto;color:var(--ivory);background:linear-gradient(150deg,#221019,#0e0b0e);border:1px solid #92637455;padding:28px;border-radius:4px;box-shadow:0 0 100px #000b}dialog::backdrop{background:#070407bd;backdrop-filter:blur(12px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.dialog-head h2{font:1.7rem Georgia,serif;margin:0;text-align:left}dialog label{display:flex;align-items:center;flex-wrap:wrap;gap:15px;margin:20px 0}dialog input[type=range]{accent-color:#b87589;width:190px;max-width:100%}dialog input[type=number]{background:transparent;color:var(--ivory);border:1px solid #81515f66;padding:7px;max-width:140px}details{border-top:1px solid #73505b44;padding-top:16px;margin-top:20px}summary{cursor:pointer;font-size:.9rem;color:#d3b6c0}canvas{width:100%;height:auto;border:1px solid #79515e44}.rules{padding-left:20px}.rules li{margin:12px 0}.black-card{background:#070608;border:1px solid #6f465144;padding:25px;text-align:center;margin-top:25px}.black-card .seal{margin-top:10px}video{width:100%;max-height:420px}.still .atmosphere *,.still .hero-media img{animation:none!important}.still{background:radial-gradient(ellipse at center,#25111c44,transparent 65%),#070607}:focus-visible{outline:2px solid #efc5d2;outline-offset:5px}::selection{background:#75253c;color:#fff}@keyframes star-drift{to{transform:translate(15px,25px);opacity:.65}}@keyframes petal-drift{from{transform:translateY(-10svh) rotate(0)}to{transform:translate(90px,115svh) rotate(240deg)}}@keyframes breathe{to{filter:brightness(1.1);transform:translateY(-4px)}}@keyframes arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(max-width:640px){.topbar{padding:0 18px;height:55px}.landing{padding-top:28px}.landing h1{font-size:clamp(2rem,8vw,3.3rem);letter-spacing:.09em}.hero-media{height:clamp(240px,39svh,360px)}.tagline{font-size:1rem}.registers{grid-template-columns:1fr}.puzzle-page{padding:0 18px}.panel{padding:18px}.landing-seal{right:10px;bottom:68px}.landing-seal .seal{width:60px;height:60px}.ending .hero-media{height:290px}dialog{padding:20px}}@media(max-height:750px) and (min-width:641px){.hero-media{height:260px}.landing{padding-top:5px}.landing h1{font-size:3.4rem}.answer-form{margin-top:15px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.petal{top:15%;opacity:.12}}
.tabula{font:14px/1.2 ui-monospace,monospace;width:max-content}.tabula th,.tabula td{padding:7px}.tabula th{position:sticky;left:0;background:#21111a}.answer-form:has(textarea){width:min(700px,100% - 40px)}.puzzle-page:has(.ending) + .answer-form{display:none}
.discovery-label{flex-basis:100%;text-align:center;font-size:.875rem;letter-spacing:.14em;color:var(--silver)}
.atmosphere #stars{position:absolute;inset:-15px;transform:translate(var(--depth-x,0px),var(--depth-y,0px));transition:transform .5s ease-out}
.atmosphere #petals{position:absolute;inset:-20px;transform:translate(calc(var(--depth-x,0px)*1.8),calc(var(--depth-y,0px)*1.8));transition:transform .8s ease-out}
.puzzle-page>.panel,.registers>.panel{background:transparent;border-color:transparent;border-bottom-color:#5f39464d}
/* The sky is a single fixed photographic plane; all stars share one projection. */
.investigating-sky{background:radial-gradient(ellipse at 82% 12%,#242a4430,transparent 58%),radial-gradient(ellipse at 5% 90%,#56112635,transparent 45%),#05070c}
.investigating-sky .atmosphere{display:none}
.investigating-sky .puzzle-page{max-width:none;margin:0;padding:0;animation:none}
.stargazing{min-height:calc(100svh - 285px);position:relative}
#night-sky{position:fixed;inset:0;width:100%;height:100%;border:0;z-index:0;touch-action:none;cursor:grab;outline-offset:-6px}
#night-sky:active{cursor:grabbing}
.sky-heading{position:relative;z-index:1;padding:10px 20px;pointer-events:none;text-align:center;background:radial-gradient(ellipse,#05070c8c,transparent 70%)}
.sky-heading .chapter{font-size:.875rem;margin:0}.sky-heading h2{font-size:clamp(1.6rem,3vw,2.25rem);margin:7px 0 14px}.sky-heading .recurring{font-size:.875rem;margin:8px 0;color:#c6b8c6}
.sky-controls{position:absolute;z-index:2;right:26px;top:10px;display:flex;align-items:flex-start;gap:20px;color:var(--silver)}
.sky-controls>button{min-width:32px}.sky-controls>button:first-child,.sky-controls>button:nth-child(2){font-size:1.3rem;line-height:1.3}
.sky-controls details{margin:8px 0 0;padding:0;border:0}.sky-controls details[open]{background:#080913e8;max-width:300px;padding:16px;box-shadow:0 0 50px #0008}.sky-direction-controls{display:flex;flex-wrap:wrap;gap:10px}
.investigating-sky .answer-form,.investigating-sky .bottom-bar,.investigating-sky .topbar{position:relative;z-index:2}
.investigating-sky .answer-form{background:radial-gradient(ellipse,#05070ce6,transparent 85%)}.investigating-sky .bottom-bar{background:linear-gradient(transparent,#05070caa)}
@media(max-width:1000px){.sky-controls{top:130px;right:20px;gap:15px}.stargazing{min-height:calc(100svh - 285px)}}
@media(max-width:640px){.stargazing{min-height:max(430px,calc(100svh - 280px))}.sky-controls{top:118px;right:15px;left:15px;justify-content:center;gap:20px}.sky-controls details[open]{position:absolute;right:0;top:35px}.sky-heading h2{font-size:1.65rem}.sky-heading .recurring{font-size:.8rem}.investigating-sky .answer-form{margin-top:15px}}
@media(prefers-reduced-motion:reduce){.atmosphere #stars,.atmosphere #petals{transform:none!important}}
/* Astronomy research revision: no authored star overlays or printed seal value. */
.sky-glass{position:absolute;left:20px;bottom:0;z-index:2;width:255px;margin:0;pointer-events:none;text-align:center;transform:scale(var(--glass-detail,1));transform-origin:bottom left}
.sky-glass img{width:180px;height:235px;object-fit:contain;mask-image:radial-gradient(ellipse,black 35%,transparent 76%);opacity:.7}
.queen-motif{position:absolute;left:47%;bottom:65px;font:24px Georgia,serif;color:#c9b9c3;opacity:.3}.queen-engraving{font:italic .78rem/1.6 Georgia,serif;color:#b5a1a7;max-width:210px;margin:auto}.queen-reflection{position:relative;z-index:2;max-width:490px;margin:110px auto 0;text-align:center;text-shadow:0 2px 10px #000;padding:0 24px}.reflection-letters{letter-spacing:.35em;font:1.35rem Georgia,serif}.reflection-verse{white-space:pre-line;font:italic .95rem/1.9 Georgia,serif;color:#d7c3cd}.queen-reflection + .sky-research{margin-top:22px}.card-engraving{font:italic .9rem Georgia,serif;color:#b5a1a7;margin-top:30px}.incidental{font:italic .72rem/1.6 Georgia,serif;color:#a3909b;margin:24px auto 8px;opacity:.75}
.sky-research{position:relative;z-index:2;max-width:530px;margin:125px auto 0;padding:0 25px;text-shadow:0 2px 8px #000;font-size:1rem}
#glass-detail{max-width:160px}
@media(max-width:640px){.sky-glass{left:5px;width:170px}.sky-glass img{height:170px;width:125px}.sky-research{margin-top:180px;font-size:.95rem}}

.dream-language{text-align:center;min-height:55svh}.dream-flower{height:240px;margin:10px auto;width:220px}.dream-flower img{height:100%;width:100%;object-fit:contain;opacity:.75;mask-image:radial-gradient(ellipse,black 35%,transparent 76%);animation:breathe 9s ease-in-out infinite alternate}.dream-word{font:normal clamp(2rem,5vw,3rem)/1.5 Georgia,serif;letter-spacing:.2em;margin:20px auto;color:#e8d9e1;text-shadow:0 0 28px #b3597140}.completion-message{font:normal 1rem/1.5 Georgia,serif;letter-spacing:.15em;color:#eee0dd;margin:24px auto}.dream-language h2{font-size:clamp(1.8rem,4vw,2.7rem)}@media(prefers-reduced-motion:reduce){.dream-flower img{animation:none}}

.drink-slot{height:100%;width:100%;display:grid;place-items:center;position:relative}.drink-slot img{display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;object-position:center;mask-image:none!important}.drink-placeholder{display:grid;place-items:center;height:75%;width:65%;min-height:90px;background:radial-gradient(ellipse,#70223c38,transparent 70%);color:#b698a4}.placeholder-bloom{width:55px;height:85px;border:1px solid #b698a455;transform:rotate(35deg);box-shadow:inset 0 0 25px #781e3633,0 0 45px #751c3433;border-radius:45% 45% 15% 15%}.sky-glass .drink-slot{height:235px;width:180px;margin:auto}.dream-flower .drink-slot{height:240px}.revisit{position:relative;margin:0;padding:0;border:0}.revisit nav{position:absolute;right:0;top:30px;width:230px;padding:15px;background:#100b10f5;border:1px solid #73505b44;z-index:10}.revisit nav button{display:block;width:100%;text-align:left;padding:9px}.topbar #development-navigation{margin-left:16px}.ending .hero-media{animation:ending-focus 1.2s ease both}.ending .drink-placeholder{height:90%;width:80%}@keyframes ending-focus{from{opacity:.2;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media(max-width:640px){.sky-glass .drink-slot{height:170px;width:125px}.topbar #development-navigation select{max-width:130px}.revisit nav{width:205px}.dream-word{letter-spacing:.12em}}

.chapters{position:relative;margin-left:auto}.chapters-menu{position:absolute;right:0;top:calc(100% + 12px);width:min(250px,calc(100vw - 32px));max-height:calc(100svh - 95px);overflow:auto;padding:12px;background:#100b10f5;border:1px solid #73505b55;border-radius:5px;box-shadow:0 12px 40px #0008;z-index:30}.chapters-menu[hidden]{display:none}.chapters-menu nav button{display:block;width:100%;text-align:left;padding:10px 12px;font-size:.9rem}.chapters-menu [aria-current="page"]{color:#f4e6d7;background:#8c31421c;border-left:1px solid #bd7b8b}.chapters-menu .reset-link{display:block;width:100%;border-top:1px solid #73505b44;text-align:left;margin-top:9px;padding:14px 12px 7px;color:#b59ba4}button:hover:not(:disabled){color:#fff0e5}button:disabled{opacity:.45;cursor:default}button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:1px solid #dca9b8;outline-offset:4px}#reset-dialog{max-width:390px}#reset-dialog p{font-size:.95rem;line-height:1.7}

.topbar{z-index:40}.chapters-menu{background:#100b10}

.investigating-sky .topbar{z-index:40}
