:root{color-scheme:dark;--bg:#0b0b12;--panel:#171522;--panel2:#1e1a2e;--line:#302a41;--muted:#a29bae;--text:#f3effb;--accent:#aa84ff;--accent2:#7854df;--green:#7ce7ba;--orange:#facb83;--red:#ff8ea8;--radius:18px;font-family:Inter,-apple-system,BlinkMacSystemFont,"SF Pro Display",system-ui,sans-serif;font-synthesis:none}
*{box-sizing:border-box}html{min-height:100%;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}input,select,textarea{color:var(--text)}a{color:var(--accent)}.ambient{position:fixed;inset:auto;z-index:-1;pointer-events:none;filter:blur(80px)}.ambient-one{height:400px;width:400px;left:20%;top:-220px;background:#3c236c66}.ambient-two{height:260px;width:260px;right:-180px;bottom:-100px;background:#4d2b6850}.app-shell{min-height:100vh;max-width:1560px;margin:auto;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{padding:35px 18px 20px;background:#111019d9;border-right:1px solid #242033;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:3px 10px 38px}.brand-icon{width:45px;height:45px;display:grid;place-items:center;color:#f1d9ff;border-radius:14px;background:linear-gradient(145deg,#6d4daf,#31224d);box-shadow:0 7px 28px #5a339d55}.brand-icon svg{width:29px}.brand strong{display:block;font-weight:850;letter-spacing:.15em;font-size:20px}.brand span{display:block;letter-spacing:.37em;color:var(--accent);font-size:10px;margin-top:2px}.sidebar-label{font-size:10px;letter-spacing:.19em;color:#82788f;font-weight:800;padding:0 16px 13px}.sidebar nav{display:grid;gap:7px}.nav-item{border:0;background:transparent;color:#a6a0b6;font-size:14px;font-weight:600;text-align:left;padding:13px 17px;border-radius:13px;display:flex;gap:14px;align-items:center;min-height:46px}.nav-item span{font-size:20px;width:24px;text-align:center}.nav-item:hover{background:#211b2e}.nav-item.active{background:#2c2342;color:#decfff;box-shadow:inset 3px 0 0 var(--accent)}.sidebar-bottom{margin-top:auto;padding:13px;display:flex;gap:10px;align-items:center;border:1px solid #2e2939;border-radius:13px;background:#181521}.offline-dot{width:9px;height:9px;flex:none;background:var(--green);box-shadow:0 0 10px #53db9e88;border-radius:50%}.sidebar-bottom strong{font-size:12px}.sidebar-bottom small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.version{font-size:10px;color:#7e758b;margin:20px 9px 0;letter-spacing:.08em}.main{min-width:0;padding:40px clamp(20px,4.3vw,65px) 25px;max-width:1200px;width:100%;margin:auto}.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px}.eyebrow{text-transform:uppercase;color:#a989f3;font-size:10px;font-weight:800;letter-spacing:.18em;margin-bottom:7px}.topbar h1{font-size:clamp(28px,3vw,39px);letter-spacing:-.055em;font-weight:800;margin:0}.header-actions{display:flex;gap:14px;align-items:center}.storage-state{font-size:11px;color:#b5a9c5;white-space:nowrap;display:flex;gap:8px;align-items:center}.status-light{height:7px;width:7px;border-radius:50%;background:var(--green)}.icon-button{border:1px solid #7357ab;border-radius:13px;background:#342452;color:#ebdcff;font-size:29px;height:46px;width:46px;line-height:1;display:grid;place-items:center}.icon-button:hover{background:#493071}.search-area{margin:25px 0 27px;background:#191625;border:1px solid #322b43;border-radius:14px;display:flex;align-items:center;height:53px;padding:0 15px;gap:12px}.search-icon{font-size:26px;color:#aa94c2;line-height:1}.search-area input{width:100%;min-width:0;height:100%;border:0;background:transparent;outline:none;font-size:14px}.search-area:focus-within{border-color:#8765d7;box-shadow:0 0 0 3px #9272e522}.search-area input::placeholder{color:#837a91}.clear-search{border:0;color:#b9a7d3;background:transparent;font-size:17px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:27px 0 15px}.section-head h2{margin:0;font-size:18px;letter-spacing:-.035em}.section-head p{color:var(--muted);font-size:12px;margin:5px 0 0}.eyelink{border:0;background:transparent;color:#c4a7ff;font-weight:700;font-size:12px;padding:8px}.eyelink:hover{text-decoration:underline}.hero{border:1px solid #4a365d;background:linear-gradient(115deg,#2b1e41 3%,#1b172b 70%,#171423);border-radius:22px;min-height:188px;padding:27px;display:flex;justify-content:space-between;align-items:center;overflow:hidden;position:relative}.hero:before{content:"";height:280px;width:280px;border:1px solid #9874d630;border-radius:50%;position:absolute;right:-65px;top:-70px;box-shadow:0 0 0 37px #9874d611,0 0 0 76px #9874d609}.hero .hero-content{position:relative;z-index:1}.hero h2{font-size:clamp(21px,2.6vw,29px);margin:7px 0 9px;letter-spacing:-.055em}.hero p{max-width:420px;color:#c9bcda;line-height:1.55;font-size:13px;margin:0 0 18px}.hero .hero-symbol{font-size:118px;line-height:1;margin-right:28px;color:#af8ef5a8;transform:rotate(-14deg);text-shadow:0 15px 50px #9b5eff22}.pill-eyebrow{display:inline-block;border:1px solid #9d78db66;padding:6px 9px;border-radius:50px;color:#dabdff;font-size:10px;font-weight:800;letter-spacing:.08em}.button{border:1px solid transparent;border-radius:12px;min-height:44px;padding:10px 16px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:13px;font-weight:760;color:#f6eeff;background:#7950df;line-height:1.2}.button:hover{filter:brightness(1.1)}.button.secondary{background:#2b233e;border-color:#4a3a6c;color:#e5d4ff}.button.ghost{background:#221d30;border-color:#342d45;color:#ddd4e9}.button.danger{background:#482338;border-color:#8b3a59;color:#ffc6d3}.button.small{min-height:35px;padding:7px 10px;font-size:12px;border-radius:10px}.button.full{width:100%}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.stat{border:1px solid #332b42;border-radius:17px;background:#181522;padding:17px 18px}.stat .meta{display:flex;justify-content:space-between;align-items:center;color:#ada2ba;font-size:12px}.stat .meta span:last-child{color:var(--accent);font-size:22px}.stat strong{display:block;font-size:30px;letter-spacing:-.05em;margin-top:7px}.stat small{color:#958ca4;font-size:11px}.album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.album-card{background:#181522;border:1px solid #30283e;border-radius:19px;overflow:hidden;transition:transform .15s,border-color .15s}.album-card:hover{border-color:#7154a6;transform:translateY(-2px)}.album-cover{aspect-ratio:1.6;overflow:hidden;display:grid;place-items:center;position:relative;background:radial-gradient(circle at 65% 38%,#544079,#21182f 52%,#12121d 100%);isolation:isolate}.album-cover img{width:100%;height:100%;object-fit:cover}.album-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#110d18a0,transparent 50%);pointer-events:none}.cover-art{font-size:clamp(49px,5vw,75px);color:#b799ee88;transform:rotate(-12deg);text-shadow:0 7px 20px #a96cfc22}.album-card:nth-child(5n+2) .album-cover{background:radial-gradient(circle at 40% 40%,#755073,#26182a 58%,#12121d)}.album-card:nth-child(5n+3) .album-cover{background:radial-gradient(circle at 60% 30%,#62445b,#231929 60%,#12121d)}.album-card:nth-child(5n+4) .album-cover{background:radial-gradient(circle at 50% 30%,#3f4d72,#181b2e 60%,#12121d)}.album-card:nth-child(5n+5) .album-cover{background:radial-gradient(circle at 50% 30%,#71524a,#2a1c23 60%,#12121d)}.album-info{padding:15px}.album-info h3{font-size:14px;margin:0 0 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.album-info p{font-size:11px;color:#aa9cb9;margin:0 0 14px}.album-bottom{display:flex;justify-content:space-between;align-items:center;gap:7px}.badge{display:inline-flex;align-items:center;gap:4px;background:#302540;color:#d4bafc;border:1px solid #564077;font-size:10px;font-weight:700;border-radius:50px;padding:5px 9px}.mini-count{font-size:11px;color:#a89bb5}.album-click{cursor:pointer}.empty{border:1px dashed #514264;border-radius:18px;background:#171421;padding:32px 18px;text-align:center;color:#b1a7c1}.empty .empty-icon{font-size:40px;color:#a88bd7}.empty h3{color:#f4eaff;margin:10px 0 6px}.empty p{font-size:13px;max-width:460px;margin:0 auto 16px;line-height:1.6}.list-card,.panel{border:1px solid #342b41;border-radius:18px;background:#181522;overflow:hidden}.panel{padding:21px}.track-row{display:flex;align-items:center;gap:12px;padding:13px 16px;min-height:74px;border-bottom:1px solid #30283b}.track-row:last-child{border-bottom:none}.track-row:hover{background:#201a2b}.track-num{flex:0 0 32px;color:#aa8cdb;font-weight:800;font-size:14px;text-align:center}.track-main{min-width:0;flex:1}.track-main strong{font-size:13px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-main small{display:block;color:#a19aaf;font-size:11px;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status{border-radius:30px;padding:6px 10px;font-size:10px;white-space:nowrap;background:#322b40;color:#d4c9e7}.status.fertig,.status.veroeffentlicht{background:#1c4139;color:#94edc8}.status.lyrics{background:#41371f;color:#f2cf88}.status.generiert{background:#28364f;color:#9bc2ff}.status.final{background:#352b56;color:#c7aaff}.status.idee{background:#343044;color:#cfbce8}.row-actions{display:flex;gap:5px}.small-icon{height:37px;width:37px;display:grid;place-items:center;border-radius:10px;background:#282236;color:#cbb4e9;border:1px solid #403352;font-size:15px}.small-icon:hover{background:#3a2c51}.album-detail{display:grid;grid-template-columns:160px minmax(0,1fr);gap:20px;align-items:center}.detail-art{width:160px;height:160px;border-radius:16px;background:radial-gradient(circle,#5c4479,#1e1729);overflow:hidden;display:grid;place-items:center;color:#baa0ec;font-size:65px}.detail-art img{width:100%;height:100%;object-fit:cover}.detail-info h2{font-size:clamp(22px,3vw,30px);margin:6px 0 9px}.detail-info p{font-size:13px;color:#b5a9c5;line-height:1.5}.detail-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.kicker{font-size:10px;color:#b499f6;text-transform:uppercase;font-weight:800;letter-spacing:.14em}.filters{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 15px}.chip{background:#251f34;color:#c6b9d3;border:1px solid #423650;border-radius:99px;padding:8px 11px;font-size:11px;font-weight:700}.chip.active{background:#6945b2;border-color:#9772e7;color:#fff}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.info-note{background:#241d32;border:1px solid #443455;padding:13px 15px;border-radius:12px;font-size:12px;line-height:1.5;color:#cabce0}.info-note strong{color:#f1e9fe}.step-list{padding-left:18px;color:#c2b7cf;font-size:13px;line-height:1.9}.studio-box{display:flex;flex-direction:column;gap:13px}.studio-box h3{margin:0;font-size:16px}.studio-box p{margin:0;color:#a99ebb;font-size:12px;line-height:1.6}.tag-preview{padding:13px;border:1px solid #3d3051;border-radius:11px;font-size:12px;line-height:1.6;color:#cfbaf8;word-break:break-word;background:#231d30}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-field{display:flex;flex-direction:column;gap:7px;min-width:0}.form-field.full{grid-column:1/-1}.form-field label{color:#d7cde5;font-size:12px;font-weight:750}.form-field input,.form-field select,.form-field textarea{border:1px solid #453953;border-radius:11px;background:#211c2e;min-height:45px;padding:11px 12px;outline:none;color:#f4eefb;width:100%;font-size:14px}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:#a27ce9;box-shadow:0 0 0 3px #8f61e523}.form-field textarea{resize:vertical;min-height:100px;line-height:1.55}.form-field textarea.lyrics-input{min-height:210px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:13px}.form-field small{color:#9186a1;font-size:11px}.form-field input[type=file]{padding:8px}.modal-overlay{position:fixed;inset:0;background:#050309d9;z-index:20;display:flex;align-items:center;justify-content:center;padding:15px;overflow-y:auto}.modal{width:min(670px,100%);max-height:min(92dvh,900px);overflow:auto;overscroll-behavior:contain;border:1px solid #5d467a;border-radius:20px;background:#191524;box-shadow:0 30px 120px #000b}.modal-header{padding:21px 22px;border-bottom:1px solid #392e49;display:flex;justify-content:space-between;align-items:center;gap:10px}.modal-header h2{font-size:19px;margin:0}.modal-body{padding:20px 22px}.modal-footer{padding:15px 22px;border-top:1px solid #392e49;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.modal-close{background:#2b233a;border:1px solid #493955;border-radius:10px;width:37px;height:37px;color:#dfcaff;font-size:20px}.modal-cover-preview{width:100%;max-height:145px;object-fit:cover;border-radius:12px;margin-top:9px}.lyrics-view{white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.65;color:#ded6ed;background:#211b2c;padding:16px;border:1px solid #392b4e;border-radius:14px;max-height:50vh;overflow:auto}.track-view-meta{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.track-detail-actions{display:flex;flex-wrap:wrap;gap:8px}.footer{padding:32px 0 10px;color:#7d748c;font-size:10px}.footer span{float:right}#toast{position:fixed;z-index:50;left:50%;bottom:24px;transform:translate(-50%,120px);background:#302441;border:1px solid #7a59a5;border-radius:12px;box-shadow:0 12px 45px #0008;color:#fff;font-size:13px;padding:13px 18px;min-width:190px;text-align:center;opacity:0;transition:transform .25s,opacity .25s;pointer-events:none}#toast.show{transform:translate(-50%,0);opacity:1}.mobile-nav{display:none}.clickable{cursor:pointer}.clickable:focus-visible,button:focus-visible{outline:3px solid #d1adff;outline-offset:2px}.crumb{font-size:12px;color:#ab91dc;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:4px 0 12px}.warning-text{color:#ffb5c6}.hide{display:none!important}
@media(max-width:1100px){.album-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar{width:205px}.app-shell{grid-template-columns:205px minmax(0,1fr)}.main{padding:32px 26px}.hero .hero-symbol{font-size:80px;margin-right:4px}}
@media(max-width:730px){.app-shell{display:block}.sidebar{display:none}.main{padding:calc(env(safe-area-inset-top,0px) + 23px) 16px calc(85px + env(safe-area-inset-bottom,0px));}.topbar h1{font-size:29px}.header-actions{gap:8px}.storage-state{font-size:0}.status-light{height:9px;width:9px}.search-area{margin:20px 0 20px}.hero{padding:22px;min-height:170px}.hero .hero-symbol{font-size:65px;margin-right:0}.hero p{max-width:280px;font-size:12px}.hero h2{font-size:22px}.stats-grid{gap:9px}.stat{padding:13px 12px}.stat strong{font-size:25px}.stat .meta{font-size:11px}.stat small{font-size:10px}.album-grid{gap:11px}.album-info{padding:12px}.album-info h3{font-size:12px}.album-cover{aspect-ratio:1.2}.section-head h2{font-size:17px}.track-row{padding:12px 9px;gap:6px}.track-num{flex-basis:27px;font-size:12px}.track-main strong{font-size:12px}.track-main small{font-size:10px}.track-row .status{font-size:9px;padding:5px 6px}.row-actions{gap:2px}.small-icon{height:34px;width:32px}.two-col{grid-template-columns:1fr}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;justify-content:space-around;z-index:9;background:#15101df5;border-top:1px solid #382b4c;padding:10px 8px calc(10px + env(safe-area-inset-bottom,0px));backdrop-filter:blur(20px)}.mobile-nav button{border:0;background:transparent;color:#91869d;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10px;font-weight:800;min-width:60px;min-height:45px}.mobile-nav button span{font-size:23px;line-height:1.1}.mobile-nav button.active{color:#c9a9ff}.footer span{float:none;display:block;margin-top:6px}#toast{bottom:90px;width:max-content;max-width:90vw}.album-detail{grid-template-columns:96px 1fr;gap:14px}.detail-art{height:96px;width:96px;font-size:42px}.detail-info h2{font-size:20px}.detail-info p{font-size:12px}.modal-overlay{align-items:flex-end;padding:0}.modal{border-radius:20px 20px 0 0;max-height:94dvh;width:100%;padding-bottom:env(safe-area-inset-bottom,0px)}.modal-body{padding:17px}.modal-header{padding:17px}.modal-footer{padding:14px 17px}.form-grid{gap:12px}.panel{padding:16px}}
@media(max-width:410px){.hero .hero-symbol{display:none}.album-bottom{flex-wrap:wrap}.form-grid{grid-template-columns:1fr}.form-field.full{grid-column:auto}.album-detail{grid-template-columns:1fr}.detail-art{height:165px;width:165px}.track-row .status{display:none}}
/* Music importer 0.2 */
.import-hero{margin-bottom:18px;background:linear-gradient(135deg,#281d3b,#191521 75%);border-color:#7452a6;box-shadow:inset 0 1px 0 #a78cdd26}
.import-hero h3{font-size:20px;letter-spacing:-.025em}
.import-hero-actions{display:flex;flex-wrap:wrap;gap:10px}.import-hero-actions .button{flex:1 1 180px}
.import-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:16px}
.import-stat-grid>div{padding:12px 6px;text-align:center;border:1px solid #4b3764;background:#251d35;border-radius:12px;min-width:0}
.import-stat-grid strong{display:block;font-size:22px;color:#e1c7ff}
.import-stat-grid small{display:block;font-size:10px;color:#b6a9c3;margin-top:3px}
.import-album{margin-top:17px;border:1px solid #3c2e4d;border-radius:15px;overflow:hidden}
.import-album-head{background:#2a2038;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.import-album-head h3{font-size:13px;margin:0;word-break:break-word}
.import-row{padding:12px 14px;border-top:1px solid #3d314e;display:flex;align-items:center;gap:12px;justify-content:space-between}
.import-row-detail{min-width:0;flex:1;display:flex;align-items:flex-start;flex-direction:column;gap:5px}
.import-row-detail strong{font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.import-row-detail small{font-size:10px;color:#a79bb6;overflow-wrap:anywhere}
.import-kind{font-size:10px;color:#b4a6c9;padding:3px 8px;border:1px solid #4e405f;border-radius:20px}
.import-kind.fresh{color:#9de9c6;border-color:#346c58;background:#203f35}
.import-kind.merge{color:#b9cdff;border-color:#435c99;background:#24324d}
.import-kind.warn{color:#ffd69c;border-color:#97703a;background:#453320}
.import-row-control{flex:0 0 auto;max-width:170px}
.import-check{display:flex;gap:6px;align-items:center;font-size:11px;cursor:pointer;white-space:nowrap}
.import-check input{accent-color:#a979ef;height:19px;width:19px}
.import-row-control select{border-radius:9px;background:#2e2640;color:#eee4fc;border:1px solid #604b7b;font-size:11px;padding:8px;max-width:156px;white-space:normal;width:100%}
.import-warning{font-size:11px;color:#ffcf9b;line-height:1.4;margin:0}
.import-issues{margin-top:16px;border:1px solid #6d4e42;border-radius:12px;padding:13px;font-size:12px;color:#ffddbc}
.import-issues summary{cursor:pointer}.import-issues ul{padding-left:20px;line-height:1.6;max-height:170px;overflow:auto}
.import-loading{text-align:center;padding:16px 0}.import-loader{font-size:42px;animation:imPulse 1.2s ease-in-out infinite;color:#c4a6fa}
.import-loading h3{font-size:18px;margin:14px 0 9px}.import-loading p{font-size:12px;line-height:1.5;color:#c0b0d4}
.import-track{height:9px;border-radius:12px;overflow:hidden;background:#342843;margin:18px 4px}.import-track div{height:100%;background:linear-gradient(90deg,#7e55c9,#c49aff);transition:width .15s}
.import-hint{font-size:11px;color:#afa2c2;line-height:1.5;margin-top:12px}
@keyframes imPulse{50%{opacity:.5;transform:scale(.9)}}
@media(max-width:480px){.import-row{align-items:flex-start;flex-direction:column}.import-row-control{max-width:100%;width:100%}.import-row-control select{max-width:100%}.import-stat-grid strong{font-size:19px}.import-stat-grid small{font-size:9px}}

/* NØVEX VAULT 0.2.1 – feste App-Oberfläche, nur Inhalt scrollt (iPad/iPhone) */
html { width: 100%; height: 100%; overflow: hidden; scroll-behavior: auto; overscroll-behavior: none; }
body { position: fixed; inset: 0; width: 100%; height: 100%; min-height: 0; overflow: hidden; overscroll-behavior: none; }
.app-shell { width: 100%; height: 100%; min-height: 0; overflow: hidden; }
.sidebar { position: relative; top: auto; height: 100%; min-height: 0; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.main { display: flex; flex-direction: column; height: 100%; min-height: 0; overflow: hidden; }
.topbar, .search-area { flex-shrink: 0; }
.scroll-pane { flex: 1 1 auto; min-height: 0; min-width: 0; overflow-x: hidden; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: none; touch-action: pan-y; }
/* Prevent the page from stretching when dragging past the first/last entry. */
#screen { min-width: 0; }
.modal-overlay { overscroll-behavior: none; overflow: hidden; }
.modal { -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
.lyrics-view, .import-issues ul { -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
@media (max-width: 730px) {
  .app-shell { display: block; }
  .main { height: 100%; padding-top: calc(env(safe-area-inset-top, 0px) + 23px); padding-bottom: calc(73px + env(safe-area-inset-bottom, 0px)); }
  .mobile-nav { touch-action: manipulation; }
  .scroll-pane { padding-bottom: 10px; }
}
