:root{color-scheme:dark;--red:#ee584a;--muted:#aaa8a4;--line:#ffffff1c;--bg:#101112}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 22% 36%,#30201d55,transparent 44%),var(--bg);color:#eeece7;font-family:Arial,Helvetica,sans-serif}button,a,input{touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer}button,a{ -webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible,.compass:focus-visible{outline:2px solid #ffb697;outline-offset:6px}a{color:inherit;text-decoration:none}header,main,footer{max-width:1440px;margin:auto}header{display:flex;align-items:center;justify-content:space-between;padding:30px 5%;border-bottom:1px solid var(--line);font-size:12px}header img{width:182px}.edition,.eyebrow{font-size:10px;font-weight:600;letter-spacing:.19em;color:var(--muted)}main{padding:0 5%}.intro{padding:48px 0 12px}.intro h1{font-size:clamp(32px,4vw,58px);font-weight:400;letter-spacing:-.055em;margin:13px 0}.intro p{color:var(--muted);font-size:14px}.experience{display:grid;grid-template-columns:1.1fr 1fr;gap:7%;align-items:center;padding:20px 0 56px}.instrument{min-width:0}.compass{aspect-ratio:1;position:relative;max-width:590px;margin:auto;touch-action:pan-y;user-select:none}.outer-ring{position:absolute;inset:13%;border-radius:50%;background:radial-gradient(circle,#1e2021 57%,#535453 58%,#161717 59%,#2d3030 65%,#111 66%);box-shadow:0 28px 50px #0009,0 0 0 1px #ffffff15,inset 0 1px 3px #fff4}.ticks{position:absolute;inset:16%;border-radius:50%;background:repeating-conic-gradient(from -1deg,#bfb6a359 0deg 1deg,transparent 1deg 6deg);mask:radial-gradient(transparent 66%,#000 67%);-webkit-mask:radial-gradient(transparent 66%,#000 67%)}.rotor{position:absolute;inset:21%;border:1px solid #8874655c;border-radius:50%;transform:rotate(270deg);transition:transform .65s cubic-bezier(.22,.75,.15,1)}.needle{position:absolute;left:calc(50% - 5px);top:-23px;width:10px;height:33px;background:var(--red);clip-path:polygon(50% 0,100% 100%,0 100%);filter:drop-shadow(0 0 7px red)}.orb{position:absolute;inset:24%;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:radial-gradient(circle at 35% 20%,#444849,#202324 38%,#090b0c 78%);box-shadow:inset 0 2px 3px #fff3,inset -10px -12px 28px #000,0 12px 25px #0009;border:1px solid #61636240}.orb img{width:32%;mix-blend-mode:screen;opacity:.8}.orb .eyebrow{font-size:9px}.orb #orb-label{font-size:8px;letter-spacing:.13em}.orb-light{width:22px;height:2px;background:var(--red);box-shadow:0 0 15px 3px #ff4c3545}.direction{position:absolute;background:none;border:0;display:flex;align-items:center;flex-direction:column;gap:7px;color:#94948f;padding:12px 5px;min-width:90px}.direction strong{font-weight:400;font-size:24px}.direction span{font-size:10px}.direction[aria-pressed=true]{color:#ff8e7e}.north{top:0;left:50%;transform:translateX(-50%)}.south{bottom:0;left:50%;transform:translateX(-50%)}.west{left:-4%;top:50%;transform:translateY(-50%)}.east{right:-4%;top:50%;transform:translateY(-50%)}.instrument-caption{display:flex;align-items:center;justify-content:center;gap:10px;color:#c2bbb1;font-size:12px;line-height:1.6;text-align:center;padding:0 20px}.dot{flex:none;width:5px;height:5px;border-radius:50%;background:var(--red)}.gesture-hint{text-align:center;font-size:9px;letter-spacing:.16em;color:#7f817e;margin-top:18px}.listening{min-width:0}.track-top{display:flex;justify-content:space-between;gap:12px;align-items:center}#position{font-size:11px;color:var(--muted)}.listening h2{font-size:clamp(27px,3.5vw,48px);font-weight:400;letter-spacing:-.045em;margin:13px 0 20px;overflow-wrap:anywhere}.video-shell{aspect-ratio:16/9;min-height:200px;background:#050505;border:1px solid var(--line);overflow:hidden}#video,#poster,iframe{width:100%;height:100%;border:0;display:block}#poster{position:relative;padding:0;background:#090909}#poster img{width:100%;height:100%;object-fit:cover;opacity:.7}#poster:hover img{opacity:.9}.start-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#eeece7;color:#171717;border-radius:50%;width:56px;height:56px;display:grid;place-items:center;padding-left:3px}.start-label{position:absolute;bottom:16px;left:0;right:0;font-size:9px;letter-spacing:.2em}.transport{display:grid;grid-template-columns:54px 1fr 54px;gap:8px;margin-top:12px}.transport button,#surprise{border:1px solid var(--line);background:#191b1b;padding:14px;font-size:13px}.transport .primary{background:#eee8dc;color:#1a1816;border-color:#eee8dc}.transport button:hover,#surprise:hover{border-color:#dd8068}.options{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:11px;margin-top:14px;line-height:1.4}.options input,footer input{accent-color:#ec705b;vertical-align:middle}#status{text-align:right}.up-next{border-top:1px solid var(--line);margin-top:24px;padding:17px 0}.up-next button{display:block;background:none;border:0;padding:10px 0 0;text-align:left;width:100%;font-size:15px}details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;font-size:12px}summary{cursor:pointer;display:flex;justify-content:space-between}#lyric-text{white-space:pre-line;line-height:1.8;color:#bdbbb5;max-height:260px;overflow:auto}#youtube{display:inline-block;font-size:11px;color:var(--muted);margin-top:17px}#collection{border-top:1px solid var(--line);padding:35px 0 55px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.section-heading h2{font-weight:400;font-size:28px;letter-spacing:-.04em;margin:8px 0}.tracks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.track{background:transparent;border:1px solid transparent;padding:0 0 14px;text-align:left;min-width:0}.track[aria-pressed=true]{border-color:#e27c5b}.track img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;filter:saturate(.7)}.track span,.track small{display:block;padding:0 10px}.track span{font-size:14px;margin-top:12px}.track small{font-size:10px;color:var(--muted);margin-top:7px}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:30px 5%;font-size:11px;color:var(--muted)}footer img{width:130px}.reduced *{transition:none!important;scroll-behavior:auto!important}@media(min-width:1500px){.intro{padding-top:65px}}@media(max-width:850px){.experience{gap:4%;grid-template-columns:1fr 1fr}.direction span{font-size:9px}.direction{min-width:68px}.orb{gap:8px}.orb #orb-label{font-size:6px}.edition{display:none}}@media(max-width:650px){header{padding:22px 6%}header img{width:145px}header a{font-size:11px}main{padding:0 6%}.intro{padding-top:30px}.intro p{line-height:1.5}.experience{display:flex;flex-direction:column;gap:30px;padding-top:5px}.instrument{width:100%;max-width:400px}.compass{width:100%;max-width:360px}.direction span{font-size:10px}.direction strong{font-size:21px}.orb #orb-label{font-size:7px}.instrument-caption{font-size:11px}.gesture-hint{font-size:8px}.listening{width:100%}.listening h2{font-size:34px}.tracks{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading{align-items:flex-start}.section-heading h2{font-size:24px}#surprise{max-width:120px;line-height:1.5;font-size:11px;padding:9px}footer{flex-wrap:wrap}footer p{order:3;width:100%;margin:0}.options{font-size:10px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
:root{--unused:0}#orb-play{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;gap:7px;padding:0;width:45%;min-height:44px}#orb-play img{width:72%}#orb-play span{font-size:8px;letter-spacing:.2em;color:#d6b2a1}header img,footer img{mix-blend-mode:screen}@media(max-width:650px){.compass{max-width:300px}.intro{padding-top:22px}.intro h1{margin:10px 0}.intro p{margin-bottom:0}.experience{padding-top:15px;gap:24px}.instrument-caption{max-width:320px;margin:auto}.orb{gap:7px}}
:root{--metal-edge:#b8b2a1}
.chassis{position:absolute;inset:0;pointer-events:none;transform:perspective(900px) rotateX(12deg);transform-style:preserve-3d}
.chassis #orb-play{pointer-events:auto}
.outer-ring{inset:11%;background:repeating-conic-gradient(from 1deg,#141617 0deg 2deg,#62615a 2.5deg 3deg,#262928 3.5deg 5deg);border:2px solid #75766d;box-shadow:0 3px 0 #090b0c,0 7px 0 #414440,0 11px 0 #111415,0 14px 0 #323533,0 28px 35px #000b,inset 0 2px 2px #eeecd67a,inset 0 -4px 7px #000}
.outer-ring:after{content:"";position:absolute;inset:3%;border-radius:50%;background:conic-gradient(from 130deg,#1b1e1e,#77776b 14%,#303535 26%,#131616 45%,#6c7069 67%,#272b2b 83%,#1b1e1e);box-shadow:inset 0 0 0 1px #d1cdb455,inset 0 0 0 5px #151919,inset 0 0 0 6px #80817870}
.ticks{inset:15%;opacity:.9;transform:translateZ(5px)}
.rotor{inset:13%;border:0;background:radial-gradient(circle,transparent 41%,#111716 42%,#3c403c 43%,#333934 53%,#77776a 54%,#101515 55%,transparent 56%);box-shadow:none;transition:none;transform:rotate(270deg)}
.engraving{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#aaa58d55;stroke-width:1;pointer-events:none}
.engraved-shadow{stroke:#080c0b;stroke-width:5;filter:drop-shadow(0 -1px 0 #000)}
.engraved-highlight{stroke:#bab49b;opacity:.4}
.needle{top:2%;width:8px;height:21px;left:calc(50% - 4px);background:linear-gradient(90deg,#783b31,#ff967c,#a54334);filter:drop-shadow(0 1px 2px #000)}
.orb{inset:28%;transform:translateZ(18px);background:radial-gradient(ellipse at 32% 16%,#70766b 0%,#39413c 24%,#202826 45%,#0c1110 78%);border:2px solid #6c7263;box-shadow:0 1px 0 #ced1b76b,0 4px 0 #101614,0 7px 0 #393f35,0 12px 15px #000d,inset 0 2px 4px #dde3ba55,inset -8px -12px 22px #0009;gap:9px}
.orb:before{content:"";position:absolute;inset:5%;border-radius:50%;border:1px solid #a2ab8f25;pointer-events:none}
#orb-play img{opacity:.65;filter:drop-shadow(0 2px 0 #aab19c55);mix-blend-mode:screen}
.fasteners{position:absolute;inset:11%;transform:translateZ(7px)}
.fasteners i{position:absolute;width:9px;height:9px;border-radius:50%;background:linear-gradient(135deg,#bcbba1,#292e2a 48%,#050907 49%,#050907 61%,#7e8373 62%,#2a3029);box-shadow:0 2px 2px #000,0 -1px 1px #c1bca477}
.fasteners i:nth-child(1){left:14%;top:14%}.fasteners i:nth-child(2){right:14%;top:14%}.fasteners i:nth-child(3){left:14%;bottom:14%}.fasteners i:nth-child(4){right:14%;bottom:14%}
.compass{cursor:grab}.compass.dragging{cursor:grabbing}.direction{z-index:2}.orb #orb-label{max-width:85%;text-align:center;line-height:1.4}.orb .eyebrow{font-size:8px}
@media(max-width:650px){.chassis{transform:perspective(700px) rotateX(8deg)}.orb{gap:5px}.orb #orb-label{font-size:6px}.orb .eyebrow{font-size:7px}.fasteners i{width:7px;height:7px}#orb-play span{font-size:7px}.needle{height:16px}}
.chassis{inset:4%}
.north{top:-12px}.south{bottom:-16px}.compass{margin-top:12px;margin-bottom:16px}
.ball-engraving{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;pointer-events:none;fill:none;stroke:#0a100dcc;stroke-width:.6;transform:scaleX(.98);opacity:.9}
.cut-shadow{stroke:#060b08;filter:drop-shadow(0 -1px 0 #050906);opacity:.9}.cut-edge{stroke:#b1baa0;opacity:.35}
.orb>.eyebrow,.orb>#orb-label,.orb>#orb-play,.orb>.orb-light{position:relative;z-index:1}
#orb-play img{filter:brightness(.26) sepia(.2) drop-shadow(0 1px 0 #b3bba5aa);mix-blend-mode:screen;opacity:1}
.sound-option{display:flex;justify-content:center;align-items:center;gap:7px;font-size:11px;color:#c2bbb1;margin-top:18px;min-height:44px;cursor:pointer}.sound-option input{accent-color:#ec705b;width:16px;height:16px}.sound-option span{font-size:10px;color:#828780;margin-left:5px}.gesture-hint{margin-top:5px}
#orb-play{mix-blend-mode:screen}#orb-play img{filter:brightness(.5);mix-blend-mode:screen}
body{background:linear-gradient(180deg,#0b0d10a6 0%,#101112cf 68%,#101112f5 100%),url('assets/backdrop.png') center top/1600px auto repeat-y,#101112}
.site-header{position:sticky;top:0;z-index:20;max-width:none;background:#101112eb;backdrop-filter:blur(16px);padding:20px max(5%,calc((100vw - 1296px)/2));box-shadow:0 8px 30px #0003}
.site-header nav,.footer-main nav{display:flex;align-items:center;gap:28px}.site-header nav a{font-size:13px;color:#d4d0c9;padding:12px 0}.site-header nav a:hover,.site-footer a:hover{color:#ff9784}.menu-toggle{display:none}
#listen,#collection,#about,#journal{scroll-margin-top:110px}.skip-link{position:fixed;top:-80px;left:16px;z-index:50;background:#eee8dc;color:#161616;padding:12px}.skip-link:focus{top:12px}
.intro,.experience,#collection{position:relative}.about-section,.journal-section{padding:64px 0;border-top:1px solid var(--line)}.about-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:70px}.section-number{font-size:10px;letter-spacing:.18em;color:#c3aba0}.about-section h2,.journal-section h2{font-size:clamp(30px,4vw,46px);line-height:1.12;font-weight:400;letter-spacing:-.04em;margin:14px 0 25px}.about-copy p{font-size:15px;line-height:1.85;color:#c4c1bc}.about-copy .about-lead{font-size:20px;color:#eee8dc}.quiet-link{display:inline-block;border-bottom:1px solid #d67b65;padding-bottom:7px;margin-top:10px;font-size:13px}
.collection-heading{display:flex;justify-content:space-between;align-items:center;gap:24px}.collection-count{color:var(--muted);font-size:12px}.journal-card{display:grid;grid-template-columns:60px 1fr;gap:26px;padding:30px;margin-top:16px;border:1px solid var(--line);background:#101112e8;transition:border-color .2s}.journal-card:hover{border-color:#bf6f5d}.journal-mark{font-size:34px;color:#b97c6b;font-weight:400}.journal-card h3{font-weight:400;font-size:clamp(22px,3vw,30px);letter-spacing:-.035em;margin:8px 0 14px}.journal-card p:not(.section-number){color:#bdbab4;line-height:1.75;font-size:14px;max-width:740px}.read-article{display:inline-block;margin-top:8px;font-size:12px;border-bottom:1px solid #d67b65;padding-bottom:5px}
.site-footer{display:block;background:#101112e8}.footer-main,.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-main{padding:8px 0 30px}.footer-main nav{flex-wrap:wrap;gap:24px;font-size:12px}.footer-bottom{padding-top:24px;border-top:1px solid var(--line);font-size:11px}.site-footer img{width:155px}.footer-bottom label{min-height:44px;display:flex;align-items:center;gap:6px}
@media(max-width:650px){body{background-size:auto,1000px auto}.site-header{padding:15px 6%;flex-wrap:wrap}.site-header img{width:145px}.menu-toggle{display:flex;align-items:center;gap:9px;background:none;border:1px solid var(--line);padding:11px 13px;font-size:12px;min-height:44px}.menu-toggle span{font-size:18px}.site-header nav{display:none;width:100%;padding-top:13px;gap:0;flex-direction:column;align-items:stretch}.site-header nav.is-open{display:flex}.site-header nav a{padding:14px 5px;border-top:1px solid var(--line);font-size:14px}.about-layout{grid-template-columns:1fr;gap:12px}.about-section,.journal-section{padding:40px 0}.collection-heading{display:block}.collection-count{display:block;margin-bottom:24px}.journal-card{padding:22px 18px;grid-template-columns:28px 1fr;gap:16px}.journal-mark{font-size:23px}.journal-card h3{font-size:23px}.footer-main,.footer-bottom{align-items:flex-start;flex-direction:column;gap:20px}.footer-main nav{gap:18px 24px}.footer-bottom{gap:12px}.footer-bottom label{min-height:44px}.site-footer{padding:26px 6%}}
/* Alternating full-width backgrounds: Listen / collection / About / Blog. */
#collection,#journal{background:#000;box-shadow:0 0 0 100vmax #000;clip-path:inset(0 -100vmax)}
.site-footer{background:#000;box-shadow:0 0 0 100vmax #000;clip-path:inset(0 -100vmax)}
.site-header{background:#000}

/* A single oversized carving, cut into the face of the instrument. */
.orb{overflow:hidden}.ball-engraving{opacity:1!important;pointer-events:none;filter:none!important}.orb #orb-play img{display:none}.orb #orb-play{min-width:56px;min-height:48px;background:#101711b8;border:1px solid #aab39c40;border-radius:50%;mix-blend-mode:normal}.orb #bearing,.orb #orb-label{text-shadow:0 2px 4px #000,0 0 8px #000}.rotor .engraving use{display:none}
.listening-dock{display:none}#title{scroll-margin-top:120px}
@media(max-width:850px){
body{padding-bottom:calc(136px + env(safe-area-inset-bottom,0px))}html{scroll-padding-bottom:145px}
.listening-dock{display:block;position:fixed;bottom:0;left:0;right:0;z-index:30;padding:9px 16px calc(10px + env(safe-area-inset-bottom,0px));background:#101311f5;backdrop-filter:blur(18px);border-top:1px solid #7d88735e;box-shadow:0 -8px 28px #0006}
.dock-route{display:flex;align-items:center;gap:12px;margin-bottom:6px}.dock-route label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#aaa99e}.dock-route select{font:inherit;font-size:13px;background:#20261f;color:#eee8dc;border:1px solid #777b694f;border-radius:6px;min-height:44px;padding:0 10px;flex:1;min-width:0;color-scheme:dark}
.dock-transport{display:flex;align-items:center;gap:6px}.dock-transport a{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px;padding:14px 4px}.dock-transport button{flex:none;width:44px;height:44px;min-height:44px;padding:0;border:1px solid #777b6955;border-radius:50%;font-size:19px;background:#1c211b;color:#eee8dc}.dock-transport #dock-play{background:#dbcbb0;color:#101311;border-color:#dbcbb0;font-size:16px}.listening-dock :focus-visible{outline:2px solid #ff9784;outline-offset:2px}
}

/* Mobile listening order: song, video, instrument, details. */
@media(max-width:650px){
.site-header{padding:10px 6%}.site-header img{width:135px}.menu-toggle{padding:8px 11px}
.intro{padding:14px 0 6px}.intro>.eyebrow{display:none}.intro h1{font-size:23px;line-height:1.12;margin:0 0 5px;letter-spacing:-.035em}.intro p{font-size:11px;line-height:1.4;margin:0}
.experience{display:block;padding-top:12px;padding-bottom:28px}.listening h2{font-size:clamp(21px,5.7vw,27px);line-height:1.12;margin:7px 0 12px;letter-spacing:-.035em;overflow-wrap:break-word}.track-top .eyebrow{font-size:8px;letter-spacing:.12em}
.listening>.instrument{margin:12px auto 18px}.compass{max-width:280px;margin-top:12px;margin-bottom:13px}.instrument-caption{display:none}.gesture-hint{margin-top:8px;font-size:8px;color:#aaa89f}.sound-option{margin-top:10px}.transport{display:none}.options{margin-top:10px;align-items:center}.options label{display:flex;align-items:center;min-height:44px;flex-shrink:0}.up-next{margin-top:12px;padding:14px 0}.up-next button{min-height:44px;padding-top:8px}
#title{scroll-margin-top:90px}
}

@media(max-width:850px){#dock-title:before{content:"↗";display:inline-block;margin-right:7px;color:#d9bfa2}}

.video-shell{width:100%;max-width:100%}

.song-heading{display:flex;align-items:center;gap:12px}.song-heading h2{flex:1;min-width:0}#favourite{flex:none;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:#151b17;font-size:25px}#favourite[aria-pressed=true]{color:#ff9784;border-color:#b97765}#resume-panel{display:flex;align-items:center;gap:8px;margin:12px 0;background:#1c251e;border:1px solid #777b6955;border-radius:6px}#resume-panel[hidden]{display:none}#resume-session{flex:1;min-width:0;text-align:left;line-height:1.5}#resume-panel button{padding:12px;background:none;border:0;font-size:12px;min-height:44px}#dismiss-resume{font-size:22px!important;width:44px}.up-next #next-card{font-size:16px;line-height:1.4;min-height:44px}#next-explainer,.saved-note{font-size:11px;color:var(--muted);line-height:1.5}#favourites{margin:0 0 22px}#favourites summary{min-height:44px;align-items:center;font-size:14px}#favourite-count{background:#30392d;border-radius:20px;padding:4px 10px}#favourite-list button{display:block;width:100%;min-height:44px;text-align:left;background:#151a16;border:1px solid var(--line);padding:12px;margin:5px 0;font-size:13px}#favourite-list p{font-size:12px;color:var(--muted)}

#open-favourites{flex:none;min-width:64px;min-height:44px;border:1px solid #777b6955;border-radius:6px;background:#283025;color:#e6b19b;font-size:17px}#dock-favourite-count{font-size:12px;color:#eee8dc}
#favourites-panel{color:#eee8dc;background:linear-gradient(145deg,#242c24,#101510 80%);border:1px solid #7d887377;border-radius:18px 18px 0 0;width:min(100%,480px);max-width:100%;max-height:75dvh;margin:auto auto 0;padding:20px 20px calc(20px + env(safe-area-inset-bottom));box-shadow:0 -15px 60px #000a;overscroll-behavior:contain}#favourites-panel::backdrop{background:#0009}.saved-panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.saved-panel-head h2{font-size:22px;font-weight:400;margin:0}.saved-panel-head button{width:44px;height:44px;font-size:26px;background:none;border:1px solid var(--line);border-radius:50%}.play-saved{padding:12px 18px;min-height:44px;background:#dbcbb0;color:#101311;border:0;border-radius:6px;font-size:13px}.play-saved:disabled{opacity:.45;cursor:default}#playlist-state{font-size:12px;color:#bebcad}#panel-favourites button{display:block;width:100%;min-height:48px;padding:12px;margin:6px 0;text-align:left;background:#111a12;border:1px solid #777b6955;border-radius:5px;font-size:14px}#panel-favourites p{font-size:13px;color:#bdbbad}
/* Restrained machining detail; real material textures can replace this later. */
.orb:before{inset:0;border-radius:50%;border:0;background:repeating-linear-gradient(112deg,transparent 0 3px,#bfc4ac09 3px 3.5px,transparent 3.5px 6px);opacity:.5;box-shadow:inset 2px 3px 8px #ffffff0d,inset -8px -10px 18px #0008;z-index:0}.outer-ring{border-top-color:#939282;border-bottom-color:#30382f}

.texture-comparison{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12px;color:#e1d8c8;padding:10px 0;min-height:44px}.texture-comparison input{accent-color:#d89a7e}.texture-comparison span{font-size:10px;color:#a8a79c}.material-grain{display:none}.textures-on .material-grain{display:block}
.textures-on .orb{background-image:radial-gradient(ellipse at 32% 16%,#afb7a13b 0%,#37403936 24%,#111b1855 45%,#020604ed 85%),url('assets/gunmetal.png');background-size:cover;background-blend-mode:normal}
.textures-on .orb:before{background:none}
.textures-on .outer-ring:after{background-image:conic-gradient(from 130deg,#111911cc,#b0aa8d55 14%,#30352d88 26%,#090d0ace 45%,#bbc0a366 67%,#282b2288 83%,#111911cc),url('assets/bronze.png');background-size:cover}

/* Stationary instrument display; the engraved ball rotates independently below. */
.compass-display{position:absolute;z-index:8;left:50%;top:23%;transform:translateX(-50%) translateZ(28px);width:64%;max-width:270px;min-height:80px;display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;border:1px solid #9d9f807a;background:linear-gradient(145deg,#30372f,#111811 55%);box-shadow:inset 0 1px 0 #dfd9ba55,inset 0 -2px 2px #0009,0 5px 0 #0a100c,0 9px 14px #000b;pointer-events:auto}
.compass-readout{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;padding:6px 3px}.compass-readout #bearing{font-size:11px;letter-spacing:.12em;color:#e6b79a;text-transform:uppercase;line-height:1.3}.compass-readout #orb-label{font-size:12px;font-weight:500;line-height:1.3;letter-spacing:.025em;color:#e4e5d1;text-transform:none}
.compass-display #orb-play{flex:none;width:54px;height:54px;min-height:54px;gap:4px;border-radius:50%;border:1px solid #efd9ae;background:linear-gradient(135deg,#e9dcc2,#b7a581);color:#111810;box-shadow:inset 0 1px 1px #fff8,0 3px 0 #080e09,0 4px 7px #0008;mix-blend-mode:normal}.compass-display #orb-play .display-play-symbol{font-size:22px;line-height:1;letter-spacing:0;color:#111810}.compass-display #orb-play .display-play-label{font-size:8px;letter-spacing:.12em;color:#111810}.compass-display #orb-play:active{transform:translateY(2px);box-shadow:inset 0 1px 4px #0005}.orb>.orb-light{position:absolute;bottom:18%}
@media(max-width:650px){.compass-display{top:24%;width:70%;min-height:70px;gap:7px;padding:8px;border-radius:9px}.compass-readout{gap:4px;padding:3px 0}.compass-readout #bearing{font-size:9px;letter-spacing:.08em}.compass-readout #orb-label{font-size:10px;line-height:1.35}.compass-display #orb-play{width:46px;height:46px;min-height:46px}.compass-display #orb-play .display-play-symbol{font-size:19px}.compass-display #orb-play .display-play-label{font-size:7px}}

/* Dock the readout beneath the stationary compass, clear of the south label. */
.instrument>.compass-display{position:relative;left:auto;top:auto;transform:none;width:100%;max-width:360px;min-height:68px;margin:24px auto 16px;padding:10px 14px;border-radius:10px;gap:14px}
.instrument>.compass-display .compass-readout{gap:5px;padding:0}.instrument>.compass-display #bearing{font-size:10px}.instrument>.compass-display #orb-label{font-size:12px}.instrument>.compass-display #orb-play{width:48px;height:48px;min-height:48px}.instrument>.compass-display #orb-play .display-play-symbol{font-size:22px}.instrument>.compass-display .display-play-label{display:none}
@media(max-width:650px){.instrument>.compass-display{max-width:300px;margin:24px auto 12px;min-height:64px;padding:8px 12px}.instrument>.compass-display #orb-label{font-size:11px}}
.instrument>.compass-display #orb-play{justify-content:center;align-items:center;padding:0}.instrument>.compass-display #orb-play .display-play-symbol{display:block;line-height:1}

/* User-supplied materials: charcoal steel, dark patina and fine engraved grain. */
:root{--red:#ad5146;--metal-edge:#8d8782}
.textures-on .orb{background-image:radial-gradient(ellipse at 32% 16%,#bdb8b129 0%,#24212166 35%,#070606d9 85%),url('assets/gunmetal.png');border-color:#66615c;box-shadow:0 1px 0 #c9c2b94d,0 4px 0 #100e0e,0 7px 0 #393432,0 12px 15px #000d,inset 0 2px 4px #e3dcd333,inset -8px -12px 22px #0009}
.textures-on .outer-ring:after{background-image:conic-gradient(from 130deg,#151212cc,#b5a99c55 14%,#35302d88 26%,#0c0a0ace 45%,#b9afa366 67%,#2b272688 83%,#151212cc),url('assets/bronze.png');box-shadow:inset 0 0 0 1px #b6aca344,inset 0 0 0 5px #171515,inset 0 0 0 6px #82797366}
.outer-ring{background:repeating-conic-gradient(from 1deg,#171414 0deg 2deg,#625b56 2.5deg 3deg,#292625 3.5deg 5deg);border-color:#77716c;box-shadow:0 3px 0 #0b0909,0 7px 0 #443e3a,0 11px 0 #151212,0 14px 0 #35302d,0 28px 35px #000b,inset 0 2px 2px #ece4d95c,inset 0 -4px 7px #000}
.rotor{background:radial-gradient(circle,transparent 41%,#171313 42%,#403a37 43%,#393331 53%,#777069 54%,#151111 55%,transparent 56%)}.fasteners i{background:linear-gradient(135deg,#b9afa5,#2e2825 48%,#080606 49%,#080606 61%,#837971 62%,#302a27)}.ticks{filter:grayscale(1)}.needle{background:linear-gradient(90deg,#503431,#b96b5d,#713d35)}.orb-light{background:#af5a4d;box-shadow:0 0 9px 2px #9b41352b}
.instrument>.compass-display{background:linear-gradient(145deg,#292626,#100e0e 65%);border-color:#77706a88;box-shadow:inset 0 1px 0 #d9cfc03b,inset 0 -2px 2px #0009,0 5px 0 #0a0909,0 9px 14px #000b}.instrument>.compass-display #bearing{color:#bb8f83}.instrument>.compass-display #orb-label{color:#e1dcd7}.instrument>.compass-display #orb-play{background:linear-gradient(135deg,#ded8d0,#a59a90);border-color:#c6bcb0;color:#171313}.instrument>.compass-display #orb-play .display-play-symbol{color:#171313}
.listening-dock{background:#101010f7;border-top-color:#6d625b66}.dock-route select,.dock-transport button,#open-favourites{background:#242121;border-color:#74696066;color:#dfd8d0}.dock-transport #dock-play,.play-saved{background:#d3cbc2;color:#191616;border-color:#c1b5a8}#open-favourites{color:#b98277}#favourite{background:#1a1717}#favourite[aria-pressed=true]{color:#c38b7d;border-color:#986b60}#resume-panel{background:#211d1c;border-color:#6f625966}#favourite-count{background:#37302e}#favourite-list button,#panel-favourites button{background:#1b1817;border-color:#70615855}#favourites-panel{background:linear-gradient(145deg,#292423,#110f0f 80%);border-color:#71665c88}.direction[aria-pressed=true]{color:#cd8c7b}.track[aria-pressed=true]{border-color:#a87363}.options input,footer input{accent-color:#ad7565}

/* The complete raised ball is the primary play/pause control. */
.chassis #orb-play.orb{position:absolute;inset:25%;width:auto;height:auto;min-height:0;padding:0;display:block;border-radius:50%;overflow:hidden;transform:translateZ(34px);border:1px solid #aca19885;cursor:pointer;pointer-events:auto;background-image:radial-gradient(ellipse at 30% 19%,#eee4d16b 0%,#bcb3a52e 18%,#35302d44 40%,#050404e8 83%),url('assets/gunmetal.png');background-size:cover;box-shadow:inset 3px 4px 6px #e8e0d955,inset -9px -13px 20px #000e,inset 0 0 5px 2px #0008,0 2px 0 #9e948855,0 5px 0 #211d1b,0 10px 10px #000d,0 20px 22px 5px #000b;transition:box-shadow .15s,transform .15s}
.chassis #orb-play.orb:before{content:"";position:absolute;z-index:2;inset:0;border:0;border-radius:50%;background:radial-gradient(ellipse at 32% 15%,#fff4dc40,transparent 39%),radial-gradient(ellipse at 63% 90%,#000b,transparent 58%);box-shadow:inset 0 0 13px #0006;pointer-events:none;opacity:1}
.chassis #orb-play.orb:after{content:"";position:absolute;z-index:3;left:17%;top:7%;width:49%;height:18%;border-top:2px solid #e9ded35c;border-radius:50%;transform:rotate(-24deg);filter:blur(.7px);pointer-events:none}
.chassis #orb-play.orb:active{transform:translateZ(28px) translateY(2px);box-shadow:inset 3px 4px 6px #e8e0d944,inset -9px -13px 20px #000e,0 4px 8px #000d,0 10px 16px #000b}
.chassis #orb-play.orb .ball-engraving{z-index:1;inset:0;width:100%;height:100%;transform:scaleX(.98);pointer-events:none}
.chassis #orb-play.orb .ball-control-icon{position:absolute;z-index:4;left:50%;top:50%;transform:translate(-50%,-50%);width:45px;height:45px;display:grid;place-items:center;font-size:23px;line-height:1;letter-spacing:0;color:#f1e9df;background:#151110cb;border:1px solid #c0afa46b;border-radius:50%;box-shadow:0 3px 8px #0009,inset 0 1px 1px #ffffff24;pointer-events:none;text-shadow:0 1px 3px #000}
.chassis #orb-play.orb .orb-light{position:absolute;z-index:4;bottom:14%;left:50%;transform:translateX(-50%);width:15px;pointer-events:none}.chassis #orb-play.orb[aria-pressed=true] .orb-light{background:#d29783;box-shadow:0 0 8px #bd746577}
.compass-selection{display:flex;justify-content:center;align-items:center;gap:9px;flex-wrap:wrap;margin:24px auto 8px;font-size:11px;text-align:center;color:#c4bdb6}.compass-selection #bearing{color:#b98f80;font-size:10px;letter-spacing:.06em}.compass-selection #orb-label{font-size:11px;letter-spacing:.02em}.instrument-caption{display:none}.gesture-hint{line-height:1.9;margin-top:10px;font-size:8px;color:#aaa19a}
@media(max-width:650px){.chassis #orb-play.orb .ball-control-icon{width:37px;height:37px;font-size:20px}.compass-selection{margin-top:24px}.chassis #orb-play.orb{inset:25%;box-shadow:inset 2px 3px 5px #e8e0d94d,inset -7px -10px 15px #000e,inset 0 0 4px #0008,0 3px 0 #655b5144,0 8px 9px #000d,0 15px 19px 3px #000c}}
.chassis #orb-play.orb{mix-blend-mode:normal;isolation:isolate}.chassis #orb-play.orb .ball-engraving{opacity:1}

/* Smoked crystal dome, with its etched mechanism visible inside. */
.chassis #orb-play.orb{inset:22%;transform:translateZ(42px);border:1px solid #e4ddd0a6;background-image:radial-gradient(ellipse at 27% 16%,#f8eee16b 0%,#b7c3c333 16%,#252b3240 40%,#090809a8 73%,#b4c0c15c 96%),radial-gradient(ellipse at 60% 80%,#a7bdc133,transparent 58%);background-color:#19171888;backdrop-filter:blur(1px);box-shadow:inset 3px 4px 7px #ffffff6b,inset -8px -14px 22px #000c,inset 0 0 3px 2px #e9e3d061,0 3px 0 #514b4677,0 12px 16px #000e,0 24px 26px 6px #000b;transition:box-shadow .25s,border-color .25s,transform .15s}
.chassis #orb-play.orb .ball-engraving{opacity:.57!important;filter:contrast(1.1)!important}
.chassis #orb-play.orb:before{z-index:2;background:radial-gradient(ellipse at 30% 19%,#ffffff88 0%,#ffffff26 15%,transparent 40%),radial-gradient(ellipse at 65% 82%,#e5dcd91c,transparent 40%),radial-gradient(ellipse at 53% 50%,transparent 39%,#020203a6 88%);box-shadow:inset -2px -3px 5px #e1e9e63d;transition:background .25s}
.chassis #orb-play.orb:after{left:13%;top:7%;width:62%;height:33%;border-top:3px solid #fff8;border-left:1px solid #fff4;background:linear-gradient(165deg,#fff4,transparent 65%);border-radius:50%;transform:rotate(-28deg);filter:blur(.4px)}
.chassis #orb-play.orb .ball-control-icon{width:49px;height:49px;border:1px solid #f3eee355;background:#09080970;box-shadow:0 2px 10px #0007,inset 0 1px 4px #fff2;perspective:220px;overflow:visible}
.chassis #orb-play.orb .ball-control-icon>span{position:absolute;inset:0;display:grid;place-items:center;font-size:25px;line-height:1;color:#fff4e9;letter-spacing:0;transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .16s;backface-visibility:hidden;text-shadow:0 0 10px #ffffff40}
.chassis #orb-play.orb .crystal-play{transform:rotateY(0) scale(1);opacity:1;padding-left:3px}.chassis #orb-play.orb .crystal-pause{transform:rotateY(-120deg) scale(.65);opacity:0}
.chassis #orb-play.orb[aria-pressed=true]{border-color:#a2d6b18c;background-color:#4d1014b3;box-shadow:inset 3px 4px 7px #ffffff66,inset -8px -14px 22px #170304cc,inset 0 0 3px 2px #c8ebd761,0 3px 0 #514b4677,0 12px 16px #000d,0 24px 26px 6px #000b,0 0 13px 2px #71b48a4d}
.chassis #orb-play.orb[aria-pressed=true]:before{background:radial-gradient(ellipse at 30% 19%,#ffffff88 0%,#ffffff26 15%,transparent 40%),radial-gradient(ellipse at 50% 65%,#d3303c55 0%,#7e142f22 42%,transparent 68%),radial-gradient(ellipse at 53% 50%,transparent 39%,#020203a6 88%);box-shadow:inset -2px -3px 7px #83c89a55}
.chassis #orb-play.orb[aria-pressed=true] .crystal-play{transform:rotateY(120deg) scale(.65);opacity:0}.chassis #orb-play.orb[aria-pressed=true] .crystal-pause{transform:rotateY(0) scale(1);opacity:1;color:#e8ffee}
.chassis #orb-play.orb[aria-pressed=true] .orb-light{background:#a1e2b8;box-shadow:0 0 10px 2px #67b38466}
@media(max-width:650px){.chassis #orb-play.orb{inset:22%}.chassis #orb-play.orb .ball-control-icon{width:43px;height:43px}.chassis #orb-play.orb .ball-control-icon>span{font-size:23px}}
@media(prefers-reduced-motion:reduce){.chassis #orb-play.orb .ball-control-icon>span{transition:none}}

/* Clear state lighting: red when stopped, green while playing. */
.chassis #orb-play.orb{background-color:#381015a8;border-color:#d8b2ac8c;box-shadow:inset 3px 4px 7px #ffffff6b,inset -8px -14px 22px #000c,inset 0 0 3px 2px #e9d0d061,0 3px 0 #514b4677,0 12px 16px #000e,0 24px 26px 6px #000b,0 0 10px #ac49452b}
.chassis #orb-play.orb[aria-pressed=true]{background-color:#123323ba;border-color:#a2d6b18c;box-shadow:inset 3px 4px 7px #ffffff66,inset -8px -14px 22px #03170bcc,inset 0 0 3px 2px #c8ebd761,0 3px 0 #514b4677,0 12px 16px #000d,0 24px 26px 6px #000b,0 0 15px 2px #71b48a55}
.chassis #orb-play.orb[aria-pressed=true]:before{background:radial-gradient(ellipse at 30% 19%,#ffffff88 0%,#ffffff26 15%,transparent 40%),radial-gradient(ellipse at 50% 65%,#39b87855 0%,#147e4322 42%,transparent 68%),radial-gradient(ellipse at 53% 50%,transparent 39%,#020203a6 88%);box-shadow:inset -2px -3px 7px #83c89a55}

/* Distinct direction keys and a larger, isolated turning annulus. */
.compass{max-width:590px;cursor:default}.chassis{inset:10%}.outer-ring{inset:1%}.fasteners{inset:1%}.ticks{inset:5%}.rotor{inset:3%;background:radial-gradient(circle,transparent 34%,#171313 35%,#403a37 36%,#393331 54%,#777069 55%,#151111 56%,transparent 57%)}
#turn-ring{position:absolute;inset:10%;border-radius:50%;z-index:5;clip-path:url(#ring-hit-clip);cursor:grab;touch-action:pan-y;background:transparent}.dragging #turn-ring{cursor:grabbing;background:#c3a18b0a}
.compass .direction{z-index:6;min-width:76px;min-height:54px;gap:3px;padding:7px 8px;border:1px solid #8c7f736b;border-radius:9px;background:linear-gradient(145deg,#282321,#0e0c0c);box-shadow:inset 0 1px 0 #e8ddcf20,0 3px 0 #080707,0 5px 9px #0008;color:#cdc4ba;cursor:pointer;transition:background .15s,border-color .15s}.compass .direction strong{font-size:20px;line-height:1}.compass .direction span{font-size:9px;line-height:1.25}.compass .direction[aria-pressed=true]{background:linear-gradient(145deg,#49332c,#211713);border-color:#d49c82;color:#f1ceba;box-shadow:inset 0 1px 0 #f3c8af33,0 3px 0 #080707,0 0 10px #bc755329}.compass .direction:hover{border-color:#b9a799}.compass .direction:active{box-shadow:inset 0 2px 5px #0009}
.compass .north{top:-14px}.compass .south{bottom:-17px}.compass .west{left:-2%}.compass .east{right:-2%}
@media(max-width:650px){.compass{max-width:340px;margin-top:30px;margin-bottom:30px}.compass .direction{min-width:66px;max-width:76px;min-height:50px;padding:6px 5px}.compass .direction strong{font-size:18px}.compass .direction span{font-size:8px}.compass .west{left:-4%}.compass .east{right:-4%}.compass-selection{margin-top:27px}}
/* Mouse-only invitation, without sticky hover on touchscreens. */
@media(hover:hover) and (pointer:fine){
.chassis #orb-play.orb:hover{transform:translateZ(45px) translateY(-1px);border-color:#c0ead0cc;box-shadow:inset 3px 4px 7px #ffffff77,inset -8px -14px 22px #000b,inset 0 0 5px 2px #b3e7c488,0 3px 0 #514b4677,0 12px 16px #000d,0 24px 26px 6px #000a,0 0 20px 3px #93d8ae55}
.chassis #orb-play.orb:hover:before{background:radial-gradient(ellipse at 30% 19%,#ffffff99 0%,#ffffff26 15%,transparent 40%),radial-gradient(ellipse at 50% 65%,#94dfa72b,transparent 65%),radial-gradient(ellipse at 53% 50%,transparent 39%,#02020399 88%);box-shadow:inset -2px -3px 9px #a0dbb56b}
.chassis #orb-play.orb:hover .ball-control-icon{border-color:#ceebd8aa;background:#11201999;box-shadow:0 2px 10px #0007,inset 0 1px 4px #fff3,0 0 10px #b9efd326}
.chassis #orb-play.orb:active{transform:translateZ(28px) translateY(2px)}
}
@media(prefers-reduced-motion:reduce){.chassis #orb-play.orb:hover{transform:translateZ(42px)}}
.reduced .chassis #orb-play.orb:hover{transform:translateZ(42px)}

/* Raised metal direction keys. Preserve their existing compass positions. */
.compass .direction{background:linear-gradient(155deg,#19141188,#000b 66%),url('assets/gunmetal.png') center/180px;border:1px solid #8d8275;border-bottom:3px solid #332d28;border-radius:12px;box-shadow:inset 0 2px 1px #ffffff66,inset 2px 0 2px #ffffff22,inset -2px -3px 4px #000a,0 5px 0 #171310,0 8px 12px #000c;color:#f1e9de;text-shadow:0 2px 2px #000;transition:box-shadow .18s,border-color .18s,filter .18s;}
.compass .direction span{color:#eee5da;font-size:10px;line-height:1.25;}
.compass .direction[aria-pressed=true]{background:linear-gradient(155deg,#b8795433,#000a 70%),url('assets/bronze.png') center/160px;border-color:#d5a58a;box-shadow:inset 0 1px 2px #ffe0c566,inset 0 -3px 5px #000a,0 3px 0 #32221b,0 6px 11px #000c,0 0 12px #9f51332a;}
.compass .direction:active{box-shadow:inset 0 3px 7px #000b,0 1px 0 #171310;filter:brightness(1.15)}
.compass .direction:focus-visible,#orb-play:focus-visible{outline:3px solid #e5c7a5;outline-offset:5px}
@media(hover:hover) and (pointer:fine){.compass .direction:hover{filter:brightness(1.23);border-color:#e5c7a5;}}
@media(prefers-reduced-motion:reduce){.compass .direction{transition:none}}
.reduced .compass .direction{transition:none}

/* Four machined points grow out of a single compass housing. */
.compass .direction,.compass .direction[aria-pressed=true]{width:18%;height:19%;min-width:0;max-width:none;min-height:48px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;filter:drop-shadow(0 3px 2px #000b);isolation:isolate;}
.compass .direction:before{content:"";position:absolute;inset:0;z-index:-2;clip-path:polygon(50% 0,100% 100%,0 100%);background:linear-gradient(110deg,#91877d,#25211f 49%,#665d55 50%,#151312);}
.compass .direction:after{content:"";position:absolute;inset:3px 4px 2px;z-index:-1;clip-path:polygon(50% 0,100% 100%,0 100%);background:linear-gradient(110deg,#82756a44,#000b),url('assets/bronze.png') center/150px;}
.compass .direction strong{font-size:13px;color:#d1c6b9;margin-top:25%;text-shadow:0 1px 2px #000;}
.compass .direction span{display:none}
.compass .north{top:0;left:50%;transform:translateX(-50%)}
.compass .east{top:50%;right:0;transform:translateY(-50%) rotate(90deg)}
.compass .south{bottom:0;left:50%;transform:translateX(-50%) rotate(180deg)}
.compass .west{top:50%;left:0;transform:translateY(-50%) rotate(-90deg)}
.compass .east strong{transform:rotate(-90deg)}.compass .south strong{transform:rotate(-180deg)}.compass .west strong{transform:rotate(90deg)}
.compass .direction[aria-pressed=true]:before,.compass .direction.snap-candidate:before{background:linear-gradient(110deg,#e1b79c,#8b5340 49%,#d9aa89 50%,#3b2821)}
.compass .direction[aria-pressed=true] strong,.compass .direction.snap-candidate strong{color:#ffe0bf;text-shadow:0 0 8px #ec9c6599}
.compass .direction:focus-visible:after{background:#8a644a}
.compass .direction:active{box-shadow:none;filter:brightness(1.3) drop-shadow(0 1px 1px #000)}
.compass-selection{display:none}
.compass{margin-top:14px;margin-bottom:12px}
#turn-ring{touch-action:none}
@media(max-width:650px){.compass{max-width:340px;margin-top:12px;margin-bottom:12px}.compass .direction strong{font-size:12px}.intro h1{font-size:25px}.gesture-hint{font-size:8px}}

/* Direction tips sit beneath an uninterrupted, tactile turning wheel. */
.compass .direction,.compass .direction[aria-pressed=true]{z-index:0;width:18%;height:19%;filter:drop-shadow(0 3px 3px #000c)}
.compass .direction strong{display:none}
.compass .chassis{z-index:1;pointer-events:none}
.compass #turn-ring{z-index:5}
.compass .direction:before{background:linear-gradient(110deg,#82766b,#25211e 49%,#62574d 50%,#100d0b)}
.compass .direction[aria-pressed=true]:before,.compass .direction.snap-candidate:before{background:linear-gradient(110deg,#d6ac8e,#6a4030 49%,#b88968 50%,#302019)}
.compass .direction:focus-visible{filter:drop-shadow(0 0 4px #e7bd92);outline:none}
/* Alternating machined teeth, a polished lip and a broad patinated grip. */
.compass .outer-ring{background:repeating-conic-gradient(from 1deg,#100e0d 0deg 1.3deg,#8b8075 1.7deg 2.1deg,#39332e 2.5deg 3.4deg,#171310 3.8deg 5deg);border:2px solid #81776d;box-shadow:0 2px 0 #d0bda566,0 5px 0 #161210,0 8px 0 #51453a,0 12px 0 #100d0b,0 17px 22px #000e,inset 0 2px 2px #f1e1ce77,inset 0 -4px 5px #000;}
.textures-on .compass .outer-ring:after{background-image:conic-gradient(from 125deg,#070605bb,#bca78c55 17%,#211a15aa 30%,#060504dd 47%,#c6b49c66 66%,#30251baa 83%,#070605bb),url('assets/bronze.png');background-size:cover;box-shadow:inset 0 0 0 1px #dfc8a977,inset 0 0 0 4px #100d0c,inset 0 0 0 5px #8c796755,inset 0 5px 8px #ecdbc01f,inset 0 -8px 12px #000b;}
.compass .ticks{opacity:.85;filter:grayscale(1) drop-shadow(0 1px 1px #000)}
@media(hover:hover) and (pointer:fine){.compass:has(#turn-ring:hover) .outer-ring{border-color:#b4a18c;filter:brightness(1.12)}}
.compass.dragging .outer-ring{filter:brightness(1.15)}

/* Smoked crystal direction tips, illuminated from within. */
.compass .direction,.compass .direction[aria-pressed=true]{--tip-edge:#a76d70;--tip-light:#b7484c;--tip-core:#74242b;filter:drop-shadow(0 0 5px #ad39463b) drop-shadow(0 3px 3px #000b)}
.compass .direction:before{background:linear-gradient(115deg,#f7dfdebb 0%,var(--tip-edge) 28%,#26151a 49%,#c5aeb488 51%,var(--tip-core) 80%,#08070b 100%)}
.compass .direction:after{inset:2px 3px 2px;background:linear-gradient(110deg,#fff7 0%,#ffffff12 26%,#07090d66 49%,#fff3 51%,transparent 68%),radial-gradient(ellipse at 50% 75%,var(--tip-light),var(--tip-core) 46%,#101015e6 95%);box-shadow:inset 0 0 12px #0008;backdrop-filter:blur(1px)}
.compass .direction[aria-pressed=true],.compass .direction.snap-candidate{--tip-edge:#9ecbad;--tip-light:#62b884;--tip-core:#1e593b;filter:drop-shadow(0 0 7px #72d59b66) drop-shadow(0 3px 3px #000b)}
.compass .direction[aria-pressed=true]:before,.compass .direction.snap-candidate:before{background:linear-gradient(115deg,#e1ffecbb 0%,var(--tip-edge) 28%,#14251d 49%,#b2e1c288 51%,var(--tip-core) 80%,#060c09 100%)}
.compass .direction:focus-visible{filter:drop-shadow(0 0 5px #f4e2ca)}

/* A thin polished metal bezel around the glossy crystal inlay. */
.compass .direction:before,.compass .direction[aria-pressed=true]:before,.compass .direction.snap-candidate:before{background:linear-gradient(115deg,#f0e5d5 0%,#8d8173 24%,#322b25 46%,#d4c4b0 50%,#726557 74%,#c5b5a0 91%,#3b3229);}
.compass .direction:after{inset:2px 2px 1px;background:linear-gradient(112deg,#ffffffc9 0%,#ffffff55 13%,transparent 29%,#0005 48%,#ffffff99 50%,#ffffff18 57%,transparent 72%),radial-gradient(ellipse at 30% 23%,#ffffff88,transparent 35%),radial-gradient(ellipse at 50% 78%,var(--tip-light),var(--tip-core) 46%,#101015e6 95%);box-shadow:inset 0 0 5px #ffffff44,inset 0 -5px 9px #0008;}

/* A smaller instrument gives the video the leading role. */
@media(min-width:851px){.experience{grid-template-columns:.825fr 1.275fr}.compass{max-width:442.5px}}
@media(min-width:651px) and (max-width:850px){.experience{grid-template-columns:.75fr 1.25fr}.compass{max-width:442.5px}}
@media(max-width:650px){.compass{width:75%;max-width:255px}.listening>.instrument{margin:8px auto 12px}.compass .direction{min-height:44px}.gesture-hint{margin-top:6px}}

/* Faceted stones held in a solid, bevelled metal setting. */
.compass .direction:before,.compass .direction:after{display:none}
.jewel-tip{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;filter:drop-shadow(1px 3px 2px #000b)}
.gem-body{fill:var(--tip-core)}.gem-table{fill:var(--tip-light)}
.compass .direction{min-width:44px;min-height:44px}
.celestial-cloud{position:absolute;inset:7%;z-index:2;border-radius:50%;pointer-events:none;opacity:.65;background:radial-gradient(ellipse at 30% 65%,#638ba34d,transparent 55%),radial-gradient(ellipse at 70% 35%,#9d7cb355,transparent 50%);filter:blur(4px)}
.star-globe{position:absolute;inset:4%;z-index:2;border-radius:50%;overflow:hidden;pointer-events:none;mask-image:radial-gradient(circle,#000 15%,#000b 65%,transparent 74%)}
.star-globe i{position:absolute;left:var(--sx);top:var(--sy);width:var(--sz);height:var(--sz);opacity:var(--sa);border-radius:50%;background:#e9e8d8;box-shadow:0 0 3px 1px #bcdbff66;pointer-events:none}
.chassis #orb-play.orb .ball-control-icon{z-index:4}
@media(min-width:851px){.experience{grid-template-columns:.61875fr 1.48125fr}.compass{max-width:332px}}
@media(min-width:651px) and (max-width:850px){.experience{grid-template-columns:.5625fr 1.4375fr}.compass{max-width:332px}}
@media(max-width:650px){.compass{width:56.25%;max-width:191.25px}.chassis #orb-play.orb .ball-control-icon{width:34px;height:34px}.chassis #orb-play.orb .ball-control-icon>span{font-size:19px}}
/* Retain usable point targets in both selected and unselected states. */
.compass .direction.direction{min-width:44px;min-height:44px}

/* A pocket-watch chapter ring: polished lips around a satin dial. */
.compass .outer-ring{background:repeating-conic-gradient(#16120f 0deg 1deg,#a99b86 1.2deg 1.65deg,#3d342b 2deg 3deg);border:1px solid #c4b299;box-shadow:0 2px 0 #e2ceb077,0 4px 0 #251d16,0 7px 0 #79634a,0 10px 0 #18120f,0 15px 20px #000d,inset 0 2px 2px #fff0d6aa,inset 0 -3px 5px #000;}
.textures-on .compass .outer-ring:after{background-image:conic-gradient(from 130deg,#0d0b09bb,#af987c55 17%,#191512cc 32%,#060505e6 48%,#bba38a55 67%,#211b16bb 83%,#080605cc),url('assets/bronze.png');box-shadow:inset 0 0 0 1px #ead7b888,inset 0 0 0 4px #13100d,inset 0 0 0 5px #b7a08499,inset 0 0 0 7px #211b16,inset 0 -5px 12px #000a;}
.watch-indices{position:absolute;inset:8%;border-radius:50%;z-index:2;pointer-events:none;border:1px solid #bfa68066;box-shadow:0 0 0 2px #09080799,inset 0 0 0 2px #09080799}
.watch-indices i{position:absolute;left:calc(50% - 1px);top:2%;width:2px;height:7%;background:linear-gradient(90deg,#675442,#f2dfbf,#887052);transform-origin:50% 685%;transform:rotate(calc(var(--hour)*30deg));box-shadow:0 1px 2px #000}
.watch-indices i:nth-child(3n + 1){width:3px;left:calc(50% - 1.5px);height:8%;transform-origin:50% 600%;background:linear-gradient(90deg,#9c8060,#fff0d2,#b89c78)}
.compass .ticks{opacity:.5}
/* Galaxy layers are seen through the dome, beneath its reflections and control. */
.chassis #orb-play.orb .ball-engraving{opacity:.23!important}
.celestial-cloud{inset:3%;opacity:.95;filter:none;background:radial-gradient(ellipse at 64% 60%,#13364eaa,transparent 65%),radial-gradient(ellipse at 30% 40%,#482a5eaa,transparent 70%);overflow:hidden;mask-image:radial-gradient(circle,#000 30%,#000c 62%,transparent 74%)}
.galaxy-disc{position:absolute;inset:8% -12%;border-radius:50%;transform:rotate(-32deg) scaleY(.55);background:repeating-conic-gradient(from 20deg,#d7c2ff00 0deg,#9bbdd57a 24deg,#b9acdc44 41deg,#0b091cbb 58deg,transparent 86deg),radial-gradient(ellipse,#fff2cdcc 0%,#d4bbd177 12%,#7e74ba66 30%,#33587a66 50%,transparent 72%);filter:blur(1px);box-shadow:0 0 11px #7972b866;}
.galaxy-dust{position:absolute;inset:15% -10%;border-radius:50%;transform:rotate(-32deg) scaleY(.48);background:repeating-conic-gradient(from 10deg,transparent 0deg 35deg,#050512aa 47deg 59deg,transparent 80deg 120deg);filter:blur(1.6px);mix-blend-mode:multiply}
.galaxy-core{position:absolute;left:35%;top:31%;width:25%;height:22%;border-radius:50%;background:radial-gradient(ellipse,#fff7dce6,#ecc6ba77 25%,#b19fdc22 57%,transparent 73%);filter:blur(2px);transform:rotate(-32deg);box-shadow:0 0 12px #bea7db33}
.star-globe{inset:2%;z-index:3}.star-globe i{box-shadow:0 0 3px 1px #c4dcff77}.star-globe i:nth-child(7n){background:#fff3cb;box-shadow:0 0 4px 1px #efbf9577}.star-globe i:nth-child(11n):after{content:"";position:absolute;inset:-2px 0;background:#f7f4db88}
.chassis #orb-play.orb .ball-control-icon{background:#080b1699;border-color:#c8cbd477;box-shadow:0 2px 8px #0009,inset 0 1px 3px #fff3}

/* Slow ambient motion beneath the short interaction-driven swirl. */
@keyframes galaxy-orbit{from{transform:rotate(-32deg) scaleY(.55)}to{transform:rotate(328deg) scaleY(.55)}}
@keyframes galaxy-dust-orbit{from{transform:rotate(-32deg) scaleY(.48)}to{transform:rotate(328deg) scaleY(.48)}}
@keyframes star-orbit{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.galaxy-disc{animation:galaxy-orbit 180s linear infinite}
.galaxy-dust{animation:galaxy-dust-orbit 210s linear infinite}
.star-globe{animation:star-orbit 240s linear infinite}
.galaxy-asleep .galaxy-disc,.galaxy-asleep .galaxy-dust,.galaxy-asleep .star-globe{animation-play-state:paused}
.reduced .galaxy-disc,.reduced .galaxy-dust,.reduced .star-globe{animation:none!important}
@media(prefers-reduced-motion:reduce){.galaxy-disc,.galaxy-dust,.star-globe{animation:none!important}}

/* Straight-on view: circular face and concentric controls, retaining material depth. */
.compass .chassis{transform:none;transform-style:preserve-3d}

/* The lower point clears the case's projecting bottom edge and shadow. */
.compass .direction.south{bottom:-5%;z-index:2}
/* A quiet miniature cosmic cycle, deliberately soft rather than flashing. */
.cosmic-halo{position:absolute;left:16%;top:16%;width:68%;height:68%;border-radius:50%;border:2px solid #efcba866;box-shadow:0 0 7px #b890ce66,inset 0 0 6px #d4ac9d44;opacity:0;animation:cosmic-bloom 28s ease-in-out infinite;pointer-events:none}
.cosmic-eclipse{position:absolute;inset:18%;border-radius:50%;background:radial-gradient(circle,#010108 0% 23%,#03030af2 31%,#080716bb 39%,#c9b19777 43%,#8e7fb633 49%,transparent 64%);opacity:0;animation:cosmic-eclipse 28s ease-in-out infinite;pointer-events:none}
.celestial-cloud .galaxy-core{animation:cosmic-sun 28s ease-in-out infinite}
.star-globe{animation:star-orbit 240s linear infinite,cosmic-star-fade 28s ease-in-out infinite}
@keyframes cosmic-sun{0%,100%{opacity:.65;scale:1}15%{opacity:.9;scale:1.25}24%{opacity:.6;scale:.65}32%{opacity:.85;scale:1.65}45%{opacity:.4;scale:1}62%,73%{opacity:.08;scale:.25}88%{opacity:.6;scale:1}}
@keyframes cosmic-bloom{0%,22%{opacity:0;scale:.25}29%{opacity:.42;scale:.45}43%{opacity:0;scale:1.25}55%{opacity:0;scale:1.1}64%{opacity:.28;scale:.65}74%{opacity:.08;scale:.25}85%,100%{opacity:0;scale:.25}}
@keyframes cosmic-eclipse{0%,49%,100%{opacity:0;scale:.4}62%{opacity:.85;scale:1}72%{opacity:.95;scale:1.3}86%{opacity:0;scale:.35}}
@keyframes cosmic-star-fade{0%,45%,100%{opacity:1}63%{opacity:.28}73%{opacity:.12}90%{opacity:1}}
.galaxy-asleep .cosmic-halo,.galaxy-asleep .cosmic-eclipse,.galaxy-asleep .galaxy-core{animation-play-state:paused}
.reduced .cosmic-halo,.reduced .cosmic-eclipse,.reduced .galaxy-core{animation:none!important}
@media(prefers-reduced-motion:reduce){.cosmic-halo,.cosmic-eclipse,.galaxy-core{animation:none!important}}
/* Keep the south setting tucked beneath the case, like the other three. */
.compass .direction.south{z-index:0}

/* M74-inspired arm structure: near face-on, with only slight foreshortening. */
.celestial-cloud{inset:0;background:radial-gradient(circle,#13233b99,#080b1d88 65%,transparent 76%)}
.celestial-cloud .galaxy-disc{inset:1%;background:none;box-shadow:none;filter:none;animation:face-on-orbit 120s linear infinite;transform:rotate(-20deg) scaleY(.88)}
.spiral-field{display:block;width:100%;height:100%;overflow:visible}
.celestial-cloud .galaxy-dust,.celestial-cloud .galaxy-core,.celestial-cloud .cosmic-halo,.celestial-cloud .cosmic-eclipse{display:none}
.star-globe{animation:star-orbit 210s linear infinite;opacity:.7}
.stellar-bloom{transform-box:fill-box;transform-origin:center;animation:stellar-bloom 23s ease-in-out infinite;animation-delay:var(--burst-delay)}
@keyframes face-on-orbit{from{transform:rotate(-20deg) scaleY(.88)}to{transform:rotate(340deg) scaleY(.88)}}
@keyframes stellar-bloom{0%,65%,100%{opacity:0;scale:.35}72%{opacity:.8;scale:.55}82%{opacity:.38;scale:1.45}94%{opacity:0;scale:2}}
.galaxy-asleep .stellar-bloom,.galaxy-asleep .celestial-cloud .galaxy-disc{animation-play-state:paused}
.reduced .stellar-bloom,.reduced .celestial-cloud .galaxy-disc{animation:none!important}
.reduced .stellar-bloom{opacity:0}
@media(prefers-reduced-motion:reduce){.stellar-bloom,.celestial-cloud .galaxy-disc{animation:none!important}.stellar-bloom{opacity:0}}

/* Broken clouds and breathing light knots hint at an emerging spiral. */
.celestial-cloud{background:radial-gradient(ellipse at 32% 65%,#69357344,transparent 65%),radial-gradient(ellipse at 68% 30%,#27768a55,transparent 60%),#080b1b66}
.nebula-knot{animation:knot-breathe 19s ease-in-out infinite;animation-delay:var(--knot-delay)}
@keyframes knot-breathe{0%,100%{opacity:.35}35%{opacity:.9}60%{opacity:.45}80%{opacity:.7}}
.galaxy-asleep .nebula-knot{animation-play-state:paused}
.reduced .nebula-knot{animation:none!important;opacity:.65}
@media(prefers-reduced-motion:reduce){.nebula-knot{animation:none!important;opacity:.65}}

/* Slowly interwoven amber and blue-violet light, contained inside the dome. */
.cosmic-warm,.cosmic-cool{position:absolute;inset:0;border-radius:50%;pointer-events:none;mix-blend-mode:screen;filter:blur(3px)}
.cosmic-warm{background:radial-gradient(ellipse at 30% 65%,#e9a45177,transparent 51%),radial-gradient(ellipse at 65% 35%,#bd617e33,transparent 43%);animation:amber-light 22s ease-in-out infinite;opacity:.32}
.cosmic-cool{background:radial-gradient(ellipse at 68% 35%,#69b9e888,transparent 53%),radial-gradient(ellipse at 25% 35%,#9770ce55,transparent 48%);animation:violet-light 27s ease-in-out infinite;opacity:.4}
@keyframes amber-light{0%,100%{opacity:.22;transform:rotate(-12deg) scale(.95)}45%{opacity:.64;transform:rotate(22deg) scale(1.05)}75%{opacity:.36;transform:rotate(9deg) scale(1)}}
@keyframes violet-light{0%,100%{opacity:.6;transform:rotate(12deg) scale(1.02)}42%{opacity:.24;transform:rotate(-20deg) scale(.95)}73%{opacity:.5;transform:rotate(-8deg) scale(1.05)}}
.galaxy-asleep .cosmic-warm,.galaxy-asleep .cosmic-cool{animation-play-state:paused}
.reduced .cosmic-warm,.reduced .cosmic-cool{animation:none!important}
@media(prefers-reduced-motion:reduce){.cosmic-warm,.cosmic-cool{animation:none!important}}

/* The galaxy and play icon provide all the feedback needed on the dome. */
.chassis #orb-play.orb .orb-light{display:none}

/* Procedural evolution replaces the repeating decorative timelines. */
.celestial-cloud:has(.living-universe)>span,.star-globe{display:none!important}
.living-universe{display:block;width:100%;height:100%;border-radius:50%;pointer-events:none}

/* Immersive listening: reuse controls and preserve YouTube playback. */
.universe-invitation{display:block;margin:36px auto 0;padding:12px 8px;max-width:240px;border:0;background:transparent;color:#cabdb1;font-size:12px;line-height:1.6;cursor:pointer;text-align:center}.universe-invitation:hover{color:#fff}.universe-invitation:focus-visible{outline:2px solid #cabdb1;outline-offset:4px}
#universe-stage{position:fixed;inset:0;z-index:200;background:#030208}#universe-screen{width:100%;height:100%;display:block}
#exit-universe{position:fixed;top:max(16px,env(safe-area-inset-top));right:18px;z-index:205;border:1px solid #ffffff45;border-radius:24px;background:#08070cbf;color:#eee;padding:12px 18px;cursor:pointer;font-size:12px}
.universe-open{overflow:hidden}.universe-open .compass{position:fixed!important;bottom:32px!important;left:50%!important;transform:translateX(-50%)!important;width:210px!important;max-width:210px!important;z-index:203!important;opacity:0;pointer-events:none;transition:opacity .5s;filter:drop-shadow(0 8px 28px #000)}
.universe-open.universe-controls .compass,.universe-open .compass:focus-within,.universe-open .compass:hover{opacity:1;pointer-events:auto}
.universe-open .video-shell{position:fixed!important;right:20px;bottom:20px;width:356px!important;height:201px!important;z-index:202;border:1px solid #ffffff30;background:#000}
.universe-open .mobile-dock{display:none!important}
.universe-open header,.universe-open footer,.universe-open #collection,.universe-open .about-section,.universe-open .journal-section{visibility:hidden}
@media(max-width:750px){.universe-open .compass{width:170px!important;max-width:170px!important;bottom:30px!important}.universe-open .video-shell{width:200px!important;height:200px!important;right:12px;bottom:auto;top:76px}#exit-universe span{display:none}}
@media(prefers-reduced-motion:reduce){.universe-open .compass{transition:none}}

.universe-open .video-shell{top:80px;bottom:auto}

/* Floating universe sphere and a compact shared control shelf. */
.universe-open .compass{left:calc(50% - 150px)!important;bottom:38px!important;width:180px!important;max-width:180px!important}
.universe-open .video-shell{left:calc(50% - 30px);right:auto;top:auto;bottom:26px;width:356px!important;height:201px!important}
@media(max-width:750px){.universe-open .compass{left:50%!important;bottom:20px!important;width:140px!important;max-width:140px!important}.universe-open .video-shell{left:50%;transform:translateX(-50%);top:auto;bottom:192px;width:200px!important;height:200px!important}}

.universe-open #universe-screen{touch-action:none;cursor:grab}.universe-open #universe-screen.twirling{cursor:grabbing}

/* Keep song navigation compact; playback lives in the compass and video. */
.experience .transport{display:flex;justify-content:center;gap:12px;margin:14px 0 8px;width:100%}
.experience .transport button{flex:0 0 48px;width:48px;min-width:48px;height:44px;padding:0;border-radius:8px;font-size:20px}

/* A discreet lower-right shelf; hover or focus reveals both controls. */
.universe-open .compass{left:auto!important;right:400px!important;transform:none!important;bottom:35px!important}
.universe-open .video-shell{left:auto;right:24px;bottom:26px;transform:none;opacity:0;pointer-events:none;transition:opacity .45s}
.universe-open.universe-controls .video-shell,.universe-open .video-shell:focus-within,.universe-open .video-shell:hover{opacity:1;pointer-events:auto}
@media(max-width:750px){.universe-open .compass{left:auto!important;right:30px!important;transform:none!important;bottom:22px!important}.universe-open .video-shell{left:auto;right:12px;bottom:192px;transform:none}}
@media(prefers-reduced-motion:reduce){.universe-open .video-shell{transition:none}}

.universe-whisper{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);margin:0;width:min(90vw,620px);text-align:center;color:#d9d4cd;font-size:clamp(18px,2.2vw,30px);font-weight:300;letter-spacing:.08em;text-shadow:0 2px 16px #000,0 0 30px #bba27c66;pointer-events:none;transition:opacity .4s} .universe-whisper[hidden]{display:none} @media(max-width:750px){.universe-whisper{bottom:440px;font-size:18px;letter-spacing:.04em}}
/* Wide listening room with a quiet, shared universe behind the editorial sections. */
#page-universe{position:fixed;inset:-5vh 0;width:100vw;height:110vh;object-fit:cover;pointer-events:none;z-index:0;opacity:0;filter:blur(3px);background:#020207;will-change:transform;}
main,.site-footer{position:relative;z-index:1}
#collection,#journal{background:#0009;box-shadow:0 0 0 100vmax #0009}
.about-section{background:#0008;box-shadow:0 0 0 100vmax #0008;clip-path:inset(0 -100vmax)}
.about-copy{max-width:70ch}
.journal-card{background:#070709b8}
@media(min-width:1000px){
 header,main,footer{max-width:none}
 main{width:100%;padding-left:4vw;padding-right:4vw}
 .site-header{padding-left:4vw;padding-right:4vw}
 .site-footer{padding-left:4vw;padding-right:4vw}
 .experience{grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);gap:5vw}
 .tracks{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
 .about-layout{grid-template-columns:1fr 1.25fr;gap:7vw}
}
@media(prefers-reduced-motion:reduce){#page-universe{display:none}}
body.reduced #page-universe{display:none}
/* The universe is a complete editorial illustration, not a page overlay. */
body{background-size:auto,100% auto;background-repeat:no-repeat,repeat-y}
#collection,#journal{background:#000;box-shadow:0 0 0 100vmax #000}
.about-section{background:#000;box-shadow:0 0 0 100vmax #000}
#journal .collection-heading{display:grid;grid-template-columns:1fr minmax(200px,36%);align-items:center;gap:12px 40px;padding-bottom:24px}
#journal .collection-heading>div{grid-column:1;grid-row:1;align-self:end}
#journal .collection-count{grid-column:1;grid-row:2;align-self:start}
#page-universe{position:relative;inset:auto;grid-column:2;grid-row:1/3;width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:50%;filter:none;opacity:1;background:#000;transform:none;will-change:auto;max-width:420px;justify-self:center}
@media(max-width:650px){#journal .collection-heading{grid-template-columns:1fr;gap:12px}#page-universe{grid-column:1;grid-row:3;width:min(80%,280px)}body{background-size:auto,100% auto}}
/* A slim cosmic banner frames the journal title. */
#journal .collection-heading{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px;min-height:190px;padding:32px clamp(20px,3vw,48px);margin-bottom:28px;overflow:hidden;border-top:1px solid #b9afc52b;border-bottom:1px solid #b9afc52b;background:#07060c}
#journal .collection-heading>div,#journal .collection-count{position:relative;z-index:2;align-self:auto;grid-column:auto;grid-row:auto}
#journal .collection-count{margin:0;color:#ded9e4}
#journal .collection-heading:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#030207de 0%,#03020799 45%,#03020733 100%)}
#journal #page-universe{position:absolute;inset:-12% 0;width:100%;height:124%;max-width:none;aspect-ratio:auto;border-radius:0;object-fit:cover;z-index:0;opacity:1;filter:none;justify-self:auto;background:#07060c}
#journal-title{margin:0;text-shadow:0 2px 18px #000}
@media(max-width:650px){#journal .collection-heading{min-height:160px;padding:25px 20px}#journal #page-universe{width:100%;height:124%}}
/* Matching cosmic title strip for About. */
#about .about-layout{display:block}
#about .about-layout>div:first-child{position:relative;isolation:isolate;overflow:hidden;min-height:190px;padding:28px clamp(20px,3vw,48px);margin-bottom:32px;background:#07060c;border-top:1px solid #b9afc52b;border-bottom:1px solid #b9afc52b;display:flex;flex-direction:column;justify-content:center}
#about .about-layout>div:first-child:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#030207e6,#03020799 55%,#03020733);pointer-events:none}
#about .about-layout>div:first-child>p,#about-title{position:relative;z-index:2}
#about-title{margin:8px 0 0;font-size:clamp(28px,3vw,42px)}
#about-universe{position:absolute;inset:-12% 0;width:100%;height:124%;object-fit:cover;pointer-events:none;z-index:0}
#about .about-copy{max-width:80ch;margin:0 auto}
@media(max-width:650px){#about .about-layout>div:first-child{min-height:170px;padding:24px 20px}}
@media(prefers-reduced-motion:reduce){#about-universe{display:none}}
body.reduced #about-universe{display:none}

/* The centre is a universe, not a playback control. */
.chassis #orb-play.orb{cursor:default;pointer-events:none}

/* Explicit immersive framing choice, reachable on touch and keyboard. */
#universe-fit{position:fixed;top:max(16px,env(safe-area-inset-top));left:max(18px,env(safe-area-inset-left));z-index:205;border:1px solid #ffffff45;border-radius:24px;background:#08070ccc;color:#eee;padding:12px 18px;min-height:44px;cursor:pointer;font-family:inherit;font-size:12px;font-weight:500;line-height:1.4;backdrop-filter:blur(12px)}#universe-fit[hidden]{display:none}#universe-fit:hover{background:#252130}#universe-fit:focus-visible{outline:2px solid #fff;outline-offset:4px}

/* Keep playback recovery visible when the browser needs another tap. */
#universe-status{position:fixed;top:66px;left:18px;right:18px;z-index:204;margin:0;text-align:center;font-size:12px;color:#d8d4dd;pointer-events:none;opacity:0;transition:opacity .3s}
#universe-status[hidden]{display:none}.universe-open.universe-controls #universe-status,.universe-open.universe-playback-help #universe-status{opacity:1}
.universe-open.universe-playback-help .video-shell{opacity:1!important;pointer-events:auto!important;visibility:visible!important}

/* Centred footer on desktop and mobile. */
.site-footer{text-align:center}.site-footer .footer-main,.site-footer .footer-bottom{flex-direction:column;align-items:center;justify-content:center}.site-footer .footer-main nav{justify-content:center}.site-footer .footer-main>a{display:inline-flex;justify-content:center}.site-footer .footer-bottom{gap:14px}

/* The universe chooses a song when its centre is activated. */
.chassis #orb-play.orb{pointer-events:auto;cursor:pointer;touch-action:manipulation}
.chassis #orb-play.orb:focus-visible{outline:2px solid #dac4a4;outline-offset:5px}
@media(hover:hover){.chassis #orb-play.orb:hover{filter:brightness(1.12)}}

/* Recessed cosmic windows: backgrounds drift, text stays on the page plane. */
#journal #page-universe,#about-universe{inset:-30% -8%;width:116%;height:160%;transform:translate3d(0,var(--sky-depth,0px),0) rotate(var(--sky-turn,0deg));transform-origin:50% 50%;will-change:transform}
#journal .collection-heading,#about .about-layout>div:first-child{box-shadow:inset 0 12px 22px #0008,inset 0 -12px 22px #0008,0 16px 32px #0005;border-color:#c4b8ab30}
@media(prefers-reduced-motion:reduce){#journal #page-universe,#about-universe{transform:none!important;will-change:auto}}

/* A deeper journey through each cosmic window. */
#journal #page-universe,#about-universe{transform:perspective(900px) translate3d(0,var(--sky-depth,0px),0) rotate(var(--sky-turn,0deg)) rotateY(var(--sky-tilt,0deg)) scale(var(--sky-zoom,1));}
@media(min-width:850px){#tracks{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}#tracks.choices-expanded{grid-template-columns:repeat(2,minmax(0,1fr))}#tracks .track{min-width:0}#tracks .track img{width:100%;aspect-ratio:16/9;object-fit:cover}#tracks.choices-expanded .track span{font-size:clamp(17px,1.5vw,23px)}}
@media(prefers-reduced-motion:reduce){#journal #page-universe,#about-universe{transform:none!important}}

/* Stable cards: scrolling never changes the number of song columns. */
@media(min-width:850px){#tracks,#tracks.choices-expanded{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}#tracks .track span,#tracks.choices-expanded .track span{font-size:15px}}
.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,100px);padding:64px 0 72px;border-top:1px solid #ffffff20;background:#000;box-shadow:0 0 0 100vmax #000;clip-path:inset(0 -100vmax);scroll-margin-top:110px}
.contact-section h2{font-size:clamp(28px,3vw,42px);font-weight:400;letter-spacing:-.035em;margin:14px 0 20px}.contact-section p{max-width:52ch;line-height:1.7;color:#b9b6b4}
.contact-actions{align-self:center}.contact-email{display:inline-block;font-size:clamp(18px,2.1vw,30px);border-bottom:1px solid #b48e7b70;padding:12px 0;color:#eee5dd;overflow-wrap:anywhere}.contact-email:hover{color:#eabca6;border-color:currentColor}.contact-actions p{font-size:12px;margin:12px 0 26px}.contact-listen{font-size:14px;text-decoration:underline;text-underline-offset:5px}
@media(max-width:750px){.contact-section{grid-template-columns:1fr;gap:12px;padding:40px 0 48px}.contact-email{font-size:clamp(17px,4.7vw,24px)}}

/* Immersive view: simple transport, whole sphere, quiet exit. */
#universe-transport{position:fixed;z-index:206;left:50%;bottom:max(22px,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;gap:10px;padding:8px;border:1px solid #ffffff24;border-radius:40px;background:#08090dc9;backdrop-filter:blur(12px);opacity:0;pointer-events:none;transition:opacity .3s}
#universe-transport[hidden]{display:none}#universe-transport button{width:48px;height:48px;border:1px solid #ffffff20;border-radius:50%;background:#ffffff08;color:#eee;font-size:21px}#universe-transport button:hover{background:#ffffff20}
.universe-controls #universe-transport,#universe-transport:hover,#universe-transport:focus-within{opacity:1;pointer-events:auto}
.universe-open .compass{display:none!important}
#exit-universe{top:auto;bottom:max(24px,env(safe-area-inset-bottom));right:20px;min-height:44px}
.universe-open .video-shell{bottom:92px!important}
@media(max-width:750px){#universe-transport{bottom:72px}#exit-universe{bottom:max(12px,env(safe-area-inset-bottom));right:12px;padding:10px 14px}#exit-universe span{display:inline}.universe-open .video-shell{bottom:148px!important;top:auto!important;right:calc(50% - 100px)!important}}
@media(prefers-reduced-motion:reduce){#universe-transport{transition:none}}
/* Listening flow: clear moods, centred controls and optional return. */
.mood-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:18px auto 12px;max-width:720px}.mood-nav button{min-height:44px;border:1px solid #7775;border-radius:24px;padding:9px 16px;background:#151313;color:#e3dcd7;font-size:13px}.mood-nav button[aria-pressed=true]{background:#51352e;border-color:#c88f78;color:#fff}.quick-start{min-height:48px;border:1px solid #c89a85;background:#d4b7a4;color:#171313;border-radius:24px;padding:12px 24px;margin:6px auto 12px;display:block}.quick-start[hidden]{display:none}.song-details{display:inline-block;min-height:44px;padding:12px 0;font-size:13px;text-decoration:underline;text-underline-offset:4px}.return-session{display:flex;gap:8px;align-items:center;margin:0 0 18px}.return-session[hidden]{display:none}.return-session button{min-height:44px;background:#211d1c;border:1px solid #76665a66;border-radius:8px;padding:10px;color:#e5dcd4}#return-session{flex:1;text-align:left}#universe-song-title{display:none}.universe-open #universe-song-title:not([hidden]){display:block;position:fixed;top:max(24px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);max-width:80%;padding:10px 18px;background:#080808aa;border-radius:20px;text-align:center;z-index:100;color:#eee;font-size:14px;pointer-events:none}
@media(max-width:850px){.listening-dock{left:50%;right:auto;transform:translateX(-50%);width:min(100%,520px);box-sizing:border-box;border:1px solid #7774;border-radius:18px 18px 0 0}.dock-transport{display:grid;grid-template-columns:repeat(3,44px);justify-content:center;gap:10px}.dock-transport a{grid-column:1/-1;text-align:center;padding:4px 0;max-width:100%;font-size:12px}.dock-route{max-width:430px;margin:0 auto 6px}.listening-dock.player-visible{visibility:hidden;pointer-events:none}.universe-open .listening-dock{display:none!important}.mood-nav{gap:6px;margin:12px 0}.mood-nav button{font-size:12px;padding:8px 12px}.intro p{font-size:13px;max-width:36ch;margin:8px auto}.return-session{flex-wrap:nowrap}}
@media(prefers-reduced-motion:reduce){.mood-nav button,.listening-dock{transition:none}}
.song-directory{margin:0 0 24px}.song-directory summary{min-height:44px;cursor:pointer}.song-directory nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;padding:12px 0}.song-directory a{font-size:14px;text-decoration:underline;text-underline-offset:3px}

/* Shared tactile transport: listening room, mobile dock and immersive view. */
.experience .transport{width:max-content;max-width:100%;margin:14px auto 8px;gap:8px;padding:7px;border:1px solid #ffffff1c;border-radius:40px;background:linear-gradient(160deg,#242323e8,#101114ee);box-shadow:0 5px 16px #0003,inset 0 1px #ffffff08}
.experience .transport .music-control,.dock-transport .music-control,#universe-transport .music-control{display:grid;place-items:center;flex:0 0 48px;width:48px;min-width:48px;height:48px;min-height:48px;padding:0;border:1px solid #ffffff26;border-radius:50%;background:linear-gradient(150deg,#ffffff0d,#ffffff02);color:#eee8e3;box-shadow:inset 0 1px #ffffff10;transition:background .15s,transform .15s,box-shadow .15s}
.music-control svg{display:block;width:21px;height:21px;fill:currentColor;pointer-events:none}
.experience .transport .music-toggle,.dock-transport #dock-play,#universe-transport .music-toggle{background:linear-gradient(145deg,#eee5db,#bfb3a8);color:#201b19;border-color:#e1d2c4;box-shadow:inset 0 1px #fff9,0 2px 9px #0004}
@media(hover:hover){.music-control:hover{transform:translateY(-1px);box-shadow:0 0 13px #d8bba22b!important;border-color:#c6a590!important}}
.music-control:active{transform:scale(.94)}.music-control:focus-visible{outline:2px solid #ffd4b5;outline-offset:3px}
@media(max-width:850px){.dock-transport{grid-template-columns:repeat(3,48px);gap:8px}.dock-transport a{padding:3px 0 5px}.listening-dock{padding-bottom:max(10px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.music-control{transition:none!important}.music-control:hover,.music-control:active{transform:none!important}}

/* One playback cluster beside the instrument, without an extra start CTA. */
.experience .transport{display:flex;justify-content:center}
@media(min-width:851px){.instrument>.transport{margin:0 auto 18px}.instrument{align-self:center}}
.universe-open .experience .transport{display:none}
.song-details{margin-right:22px}

/* Satin gunmetal instrument with a single, upper-left studio light. */
.compass .outer-ring{border-color:#9e978b;background:repeating-conic-gradient(from .4deg,#111214 0deg 1deg,#716b60 1.15deg 1.65deg,#302d29 2deg 3deg);box-shadow:0 1px 0 #e9deca88,0 3px 0 #151617,0 5px 0 #5a5145,0 7px 0 #0b0b0d,0 13px 18px #000b,0 24px 30px #0006,inset 1px 2px 2px #eee2cd77,inset -2px -3px 4px #000}
.textures-on .compass .outer-ring:after{background-image:radial-gradient(ellipse at 26% 14%,#e3d1b333,transparent 49%),conic-gradient(from 128deg,#08090bd9,#92847444 16%,#242326dd 31%,#08090bf2 48%,#96887444 67%,#242126d9 83%,#08090be6),url('assets/bronze.png');background-size:cover;box-shadow:inset 0 0 0 1px #d0be9d88,inset 0 0 0 3px #08090c,inset 0 0 0 4px #84776666,inset 0 0 0 6px #19191c,inset 2px 4px 10px #e9d8b914,inset -3px -7px 13px #000b}
.compass .watch-indices{border-color:#857a6655;box-shadow:0 0 0 1px #08090bcc,inset 0 0 0 2px #08090b88}
.compass .watch-indices i{background:linear-gradient(90deg,#5b5449,#d3c7b0 42%,#827767 70%,#332f29);box-shadow:1px 1px 2px #000b}
.compass .watch-indices i:nth-child(3n + 1){background:linear-gradient(90deg,#777061,#f1e7cf 42%,#a5977d 65%,#494235)}
.chassis #orb-play.orb{border-color:#9caaa766;box-shadow:inset 2px 3px 6px #f4ecdd44,inset -6px -10px 15px #020309b3,0 0 0 2px #090a0d,0 0 0 3px #847b6c88,0 4px 5px #000d,0 9px 14px #0009}
.chassis #orb-play.orb:before{background:radial-gradient(ellipse at 29% 18%,#fff8e936 0%,transparent 37%),radial-gradient(ellipse at 69% 82%,#9ab9d51a,transparent 37%),radial-gradient(circle at 48% 46%,transparent 50%,#02040b80 92%);box-shadow:inset 1px 1px 2px #f4e9ce33,inset -2px -3px 4px #a3b7c333}
.chassis #orb-play.orb:after{left:17%;top:9%;width:48%;height:23%;border-top:2px solid #fff5;border-left:1px solid #fff2;background:linear-gradient(165deg,#fff2,transparent 70%);border-radius:50%;transform:rotate(-31deg);filter:blur(.6px);pointer-events:none}
.compass .jewel-tip{filter:drop-shadow(1px 2px 1px #000c) saturate(.72)}
.compass .direction[aria-pressed=true] .jewel-tip{filter:drop-shadow(0 0 3px #a3d3b044) drop-shadow(1px 2px 1px #000c) saturate(.85)}
@media(hover:hover){.compass .direction:hover .jewel-tip{filter:drop-shadow(0 0 4px #d6be8e66) brightness(1.15)}.chassis #orb-play.orb:hover{box-shadow:inset 2px 3px 6px #fff5,inset -6px -10px 15px #020309a3,0 0 0 2px #090a0d,0 0 0 3px #a1aa9188,0 7px 12px #000b,0 0 15px #abcdb522}}
.up-next button{border-radius:8px;transition:background .15s;padding:10px 12px;margin-top:5px;border:1px solid #ffffff14;background:#09090b66}
.up-next button:hover{background:#29232199;border-color:#b39a7d66}
#next-explainer{display:block;margin-top:8px;line-height:1.5;color:#aaa5a0}
@media(prefers-reduced-motion:reduce){.up-next button{transition:none}}

/* Direction choices belong to the desktop compass. */
@media(min-width:851px){.experience .transport{display:none}.instrument>.mood-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:340px;margin:0 auto 18px;gap:8px}.instrument>.mood-nav button{padding:10px 8px;font-size:12px;border-radius:9px;background:linear-gradient(145deg,#262323,#111113);box-shadow:inset 0 1px #ffffff0b}.instrument>.mood-nav button[aria-pressed=true]{background:linear-gradient(145deg,#534238,#2c2421);border-color:#c3a28b}.intro{padding-bottom:4px}}
.universe-open .instrument>.mood-nav{display:none}
/* An expandable record library, with real covers and direct lyric pages. */
.song-directory{border:1px solid #a78b6e44;border-radius:14px;padding:0;margin:0 0 32px;overflow:hidden;background:#0e0d0f}
.song-directory>summary{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px clamp(18px,3vw,40px);background:radial-gradient(ellipse at 85% 0%,#8d58452b,transparent 65%),linear-gradient(115deg,#191719,#0d0c0e);min-height:150px}
.library-heading{display:grid;gap:10px}.library-heading>small{font-size:10px;letter-spacing:.18em;color:#ba9f8c}.library-heading>strong{font-size:clamp(23px,3vw,36px);font-weight:400;letter-spacing:-.035em;line-height:1.15}.library-heading>span{font-size:13px;color:#b1aaa5;line-height:1.5}
.library-open{display:grid;place-items:center;width:44px;height:44px;flex:none;border:1px solid #b89b7f66;border-radius:50%;font-size:25px;color:#dcc6b1;transition:transform .2s,background .2s}.song-directory[open] .library-open{transform:rotate(45deg)}.song-directory summary:hover .library-open{background:#80604640}
.library-body{padding:24px clamp(18px,3vw,40px) 30px;border-top:1px solid #ffffff12}.library-body label{display:block;font-size:12px;margin-bottom:9px;color:#b7afa8}.library-body input{width:100%;max-width:480px;min-height:46px;border:1px solid #8b7c6d66;border-radius:8px;background:#171619;color:#f0e9e3;padding:12px 15px;font:inherit;font-size:14px}.library-body input:focus-visible{outline:2px solid #dfb997;outline-offset:3px}.library-results{font-size:12px;color:#b4aaa1;min-height:16px;margin:12px 0}
.song-directory nav.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0}.library-grid a{display:flex;align-items:center;gap:12px;border:1px solid #ffffff12;border-radius:8px;padding:8px;background:#ffffff03;text-decoration:none;min-width:0}.library-grid a[hidden]{display:none}.library-grid a:hover{background:#b1957714;border-color:#b99c7666}.library-grid img{width:85px;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:4px;flex:none}.library-grid a>span{display:grid;gap:6px;min-width:0}.library-grid strong{font-size:13px;line-height:1.35;font-weight:400;overflow-wrap:anywhere}.library-grid small{font-size:10px;line-height:1.4;color:#a99b90}
@media(max-width:1000px){.song-directory nav.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.song-directory nav.library-grid{grid-template-columns:1fr}.song-directory>summary{padding:24px 18px}.library-heading>span{font-size:12px}.library-open{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){.library-open{transition:none}}

/* Listen directly; reading remains a separate choice. */
.library-card{min-width:0;border:1px solid #ffffff16;border-radius:10px;background:linear-gradient(145deg,#ffffff05,#ffffff01);overflow:hidden}.library-card[hidden]{display:none}.library-play{display:flex;align-items:center;gap:12px;width:100%;padding:12px;border:0;background:transparent;text-align:left;min-height:80px}.library-play>span:not(.library-play-icon){display:grid;gap:6px;min-width:0;flex:1}.library-play-icon{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:50%;border:1px solid #c7ab8955;color:#d9c5b1;font-size:12px}.library-play:hover{background:#ba917915}.library-play:hover .library-play-icon{background:#dfcab4;color:#181416}.library-grid .library-detail{border:0;border-top:1px solid #ffffff0c;border-radius:0;display:block;min-height:44px;padding:13px 12px;font-size:11px;color:#bcb0a6;background:transparent}.library-card:focus-within{border-color:#c9ac8b}.library-play:focus-visible{outline:2px solid #e6c4a2;outline-offset:-3px}

.library-filters{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0 10px}.library-filters button{min-height:44px;padding:9px 13px;border:1px solid #ffffff24;border-radius:24px;background:#171619;color:#c7bdb5;font-size:12px}.library-filters button[aria-pressed=true]{background:#4c3830;border-color:#c3a28b;color:#fff1e4}.library-filters button:hover{border-color:#bc9d83}.library-reset{min-height:44px;padding:8px 0;margin-bottom:12px;border:0;background:none;text-decoration:underline;text-underline-offset:4px;color:#dbc1aa}.library-reset[hidden]{display:none}.library-results{margin-bottom:12px}.library-card .library-play img{width:76px}.library-card strong{font-size:14px}
/* Keep mobile headlines legible across bright passages without hiding the sky. */
@media(max-width:750px){
 #about .about-layout>div:first-child:after,#journal .collection-heading:after{background:linear-gradient(90deg,#030207c9,#03020755),linear-gradient(0deg,#03020766,transparent 70%)}
 #about-title,#journal-title{text-wrap:balance;text-shadow:0 2px 12px #000b}
 #journal #page-universe,#about-universe{object-position:50% 50%}
}
@media(max-width:600px){.library-filters{gap:6px}.library-filters button{font-size:11px;padding:9px 11px}.library-card .library-play img{width:85px}.library-play{gap:10px}.library-play-icon{width:36px;height:36px}}

/* Responsive glass volumes; the text remains on a stable foreground plane. */
#journal .collection-heading,#about .about-layout>div:first-child{background:transparent;border:0;box-shadow:none;overflow:visible;width:100%;min-width:0;padding-right:clamp(28px,4vw,60px);margin-bottom:44px}
#journal .collection-heading:after,#about .about-layout>div:first-child:after{display:none}
.universe-glass{position:absolute;inset:8px 14px 12px 0;z-index:0;pointer-events:none;transform-style:preserve-3d;transform:perspective(1200px) rotateX(10deg) rotateY(calc(var(--sky-tilt,0deg) * .25));filter:drop-shadow(0 18px 13px #000b)}
.universe-glass-front{position:absolute;inset:0;overflow:hidden;border-radius:5px;border:1px solid #c2d2e368;transform:translateZ(24px);background:#090b14;box-shadow:inset 0 0 0 2px #d2e1ed18,inset 0 5px 7px #e9f4ff18,inset 0 -7px 12px #0007}
.universe-glass-front:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#020309c9 0%,#03040a66 48%,#03040a0a 100%),linear-gradient(116deg,transparent 38%,#e2efff10 39%,#f0f7ff05 57%,transparent 58%);box-shadow:inset 0 1px 1px #f0f7ff80,inset 0 -2px 3px #a6bed533;pointer-events:none}
.universe-glass-bottom,.universe-glass-right{position:absolute;display:block;border:1px solid #a3b6cb55;box-sizing:border-box;background:linear-gradient(90deg,#172236cc,#8c9ba448 35%,#191c36e6 78%,#ad967b44);box-shadow:inset 0 0 6px #bed7e926}
.universe-glass-bottom{left:0;top:100%;width:100%;height:24px;transform-origin:top;transform:translateZ(24px) rotateX(-90deg);border-radius:0 0 3px 3px}
.universe-glass-right{left:100%;top:0;width:24px;height:100%;transform-origin:left;transform:translateZ(24px) rotateY(90deg);background:linear-gradient(#7d94ad66,#121b30d9 30%,#b0a28b55 70%,#192234cc)}
#journal .universe-glass-front #page-universe,#about .universe-glass-front #about-universe{inset:-12% -4%;width:108%;height:124%;transform:translate3d(0,calc(var(--sky-depth,0px) * .35),0) scale(1.04);object-fit:cover}
@media(max-width:750px){.universe-glass{inset:5px 9px 10px 0;transform:perspective(900px) rotateX(7deg) rotateY(calc(var(--sky-tilt,0deg) * .25))}#journal .collection-heading,#about .about-layout>div:first-child{padding-left:20px;padding-right:25px}.universe-glass-front:after{background:linear-gradient(90deg,#020309d4,#03040a66),linear-gradient(120deg,transparent 25%,#e2efff0d 26%,transparent 65%)}}
@media(prefers-reduced-motion:reduce){.universe-glass{transform:perspective(1200px) rotateX(10deg)}#journal .universe-glass-front #page-universe,#about .universe-glass-front #about-universe{transform:none!important}}
#journal .collection-heading>.universe-glass{position:absolute;z-index:0;align-self:auto}
/* Filters flatten CSS 3D descendants, so cast the shadow from the front face. */
.universe-glass{filter:none}
.universe-glass-front{box-shadow:inset 0 0 0 2px #d2e1ed18,inset 0 5px 7px #e9f4ff18,inset 0 -7px 12px #0007,0 18px 20px #0009}

/* Front-facing, borderless universe banners. */
.universe-glass{inset:0;transform:none!important;filter:none;transform-style:flat}
.universe-glass-front{transform:none;border:0;border-radius:0;box-shadow:none}
.universe-glass-bottom,.universe-glass-right{display:none}
.universe-glass-front:after{box-shadow:none;background:linear-gradient(90deg,#020309c9 0%,#03040a66 48%,#03040a0a 100%)}
@media(max-width:750px){.universe-glass-front:after{background:linear-gradient(90deg,#020309d4,#03040a66)}}

.contact-copy{display:block;min-height:44px;margin-top:14px;padding:10px 16px;border:1px solid #bc9d835c;border-radius:8px;background:#201c1a;color:#e9d9ca;font:inherit;font-size:13px;cursor:pointer}
.contact-copy:hover{background:#322722;border-color:#dbc1aa}.contact-copy:focus-visible,.contact-copy-fallback:focus-visible{outline:2px solid #e6c4a2;outline-offset:4px}.contact-copy:disabled{cursor:wait}
.contact-actions .contact-copy-status{min-height:20px;margin:8px 0;font-size:12px;color:#cfc3b8}
.contact-copy-fallback{display:block;max-width:100%;width:340px;min-height:44px;border:1px solid #bc9d835c;border-radius:6px;padding:10px;background:#151315;color:#eee;font:inherit;font-size:14px;margin-bottom:12px}.contact-copy-fallback[hidden]{display:none}

/* A recognisable next recording and an independent sharing action. */
#next-card{display:flex;align-items:center;gap:14px;width:100%;padding:10px;text-align:left;border:1px solid #ffffff24;border-radius:10px;background:#08080bd9;min-height:78px}
#next-card img{width:88px;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:5px;flex:none}
#next-card>span:not(.next-arrow){display:grid;gap:6px;min-width:0;flex:1}#next-card strong{font-size:16px;line-height:1.3;font-weight:500;overflow-wrap:anywhere}#next-card small{font-size:11px;color:#c0afa3;line-height:1.3}.next-arrow{font-size:23px;padding:8px}#next-card:hover{border-color:#d1af8b88;background:#201917e6}#next-card:focus-visible{outline:2px solid #e6c4a2;outline-offset:4px}
.song-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;margin:18px 0}.song-actions .song-details{margin:0}.share-song{min-height:44px;padding:10px 14px;background:#171417;border:1px solid #bda18455;border-radius:7px;color:#ddc9b7;font:inherit;font-size:12px;cursor:pointer}.share-song:hover{border-color:#ddc9b7}.share-song:focus-visible{outline:2px solid #e6c4a2;outline-offset:4px}.share-status{font-size:12px;color:#d4bda9}.share-fallback{width:100%;min-height:44px;padding:10px;background:#151315;border:1px solid #bda184;color:#eee;font:inherit;font-size:12px}.share-fallback[hidden]{display:none}
#collection{padding-top:clamp(38px,5vw,76px)}.journal-grid{gap:20px}.journal-card{transition:border-color .2s,background-color .2s}.journal-card:hover{border-color:#c8a68c66;background:#ffffff03}
@media(max-width:650px){.intro{padding-bottom:12px}.intro h1{font-size:clamp(25px,7vw,34px);line-height:1.12;margin-bottom:9px}.intro p{font-size:13px;line-height:1.5;margin-bottom:12px}.mood-nav{gap:6px;margin-top:12px}.mood-nav button{min-height:44px;padding:9px 10px}.listening h2{font-size:clamp(23px,6.5vw,32px);line-height:1.15}.song-actions{gap:6px 12px}#next-card img{width:76px}#next-card strong{font-size:15px}#next-card small{font-size:11px}.next-arrow{padding:4px}.journal-card{padding:22px 18px}#collection{padding-top:32px}}
@media(prefers-reduced-motion:reduce){.journal-card{transition:none}}

/* Compact mobile entry: let the song and direction choices lead. */
@media(max-width:850px){
 .intro>p{display:none}
 .intro>.mood-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,360px);margin:12px auto 0;gap:7px}
 .intro>.mood-nav button{width:100%;min-height:44px;padding:9px 10px;white-space:normal;line-height:1.25}
 .intro{padding-bottom:10px}
 .intro h1{margin-bottom:0;text-wrap:balance}
}
@media(max-width:480px){
 .song-actions{align-items:stretch}
 .song-actions .song-details{display:flex;align-items:center;min-height:44px;line-height:1.4}
 .share-fallback{min-width:0;box-sizing:border-box}
}
/* Read without leaving the music player. */
.song-reader{padding:24px;margin:22px 0;border:1px solid #bea58d55;border-radius:14px;background:#100e12f5;scroll-margin-top:110px}.song-reader[hidden]{display:none}.reader-heading{display:flex;align-items:flex-start;gap:16px;justify-content:space-between}.reader-heading h2{font-size:clamp(23px,4vw,34px);margin:0;overflow-wrap:anywhere}.reader-close{flex:none;width:44px;height:44px;border:1px solid #ffffff30;border-radius:50%;background:#262023;color:#eee;font-size:24px;cursor:pointer}.reader-label{color:#c2ac99;font-size:12px}.reader-words{white-space:pre-wrap;line-height:1.85;font-size:16px;overflow-wrap:anywhere}.reader-page{display:inline-flex;align-items:center;min-height:44px;margin-top:20px;color:#d9c1ac}.reader-close:focus-visible,.reader-page:focus-visible{outline:2px solid #e6c4a2;outline-offset:3px}@media(max-width:650px){.song-reader{padding:18px;scroll-margin-top:85px}.reader-words{font-size:15px;line-height:1.8}}

body.admin-bar .site-header{top:32px}@media(max-width:782px){body.admin-bar .site-header{top:46px}}@media(max-width:600px){body.admin-bar .site-header{top:0}}
