:root{--near-black:#050508;--charcoal:#17171c;--midnight:#0a0e1e;--gold:#d4a44c;--gold-bright:#f0c674;--ember:#b0452c;--celestial:#f5efe2;--text-dim:hsla(41,49%,92%,.55)}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;overflow:hidden;background:var(--near-black);color:var(--celestial);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}.entry{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2.2rem;background:radial-gradient(ellipse at 50% 60%,#0a0a12 0,var(--near-black) 70%);z-index:40;transition:opacity 1.6s ease}.entry.leaving{opacity:0;pointer-events:none}.entry-circle{width:120px;height:120px;border-radius:50%;border:1px solid rgba(212,164,76,.5);box-shadow:inset 0 0 60px rgba(212,164,76,.15),0 0 80px rgba(212,164,76,.12);animation:circle-breathe 5s ease-in-out infinite}@keyframes circle-breathe{0%,to{transform:scale(.92);opacity:.7}50%{transform:scale(1.05);opacity:1}}.entry-title{font-size:.85rem;letter-spacing:.55em;text-indent:.55em;font-weight:400;color:var(--text-dim);text-transform:uppercase}.entry-line{font-size:1.05rem;font-weight:300;color:var(--celestial);letter-spacing:.06em;opacity:.9}.entry-actions{display:flex;flex-direction:column;align-items:center;gap:1rem}.enter-sound{padding:.9rem 2.6rem;border:1px solid rgba(212,164,76,.6);border-radius:2px;letter-spacing:.3em;text-indent:.3em;font-size:.78rem;color:var(--gold-bright);transition:background .4s ease,box-shadow .4s ease}.enter-sound:focus-visible,.enter-sound:hover{background:rgba(212,164,76,.1);box-shadow:0 0 30px rgba(212,164,76,.2);outline:none}.enter-silent{font-size:.7rem;letter-spacing:.25em;text-indent:.25em;color:var(--text-dim);padding:.5rem 1rem;transition:color .3s ease}.enter-silent:focus-visible,.enter-silent:hover{color:var(--celestial);outline:none}.entry-loading{font-size:.75rem;letter-spacing:.2em;color:var(--text-dim);animation:fade-pulse 2s ease-in-out infinite}@keyframes fade-pulse{0%,to{opacity:.35}50%{opacity:.9}}.world-root{position:fixed;inset:0}.world-root canvas{display:block;touch-action:none}.hud{position:fixed;inset:0;pointer-events:none;z-index:20}.hud>*{pointer-events:auto}.hud-progress{left:1.4rem;opacity:.85}.hud-controls,.hud-progress{position:absolute;bottom:1.4rem}.hud-controls{right:1.4rem;display:flex;gap:.8rem}.hud-btn{width:38px;height:38px;display:grid;place-items:center;border:1px solid hsla(41,49%,92%,.18);border-radius:50%;color:var(--text-dim);background:rgba(5,5,8,.45);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:color .3s ease,border-color .3s ease}.hud-btn:focus-visible,.hud-btn:hover{color:var(--gold-bright);border-color:rgba(212,164,76,.5);outline:none}.hud-prompt{bottom:3.2rem;font-size:.72rem;letter-spacing:.28em;text-indent:.28em;color:var(--text-dim);text-transform:uppercase;transition:opacity .6s ease}.hud-message,.hud-prompt{position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap}.hud-message{top:30%;font-size:1.15rem;font-weight:300;letter-spacing:.12em;color:var(--celestial);text-shadow:0 0 24px rgba(212,164,76,.35);animation:message-in 4.5s ease forwards;pointer-events:none}@keyframes message-in{0%{opacity:0;transform:translateX(-50%) translateY(6px)}18%{opacity:1;transform:translateX(-50%) translateY(0)}75%{opacity:1}to{opacity:0}}.settings-panel{position:absolute;right:1.4rem;bottom:4.6rem;width:250px;padding:1.2rem 1.3rem;background:rgba(10,10,16,.85);border:1px solid hsla(41,49%,92%,.12);border-radius:4px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;gap:.85rem}.settings-panel h2{font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--text-dim);font-weight:400}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;font-size:.78rem;color:var(--celestial)}.settings-row input[type=range]{width:110px;accent-color:var(--gold)}.settings-row input[type=checkbox]{accent-color:var(--gold)}.settings-row select{background:var(--charcoal);color:var(--celestial);border:1px solid hsla(41,49%,92%,.2);font-size:.75rem;padding:.15rem .3rem}.page{height:100%;overflow-y:auto;padding:4rem 1.5rem;display:flex;justify-content:center}.page-inner{max-width:640px;width:100%}.page h1{font-size:1.1rem;letter-spacing:.4em;text-transform:uppercase;font-weight:400;color:var(--gold-bright);margin-bottom:2rem}.page p{font-weight:300;line-height:1.8;color:var(--text-dim);margin-bottom:1.2rem}.page a{color:var(--gold-bright);text-decoration:none;border-bottom:1px solid rgba(212,164,76,.4)}.song-reveal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(5,5,8,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:30;animation:reveal-in .9s ease}@keyframes reveal-in{0%{opacity:0}to{opacity:1}}.song-reveal-card{display:flex;flex-direction:column;align-items:center;gap:1.1rem;padding:2.6rem 3.2rem;border:1px solid rgba(212,164,76,.35);border-radius:4px;background:rgba(10,10,16,.92);box-shadow:0 0 80px rgba(212,164,76,.12);text-align:center;max-width:min(92vw,460px)}.song-reveal-eyebrow{font-size:.65rem;letter-spacing:.45em;text-indent:.45em;text-transform:uppercase;color:var(--gold)}.song-reveal-title{font-size:1.15rem;font-weight:400;letter-spacing:.18em;color:var(--celestial)}.song-reveal-cta{font-size:.85rem;font-weight:300;color:var(--text-dim);letter-spacing:.06em}.song-reveal-actions{display:flex;flex-direction:column;align-items:center;gap:.8rem;margin-top:.6rem}.spotify-dock{position:fixed;left:1.4rem;bottom:4.6rem;width:min(92vw,360px);z-index:25;border:1px solid rgba(212,164,76,.3);border-radius:6px;overflow:hidden;background:rgba(10,10,16,.9);transition:opacity .5s ease,transform .5s ease}.spotify-dock-hidden{opacity:0;transform:translateY(12px);pointer-events:none;visibility:hidden;transition:opacity .5s ease,transform .5s ease,visibility 0s .5s}.spotify-dock-bar{display:flex;align-items:center;justify-content:space-between;padding:.4rem .8rem}.spotify-dock-label{font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--text-dim)}.spotify-dock-close{color:var(--text-dim);font-size:.75rem;padding:.2rem .4rem}.spotify-dock-close:hover{color:var(--celestial)}.spotify-dock iframe{display:block;border:0}@media (prefers-reduced-motion:reduce){.entry-circle,.entry-loading{animation:none}}.realm-title{position:fixed;left:50%;top:16%;transform:translateX(-50%);width:max-content;max-width:92vw;z-index:22;pointer-events:none;text-align:center}.realm-title-card{display:flex;flex-direction:column;align-items:center;gap:.95rem;opacity:0;animation:realm-title-pass 5.7s ease forwards}.realm-title-reduced{animation-name:realm-title-pass-still}@keyframes realm-title-pass{0%{opacity:0;transform:translateY(10px)}16%{opacity:1;transform:translateY(0)}79%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(0)}}@keyframes realm-title-pass-still{0%{opacity:0}16%{opacity:1}79%{opacity:1}to{opacity:0}}.realm-title-name{font-size:clamp(1.05rem,2.6vw,1.4rem);font-weight:300;letter-spacing:.42em;text-indent:.42em;text-transform:uppercase;color:var(--celestial);text-shadow:0 0 32px rgba(212,164,76,.3)}.realm-title-song{font-size:.82rem;font-weight:400;letter-spacing:.5em;text-indent:.5em;text-transform:uppercase;color:var(--gold-bright)}.realm-title-artist{font-size:.6rem;letter-spacing:.6em;text-indent:.6em;text-transform:uppercase;color:var(--text-dim)}@media (prefers-reduced-motion:reduce){.realm-title-card{animation-name:realm-title-pass-still}}.constellation{position:fixed;inset:0;z-index:26;display:flex;align-items:center;justify-content:center;background:rgba(5,5,10,.72);animation:reveal-in .5s ease}.constellation-card{width:min(360px,88vw);padding:28px 30px;background:rgba(10,11,20,.96);border:1px solid rgba(212,164,76,.4);border-radius:10px;text-align:center}.constellation-eyebrow{margin:0 0 6px;font-size:11px;letter-spacing:.34em;color:#d4a44c}.constellation-sigil{width:170px;margin:6px auto 10px;display:block}.constellation-stats{margin:0 0 12px;text-align:left}.constellation-stats div{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid rgba(212,164,76,.12)}.constellation-stats dt{font-size:12px;letter-spacing:.08em;color:#9aa0b8}.constellation-stats dd{margin:0;font-size:12px;color:#e8e2cf}.constellation-complete{margin:0 0 12px;font-size:12px;color:#f0c674;letter-spacing:.06em}.constellation-close{padding:9px 18px;background:transparent;border:1px solid rgba(212,164,76,.65);border-radius:4px;color:#d4a44c;font-size:12px;letter-spacing:.14em;cursor:pointer}.constellation-close:focus-visible,.constellation-close:hover{background:rgba(212,164,76,.12)}button.hud-progress{background:transparent;border:none;padding:0;cursor:pointer}.ledger-card{max-width:30rem;max-height:84vh;overflow-y:auto}.ledger-heading{margin:1.1rem 0 .45rem;font-size:.68rem;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:#d4a44c}.ledger-milestones,.ledger-songs{list-style:none;margin:0 0 .6rem;padding:0;font-size:.82rem;line-height:1.7}.ledger-song-lit{color:#f0c674}.ledger-song-dim{color:rgba(205,211,232,.55)}.ledger-song-future{color:rgba(205,211,232,.35);font-style:italic}.ledger-represent{margin:.2rem 0 .1rem;font-size:.8rem;letter-spacing:.26em;color:#f0c674}.ledger-note{margin:.25rem 0;font-size:.78rem;color:rgba(205,211,232,.75);line-height:1.55}.ledger-warning{margin:.5rem 0;padding:.6rem .75rem;border:1px solid rgba(212,164,76,.4);border-radius:6px}.ledger-warning p{margin:0 0 .5rem;font-size:.78rem;color:hsla(40,81%,70%,.9);line-height:1.5}.ledger-warning .constellation-close{margin-right:.5rem;margin-top:.25rem}.ledger-link{background:transparent;border:none;padding:.15rem 0;font-size:.75rem;letter-spacing:.08em;color:rgba(205,211,232,.6);text-decoration:underline;cursor:pointer}.ledger-link:focus-visible,.ledger-link:hover{color:#f0c674}.ledger-select{display:block;width:100%;margin:.3rem 0 .6rem;padding:.45rem .55rem;background:rgba(10,12,22,.9);border:1px solid rgba(212,164,76,.35);border-radius:6px;color:#e8e9f2;font-size:.82rem}.ledger-boards{display:grid;grid-template-columns:1fr 1fr;grid-gap:.9rem;gap:.9rem;margin-top:.6rem}@media (max-width:560px){.ledger-boards{grid-template-columns:1fr}}.ledger-table{width:100%;border-collapse:collapse;font-size:.74rem}.ledger-table caption{text-align:left;padding-bottom:.3rem;font-size:.66rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(212,164,76,.85)}.ledger-table td,.ledger-table th{text-align:left;padding:.18rem .4rem .18rem 0;color:rgba(232,233,242,.85)}.ledger-table th{font-weight:500;color:rgba(205,211,232,.5);border-bottom:1px solid rgba(212,164,76,.25)}.ledger-sync{min-height:1em;margin:.7rem 0 .2rem;font-size:.7rem;letter-spacing:.12em;color:rgba(205,211,232,.5)}.artefact-card{max-width:26rem;text-align:center}.artefact-title{margin:.3rem 0 .1rem;font-size:1.3rem;font-weight:400;letter-spacing:.06em;color:#f0e9d6}.artefact-subtitle{margin:0 0 .6rem;font-size:.82rem;letter-spacing:.14em;color:rgba(212,164,76,.85);text-transform:uppercase}.artefact-image{display:block;width:100%;max-width:15rem;aspect-ratio:1/1;margin:.5rem auto .7rem;object-fit:cover;border-radius:8px;border:1px solid rgba(212,164,76,.3)}.artefact-image-placeholder{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,rgba(212,164,76,.12),rgba(10,12,22,.6));color:rgba(212,164,76,.5);font-size:2.4rem}.artefact-poetic{margin:.4rem 0 .6rem;font-size:.92rem;font-style:italic;line-height:1.5;color:hsla(44,46%,89%,.88)}.artefact-links{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin:.6rem 0}.artefact-links .enter-sound{flex:1 1 auto;min-width:10rem}.garden-gallery{min-height:100vh;padding:3rem 1.5rem 5rem;background:radial-gradient(ellipse at top,rgba(30,20,40,.6),transparent),#06070c;color:#e8e3d6}.garden-gallery-inner{max-width:60rem;margin:0 auto}.garden-gallery h1{font-size:2rem;font-weight:300;letter-spacing:.1em;color:#f0c674}.garden-gallery .garden-intro{max-width:40rem;color:hsla(43,28%,87%,.75);line-height:1.6}.garden-gallery h2{margin-top:2.6rem;font-size:.8rem;letter-spacing:.34em;text-transform:uppercase;color:#d4a44c;border-bottom:1px solid rgba(212,164,76,.25);padding-bottom:.5rem}.garden-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));grid-gap:1.2rem;gap:1.2rem;margin-top:1.2rem}.garden-item{padding:1.1rem 1.2rem;background:rgba(14,16,26,.7);border:1px solid rgba(212,164,76,.2);border-radius:10px}.garden-item h3{margin:0 0 .2rem;font-size:1.05rem;font-weight:400;color:#f0e9d6}.garden-item-image{width:100%;height:auto;border-radius:8px;margin-top:.6rem}.garden-item .garden-item-kind{font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:rgba(212,164,76,.8)}.garden-item p{font-size:.86rem;font-style:italic;color:hsla(43,28%,87%,.75);line-height:1.5}.garden-item-links{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.8rem}.garden-item-links a{font-size:.8rem;letter-spacing:.06em;color:#f0c674;text-decoration:none;border:1px solid rgba(212,164,76,.4);border-radius:6px;padding:.35rem .7rem}.garden-item-links a:focus-visible,.garden-item-links a:hover{background:rgba(212,164,76,.15);outline:2px solid rgba(212,164,76,.6)}@media (prefers-reduced-motion:reduce){.garden-gallery *{animation:none!important;transition:none!important}}.completion-card{max-width:30rem;max-height:88vh;overflow-y:auto;text-align:center}.completion-title{margin:.4rem 0 .1rem;font-size:1.7rem;font-weight:300;letter-spacing:.26em;color:#f0e9d6}.completion-secondary{margin:0 0 .8rem;font-size:.9rem;font-style:italic;color:rgba(212,164,76,.85)}.completion-sigil{display:block;width:100%;max-width:16rem;margin:.5rem auto .8rem;border-radius:8px}.completion-teaser{margin:.8rem 0;font-size:.82rem;font-style:italic;line-height:1.55;color:rgba(205,211,232,.7)}.completion-credits{text-align:left;max-height:60vh;overflow-y:auto;padding:.5rem 0}.completion-credits section{margin-bottom:1.1rem}.completion-credits h3{margin:0 0 .3rem;font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;color:#d4a44c}.completion-credits p{margin:.1rem 0;font-size:.86rem;color:hsla(43,28%,87%,.82)}.hud-complete{position:absolute;top:1.5rem;left:50%;transform:translateX(-50%);padding:.5rem 1.4rem;background:rgba(10,12,22,.7);border:1px solid rgba(212,164,76,.45);border-radius:999px;color:#f0c674;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;cursor:pointer;pointer-events:auto}.hud-complete:focus-visible,.hud-complete:hover{background:rgba(212,164,76,.18);outline:2px solid rgba(212,164,76,.6)}