

:root{--nick-font:'Instrument Serif','Cormorant Garamond',Georgia,serif;--nick-glow:0 0 22px rgba(160,195,255,.38),0 0 2px rgba(255,255,255,.3);--bg:#191919;--panel:#202020;--line:#383838;--text:#e8e8e8;--muted:#8a8a8a;--pink:#ffffff}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;min-height:100vh;color:var(--text);font:12.9px/1.55 'JetBrains Mono',ui-monospace,monospace;background:#07090d;background-image:radial-gradient(#1e2631 1px,transparent 1.2px);background-size:8px 8px}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-2;background:radial-gradient(ellipse at 50% 35%,transparent 30%,#03040699 100%)}
a{color:#dbdbdb;text-decoration:none}a:hover{color:#ffffff;text-decoration:none}
.wrap{width:min(1294px,calc(100% - 28px));margin:22px auto 44px;background:#1c1c1c;border:1px solid #343434;box-shadow:0 0 0 1px #0008}
header{height:203.5px;padding:60.5px 22px 19.8px;background:#242424;position:relative;border-bottom:1px solid #666666;overflow:hidden}
header:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(#a4a4a4 1px,transparent 1.5px);background-size:177px 91px;opacity:.45}
header .eyebrow{font:9.9px 'JetBrains Mono',monospace;color:#b3b3b3;position:relative}
h1{font:var(--nick-style,italic) 400 calc(clamp(42px,5vw,62px)*var(--nick-scale,1))/.9 var(--nick-font);letter-spacing:-.01em;margin:4px 0 8px;padding-right:.15em;color:#f4f6fa;text-shadow:var(--nick-glow);position:relative}
header p{margin:0;color:#b3b3b3;font:10.9px 'JetBrains Mono',monospace;position:relative}
nav{display:flex;justify-content:center;flex-wrap:wrap;gap:0;margin:0;padding:8.8px 11px;border-bottom:1px solid #484848;background:#1d1d1d}
nav a{font:9.9px 'JetBrains Mono',monospace;padding:0 5.5px;color:#8a8a8a}
nav a:hover{color:#ffffff}
nav .sep{font:9.9px 'JetBrains Mono',monospace;color:#666666;margin:0 -1px;user-select:none;-webkit-user-select:none;pointer-events:none;cursor:default}
.layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:9.9px;padding:11px 5.5px 22px}
aside,main{min-width:0}.panel{background:#202020;border:1px solid #353535;border-radius:0;padding:9.9px;box-shadow:none;min-width:0}
.panel+.panel{margin-top:9.9px}.panel h2{font:9.9px 'JetBrains Mono',monospace;color:#7f7f7f;margin:0 0 8.8px;padding:0 0 4.4px;border-bottom:1px dashed #555555}
.panel h2:before{content:".:: ";color:#b3b3b3}.panel h2:after{content:" ::.";color:#b3b3b3}
.avatar{width:114.4px;height:114.4px;object-fit:cover;border:3px solid #e3e3e3;outline:1px solid #111111;padding:2px;border-radius:0;display:block;margin:4.4px 0 13.2px 2px;transform:rotate(-3deg);background:#292929}
.name{font:700 14.8px 'JetBrains Mono',monospace;margin:13.2px 0 2px;color:#eeeeee}.status{font:10.9px 'JetBrains Mono',monospace;color:#8a8a8a;margin:0 0 2px}
aside>.panel:first-child{padding:13.2px 12.1px 15.4px}
.pills{display:flex;gap:4.4px;flex-wrap:wrap}.pill{font:9.9px 'JetBrains Mono',monospace;border:1px solid #414141;padding:2px 5.5px;border-radius:0;color:#cacaca;background:#252525}
.links{display:grid;gap:5.5px}.link{display:flex;justify-content:space-between;padding:5.5px 6.6px;background:#242424;border:1px solid #393939;font-size:9.9px}.link span{color:#858585;font-size:9.5px;margin-left:6.6px;text-align:right}
.intro{color:#d6d6d6;font-size:13.9px;margin:4.4px 0 15.4px}.two{display:grid;grid-template-columns:1fr 1fr;gap:7.7px}
.stat{padding:8.8px;background:#242424;border:1px solid #383838}.stat strong{display:block;font:700 18.8px 'JetBrains Mono',monospace}.stat small{font:9.5px 'JetBrains Mono',monospace;color:#939393}
.track-now{display:flex;gap:15.4px;align-items:center}.cover{width:68.2px;height:68.2px;object-fit:cover;background:#303030;flex-shrink:0}
.np-line{font-size:11.9px;line-height:1.5;overflow-wrap:anywhere}.np-time{margin-top:4.4px}
.trk{color:#eeeeee;text-decoration:none}a.trk:hover{color:#ffffff}
.dim{color:#8a8a8a}.when{color:#8a8a8a;font-size:10.9px;white-space:nowrap}.when .num{color:#d6d6d6}
.lists{display:grid;grid-template-columns:1fr 1fr;gap:8.8px}.listbox{background:#222222;border:1px solid #393939;padding:8.8px;min-width:0}
.listbox h3{font:9.5px 'JetBrains Mono',monospace;color:#949494;margin:0 0 7.7px}
.item{display:grid;grid-template-columns:19.8px 37.4px minmax(0,1fr) auto;gap:6.6px;align-items:center;padding:5.5px 0;border-bottom:1px solid #333333}.item:last-child{border:0}
.item img{width:37.4px;height:37.4px;object-fit:cover;background:#303030}.rank{font:9.5px 'JetBrains Mono',monospace;color:#838383}
.item-name{font-size:9.9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-sub{font-size:9.5px;color:#8a8a8a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plays{font:9.5px 'JetBrains Mono',monospace;color:#969696}
.feed{display:grid}.feedrow{display:flex;justify-content:space-between;align-items:baseline;gap:13.2px;padding:6.6px 0;border-bottom:1px solid #2e2e2e}.feedrow:last-child{border-bottom:0}
.feed-main{min-width:0;font-size:11.9px;overflow-wrap:anywhere}
.empty,.hint{color:#919191;font-size:9.9px}.presence{display:flex;gap:8.8px;align-items:center}.dot{width:8.8px;height:8.8px;background:#777777;box-shadow:0 0 5.5px currentColor;flex-shrink:0}
.dot.online{background:#bbbbbb;color:#bbbbbb}.dot.idle{background:#bebebe;color:#bebebe}
footer{text-align:center;color:#797979;font:9.5px 'JetBrains Mono',monospace;padding:15.4px;border-top:1px solid #333333}
@media(max-width:650px){.wrap{width:calc(100% - 14px);margin:7.7px auto 22px}header{height:176px;padding:49.5px 15.4px 15.4px}.layout{grid-template-columns:1fr;padding:8.8px}.lists{grid-template-columns:1fr}.avatar{width:101.2px;height:101.2px}}


.top8-list{display:grid;grid-template-columns:1fr 1fr;gap:5.5px}
.top8-person{display:flex;align-items:center;gap:6.6px;min-width:0;padding:5.5px 6.6px;background:#242424;border:1px solid #393939;color:#dbdbdb;font-size:9.9px}
.top8-person:hover{background:#2b2b2b;text-decoration:none}
.top8-number{color:#7f7f7f;font-size:9.5px}
.top8-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.top8-arrow{color:#8a8a8a}
.top8-person.placeholder{color:#7a7a7a;border-style:dashed}



.page-layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:9.9px;padding:11px 5.5px 22px}
.page-main{min-width:0}.page-content{min-height:363px}
.page-nav a[aria-current="page"],.page-nav a[aria-current="page"]:hover{color:#ffffff;text-decoration:none;text-shadow:0 0 6px #ffffff,0 0 14px #ffffff88}
.page-heading{font:15.8px 'JetBrains Mono',monospace;color:#eeeeee;margin:2px 0 13.2px}
.page-copy{color:#cccccc;font-size:10.9px}
.top8-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8.8px}
.friend-slot{display:flex;align-items:center;gap:11px;min-height:92.4px;padding:8.8px;border:1px dashed #555555;background:#242424;color:#dbdbdb}
.friend-slot img{width:63.8px;height:63.8px;object-fit:cover;border:1px solid #555555;background:#303030;flex-shrink:0}
.friend-slot .slot-number{font-size:9.5px;color:#8a8a8a}
.friend-slot .friend-name{font-size:10.9px;overflow-wrap:anywhere}
.friend-slot .slot-note{font-size:9.5px;color:#8a8a8a}
.friend-slot.empty-slot{color:#777777}
.entry-form{display:grid;gap:8.8px;margin:13.2px 0}
.entry-form input,.entry-form textarea{width:100%;padding:8.8px;background:#181818;border:1px solid #454545;color:#eeeeee;font:10.9px 'JetBrains Mono',monospace}
.entry-form textarea{min-height:115.5px;resize:vertical}
.entry-form button,.action-button{justify-self:start;padding:7.7px 13.2px;background:#292929;border:1px solid #666666;color:#eeeeee;font:9.9px 'JetBrains Mono',monospace;cursor:pointer}
.entry-form button:hover,.action-button:hover{background:#383838}
.entry-card{padding:9.9px 2px;border-bottom:1px dashed #454545}
.entry-card strong{font-size:10.9px}.entry-card small{display:block;color:#8a8a8a;font-size:9.5px;margin-top:3px}
.entry-card p{font-size:10.9px;white-space:pre-wrap;overflow-wrap:anywhere;margin:7.7px 0 0}
.question{padding:9.9px 0;border-bottom:1px dashed #444444}
.question label{display:block;color:#c4c4c4;font-size:9.9px;margin-bottom:5.5px}
.question input{width:100%;padding:7.7px;background:#181818;border:1px solid #454545;color:#eeeeee;font:10.9px 'JetBrains Mono',monospace}
@media(max-width:650px){.page-layout{grid-template-columns:1fr;padding:8.8px}.top8-grid{grid-template-columns:1fr}}

/* Small accessibility and loading refinements */
:focus-visible{outline:2px solid #ffffff;outline-offset:3px}
.skip-link{position:absolute;left:8.8px;top:-50px;z-index:20;padding:7.7px 11px;background:#ffffff;color:#191919}
.skip-link:focus{top:8.8px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Home: compact About block attached to the top (scoped to body.home; other pages unaffected) */
.home .page-content{min-height:0;padding:7.7px 11px 11px}
.home .page-content .intro{margin:2px 0 0}
.home [hidden]{display:none!important}
.home .status-row{display:flex;justify-content:space-between;align-items:baseline;gap:13.2px}
.home .status-text{min-width:0;font-size:11.9px;color:#eeeeee;white-space:pre-wrap;overflow-wrap:anywhere}
.home #status-admin{margin-top:8.8px;padding-top:6.6px;border-top:1px dashed #454545}

/* Night scene background (created by background.js): dark blue haze, blurred pines, drifting stars */
.bg-scene{position:fixed;inset:0;z-index:-4;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse 60% 55% at 14% 100%,#222a35 0%,transparent 72%),radial-gradient(ellipse 55% 50% at 88% 100%,#1b222c 0%,transparent 72%),linear-gradient(180deg,#06080c 0%,#0a0d12 50%,#141a21 100%)}
.bg-scene:before{content:"";position:absolute;left:-40px;right:-40px;bottom:-40px;height:62vh;background:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1600 520" preserveAspectRatio="xMidYMax slice"%3E%3Cg fill="%23040508"%3E%3Cpolygon points="202,341 180,408 224,408"/%3E%3Cpolygon points="202,372 174,440 230,440"/%3E%3Cpolygon points="202,404 168,472 236,472"/%3E%3Cpolygon points="202,436 162,504 242,504"/%3E%3Cpolygon points="202,468 156,536 248,536"/%3E%3Crect x="199" y="520" width="6" height="30"/%3E%3Cpolygon points="256,167 216,293 296,293"/%3E%3Cpolygon points="256,226 205,353 307,353"/%3E%3Cpolygon points="256,286 194,413 318,413"/%3E%3Cpolygon points="256,346 183,473 329,473"/%3E%3Cpolygon points="256,406 172,533 340,533"/%3E%3Crect x="253" y="503" width="6" height="56"/%3E%3Cpolygon points="204,140 164,276 244,276"/%3E%3Cpolygon points="204,204 153,340 255,340"/%3E%3Cpolygon points="204,268 142,404 266,404"/%3E%3Cpolygon points="204,332 131,468 277,468"/%3E%3Cpolygon points="204,396 121,532 288,532"/%3E%3Crect x="201" y="500" width="6" height="60"/%3E%3Cpolygon points="198,183 159,304 237,304"/%3E%3Cpolygon points="198,240 149,362 247,362"/%3E%3Cpolygon points="198,297 138,419 258,419"/%3E%3Cpolygon points="198,354 128,476 268,476"/%3E%3Cpolygon points="198,412 117,533 278,533"/%3E%3Crect x="195" y="504" width="6" height="54"/%3E%3Cpolygon points="155,211 121,323 189,323"/%3E%3Cpolygon points="155,263 111,375 199,375"/%3E%3Cpolygon points="155,316 102,428 208,428"/%3E%3Cpolygon points="155,369 93,481 217,481"/%3E%3Cpolygon points="155,421 83,533 226,533"/%3E%3Crect x="152" y="507" width="6" height="49"/%3E%3Cpolygon points="205,148 159,282 251,282"/%3E%3Cpolygon points="205,211 146,344 264,344"/%3E%3Cpolygon points="205,274 134,407 277,407"/%3E%3Cpolygon points="205,336 121,470 289,470"/%3E%3Cpolygon points="205,399 108,532 302,532"/%3E%3Crect x="202" y="501" width="6" height="59"/%3E%3Cpolygon points="298,236 264,340 331,340"/%3E%3Cpolygon points="298,285 255,388 340,388"/%3E%3Cpolygon points="298,333 246,437 350,437"/%3E%3Cpolygon points="298,382 237,485 359,485"/%3E%3Cpolygon points="298,431 228,534 368,534"/%3E%3Crect x="295" y="510" width="6" height="46"/%3E%3Cpolygon points="250,335 227,405 272,405"/%3E%3Cpolygon points="250,368 221,438 279,438"/%3E%3Cpolygon points="250,401 215,470 285,470"/%3E%3Cpolygon points="250,434 208,503 291,503"/%3E%3Cpolygon points="250,466 202,536 297,536"/%3E%3Crect x="247" y="520" width="6" height="31"/%3E%3Cpolygon points="293,195 251,312 334,312"/%3E%3Cpolygon points="293,250 240,367 345,367"/%3E%3Cpolygon points="293,305 229,423 356,423"/%3E%3Cpolygon points="293,360 218,478 368,478"/%3E%3Cpolygon points="293,416 206,533 379,533"/%3E%3Crect x="290" y="505" width="6" height="52"/%3E%3Cpolygon points="237,153 199,284 276,284"/%3E%3Cpolygon points="237,215 189,346 286,346"/%3E%3Cpolygon points="237,277 178,408 297,408"/%3E%3Cpolygon points="237,339 168,470 307,470"/%3E%3Cpolygon points="237,401 157,532 318,532"/%3E%3Crect x="234" y="501" width="6" height="58"/%3E%3Cpolygon points="248,257 216,353 279,353"/%3E%3Cpolygon points="248,303 208,399 287,399"/%3E%3Cpolygon points="248,348 200,444 296,444"/%3E%3Cpolygon points="248,393 191,489 304,489"/%3E%3Cpolygon points="248,438 183,534 313,534"/%3E%3Crect x="245" y="512" width="6" height="42"/%3E%3Cpolygon points="233,345 213,411 253,411"/%3E%3Cpolygon points="233,376 207,442 259,442"/%3E%3Cpolygon points="233,407 201,474 264,474"/%3E%3Cpolygon points="233,438 196,505 270,505"/%3E%3Cpolygon points="233,470 190,536 276,536"/%3E%3Crect x="230" y="520" width="6" height="29"/%3E%3Cpolygon points="103,310 82,388 125,388"/%3E%3Cpolygon points="103,347 76,425 131,425"/%3E%3Cpolygon points="103,383 70,462 137,462"/%3E%3Cpolygon points="103,420 64,499 143,499"/%3E%3Cpolygon points="103,457 58,535 149,535"/%3E%3Crect x="100" y="517" width="6" height="35"/%3E%3Cpolygon points="280,336 257,405 303,405"/%3E%3Cpolygon points="280,369 250,438 309,438"/%3E%3Cpolygon points="280,401 244,471 316,471"/%3E%3Cpolygon points="280,434 238,503 322,503"/%3E%3Cpolygon points="280,467 232,536 328,536"/%3E%3Crect x="277" y="520" width="6" height="31"/%3E%3Cpolygon points="255,319 234,394 277,394"/%3E%3Cpolygon points="255,354 228,429 283,429"/%3E%3Cpolygon points="255,390 222,465 289,465"/%3E%3Cpolygon points="255,425 216,500 295,500"/%3E%3Cpolygon points="255,460 210,536 301,536"/%3E%3Crect x="252" y="518" width="6" height="33"/%3E%3Cpolygon points="255,256 222,353 288,353"/%3E%3Cpolygon points="255,302 213,398 297,398"/%3E%3Cpolygon points="255,347 204,443 306,443"/%3E%3Cpolygon points="255,392 195,489 315,489"/%3E%3Cpolygon points="255,438 186,534 324,534"/%3E%3Crect x="252" y="512" width="6" height="43"/%3E%3Cpolygon points="1166,331 1144,402 1188,402"/%3E%3Cpolygon points="1166,364 1139,435 1194,435"/%3E%3Cpolygon points="1166,398 1133,469 1200,469"/%3E%3Cpolygon points="1166,431 1127,502 1206,502"/%3E%3Cpolygon points="1166,465 1121,536 1212,536"/%3E%3Crect x="1163" y="519" width="6" height="31"/%3E%3Cpolygon points="1158,218 1121,328 1196,328"/%3E%3Cpolygon points="1158,270 1111,379 1206,379"/%3E%3Cpolygon points="1158,321 1101,431 1216,431"/%3E%3Cpolygon points="1158,373 1090,482 1226,482"/%3E%3Cpolygon points="1158,424 1080,534 1237,534"/%3E%3Crect x="1155" y="508" width="6" height="48"/%3E%3Cpolygon points="1287,153 1242,285 1331,285"/%3E%3Cpolygon points="1287,215 1230,347 1344,347"/%3E%3Cpolygon points="1287,277 1217,409 1356,409"/%3E%3Cpolygon points="1287,339 1205,470 1368,470"/%3E%3Cpolygon points="1287,401 1193,532 1380,532"/%3E%3Crect x="1284" y="501" width="6" height="58"/%3E%3Cpolygon points="1350,283 1323,370 1376,370"/%3E%3Cpolygon points="1350,324 1316,412 1383,412"/%3E%3Cpolygon points="1350,365 1309,453 1391,453"/%3E%3Cpolygon points="1350,406 1302,494 1398,494"/%3E%3Cpolygon points="1350,448 1295,535 1405,535"/%3E%3Crect x="1347" y="514" width="6" height="39"/%3E%3Cpolygon points="1466,264 1434,358 1498,358"/%3E%3Cpolygon points="1466,308 1425,402 1507,402"/%3E%3Cpolygon points="1466,352 1416,446 1515,446"/%3E%3Cpolygon points="1466,396 1407,490 1524,490"/%3E%3Cpolygon points="1466,441 1399,534 1533,534"/%3E%3Crect x="1463" y="512" width="6" height="41"/%3E%3Cpolygon points="1413,120 1373,263 1453,263"/%3E%3Cpolygon points="1413,187 1362,330 1464,330"/%3E%3Cpolygon points="1413,254 1351,397 1475,397"/%3E%3Cpolygon points="1413,322 1340,464 1486,464"/%3E%3Cpolygon points="1413,389 1330,532 1497,532"/%3E%3Crect x="1410" y="498" width="6" height="63"/%3E%3Cpolygon points="1498,308 1475,387 1521,387"/%3E%3Cpolygon points="1498,345 1469,424 1527,424"/%3E%3Cpolygon points="1498,382 1463,461 1533,461"/%3E%3Cpolygon points="1498,419 1457,498 1539,498"/%3E%3Cpolygon points="1498,456 1451,535 1546,535"/%3E%3Crect x="1495" y="517" width="6" height="35"/%3E%3Cpolygon points="1324,294 1298,378 1350,378"/%3E%3Cpolygon points="1324,333 1291,417 1357,417"/%3E%3Cpolygon points="1324,373 1284,456 1364,456"/%3E%3Cpolygon points="1324,412 1277,496 1371,496"/%3E%3Cpolygon points="1324,451 1270,535 1378,535"/%3E%3Crect x="1321" y="515" width="6" height="37"/%3E%3Cpolygon points="1466,209 1434,321 1499,321"/%3E%3Cpolygon points="1466,262 1425,374 1508,374"/%3E%3Cpolygon points="1466,315 1416,427 1517,427"/%3E%3Cpolygon points="1466,368 1407,480 1526,480"/%3E%3Cpolygon points="1466,421 1398,533 1534,533"/%3E%3Crect x="1463" y="507" width="6" height="50"/%3E%3Cpolygon points="1479,349 1459,414 1499,414"/%3E%3Cpolygon points="1479,380 1454,445 1504,445"/%3E%3Cpolygon points="1479,410 1449,475 1510,475"/%3E%3Cpolygon points="1479,441 1443,506 1515,506"/%3E%3Cpolygon points="1479,471 1438,536 1520,536"/%3E%3Crect x="1476" y="521" width="6" height="29"/%3E%3Cpolygon points="1321,261 1291,356 1351,356"/%3E%3Cpolygon points="1321,306 1283,401 1359,401"/%3E%3Cpolygon points="1321,351 1275,445 1367,445"/%3E%3Cpolygon points="1321,395 1267,490 1375,490"/%3E%3Cpolygon points="1321,440 1258,534 1383,534"/%3E%3Crect x="1318" y="512" width="6" height="42"/%3E%3Cpolygon points="1503,121 1457,264 1550,264"/%3E%3Cpolygon points="1503,188 1444,331 1563,331"/%3E%3Cpolygon points="1503,255 1432,398 1575,398"/%3E%3Cpolygon points="1503,322 1419,465 1588,465"/%3E%3Cpolygon points="1503,389 1407,532 1600,532"/%3E%3Crect x="1500" y="498" width="6" height="63"/%3E%3Cpolygon points="1600,226 1565,333 1634,333"/%3E%3Cpolygon points="1600,276 1556,383 1643,383"/%3E%3Cpolygon points="1600,327 1547,433 1652,433"/%3E%3Cpolygon points="1600,377 1538,484 1662,484"/%3E%3Cpolygon points="1600,427 1528,534 1671,534"/%3E%3Crect x="1597" y="509" width="6" height="47"/%3E%3Cpolygon points="1327,188 1294,307 1360,307"/%3E%3Cpolygon points="1327,244 1285,364 1368,364"/%3E%3Cpolygon points="1327,300 1277,420 1377,420"/%3E%3Cpolygon points="1327,357 1268,477 1386,477"/%3E%3Cpolygon points="1327,413 1259,533 1395,533"/%3E%3Crect x="1324" y="505" width="6" height="53"/%3E%3Cpolygon points="1309,134 1263,272 1355,272"/%3E%3Cpolygon points="1309,199 1250,337 1368,337"/%3E%3Cpolygon points="1309,264 1238,402 1380,402"/%3E%3Cpolygon points="1309,329 1225,467 1393,467"/%3E%3Cpolygon points="1309,394 1213,532 1405,532"/%3E%3Crect x="1306" y="499" width="6" height="61"/%3E%3Cpolygon points="1368,140 1323,276 1414,276"/%3E%3Cpolygon points="1368,204 1310,340 1426,340"/%3E%3Cpolygon points="1368,268 1298,404 1439,404"/%3E%3Cpolygon points="1368,332 1286,468 1451,468"/%3E%3Cpolygon points="1368,396 1273,532 1464,532"/%3E%3Crect x="1365" y="500" width="6" height="60"/%3E%3Cpolygon points="1404,256 1375,352 1433,352"/%3E%3Cpolygon points="1404,301 1367,398 1441,398"/%3E%3Cpolygon points="1404,347 1359,443 1449,443"/%3E%3Cpolygon points="1404,392 1351,489 1457,489"/%3E%3Cpolygon points="1404,438 1343,534 1465,534"/%3E%3Crect x="1401" y="512" width="6" height="43"/%3E%3Cpolygon points="1515,325 1491,398 1538,398"/%3E%3Cpolygon points="1515,360 1485,433 1545,433"/%3E%3Cpolygon points="1515,394 1479,467 1551,467"/%3E%3Cpolygon points="1515,428 1472,501 1557,501"/%3E%3Cpolygon points="1515,463 1466,536 1564,536"/%3E%3Crect x="1512" y="519" width="6" height="32"/%3E%3Cpolygon points="1457,335 1438,405 1476,405"/%3E%3Cpolygon points="1457,368 1433,438 1482,438"/%3E%3Cpolygon points="1457,401 1428,470 1487,470"/%3E%3Cpolygon points="1457,433 1423,503 1492,503"/%3E%3Cpolygon points="1457,466 1417,536 1497,536"/%3E%3Crect x="1454" y="520" width="6" height="31"/%3E%3Cpolygon points="1353,300 1330,382 1376,382"/%3E%3Cpolygon points="1353,338 1324,420 1382,420"/%3E%3Cpolygon points="1353,377 1317,458 1388,458"/%3E%3Cpolygon points="1353,415 1311,497 1395,497"/%3E%3Cpolygon points="1353,454 1305,535 1401,535"/%3E%3Crect x="1350" y="516" width="6" height="36"/%3E%3Cpolygon points="1276,268 1251,361 1302,361"/%3E%3Cpolygon points="1276,312 1244,404 1308,404"/%3E%3Cpolygon points="1276,355 1238,448 1315,448"/%3E%3Cpolygon points="1276,399 1231,491 1322,491"/%3E%3Cpolygon points="1276,442 1224,535 1329,535"/%3E%3Crect x="1273" y="513" width="6" height="41"/%3E%3Cpolygon points="1342,350 1324,415 1360,415"/%3E%3Cpolygon points="1342,380 1319,445 1365,445"/%3E%3Cpolygon points="1342,411 1314,475 1370,475"/%3E%3Cpolygon points="1342,441 1309,506 1375,506"/%3E%3Cpolygon points="1342,472 1304,536 1380,536"/%3E%3Crect x="1339" y="521" width="6" height="29"/%3E%3Cpolygon points="1603,326 1581,399 1625,399"/%3E%3Cpolygon points="1603,360 1575,433 1631,433"/%3E%3Cpolygon points="1603,394 1570,467 1637,467"/%3E%3Cpolygon points="1603,429 1564,501 1643,501"/%3E%3Cpolygon points="1603,463 1558,536 1649,536"/%3E%3Crect x="1600" y="519" width="6" height="32"/%3E%3Cpolygon points="1299,344 1276,411 1322,411"/%3E%3Cpolygon points="1299,375 1270,442 1328,442"/%3E%3Cpolygon points="1299,407 1264,473 1334,473"/%3E%3Cpolygon points="1299,438 1257,505 1340,505"/%3E%3Cpolygon points="1299,469 1251,536 1346,536"/%3E%3Crect x="1296" y="520" width="6" height="29"/%3E%3Cpolygon points="1457,203 1425,317 1489,317"/%3E%3Cpolygon points="1457,257 1416,371 1498,371"/%3E%3Cpolygon points="1457,311 1407,425 1506,425"/%3E%3Cpolygon points="1457,365 1398,479 1515,479"/%3E%3Cpolygon points="1457,419 1390,533 1524,533"/%3E%3Crect x="1454" y="506" width="6" height="51"/%3E%3Cpolygon points="1271,289 1246,375 1296,375"/%3E%3Cpolygon points="1271,330 1239,415 1303,415"/%3E%3Cpolygon points="1271,370 1232,455 1310,455"/%3E%3Cpolygon points="1271,410 1225,495 1317,495"/%3E%3Cpolygon points="1271,450 1218,535 1324,535"/%3E%3Crect x="1268" y="515" width="6" height="38"/%3E%3Cpolygon points="1118,263 1092,357 1145,357"/%3E%3Cpolygon points="1118,307 1085,401 1152,401"/%3E%3Cpolygon points="1118,351 1078,446 1159,446"/%3E%3Cpolygon points="1118,396 1071,490 1166,490"/%3E%3Cpolygon points="1118,440 1064,534 1173,534"/%3E%3Crect x="1115" y="512" width="6" height="42"/%3E%3Cpolygon points="391,146 343,280 438,280"/%3E%3Cpolygon points="391,209 331,343 451,343"/%3E%3Cpolygon points="391,272 318,406 463,406"/%3E%3Cpolygon points="391,335 305,469 476,469"/%3E%3Cpolygon points="391,398 292,532 489,532"/%3E%3Crect x="388" y="501" width="6" height="59"/%3E%3Cpolygon points="919,238 887,341 951,341"/%3E%3Cpolygon points="919,286 879,389 959,389"/%3E%3Cpolygon points="919,335 870,437 968,437"/%3E%3Cpolygon points="919,383 862,486 977,486"/%3E%3Cpolygon points="919,431 853,534 985,534"/%3E%3Crect x="916" y="510" width="6" height="45"/%3E%3Cpolygon points="840,329 820,401 860,401"/%3E%3Cpolygon points="840,363 815,435 866,435"/%3E%3Cpolygon points="840,397 810,468 871,468"/%3E%3Cpolygon points="840,430 804,502 876,502"/%3E%3Cpolygon points="840,464 799,536 882,536"/%3E%3Crect x="837" y="519" width="6" height="32"/%3E%3Cpolygon points="1400,268 1373,360 1427,360"/%3E%3Cpolygon points="1400,311 1366,404 1434,404"/%3E%3Cpolygon points="1400,355 1359,447 1442,447"/%3E%3Cpolygon points="1400,398 1351,491 1449,491"/%3E%3Cpolygon points="1400,442 1344,535 1456,535"/%3E%3Crect x="1397" y="513" width="6" height="41"/%3E%3Cpolygon points="1167,151 1130,283 1204,283"/%3E%3Cpolygon points="1167,213 1120,346 1214,346"/%3E%3Cpolygon points="1167,276 1110,408 1225,408"/%3E%3Cpolygon points="1167,338 1100,470 1235,470"/%3E%3Cpolygon points="1167,400 1089,532 1245,532"/%3E%3Crect x="1164" y="501" width="6" height="58"/%3E%3Cpolygon points="461,344 438,411 484,411"/%3E%3Cpolygon points="461,376 431,442 490,442"/%3E%3Cpolygon points="461,407 425,474 496,474"/%3E%3Cpolygon points="461,438 419,505 503,505"/%3E%3Cpolygon points="461,470 412,536 509,536"/%3E%3Crect x="458" y="520" width="6" height="29"/%3E%3Cpolygon points="1568,223 1538,331 1599,331"/%3E%3Cpolygon points="1568,274 1530,382 1607,382"/%3E%3Cpolygon points="1568,325 1522,432 1615,432"/%3E%3Cpolygon points="1568,375 1513,483 1623,483"/%3E%3Cpolygon points="1568,426 1505,534 1631,534"/%3E%3Crect x="1565" y="508" width="6" height="48"/%3E%3Cpolygon points="189,220 159,329 218,329"/%3E%3Cpolygon points="189,271 151,380 226,380"/%3E%3Cpolygon points="189,322 143,431 234,431"/%3E%3Cpolygon points="189,373 135,482 242,482"/%3E%3Cpolygon points="189,425 128,534 250,534"/%3E%3Crect x="186" y="508" width="6" height="48"/%3E%3Cpolygon points="669,223 631,331 707,331"/%3E%3Cpolygon points="669,274 621,382 717,382"/%3E%3Cpolygon points="669,325 611,432 727,432"/%3E%3Cpolygon points="669,375 600,483 738,483"/%3E%3Cpolygon points="669,426 590,534 748,534"/%3E%3Crect x="666" y="508" width="6" height="48"/%3E%3Cpolygon points="1211,143 1167,278 1256,278"/%3E%3Cpolygon points="1211,206 1155,341 1268,341"/%3E%3Cpolygon points="1211,270 1143,405 1280,405"/%3E%3Cpolygon points="1211,333 1131,469 1292,469"/%3E%3Cpolygon points="1211,397 1119,532 1303,532"/%3E%3Crect x="1208" y="500" width="6" height="60"/%3E%3Cpolygon points="243,287 217,373 269,373"/%3E%3Cpolygon points="243,328 210,414 276,414"/%3E%3Cpolygon points="243,368 204,454 283,454"/%3E%3Cpolygon points="243,409 197,495 290,495"/%3E%3Cpolygon points="243,449 190,535 297,535"/%3E%3Crect x="240" y="515" width="6" height="38"/%3E%3Cpolygon points="782,310 756,388 808,388"/%3E%3Cpolygon points="782,347 749,425 816,425"/%3E%3Cpolygon points="782,384 742,462 823,462"/%3E%3Cpolygon points="782,420 735,499 830,499"/%3E%3Cpolygon points="782,457 728,535 837,535"/%3E%3Crect x="779" y="517" width="6" height="35"/%3E%3C/g%3E%3C/svg%3E') center bottom/cover no-repeat;filter:blur(13px);opacity:.9}
.bg-scene:after{content:"";position:absolute;inset:0;background-image:radial-gradient(#202a37 1px,transparent 1.2px);background-size:8px 8px;opacity:.55}
.click-fx{position:fixed;inset:0;width:100%;height:100%;z-index:9100;pointer-events:none}
.snow-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:9000;pointer-events:none}

/* Optional background video (created by background.js when BG_VIDEO.src is set) */
.bg-video{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;pointer-events:none}

/* ===== Preloader (markup: #preloader at the top of <body>; logic: preloader.js) ===== */
#preloader{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));color:var(--text,#e8e8e8);font:11.7px/1.55 'JetBrains Mono',ui-monospace,monospace;background:#000000;opacity:1;}
#preloader[hidden]{display:none!important}
#preloader.is-hidden{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s ease,visibility 0s linear .45s}
#preloader .pl-inner{display:flex;flex-direction:column;align-items:center;width:min(100%,420px);text-align:center}
#preloader .pl-title{display:inline-block;padding:.1em .3em .1em .1em;font:var(--nick-style,italic) 400 calc(clamp(38px,10vw,62px)*var(--nick-scale,1))/1.2 var(--nick-font);letter-spacing:-.01em;color:#ffffff;white-space:nowrap;overflow:visible}
@supports ((-webkit-background-clip:text) or (background-clip:text)){#preloader .pl-title{background:linear-gradient(100deg,#ffffff 0%,#ffffff 25%,#000000 50%,#ffffff 75%,#ffffff 100%) 0 0/250% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:pl-shimmer 2.4s ease-in-out infinite}}
#preloader .pl-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@keyframes pl-shimmer{from{background-position:100% 0}to{background-position:-150% 0}}
@media(prefers-reduced-motion:reduce){#preloader.is-hidden{transition:none}#preloader .pl-title{animation:none!important;background:none!important;-webkit-text-fill-color:#ffffff;color:#ffffff}}


/* SlamBook — compact profile + question/answer layout */
.slam-card{margin-top:13.2px;padding:13.2px;background:#191919;border:1px solid #292929}
.slam-person{display:flex;align-items:center;gap:9.9px;margin:0 0 11px}
.slam-avatar{width:30.8px;height:30.8px;flex:0 0 30.8px;overflow:hidden;background:#292929;border:1px solid #444444}
.slam-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.slam-person-meta{display:flex;align-items:baseline;gap:8.8px;flex-wrap:wrap;font:9.9px 'JetBrains Mono',monospace}
.slam-person-meta strong{color:#e3e3e3;text-decoration:none}
.slam-person-meta span{color:#8a8a8a}
.slam-answers{display:grid;grid-template-columns:1fr;gap:0}
.slam-answer{display:grid;grid-template-columns:minmax(0,42%) minmax(0,58%);gap:11px;align-items:center;min-height:29.7px;padding:4.4px 0;border-bottom:1px dotted #363636;font:9.9px 'JetBrains Mono',monospace}
.slam-answer:last-child{border-bottom:0}
.slam-answer span{color:#8a8a8a;overflow-wrap:anywhere}
.slam-answer strong{color:#e5e5e5;font-weight:500;overflow-wrap:anywhere}
@media(max-width:520px){.slam-answer{grid-template-columns:minmax(0,1fr);gap:3px;padding:7.7px 0}.slam-person-meta{gap:5.5px}}

/* Home: "top this week" block (two columns, dashed row dividers; one column on mobile) */
.panel h2.h-plain:before{content:":: "}.panel h2.h-plain:after{content:" ::"}
.weekly-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19.8px}
.weekly-col{min-width:0}
.weekly-col h3{font:9.9px 'JetBrains Mono',monospace;letter-spacing:.08em;color:#949494;margin:2px 0 4.4px}
.weekly-row{display:flex;justify-content:space-between;align-items:baseline;gap:13.2px;padding:6.6px 0;border-bottom:1px dashed #454545}
.weekly-row:last-child{border-bottom:0}
.weekly-main{min-width:0;font-size:11.9px;overflow-wrap:anywhere}
@media(max-width:650px){.weekly-cols{grid-template-columns:1fr;gap:15.4px}}

/* Preloader: skipped when already shown in this session */
html.pl-seen #preloader{display:none!important}

/* Home: "top albums this month" cover strip (13 covers in a row; wraps on smaller screens) */
.albums-grid{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:6.6px}
.album{display:block;aspect-ratio:1/1;background:#303030;border:1px solid #393939;overflow:hidden}
.album img{display:block;width:100%;height:100%;object-fit:cover}
a.album:hover{border-color:#ffffff}
.album.no-cover{background:repeating-linear-gradient(45deg,#272727,#272727 6px,#2d2d2d 6px,#2d2d2d 12px)}
.albums-grid .empty{grid-column:1/-1}
@media(max-width:900px){.albums-grid{grid-template-columns:repeat(7,minmax(0,1fr))}}
@media(max-width:650px){.albums-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Home: picture block with a FIXED size (independent of the image; the image is cropped with object-fit) */
.fun-box{width:557px;max-width:100%;aspect-ratio:557/226;background:#181818;border:1px solid #393939;overflow-x:hidden;overflow-y:auto;position:relative;cursor:grab}
.fun-box.grabbing{cursor:grabbing}
#fun{cursor:grab}#fun.grabbing{cursor:grabbing}
.fun-box img{display:block;width:100%;height:auto}
.fun-box.is-empty{border-style:dashed;background:repeating-linear-gradient(45deg,#232323,#232323 8px,#292929 8px,#292929 16px)}

/* Top 8 page: full-width panel, 4 centered avatars per row */
.top8-page .page-content{min-height:0}
.t8-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));justify-items:center;gap:22px 10px;padding:14px 0 10px}
.t8{display:flex;flex-direction:column;align-items:center;gap:7px;max-width:100%;color:#d7d7d7}
a.t8:hover{text-decoration:none}
.t8-av{display:flex;align-items:center;justify-content:center;width:64px;height:64px;flex:0 0 64px;overflow:hidden;background:#292929;border:1px solid #4a4a4a;outline:1px solid #111111}
.t8-av img{display:block;width:100%;height:100%;object-fit:cover}
.t8-ph{color:#707070;font-size:10.8px}
.t8-name{font-size:10.9px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 4px}
.t8.is-empty{color:#7a7a7a}.t8.is-empty .t8-av{border-style:dashed;background:transparent}
@media(max-width:650px){.t8-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Preloader: when the nickname flies into the header, the overlay turns transparent and the title looks exactly like the header h1 */
#preloader{transition:background-color .7s ease}
#preloader.is-flying{background-color:transparent}
#preloader.is-flying .pl-title{animation:none!important;background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;-webkit-text-fill-color:#f0f0f0!important;color:#f0f0f0!important;text-shadow:var(--nick-glow);will-change:transform}

/* Picture block: [hidden] must really hide the <img> */
.fun-box img[hidden]{display:none}

/* All pages share the height of the home page (value is measured on home by pagesize.js; the number below is a fallback) */
@media(min-width:651px){
  body:not(.home) .page-layout{min-height:1330px}
  body:not(.home) .page-main{display:flex;flex-direction:column}
  body:not(.home) .page-main>.page-content{flex:1 1 auto}
}



/* Picture block: pretty scrollbar on the right side of the block */
.fun-box{scroll-behavior:smooth;overscroll-behavior:contain}
.fun-box{scrollbar-width:none;-ms-overflow-style:none}
.fun-box::-webkit-scrollbar{display:none;width:0;height:0}

/* Menu: no underline on hover (only a color change) */
nav a:hover,nav a:focus-visible{text-decoration:none}


/* ===== Discord status in the profile card (discord-status.js) ===== */
.status.dc{display:grid;gap:3px;color:#cfcfcf}
.dc-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 6px;min-width:0;overflow-wrap:anywhere}
.dc-dot{width:8px;height:8px;flex:none;display:inline-block;align-self:center;background:#6b6b6b}
.dc-custom{color:#eeeeee}
.dc-sub{color:#8a8a8a;font-size:9.9px;padding-left:14px}
.dc-emoji{width:14px;height:14px;object-fit:contain;align-self:center;display:inline-block}
.dc-emoji-text{font-size:11.7px}

/* ===== Journal calendar (journal.js) ===== */
[hidden]{display:none!important}
.cal{margin:2px 0 0}
.cal-head{display:flex;align-items:center;gap:9px;margin:6px 0 16px;font:10.9px 'JetBrains Mono',monospace;color:#dddddd}
.cal-nav{background:none;border:0;padding:0 2px;font:10.9px 'JetBrains Mono',monospace;color:#e0b66b;cursor:pointer}
.cal-nav:hover{color:#ffffff}
.cal-grid{display:grid;grid-template-columns:repeat(7,32px);row-gap:12px;font:10.9px 'JetBrains Mono',monospace}
.cal-wd{color:#6e6e6e;font-size:9.9px}
.cal-day{display:block;padding:0;border:0;background:none;color:#7f7f7f;font:inherit;text-align:left}
button.cal-day{color:#5fa3a5;cursor:pointer}
button.cal-day:hover{color:#ffffff}
.cal-day.today{text-decoration:none;box-shadow:inset 0 0 0 1px #6a6a6a;color:#d8d8d8}
button.cal-day.today{color:#7cc3c5}
.cal-day.sel{color:#ffffff;text-shadow:0 0 6px #ffffff88}
.cal button:focus-visible{outline:1px solid #ffffff;outline-offset:3px}
#journal-day{margin-top:20px}
.journal-date{font:9.9px 'JetBrains Mono',monospace;color:#8a8a8a;border-bottom:1px dashed #454545;padding-bottom:6px}

/* ===== Admin page (admin.html / admin.js) ===== */
.admin-layout{max-width:640px;margin:0 auto;padding:11px 5.5px 22px}
.admin-label{font:9.9px 'JetBrains Mono',monospace;color:#9a9a9a;margin-top:4px}
.admin-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.admin-bar{display:flex;justify-content:space-between;align-items:center;margin:2px 0 12px;font-size:9.9px}
.admin-sub{margin-top:22px}
.admin-msg{min-height:1.6em;font:10.9px 'JetBrains Mono',monospace;color:#9a9a9a}
.admin-msg.nope{color:#ff4d4d}
.admin-msg.ok{color:#6fcf8f}
.admin-msg.dim{color:#9a9a9a}
.entry-form input[type=date]{color-scheme:dark}
.entry-form textarea{resize:vertical;min-height:120px}


/* ===== Lyrics block (home): one synced line, words fill in as they are sung ===== */
.ly-box{display:flex;align-items:center;justify-content:center;min-height:92px;padding:14px 6px 16px;text-align:center}
.ly-line{font-size:clamp(15px,2.3vw,24px);font-weight:500;line-height:1.45;overflow-wrap:anywhere;max-width:100%}
.ly-line.is-in{animation:ly-in .28s ease-out}
.ly-w{background:linear-gradient(90deg,#f2f2f2 var(--w,-12%),#4a4a4a calc(var(--w,-12%) + 12%));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.ly-gap{color:#4a4a4a}
@keyframes ly-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.ly-line.is-in{animation:none}}


/* ===== Listening to: cover + equalizer + title/artist + progress bar + time ===== */
.np-main{flex:1;min-width:0}
.eq{display:inline-flex;align-items:flex-end;gap:2px;width:12px;height:11px;margin-right:9px;vertical-align:-1px}
.eq i{display:block;width:3px;background:#9a9a9a;height:35%}
.eq i:nth-child(2){height:100%}.eq i:nth-child(3){height:65%}
.eq.is-playing i{animation:eq-b .9s ease-in-out infinite}
.eq.is-playing i:nth-child(2){animation-duration:.7s;animation-delay:-.3s}
.eq.is-playing i:nth-child(3){animation-duration:1.1s;animation-delay:-.6s}
@keyframes eq-b{0%,100%{height:25%}50%{height:100%}}
.np-bar{height:3px;margin:9px 0 7px;background:#383838;overflow:hidden}
.np-bar[hidden]{display:none}
.np-bar i{display:block;height:100%;width:0;background:#c9c9c9;transition:width .25s linear}
.np-time{color:#9b7e63;margin-top:0}
@media(prefers-reduced-motion:reduce){.eq.is-playing i{animation:none}.np-bar i{transition:none}}


/* ===== Visitors counter (visitors.js) ===== */
.vis{display:flex;flex-wrap:wrap;gap:4px;padding:3px 0 2px}
.vis i{font-style:normal;display:inline-flex;align-items:center;justify-content:center;width:20px;height:27px;background:#181818;border:1px solid #6a6a6a;outline:1px solid #111111;color:#f2f2f2;font:700 13px 'JetBrains Mono',monospace}

/* Journal: all entries listed under the calendar */
#journal-day{margin-top:20px}
.journal-group{margin-bottom:18px;scroll-margin-top:12px}
.journal-group.flash .journal-date{color:#ffffff}
.journal-date{margin-bottom:2px}

/* ===== Top 8 page: full-width panel without the sidebar, avatars spread across 4 columns ===== */
.top8-page .t8-grid{gap:30px 10px;padding:16px 0 14px}
.top8-page .t8-av{border-color:#5a5a5a}
.top8-page .t8-name{color:#ddd6b4}
.top8-page .t8-name{transition:color .15s}
.top8-page a.t8:hover .t8-name{color:#77735f}
.top8-page .t8.is-empty .t8-name{color:#7a7a7a}


/* ===== Cover = play button (30 s preview) ===== */
.cover-btn{position:relative;display:block;flex:0 0 auto;width:68.2px;height:68.2px;padding:0;border:0;background:none;cursor:pointer;color:#ffffff}
.cover-btn:has(.cover[hidden]){display:none}
.cover-ico{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.5);font:700 15px 'JetBrains Mono',monospace;opacity:0;transition:opacity .15s}
.cover-btn:hover .cover-ico,.cover-btn:focus-visible .cover-ico,.cover-btn.is-on .cover-ico{opacity:1}
.cover-btn:focus-visible{outline:1px solid #8a8a8a;outline-offset:2px}
@media(prefers-reduced-motion:reduce){.cover-ico{transition:none}}

/* Music player (music.js) — block "music" in the left sidebar */
.mp-now{font:9.9px/1.45 'JetBrains Mono',monospace;margin:0 0 8px;overflow-wrap:anywhere}
.mp-now b{color:#fff;font-weight:700}.mp-now span{color:#8a8a8a;margin-left:5px}
.mp-ctrl{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;margin:0 0 10px}
.mp-btn,.mp-shuffle,.mp-track{background:none;border:0;padding:0;margin:0;font:9.9px/1.45 'JetBrains Mono',monospace;cursor:pointer;text-align:left}
.mp-btn{color:#8a8a8a;text-decoration:underline}.mp-btn:hover{color:#fff}
.mp-shuffle{color:#e8e8e8}.mp-shuffle:hover{color:#fff}
.mp-list{list-style:none;margin:0;padding:0;max-height:210px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#444 transparent}
.mp-list li{margin:0 0 3px;padding:2px 0 2px 7px;border-left:2px solid transparent}
.mp-list li.active{border-left-color:#e8e8e8}
.mp-track{display:block;width:100%;color:#8a8a8a;overflow-wrap:anywhere}
.mp-track .mp-t{color:#d6d6d6;font-weight:600}.mp-track:hover .mp-t,.mp-list li.active .mp-t{color:#fff}
.mp-empty{margin:0;font:9.9px/1.45 'JetBrains Mono',monospace;color:#8a8a8a}
.mp-btn:focus-visible,.mp-shuffle:focus-visible,.mp-track:focus-visible{outline:1px dotted #aaa;outline-offset:2px}

/* Preloader waits for a click ("click me ._." at the bottom; see preloader.js) */
#preloader{cursor:pointer;-webkit-tap-highlight-color:transparent}
#preloader:focus{outline:none}
#preloader .pl-hint{position:absolute;left:0;right:0;bottom:max(32px,calc(env(safe-area-inset-bottom) + 24px));text-align:center;color:#8a8a8a;font:11.7px/1.55 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.02em;animation:pl-hint 1.8s ease-in-out infinite;transition:opacity .25s ease}
#preloader.is-go .pl-hint{opacity:0;animation:none}
@keyframes pl-hint{0%,100%{opacity:.45}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){#preloader .pl-hint{animation:none}}

/* Music player: progress line + the page reacts to the sound (--beat 0..1 is set by music.js) */
.mp-line{height:3px;background:#333;margin:0 0 9px;cursor:pointer;position:relative}
.mp-line::before{content:"";position:absolute;left:0;right:0;top:-6px;bottom:-6px}
.mp-line i{display:block;height:100%;width:0;background:#e8e8e8;box-shadow:0 0 calc(var(--beat,0)*8px) rgba(255,255,255,calc(var(--beat,0)*.8))}
h1{text-shadow:var(--nick-glow,0 0 0 transparent),0 0 calc(var(--beat,0)*21px) rgba(255,255,255,calc(var(--beat,0)*.45))}
.panel{box-shadow:0 0 calc(var(--beat,0)*13px) rgba(255,255,255,calc(var(--beat,0)*.07));border-color:rgb(calc(53 + var(--beat,0)*38),calc(53 + var(--beat,0)*38),calc(53 + var(--beat,0)*38))}
.mp-list li.active{border-left-color:rgb(calc(232 - 60*(1 - var(--beat,0))),calc(232 - 60*(1 - var(--beat,0))),calc(232 - 60*(1 - var(--beat,0))))}
@media(prefers-reduced-motion:reduce){h1{text-shadow:var(--nick-glow,0 0 0 transparent)}.panel{box-shadow:none;border-color:#353535}}

/* two soft light spots while music plays (created by music.js; --live = playing, --beat = bass) */
.mp-glow{position:fixed;inset:0;z-index:8999;pointer-events:none;opacity:calc(var(--live,0)*(.15 + .55*var(--beat,0)));background:radial-gradient(circle 60vmax at 28% 30%,rgba(200,210,255,.17),transparent 100%),radial-gradient(circle 50vmax at 74% 68%,rgba(200,210,255,.14),transparent 100%)}
@media(prefers-reduced-motion:reduce){.mp-glow{display:none}}

/* avatars and text tremble a little with the music (--ax/--ay and --tx/--ty are set by music.js) */
.avatar,.t8-av,.cover,.album,.dc-emoji{translate:calc(var(--ax,0)*1px) calc(var(--ay,0)*1px)}
h1,.panel h2,.name,.intro,.page-nav,.mp-now,.panel p{translate:calc(var(--tx,0)*1px) calc(var(--ty,0)*1px)}
@media(prefers-reduced-motion:reduce){.avatar,.t8-av,.cover,.album,.dc-emoji,h1,.panel h2,.name,.intro,.page-nav,.mp-now,.panel p{translate:none}}

/* ===== text effects (about / status) ===== */
.fx-rainbow{font-weight:700;background:linear-gradient(90deg,#ff3b3b,#ff9d00,#ffe600,#2ee66b,#25c7ff,#7a5cff,#ff4fd8,#ff3b3b);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:fx-slide 4s linear infinite}
@keyframes fx-slide{to{background-position:-300% 0}}
.fx-bw{background:linear-gradient(90deg,#3a3a3a,#fff,#3a3a3a,#fff,#3a3a3a);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:fx-slide 3.5s linear infinite}
.fx-scr{color:#e6e6e6;font-weight:600;letter-spacing:.02em;filter:blur(.6px);text-shadow:0 0 6px #ffffff55}
.fx-gun{white-space:pre;color:#cfcfcf}
.fx-stars{position:relative;display:inline-block;color:#ffe27a;font-weight:600;text-shadow:0 0 6px #ffd54a,0 0 14px #ffb300aa;animation:fx-twinkle 2.4s ease-in-out infinite}
@keyframes fx-twinkle{50%{text-shadow:0 0 3px #ffd54a,0 0 8px #ffb30066;color:#fff3c4}}
.fx-star{position:absolute;left:var(--x);top:50%;pointer-events:none;color:#ffe27a;font-size:var(--s);line-height:1;text-shadow:0 0 6px #ffd54a;opacity:0;animation:fx-fly var(--d) ease-out forwards;z-index:5}
@keyframes fx-fly{0%{opacity:0;transform:translate(-50%,-50%) scale(.3) rotate(0)}15%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(1) rotate(var(--r))}}
@media(prefers-reduced-motion:reduce){.fx-rainbow,.fx-bw,.fx-stars{animation:none}.fx-star{display:none}}

/* header status line sits lower, under the nickname */
header p{margin-top:16px}
#online-bar .tm{color:#b3b3b3}
#online-bar .same{color:#ffb3d9}

/* guestbook: replies, admin */
.gb-reply{margin:10px 0 0 8px;padding:7px 10px;background:#191919;border-left:2px solid #6a6a6a}
.gb-reply-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.gb-reply-head strong{color:#fff}
.gb-reply-head small{display:inline;margin:0}
.gb-reply p{margin-top:5px}
.entry-form.gb-reply-form{margin:9px 0 0 8px}
.gb-reply-form textarea{min-height:60px}
.gb-reply-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.gb-admin-wrap{margin-top:18px}
.gb-admin-btn{opacity:.5}
.gb-admin-btn:hover,.gb-admin-btn:focus-visible{opacity:1}
.gb-admin-box[hidden]{display:none}

