:root{color-scheme:dark;--bg:#030812;--text:#eff4ff;--muted:#95a8c5;--line:#7293c432;--blue:#5688ff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 Arial,Helvetica,sans-serif;overflow:hidden}button,input,select{font:inherit}button{color:inherit;border:0;background:transparent;cursor:pointer;touch-action:manipulation}a{color:inherit;text-decoration:none}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #94baff;outline-offset:4px}select{color:var(--text);background:#0a1526;border:1px solid var(--line);padding:9px 13px;font-size:14px;border-radius:3px;max-width:210px}.universe,.universe canvas,.vignette{position:fixed;inset:0;width:100%;height:100%}#space{z-index:0}#graph{z-index:1;touch-action:none;cursor:grab}.vignette{z-index:2;pointer-events:none;background:linear-gradient(180deg,#0207108c,transparent 20%,transparent 70%,#020610e8),linear-gradient(90deg,#03081255,transparent 40%)}header{position:fixed;z-index:8;left:40px;right:40px;top:25px;display:flex;align-items:center;justify-content:space-between;gap:25px}.logo{display:flex;gap:10px;align-items:center;font-size:25px;font-weight:900;font-style:italic;letter-spacing:-1px}.logo svg{width:45px;height:40px;fill:none;stroke:#84acff;stroke-width:3.5}.logo small{display:block;font:9px monospace;letter-spacing:2.4px;color:#9aadc9;margin-top:-4px}nav{display:flex;border:1px solid var(--line);background:#06101b88;backdrop-filter:blur(14px);border-radius:4px;padding:5px;gap:4px}nav button{padding:9px 17px;font:12px monospace;color:#8fa3c3;border-radius:2px}nav button span{font:14px Arial;margin-left:8px}nav button.active{background:#244c96;color:white}.header-actions{display:flex;align-items:center;gap:10px}.outline-btn,.blue-btn{padding:10px 15px;border:1px solid #799ee35c;border-radius:3px;font-size:14px}.outline-btn{background:#071122b8}.blue-btn{background:#3f75ee;border-color:#6494ff;color:white}.circle-btn{border:1px solid var(--line);width:37px;height:37px;display:inline-grid;place-items:center;border-radius:50%;font-size:17px}.scene-title{position:fixed;z-index:3;top:135px;left:44px;pointer-events:none;max-width:360px;transition:opacity .35s,transform .6s}.eyebrow{color:#a6bce0;font:12px/1.4 monospace;letter-spacing:2px;display:block;margin:0 0 18px}h1{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:clamp(50px,6.3vw,100px);font-weight:900;font-style:italic;line-height:.92;letter-spacing:-3px;margin:0 0 25px;transform:skew(-4deg)}h1 span{color:#9abfff}#scene-description{font-size:14px;line-height:1.7;color:#9fb3d0;max-width:300px}.scope-stat{display:flex;align-items:center;gap:12px;margin-top:28px}.scope-stat strong{font:27px monospace;letter-spacing:-1.6px}.scope-stat span{font-size:12px;color:#8fa4c5;max-width:100px;line-height:1.3}.coverage-pill{pointer-events:auto;font:12px monospace;color:#a6c4ff;margin-top:16px;padding:7px 10px;border:1px solid #5178b44a;border-radius:3px;background:#06142699;text-align:left}.search-zone{position:fixed;z-index:6;right:40px;top:113px;width:310px}.search-box{display:flex;align-items:center;gap:10px;background:#071222b0;backdrop-filter:blur(18px);border:1px solid var(--line);padding:10px 13px;border-radius:3px}.search-box>span{font-size:24px;color:#91b9fa;line-height:1}.search-box input{min-width:0;flex:1;color:var(--text);background:none;border:0;outline:none;font-size:14px}.search-box input::placeholder{color:#9bacbf}.search-box kbd{font:12px monospace;color:#a4b4cd;border:1px solid #ffffff24;border-radius:3px;padding:0 5px}#search-results{background:#0a1528f8;border:1px solid var(--line);max-height:380px;overflow:auto;margin-top:7px;border-radius:3px;padding:7px}.search-result{display:block;text-align:left;padding:10px;width:100%;font-size:14px;border-bottom:1px solid #8aaee817}.search-result:hover{background:#193258}.search-result small{display:block;color:#9db0cd;font-size:12px}.inspector{position:fixed;z-index:5;right:40px;top:173px;bottom:150px;width:310px;overflow:auto;background:linear-gradient(125deg,#0d1f37eb,#06101ceb);backdrop-filter:blur(25px);border:1px solid var(--line);padding:22px;border-radius:4px;box-shadow:0 20px 80px #0005;scrollbar-width:thin}.inspector h2{font-size:27px;line-height:1.1;letter-spacing:-1px;margin:10px 0}.inspector .artist{font-size:14px;color:#a0b8d8;margin-bottom:14px}.close-inspector{position:absolute;right:9px;top:7px;font-size:23px;color:#a2b4d0}.inspector .eyebrow{font-size:11px;letter-spacing:1px;margin-bottom:12px}.tag{display:inline-block;font-size:12px;color:#adc7f0;background:#19355b88;border:1px solid #628ccc35;padding:3px 7px;margin:3px 3px 3px 0;border-radius:2px}.tag.warning{color:#ffdca5;background:#66502a33;border-color:#b792483d}.song-stats{display:flex;gap:25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin:17px 0}.song-stats strong{font:22px monospace;display:block}.song-stats small{font-size:12px;color:#91a5c1}.metric-row{display:flex;gap:8px;align-items:center;margin:9px 0;font-size:12px}.metric-row>span:first-child{width:95px;color:#a9bad4}.metric-track{flex:1;height:4px;background:#1a2940}.metric-track i{display:block;height:100%;background:#7babff}.metric-row b{font:12px monospace;width:32px;text-align:right}.small-label{font:11px monospace;letter-spacing:1.2px;color:#869bb9;margin:23px 0 8px}.connection{padding:9px 0;border-top:1px solid #6687b02b;text-align:left;width:100%;display:flex;justify-content:space-between;gap:10px;font-size:13px}.connection small{font-size:11px;color:#93a8c6;display:block}.connection b{font:12px monospace;color:#9cbfff}.inspector-note{font-size:12px;color:#91a4be;line-height:1.6}.mini-years{display:flex;align-items:end;gap:4px;height:30px;margin-top:8px}.mini-years i{background:#719ffe;flex:1;min-height:2px}.spotify-link{font-size:13px;color:#a4c2ff;display:inline-block;border-bottom:1px solid #4d6998;margin-top:18px}.map-keys{position:fixed;z-index:3;left:44px;bottom:130px;display:flex;flex-direction:column;gap:6px;font:11px monospace;color:#8ea6c8;pointer-events:none}.map-keys span{display:flex;align-items:center;gap:9px}.key-line{width:20px;height:1px;background:#819bcc}.key-line.dashed{height:0;border-top:1px dashed #c1dcff;background:none}.key-dot{width:4px;height:4px;border-radius:50%;background:#567baa;margin:0 8px}.pole-nav{position:fixed;z-index:3;bottom:145px;left:33%;right:27%;display:flex;justify-content:space-between;gap:30px;pointer-events:none}.pole-nav button{pointer-events:auto;text-align:center;line-height:1.5;max-width:180px;filter:drop-shadow(0 3px 8px #000)}.pole-nav small{font:10px monospace;letter-spacing:2px;display:block;color:#7793b8}.pole-nav strong{font:italic 17px Impact,'Arial Narrow',Arial;letter-spacing:1px;display:block;color:#b3d8ff}.pole-nav button:last-child strong{color:#ffe2a7}.pole-nav span{font-size:11px;color:#91a7c4}.floating-controls{position:fixed;z-index:4;right:40px;bottom:101px;display:flex;gap:5px}.floating-controls button{width:34px;height:34px;border:1px solid var(--line);border-radius:3px;background:#071322aa;font-size:18px}.travel-label{position:fixed;z-index:3;left:50%;top:42%;transform:translate(-50%,-50%);font:italic 52px Impact,Arial;letter-spacing:3px;opacity:0;pointer-events:none;transition:opacity .2s;color:#deedff;text-shadow:0 0 50px #286cff}.travel-label.show{opacity:.9}#tooltip{position:fixed;z-index:12;pointer-events:none;max-width:260px;padding:10px 13px;background:#0c1c34f5;border:1px solid #527daf80;border-radius:4px;font-size:13px}#tooltip small{display:block;color:#9db5d9;font-size:12px}footer{position:fixed;z-index:6;bottom:0;left:40px;right:40px;min-height:78px;border-top:1px solid #5279af40;display:flex;align-items:center;justify-content:space-between;gap:22px}.foot-brand{font:italic 13px Impact,Arial;letter-spacing:1px;color:#e0ecff}.foot-brand span{display:block;color:#7995bd}.map-settings{display:flex;gap:8px}.map-settings select{font-size:12px;background:#071323ad}.foot-meta{font:10px monospace;letter-spacing:.8px;text-align:right;color:#a0b6d6}.foot-meta span{display:block;margin:4px 0}#polarity-status{color:#c4ad86}.bottom-panel{position:fixed;z-index:5;left:40px;right:390px;bottom:99px;background:linear-gradient(140deg,#081a30eb,#041020ed);backdrop-filter:blur(18px);border:1px solid #628bb941;border-radius:4px;padding:21px 26px}.panel-intro{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:15px}.panel-intro .eyebrow{font-size:10px;margin:0}.panel-intro h2{font:italic 30px Impact,Arial;letter-spacing:.5px;margin:0}.panel-intro p{font-size:13px;color:#a0b5d4;margin:0;width:100%}.era-years{display:flex;gap:5px}.era-year{flex:1;padding:8px 2px;border-bottom:2px solid #54769f4a;font:12px monospace;color:#889ebf}.era-year.active{color:#d9e9ff;border-color:#b1d0ff;background:#386eb84d}.era-year span{display:block;font-size:9px;opacity:.7}.journey-footer{display:flex;gap:15px;align-items:center;margin-top:17px}.journey-footer button{font-size:12px;white-space:nowrap}#era-composition{font-size:12px;color:#9eb7d8}.rhythm-controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:12px}.rhythm-controls label{display:flex;align-items:center;gap:7px;color:#9eb2d1}.rhythm-controls select{font-size:12px;padding:5px 8px}.segmented{margin-left:auto;display:flex;gap:3px}.segmented button{padding:5px 9px;font-size:12px;color:#8da5c7}.segmented .active{background:#234d8f;color:#dceaff}.rhythm-chart{display:flex;gap:5px;height:105px;align-items:end;padding-top:20px}.rhythm-column{flex:1;padding:0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:end;height:100%;gap:7px}.rhythm-column i{width:100%;max-width:35px;background:linear-gradient(#95c0ff,#244c91);border-radius:2px;min-height:1px}.rhythm-column i.empty{background:transparent;border-bottom:1px dashed #526c93}.rhythm-column small{font:10px monospace;color:#839cbc}#rhythm-detail{font-size:12px;color:#9bb0cf;margin:12px 0 0;min-height:19px}.scene-journey h1,.scene-rhythms h1{font-size:clamp(45px,5vw,73px)}.scene-journey .scope-stat,.scene-rhythms .scope-stat,.scene-journey .map-keys,.scene-rhythms .map-keys,.scene-journey .pole-nav,.scene-rhythms .pole-nav{display:none}dialog{color:var(--text);background:linear-gradient(140deg,#0b1d35,#040d1d);border:1px solid #587cac66;border-radius:6px;max-width:min(700px,calc(100vw - 30px));width:700px;max-height:88dvh;padding:32px;scrollbar-width:thin;box-shadow:0 40px 150px #000c}dialog::backdrop{background:#01050bd4;backdrop-filter:blur(8px)}.dialog-heading{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:20px}.dialog-heading h2{font:italic 42px/1 Impact,Arial;margin:0}.dialog-heading .eyebrow{font-size:11px}.dialog-heading button{flex-shrink:0}dialog p{font-size:14px;color:#a7b9d2;line-height:1.65}.drop-zone{display:flex;flex-direction:column;align-items:center;gap:10px;padding:32px 15px;margin:23px 0;border:1px dashed #6089ba;background:#0f274244;text-align:center;cursor:pointer}.drop-zone.dragging{background:#285594}.drop-zone input{width:100%;font-size:13px;margin-bottom:10px;max-width:340px}.drop-zone strong{font-size:18px}.drop-zone span{font-size:12px;color:#93accd}.import-actions{display:flex;gap:14px;align-items:center;margin-top:15px;flex-wrap:wrap}.text-btn{font-size:13px;color:#adc9f5}.data-summary{font-size:13px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;margin:22px 0;color:#a9c1e6}.data-summary strong{color:#e7f1ff}#import-report{font-size:13px;color:#b0c9ea;line-height:1.7}#import-report.error{color:#ffb59e}details{border-bottom:1px solid var(--line);padding:14px 0;font-size:14px}summary{cursor:pointer}#polarity-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}#polarity-fields label{font-size:12px;color:#9eb7d9}#polarity-fields select{display:block;width:100%;margin-top:5px}.check-label{font-size:13px;color:#b5c5dc;display:flex;align-items:start;gap:8px;margin-bottom:20px}.method-copy h3{font-size:18px;margin-top:24px}.method-copy p{font-size:14px}.loading{position:fixed;z-index:9;inset:0;background:#030913ed;display:grid;align-content:center;justify-items:center;gap:30px;font:12px monospace;color:#c4d8f5;letter-spacing:2px}.loader-orbit{width:50px;height:50px;border:1px solid #234476;border-top-color:#b3d8ff;border-radius:50%;animation:spin 1s linear infinite}.toast{position:fixed;z-index:30;bottom:96px;left:50%;transform:translateX(-50%);padding:12px 20px;background:#122640f5;border:1px solid #5982b7;max-width:90vw;border-radius:4px;font-size:14px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1100px){header{left:22px;right:22px;gap:15px}nav button{padding:8px 10px}nav button span{font-size:13px;margin-left:5px}.header-actions .outline-btn{font-size:12px;padding:9px}.logo{font-size:21px}.logo svg{width:35px}.scene-title{left:25px;max-width:280px;top:130px}h1{font-size:70px}.search-zone{right:23px;width:275px}.inspector{right:23px;width:275px;padding:18px}.bottom-panel{left:23px;right:318px;padding:18px}.map-keys{left:25px}.floating-controls{right:23px}.pole-nav{left:35%;right:31%;gap:15px}.pole-nav strong{font-size:14px}.pole-nav span{display:none}footer{left:23px;right:23px}.foot-brand{display:none}.rhythm-controls .segmented{margin-left:0}.panel-intro{gap:8px}.panel-intro .eyebrow{width:100%}.era-years{gap:2px}.era-year{font-size:11px}.journey-footer{flex-wrap:wrap;gap:8px}}
@media(max-width:760px){header{top:17px;left:18px;right:18px;flex-wrap:wrap;gap:14px}.logo{font-size:22px}.logo small{font-size:8px}nav{order:3;width:100%;justify-content:center}nav button{flex:1;padding:7px 3px;font-size:10px}nav button span{font-size:13px}.header-actions{margin-left:auto;gap:8px}.header-actions .outline-btn{font-size:12px}.header-actions .circle-btn{width:30px;height:30px}.scene-title{top:185px;left:22px;max-width:220px}.scene-title .eyebrow{font-size:9px;letter-spacing:1.3px;margin-bottom:14px}h1{font-size:53px;letter-spacing:-2px;margin-bottom:12px}#scene-description{font-size:12px;line-height:1.5;max-width:200px}.scope-stat{margin-top:16px;gap:8px}.scope-stat strong{font-size:22px}.scope-stat span{font-size:10px;max-width:90px}.coverage-pill{font-size:10px;max-width:200px;margin-top:12px}.search-zone{top:123px;right:18px;left:18px;width:auto}.search-box{padding:7px 11px}.search-box input{font-size:13px}.search-box kbd{display:none}.inspector{left:18px;right:18px;top:auto;bottom:125px;width:auto;max-height:48dvh;padding:17px 20px}.inspector h2{font-size:24px}.inspector .mini-years{display:none}.map-keys{display:none}.pole-nav{left:22px;right:22px;bottom:171px;gap:20px}.pole-nav strong{font-size:15px}.pole-nav small{font-size:9px}.floating-controls{right:18px;bottom:95px;gap:4px}.floating-controls button{height:30px;width:30px;font-size:16px}footer{left:18px;right:18px;min-height:80px;align-items:start;padding:11px 0;gap:8px;flex-direction:column}.map-settings{width:100%}.map-settings select{font-size:11px;max-width:none;width:50%;padding:5px 8px}.foot-meta{font-size:9px;width:100%;display:flex;justify-content:space-between;gap:6px;letter-spacing:0}.foot-meta span{margin:0}.bottom-panel{left:18px;right:18px;bottom:133px;padding:15px;max-height:43dvh;overflow:auto}.panel-intro h2{font-size:26px}.panel-intro p{font-size:12px}.era-years{overflow-x:auto;padding-bottom:5px}.era-year{min-width:32px;font-size:11px}.era-year span{font-size:8px}.journey-footer button{padding:8px 10px}.scene-journey .scene-title,.scene-rhythms .scene-title{top:185px;max-width:270px}.scene-journey h1,.scene-rhythms h1{font-size:39px;margin-bottom:10px}.scene-journey #scene-description,.scene-rhythms #scene-description{display:none}.scene-journey .coverage-pill,.scene-rhythms .coverage-pill{margin-top:4px}.scene-journey .inspector,.scene-rhythms .inspector{z-index:7;max-height:65dvh;bottom:130px}.rhythm-controls{gap:8px}.rhythm-controls label{font-size:11px}.rhythm-controls select{font-size:11px;max-width:150px}.rhythm-chart{gap:3px;height:84px}.rhythm-column small{font-size:8px}#rhythm-detail{font-size:11px}.segmented{width:100%;justify-content:center}.travel-label{font-size:33px;top:48%;white-space:nowrap}dialog{padding:22px;max-height:90dvh}.dialog-heading h2{font-size:35px}#polarity-fields select{font-size:12px;padding:8px;max-width:100%}.toast{bottom:90px;font-size:12px}.has-selection .pole-nav{display:none}}
@media(max-height:700px) and (min-width:761px){.scene-title{top:110px}h1{font-size:60px}.scope-stat{margin-top:12px}.bottom-panel{max-height:45vh;overflow:auto}.inspector{top:164px;bottom:140px}.search-zone{top:110px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
.perspective-tools{position:fixed;z-index:4;left:50%;bottom:108px;transform:translateX(-50%);display:flex;gap:4px;align-items:center;padding:5px;border:1px solid #83afff38;background:#071222a8;backdrop-filter:blur(16px);border-radius:5px}.perspective-tools button{font-size:13px;padding:7px 10px;color:#9eb8db;border-radius:3px;min-height:34px}.perspective-tools button.active,.perspective-tools button[aria-pressed=true]{background:#24477b;color:#e5f1ff}.perspective-tools .pole-icon{width:25px;height:25px;min-height:25px;padding:0;margin:0 5px;border-radius:50%;border:1px solid #d5e7ff99}.pole-icon.cool{background:radial-gradient(circle at 32% 28%,#fff,#9dceff 40%,#1b4380);box-shadow:0 0 13px #8ac7ff70}.pole-icon.warm{background:radial-gradient(circle at 32% 28%,#fff2ca,#ffc164 40%,#8b360d);box-shadow:0 0 13px #ffa34d70}.orbit-hint{position:fixed;z-index:3;bottom:153px;left:50%;transform:translateX(-50%);font-size:12px;color:#8aadd7;white-space:nowrap;pointer-events:none}.scene-journey .perspective-tools,.scene-rhythms .perspective-tools{bottom:auto;top:90px}.scene-journey .orbit-hint,.scene-rhythms .orbit-hint{display:none}.scene-title{top:125px;max-width:280px}.scene-title h1{font-size:48px;margin-bottom:12px}.scene-title .scope-stat,.scene-title #scene-description{display:none}.scene-title .coverage-pill{margin-top:8px}.vignette{background:linear-gradient(180deg,#02071065,transparent 18%,transparent 80%,#020610b8),linear-gradient(90deg,#03081238,transparent 30%)}
@media(max-width:760px){.perspective-tools{bottom:135px;max-width:calc(100vw - 30px);gap:1px;padding:4px}.perspective-tools button{font-size:12px;padding:6px 8px;min-height:32px}.perspective-tools .pole-icon{margin:0 4px;width:23px;height:23px;min-height:23px}.orbit-hint{bottom:174px;font-size:12px;max-width:88vw;white-space:normal;text-align:center;line-height:1.4}.scene-title h1{font-size:29px;letter-spacing:-1px}.scene-title h1 br{display:none}.scene-title h1 span{margin-left:5px}.scene-title #scene-description{display:none}.scene-title{top:190px}.scope-stat{margin-top:14px}.scene-journey .perspective-tools,.scene-rhythms .perspective-tools{top:174px}.scene-journey .scene-title,.scene-rhythms .scene-title{top:225px}.scene-journey .scene-title h1,.scene-rhythms .scene-title h1{font-size:25px}.has-selection .orbit-hint{display:none}}

/* Profiles keep the galaxy as the main surface. */
header{gap:15px}.header-actions{gap:7px}.profile-ribbon{position:fixed;z-index:5;top:100px;left:44px;display:flex;gap:16px;align-items:center;max-width:calc(100vw - 420px)}.profile-ribbon>div{min-width:0}.profile-ribbon span{display:block;font:11px monospace;letter-spacing:1px;color:#789dcf}.profile-ribbon strong{display:block;font-size:16px;max-width:230px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-ribbon button{font-size:13px;color:#b0ccf5;border-bottom:1px solid #557cb466;padding:4px 0}.scene-title{top:170px}.scene-title .eyebrow{display:none}.scene-title h1{font-size:38px}.form-label{display:flex;flex-direction:column;gap:8px;margin:22px 0;font-size:14px;color:#b0c4e2}.form-label input{width:100%;background:#061224;color:white;border:1px solid #6487b960;border-radius:4px;padding:12px;font-size:16px;min-width:0}.form-label select{max-width:100%}dialog h3{font-size:20px;margin-top:28px}dialog a.blue-btn,dialog a.outline-btn{display:inline-block}dialog a.text-btn{margin-left:15px}#account-report,#history-report,#compare-report{color:#c0d9ff;white-space:pre-line}.empty-atlas{position:fixed;z-index:5;left:50%;top:48%;transform:translate(-50%,-50%);max-width:480px;width:calc(100vw - 40px);padding:30px;background:#071326df;border:1px solid #5f94db55;border-radius:6px;text-align:center;backdrop-filter:blur(18px)}.empty-atlas h2{font:italic 38px Impact,Arial;margin:10px}.empty-atlas p{color:#a6bddc}.comparison-strip{position:fixed;z-index:5;top:165px;left:44px;max-width:calc(100vw - 430px);padding:14px;background:#071427eb;border:1px solid #6286bd66;backdrop-filter:blur(16px);display:flex;flex-wrap:wrap;gap:10px;align-items:center;border-radius:5px}.comparison-strip strong{font-size:15px;display:block}.comparison-strip span{font:13px monospace;color:#c3e6ff}.comparison-filters{display:flex;gap:3px;flex-wrap:wrap}.comparison-strip button{padding:6px 9px;font-size:13px;color:#b6c9e8}.comparison-strip .active{background:#315486;color:white;border-radius:3px}.comparison-filters button[data-compare-filter=left]{color:#80c3ff}.comparison-filters button[data-compare-filter=right]{color:#b9a6ff}.is-comparing .scene-title{display:none}.compare-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:25px}.compare-stats>div{background:#12284788;border:1px solid #648bb740;border-radius:4px;padding:18px}.compare-stats strong{display:block;font:30px monospace;color:#dcefff}.compare-stats span{display:block;color:#a3b9d7;font-size:14px}.compare-audio{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.compare-audio b{font-size:13px;font-weight:normal}.compare-audio b:nth-child(2){color:#8bcaff}.compare-audio b:nth-child(3){color:#bba7ff}.compare-legend{display:flex;justify-content:space-between;gap:8px;font-size:14px}.compare-legend span:first-child{color:#80c3ff}.compare-legend span:last-child{color:#bba7ff}.is-comparing #polarity-status{color:#bba7ff}.is-comparing .map-keys{display:none}
@media(max-width:1100px){header{gap:10px}.header-actions .outline-btn{padding:8px;font-size:12px}.profile-ribbon{left:25px;gap:12px;max-width:calc(100vw - 330px)}.profile-ribbon strong{max-width:160px}.comparison-strip{left:25px;max-width:calc(100vw - 330px)}}
@media(max-width:760px){.header-actions .outline-btn{font-size:12px;padding:7px 8px}.header-actions #data-open{display:none}.profile-ribbon{top:177px;left:20px;right:20px;max-width:none;gap:15px}.profile-ribbon>div{flex:1}.profile-ribbon strong{max-width:180px;font-size:14px}.profile-ribbon span{font-size:10px}.profile-ribbon button{font-size:12px}.scene-title{top:229px}.scene-title h1{font-size:25px}.scene-title .coverage-pill{font-size:11px}.comparison-strip{top:227px;left:18px;right:18px;max-width:none;padding:9px;gap:5px}.comparison-strip>div:first-child{width:calc(100% - 85px)}.comparison-strip strong{font-size:13px}.comparison-strip .comparison-filters{order:4;width:100%}.comparison-strip button{font-size:12px;padding:5px 8px}.comparison-strip #comparison-details{position:absolute;right:32px;top:11px}.comparison-strip #exit-comparison{position:absolute;right:5px;top:10px}.scene-journey .profile-ribbon,.scene-rhythms .profile-ribbon{top:170px}.scene-journey .perspective-tools,.scene-rhythms .perspective-tools{top:218px}.scene-journey .scene-title,.scene-rhythms .scene-title{top:266px}.is-comparing.scene-journey .comparison-strip,.is-comparing.scene-rhythms .comparison-strip{top:261px}.compare-stats>div{padding:12px}.compare-stats strong{font-size:25px}.compare-audio{grid-template-columns:.8fr 1fr 1fr;font-size:13px}.compare-audio b{font-size:12px}.empty-atlas{top:49%;padding:24px}.empty-atlas h2{font-size:32px}}

/* Readable listening charts and full-history ranking. */
.scene-rhythms .scene-title,.scene-rhythms .perspective-tools,.scene-rhythms .floating-controls,.scene-rhythms .search-zone,.scene-rhythms .comparison-strip{display:none!important}
#rhythms-panel.rhythm-workspace{top:160px;bottom:94px;left:40px;right:40px;max-height:none;overflow:auto;padding:28px 30px;background:linear-gradient(145deg,#0b1c32f7,#050e1df8);border-color:#688eb24d;border-radius:10px;scrollbar-width:thin}
.rhythm-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px}.rhythm-heading .eyebrow{font-size:12px;margin-bottom:8px}.rhythm-heading h2{font:italic 36px/1.1 Impact,Arial;margin:0}.rhythm-heading p{font-size:15px;color:#a8bdd9;margin:10px 0 0}.rhythm-heading button{flex-shrink:0}
#rhythms-panel .rhythm-controls{gap:18px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:14px}
#rhythms-panel .rhythm-controls label{font-size:14px;gap:9px}#rhythms-panel .rhythm-controls select{font-size:14px;padding:9px 12px;max-width:240px}
#rhythms-panel .segmented{background:#020a15;border:1px solid #48678955;border-radius:6px;padding:4px;margin-left:auto;gap:4px}
#rhythms-panel .segmented button{font-size:14px;padding:8px 12px;border-radius:3px}#rhythms-panel .segmented button.active{background:#285da4;color:white}
.rhythm-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0}.rhythm-summary>div{padding:16px 20px;border:1px solid #547ca040;border-radius:6px;background:#10264055}.rhythm-summary span,.rhythm-summary small{display:block;color:#95afd2;font-size:13px}.rhythm-summary strong{font:28px/1.3 monospace;display:block;color:#dfedff;margin:5px 0}
.rhythm-layout{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:22px}.rhythm-plot-card,.rhythm-bin-card{min-width:0;border:1px solid #567b9e38;border-radius:7px;padding:20px;background:#05102199}.plot-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.plot-heading h3{font-size:19px;margin:0}.plot-heading>span{font:12px monospace;color:#9cbadd}.rhythm-plot-card>p{font-size:14px;color:#a3b9d5;line-height:1.6;margin:12px 0 5px}.rhythm-chart-scroll{overflow-x:auto;overscroll-behavior-inline:contain;padding:12px 0 0;scrollbar-width:thin;scrollbar-color:#42618c #0b1526}
#rhythm-chart{position:relative;display:block;height:306px;padding:30px 8px 34px 64px;min-width:500px}#rhythm-chart.many-bins{min-width:850px}
.chart-scale{position:absolute;left:0;top:30px;bottom:34px;width:53px}.chart-scale span{position:absolute;right:0;transform:translateY(-50%);font:12px monospace;color:#8fa9cb}
.chart-columns{position:relative;height:100%;display:grid;grid-template-columns:repeat(var(--bin-count),minmax(0,1fr));gap:5px}.chart-gridline{position:absolute;left:0;right:0;height:1px;background:#5b80ae26;pointer-events:none}.chart-gridline.zero{background:#89acd050}.signed-chart .chart-gridline.zero{background:#b3cff899;height:2px}
#rhythm-chart .rhythm-column{position:relative;display:block;height:100%;padding:0;min-width:0;isolation:isolate}
#rhythm-chart .bar-space{display:block;position:absolute;inset:0}
#rhythm-chart .rhythm-bar{position:absolute;left:12%;width:76%;max-width:58px;margin:0;min-height:0;background:linear-gradient(0deg,#285aa3,#72b5ff);border:1px solid #97cbff44;border-radius:4px 4px 0 0;transition:filter .15s}
#rhythm-chart .rhythm-bar.negative{background:linear-gradient(#b7b5fa,#585e9f);border-radius:0 0 4px 4px}
#rhythm-chart .bar-value{position:absolute;top:-24px;left:50%;transform:translateX(-50%);font:12px monospace;color:#b1c8e8;white-space:nowrap}
#rhythm-chart .rhythm-column small{position:absolute;bottom:-26px;left:50%;transform:translateX(-50%);font-size:12px;color:#a0b9d8;white-space:nowrap}
#rhythm-chart .rhythm-column.selected{background:#6296eb12}#rhythm-chart .rhythm-column.selected .rhythm-bar{background:linear-gradient(#c0e3ff,#6dacf6);border-color:#daf0ff}
#rhythm-chart .rhythm-column.selected .bar-value,#rhythm-chart .rhythm-column.selected small{color:#f0f8ff;font-weight:bold}
#rhythm-chart .no-bin{position:absolute;bottom:0;left:50%;transform:translateX(-50%);color:#6984a5}.chart-help{font-size:12px!important;color:#7898c2!important}
.rhythm-bin-card .eyebrow{font-size:11px;letter-spacing:1.5px;margin-bottom:10px}.rhythm-bin-card h3{font-size:28px;margin:0 0 10px}.rhythm-bin-card h4{font-size:14px;color:#d0e2fa;margin:22px 0 10px}
#rhythm-detail{font-size:14px;line-height:1.7;color:#b8ccea;margin:0;min-height:0}.rhythm-bin-card .connection{font-size:14px;padding:11px 0}.rhythm-bin-card .connection small{font-size:12px}.rhythm-bin-card .connection b{font-size:12px;white-space:nowrap;margin-top:3px}
.rhythm-method{font-size:12px;color:#7997bd;line-height:1.7;margin:18px 0 0}
.ranking-dialog{width:1040px;max-width:calc(100vw - 36px);padding:30px}.ranking-controls{display:grid;grid-template-columns:minmax(0,1fr) 165px 170px;gap:15px;align-items:end}.ranking-controls .form-label{margin:0;font-size:14px}.ranking-controls input,.ranking-controls select{height:46px;max-width:100%;width:100%;font-size:15px}
.ranking-summary{display:flex;flex-wrap:wrap;gap:25px;margin:23px 0 10px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:14px;color:#95b0d1}.ranking-summary strong{font:23px monospace;color:#e1efff;margin-right:6px}
#ranking-scope{font-size:13px;margin-bottom:16px}.ranking-table-wrap{overflow:auto;max-height:50dvh;border:1px solid #607da82b;border-radius:5px;scrollbar-width:thin}
.ranking-table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}.ranking-table th{position:sticky;top:0;background:#10213a;padding:13px 14px;font-size:12px;color:#9bb4d7;font-weight:normal;z-index:1;white-space:nowrap}.ranking-table td{padding:11px 14px;border-top:1px solid #5679a326;vertical-align:middle;color:#9cb3d1}.ranking-table td:first-child{width:48px;font:13px monospace;color:#678cb7}.ranking-table td:nth-child(3),.ranking-table td:nth-child(4){font-family:monospace;white-space:nowrap;text-align:right}.ranking-table th:nth-child(3),.ranking-table th:nth-child(4){text-align:right}
.ranking-table button{display:block;width:100%;text-align:left;padding:0}.ranking-table button strong{display:block;font-size:15px;color:#e6f0ff;font-weight:500}.ranking-table button small{display:block;font-size:13px;color:#8fa8cd;margin-top:3px}.ranking-table tr:hover{background:#5388d914}.ranking-table .rank-active{color:#c1e2ff}.rank-meter{display:block;background:#1a2b4533;height:3px;max-width:260px;margin-top:8px}.rank-meter i{display:block;background:linear-gradient(90deg,#447bd2,#a0caff);height:100%;border-radius:2px}
.ranking-pagination{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:16px 0;font-size:14px;color:#a9bfdf}.ranking-note{font-size:12px!important;line-height:1.6}.profile-ribbon strong{max-width:200px}
@media(min-width:1500px){.rhythm-layout{grid-template-columns:minmax(0,1fr) 310px}}
@media(max-width:1100px){#rhythms-panel.rhythm-workspace{left:22px;right:22px;padding:23px;top:158px}.rhythm-layout{grid-template-columns:1fr}.rhythm-bin-card{display:grid;grid-template-columns:200px 1fr;column-gap:24px}.rhythm-bin-card>h4,.rhythm-bin-card>#rhythm-top-tracks{grid-column:2}.rhythm-bin-card>h4{grid-row:1/3;margin:0 0 10px}.rhythm-bin-card>#rhythm-top-tracks{grid-row:3/6}.rhythm-bin-card .eyebrow,.rhythm-bin-card h3,.rhythm-bin-card #rhythm-detail{grid-column:1}.rhythm-heading h2{font-size:30px}#rhythms-panel .segmented{margin-left:0}.ranking-controls{grid-template-columns:1fr 145px 150px}}
@media(max-width:760px){#rhythms-panel.rhythm-workspace{top:221px;bottom:88px;left:10px;right:10px;padding:18px 14px;border-radius:8px}.scene-rhythms .profile-ribbon{top:172px}.rhythm-heading{align-items:start;gap:14px;flex-direction:column;margin-bottom:16px}.rhythm-heading h2{font-size:29px}.rhythm-heading p{font-size:14px}.rhythm-heading .eyebrow{font-size:11px}.rhythm-heading button{width:100%}#rhythms-panel .rhythm-controls{gap:12px;align-items:stretch}#rhythms-panel .rhythm-controls label{flex-direction:column;align-items:start;gap:5px;flex:1;font-size:13px}#rhythms-panel .rhythm-controls select{max-width:100%;width:100%;font-size:13px;padding:8px}#rhythms-panel .segmented{width:100%;margin:0}#rhythms-panel .segmented button{flex:1;font-size:12px;padding:8px 7px}.rhythm-summary{gap:7px;margin:16px 0}.rhythm-summary>div{padding:10px 8px}.rhythm-summary span,.rhythm-summary small{font-size:11px;line-height:1.5}.rhythm-summary strong{font-size:20px}.rhythm-layout{gap:15px}.rhythm-plot-card,.rhythm-bin-card{padding:15px 12px}.plot-heading{align-items:start;flex-direction:column;gap:5px}.plot-heading h3{font-size:17px}.rhythm-plot-card>p{font-size:13px}#rhythm-chart{min-width:460px;height:280px}#rhythm-chart.many-bins{min-width:850px}.rhythm-bin-card{display:block}.rhythm-bin-card h4{margin:22px 0 10px}.ranking-dialog{padding:22px 16px;max-width:calc(100vw - 18px);max-height:94dvh}.ranking-controls{grid-template-columns:1fr 1fr;gap:12px}.ranking-controls .form-label:first-child{grid-column:1/-1}.ranking-controls input,.ranking-controls select{font-size:14px}.ranking-summary{gap:12px;margin-top:18px}.ranking-summary strong{font-size:19px}.ranking-summary span{font-size:12px}.ranking-table{min-width:560px}.ranking-table-wrap{max-height:43dvh}.ranking-table th,.ranking-table td{padding:10px}.ranking-pagination{font-size:12px}.ranking-pagination button{font-size:12px;padding:8px 12px}.profile-ribbon{gap:11px}.profile-ribbon strong{max-width:130px}.profile-ribbon button{font-size:12px}}
.scene-rhythms footer{display:none}.scene-rhythms #rhythms-panel.rhythm-workspace{bottom:20px}#rhythm-chart .rhythm-column.selected .rhythm-bar.negative{background:linear-gradient(#e0daff,#9994e0)}
@media(max-width:760px){.scene-rhythms #rhythms-panel.rhythm-workspace{bottom:10px}}

.song-context{margin:20px 0;padding:15px;border:1px solid #7598ce30;border-radius:8px;background:#12253e70}.song-context p{font-size:14px;line-height:1.6;color:#b1c6df;margin:9px 0}.song-context .small-label{display:block;margin:0 0 12px;font-size:12px}.song-context .pole-reason{color:#d2eaff;border-top:1px solid #799fcd40;padding-top:12px}.inspector .affinity-reasons{color:#b6d3f5;font-size:12px;line-height:1.55;margin-top:6px}.inspector .connection{font-size:14px}.map-keys{font-size:12px}
.artist-filter{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;padding:10px 12px;border:1px solid #82b7ff66;border-radius:5px;background:#0e243eeF}.artist-filter>div{min-width:0}.artist-filter strong{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.artist-filter small{display:block;color:#9dbbdd;font-size:12px}.artist-filter button{flex-shrink:0;font-size:14px;padding:7px 0 7px 7px;color:#c5dfff}.search-group-label{font-size:12px;color:#8faed6;letter-spacing:1px;margin:12px 10px 5px}.artist-result{background:#17345a55}.artist-result strong{font-size:14px;font-weight:500}.search-empty{padding:8px;font-size:14px}.has-artist-filter .inspector{top:251px}
@media(max-width:760px){.has-artist-filter .inspector{top:auto;max-height:min(48dvh,calc(100dvh - 425px))}.has-artist-filter .scene-title{opacity:0;pointer-events:none}.has-artist-filter .scene-title .coverage-pill{pointer-events:none}.has-artist-filter:not(.scene-rhythms) .profile-ribbon{top:242px}.has-artist-filter.scene-map .comparison-strip{top:292px}.has-artist-filter.scene-journey .perspective-tools{top:291px}.has-artist-filter.scene-journey .comparison-strip{top:335px}}
/* A continuous time corridor replaces the old orbit camera in Trajetória. */
.scene-journey #space,.scene-journey .scene-title,.scene-journey .perspective-tools,.scene-journey .floating-controls,.scene-journey footer,.scene-journey .map-keys,.scene-journey .orbit-hint,.scene-journey .comparison-strip{display:none!important}
.scene-journey #graph{cursor:ns-resize}.scene-journey .vignette{background:linear-gradient(180deg,#02071070,transparent 24%,transparent 72%,#02061080)}
.journey-interface{position:fixed;inset:0;z-index:4;pointer-events:none}.journey-heading{position:absolute;left:40px;top:185px;max-width:275px}.journey-heading .eyebrow{font-size:12px;letter-spacing:2px;margin-bottom:8px}.journey-heading h2{font:italic 84px/1 Impact,'Arial Narrow',Arial;margin:0;letter-spacing:1px;color:#e8f3ff;text-shadow:0 0 30px #34537b33}.journey-heading p{font-size:14px;line-height:1.6;color:#b5c8e1;margin:12px 0;max-width:260px}.journey-heading #era-composition{font-size:12px;color:#809abb;line-height:1.6}.journey-palette{display:flex;gap:16px;font-size:12px;color:#a0b7d5;margin-top:20px}.journey-palette span{display:flex;align-items:center;gap:7px}.journey-palette i{width:6px;height:6px;border-radius:50%;display:block}.journey-palette .cool{background:#9ed8ff}.journey-palette .warm{background:#ffd17f}
.journey-leaders{position:absolute;right:40px;top:183px;width:270px;padding:16px 18px;background:#061121b8;border:1px solid #749ace26;border-radius:8px;backdrop-filter:blur(12px);pointer-events:auto}.journey-leaders>.eyebrow{font-size:11px;letter-spacing:1px;margin-bottom:12px}.journey-track{display:flex;align-items:center;gap:10px;width:100%;padding:11px 0;text-align:left;border-top:1px solid #668ab424}.journey-track>span:nth-child(2){min-width:0;flex:1}.journey-track strong{font-size:14px;font-weight:500;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journey-track small{font-size:12px;color:#859fbf;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:3px}.journey-track b{font-size:12px;font-weight:400;color:#bad8ff;white-space:nowrap}.journey-rank{font:12px monospace;color:#607d9f}.has-selection .journey-leaders{display:none}
.journey-controls{position:absolute;left:40px;right:40px;bottom:24px;background:#071322e8;border:1px solid #6f98c13a;border-radius:10px;padding:12px 18px 14px;pointer-events:auto;backdrop-filter:blur(18px)}.journey-years{display:flex;gap:5px;overflow:auto;scrollbar-width:thin}.journey-years .era-year{min-width:58px;flex:1;padding:6px 4px;font-size:14px;border-radius:4px}.journey-years .era-year.active{background:#1c4167;color:#d9edff;border-color:#9ccfff}.journey-years .era-year span{font-size:11px;margin-top:3px}.journey-scrub{display:flex;align-items:center;gap:14px;margin:12px 0;font-size:12px;color:#8aa7ca}.journey-scrub input{flex:1;min-width:0;accent-color:#9acfff;height:16px;cursor:ew-resize}.journey-transport{display:flex;gap:16px;align-items:center}.journey-directions{display:flex;gap:3px;background:#020b17;border:1px solid #557ba638;border-radius:5px;padding:3px}.journey-directions button{font-size:14px;padding:7px 12px;color:#8aa7ca;border-radius:3px}.journey-directions button[aria-pressed=true]{background:#173652;color:#dcefff}.journey-transport>.blue-btn{background:#235578;border-color:#6395bd;font-size:14px;min-width:128px;padding:9px 14px}.journey-transport label{display:flex;align-items:center;gap:9px;font-size:14px;color:#9eb6d4}.journey-transport select{font-size:14px;padding:7px 10px}.journey-help{margin-left:auto;font-size:12px;color:#7695b8;max-width:250px;text-align:right;line-height:1.5}
.scene-journey .inspector{bottom:204px}.scene-journey.has-artist-filter .journey-leaders{top:257px}
@media(max-width:1100px){.journey-heading{left:24px;top:190px;max-width:230px}.journey-heading h2{font-size:70px}.journey-leaders{right:24px;width:245px}.journey-controls{left:24px;right:24px}.journey-help{display:none}}
@media(max-width:760px){.journey-heading{left:20px;top:229px;max-width:220px}.journey-heading .eyebrow{font-size:11px;margin-bottom:5px}.journey-heading h2{font-size:46px}.journey-heading p{font-size:12px;line-height:1.5;margin:6px 0;max-width:210px}.journey-heading #era-composition{font-size:11px;max-width:225px}.journey-palette{margin-top:9px;font-size:11px;gap:13px}.journey-leaders{display:none}.journey-controls{left:10px;right:10px;bottom:10px;padding:9px 10px 12px;border-radius:7px}.journey-years{gap:3px}.journey-years .era-year{min-width:53px;font-size:13px;padding:5px 2px}.journey-years .era-year span{font-size:10px}.journey-scrub{margin:9px 0;gap:9px}.journey-transport{gap:8px;flex-wrap:wrap}.journey-directions{flex:1}.journey-directions button{flex:1;font-size:13px;padding:7px 8px}.journey-transport>.blue-btn{font-size:13px;min-width:117px;padding:9px 10px}.journey-transport label{font-size:12px;gap:6px;margin-left:auto}.journey-transport select{font-size:12px;padding:4px 8px}.scene-journey .inspector{bottom:180px;max-height:calc(100dvh - 415px)}.scene-journey.has-selection .journey-heading{display:none}.scene-journey.has-artist-filter .journey-heading{top:290px}}
@media(max-width:760px){.journey-immersive-button{position:fixed;z-index:14;display:grid;place-items:center;pointer-events:auto;color:#dcecff;background:#07172bdd;border:1px solid #86afe066;box-shadow:0 6px 22px #0008;backdrop-filter:blur(12px)}.journey-top-menu{top:18px;right:17px;width:36px;height:36px;border-radius:50%;font-size:18px}.journey-bottom-menu{left:50%;bottom:16px;transform:translateX(-50%);height:34px;padding:0 14px;border-radius:18px;font-size:11px;letter-spacing:.04em}.journey-immersive header,.journey-immersive .search-zone,.journey-immersive .profile-ribbon,.journey-immersive .scene-title,.journey-immersive .journey-heading,.journey-immersive .journey-leaders,.journey-immersive .journey-controls,.journey-immersive .perspective-tools,.journey-immersive .orbit-hint,.journey-immersive .floating-controls,.journey-immersive footer,.journey-immersive .comparison-strip{display:none!important}.journey-immersive.journey-top-open header{display:flex!important}.journey-immersive.journey-controls-open .journey-controls{display:block!important}.journey-immersive.journey-controls-open #journey-menu{display:none!important}.journey-immersive.scene-journey .kisha-guide{bottom:66px}.journey-immersive .kisha-guide{z-index:15}.journey-immersive .kisha-bubble{max-width:228px}.journey-immersive .kisha-message p{-webkit-line-clamp:2}}
@media(max-width:760px){.map-immersive-button{position:fixed;z-index:14;display:grid;place-items:center;pointer-events:auto;color:#dcecff;background:#07172bdd;border:1px solid #86afe066;box-shadow:0 6px 22px #0008;backdrop-filter:blur(12px)}.map-top-menu{top:18px;right:17px;width:36px;height:36px;border-radius:50%;font-size:18px}.map-bottom-menu{left:50%;bottom:16px;transform:translateX(-50%);height:34px;padding:0 14px;border-radius:18px;font-size:11px;letter-spacing:.04em}.map-immersive header,.map-immersive .search-zone,.map-immersive .profile-ribbon,.map-immersive .scene-title,.map-immersive .pole-nav,.map-immersive .floating-controls,.map-immersive footer,.map-immersive .comparison-strip{display:none!important}.map-immersive.map-top-open header{display:flex!important}.map-immersive.map-controls-open .floating-controls{display:flex!important}.map-immersive.map-controls-open footer{display:flex!important}.map-immersive.map-controls-open #map-menu{display:none!important}.map-immersive .kisha-guide{z-index:15}.map-immersive .kisha-bubble{max-width:228px}.map-immersive .kisha-message p{-webkit-line-clamp:2}}
@media(max-width:760px){.inspector .close-inspector{position:sticky;top:-9px;float:right;right:auto;z-index:3;width:32px;height:32px;margin:-8px -7px 0 8px;border:1px solid #789bd255;border-radius:50%;background:#102440;color:#e3efff;font-size:24px}.map-immersive.scene-map .inspector{top:auto;left:16px;right:auto;bottom:72px;width:calc(100vw - 118px);max-height:37dvh;padding:16px;border-radius:10px;z-index:10}.map-immersive.scene-map .kisha-guide{left:auto;right:16px;bottom:72px;width:70px}.map-immersive.scene-map .kisha-bubble{max-width:228px}.map-immersive.scene-map .inspector h2{font-size:21px;line-height:1.16;margin-top:10px}.map-immersive.scene-map .inspector .song-stats{gap:16px;margin:13px 0;padding:11px 0}.map-immersive.scene-map .inspector .song-stats strong{font-size:19px}}
/* Horizontal bars: direct labels and values on a shared scale. */
#rhythms-panel .rhythm-plot-card{background:#071322;border:1px solid #38537455;padding:24px;border-radius:12px}
#rhythms-panel .plot-heading h3{font-size:20px;font-weight:500;letter-spacing:-.3px}
#rhythms-panel .plot-heading>span{font-size:11px;letter-spacing:1.5px;color:#7995b8}
.rhythm-chart-focus{display:flex;align-items:baseline;gap:14px;margin:23px 0 12px}.rhythm-chart-focus>span{font-size:16px;color:#9ebadd}.rhythm-chart-focus strong{font:34px/1.2 Arial,sans-serif;font-weight:600;letter-spacing:-1px;color:#d7eeff}.rhythm-chart-focus small{font:10px monospace;letter-spacing:1.5px;color:#6f8dac;margin-left:auto}
#rhythms-panel .rhythm-chart-scroll{overflow:visible;padding:0}
#rhythm-chart,#rhythm-chart.many-bins{height:auto;min-width:0;max-width:100%;width:100%;padding:0;display:block}
.listening-svg{width:100%;height:auto;display:block;overflow:visible}.listening-svg .chart-bin{cursor:pointer;outline:none}.listening-svg .chart-bin .data-bar{transition:fill .15s,opacity .15s}.listening-svg .chart-bin:hover .data-bar{fill:#8ac8f7}.listening-svg .chart-bin:focus .data-bar{stroke:#ecf7ff;stroke-width:2}.listening-svg .chart-bin:focus .bin-hit{stroke:#9cc9ed;stroke-width:1}
.rhythm-chart-focus{display:none}
#rhythms-panel .rhythm-chart-scroll{margin-top:26px}
.horizontal-listening .chart-bin:hover .bin-hit{fill:#142b43}
.horizontal-listening .chart-bin:hover .bin-label,.horizontal-listening .chart-bin:hover .bin-value{fill:#f0f8ff}
.horizontal-listening .chart-bin:focus-visible .bin-hit{stroke:#a6daff;stroke-width:2}
#rhythms-panel .rhythm-bin-card{align-self:start;position:sticky;top:0}
#rhythms-panel .chart-help{font-size:14px!important;line-height:1.6}
@media(max-width:1100px){#rhythms-panel .rhythm-bin-card{position:static}}
#rhythms-panel .chart-help{padding-top:12px;margin-top:8px;border-top:1px solid #29435e66}
#rhythms-panel .rhythm-summary>div{background:transparent;border:none;border-left:1px solid #385674;padding:8px 22px}
#rhythms-panel .rhythm-summary>div:first-child{border-left:0;padding-left:0}
#rhythms-panel .rhythm-bin-card{background:#0b1b2e;border-radius:12px;border-color:#3c5d8055}
@media(max-width:760px){#rhythms-panel .rhythm-plot-card{padding:16px 10px;border-radius:9px}.rhythm-chart-focus{gap:10px;margin:17px 6px 8px}.rhythm-chart-focus strong{font-size:28px}.rhythm-chart-focus>span{font-size:14px}.rhythm-chart-focus small{display:none}#rhythms-panel .plot-heading,#rhythms-panel .rhythm-plot-card>p{margin-left:6px;margin-right:6px}#rhythms-panel .plot-heading h3{font-size:17px}#rhythms-panel .rhythm-summary>div{padding:7px 10px}#rhythm-chart,#rhythm-chart.many-bins{min-width:0;height:auto;padding:0}}
/* Identity resolves before any profile is shown. The account is the root entry. */
#entry-loading{display:none}
.entry-pending #entry-loading{display:flex;position:fixed;inset:0;z-index:40;align-items:center;justify-content:center;flex-direction:column;gap:24px;background:#030812;color:#adc4e4;font-size:13px;letter-spacing:.14em}
.entry-pending>header,.entry-pending>main,.entry-pending>footer,.entry-pending>.profile-ribbon,.entry-pending>.universe,.entry-account>header,.entry-account>main,.entry-account>footer,.entry-account>.profile-ribbon,.entry-account #graph,.entry-error>header,.entry-error>footer,.entry-error>.profile-ribbon{visibility:hidden}
.entry-error main>*:not(#loading){visibility:hidden}
.entry-account>.empty-atlas{visibility:hidden}
.entry-account #account-dialog{width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 48px);padding:48px;border:1px solid #45689855;border-radius:24px;background:linear-gradient(145deg,#101f34ec,#070e1bec);box-shadow:0 32px 100px #0008;backdrop-filter:blur(20px)}
.entry-account #account-dialog::backdrop{background:#02061033}
.entry-account #account-dialog [data-close]{display:none}
.entry-account #account-dialog h2{font-size:clamp(34px,5vw,48px);line-height:1.06;letter-spacing:-.04em;margin-top:16px}
.entry-account #account-dialog .eyebrow{color:#86b8ed;letter-spacing:.2em}
#signed-out-account .entry-intro{color:#d6e8ff;font-size:17px;margin:8px 0 20px}
#signed-out-account #account-login{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:32px 0 24px;min-height:56px;border-radius:12px;text-decoration:none;padding:15px 20px}
#signed-out-account .entry-note{font-size:12px;line-height:1.7;color:#849bb9;border-top:1px solid #36516e66;padding-top:20px}
@media(max-width:600px){.entry-account #account-dialog{padding:32px 24px;border-radius:20px}.entry-account #account-dialog h2{font-size:38px}}
.spotify-onboarding{margin:28px 0 32px;padding-bottom:24px;border-bottom:1px solid #45689855}
.spotify-onboarding h3{font-size:24px;line-height:1.2;letter-spacing:-.03em;margin:12px 0}
.spotify-onboarding p{font-size:14px;line-height:1.65;color:#a8bdd6}
.spotify-steps{list-style:none;padding:0;margin:28px 0;counter-reset:spotify-step;display:grid;gap:24px}
.spotify-steps li{position:relative;padding-left:42px;counter-increment:spotify-step}
.spotify-steps li::before{content:counter(spotify-step,decimal-leading-zero);position:absolute;left:0;top:0;font-size:12px;font-weight:700;color:#88b9fa;border-top:1px solid #547daa;padding-top:5px;width:27px}
.spotify-steps strong{display:block;font-size:16px;color:#e2eeff}
.spotify-steps li p{margin:8px 0 12px}
.spotify-export{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;text-decoration:none;border-radius:9px;font-size:13px;padding:12px 14px;max-width:100%}
.spotify-help{font-size:12px!important}.spotify-help a{color:#a1caff}
.spotify-onboarding #onboarding-upload{font-size:13px;border-radius:9px;padding:12px 14px}
.entry-account #account-dialog:has(#spotify-onboarding:not([hidden])){width:min(650px,calc(100vw - 32px));padding:36px 42px}
@media(max-width:600px){.entry-account #account-dialog:has(#spotify-onboarding:not([hidden])){padding:28px 22px}.spotify-onboarding h3{font-size:22px}.spotify-steps li{padding-left:36px}.spotify-export{font-size:12px}}
/* Kisha uses the nine expressions from the supplied character sheet. */
.logo{font-size:27px;letter-spacing:-.04em;gap:12px}.logo svg{width:40px;flex-shrink:0}.logo small{letter-spacing:.24em;font-size:8px;color:#a0badd}
.logo svg circle{fill:#ddbd83;stroke:none}
.kisha-face{display:block;background-image:url('/kisha-expressions.webp');background-size:306% 306%;background-position:50% 0%;background-repeat:no-repeat}
.kisha-face[data-expression="bright"]{background-position:0% 0%}.kisha-face[data-expression="calm"]{background-position:50% 0%}.kisha-face[data-expression="gentle"]{background-position:100% 0%}.kisha-face[data-expression="curious"]{background-position:50% 50%}.kisha-face[data-expression="restful"]{background-position:100% 50%}.kisha-face[data-expression="inspired"]{background-position:0% 50%}.kisha-face[data-expression="surprised"]{background-position:0% 100%}.kisha-face[data-expression="sleepy"]{background-position:50% 100%}.kisha-face[data-expression="confident"]{background-position:100% 100%}
.kisha-guide{position:fixed;z-index:12;left:40px;bottom:110px;display:flex;align-items:flex-end;gap:14px;width:430px;max-width:calc(100vw - 40px);pointer-events:none;--kisha-light:#a9caff}
.kisha-guide button,.kisha-bubble{pointer-events:auto}.kisha-guide:not(.is-expanded){width:96px}.kisha-toggle{order:-1;position:relative;width:96px;height:126px;flex-shrink:0;border-radius:42px 42px 16px 16px;padding:0;border:1px solid #86abde66;background:#0a1830;box-shadow:0 8px 32px #02051199;isolation:isolate;transition:transform .25s}
.kisha-toggle:hover{transform:translateY(-3px)}.kisha-toggle>.kisha-face{position:absolute;inset:2px;border-radius:40px 40px 14px 14px;overflow:hidden;mask-image:linear-gradient(#000 78%,#0005)}
.kisha-name{position:absolute;bottom:0;left:0;right:0;padding:7px 0 5px;background:linear-gradient(transparent,#050b19);border-radius:0 0 14px 14px;font-size:11px;letter-spacing:.07em;color:#e9ddc5;text-shadow:0 1px 4px #000}
.kisha-orbit{position:absolute;inset:-7px;border:1px solid #82aaff33;border-radius:48px 48px 20px 20px;pointer-events:none}.kisha-orbit::before,.kisha-orbit::after{content:'✦';position:absolute;top:12px;right:-5px;color:#efce8b;font-size:13px;animation:kisha-star 4.5s ease-in-out infinite}.kisha-orbit::after{top:auto;bottom:14px;left:-5px;right:auto;color:#adcaff;font-size:9px;animation-delay:2s}
.kisha-bubble{flex:1;min-width:0;padding:18px 20px;background:linear-gradient(145deg,#152640f5,#061023f5);border:1px solid #6889b755;border-radius:18px 18px 18px 5px;box-shadow:0 14px 45px #0005;backdrop-filter:blur(20px);max-height:min(430px,52dvh);overflow:auto;scrollbar-width:thin}
.kisha-heading{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:15px}.kisha-heading strong{font-size:17px;letter-spacing:-.02em}.kisha-heading strong span{color:#d9bf84;margin-left:4px}.kisha-heading small{display:block;font-size:9px;letter-spacing:.1em;color:#91abd1;margin-top:4px}.kisha-close{font-size:20px;line-height:1;width:26px;height:26px;color:#9ab5d8;border-radius:6px}.kisha-close:hover{background:#47719a33}
.kisha-message h3{font-size:16px;line-height:1.35;letter-spacing:-.02em;margin:0 0 10px}.kisha-message p{font-size:13px;line-height:1.65;margin:0;color:#c3d3e9}.kisha-note{font-size:11px;line-height:1.65;color:#8ba4c8;margin:14px 0 0;padding-top:12px;border-top:1px solid #5c7ca733}
.kisha-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.kisha-actions button{border:1px solid #779ecc44;padding:8px 10px;border-radius:7px;font-size:11px;color:#b8d5ff}.kisha-actions button:first-child{background:#213e61}.kisha-actions button:hover{border-color:#c6dbf5}
.scene-journey .kisha-guide{bottom:205px}.scene-rhythms .kisha-guide{left:auto;right:34px;bottom:112px;width:338px}.scene-rhythms .kisha-guide:not(.is-expanded){width:96px}.scene-rhythms .kisha-bubble{padding:17px}.scene-rhythms.has-selection .kisha-guide{right:auto;left:40px;width:430px}.scene-rhythms.has-selection .kisha-guide:not(.is-expanded){width:96px}
.scene-journey:has(.kisha-guide.is-expanded) .journey-heading p,.scene-journey:has(.kisha-guide.is-expanded) .journey-palette{display:none}
.kisha-welcome{display:flex;align-items:center;gap:20px;margin:20px 0 30px;padding:18px;border:1px solid #6585b244;border-radius:16px;background:linear-gradient(110deg,#192a45aa,#08112388)}.kisha-welcome-face{width:78px;height:96px;flex-shrink:0;border:1px solid #93b6ee44;border-radius:32px 32px 13px 13px}.kisha-welcome strong{font-size:17px;color:#d6e7ff;line-height:1.3;display:block}.kisha-welcome p{font-size:13px!important;line-height:1.6!important;margin:8px 0 0;color:#9db7da!important}
.entry-pending .kisha-guide,.entry-account .kisha-guide,.entry-error .kisha-guide{display:none!important}
@keyframes kisha-star{0%,100%{opacity:.4;transform:scale(.85)}50%{opacity:.85;transform:scale(1.1)}}
@media(min-width:1280px){.scene-rhythms #rhythms-panel{right:406px}.scene-rhythms .rhythm-layout{grid-template-columns:1fr}.scene-rhythms .rhythm-bin-card{position:static!important}}
@media(max-height:850px) and (min-width:761px){.scene-journey:has(.kisha-guide.is-expanded) .journey-heading p,.scene-journey:has(.kisha-guide.is-expanded) .journey-palette{display:none}.kisha-bubble{max-height:42dvh}}
@media(max-width:1279px){.scene-rhythms #rhythms-panel{padding-bottom:140px}.scene-rhythms .kisha-guide{right:24px}.kisha-bubble{max-height:45dvh}.kisha-guide{left:24px}}
@media(max-width:760px){.logo{font-size:20px;gap:8px}.logo svg{width:30px}.logo small{font-size:7px}.header-actions{gap:5px}.header-actions .outline-btn{font-size:11px;padding:8px}.kisha-guide,.scene-rhythms.has-selection .kisha-guide{left:auto;right:16px;bottom:100px;width:min(310px,calc(100vw - 32px));gap:9px}.scene-rhythms .kisha-guide{right:16px;width:min(310px,calc(100vw - 32px))}.kisha-toggle{width:70px;height:92px;border-radius:30px 30px 12px 12px}.kisha-toggle>.kisha-face{border-radius:28px 28px 10px 10px}.kisha-name{font-size:9px}.kisha-guide:not(.is-expanded),.scene-rhythms .kisha-guide:not(.is-expanded),.scene-rhythms.has-selection .kisha-guide:not(.is-expanded){width:70px}.scene-journey .kisha-guide{bottom:230px}.kisha-bubble,.scene-journey .kisha-bubble{padding:13px 14px;max-height:none;overflow:hidden}.kisha-heading{margin-bottom:8px}.kisha-heading small{font-size:8px;margin-top:3px}.kisha-message h3{font-size:14px;margin-bottom:6px}.kisha-message p{font-size:12px;line-height:1.48;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.kisha-note,#kisha-track{display:none!important}.kisha-actions{margin-top:10px}.kisha-actions button{font-size:11px;padding:8px 10px}.kisha-actions #kisha-action{flex:1;text-align:left;background:#213e61}.kisha-welcome{padding:14px;gap:14px}.kisha-welcome-face{width:65px;height:80px}.kisha-welcome strong{font-size:15px}.kisha-welcome p{font-size:12px!important}}
@media(prefers-reduced-motion:reduce){.kisha-orbit::before,.kisha-orbit::after{animation:none}}
/* Keep the illustrated guide above the graph legend and navigation controls. */
.scene-map .kisha-guide{bottom:230px}
