/* Xybernaut system pages */
:root{--cyan:#4ad4e8;--cyan-bright:#9af0ff;--magenta:#e84ad4;--void:#06080f;--panel:#0d1320;--bone:#b8d4e8;--dim:#5a7a90;--line:#16202f}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--void);color:var(--bone);font-family:'Share Tech Mono',monospace;overflow-x:hidden}
a{color:inherit}
button{font:inherit}
.nav{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:14px 32px;background:rgba(6,8,15,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}
.nav-label{font-family:'Orbitron',sans-serif;font-weight:700;font-size:.9rem;letter-spacing:.2em;color:var(--cyan)}
.nav-actions{display:flex;align-items:center;gap:1.4rem}
.nav-back{font-size:.75rem;letter-spacing:.15em;color:var(--magenta);text-decoration:none}
.nav-back:hover,.nav-back:focus-visible{color:var(--cyan-bright)}
.nav-back:focus-visible,.module-card:focus-visible,.track-program a:focus-visible,.album-cover-link:focus-visible,.crt-btn:focus-visible,.crt-dot:focus-visible{outline:2px solid var(--cyan-bright);outline-offset:4px}
.boot-screen{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(circle at 50% 42%,rgba(74,212,232,.08),transparent 32%),linear-gradient(180deg,#03050a,#06080f);transition:opacity .45s ease,visibility .45s ease}
.boot-screen.exiting{opacity:0;visibility:hidden;pointer-events:none}
.boot-screen[hidden]{display:none}
.boot-screen:before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.22;background:repeating-linear-gradient(to bottom,transparent 0,transparent 3px,rgba(74,212,232,.12) 4px)}
.boot-console{position:relative;z-index:1;width:min(820px,100%);padding:clamp(1.4rem,4vw,3rem);border:1px solid rgba(74,212,232,.35);background:rgba(4,9,18,.86);box-shadow:0 0 80px rgba(74,212,232,.1),0 30px 100px rgba(0,0,0,.55)}
.boot-kicker,.section-label{color:var(--magenta);font-family:'Orbitron',sans-serif;font-size:.72rem;letter-spacing:.35em;text-transform:uppercase}
.boot-title{margin:.75rem 0 2rem;color:#fff;font-family:'Orbitron',sans-serif;font-size:clamp(1.8rem,6vw,4rem);font-weight:900;letter-spacing:.12em;text-shadow:0 0 20px rgba(74,212,232,.55)}
.boot-log{min-height:8.5rem;color:var(--cyan);font-size:clamp(.88rem,2vw,1.05rem);line-height:1.85;white-space:pre-wrap}
.boot-log-line:before{content:'> ';color:var(--magenta)}
.boot-status{display:flex;align-items:center;gap:.8rem;margin:1.5rem 0;color:var(--dim);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase}
.boot-status i{width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 12px var(--cyan)}
.boot-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .35s ease,transform .35s ease}
.boot-menu.ready{opacity:1;transform:none;pointer-events:auto}
.module-card,.boot-module{display:block;border:1px solid rgba(74,212,232,.32);background:rgba(74,212,232,.045);color:var(--cyan-bright);padding:.85rem 1rem;text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s,color .2s,transform .2s,box-shadow .2s}
.module-card:hover,.module-card:focus-visible,.boot-module:hover,.boot-module:focus-visible{border-color:var(--cyan-bright);background:rgba(74,212,232,.15);color:#fff;box-shadow:0 0 18px rgba(74,212,232,.18);transform:translateY(-2px);outline:none}
.boot-module span,.module-card small{display:block;margin-top:.3rem;color:var(--dim);font-size:.68rem;letter-spacing:.08em}
.boot-controls{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem}
.boot-enter,.reboot-button{appearance:none;border:1px solid rgba(232,74,212,.42);background:rgba(232,74,212,.05);color:var(--magenta);padding:.7rem .9rem;font:inherit;font-size:.72rem;letter-spacing:.1em;cursor:pointer;opacity:0;pointer-events:none}
.boot-enter.ready{opacity:1;pointer-events:auto}
.boot-enter:hover,.boot-enter:focus-visible,.reboot-button:hover,.reboot-button:focus-visible{color:#fff;background:rgba(232,74,212,.14);outline:none}
.boot-help{color:var(--dim);font-size:.72rem;letter-spacing:.1em}
.system-locked{overflow:hidden}
.landing{position:relative;min-height:calc(100vh - 58px);display:grid;place-items:center;overflow:hidden}
.landing-bg,.page-bg{position:absolute;inset:0;background-size:cover;background-position:center top;filter:brightness(.48) saturate(1.12)}
.landing-bg{background-image:url('assets/xy_rin_street_neon.jpg')}
.landing-overlay,.page-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(6,8,15,.15),rgba(6,8,15,.1) 42%,rgba(6,8,15,.96) 100%)}
.landing-content{position:relative;z-index:1;width:min(1060px,100%);padding:5rem 2rem 4rem;text-align:center}
.eyebrow{font-family:'Orbitron',sans-serif;font-size:.85rem;letter-spacing:.4em;color:var(--magenta);text-transform:uppercase;text-shadow:0 0 12px rgba(232,74,212,.6)}
.landing h1{margin:.75rem 0 0;color:#fff;font-family:'Orbitron',sans-serif;font-size:clamp(2.7rem,9vw,7rem);font-weight:900;letter-spacing:.12em;text-shadow:0 0 30px rgba(74,212,232,.45)}
.tagline{margin:1rem 0 2.2rem;color:var(--cyan);font-size:1rem;letter-spacing:.1em;text-shadow:0 0 8px rgba(74,212,232,.5)}
.system-panel{width:min(900px,100%);margin:auto;padding:1.4rem;border:1px solid rgba(74,212,232,.3);background:rgba(4,9,18,.72);box-shadow:0 0 40px rgba(0,0,0,.5);backdrop-filter:blur(8px);text-align:left}
.system-panel-head{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.9rem;border-bottom:1px solid rgba(74,212,232,.18);color:var(--dim);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}
.system-panel-head strong{color:var(--cyan);font-weight:400}
.module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin-top:1rem}
.module-card{min-height:5.5rem;font-size:.78rem;letter-spacing:.1em}
.module-card.album-card{padding:.5rem;overflow:hidden}
.album-card img{display:block;width:100%;aspect-ratio:1;object-fit:cover;margin-bottom:.55rem;filter:saturate(1.1)}
.reboot-button{display:inline-flex;margin-top:1rem;padding:.55rem .75rem;color:var(--dim);border-color:rgba(90,122,144,.35);font-size:.68rem;text-transform:uppercase;opacity:1;pointer-events:auto}
.page{position:relative;min-height:calc(100vh - 58px);overflow:hidden}
.page-bg{background-image:url('assets/xy_rin_window_city.jpg');filter:brightness(.28) saturate(1.2)}
.page-overlay{background:linear-gradient(90deg,rgba(6,8,15,.96),rgba(6,8,15,.82) 48%,rgba(6,8,15,.45)),linear-gradient(0deg,rgba(6,8,15,.95),transparent 45%)}
.page-inner{position:relative;z-index:1;width:min(1120px,100%);margin:auto;padding:clamp(4rem,9vw,8rem) 2rem}
.page-header{max-width:760px;margin-bottom:3rem}
.page-header h1{margin:.7rem 0 1rem;color:#fff;font-family:'Orbitron',sans-serif;font-size:clamp(2.2rem,5vw,4.8rem);font-weight:900;letter-spacing:.04em;text-shadow:0 0 16px rgba(74,212,232,.3)}
.cyan-line{width:40px;height:2px;background:var(--cyan);box-shadow:0 0 8px var(--cyan);margin:1.5rem 0}
.page-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:3rem;align-items:start}
.panel{padding:1.6rem;border:1px solid rgba(74,212,232,.22);background:rgba(13,19,32,.82);box-shadow:0 20px 60px rgba(0,0,0,.35)}
.quote{border-left:2px solid var(--magenta);padding-left:1.4rem;margin:2.2rem 0;color:var(--cyan-bright);font-family:'Orbitron',sans-serif;font-size:1.35rem;line-height:1.5;text-shadow:0 0 10px rgba(74,212,232,.3)}
.copy{color:var(--dim);font-size:1rem;line-height:1.95}
.copy p+p{margin-top:1.15rem}
.copy strong{color:var(--bone);font-weight:400}
.return-link{display:inline-flex;margin-top:2rem;color:var(--magenta);font-size:.75rem;letter-spacing:.12em;text-decoration:none}
.return-link:hover{color:var(--cyan-bright)}
.crt-monitor{position:relative;margin-top:2rem;padding:2.5rem 2.5rem 3.5rem;background:linear-gradient(135deg,#2a2e38,#1a1d24);border-radius:18px;box-shadow:0 30px 70px rgba(0,0,0,.7),0 1px 0 rgba(255,255,255,.06) inset}
.crt-screen{position:relative;aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:#000;box-shadow:0 0 40px rgba(74,212,232,.15) inset;cursor:zoom-in}
.crt-screen img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(1.1) contrast(1.05) brightness(.95);transition:opacity .15s steps(3)}
.crt-screen img.tuning{opacity:.2;filter:brightness(2) contrast(2) saturate(0)}
.crt-scanlines{position:absolute;inset:0;background:repeating-linear-gradient(to bottom,transparent 0,transparent 2px,rgba(0,0,0,.18) 3px,rgba(0,0,0,.18) 4px);pointer-events:none}
.crt-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,.55));pointer-events:none}
.crt-static{position:absolute;inset:0;opacity:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:screen;transition:opacity .1s;pointer-events:none}
.crt-static.active{opacity:.5}
.crt-readout{position:absolute;bottom:12px;left:16px;z-index:2;color:var(--cyan-bright);font-size:.75rem;letter-spacing:.08em;text-shadow:0 0 6px var(--cyan)}
.crt-readout:before{content:'> '}
.crt-controls{display:flex;justify-content:center;align-items:center;gap:1.5rem;margin-top:1.5rem}
.crt-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid rgba(74,212,232,.3);border-radius:50%;background:rgba(74,212,232,.05);color:var(--cyan);font-size:1.2rem;cursor:pointer}
.crt-btn:hover{background:rgba(74,212,232,.18);border-color:var(--cyan);box-shadow:0 0 12px rgba(74,212,232,.4)}
.crt-dots{display:flex;gap:.5rem}
.crt-dot{width:8px;height:8px;border:0;border-radius:50%;background:rgba(74,212,232,.25);cursor:pointer}
.crt-dot.active{background:var(--cyan);box-shadow:0 0 6px var(--cyan)}
.crt-caption{text-align:center;margin-top:1.2rem;color:var(--dim);font-size:.85rem;letter-spacing:.05em}
.album-layout{display:grid;grid-template-columns:minmax(250px,360px) 1fr;gap:3.5rem;align-items:start}
.album-cover-link{display:block;text-decoration:none}
.album-cover-link img{display:block;width:100%;border:1px solid var(--line);box-shadow:0 20px 60px rgba(0,0,0,.5);transition:filter .25s,box-shadow .25s,border-color .25s}
.album-cover-link:hover img,.album-cover-link:focus-visible img{filter:brightness(1.1);border-color:var(--cyan);box-shadow:0 0 30px rgba(74,212,232,.28)}
.album-cover-label{margin-top:.75rem;color:var(--cyan);font-size:.7rem;letter-spacing:.13em;text-align:center}
.track-program{margin-top:2rem;border-top:1px solid var(--line)}
.track-program a{display:grid;grid-template-columns:2.5rem 1fr auto;gap:.8rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--line);color:var(--bone);text-decoration:none}
.track-program a:hover{background:linear-gradient(90deg,rgba(74,212,232,.1),transparent);color:var(--cyan-bright)}
.track-program .num{color:var(--magenta);font-family:'Orbitron',sans-serif;font-weight:700}
.track-program .launch{color:var(--dim);font-size:.68rem;letter-spacing:.12em}
.song-page{position:relative;min-height:calc(100vh - 58px);overflow:hidden}
.song-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.24) saturate(1.25);transition:background-image .3s}
.song-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,8,15,.94),rgba(6,8,15,.7) 52%,rgba(6,8,15,.5)),linear-gradient(0deg,rgba(6,8,15,.98),transparent 55%)}
.song-inner{position:relative;z-index:1;width:min(1250px,100%);margin:auto;padding:clamp(3rem,7vw,6rem) 2rem}
.song-grid{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(360px,1.2fr);gap:2rem;align-items:start}
.song-info h1{margin:.7rem 0 1rem;color:#fff;font-family:'Orbitron',sans-serif;font-size:clamp(2.2rem,5vw,5rem);line-height:1.05;text-shadow:0 0 18px rgba(74,212,232,.35)}
.song-status{color:var(--cyan);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}
.song-note{color:var(--dim);font-size:.8rem;line-height:1.7}
.song-nav{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:2rem}
.song-nav a{padding:.6rem .75rem;border:1px solid rgba(74,212,232,.28);color:var(--cyan-bright);font-size:.7rem;letter-spacing:.08em;text-decoration:none}
.song-nav a:hover{border-color:var(--cyan);background:rgba(74,212,232,.1)}
.lyric-hud{border:1px solid rgba(74,212,232,.3);background:rgba(4,9,18,.86);box-shadow:0 22px 70px rgba(0,0,0,.45);overflow:hidden}
.lyric-head{padding:1rem 1.2rem;border-bottom:1px solid rgba(74,212,232,.2);background:linear-gradient(90deg,rgba(74,212,232,.1),transparent)}
.lyric-label{color:var(--magenta);font-family:'Orbitron',sans-serif;font-size:.68rem;letter-spacing:.23em;text-transform:uppercase}
.lyric-sub{margin-top:.45rem;color:var(--dim);font-size:.72rem;letter-spacing:.05em}
.lyric-body{position:relative;max-height:68vh;overflow-y:auto;scrollbar-color:var(--cyan) rgba(74,212,232,.08)}
.lyric-body .track-lyrics{display:block;position:relative;min-height:30rem;margin:0;overflow:hidden}
.lyric-body .track-lyrics-bg{position:absolute;inset:0;background-size:cover;background-position:center 30%;filter:brightness(.14) saturate(1.2)}
.lyric-body .track-lyrics-inner{position:relative;z-index:1;padding:1.6rem 1.4rem 2.2rem}
.lyric-body .lyrics-text{max-width:none;color:var(--bone);font-size:.9rem;line-height:1.95;white-space:pre-wrap}
.lyric-body .lyr-marker{display:block;margin:1.7rem 0 .45rem;color:var(--magenta);font-family:'Orbitron',sans-serif;font-size:.66rem;letter-spacing:.28em;text-transform:uppercase}
.lyric-body .lyr-marker:first-child{margin-top:0}
@media(max-width:1000px){.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-grid,.album-layout,.song-grid{grid-template-columns:1fr}.song-info{max-width:760px}.lyric-body{max-height:55vh}}
@media(max-width:700px){.nav{padding:12px 16px}.nav-actions{gap:.7rem}.nav-back{font-size:.68rem}.boot-menu{grid-template-columns:1fr}.boot-controls{align-items:flex-start;flex-direction:column}.landing-content{padding:4rem 1rem 2rem}.system-panel{padding:1rem}.system-panel-head{flex-direction:column;gap:.35rem}.module-grid{grid-template-columns:1fr 1fr}.module-card{min-height:4.7rem}.page-inner,.song-inner{padding:3rem 1rem}.crt-monitor{padding:1.25rem 1.25rem 2rem}.track-program a{grid-template-columns:2rem 1fr}.track-program .launch{display:none}.lyric-body{max-height:58vh}}
@media(max-width:430px){.module-grid{grid-template-columns:1fr}.landing h1{font-size:2.7rem}.eyebrow{font-size:.7rem;letter-spacing:.3em}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Coherent Xybernaut navigation and combined dossier. */
.nav{flex-wrap:wrap}.nav-actions{flex-wrap:wrap}.nav-back{display:inline-flex;align-items:center;min-height:36px}.nav-back[aria-current="page"]{color:var(--cyan-bright);text-decoration:underline;text-underline-offset:5px}
a:focus-visible,button:focus-visible{outline:2px solid var(--cyan-bright);outline-offset:4px}
.origin-section{margin-top:5rem;scroll-margin-top:8rem}.origin-section h2{font-family:'Orbitron',sans-serif;color:white;font-size:clamp(2rem,5vw,4rem);margin:.7rem 0 1rem}.origin-image{display:block;width:min(760px,100%);height:auto;margin:2rem auto 0;border:1px solid var(--line)}
.album-portal{width:min(360px,100%)}
.crt-screen{cursor:default}.crt-dot{width:28px;height:28px;border:9px solid #1a1d24}
@media(max-width:700px){.nav{gap:.3rem}.nav-actions{gap:.25rem .8rem}.page-header h1{overflow-wrap:anywhere}.origin-section{margin-top:3rem}}
