.song-collection-screen{--song-violet:#8c66ff;--song-cyan:#42cfff;--song-green:#174f3a;--song-jake:#20f4d0;min-height:100vh;color:#ebe9ff;background:radial-gradient(circle at 50% 35%,rgba(89,56,167,.22),transparent 38%),linear-gradient(135deg,#020713,#09051a 55%,#15051b);overflow:hidden}.song-collection-screen:before{content:"";position:fixed;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(125,100,255,.025) 4px);z-index:0}.signal-song-stars{position:fixed;inset:0;opacity:.55;background-image:radial-gradient(circle at 12% 18%,#fff 0 1px,transparent 2px),radial-gradient(circle at 78% 13%,#5ddcff 0 1px,transparent 2px),radial-gradient(circle at 31% 71%,#c65cff 0 1px,transparent 2px),radial-gradient(circle at 88% 69%,#fff 0 1px,transparent 2px);background-size:181px 181px,223px 223px,197px 197px,257px 257px;animation:songStars 24s linear infinite}@keyframes songStars{to{transform:translate3d(-30px,22px,0)}}.song-collection-shell{position:relative;z-index:1;width:min(1420px,calc(100% - 48px));margin:auto;padding:32px 0 64px}.song-collection-header,.weave-track-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:24px;border-bottom:1px solid rgba(102,197,255,.25);padding:0 0 22px}.song-collection-header>button,.weave-track-header>button{justify-self:start;background:none;border:0;color:#8feaff;font:600 11px/1.2 var(--mono,monospace);letter-spacing:.16em;text-transform:uppercase;padding:10px 0}.song-collection-header>div:nth-child(2){text-align:center}.song-collection-header span,.weave-track-header span,.song-record-copy>p:first-child,.song-library-note>span,.weave-setup>p,.weave-result>p{font:600 10px/1.4 var(--mono,monospace);letter-spacing:.2em;color:#65d5ff}.song-collection-header h1{margin:4px 0 3px;font:clamp(37px,5vw,72px)/.95 Georgia,serif}.song-collection-header h1 em{color:#d979ff;font-weight:400}.song-collection-header p{margin:0;color:#8d8ba2}.song-archive-status{justify-self:end;display:flex!important;align-items:center!important;gap:12px!important;text-align:right!important;color:#a9a4bf;font:600 10px/1.5 var(--mono,monospace)}.song-archive-status i{width:8px;height:8px;border-radius:50%;background:#54f3cc;box-shadow:0 0 17px #54f3cc}.song-library-view{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;margin-top:54px}.song-record-card{min-height:430px;display:grid;grid-template-columns:260px minmax(0,1fr);align-items:center;gap:36px;padding:52px;position:relative;border:1px solid rgba(110,213,255,.27);background:linear-gradient(125deg,rgba(11,29,53,.92),rgba(28,11,48,.9))}.song-record-orbit{width:230px;aspect-ratio:1;border:1px solid rgba(90,219,255,.35);border-radius:50%;display:grid;place-items:center;position:relative;background:radial-gradient(circle,rgba(148,63,255,.28),transparent 59%)}.song-record-orbit:before,.song-record-orbit:after,.song-record-orbit i{content:"";position:absolute;inset:17%;border:1px dashed rgba(136,99,255,.6);border-radius:50%;animation:weaveSpin 13s linear infinite}.song-record-orbit:after{inset:-8%;border-style:solid;border-color:rgba(63,240,218,.16);animation-duration:21s;animation-direction:reverse}.song-record-orbit i{inset:35%;border-color:#51dbff;box-shadow:0 0 30px rgba(71,207,255,.4);animation-duration:7s}.song-record-orbit span{font:700 56px/1 var(--mono,monospace);color:white;text-shadow:0 0 25px #9b5cff}.song-record-copy h2{font:clamp(40px,5vw,74px)/.92 Georgia,serif;margin:9px 0 13px;background:linear-gradient(90deg,#48cfff,#8d78ff,#3bd3a4);color:transparent;background-clip:text}.song-record-copy>span{color:#92a6c9;font:700 12px var(--mono,monospace);letter-spacing:.17em}.song-record-copy>span b{color:#d27bff;margin:0 8px}.song-record-copy>p:not(:first-child){max-width:650px;color:#aaa9bd;font-size:16px;line-height:1.75}.song-colors{display:flex;align-items:center;gap:9px;color:#b5b1c9;font:600 10px var(--mono,monospace);letter-spacing:.12em;text-transform:uppercase}.song-colors i{width:9px;height:9px;border-radius:50%;margin-left:10px}.song-colors i:first-child{margin-left:0}.song-colors .fayne{background:#4fc3ff;box-shadow:0 0 10px #4fc3ff}.song-colors .sable{background:#176743;box-shadow:0 0 10px #26bb7a}.song-colors .jake{background:linear-gradient(135deg,#23caff,#2bffb0);box-shadow:0 0 10px #22dcd0}.song-record-card>button,#signal-weave-start,.weave-result button{grid-column:2;background:linear-gradient(100deg,#1265c9,#9635cc);color:#fff;border:1px solid rgba(140,225,255,.4);min-height:64px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;text-align:left;font:700 12px var(--mono,monospace);letter-spacing:.13em;text-transform:uppercase}.song-record-card>button small,#signal-weave-start small{display:block;color:#a9d8ee;font-size:8px;margin-top:5px}.song-library-note{padding:32px;align-self:stretch;border:1px solid rgba(151,94,224,.24);background:rgba(11,8,25,.75)}.song-library-note strong{display:block;font:38px/1.05 Georgia,serif;margin:100px 0 20px}.song-library-note p{color:#8d899e;line-height:1.65}.signal-weave-view{margin-top:26px}.weave-track-header{grid-template-columns:1fr auto 1fr;align-items:center}.weave-track-header>div:nth-child(2){text-align:center}.weave-track-header strong{display:block;font:700 18px var(--mono,monospace);letter-spacing:.13em}.weave-track-header>div:last-child{justify-self:end;font:700 22px var(--mono,monospace);color:#8bdcff}.weave-setup{max-width:1100px;margin:55px auto 0;padding:46px;border:1px solid rgba(113,172,255,.3);background:linear-gradient(135deg,rgba(8,21,42,.95),rgba(22,7,40,.94))}.weave-setup h2{font:48px/1 Georgia,serif;margin:10px 0 32px}.weave-difficulties{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.weave-difficulties button{min-height:132px;padding:18px;text-align:left;background:rgba(7,8,22,.7);border:1px solid rgba(121,115,172,.25);color:#aaa7be;position:relative}.weave-difficulties button:hover,.weave-difficulties button.selected{transform:translateY(-4px);border-color:#5fd8ff;background:linear-gradient(145deg,rgba(21,78,125,.38),rgba(75,21,100,.35));box-shadow:0 12px 35px rgba(30,142,220,.15)}.weave-difficulties span{font:700 10px var(--mono,monospace);color:#5fd8ff}.weave-difficulties strong{display:block;font:26px Georgia,serif;color:#fff;margin:15px 0 9px}.weave-difficulties small{font:9px/1.5 var(--mono,monospace)}.weave-instructions{display:flex;align-items:center;gap:24px;margin:28px 0;color:#9d9aae}.weave-instructions span{display:flex;gap:6px}.weave-instructions kbd,.weave-lane kbd{display:grid;place-items:center;width:34px;height:34px;border:1px solid #557397;background:#090a19;color:#7fe0ff;font:700 12px var(--mono,monospace)}.weave-instructions p{font-size:13px}.weave-setup>#signal-weave-start{margin-left:auto;min-width:340px}.weave-game{position:relative;max-width:1180px;margin:18px auto 0}.weave-topline{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-bottom:10px;background:rgba(83,105,156,.24);border:1px solid rgba(97,186,255,.25)}.weave-topline div{padding:10px 18px;background:rgba(5,7,18,.92)}.weave-topline div:nth-child(2){text-align:center}.weave-topline div:nth-child(3){text-align:right}.weave-topline span{font:600 8px var(--mono,monospace);letter-spacing:.2em;color:#817d99}.weave-topline strong{display:block;font:700 19px var(--mono,monospace);color:#f1efff}.weave-field{height:min(63vh,610px);min-height:430px;position:relative;overflow:hidden;border:1px solid rgba(96,183,255,.3);background:radial-gradient(circle at 50% 50%,rgba(65,64,166,.28),transparent 16%),linear-gradient(135deg,rgba(5,17,34,.94),rgba(13,5,28,.96));box-shadow:inset 0 0 110px #02030a}.weave-grid{position:absolute;inset:0;background:linear-gradient(rgba(91,120,182,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(91,120,182,.08) 1px,transparent 1px);background-size:42px 42px;mask-image:radial-gradient(circle,#000,transparent 75%)}.weave-field:before,.weave-field:after{content:"";position:absolute;inset:50% auto auto 50%;width:85%;height:1px;background:linear-gradient(90deg,transparent,#2abefa,transparent);transform:translate(-50%,-50%) rotate(26deg);opacity:.25}.weave-field:after{transform:translate(-50%,-50%) rotate(-26deg);background:linear-gradient(90deg,transparent,#934af4,transparent)}.weave-core{position:absolute;left:50%;top:50%;width:112px;height:112px;transform:translate(-50%,-50%);display:grid;place-items:center;border:1px solid rgba(98,219,255,.7);border-radius:50%;box-shadow:0 0 45px rgba(91,76,255,.35)}.weave-core:before,.weave-core i,.weave-core b{content:"";position:absolute;inset:-18px;border:1px dashed rgba(159,92,255,.5);border-radius:50%;animation:weaveSpin 9s linear infinite}.weave-core i{inset:13px;border-style:solid;border-color:rgba(77,255,216,.4);animation-duration:5s;animation-direction:reverse}.weave-core b{inset:-35px;border-color:rgba(64,209,255,.18);animation-duration:18s}.weave-core span{font-size:42px;color:white;text-shadow:0 0 20px #71dfff}.weave-field.hit .weave-core{animation:coreHit .18s ease-out}.weave-field.miss{animation:weaveMiss .22s linear}.weave-field.miss .weave-core{border-color:#ff477e;box-shadow:0 0 55px rgba(255,30,104,.55)}@keyframes coreHit{50%{transform:translate(-50%,-50%) scale(1.13);filter:brightness(1.7)}}@keyframes weaveMiss{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}@keyframes weaveSpin{to{transform:rotate(360deg)}}.weave-lane{position:absolute;width:76px;height:76px;display:grid;place-items:center;z-index:3}.weave-lane i{position:absolute;inset:0;border:1px solid rgba(110,206,255,.45);transform:rotate(45deg);background:rgba(12,21,45,.8)}.weave-lane kbd{position:relative;z-index:1;background:transparent;border:0;font-size:16px}.weave-lane.active{filter:brightness(2);transform:scale(1.1)}.lane-0{left:10%;top:18%}.lane-1{right:10%;top:18%}.lane-2{left:10%;bottom:18%}.lane-3{right:10%;bottom:18%}.weave-note{position:absolute;width:28px;height:28px;left:0;top:0;transform:translate(-50%,-50%) rotate(45deg);border:2px solid var(--note-color);background:color-mix(in srgb,var(--note-color) 28%,#050713);box-shadow:0 0 17px var(--note-color);will-change:left,top,opacity,transform}.weave-note:after{content:"";position:absolute;inset:5px;border:1px solid #fff}.weave-note.paired{border-radius:50%}.weave-note.missed{filter:grayscale(1);opacity:.1}.weave-judgement{position:absolute;left:50%;top:calc(50% + 82px);transform:translateX(-50%);font:800 20px var(--mono,monospace);letter-spacing:.12em;color:#fff;text-shadow:0 0 15px currentColor}.weave-judgement.perfect{color:#6fffe1}.weave-judgement.good{color:#71c7ff}.weave-judgement.missed{color:#ff5b8f}.weave-lyrics{min-height:110px;padding:18px 26px;border:1px solid rgba(111,177,255,.24);border-top:0;background:rgba(5,6,17,.95);text-align:center}.weave-lyrics span{font:700 9px var(--mono,monospace);letter-spacing:.23em;color:var(--singer-color,#9b88ff)}.weave-lyrics p{font:clamp(20px,2.6vw,34px)/1.25 Georgia,serif;margin:10px auto 0;max-width:900px;color:var(--singer-color,#f0edff);text-shadow:0 0 18px color-mix(in srgb,var(--singer-color,#fff) 55%,transparent)}.weave-touch-controls{display:none;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:10px}.weave-touch-controls button{height:58px;background:rgba(13,13,35,.92);border:1px solid #496f9a;color:#7fe0ff;font:800 18px var(--mono,monospace)}.weave-progress{height:3px;background:#15132d;margin-top:11px;overflow:hidden}.weave-progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,#41cfff,#8d5cff,#27dba5);box-shadow:0 0 12px #55c9ff}.weave-result{max-width:850px;margin:60px auto 0;text-align:center;padding:50px;border:1px solid rgba(103,207,255,.32);background:linear-gradient(145deg,rgba(9,24,48,.95),rgba(31,9,48,.95))}.weave-result h2{font:700 110px/1 var(--mono,monospace);margin:15px;background:linear-gradient(180deg,#fff,#5bd4ff 50%,#bc66ff);background-clip:text;color:transparent}.weave-result>strong{font:32px Georgia,serif}.weave-result>div{display:flex;justify-content:center;gap:45px;margin:28px 0}.weave-result>div span{font:600 9px var(--mono,monospace);letter-spacing:.15em;color:#86829a}.weave-result>div b{display:block;color:white;font-size:16px;margin-top:7px}.weave-result>p:nth-last-of-type(1){color:#a9a5b8}.weave-result button{display:inline-flex;margin:8px;min-width:230px;grid-column:auto}.song-collection-module{--module-accent:#9e62ff!important}.song-collection-module:before{background:radial-gradient(circle at 80% 20%,rgba(116,76,255,.32),transparent 55%)!important}
.song-collection-active .music-control{opacity:1!important;visibility:visible!important;pointer-events:auto!important}.song-collection-active .music-control:hover,.song-collection-active .music-control:focus-within{transform:translateY(-6px) scale(1.012)}
@media(max-width:800px){.song-collection-shell{width:min(100% - 24px,1420px);padding-top:18px}.song-collection-header{grid-template-columns:1fr auto}.song-collection-header>div:nth-child(2){text-align:left;grid-column:1/-1;grid-row:2}.song-archive-status{grid-column:2;grid-row:1}.song-library-view{grid-template-columns:1fr;margin-top:25px}.song-record-card{grid-template-columns:1fr;padding:28px;min-height:0}.song-record-orbit{width:150px;margin:auto}.song-record-copy{text-align:center}.song-record-copy>p:not(:first-child){font-size:14px}.song-colors{justify-content:center;flex-wrap:wrap}.song-record-card>button{grid-column:1}.song-library-note{display:none}.weave-track-header{grid-template-columns:1fr auto}.weave-track-header>div:nth-child(2){grid-column:1/-1;grid-row:2;text-align:left}.weave-difficulties{grid-template-columns:1fr 1fr}.weave-setup{padding:24px;margin-top:25px}.weave-setup h2{font-size:36px}.weave-instructions{display:block}.weave-setup>#signal-weave-start{min-width:0;width:100%}.weave-field{height:52vh;min-height:390px}.lane-0{left:6%;top:10%}.lane-1{right:6%;top:10%}.lane-2{left:6%;bottom:10%}.lane-3{right:6%;bottom:10%}.weave-core{width:88px;height:88px}.weave-touch-controls{display:grid}.weave-result{padding:30px 16px}.weave-result h2{font-size:84px}.weave-result>div{gap:16px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.signal-song-stars,.song-record-orbit:before,.song-record-orbit:after,.song-record-orbit i,.weave-core:before,.weave-core i,.weave-core b{animation:none}}
.weave-note.hold{border-width:3px;box-shadow:0 0 20px var(--note-color),0 0 0 8px color-mix(in srgb,var(--note-color) 16%,transparent)}.weave-note.hold:before{content:"";position:absolute;inset:-14px;border:1px dashed var(--note-color);animation:holdOrbit .75s linear infinite}.weave-note.holding{animation:holdingSignal .42s ease-in-out infinite alternate}.weave-note.holding:before{inset:calc(-14px - 12px * var(--hold-progress,0));border-style:solid;opacity:calc(1 - .35 * var(--hold-progress,0))}@keyframes holdOrbit{to{transform:rotate(90deg)}}@keyframes holdingSignal{to{filter:brightness(1.65);box-shadow:0 0 36px var(--note-color),0 0 0 13px color-mix(in srgb,var(--note-color) 12%,transparent)}}
.weave-mechanics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:24px 0}.weave-mechanics>div{min-height:92px;padding:14px;border:1px solid rgba(105,160,222,.22);background:rgba(4,8,22,.55);display:grid;grid-template-columns:35px 1fr;grid-template-rows:auto 1fr;gap:4px 10px;align-items:center}.weave-mechanics strong{font:700 11px var(--mono,monospace);letter-spacing:.1em;color:#daf7ff;text-transform:uppercase}.weave-mechanics small{grid-column:2;color:#85849b;font:10px/1.45 var(--mono,monospace)}.weave-mechanics kbd{grid-row:1/3;width:54px;font:700 9px var(--mono,monospace);color:#e6dcff}.mechanic-note{grid-row:1/3;width:22px;height:22px;transform:rotate(45deg);border:2px solid #61d8ff;box-shadow:0 0 12px #45bfff}.mechanic-note.hold:after{content:"";position:absolute;width:34px;height:4px;right:18px;top:7px;background:linear-gradient(90deg,transparent,#61d8ff)}.mechanic-note.pulse{box-shadow:-8px 8px 0 -4px #090b1e,-8px 8px 0 -2px #9f69ff,-16px 16px 0 -8px #090b1e,-16px 16px 0 -6px #9f69ff}.weave-tutorial{position:fixed;z-index:50;left:50%;top:50%;transform:translate(-50%,-50%);width:min(520px,calc(100% - 30px));padding:34px;border:1px solid #69dfff;background:linear-gradient(145deg,rgba(5,15,36,.98),rgba(30,7,45,.98));box-shadow:0 0 0 100vmax rgba(1,2,9,.82),0 0 55px rgba(67,181,255,.28);text-align:center}.weave-tutorial>p:first-child{font:700 9px var(--mono,monospace);letter-spacing:.19em;color:#68d8ff}.weave-tutorial h3{font:42px/1 Georgia,serif;margin:18px 0}.weave-tutorial-demo{width:150px;height:100px;margin:15px auto;position:relative;display:grid;place-items:center}.weave-tutorial-demo kbd{z-index:2;width:58px;height:58px;display:grid;place-items:center;border:1px solid #65dfff;background:#090a1b;color:#fff;font:800 18px var(--mono,monospace);box-shadow:0 0 22px rgba(87,198,255,.35)}.weave-tutorial-demo i{position:absolute;inset:10px;border:1px dashed #9f65ff;border-radius:50%;animation:weaveSpin 4s linear infinite}.weave-tutorial>p:not(:first-child){color:#aaa7bc}.weave-tutorial-progress{display:flex;justify-content:center;gap:8px;margin:22px}.weave-tutorial-progress i{width:28px;height:3px;background:#29243e}.weave-tutorial-progress i.complete{background:#60e2ff;box-shadow:0 0 9px #60e2ff}.weave-tutorial>button{border:0;background:none;color:#89869b;font:700 9px var(--mono,monospace);letter-spacing:.13em;text-transform:uppercase}.weave-hold-tail{position:absolute;left:50%;top:50%;width:var(--tail-length);height:7px;transform-origin:0 50%;transform:rotate(var(--tail-angle));background:linear-gradient(90deg,var(--note-color),color-mix(in srgb,var(--note-color) 25%,transparent),transparent);box-shadow:0 0 12px var(--note-color);pointer-events:none}.weave-note.pulse{border-color:#c98cff;box-shadow:0 0 20px #c76cff,0 0 0 7px rgba(173,84,255,.15)}.weave-note.pulse>b{position:absolute;inset:-7px;display:grid;place-items:center;transform:rotate(-45deg);color:#fff;font:800 9px var(--mono,monospace)}.weave-override{position:absolute;z-index:8;left:50%;top:50%;transform:translate(-50%,-50%);width:min(390px,70%);padding:26px;text-align:center;border:1px solid #c26cff;background:rgba(6,3,18,.94);box-shadow:0 0 70px rgba(156,67,255,.36)}.weave-override span{font:800 9px var(--mono,monospace);letter-spacing:.2em;color:#63dbff}.weave-override strong{display:block;margin:12px 0 6px;font:34px/1 Georgia,serif;color:#fff}.weave-override p{color:#aaa4bd;font-size:12px}.weave-override>i{display:block;height:8px;margin:18px 0 8px;background:#1c1631;overflow:hidden}.weave-override>i b{display:block;width:0;height:100%;background:linear-gradient(90deg,#43dfff,#a15dff,#46efbc);box-shadow:0 0 16px #6ceaff;transition:width .12s}.weave-override em{font:700 11px var(--mono,monospace);color:#8feaff}.weave-field.override-active .weave-core{animation:overrideCore .55s ease-in-out infinite alternate;border-color:#cc65ff}.weave-field.override-pulse .weave-core{filter:brightness(2);transform:translate(-50%,-50%) scale(1.12)}@keyframes overrideCore{to{box-shadow:0 0 95px rgba(180,65,255,.75);transform:translate(-50%,-50%) scale(1.08)}}
.weave-touch-controls #weave-touch-space{grid-column:1/-1;color:#d8b4ff;border-color:#9b65d9}
@media(max-width:800px){.weave-mechanics{grid-template-columns:1fr 1fr}.weave-override{width:78%;padding:20px}.weave-override strong{font-size:26px}}

/* Destination crystal scoring zones */
.weave-lane{transition:filter .12s,transform .12s}
.weave-lane i{box-shadow:inset 0 0 0 11px rgba(5,11,28,.24),inset 0 0 0 12px rgba(101,190,255,.18),inset 0 0 0 23px rgba(5,11,28,.28),inset 0 0 0 24px rgba(118,244,225,.38)}
.weave-lane i:before,.weave-lane i:after{content:"";position:absolute;pointer-events:none}
.weave-lane i:before{inset:11px;border:1px solid rgba(100,196,255,.35)}
.weave-lane i:after{inset:24px;border:1px solid rgba(222,255,250,.78);background:rgba(94,239,224,.08);box-shadow:0 0 10px rgba(98,242,226,.32)}
.weave-lane kbd{text-shadow:0 0 9px #52d7ff}
.weave-lane.zone-contact{filter:brightness(1.25)}
.weave-lane.zone-stable{filter:brightness(1.55);transform:scale(1.035)}
.weave-lane.zone-inner{filter:brightness(1.9);transform:scale(1.075)}
.weave-lane.zone-core{filter:brightness(2.45);transform:scale(1.13)}
.weave-lane.zone-core i{border-color:#fff;box-shadow:0 0 34px #56ffe2,inset 0 0 24px rgba(101,255,226,.45)}
.weave-zone-key{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin:-10px 0 25px!important;color:#77758c!important}
.weave-zone-key span{padding:7px 10px;border:1px solid rgba(102,188,255,.18);font:700 8px var(--mono,monospace);letter-spacing:.12em}
.weave-zone-key span:nth-child(2){border-color:rgba(91,204,255,.32);color:#74cfff}
.weave-zone-key span:nth-child(3){border-color:rgba(105,235,218,.48);color:#78ead7}
.weave-zone-key span:nth-child(4){border-color:rgba(226,255,249,.72);color:#e9fffb;box-shadow:0 0 13px rgba(82,255,222,.17)}
.weave-zone-key b{color:#fff}.weave-zone-key small{margin-left:6px;font:9px var(--mono,monospace)}

/* Vocal memories blended beneath the Signal Weave */
.weave-memory{position:absolute;inset:0;z-index:0;overflow:hidden;background:#030714;pointer-events:none}
.weave-memory:after{content:"";position:absolute;inset:0;z-index:2;background:radial-gradient(circle at 50% 50%,rgba(5,9,25,.74) 0 13%,rgba(5,8,22,.34) 38%,rgba(2,4,13,.78) 100%),linear-gradient(180deg,rgba(2,6,18,.3),rgba(3,5,17,.56));box-shadow:inset 0 0 120px 25px #02040d}
.weave-memory-scene{position:absolute;inset:-3%;z-index:1;opacity:0;background-position:center;background-size:cover;filter:saturate(.72) contrast(1.08) brightness(.64);transform:scale(1.055);transition:opacity 1.15s ease,transform 8s ease;will-change:opacity,transform}
.memory-fayne{background-image:url("assets/static-between-us-scenes/fayne.webp");background-position:50% 32%}
.memory-jake{background-image:url("assets/static-between-us-scenes/jake.webp");background-position:50% 38%}
.memory-sable-wide{background-image:url("assets/static-between-us-scenes/sable-wide.webp");background-position:50% 43%}
.memory-sable-close{background-image:url("assets/static-between-us-scenes/sable-close.webp");background-position:50% 36%}
.memory-raxian-01{background-image:url("assets/static-between-us-raxian-scenes/scene-01.webp");background-position:50% 45%}
.memory-raxian-02{background-image:url("assets/static-between-us-raxian-scenes/scene-02.webp");background-position:50% 42%}
.memory-raxian-03{background-image:url("assets/static-between-us-raxian-scenes/scene-03.webp");background-position:50% 44%}
.memory-raxian-04{background-image:url("assets/static-between-us-raxian-scenes/scene-04.webp");background-position:50% 42%}
.memory-raxian-05{background-image:url("assets/static-between-us-raxian-scenes/scene-05.webp");background-position:50% 43%}
.memory-raxian-06{background-image:url("assets/static-between-us-raxian-scenes/scene-06.webp");background-position:50% 40%}
.memory-raxian-07{background-image:url("assets/static-between-us-raxian-scenes/scene-07.webp");background-position:50% 46%}
.weave-memory[data-scene="raxian-01"] .memory-raxian-01,.weave-memory[data-scene="raxian-02"] .memory-raxian-02,.weave-memory[data-scene="raxian-03"] .memory-raxian-03,.weave-memory[data-scene="raxian-04"] .memory-raxian-04,.weave-memory[data-scene="raxian-05"] .memory-raxian-05,.weave-memory[data-scene="raxian-06"] .memory-raxian-06,.weave-memory[data-scene="raxian-07"] .memory-raxian-07{opacity:.78;transform:scale(1.03)}
.song-record-raxian{--raxian-gold:#efbf52;background:radial-gradient(circle at 18% 46%,rgba(237,183,64,.16),transparent 32%),linear-gradient(125deg,rgba(33,25,12,.94),rgba(31,12,42,.9));border-color:rgba(239,191,82,.38)}
.song-record-raxian .song-record-orbit{border-color:rgba(255,208,101,.55);background:radial-gradient(circle,rgba(255,190,51,.3),transparent 60%)}
.song-record-raxian .song-record-orbit span{color:#ffe7a0;text-shadow:0 0 25px #e9a72c}
.song-record-raxian .song-record-copy h2{background:linear-gradient(90deg,#fff1b0,#e5ae37,#f6d67a);background-clip:text}
.song-colors.raxian-channel{color:#f0ce74}.song-colors.raxian-channel i{background:#efbf52;box-shadow:0 0 14px #efbf52;margin-left:0}
.song-record-raxian>button{background:linear-gradient(100deg,#8c5b0b,#a831a8);border-color:rgba(255,215,113,.5)}
.song-library-view{align-items:stretch}.song-library-note{grid-column:2;grid-row:1/3}.song-record-card{min-height:390px}
.song-collection-screen[data-active-song="raxian"]{--song-cyan:#efbf52;--song-violet:#d09132}.song-collection-screen[data-active-song="raxian"] .weave-track-header span,.song-collection-screen[data-active-song="raxian"] .weave-setup>p{color:#efbf52}.song-collection-screen[data-active-song="raxian"] .weave-progress i{background:linear-gradient(90deg,#7d4d06,#f3c75a,#fff0a8);box-shadow:0 0 15px #efbf52}
.weave-memory[data-scene="fayne"] .memory-fayne,.weave-memory[data-scene="jake"] .memory-jake,.weave-memory[data-scene="sable-wide"] .memory-sable-wide,.weave-memory[data-scene="sable-close"] .memory-sable-close{opacity:.58;transform:scale(1)}
.weave-memory[data-scene="fayne"]:after{background:radial-gradient(circle at 50% 50%,rgba(4,8,24,.77) 0 13%,rgba(3,9,24,.35) 38%,rgba(2,5,15,.82) 100%),linear-gradient(90deg,rgba(30,119,166,.13),rgba(2,5,17,.52))}
.weave-memory[data-scene="sable-wide"]:after,.weave-memory[data-scene="sable-close"]:after{background:radial-gradient(circle at 50% 50%,rgba(3,13,16,.77) 0 13%,rgba(3,15,16,.32) 38%,rgba(2,7,12,.83) 100%),linear-gradient(90deg,rgba(8,78,55,.16),rgba(2,5,17,.5))}
.weave-memory[data-scene="jake"]:after{background:radial-gradient(circle at 50% 50%,rgba(3,14,19,.77) 0 13%,rgba(2,17,21,.31) 38%,rgba(2,6,14,.84) 100%),linear-gradient(90deg,rgba(14,137,128,.12),rgba(2,5,17,.54))}
.weave-grid,.weave-core,.weave-lane,.weave-judgement,.weave-override{z-index:3}.weave-notes{position:absolute;inset:0;z-index:4;pointer-events:none}
@media(max-width:800px){.weave-memory-scene{inset:0;background-position:center}.weave-memory[data-scene] .weave-memory-scene{opacity:.45}}
.song-record-card>button,.weave-setup>#signal-weave-start,.weave-result button,.song-collection-header button,.weave-track-header button{transition:transform .28s cubic-bezier(.2,.8,.2,1),border-color .28s ease,box-shadow .28s ease,filter .28s ease}.song-record-card>button:hover,.weave-setup>#signal-weave-start:hover,.weave-result button:hover{transform:translateY(-6px);border-color:#73e5ff;box-shadow:0 18px 42px rgba(44,154,255,.2),0 0 26px rgba(170,68,255,.15);filter:brightness(1.12)}.song-collection-header button:hover,.weave-track-header button:hover{transform:translateY(-3px);color:#fff;text-shadow:0 0 14px #4ddcff}

/* Musical Archive gateway */
.musical-archive-home{margin-top:42px}.musical-archive-intro{position:relative;overflow:hidden;min-height:245px;padding:42px 46% 42px 46px;border:1px solid rgba(91,205,255,.25);background:linear-gradient(120deg,rgba(7,26,48,.94),rgba(31,10,51,.92))}.musical-archive-intro>p,.musical-subarchive-header span,.signal-weaves-catalog-header span,.visual-record-feature>div:last-child>p:first-child{margin:0;color:#64d7ff;font:700 9px/1.4 var(--mono,monospace);letter-spacing:.2em}.musical-archive-intro h2{margin:15px 0 19px;font:clamp(34px,4vw,57px)/.98 Georgia,serif}.musical-archive-intro h2 em{color:#d879ff;font-weight:400}.musical-archive-intro>span{display:block;max-width:600px;color:#aaa7bc;line-height:1.7}.archive-frequency{position:absolute;right:4%;top:50%;width:38%;height:130px;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;gap:10px;border-left:1px solid rgba(90,211,255,.16)}.archive-frequency i{display:block;width:3px;height:var(--h,42%);background:linear-gradient(#4edaff,#9c5cff,#3ef0bc);box-shadow:0 0 14px #725aff;animation:archivePulse 1.8s ease-in-out infinite alternate}.archive-frequency i:nth-child(2n){--h:78%;animation-delay:-.3s}.archive-frequency i:nth-child(3n){--h:26%;animation-delay:-.8s}.archive-frequency i:nth-child(5n){--h:95%;animation-delay:-1.2s}@keyframes archivePulse{to{transform:scaleY(.42);opacity:.48}}
.musical-channel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}.musical-channel-card{min-height:310px;padding:30px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;color:#efedff;border:1px solid rgba(113,180,255,.24);background:linear-gradient(145deg,rgba(8,24,44,.94),rgba(14,9,32,.96));position:relative;overflow:hidden;transition:transform .32s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .3s}.musical-channel-card:before{content:"";position:absolute;inset:0;opacity:.52;background:radial-gradient(circle at 85% 15%,rgba(69,202,255,.24),transparent 42%);transition:opacity .3s,transform .5s}.signal-weaves-channel:before{background:radial-gradient(circle at 85% 15%,rgba(159,72,255,.34),transparent 44%)}.visual-records-channel:before{background:radial-gradient(circle at 85% 15%,rgba(255,105,184,.26),transparent 44%)}.musical-channel-card>*{position:relative;z-index:1}.musical-channel-card small{color:#61d8ff;font:700 8px var(--mono,monospace);letter-spacing:.18em}.musical-channel-card strong{display:block;margin:58px 0 17px;font:clamp(30px,3vw,43px)/1 Georgia,serif}.musical-channel-card strong em{color:#ce74ff;font-weight:400}.musical-channel-card>span{color:#9996ac;line-height:1.65}.musical-channel-card>b{margin-top:auto;padding-top:25px;color:#68e3ff;font:700 9px var(--mono,monospace);letter-spacing:.16em}.musical-channel-card:hover{transform:translateY(-9px);border-color:#6edfff;box-shadow:0 22px 55px rgba(26,108,191,.18),0 0 30px rgba(150,67,255,.1)}.musical-channel-card:hover:before{opacity:1;transform:scale(1.12)}
.musical-subarchive{margin-top:30px}.musical-subarchive-header,.signal-weaves-catalog-header{grid-column:1/-1;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;margin-bottom:24px;padding-bottom:22px;border-bottom:1px solid rgba(95,196,255,.22)}.musical-subarchive-header button,.signal-weaves-catalog-header button{justify-self:start;padding:10px 0;color:#81e5ff;background:none;border:0;font:700 9px var(--mono,monospace);letter-spacing:.15em;text-transform:uppercase}.musical-subarchive-header>div,.signal-weaves-catalog-header>div{text-align:center}.musical-subarchive-header h2,.signal-weaves-catalog-header h2{margin:3px 0;font:clamp(35px,4vw,52px)/1 Georgia,serif}.musical-subarchive-header h2 em,.signal-weaves-catalog-header h2 em{color:#d678ff;font-weight:400}.musical-subarchive-header p,.signal-weaves-catalog-header p{margin:5px 0 0;color:#918da4}.musical-subarchive-header>b,.signal-weaves-catalog-header>b{justify-self:end;color:#70dcff;font:700 15px var(--mono,monospace)}.signal-weaves-catalog-header{margin-bottom:0;padding:0 0 24px}.song-library-view>.song-record-card{grid-column:1}.song-library-view>.song-library-note{grid-column:2;grid-row:2/4}.song-library-view>.signal-weaves-catalog-header~.song-record-card:nth-of-type(n+3){grid-column:1/-1}.song-library-view>.signal-weaves-catalog-header~.song-record-card:nth-of-type(n+3){grid-template-columns:260px minmax(0,1fr)}
.passive-song-list{border:1px solid rgba(90,189,255,.23);background:rgba(5,8,22,.74)}.passive-song-record{--record:#63d8ff;width:100%;min-height:112px;display:grid;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:22px;padding:17px 28px;color:#efedff;text-align:left;border:0;border-bottom:1px solid rgba(108,125,174,.18);background:linear-gradient(90deg,color-mix(in srgb,var(--record) 9%,#070a18),rgba(7,7,19,.92));transition:transform .25s,background .25s,box-shadow .25s}.passive-song-record:last-child{border-bottom:0}.passive-song-record>i{font:700 35px var(--mono,monospace);font-style:normal;color:var(--record);opacity:.8}.passive-song-record small{display:block;color:var(--record);font:700 8px var(--mono,monospace);letter-spacing:.18em}.passive-song-record strong{display:block;margin:6px 0 4px;font:26px/1 Georgia,serif}.passive-song-record em{color:#89869c;font-style:normal}.passive-song-record>b{color:var(--record);font:700 9px var(--mono,monospace);letter-spacing:.16em}.passive-song-record.gold{--record:#efbf52}.passive-song-record.orange{--record:#ff872e}.passive-song-record.anchor{--record:#65c690}.passive-song-record.rose{--record:#efaeba}.passive-song-record:hover,.passive-song-record.playing{position:relative;z-index:1;transform:translateX(7px);background:linear-gradient(90deg,color-mix(in srgb,var(--record) 18%,#071020),rgba(17,8,31,.96));box-shadow:0 12px 35px rgba(0,0,0,.25)}.passive-song-record.playing{box-shadow:inset 3px 0 0 var(--record),0 0 25px color-mix(in srgb,var(--record) 18%,transparent)}
.visual-record-feature{display:grid;grid-template-columns:minmax(330px,.9fr) 1.1fr;min-height:430px;border:1px solid rgba(130,97,218,.3);background:linear-gradient(125deg,rgba(10,25,47,.95),rgba(36,9,45,.94));overflow:hidden}.visual-record-preview{display:grid;place-items:center;position:relative;min-height:430px;background:linear-gradient(rgba(8,8,26,.18),rgba(9,5,19,.7)),url("assets/static-between-us-raxian-scenes/scene-05.webp") center/cover}.visual-record-preview:after{content:"";position:absolute;inset:0;border-right:1px solid rgba(107,211,255,.22);box-shadow:inset 0 0 80px rgba(3,5,18,.75)}.visual-record-preview span,.visual-record-preview b{position:absolute;z-index:1;color:#8ceaff;font:700 8px var(--mono,monospace);letter-spacing:.2em}.visual-record-preview span{top:25px;left:27px}.visual-record-preview b{right:27px;bottom:25px}.visual-record-preview i{position:relative;z-index:1;display:grid;place-items:center;width:94px;height:94px;border:1px solid #74e3ff;border-radius:50%;color:#fff;font-size:42px;font-style:normal;background:rgba(6,8,25,.55);box-shadow:0 0 45px rgba(117,85,255,.4)}.visual-record-feature>div:last-child{padding:64px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.visual-record-feature h3{margin:12px 0;font:clamp(42px,5vw,70px)/.95 Georgia,serif;background:linear-gradient(90deg,#efbf52,#f4d884,#c988ff);color:transparent;background-clip:text}.visual-record-feature>div:last-child>span{color:#d5b465;font:700 9px var(--mono,monospace);letter-spacing:.17em}.visual-record-feature>div:last-child>p:not(:first-child){max-width:610px;color:#aaa6b8;line-height:1.75}.visual-record-feature button{width:100%;min-height:62px;margin-top:20px;padding:0 22px;display:flex;justify-content:space-between;align-items:center;color:white;border:1px solid rgba(122,218,255,.4);background:linear-gradient(100deg,#7d4d14,#8e3ba6);font:700 10px var(--mono,monospace);letter-spacing:.15em;text-transform:uppercase;transition:transform .25s,filter .25s}.visual-record-feature button:hover{transform:translateY(-5px);filter:brightness(1.17)}
@media(max-width:900px){.musical-archive-intro{padding:32px;min-height:0}.archive-frequency{position:relative;right:auto;top:auto;width:100%;height:80px;margin-top:28px;transform:none;border-left:0;border-top:1px solid rgba(90,211,255,.16)}.musical-channel-grid{grid-template-columns:1fr}.musical-channel-card{min-height:230px}.musical-channel-card strong{margin-top:38px}.musical-subarchive-header,.signal-weaves-catalog-header{grid-template-columns:1fr auto}.musical-subarchive-header>div,.signal-weaves-catalog-header>div{grid-column:1/-1;grid-row:2;text-align:left}.passive-song-record{grid-template-columns:52px 1fr}.passive-song-record>b{grid-column:2}.visual-record-feature{grid-template-columns:1fr}.visual-record-feature>div:last-child{padding:35px}.song-library-view>.song-record-card,.song-library-view>.song-library-note,.song-library-view>.signal-weaves-catalog-header~.song-record-card:nth-of-type(n+3){grid-column:1}.song-library-view>.signal-weaves-catalog-header~.song-record-card:nth-of-type(n+3){grid-template-columns:1fr}}

/* Song Record taxonomy and dedicated record players */
.song-record-category-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.song-record-category{min-height:390px;padding:38px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;color:#efedff;border:1px solid rgba(97,201,255,.26);background:linear-gradient(145deg,rgba(8,27,51,.95),rgba(16,8,34,.97));position:relative;overflow:hidden;transition:transform .3s,border-color .3s,box-shadow .3s}.song-record-category:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 18%,rgba(49,199,255,.25),transparent 45%)}.artists-category{grid-column:1/-1;min-height:320px}.artists-category:before{background:radial-gradient(circle at 82% 18%,rgba(217,86,255,.28),transparent 45%)}.artists-category strong{margin-top:58px}.system-themes-category:before{background:radial-gradient(circle at 82% 18%,rgba(54,255,214,.22),transparent 43%),radial-gradient(circle at 15% 80%,rgba(213,84,255,.18),transparent 42%)}.hidden-layer-category{border-color:rgba(220,72,255,.38);background:linear-gradient(145deg,rgba(20,7,36,.97),rgba(4,8,21,.98))}.hidden-layer-category:before{background:repeating-linear-gradient(105deg,transparent 0 32px,rgba(224,61,255,.035) 33px 34px),radial-gradient(circle at 78% 18%,rgba(211,52,255,.3),transparent 44%)}.butterfly-effect-category{border-color:rgba(255,225,139,.38);background:linear-gradient(145deg,rgba(21,25,57,.97),rgba(27,11,43,.98))}.butterfly-effect-category:before{background:radial-gradient(circle at 18% 20%,rgba(255,228,144,.22),transparent 42%),radial-gradient(circle at 85% 80%,rgba(142,116,255,.26),transparent 45%)}.song-record-category>*{position:relative}.song-record-category small{color:#67ddff;font:700 9px var(--mono,monospace);letter-spacing:.19em}.song-record-category strong{margin:88px 0 20px;font:clamp(39px,4vw,61px)/.95 Georgia,serif}.song-record-category strong em{color:#d47aff;font-weight:400}.song-record-category>span{max-width:560px;color:#9c98ad;line-height:1.75}.song-record-category>b{margin-top:auto;color:#6be2ff;font:700 9px var(--mono,monospace);letter-spacing:.17em}.song-record-category:hover{transform:translateY(-8px);border-color:#71e2ff;box-shadow:0 22px 56px rgba(46,121,217,.18)}
.pov-filter-console{display:grid;grid-template-columns:1.2fr .8fr;gap:1px;margin-bottom:16px;border:1px solid rgba(90,190,255,.22);background:rgba(95,113,161,.18)}.pov-filter-console>div{padding:18px;background:rgba(6,9,23,.92);display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pov-filter-console span{width:100%;margin-bottom:5px;color:#65d8ff;font:700 8px var(--mono,monospace);letter-spacing:.19em}.pov-filter{min-height:34px;padding:0 13px;color:#aaa6b9;border:1px solid rgba(117,126,171,.28);background:rgba(13,13,34,.7);font:700 9px var(--mono,monospace);letter-spacing:.08em;transition:transform .2s,border-color .2s,color .2s,background .2s}.pov-filter:hover,.pov-filter.active{transform:translateY(-2px);color:#fff;border-color:#5edcff;background:linear-gradient(110deg,rgba(27,113,170,.38),rgba(94,35,143,.38));box-shadow:0 0 17px rgba(74,180,255,.11)}.pov-empty{padding:34px;text-align:center;color:#77738d;border:1px solid rgba(112,103,158,.2);font:700 9px var(--mono,monospace);letter-spacing:.16em}
.passive-song-record{width:100%;min-height:112px;grid-template-columns:76px minmax(0,1fr) 54px;cursor:default}.passive-song-record[hidden]{display:none}.passive-song-record:hover{transform:none}.passive-song-record.active{min-height:164px;background:linear-gradient(90deg,color-mix(in srgb,var(--record) 17%,#071020),rgba(17,8,31,.97));box-shadow:inset 4px 0 0 var(--record),0 0 25px color-mix(in srgb,var(--record) 13%,transparent)}.record-play{width:48px;height:48px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--record) 70%,#fff);border-radius:50%;color:var(--record);background:color-mix(in srgb,var(--record) 11%,#080a18);font:700 18px var(--mono,monospace);transition:transform .2s,box-shadow .2s,background .2s}.record-play:hover{transform:scale(1.08);box-shadow:0 0 22px color-mix(in srgb,var(--record) 35%,transparent)}.passive-song-record.playing .record-play{color:#071018;background:var(--record);box-shadow:0 0 25px color-mix(in srgb,var(--record) 55%,transparent)}.record-controls{display:none;grid-column:2/4;grid-template-columns:auto minmax(130px,1fr) auto auto;align-items:center;gap:13px;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--record) 20%,transparent);color:#aaa6b8;font:700 9px var(--mono,monospace);letter-spacing:.08em}.passive-song-record.active .record-controls{display:grid}.record-controls input{accent-color:var(--record);cursor:pointer}.record-progress{width:100%}.record-controls label{display:flex;align-items:center;gap:8px;color:var(--record)}.record-volume{width:90px}.record-current,.record-duration{font-variant-numeric:tabular-nums}
.artist-index-section{margin-top:18px}.artist-index-heading{display:flex;justify-content:space-between;padding:16px 20px;border:1px solid rgba(86,196,255,.24);background:rgba(8,18,37,.9);color:#64dcff;font:700 9px var(--mono,monospace);letter-spacing:.19em}.artist-file-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border:1px solid rgba(106,115,158,.2);border-top:0;background:rgba(92,105,149,.15)}.artist-file-grid button{min-height:170px;padding:24px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;color:#eeeaff;border:0;background:linear-gradient(145deg,rgba(7,16,32,.96),rgba(17,8,29,.96));transition:transform .24s,background .24s,box-shadow .24s}.artist-file-grid button:hover{position:relative;z-index:1;transform:translateY(-6px);background:linear-gradient(145deg,rgba(14,46,70,.98),rgba(46,13,61,.98));box-shadow:0 18px 40px rgba(0,0,0,.3)}.artist-file-grid small{color:#63d8ff;font:700 8px var(--mono,monospace);letter-spacing:.17em}.artist-file-grid strong{margin:auto 0 12px;font:27px/1 Georgia,serif}.artist-file-grid span{color:#817d93;font:700 8px var(--mono,monospace);letter-spacing:.14em}.artist-index-section.independent .artist-index-heading{color:#dc80ff;border-color:rgba(202,103,255,.25)}.artist-index-section.independent .artist-file-grid button{background:linear-gradient(145deg,rgba(22,11,41,.97),rgba(8,19,34,.97))}
.record-audio-active .music-control{opacity:.72}.record-audio-active .music-control:after{content:"WEBSITE MUSIC PAUSED";position:absolute;right:18px;bottom:-18px;color:#817d98;font:700 7px var(--mono,monospace);letter-spacing:.14em}
@media(max-width:900px){.song-record-category-grid{grid-template-columns:1fr}.artists-category{grid-column:auto}.song-record-category{min-height:280px}.song-record-category strong,.artists-category strong{margin-top:55px}.pov-filter-console{grid-template-columns:1fr}.passive-song-record{grid-template-columns:48px minmax(0,1fr) 46px;padding:16px}.record-controls{grid-column:1/-1;grid-template-columns:auto 1fr auto}.record-controls label{grid-column:1/-1}.record-volume{width:100%}.artist-file-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.artist-file-grid{grid-template-columns:1fr}.passive-song-record strong{font-size:21px}}

/* Archive views must remain mutually exclusive even when a view defines grid/flex display. */
.song-collection-screen [hidden]{display:none!important}

/* SB-01 runner: the character memory is the stage; pressure is measured below it. */
.weave-field{height:min(67vh,650px);min-height:500px;background:#030612}
.weave-field:before,.weave-field:after,.weave-core,.weave-lane{display:none!important}
.weave-memory:after{background:linear-gradient(180deg,rgba(2,5,15,.08),rgba(2,5,15,.16) 48%,rgba(2,4,13,.78) 78%,#02040d 100%),radial-gradient(circle at 50% 42%,transparent 0 35%,rgba(2,4,13,.42) 82%)!important}
.weave-memory[data-scene] .weave-memory-scene{opacity:.78}
.weave-grid{z-index:2;opacity:.22;mask-image:linear-gradient(180deg,transparent,#000 68%,#000)}
.weave-runner-route{position:absolute;z-index:5;left:0;right:0;bottom:0;height:132px;overflow:hidden;background:linear-gradient(180deg,rgba(3,6,18,.12),rgba(4,7,20,.92) 38%,rgba(5,8,22,.98));border-top:1px solid rgba(91,207,255,.35);box-shadow:0 -18px 45px rgba(2,5,18,.5)}
.route-line{position:absolute;left:0;right:0;bottom:30px;height:2px;background:linear-gradient(90deg,transparent,#4bdcff 12%,#9b64ff 55%,transparent);box-shadow:0 0 15px #4fbfff}
.route-line:after{content:"";position:absolute;inset:-9px 0;border-top:1px dashed rgba(100,196,255,.18);border-bottom:1px dashed rgba(169,95,255,.16)}
.route-scan{position:absolute;bottom:0;top:0;width:160px;background:linear-gradient(90deg,transparent,rgba(82,218,255,.08),transparent);animation:runnerScan 4.5s linear infinite}@keyframes runnerScan{from{left:-180px}to{left:100%}}
.weave-runner-signal{--jump-y:0px;position:absolute;z-index:7;left:17%;bottom:22px;width:34px;height:34px;transform:translate(-50%,var(--jump-y)) rotate(45deg);border:2px solid #dffcff;background:linear-gradient(135deg,#3fdcff,#7957ff 55%,#35efbd);box-shadow:0 0 12px #fff,0 0 30px #45cfff;transition:width .12s,height .12s,border-radius .12s,filter .15s;will-change:transform}
.weave-runner-signal span{position:absolute;inset:0;display:grid;place-items:center;transform:rotate(-45deg);color:white;font-size:20px}.weave-runner-signal i{position:absolute;inset:-12px;border:1px dashed rgba(128,209,255,.65);animation:signalHalo 2.8s linear infinite}@keyframes signalHalo{to{transform:rotate(360deg)}}
.weave-runner-signal.ducking{width:54px;height:19px;border-radius:45%;filter:saturate(1.35) brightness(1.2)}.weave-runner-signal.ducking span{font-size:13px}.weave-runner-signal.damaged{animation:runnerDamage .12s linear 3;filter:hue-rotate(125deg) brightness(2)}.weave-runner-signal.recovering{filter:brightness(2);box-shadow:0 0 18px #fff,0 0 65px #5fffd0}@keyframes runnerDamage{50%{margin-left:8px;opacity:.4}}
.weave-notes{position:absolute;inset:0;z-index:6;pointer-events:none}.runner-obstacle{position:absolute;display:block;bottom:24px;transform:translateX(-50%);will-change:left,opacity}.runner-obstacle.fracture{width:46px;height:58px}.runner-obstacle.fracture b{position:absolute;bottom:0;width:18px;height:48px;border:1px solid #ff5d9f;background:linear-gradient(145deg,rgba(255,55,126,.7),rgba(94,24,124,.45));box-shadow:0 0 16px #ff3d91;clip-path:polygon(50% 0,100% 100%,0 100%)}.runner-obstacle.fracture b:nth-child(2){left:15px;height:62px}.runner-obstacle.fracture b:nth-child(3){left:30px;height:39px}.runner-obstacle.overhead{bottom:65px;width:96px;height:37px;border:1px solid #9d68ff;background:linear-gradient(90deg,rgba(84,48,178,.82),rgba(45,199,255,.38));box-shadow:0 0 22px rgba(132,83,255,.65)}.runner-obstacle.overhead b{position:absolute;inset:7px;border:1px dashed #70dfff}.runner-obstacle.overhead span{position:absolute;top:-18px;left:0;font:700 7px var(--mono,monospace);letter-spacing:.12em;color:#b99cff}.runner-obstacle.recovery{bottom:45px;width:36px;height:36px;display:grid;place-items:center;border:1px solid #65ffe0;transform:translateX(-50%) rotate(45deg);background:rgba(60,255,210,.13);box-shadow:0 0 26px #55eecf}.runner-obstacle.recovery span{transform:rotate(-45deg);color:white;font-size:25px}
.weave-pressure-readout{position:absolute;z-index:7;left:22px;bottom:150px;padding:10px 14px;border-left:2px solid #55dfff;background:rgba(4,7,20,.62);backdrop-filter:blur(6px)}.weave-pressure-readout span{display:block;font:700 7px var(--mono,monospace);letter-spacing:.18em;color:#58d6ff}.weave-pressure-readout strong{display:block;margin-top:5px;font:600 9px var(--mono,monospace);color:#d7d5e5}
.weave-judgement{z-index:8;top:auto;bottom:152px;font-size:14px;background:rgba(3,5,16,.7);padding:8px 12px}.weave-lyrics{position:relative;z-index:9;margin-top:-116px;min-height:116px;border:0;background:linear-gradient(180deg,transparent,rgba(3,5,15,.88));pointer-events:none}.weave-lyrics p{font-size:clamp(21px,2.5vw,36px)}
.runner-touch-controls{grid-template-columns:1fr 1fr!important}.runner-touch-controls button{display:block!important}.weave-topline strong#weave-accuracy{color:#6fffe1;letter-spacing:.08em}.weave-topline strong#weave-combo{color:#bd8fff}
@media(max-width:800px){.weave-field{height:58vh;min-height:470px}.weave-memory[data-scene] .weave-memory-scene{opacity:.65}.weave-runner-route{height:118px}.weave-pressure-readout{bottom:132px;left:10px;max-width:70%}.weave-judgement{bottom:134px}.weave-lyrics{margin-top:-108px}.weave-mechanics{grid-template-columns:1fr 1fr}.weave-instructions span{margin-bottom:12px}.weave-instructions kbd{width:auto;min-width:46px;padding:0 8px}}
@media(prefers-reduced-motion:reduce){.route-scan,.weave-runner-signal i{animation:none}}

/* Signal Weave refinement: memories, system hazards, and lyric convergence. */
.weave-memory[data-scene] .weave-memory-scene{opacity:0;filter:saturate(.9) contrast(1.08) brightness(.76)}
.weave-memory[data-scene="fayne"] .memory-fayne,.weave-memory[data-scene="jake"] .memory-jake,.weave-memory[data-scene="sable-wide"] .memory-sable-wide,.weave-memory[data-scene="sable-close"] .memory-sable-close,.weave-memory[data-scene="raxian-01"] .memory-raxian-01,.weave-memory[data-scene="raxian-02"] .memory-raxian-02,.weave-memory[data-scene="raxian-03"] .memory-raxian-03,.weave-memory[data-scene="raxian-04"] .memory-raxian-04,.weave-memory[data-scene="raxian-05"] .memory-raxian-05,.weave-memory[data-scene="raxian-06"] .memory-raxian-06,.weave-memory[data-scene="raxian-07"] .memory-raxian-07{opacity:.88;transform:scale(1)}
.weave-field[data-singer="fayne"] .weave-runner-signal{--signal-a:#45ceff;--signal-b:#8072ff}
.weave-field[data-singer="sable"] .weave-runner-signal{--signal-a:#28c98b;--signal-b:#5ee6b6}
.weave-field[data-singer="jake"] .weave-runner-signal{--signal-a:#27bfff;--signal-b:#29f2c3}
.weave-runner-signal{background:linear-gradient(135deg,var(--signal-a,#3fdcff),#7658ff 55%,var(--signal-b,#35efbd));box-shadow:0 0 12px #fff,0 0 34px var(--signal-a,#45cfff)}
.runner-obstacle.fracture{width:62px;height:54px}
.runner-obstacle.fracture b{position:absolute;bottom:7px;width:25px;height:25px;border:1px solid #ff6bb0;background:linear-gradient(135deg,rgba(255,69,145,.18),rgba(87,60,205,.7));box-shadow:0 0 15px rgba(255,61,145,.75),inset 0 0 0 6px rgba(4,7,21,.45);clip-path:none;transform:rotate(45deg)}
.runner-obstacle.fracture b:after{content:"";position:absolute;inset:6px;border:1px solid rgba(210,236,255,.7)}
.runner-obstacle.fracture b:nth-child(1){left:1px;bottom:5px}
.runner-obstacle.fracture b:nth-child(2){left:20px;bottom:20px;height:27px}
.runner-obstacle.fracture b:nth-child(3){left:39px;bottom:5px;height:25px}
.runner-obstacle.overhead{clip-path:polygon(8% 0,92% 0,100% 50%,92% 100%,8% 100%,0 50%);border-color:#69dfff;background:linear-gradient(90deg,rgba(43,89,180,.82),rgba(121,60,201,.72));box-shadow:0 0 22px rgba(82,199,255,.45)}
.runner-obstacle.overhead b{border-style:solid;clip-path:inherit}
.weave-game .weave-lyrics{position:absolute;z-index:9;left:55%;bottom:35px;width:40%;min-height:74px;margin:0;padding:8px 14px;border:0;border-left:1px solid color-mix(in srgb,var(--singer-color,#7bdcff) 65%,transparent);background:linear-gradient(90deg,rgba(4,8,22,.78),rgba(4,8,22,.2),transparent);text-align:left;pointer-events:none;transform:translateX(calc(var(--lyric-progress,0) * -95%)) scale(calc(1 - var(--lyric-progress,0) * .12));opacity:calc(1 - var(--lyric-progress,0) * .92);filter:blur(calc(var(--lyric-progress,0) * 1.5px));will-change:transform,opacity,filter}
.weave-game .weave-lyrics:after{content:"";position:absolute;left:-7px;top:50%;width:12px;height:12px;border:1px solid var(--singer-color,#74dcff);background:#071027;transform:translate(-50%,-50%) rotate(45deg);box-shadow:0 0 14px var(--singer-color,#74dcff)}
.weave-game .weave-lyrics span{font-size:8px}.weave-game .weave-lyrics p{margin:5px 0 0;max-width:none;font-size:clamp(16px,1.8vw,25px);line-height:1.12}
.weave-lyrics.lyric-enter{animation:lyricSignalIn .2s ease-out}@keyframes lyricSignalIn{from{opacity:0;transform:translateX(12%) scale(.96)}}
@media(max-width:800px){.weave-memory[data-scene] .weave-memory-scene{opacity:0}.weave-memory[data-scene="fayne"] .memory-fayne,.weave-memory[data-scene="jake"] .memory-jake,.weave-memory[data-scene="sable-wide"] .memory-sable-wide,.weave-memory[data-scene="sable-close"] .memory-sable-close,.weave-memory[data-scene="raxian-01"] .memory-raxian-01,.weave-memory[data-scene="raxian-02"] .memory-raxian-02,.weave-memory[data-scene="raxian-03"] .memory-raxian-03,.weave-memory[data-scene="raxian-04"] .memory-raxian-04,.weave-memory[data-scene="raxian-05"] .memory-raxian-05,.weave-memory[data-scene="raxian-06"] .memory-raxian-06,.weave-memory[data-scene="raxian-07"] .memory-raxian-07{opacity:.78}.weave-game .weave-lyrics{left:52%;bottom:28px;width:47%;padding:7px 9px}.weave-game .weave-lyrics p{font-size:15px}}
.weave-mechanics{grid-template-columns:repeat(3,1fr)}

/* Layered signal elevation — Song Collection */
.song-record-card,.song-library-note,.weave-setup,.weave-difficulties button,.weave-mechanics>div,.weave-zone-key span{transition:transform .38s cubic-bezier(.16,.84,.24,1),box-shadow .38s ease,border-color .3s ease,background .3s ease,filter .3s ease;transform-style:preserve-3d;will-change:transform}
.song-record-card,.song-library-note,.weave-setup{isolation:isolate}
.song-record-card:after,.song-library-note:after,.weave-setup:after{content:"";position:absolute;z-index:-1;inset:16px 7%;background:linear-gradient(90deg,rgba(42,199,255,.22),rgba(149,66,255,.22));filter:blur(28px);opacity:0;transform:translateY(18px);transition:opacity .35s ease,transform .4s ease;pointer-events:none}
.song-record-card:hover{transform:translateY(-13px) perspective(1100px) rotateX(1.2deg);border-color:rgba(105,226,255,.72);box-shadow:0 30px 65px rgba(1,4,16,.62),0 0 34px rgba(72,197,255,.16),inset 0 1px rgba(255,255,255,.08)}
.song-record-card:hover:after,.song-library-note:hover:after,.weave-setup:hover:after{opacity:1;transform:translateY(27px)}
.song-record-card:hover .song-record-orbit{transform:translateY(-9px) scale(1.045);filter:brightness(1.18)}
.song-record-card:hover .song-record-copy{transform:translateY(-5px)}
.song-record-orbit,.song-record-copy{transition:transform .45s cubic-bezier(.16,.84,.24,1),filter .35s ease}
.song-library-note{position:relative}.song-library-note:hover{transform:translateY(-9px);border-color:rgba(189,103,255,.55);box-shadow:0 24px 55px rgba(2,4,16,.5),0 0 26px rgba(170,77,255,.13)}
.song-library-note:hover strong{transform:translateY(-7px);text-shadow:0 9px 24px rgba(165,113,255,.25)}
.song-library-note strong{transition:transform .38s cubic-bezier(.16,.84,.24,1),text-shadow .35s ease}
.song-record-card>button:hover,#signal-weave-start:hover{transform:translateY(-8px) scale(1.012);box-shadow:0 19px 38px rgba(17,93,210,.32),0 0 28px rgba(199,53,255,.25),inset 0 1px rgba(255,255,255,.25)}
.weave-setup{position:relative}.weave-setup:hover{transform:translateY(-7px);border-color:rgba(107,205,255,.52);box-shadow:0 30px 75px rgba(1,3,15,.5),0 0 35px rgba(102,74,255,.12)}
.weave-difficulties button:hover,.weave-difficulties button:focus-visible{transform:translateY(-12px) scale(1.018);z-index:2;border-color:#76e6ff;box-shadow:0 23px 38px rgba(2,5,18,.55),0 0 27px rgba(67,207,255,.2),inset 0 1px rgba(255,255,255,.1)}
.weave-difficulties button.selected{transform:translateY(-8px);border-color:#67deff;box-shadow:0 16px 34px rgba(28,106,213,.22),0 0 22px rgba(176,71,255,.16)}
.weave-difficulties button.selected:hover{transform:translateY(-15px) scale(1.025);filter:brightness(1.13)}
.weave-mechanics>div:hover{transform:translateY(-9px) scale(1.015);border-color:rgba(105,226,255,.58);background:linear-gradient(145deg,rgba(15,52,90,.72),rgba(38,12,64,.68));box-shadow:0 18px 35px rgba(1,4,16,.52),0 0 22px rgba(66,197,255,.12)}
.weave-mechanics>div:hover kbd,.weave-mechanics>div:hover .mechanic-note{transform:translateY(-4px) scale(1.08);filter:brightness(1.35)}
.weave-mechanics kbd,.weave-mechanics .mechanic-note{transition:transform .3s cubic-bezier(.16,.84,.24,1),filter .3s ease}
.weave-zone-key span:hover{transform:translateY(-6px);border-color:#65e2ff;box-shadow:0 12px 22px rgba(2,5,18,.45),0 0 15px rgba(82,221,255,.16);color:#eaffff}
@media(max-width:800px){.song-record-card:hover,.song-library-note:hover,.weave-setup:hover{transform:translateY(-6px)}.weave-difficulties button:hover,.weave-difficulties button.selected:hover{transform:translateY(-8px) scale(1.01)}}
@media(prefers-reduced-motion:reduce){.song-record-card,.song-library-note,.weave-setup,.weave-difficulties button,.weave-mechanics>div,.weave-zone-key span,.song-record-orbit,.song-record-copy{transition:none!important;transform:none!important}}

/* CMWR-03 — Mira pursuit signal */
.song-record-mira{--mira-orange:#ff862a;background:radial-gradient(circle at 18% 46%,rgba(255,111,20,.2),transparent 34%),linear-gradient(125deg,rgba(44,19,8,.96),rgba(37,8,42,.9));border-color:rgba(255,132,43,.48)}
.song-record-mira .song-record-orbit{border-color:rgba(255,149,64,.72);background:radial-gradient(circle,rgba(255,100,24,.34),transparent 61%);box-shadow:0 0 45px rgba(255,92,18,.16)}
.song-record-mira .song-record-orbit span{color:#ffe0bc;text-shadow:0 0 25px #ff741b}
.song-record-mira .song-record-copy h2{background:linear-gradient(90deg,#ffb258,#ff7428,#ffcf72);background-clip:text}
.song-colors.mira-channel{color:#ffad66}.song-colors.mira-channel i{background:#ff862a;box-shadow:0 0 16px #ff862a;margin-left:0}
.song-record-mira>button{background:linear-gradient(100deg,#d94c12,#b92d8d);border-color:rgba(255,166,84,.62)}
.song-library-note{grid-row:1/4}
.memory-mira-city{background-image:url("assets/catch-me-when-i-run/background.webp");background-position:center}
.memory-mira-evan{background-image:url("assets/catch-me-when-i-run/mira-evan.webp");background-size:contain;background-repeat:no-repeat;background-position:50% 42%;filter:drop-shadow(0 0 18px rgba(255,102,29,.7)) drop-shadow(0 0 52px rgba(255,49,128,.32)) saturate(1.25) brightness(1.08)!important}
.weave-memory-speed{position:absolute;z-index:2;inset:-20%;opacity:0;pointer-events:none;background:repeating-linear-gradient(108deg,transparent 0 34px,rgba(255,129,39,.0) 35px,rgba(255,129,39,.42) 37px,transparent 41px 86px);mix-blend-mode:screen;filter:blur(1px)}
.weave-memory[data-scene="mira"] .memory-mira-city{opacity:.82;animation:miraCityRush 7s ease-in-out infinite alternate}
.weave-memory[data-scene="mira"] .memory-mira-evan{opacity:.96;animation:miraPursuit 2.6s cubic-bezier(.45,.05,.55,.95) infinite alternate}
.weave-memory[data-scene="mira"] .weave-memory-speed{opacity:.38;animation:miraSpeed 1.05s linear infinite}.weave-memory[data-scene="mira"] .speed-b{animation-duration:.72s;animation-direction:reverse;opacity:.19;transform:scaleX(-1)}
.weave-memory[data-scene="mira"]:after{background:linear-gradient(180deg,rgba(13,3,14,.04),rgba(11,3,16,.09) 43%,rgba(7,3,16,.74) 78%,#04030d 100%),radial-gradient(circle at 43% 43%,transparent 0 32%,rgba(15,3,15,.32) 78%)!important;box-shadow:inset 0 0 110px rgba(255,71,16,.2)}
.weave-field[data-singer="mira"] .weave-memory{filter:saturate(calc(1.05 + var(--song-progress,0)*.6)) brightness(calc(.78 + var(--song-pulse,0)*.12))}
.weave-field[data-singer="mira"] .weave-memory:before{content:"";position:absolute;inset:-15%;z-index:3;pointer-events:none;background:repeating-linear-gradient(103deg,transparent 0 5.5%,rgba(255,137,45,.13) 5.7%,transparent 6.1% 12%),radial-gradient(circle at 43% 52%,rgba(255,142,58,.2),transparent 30%);mix-blend-mode:screen;opacity:calc(.18 + var(--song-progress,0)*.58);transform:translateX(calc((var(--song-pulse,0) - .5)*2.5%));transition:opacity .2s linear}
.weave-field[data-singer="mira"] .weave-runner-route{box-shadow:inset 0 -28px 38px rgba(255,86,21,calc(.08 + var(--song-progress,0)*.18))}
@keyframes miraCityRush{from{transform:scale(1.04) translate3d(-.7%,0,0);filter:saturate(1.05) contrast(1.06) brightness(.7)}to{transform:scale(1.12) translate3d(.8%,-.8%,0);filter:saturate(1.35) contrast(1.1) brightness(.86)}}
@keyframes miraPursuit{from{transform:translate3d(-1.2%,1%,0) scale(1.015) rotate(-.25deg)}to{transform:translate3d(1%,-1.2%,0) scale(1.055) rotate(.2deg)}}
@keyframes miraSpeed{from{transform:translate3d(18%,0,0) skewX(-8deg)}to{transform:translate3d(-18%,0,0) skewX(-8deg)}}
.song-collection-screen[data-active-song="mira"]{--song-cyan:#ff8a2b;--song-violet:#ff3d91}.song-collection-screen[data-active-song="mira"] .weave-track-header span,.song-collection-screen[data-active-song="mira"] .weave-setup>p{color:#ff9d4c}.song-collection-screen[data-active-song="mira"] .weave-progress i{background:linear-gradient(90deg,#ff4b18,#ff982f,#ffe16d);box-shadow:0 0 19px #ff681f}.weave-field[data-singer="mira"] .weave-runner-signal{--signal-a:#ff7f26;--signal-b:#ffca57}
@media(max-width:800px){.weave-memory[data-scene="mira"] .memory-mira-city{opacity:.72}.weave-memory[data-scene="mira"] .memory-mira-evan{opacity:.9;background-size:145%;background-position:45% 44%}}
@media(prefers-reduced-motion:reduce){.weave-memory[data-scene="mira"] .memory-mira-city,.weave-memory[data-scene="mira"] .memory-mira-evan,.weave-memory[data-scene="mira"] .weave-memory-speed{animation:none!important}}

/* DSH-04 — Milo anchor signal */
.song-record-milo{--milo-brown:#a47752;background:radial-gradient(circle at 18% 46%,rgba(151,103,66,.2),transparent 34%),linear-gradient(125deg,rgba(29,23,19,.96),rgba(8,27,24,.92));border-color:rgba(174,127,88,.48)}
.song-record-milo .song-record-orbit{border-color:rgba(179,132,91,.68);background:radial-gradient(circle,rgba(105,75,49,.38),transparent 61%);box-shadow:0 0 48px rgba(73,217,147,.12)}
.song-record-milo .song-record-orbit span{color:#e5c4a6;text-shadow:0 0 25px #8e5d3a}
.song-record-milo .song-record-copy h2{background:linear-gradient(90deg,#d4a477,#9b6849,#67d19a);background-clip:text}
.song-colors.milo-channel{color:#c79a74}.song-colors.milo-channel i{background:#a47752;box-shadow:0 0 14px #7bdf9e;margin-left:0}
.song-record-milo>button{background:linear-gradient(100deg,#704627,#287c5a);border-color:rgba(194,151,111,.58)}
.song-library-note{grid-row:1/5}
.memory-milo-01{background-image:url("assets/disconnected-still-here/scenes/01-gifted-kid.webp")}
.memory-milo-02{background-image:url("assets/disconnected-still-here/scenes/02-second-hand-desk.webp")}
.memory-milo-03{background-image:url("assets/disconnected-still-here/scenes/03-play-date.webp")}
.memory-milo-04{background-image:url("assets/disconnected-still-here/scenes/04-work-better-alone.webp")}
.memory-milo-05{background-image:url("assets/disconnected-still-here/scenes/05-twice-a-year.webp")}
.memory-milo-06{background-image:url("assets/disconnected-still-here/scenes/06-just-noticing.webp")}
.weave-memory[data-scene="milo-01"] .memory-milo-01,.weave-memory[data-scene="milo-02"] .memory-milo-02,.weave-memory[data-scene="milo-03"] .memory-milo-03,.weave-memory[data-scene="milo-04"] .memory-milo-04,.weave-memory[data-scene="milo-05"] .memory-milo-05,.weave-memory[data-scene="milo-06"] .memory-milo-06{opacity:.9;transform:scale(1.02);animation:miloMemoryDrift 9s ease-in-out infinite alternate}
.weave-memory[data-scene^="milo-"]:after{background:linear-gradient(180deg,rgba(7,5,4,.04),rgba(7,8,7,.12) 42%,rgba(3,5,8,.74) 78%,#02040b 100%),radial-gradient(circle at 46% 42%,transparent 0 36%,rgba(20,12,8,.34) 84%)!important;box-shadow:inset 0 0 110px rgba(93,59,36,.22)}
.weave-field[data-singer="milo"] .weave-memory{filter:saturate(calc(.9 + var(--pressure-intensity,1)*.13)) brightness(calc(.76 + var(--song-pulse,0)*.08))}
.weave-field[data-singer="milo"] .weave-memory:before{content:"";position:absolute;inset:-10%;z-index:3;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0 8%,rgba(120,224,161,.08) 8.15%,transparent 8.45% 16%),radial-gradient(circle at 17% 78%,rgba(164,119,78,.23),transparent 28%);mix-blend-mode:screen;opacity:calc(.08 + var(--pressure-intensity,1)*.11);transform:translateX(calc((var(--song-pulse,0) - .5)*1.5%))}
.weave-field[data-singer="milo"] .weave-runner-signal{--signal-a:#a47752;--signal-b:#68d69a}
.weave-field[data-singer="milo"] .weave-runner-route{box-shadow:inset 0 -28px 42px rgba(112,71,42,calc(.08 + var(--pressure-intensity,1)*.045))}
.song-collection-screen[data-active-song="milo"]{--song-cyan:#a47752;--song-violet:#4eb47c}.song-collection-screen[data-active-song="milo"] .weave-track-header span,.song-collection-screen[data-active-song="milo"] .weave-setup>p{color:#bd8e68}.song-collection-screen[data-active-song="milo"] .weave-progress i{background:linear-gradient(90deg,#75452c,#bc8b61,#66d497);box-shadow:0 0 18px #8e6342}
@keyframes miloMemoryDrift{from{transform:scale(1.02) translate3d(-.35%,.15%,0);filter:saturate(.82) contrast(1.06) brightness(.72)}to{transform:scale(1.075) translate3d(.4%,-.4%,0);filter:saturate(1.02) contrast(1.09) brightness(.84)}}
@media(max-width:800px){.weave-memory[data-scene="milo-01"] .memory-milo-01,.weave-memory[data-scene="milo-02"] .memory-milo-02,.weave-memory[data-scene="milo-03"] .memory-milo-03,.weave-memory[data-scene="milo-04"] .memory-milo-04,.weave-memory[data-scene="milo-05"] .memory-milo-05,.weave-memory[data-scene="milo-06"] .memory-milo-06{opacity:.8;background-position:center}}
@media(prefers-reduced-motion:reduce){.weave-memory[data-scene^="milo-"] .weave-memory-scene{animation:none!important}}

/* CFS-05 — Agnes reflection signal */
.song-record-agnes{--agnes-rose:#e8aeb5;background:radial-gradient(circle at 22% 44%,rgba(255,209,198,.22),transparent 34%),radial-gradient(circle at 82% 20%,rgba(215,184,255,.13),transparent 28%),linear-gradient(125deg,rgba(42,21,30,.97),rgba(16,12,28,.95));border-color:rgba(242,183,189,.5)}
.song-record-agnes .song-record-orbit{border-color:rgba(246,201,198,.72);background:radial-gradient(circle,rgba(231,159,171,.34),transparent 61%);box-shadow:0 0 54px rgba(248,190,201,.19)}
.song-record-agnes .song-record-orbit span{color:#ffe3db;text-shadow:0 0 27px #e8aeb5}
.song-record-agnes .song-record-copy h2{font-size:clamp(1.35rem,2vw,2.25rem);background:linear-gradient(90deg,#ffe0d2,#e9aeb8,#cdb9ff);background-clip:text}
.song-colors.agnes-channel{color:#f1bdc1}.song-colors.agnes-channel i{background:#f2b7bd;box-shadow:0 0 16px #f4c2c7;margin-left:0}
.song-record-agnes>button{background:linear-gradient(100deg,#a94e6e,#7655a4);border-color:rgba(255,213,207,.65)}
.song-library-note{grid-row:1/6}
.memory-agnes-theater{background-image:url("assets/childhood-friend/theater.webp");background-position:center 43%;background-size:cover}
.memory-agnes-dancer{background-image:url("assets/childhood-friend/agnes.webp");background-size:contain;background-repeat:no-repeat;background-position:50% 55%;filter:drop-shadow(0 0 18px rgba(255,211,202,.58)) drop-shadow(0 0 56px rgba(230,153,177,.25)) saturate(1.08)!important}
.weave-memory-glow{position:absolute;inset:0;z-index:3;opacity:0;pointer-events:none}
.agnes-spotlight{background:conic-gradient(from 174deg at 50% -12%,transparent 0 41%,rgba(255,245,226,.34) 46%,rgba(255,227,213,.08) 50%,transparent 55% 100%);mix-blend-mode:screen;filter:blur(2px)}
.agnes-petals{inset:-20%;background:radial-gradient(ellipse at 12% 20%,rgba(255,219,221,.9) 0 2px,transparent 3px),radial-gradient(ellipse at 73% 10%,rgba(255,237,220,.78) 0 2px,transparent 3px),radial-gradient(ellipse at 35% 67%,rgba(229,184,218,.62) 0 1.5px,transparent 3px),radial-gradient(ellipse at 88% 73%,rgba(255,224,210,.72) 0 2px,transparent 3px);background-size:127px 149px,173px 133px,113px 157px,191px 121px;mix-blend-mode:screen}
.weave-memory[data-scene^="agnes-"] .memory-agnes-theater{opacity:.91;animation:agnesTheaterBreath 9s ease-in-out infinite alternate}
.weave-memory[data-scene^="agnes-"] .memory-agnes-dancer{opacity:.96;animation:agnesDance 7s cubic-bezier(.42,.03,.58,.97) infinite alternate}
.weave-memory[data-scene^="agnes-"] .agnes-spotlight{opacity:.7;animation:agnesSpotlight 5.5s ease-in-out infinite alternate}
.weave-memory[data-scene^="agnes-"] .agnes-petals{opacity:.34;animation:agnesPetals 12s linear infinite}
.weave-memory[data-scene="agnes-memory"] .memory-agnes-dancer{animation-duration:5.2s}.weave-memory[data-scene="agnes-heartbreak"] .memory-agnes-dancer{filter:drop-shadow(0 0 18px rgba(255,211,202,.45)) saturate(.78) brightness(.82)!important;transform:scale(.98)}
.weave-memory[data-scene="agnes-climax"] .memory-agnes-dancer{opacity:1;animation-duration:2.8s}.weave-memory[data-scene="agnes-climax"] .agnes-spotlight{opacity:1}.weave-memory[data-scene="agnes-climax"] .agnes-petals{opacity:.7;animation-duration:6s}
.weave-memory[data-scene="agnes-outro"] .memory-agnes-dancer{opacity:.82;transform:scale(1.06);filter:drop-shadow(0 0 28px rgba(255,226,216,.7)) saturate(.7) brightness(.93)!important}.weave-memory[data-scene="agnes-outro"] .memory-agnes-theater{filter:saturate(.7) brightness(.66) blur(.25px)}
.weave-memory[data-scene^="agnes-"]:after{background:linear-gradient(180deg,rgba(23,8,18,.02),rgba(16,7,19,.08) 42%,rgba(10,5,16,.7) 80%,#05030a 100%),radial-gradient(circle at 50% 37%,transparent 0 34%,rgba(28,7,20,.3) 79%)!important;box-shadow:inset 0 0 120px rgba(238,165,181,.18)}
.weave-field[data-singer="agnes"] .weave-memory{filter:saturate(calc(.92 + var(--pressure-intensity,1)*.13)) brightness(calc(.78 + var(--song-pulse,0)*.11))}
.weave-field[data-singer="agnes"] .weave-memory:before{content:"";position:absolute;inset:-12%;z-index:4;pointer-events:none;background:radial-gradient(circle at 50% 38%,rgba(255,224,210,.2),transparent 30%),repeating-radial-gradient(circle at 50% 40%,transparent 0 9%,rgba(246,190,203,.06) 9.2%,transparent 9.6% 18%);mix-blend-mode:screen;opacity:calc(.12 + var(--pressure-intensity,1)*.14);transform:scale(calc(.98 + var(--song-pulse,0)*.025))}
.weave-field[data-singer="agnes"] .weave-runner-signal{--signal-a:#f2b7bd;--signal-b:#d8c0ff}.weave-field[data-singer="agnes"] .weave-runner-route{box-shadow:inset 0 -28px 42px rgba(216,137,166,calc(.09 + var(--pressure-intensity,1)*.055))}
.song-collection-screen[data-active-song="agnes"]{--song-cyan:#f2b7bd;--song-violet:#b79bdd}.song-collection-screen[data-active-song="agnes"] .weave-track-header span,.song-collection-screen[data-active-song="agnes"] .weave-setup>p{color:#efb6bd}.song-collection-screen[data-active-song="agnes"] .weave-progress i{background:linear-gradient(90deg,#b95e7d,#f0b5bd,#d1bcff);box-shadow:0 0 20px #d891a6}
@keyframes agnesTheaterBreath{from{transform:scale(1.02);filter:saturate(.9) contrast(1.05) brightness(.72)}to{transform:scale(1.075) translateY(-.55%);filter:saturate(1.09) contrast(1.08) brightness(.85)}}
@keyframes agnesDance{from{transform:translate3d(-1.2%,.8%,0) scale(1.005) rotate(-.35deg)}to{transform:translate3d(1.1%,-1.1%,0) scale(1.055) rotate(.35deg)}}
@keyframes agnesSpotlight{from{transform:translateX(-1.2%) scaleX(.94);filter:blur(3px)}to{transform:translateX(1.2%) scaleX(1.06);filter:blur(1px)}}
@keyframes agnesPetals{from{transform:translate3d(0,-8%,0) rotate(0)}to{transform:translate3d(-4%,12%,0) rotate(5deg)}}
@media(max-width:800px){.weave-memory[data-scene^="agnes-"] .memory-agnes-theater{opacity:.76;background-position:center}.weave-memory[data-scene^="agnes-"] .memory-agnes-dancer{background-size:135%;background-position:50% 54%}}
@media(prefers-reduced-motion:reduce){.weave-memory[data-scene^="agnes-"] .memory-agnes-theater,.weave-memory[data-scene^="agnes-"] .memory-agnes-dancer,.weave-memory[data-scene^="agnes-"] .weave-memory-glow{animation:none!important}}

/* SB-RX.CH — unlockable chorus memory film */
.song-record-raxian .static-cinematic-open{background:linear-gradient(100deg,rgba(15,24,35,.98),rgba(92,58,12,.96));border-color:rgba(255,218,126,.42);min-height:54px}.song-record-raxian .static-cinematic-open small{color:#e4c77c}.song-record-raxian .static-cinematic-open b{color:#ffdf82;text-shadow:0 0 18px #efb943}
.static-cinematic{position:fixed;z-index:12000;inset:0;display:grid;place-items:center;background:#010205;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .65s ease,visibility .65s}.static-cinematic.active{opacity:1;visibility:visible;pointer-events:auto}.static-film{--film-gold:#efbf52;position:relative;width:100vw;height:100dvh;overflow:hidden;isolation:isolate;background:#02050a;color:#fff;font-family:var(--mono,ui-monospace,monospace)}
.static-cinematic-active .music-control{display:none!important}
.static-film-bg,.static-film-character{position:absolute;inset:-3%;width:106%;height:106%;object-fit:cover;opacity:0;will-change:transform,opacity,filter}.static-film-bg{z-index:-7;filter:saturate(.72) brightness(.55) contrast(1.15);transform:scale(1.07)}.static-film-bg-both{background:url("assets/static-between-us-cinematic/bg-both.webp") center/cover}.static-film-bg-sable{background:url("assets/static-between-us-cinematic/bg-sable.webp") center/cover}.static-film-bg-raxian{background:url("assets/static-between-us-cinematic/bg-raxian.webp") center/cover}
.static-film-character{z-index:-3;object-fit:contain;filter:drop-shadow(0 25px 35px rgba(0,0,0,.72)) saturate(.84) brightness(.72);transform:scale(1.035) translate3d(0,2%,0)}.static-film-rain{position:absolute;z-index:2;inset:-30%;pointer-events:none;opacity:.52;background:repeating-linear-gradient(102deg,transparent 0 27px,rgba(190,223,255,.34) 28px,transparent 29px 53px);background-size:160px 220px;filter:blur(.25px);animation:staticRain .68s linear infinite}.static-film-bloom{position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 43%,rgba(255,205,101,.13),transparent 17%),radial-gradient(circle at 50% 50%,transparent 24%,rgba(1,3,8,.78) 78%),linear-gradient(180deg,rgba(2,5,12,.1),rgba(1,3,8,.56));mix-blend-mode:screen}.static-film-grain{position:absolute;z-index:5;inset:-50%;pointer-events:none;opacity:.11;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.83' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E");animation:staticGrain .19s steps(2) infinite}.static-film-bars{position:absolute;z-index:6;inset:0;pointer-events:none;border-block:clamp(12px,3.6vh,38px) solid #010204;box-shadow:inset 0 0 130px 35px rgba(0,0,0,.7)}
.static-film-header{position:absolute;z-index:8;left:clamp(24px,4vw,70px);right:clamp(24px,4vw,70px);top:clamp(25px,6vh,66px);display:flex;justify-content:space-between;padding-bottom:11px;border-bottom:1px solid rgba(255,214,113,.24);font:700 clamp(7px,.72vw,11px)/1 var(--mono,monospace);letter-spacing:.19em;color:rgba(246,220,159,.68)}.static-film-title{position:absolute;z-index:7;left:clamp(28px,7vw,120px);top:50%;transform:translateY(-48%);opacity:0}.static-film-title small,.static-film-title p{font:700 clamp(8px,.7vw,11px)/1.3 var(--mono,monospace);letter-spacing:.25em;color:#e7be5b}.static-film-title h2{margin:12px 0 17px;font:clamp(56px,10vw,160px)/.78 Georgia,serif;letter-spacing:-.075em;background:linear-gradient(160deg,#fff 5%,#f6d77d 47%,#9c6813 100%);color:transparent;background-clip:text;text-shadow:0 20px 65px rgba(224,165,48,.14)}
.static-film-lyric{position:absolute;z-index:8;left:clamp(25px,7vw,115px);bottom:clamp(70px,12vh,140px);width:min(760px,82vw);padding-left:20px;border-left:2px solid var(--film-gold);opacity:0;transform:translateY(14px);transition:opacity .32s ease,transform .45s cubic-bezier(.2,.8,.2,1)}.static-film-lyric.visible{opacity:1;transform:none}.static-film-lyric small{font:750 9px/1 var(--mono,monospace);letter-spacing:.24em;color:#d9a93e}.static-film-lyric p{margin:7px 0 0;font:italic clamp(25px,4vw,60px)/1.03 Georgia,serif;letter-spacing:-.025em;text-shadow:0 4px 35px #000,0 0 22px rgba(235,187,72,.12)}.static-film-lyric em{color:#f4cc6a;font-style:inherit;text-shadow:0 0 22px rgba(240,191,73,.5)}
.static-film-realization{position:absolute;z-index:8;right:clamp(26px,6vw,100px);top:22%;display:grid;justify-items:end;gap:8px;opacity:0;font:700 9px/1 var(--mono,monospace);letter-spacing:.18em;color:rgba(255,227,163,.66)}.static-film-realization i{width:220px;height:1px;background:linear-gradient(90deg,transparent,#efbf52)}.static-film-realization strong{color:#ffdc82}.static-film-endcard{position:absolute;z-index:9;inset:0;display:grid;place-content:center;text-align:center;background:radial-gradient(circle,rgba(45,29,8,.38),#020305 55%);opacity:0;pointer-events:none}.static-film-endcard span,.static-film-endcard small{font:700 clamp(8px,.8vw,12px)/1 var(--mono,monospace);letter-spacing:.27em;color:#c59d43}.static-film-endcard strong{margin:18px 0 28px;font:clamp(36px,6vw,90px)/.9 Georgia,serif;color:#f6e6b9;text-shadow:0 0 45px rgba(231,174,56,.32)}
.static-cinematic-close,.static-cinematic-replay{position:absolute;z-index:12;right:clamp(24px,4vw,70px);border:1px solid rgba(255,218,126,.35);background:rgba(3,5,10,.62);backdrop-filter:blur(9px);color:#ebd9a9;padding:11px 15px;font:700 9px/1 var(--mono,monospace);letter-spacing:.16em;text-transform:uppercase}.static-cinematic-close{bottom:clamp(27px,6vh,65px)}.static-cinematic-replay{left:50%;right:auto;bottom:18%;transform:translateX(-50%)}.static-film-progress{position:absolute;z-index:11;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.08)}.static-film-progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,#745009,#f4c85d,#fff0b4);box-shadow:0 0 16px #efbf52}
.static-film[data-shot="intro"] .static-film-bg-both{opacity:1;animation:staticSkyPush 8s ease-out both}.static-film[data-shot="intro"] .static-film-title{animation:staticTitleIn 2.1s cubic-bezier(.16,.84,.24,1) both}.static-film[data-shot="sky"] .static-film-bg-both{opacity:1;animation:staticSkyPush 8s ease-out both}.static-film[data-shot="pair"] .static-film-bg-both,.static-film[data-shot="pair-close"] .static-film-bg-both{opacity:1;transform:scale(1.1)}.static-film[data-shot="pair"] .static-pair-wide{opacity:1;animation:staticPairIn 4s ease-out both}.static-film[data-shot="pair-close"] .static-pair-close{opacity:1;animation:staticCloseDrift 5s ease-out both}
.static-film[data-shot="sable-profile"] .static-film-bg-sable,.static-film[data-shot="sable-turn"] .static-film-bg-sable{opacity:1;animation:staticBackgroundDrift 7s ease-out both}.static-film[data-shot="sable-profile"] .static-sable-profile{opacity:1;animation:staticSableReveal 4s cubic-bezier(.2,.75,.2,1) both}.static-film[data-shot="sable-turn"] .static-sable-turn{opacity:1;animation:staticSableTurn 5s cubic-bezier(.2,.75,.2,1) both}
.static-film[data-shot="realize"] .static-film-bg-raxian{opacity:1;animation:staticBackgroundDrift 6s ease-out both}.static-film[data-shot="realize"] .static-raxian-realizes{opacity:1;animation:staticRealize .65s cubic-bezier(.1,.9,.15,1) both}.static-film[data-shot="realize"] .static-film-realization{animation:staticDiagnostic 1.2s .35s ease-out both}.static-film[data-shot="away"] .static-film-bg-raxian{opacity:1;filter:saturate(.55) brightness(.42);transform:scale(1.06)}.static-film[data-shot="away"] .static-raxian-away{opacity:1;animation:staticAway 4.8s ease-out both}.static-film[data-shot="outro"] .static-film-endcard{animation:staticEnd 1.25s ease both}
@keyframes staticRain{to{transform:translate3d(-36px,220px,0)}}@keyframes staticGrain{0%{transform:translate(1%,1%)}25%{transform:translate(-2%,1%)}50%{transform:translate(2%,-1%)}75%{transform:translate(-1%,-2%)}100%{transform:translate(1%,1%)}}@keyframes staticSkyPush{from{transform:scale(1.14);filter:saturate(.5) brightness(.34) blur(2px)}to{transform:scale(1.04);filter:saturate(.78) brightness(.61) blur(0)}}@keyframes staticTitleIn{0%{opacity:0;transform:translate(-5%,-42%);filter:blur(12px)}30%,78%{opacity:1;transform:translate(0,-48%);filter:blur(0)}100%{opacity:0;transform:translate(3%,-53%);filter:blur(4px)}}@keyframes staticPairIn{from{opacity:0;transform:scale(1.11) translate3d(0,5%,0);filter:blur(6px) brightness(.5)}to{opacity:1;transform:scale(1.03) translate3d(0,1%,0);filter:drop-shadow(0 25px 35px rgba(0,0,0,.72)) saturate(.88) brightness(.76)}}@keyframes staticCloseDrift{from{transform:scale(1.09) translateX(2%)}to{transform:scale(1.015) translateX(-1%)}}@keyframes staticBackgroundDrift{from{transform:scale(1.13) translateX(-1%)}to{transform:scale(1.05) translateX(1%)}}@keyframes staticSableReveal{from{opacity:0;transform:scale(1.12) translate3d(7%,2%,0);filter:blur(7px) brightness(.52)}to{opacity:1;transform:scale(1.025) translate3d(2%,0,0);filter:drop-shadow(0 25px 35px rgba(0,0,0,.72)) saturate(.9) brightness(.8)}}@keyframes staticSableTurn{from{opacity:.1;transform:scale(1.09) translateX(4%);filter:blur(3px) brightness(.58)}to{opacity:1;transform:scale(1.015) translateX(0);filter:drop-shadow(0 25px 35px rgba(0,0,0,.72)) saturate(.92) brightness(.82)}}@keyframes staticRealize{0%{opacity:0;transform:scale(1.13);filter:blur(8px) brightness(1.8)}45%{opacity:1;filter:blur(0) brightness(1.1)}100%{transform:scale(1.02);filter:drop-shadow(0 25px 35px rgba(0,0,0,.72)) saturate(.9) brightness(.82)}}@keyframes staticDiagnostic{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}@keyframes staticAway{from{transform:scale(1.015) translateX(-1%);filter:saturate(.75) brightness(.72)}to{transform:scale(1.07) translateX(1.5%);filter:saturate(.48) brightness(.57)}}@keyframes staticEnd{from{opacity:0;filter:blur(12px)}to{opacity:1;filter:blur(0)}}
@media(max-width:760px){.static-film-bars{border-block-width:8px}.static-film-header{top:22px}.static-film-title{left:24px}.static-film-title h2{font-size:17vw}.static-film-character{inset:-1% -18%;width:136%;height:102%}.static-pair-wide,.static-pair-close{object-position:center bottom}.static-sable-profile,.static-sable-turn{object-position:42% center}.static-raxian-realizes,.static-raxian-away{object-position:58% center}.static-film-lyric{left:22px;bottom:90px;width:calc(100% - 44px)}.static-film-realization{top:17%;right:20px}.static-film-realization i{width:120px}.static-cinematic-close{right:18px;bottom:26px}.static-film-endcard{padding:24px}}
@media(prefers-reduced-motion:reduce){.static-film *{animation-duration:.01ms!important;animation-iteration-count:1!important}.static-film-rain{opacity:.22}}
