:root{--bg:#090a12;--panel:#10111c;--panel2:#171725;--line:rgba(172,163,226,.13);--blue:#697bff;--red:#702b49;--pink:#9f547c;--lime:#a8adff}
body{background:radial-gradient(ellipse at 78% 7%,rgba(75,74,174,.13),transparent 32%),radial-gradient(ellipse at 14% 74%,rgba(107,28,61,.11),transparent 30%),#090a12}body:before{background-image:linear-gradient(rgba(130,129,194,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(130,129,194,.018) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to bottom,black,transparent 80%)}
.aurora-blue{background:radial-gradient(circle,rgba(100,97,220,.4),transparent 70%)}.aurora-red{background:radial-gradient(circle,rgba(143,43,79,.32),transparent 70%)}.cursor-glow{background:radial-gradient(circle,rgba(110,111,232,.11),transparent 70%)}.motion-line{background:linear-gradient(90deg,#515fe3,#a35c8a,#742944);box-shadow:0 0 12px rgba(111,94,219,.45)}
nav{background:rgba(9,10,18,.86);border-color:rgba(172,163,226,.12)}.brand i{background:#a85072;box-shadow:0 0 14px rgba(168,80,114,.6)}.brand span{color:#a7a2c7}.nav-links a.current:after{background:linear-gradient(90deg,#707cff,#aa5276)}.admin-link span{color:#a8607b}
.hero-orb{background:radial-gradient(circle at 40% 34%,#282540 0,#151522 46%,#090a12 74%);box-shadow:0 0 115px rgba(83,75,176,.13)}.orb-inner{border-color:rgba(140,139,233,.38);color:#c5c3ff}.orbit{border-color:rgba(127,117,215,.18)}.orbit:after{background:#a64e72;box-shadow:0 0 20px rgba(166,78,114,.8)}.o2{border-color:rgba(166,76,116,.23)}.o2:after{background:#7677df;box-shadow:0 0 18px #7677df}.hero h1,.page-intro h1{background:linear-gradient(112deg,#f4f2f9 4%,#b8baff 56%,#c36c8a);-webkit-background-clip:text;background-clip:text}.button.primary{background:linear-gradient(120deg,#e2e2f3,#b9b8dc);border-color:#d2d0ec;color:#14131d}.button.primary span{color:#89506f}.button.ghost:hover{border-color:#965372;box-shadow:0 7px 25px rgba(124,47,84,.16)}
.home-links>a{background:linear-gradient(130deg,rgba(88,83,157,.13),rgba(255,255,255,.018));border-color:rgba(151,142,213,.18);border-radius:5px}.home-links>a:nth-child(1){background:linear-gradient(135deg,rgba(80,83,184,.2),rgba(38,34,68,.27))}.home-links>a:nth-child(2){background:linear-gradient(135deg,rgba(129,47,83,.18),rgba(42,28,47,.26))}.home-links>a:before{content:"";position:absolute;width:150px;height:150px;right:16px;top:20px;border-radius:50%;background:radial-gradient(circle at 38% 35%,rgba(166,167,255,.28),rgba(92,80,179,.15) 34%,rgba(19,20,35,.4) 62%,transparent 64%);opacity:.8;transition:transform .5s}.home-links>a:nth-child(2):before{background:radial-gradient(circle at 38% 35%,rgba(255,157,184,.23),rgba(153,60,99,.17) 34%,rgba(24,17,30,.42) 62%,transparent 64%)}.home-links>a:hover:before{transform:rotate(24deg) scale(1.12)}.home-links>a strong{font-size:20px}.home-links>a span,.home-links>a small,.home-links>a strong{position:relative;z-index:1}
.section-head{margin-bottom:32px}.section h2{font-size:clamp(35px,4.5vw,58px)}.section h2 em{color:#b4b5f0}.track{grid-template-columns:32px 48px 34px minmax(150px,1fr) 112px 90px 72px;gap:13px;min-height:76px;padding:8px 13px;border:1px solid transparent;border-radius:5px;margin:3px 0;position:relative}.tracks{border-top:1px solid var(--line);padding-top:7px}.track:hover,.track.active{padding-left:13px;padding-right:13px;background:linear-gradient(100deg,rgba(96,98,195,.15),rgba(113,49,84,.1));border-color:rgba(159,146,226,.12)}.track-no{font:9px 'DM Mono';color:#88869f}.track-cover{width:46px;height:46px;display:grid;place-items:center;overflow:hidden;position:relative;border-radius:3px;background:linear-gradient(140deg,#5353a2,#23223b 56%,#58304b);box-shadow:0 5px 20px rgba(0,0,0,.28)}.track-cover:before,.track-cover:after{content:"";position:absolute;width:33px;height:33px;border:1px solid rgba(239,235,255,.23);border-radius:50%;transform:rotate(-25deg) scaleX(.73)}.track-cover:after{width:20px;height:20px;border-color:rgba(240,187,209,.32);animation:coverOrbit 9s linear infinite}.track-cover span{z-index:1;font:700 7px 'DM Mono';letter-spacing:.14em;color:#f2ebff}.track:nth-child(4n+2) .track-cover{background:linear-gradient(145deg,#6d3556,#291c39 58%,#393263)}.track:nth-child(4n+3) .track-cover{background:linear-gradient(145deg,#384785,#28213d 58%,#74445e)}.track:nth-child(4n) .track-cover{background:linear-gradient(145deg,#88415d,#39233f 58%,#37335f)}.track-title strong{font-size:13px}.track-title span{font-size:9px;color:#9592a8}.track-genre{font-size:8px;color:#9d99b1}.play{width:31px;height:31px;background:#20202e;border-color:#39384c;color:#e3e2f5;font-size:10px}.play:hover{background:#7777d1;border-color:#7777d1;color:white;box-shadow:0 0 18px rgba(119,119,209,.25)}.track.active .play{background:#a34f73;border-color:#a34f73}.track-wave i{background:linear-gradient(#8588e7,#ae6289)}.duration{color:#ada9c0;font-size:8px}.track.active .track-wave i{animation:eq .45s ease-in-out infinite alternate}
.gallery-card,.gallery-card:nth-child(n){border-radius:5px;border-color:rgba(153,144,211,.17);background:#12121c;box-shadow:0 10px 30px rgba(0,0,0,.15)}.gallery-card:after{background:linear-gradient(180deg,rgba(10,10,18,.02) 28%,rgba(9,8,15,.9))}.gallery-card img{filter:saturate(.7) contrast(1.08)}.gallery-card:hover{border-color:rgba(160,142,235,.4);box-shadow:0 18px 55px rgba(0,0,0,.32)}.gallery-card figcaption strong{font-size:13px}.gallery-card figcaption i{color:#bb6786}.empty{background:linear-gradient(120deg,rgba(72,68,138,.09),rgba(255,255,255,.008));border:1px solid rgba(146,136,204,.14);border-radius:5px}.empty span{color:#a46080}.empty p{font-size:14px}
.page-intro:after{border-color:rgba(119,111,210,.24);box-shadow:0 0 0 27px rgba(102,83,180,.035),0 0 0 57px rgba(131,52,94,.025)}.manifest{background:linear-gradient(120deg,#11121d,#151321 55%,#20121d);border-color:var(--line)}.manifest-mark{color:#9b99e4}.manifest h2 em{color:#b4b5f0}.ticker span{color:#a85b7b}
.player{z-index:18;display:grid;grid-template-columns:minmax(160px,1fr) 150px minmax(190px,1.35fr) 28px;grid-template-rows:48px;align-items:center;gap:20px;width:min(1000px,calc(100% - 36px));min-height:72px;padding:10px 17px 9px;border:1px solid rgba(175,164,228,.2);border-radius:8px;background:linear-gradient(120deg,rgba(22,22,37,.97),rgba(26,18,32,.96));box-shadow:0 18px 65px rgba(0,0,0,.58),0 0 50px rgba(90,76,167,.08);backdrop-filter:blur(22px);transition:transform .5s cubic-bezier(.16,1,.3,1),opacity .4s}.player-info{min-width:0}.player-info small{font-size:7px;letter-spacing:.14em;color:#bb7292}.player-info strong{display:block;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px}.player-artist{display:block;color:#89869b;font:8px 'DM Mono';margin-top:3px}.player-disc{width:36px;height:36px;background:radial-gradient(circle,#b6b2eb 0 8%,#343249 9% 20%,#171722 21% 65%,#7565a1 66% 68%,#211d31 69%);border:1px solid rgba(196,182,239,.3);font-size:0;box-shadow:0 0 15px rgba(133,111,192,.14)}.player-disc:after{content:"";width:5px;height:5px;border-radius:50%;background:#211f30}.player-controls{display:flex;align-items:center;justify-content:center;gap:13px}.player-skip{border:0;background:none;color:#aaa6bf;font-size:23px;line-height:1;cursor:pointer;transition:color .2s,transform .2s}.player-skip:hover{color:#e5c5d6;transform:scale(1.15)}.player-btn{width:30px;height:30px;background:#e0dced;color:#17141f;font-size:11px;box-shadow:0 2px 12px rgba(200,192,227,.18)}.player-btn:hover{background:#fff;transform:scale(1.06)}.player-progress-wrap{display:grid;grid-template-columns:35px 1fr 35px;align-items:center;gap:8px;color:#858197;font:8px 'DM Mono'}.player-progress-wrap>span:last-child{text-align:right}.player-progress{grid-column:auto;height:3px;border-radius:3px;background:#373344;overflow:hidden}.player-progress span{height:100%;border-radius:3px;background:linear-gradient(90deg,#8584e6,#ad5479);transition:width .12s linear}.player-queue{border:0;background:none;color:#aba6bd;font-size:19px;cursor:pointer}.player-queue:hover{color:#e2b7ca}.player-time{position:static;right:auto;bottom:auto}.player.visible .player-disc{animation:discSpin 4s linear infinite}
.image-lightbox{position:fixed;z-index:60;inset:0;display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;place-items:center;background:rgba(5,5,12,.91);backdrop-filter:blur(20px);padding:8vh 8vw;opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}.image-lightbox.open{opacity:1;visibility:visible}.image-lightbox>img{max-width:min(100%,1100px);max-height:76vh;object-fit:contain;border:1px solid rgba(177,161,222,.19);border-radius:5px;box-shadow:0 30px 90px rgba(0,0,0,.55);animation:lightboxIn .45s cubic-bezier(.16,1,.3,1)}.image-lightbox>div{display:flex;gap:15px;align-items:baseline;margin-top:14px}.image-lightbox strong{font:500 14px 'Space Grotesk';color:#ece9f3}.image-lightbox span{font:10px 'DM Mono';color:#aaa5b8}.image-lightbox>button{position:absolute;top:25px;right:35px;border:1px solid rgba(255,255,255,.14);border-radius:50%;width:40px;height:40px;background:rgba(20,18,30,.7);color:#ded9e9;font-size:25px;cursor:pointer}.gallery-card img{cursor:zoom-in}
.modal-card{border-radius:7px;background:linear-gradient(145deg,#171624,#100f18);border-color:rgba(168,152,218,.2)}.admin-row button{border-radius:3px}.admin-thumb{border-radius:3px}.modal .button.primary{background:linear-gradient(120deg,#dedced,#b2b0d8)}
@keyframes coverOrbit{to{transform:rotate(335deg) scaleX(.73)}}@keyframes lightboxIn{from{transform:scale(.96) translateY(12px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}
@media(max-width:800px){.track{grid-template-columns:25px 42px 32px minmax(80px,1fr) 62px;gap:8px}.track-genre,.track-wave{display:none}.player{grid-template-columns:minmax(130px,1fr) 118px minmax(140px,1.2fr);gap:10px;width:calc(100% - 24px)}.player-queue{display:none}.player-progress-wrap{grid-template-columns:30px 1fr 30px}.home-links{gap:9px}}
@media(max-width:520px){.track{grid-template-columns:20px 38px 30px minmax(70px,1fr) 50px;gap:6px}.track-cover{width:36px;height:36px}.track-cover:before{width:27px;height:27px}.track-cover:after{width:16px;height:16px}.player{grid-template-columns:minmax(0,1fr) 92px;grid-template-rows:40px 20px;gap:6px 10px;padding:8px 11px 6px;min-height:70px;border-radius:7px}.player-info{grid-column:1;grid-row:1}.player-info strong{max-width:155px}.player-disc{width:31px;height:31px}.player-controls{grid-column:2;grid-row:1;gap:8px}.player-progress-wrap{grid-column:1/-1;grid-row:2;grid-template-columns:29px 1fr 29px;gap:7px}.player-progress{grid-column:auto}.player-queue{display:none}.image-lightbox{padding:6vh 5vw}.image-lightbox>div{flex-direction:column;gap:4px;align-items:center}.image-lightbox>button{top:14px;right:14px}.home-links>a{min-height:104px}}
@media(prefers-reduced-motion:reduce){.track-cover:after{animation:none}.image-lightbox>img{animation:none}}
.category-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.category-chip{border:1px solid rgba(172,163,226,.14);background:rgba(255,255,255,.025);color:#aaa7ba;padding:8px 12px;border-radius:3px;font:9px 'DM Mono';letter-spacing:.04em;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s}.category-chip span{display:inline-block;margin-left:8px;color:#767386}.category-chip:hover{border-color:rgba(160,121,183,.5);color:#f1eaf4;transform:translateY(-1px)}.category-chip.selected{background:linear-gradient(120deg,rgba(98,81,184,.36),rgba(147,42,77,.24));border-color:rgba(175,121,182,.47);color:#f4edf7}.category-chip.selected span{color:#c2a9cf}.track[hidden],.gallery-card[hidden]{display:none!important}.asset-category{display:inline-block;width:max-content;color:#be819a;font:7px 'DM Mono';letter-spacing:.08em;text-transform:uppercase;margin-top:5px}.gallery-card .asset-category{margin-top:7px;color:#db7793}
.admin-row select,select{appearance:none;background:#15121d;border:1px solid rgba(172,163,226,.2);border-radius:2px;color:#ddd6e5;padding:8px 27px 8px 9px;font:9px 'DM Mono';max-width:150px;background-image:linear-gradient(45deg,transparent 50%,#ad7993 50%),linear-gradient(135deg,#ad7993 50%,transparent 50%);background-position:calc(100% - 12px) 12px,calc(100% - 8px) 12px;background-size:4px 4px,4px 4px;background-repeat:no-repeat}.admin-row select:focus,select:focus{outline:1px solid #9568b3;border-color:#9568b3}.category-admin{margin:28px 0;padding:19px;border:1px solid rgba(172,163,226,.15);background:linear-gradient(120deg,rgba(85,65,131,.09),rgba(255,255,255,.012))}.category-admin>h3{margin:0 0 18px!important}.category-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.category-admin-grid>section{min-width:0}.category-admin-grid h4{font:500 10px 'DM Mono';letter-spacing:.09em;color:#c5b5d0;margin:0 0 12px}.category-create{display:flex;gap:8px;align-items:center}.category-create input{min-width:0;margin:0;padding:10px;font-size:11px}.category-create .button{padding:10px;font-size:8px;white-space:nowrap}.category-admin-list{margin-top:9px}.category-admin-row{display:grid;grid-template-columns:minmax(80px,1fr) auto auto;gap:5px;align-items:center;padding:6px 0;border-bottom:1px solid rgba(172,163,226,.09)}.category-admin-row input{margin:0;padding:7px;font-size:10px}.category-admin-row button{border:1px solid rgba(172,163,226,.2);background:rgba(255,255,255,.025);color:#bdb2d0;padding:7px 8px;font:8px 'DM Mono';cursor:pointer}.category-admin-row button:hover{border-color:#9772b5;color:#fff}.category-admin-row button.danger{color:#cc7188}.category-admin .form-msg{margin:7px 0;min-height:12px}
@media(max-width:700px){.category-admin-grid{grid-template-columns:1fr;gap:19px}.category-admin{padding:14px}.admin-row select{max-width:110px}.category-chip{padding:7px 9px;font-size:8px}}

/* Desktop player-app frame */
@media(min-width:901px){
 body{padding-bottom:100px}
 nav{position:fixed;inset:0 auto 0 0;width:238px;height:100vh;padding:29px 17px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:40px;border:0;border-right:1px solid rgba(172,163,226,.12);background:linear-gradient(180deg,rgba(17,17,29,.98),rgba(10,10,17,.98));backdrop-filter:blur(24px);z-index:25}
 nav .brand{display:block;padding:1px 10px 21px;border-bottom:1px solid rgba(172,163,226,.12);font-size:16px}
 nav .brand span{display:block;margin:4px 0 0 15px;font:8px 'DM Mono';letter-spacing:.15em}
 nav .nav-links{display:flex;flex-direction:column;align-items:stretch;gap:5px}
 nav .nav-links:before{content:'BIBLIOTHEK';font:8px 'DM Mono';letter-spacing:.16em;color:#68677b;padding:0 12px 10px}
 nav .nav-links a{height:43px;display:flex;align-items:center;padding:0 12px;border-radius:4px;font:500 11px Inter;color:#aaa8b8;letter-spacing:0;transition:background .2s,color .2s}
 nav .nav-links a:before{width:25px;font:15px 'DM Mono';color:#85839b}
 nav .nav-links a[href='/']:before{content:'⌂'}nav .nav-links a[href='/musik']:before{content:'♫'}nav .nav-links a[href='/bilder']:before{content:'▧'}
 nav .nav-links a:hover,nav .nav-links a.current{background:rgba(137,126,216,.12);color:#f0edf8}
 nav .nav-links a.current:after{display:none}
 nav .nav-links a.current:before{color:#b28bab}
 nav .admin-link{height:40px;margin-top:20px;padding:0 12px;border:0;border-top:1px solid rgba(172,163,226,.12);border-radius:0;text-align:left;color:#858397;font:9px 'DM Mono';letter-spacing:.1em}
 nav .admin-link:before{content:'⚙';font-size:14px;margin-right:11px;color:#a26f8a}
 nav .admin-link span{float:right}
 nav .menu{display:none}
 main{max-width:none;margin:0 0 0 238px;min-height:calc(100vh - 94px)}
 .hero{height:min(760px,82vh);min-height:560px;padding:80px clamp(35px,6vw,100px) 55px}
 .hero-orb{right:4%;width:min(34vw,440px);height:min(34vw,440px)}
 .scroll{left:clamp(35px,6vw,100px)}
 .home-links{max-width:none;padding:12px clamp(35px,6vw,100px) 70px}
 .page-intro{padding:75px clamp(35px,6vw,100px) 42px;min-height:285px}
 .page-intro:after{right:8%}
 .section{padding:75px clamp(35px,6vw,100px)}
 .gallery{padding-top:60px}
 footer{margin-left:238px;padding:27px clamp(35px,6vw,100px)}
 .player{left:calc(50% + 119px);bottom:14px;width:min(940px,calc(100% - 278px))}
}
@media(max-width:900px){nav .nav-links a[href='/']{display:none}}
@media(max-width:800px){nav{height:64px;padding:0 20px}nav .nav-links{display:none}.menu{display:block}.nav-open .nav-links{display:flex;position:absolute;top:64px;left:0;right:0;background:rgba(15,14,24,.98);border:1px solid rgba(172,163,226,.13);border-top:0;flex-direction:column;align-items:stretch;gap:8px;padding:16px 20px;z-index:30}.nav-open .nav-links a{display:flex;height:38px;padding:0 10px}.nav-open .admin-link{display:block;margin-top:8px;padding:12px 10px;border-top:1px solid rgba(172,163,226,.13);text-align:left}}
