:root{
  --bg:#0b1220;
  --panel:#0f1724;
  --muted:#9fb0c8;
  --accent:#7bd389;
  --glass:rgba(255,255,255,0.03);
  --text:#e6f0ff;
  --section-title:#cfe6ff;
  --note-strong:#dff8ff;
  --bg-start:#051226;
  --bg-mid:#07243a;
  --bg-end:#0b3b52;
  --accent-start:#6ad0ff;
  --accent-end:#9fe6ff;
  --accent-contrast:#022;
  --sidebar-btn-top:rgba(15,55,90,0.16);
  --sidebar-btn-bottom:rgba(6,20,30,0.06);
  --sidebar-btn-text:#cfe6ff;
  --site-btn-top:rgba(90,200,255,0.06);
  --site-btn-bottom:rgba(25,120,200,0.03);
  --site-btn-hover-top:rgba(30,120,200,0.12);
  --site-btn-hover-bottom:rgba(10,60,120,0.05);
  --site-btn-text:#cfefff;
  --site-btn-shadow:rgba(6,60,110,0.32);
  --site-panel-link:#cfefff;
  --focus-ring:rgba(106,208,255,0.25);
  --theme-switcher-ring:rgba(106,208,255,0.22);
  --theme-switcher-shadow:rgba(8,36,70,0.45);
  --player-highlight:rgba(6,60,110,0.32);
  --player-vinyl-start:rgba(8,24,38,0.95);
  --player-vinyl-end:rgba(6,18,30,0.95);
  --thumb-start:#dff8ff;
  --thumb-end:#9fe6ff;
  --scrollbar-start:#6ad0ff;
  --scrollbar-end:#9fe6ff;
  --editable-ring:rgba(106,208,255,0.25);
  --editable-shadow:rgba(50,180,255,0.06);
}

:root[data-theme="pink"]{
  --panel:#1a1022;
  --muted:#d9acc8;
  --text:#fff0fb;
  --section-title:#ffd4ef;
  --note-strong:#ffe1f7;
  --bg-start:#170412;
  --bg-mid:#430a31;
  --bg-end:#6c114d;
  --accent-start:#ff6fcf;
  --accent-end:#ffb2e6;
  --accent-contrast:#25051b;
  --sidebar-btn-top:rgba(124,22,88,0.22);
  --sidebar-btn-bottom:rgba(54,8,35,0.1);
  --sidebar-btn-text:#ffe1f4;
  --site-btn-top:rgba(255,111,207,0.11);
  --site-btn-bottom:rgba(125,20,90,0.06);
  --site-btn-hover-top:rgba(255,111,207,0.18);
  --site-btn-hover-bottom:rgba(125,20,90,0.12);
  --site-btn-text:#ffecfa;
  --site-btn-shadow:rgba(129,14,85,0.35);
  --site-panel-link:#ffe0f4;
  --focus-ring:rgba(255,111,207,0.32);
  --theme-switcher-ring:rgba(255,111,207,0.26);
  --theme-switcher-shadow:rgba(129,14,85,0.45);
  --player-highlight:rgba(129,14,85,0.35);
  --player-vinyl-start:rgba(44,10,34,0.95);
  --player-vinyl-end:rgba(24,7,18,0.95);
  --thumb-start:#ffe4f7;
  --thumb-end:#ffb2e6;
  --scrollbar-start:#ff6fcf;
  --scrollbar-end:#ffb2e6;
  --editable-ring:rgba(255,111,207,0.32);
  --editable-shadow:rgba(255,111,207,0.1);
}
*{box-sizing:border-box}
html,body{height:100%;margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--text)}
.app{display:flex;min-height:100vh}
.sidebar{width:220px;padding:24px;background:linear-gradient(180deg,rgba(255,255,255,0.02),transparent);backdrop-filter:blur(6px);border-right:1px solid rgba(255,255,255,0.03)}
.sidebar h2{margin:0 0 12px 0;font-size:18px;color:var(--muted)}
.sidebar ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.bubble-btn{display:inline-block;padding:10px 14px;border-radius:999px;background:linear-gradient(180deg,rgba(123,211,137,0.06),rgba(123,211,137,0.03));color:var(--accent);text-decoration:none;box-shadow:0 6px 18px rgba(0,0,0,0.6);transition:transform .18s ease,box-shadow .18s ease}
.bubble-btn:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 18px 40px rgba(0,0,0,0.7)}
.main{flex:1;padding:28px 36px 80px 36px}
.topbar{margin-bottom:24px}
.topbar h1{margin:0;font-size:28px}
.subtitle{color:var(--muted);margin-top:6px}
.category{margin-bottom:36px}
.category h2{color:var(--section-title);margin-bottom:12px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.card{display:flex;align-items:center;gap:12px;padding:14px;border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,0.01),rgba(255,255,255,0.015));cursor:pointer;transition:transform .18s ease,box-shadow .18s ease;position:relative;overflow:hidden}
.card .icon{font-size:28px}
.card .text{font-weight:600}
.card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(2,6,23,0.6)}

/* Preview pane */
.preview{position:fixed;left:0;top:0;width:366px;height:229px;border-radius:12px;overflow:hidden;pointer-events:none;opacity:0;transform:translate(-10px,-10px) scale(.98);transition:opacity .18s ease,transform .18s ease,filter .18s ease;z-index:60;background:var(--panel);box-shadow:0 30px 80px rgba(2,6,23,0.75);display:flex;align-items:center;justify-content:center;will-change:transform,left,top;max-width:48vw;max-height:60vh}
.preview img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.95) contrast(1.02);pointer-events:none}

/* Panel shown under a site button with mirrors */
.site-panel{position:fixed;z-index:9001;background:linear-gradient(180deg,rgba(255,255,255,0.02),rgba(255,255,255,0.01));backdrop-filter:blur(6px);padding:8px;border-radius:10px;box-shadow:0 18px 40px rgba(0,0,0,0.6);opacity:0;transform:translateY(-6px);transition:opacity .14s ease,transform .14s ease;min-width:160px}
.site-panel.visible{opacity:1;transform:translateY(0)}
.site-panel ul{list-style:none;margin:0;padding:6px 0}
.site-panel li{margin:6px 0}
.site-panel a{color:var(--site-panel-link);text-decoration:none;font-weight:700}
.site-panel button{font:inherit}
.site-panel-button{display:block;width:100%;padding:8px 10px;border-radius:8px;border:none;background:linear-gradient(90deg,var(--accent-start),var(--accent-end));color:var(--accent-contrast);cursor:pointer;font-weight:700;text-align:left}
.site-panel-button:hover{filter:brightness(1.04)}
.site-panel-button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}
.site-panel .mail-btn{display:inline-block;padding:6px 10px;border-radius:8px;background:linear-gradient(90deg,var(--accent-start),var(--accent-end));color:var(--accent-contrast);border:none;cursor:pointer;font-weight:700}
.preview.visible{opacity:1;pointer-events:none;transform:translate(0,0) scale(1)}

/* Responsive */
@media (max-width:900px){.sidebar{display:none}.preview{display:none}.cards{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}

/* Accessibility focus */
a:focus{outline:2px solid var(--focus-ring);outline-offset:3px}

/* Small helper for icon hover to also show preview */
.card .icon:hover{transform:scale(1.06)}

/* Site groups (from РћР±РµРґС‹.txt) */
.site-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.site-group h3{margin:0 0 8px 0;color:#d6f6ff}
.site-list li{margin-bottom:8px}
.site-link{color:var(--accent);text-decoration:none;font-weight:600}
.site-link:hover{text-decoration:underline}

/* Buttons layout */
.site-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}
.site-btn{display:inline-block;padding:8px 12px;border-radius:12px;background:linear-gradient(180deg,#e0f5ff,#bfeaff);color:#05202b;text-decoration:none;font-weight:700;box-shadow:0 8px 18px rgba(12,40,60,0.35);transition:transform .16s ease,box-shadow .16s ease}
.site-btn:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(12,40,60,0.45)}

/* Category heading colors */
.cat-edu{color:#bfe9ff}
.cat-design{color:#c6f0ff}
.cat-dev{color:#bdefff}
.cat-positive{color:#dff9f8}
.cat-books{color:#d3f0ff}
.cat-video{color:#cfe8ff}
.cat-life{color:#dfefff}

/* Big brand with blue shimmer */
.brand{font-size:220px;line-height:0.9;margin:0;font-weight:900;display:block;background:linear-gradient(90deg,#bde9ff,#6ad0ff,#9fe6ff);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 4s linear infinite;text-shadow:0 8px 20px rgba(45,160,255,0.14),0 2px 8px rgba(0,0,0,0.6)}
@keyframes shimmer{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}

.hero-brand{display:inline-flex;align-items:center;justify-content:center;gap:clamp(10px,1.8vw,22px);margin:0 auto 12px auto;max-width:min(96vw,1280px)}
.hero-wordmark{margin:0;font-size:clamp(54px,10vw,150px);line-height:0.9;font-weight:900;letter-spacing:-0.04em;white-space:nowrap;background:linear-gradient(90deg,#bde9ff,#6ad0ff,#8f8cff,#7fd8ff);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:shimmer 4s linear infinite;text-shadow:0 8px 20px rgba(45,160,255,0.14),0 2px 8px rgba(0,0,0,0.6)}
:root[data-theme="pink"] .hero-wordmark{background:none;-webkit-background-clip:border-box;background-clip:border-box;-webkit-text-fill-color:#ffd7ef;color:#ffd7ef;animation:none;text-shadow:0 2px 6px rgba(61,6,38,0.38)}
.hero-logo{display:block;max-width:min(78vw,1100px);height:auto;object-fit:contain;min-width:0}
.theme-halo{width:clamp(68px,7vw,118px);height:auto;flex:0 0 auto;filter:drop-shadow(0 0 20px rgba(255,255,255,0.1)) drop-shadow(0 10px 24px rgba(0,0,0,0.24));pointer-events:none}

/* Center brand and give topbar more space */
.topbar{text-align:center;padding:40px 12px 20px 12px;position:relative}
.subtitle{color:var(--muted);margin:6px auto 0 auto;font-size:15px;line-height:1.45;max-width:min(760px,calc(100% - 24px))}
.site-note-row{max-width:980px;margin:12px auto 18px auto;display:flex;align-items:center;justify-content:center;gap:18px}
.site-note{flex:1;max-width:820px;margin:0;color:var(--muted);font-size:13px;line-height:1.4;background:rgba(255,255,255,0.02);padding:12px;border-radius:10px}
.site-note .note-text{margin:6px 0}
.note-text strong{color:var(--note-strong)}
.note-link{color:var(--note-strong);font-weight:700;text-decoration:none}
.note-link:hover{text-decoration:underline}
.site-footer{margin-top:34px;padding-top:10px;text-align:center}
.footer-text{margin:0 auto;max-width:min(920px,100%);color:var(--muted);font-size:14px;line-height:1.5}
.footer-link{color:var(--note-strong);font-weight:700;text-decoration:none}
.footer-link:hover{text-decoration:underline}
.footer-copy-btn{background:none;border:none;padding:0;font:inherit;cursor:pointer}
.footer-copy-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:4px}
.footer-copy-status{display:inline-block;margin-left:8px;color:var(--muted);font-size:12px}
.theme-switcher{width:140px;aspect-ratio:7/10;border:1px solid rgba(255,255,255,0.08);border-radius:16px;background:radial-gradient(circle at top, rgba(255,255,255,0.08), rgba(255,255,255,0.02) 58%),rgba(255,255,255,0.03);padding:4px 2px 0;overflow:hidden;cursor:pointer;box-shadow:0 14px 30px rgba(0,0,0,0.35);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;flex-shrink:0}
.theme-switcher img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom}
.theme-switcher:hover{transform:translateY(-4px);box-shadow:0 18px 40px var(--theme-switcher-shadow);border-color:var(--theme-switcher-ring)}
.theme-switcher:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}
.theme-switcher[aria-pressed="true"]{transform:translateY(-2px);border-color:var(--theme-switcher-ring);box-shadow:0 18px 40px var(--theme-switcher-shadow),0 0 0 1px var(--theme-switcher-ring)}
.note-buttons{display:flex;gap:10px;margin-top:8px}
.donate-btn,.download-btn{padding:8px 12px;border-radius:10px;background:linear-gradient(90deg,var(--accent-start),var(--accent-end));color:var(--accent-contrast);border:none;cursor:pointer;font-weight:700}
.wallet-list{display:flex;flex-direction:column;gap:10px}
.wallet-copy{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border-radius:10px;border:1px solid rgba(255,255,255,0.05);background:linear-gradient(180deg,rgba(255,255,255,0.025),rgba(255,255,255,0.01));color:var(--text);cursor:pointer;text-align:left;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}
.wallet-copy:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(0,0,0,0.28);border-color:rgba(255,255,255,0.12)}
.wallet-copy:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}
.wallet-name{font-weight:700;color:var(--section-title);min-width:72px}
.wallet-short{display:inline-block;margin-left:auto;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:rgba(0,0,0,0.2);padding:4px 8px;border-radius:6px}
.wallet-copy-status{min-height:18px;margin:10px 0 0;color:var(--muted);font-size:12px}

@media (max-width:900px){
  .hero-brand{gap:8px;max-width:94vw}
  .hero-logo{max-width:min(72vw,760px)}
  .theme-halo{width:54px}
  .site-note-row{flex-direction:column;align-items:center}
  .site-note{width:100%}
  .theme-switcher{width:min(190px,100%)}
}

/* Overlay / bot check */
.overlay{position:fixed;inset:0;background:linear-gradient(180deg,rgba(2,6,23,0.85),rgba(2,6,23,0.92));z-index:9999;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#e6f0ff}
.overlay .msg{max-width:420px;padding:20px;text-align:center}
.overlay .btn{margin-top:14px;padding:10px 16px;border-radius:8px;background:linear-gradient(90deg,var(--accent-start),var(--accent-end));border:none;color:var(--accent-contrast);cursor:pointer;font-weight:700}

/* Modal for adding site */
.modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-54%) scale(.98);background:var(--panel);padding:18px;border-radius:12px;box-shadow:0 30px 80px rgba(2,6,23,0.7);z-index:9000;width:420px;max-width:92%;display:none;opacity:0;transition:opacity .22s cubic-bezier(.2,.9,.3,1),transform .22s cubic-bezier(.2,.9,.3,1)}
.modal.show{display:block;opacity:1;transform:translate(-50%,-50%) scale(1)}
.modal h4{margin:0 0 12px 0}
.modal label{display:block;font-size:13px;color:var(--muted);margin-top:8px}
.modal input[type="text"],.modal input[type="url"]{width:100%;padding:8px;border-radius:8px;border:1px solid rgba(255,255,255,0.04);background:transparent;color:#e6f0ff}
.modal .row{display:flex;gap:8px;margin-top:12px}
.modal .actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
.modal .actions button{padding:8px 12px;border-radius:8px;border:none;cursor:pointer}
.register-modal{width:min(720px,calc(100vw - 28px));max-width:92vw;max-height:80vh;overflow:auto}
.register-modal h4{padding-right:34px}
.register-text{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;color:var(--text)}

/* modal top-right close */
.modal-close-top{position:absolute;right:10px;top:8px;background:transparent;border:none;color:var(--section-title);font-size:18px;padding:6px;cursor:pointer;border-radius:6px}
.modal-close-top:hover{background:rgba(255,255,255,0.02)}

/* Download grid */
.download-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:8px}
.download-link{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;background:linear-gradient(90deg,var(--accent-start),var(--accent-end));color:var(--accent-contrast);text-decoration:none;font-weight:700}
.download-link .dl-icon{width:20px;height:20px;flex-shrink:0}

/* small icon for wallets/dl list */
.dl-icon{width:18px;height:18px;vertical-align:middle;margin-right:6px}

/* Track title and marquee */
.track-title{width:100%;overflow:hidden;white-space:nowrap;margin-bottom:6px}
.track-title .marquee{display:inline-block;white-space:nowrap;will-change:transform;animation-timing-function:linear}
.track-title .marquee span{display:inline-block;padding-right:2rem}
.track-title.scrolling .marquee{animation-name:marquee;animation-duration:8s;animation-timing-function:linear;animation-iteration-count:infinite}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Volume control styling */
#volumeSlider{appearance:none;background:rgba(255,255,255,0.04);height:12px;border-radius:6px;width:80px;vertical-align:middle}
#volumeSlider::-webkit-slider-runnable-track{height:12px;border-radius:6px;background:transparent}
#volumeSlider::-webkit-slider-thumb{appearance:none;width:14px;height:14px;border-radius:50%;background:linear-gradient(90deg,var(--thumb-start),var(--thumb-end));box-shadow:0 4px 12px rgba(0,0,0,0.35);margin-top:0;position:relative;transform:translateY(-1px)}
#volumeSlider::-moz-range-track{height:12px;border-radius:6px;background:transparent}
#volumeSlider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:linear-gradient(90deg,var(--thumb-start),var(--thumb-end))}
#volumeSlider:focus{outline:none}
#volBtn{padding:6px 8px}


/* audio player bottom-left (collapsed by default) */
#player{position:fixed;left:18px;bottom:18px;background:linear-gradient(180deg,rgba(255,255,255,0.01),rgba(255,255,255,0.005));padding:6px;border-radius:12px;box-shadow:0 12px 30px rgba(2,6,23,0.6);z-index:8000;display:flex;align-items:center;gap:8px;transition:padding .18s ease,background .18s ease;max-width:380px}
#player audio{display:none}
#player .player-body{display:flex;align-items:center;gap:12px}
#player .vinyl{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 30%, rgba(255,255,255,0.06), rgba(255,255,255,0.01)),linear-gradient(180deg,var(--player-vinyl-start),var(--player-vinyl-end));box-shadow:inset 0 2px 6px rgba(255,255,255,0.02),0 8px 20px rgba(0,0,0,0.6);overflow:hidden;cursor:pointer}
#player .disc{width:36px;height:36px;border-radius:50%;background-size:cover;background-position:center;box-shadow:inset 0 2px 6px rgba(0,0,0,0.5);transform-origin:50% 50%;background-image:url("icons/arisudisc.png")}
#player .disc img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block;pointer-events:none;}
#player .disc.spinning{animation:spin linear infinite}
@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}

/* collapsed: hide controls until hover */
#player .player-right{display:flex;flex-direction:column;gap:8px;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .22s cubic-bezier(.2,.9,.3,1),transform .22s cubic-bezier(.2,.9,.3,1),width .22s cubic-bezier(.2,.9,.3,1);width:0;overflow:visible;min-height:44px}
#player:hover, #player:focus-within{padding:12px 14px;background:linear-gradient(180deg,rgba(255,255,255,0.02),rgba(255,255,255,0.01))}
#player:hover .player-right, #player:focus-within .player-right, #player .vinyl:hover + .player-right, #player .vinyl:focus + .player-right{opacity:1;transform:translateY(0);pointer-events:auto;width:340px}

.progress{flex:1;min-width:100px;max-width:220px;height:6px;background:rgba(255,255,255,0.03);border-radius:6px;position:relative;cursor:pointer;overflow:hidden}.progress-played{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,var(--accent-start),var(--accent-end));border-radius:6px;transition:width .08s linear}.progress-knob{position:absolute;top:50%;left:0;width:8px;height:8px;border-radius:50%;background:linear-gradient(90deg,var(--thumb-start),var(--thumb-end));transform:translate(-50%,-50%);box-shadow:0 4px 12px rgba(0,0,0,0.35);transition:transform .08s}
.progress:hover .progress-knob{transform:translate(-50%,-50%) scale(1.06)}
.progress-row{display:flex;align-items:center;gap:10px}
.time{color:var(--note-strong);font-weight:600;font-size:12px;white-space:nowrap}
#player .controls{display:flex;gap:8px;align-items:center}
.player-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,0.03),rgba(255,255,255,0.01));color:#e6fbff;text-decoration:none;font-weight:800;border:1px solid rgba(255,255,255,0.06);backdrop-filter:blur(6px);box-shadow:0 10px 28px rgba(6,30,58,0.22);cursor:pointer;transition:transform .14s ease,box-shadow .14s ease}
.player-btn:hover{transform:translateY(-4px);box-shadow:0 18px 36px var(--player-highlight)}
.player-btn[aria-disabled="true"]{opacity:.55;pointer-events:none;transform:none;box-shadow:0 8px 20px rgba(0,0,0,0.18)}
#player .pm-actions{display:none}
#player .admin-add-music{display:none}

/* language switcher */
.lang-switcher{position:absolute;right:24px;top:18px;display:flex;gap:6px}
.lang{background:transparent;border:1px solid rgba(255,255,255,0.06);color:var(--muted);padding:6px 8px;border-radius:8px;cursor:pointer}
.lang.active{background:linear-gradient(90deg,var(--accent-start),var(--accent-end));color:var(--accent-contrast)}

/* animated blue gradient background */
@keyframes bgShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
html,body{background:linear-gradient(90deg,var(--bg-start),var(--bg-mid),var(--bg-end));background-size:300% 300%;animation:bgShift 12s ease infinite}


/* hide admin/edit controls */
.admin-only{display:none !important}
.edit-controls{display:none !important}
.group-actions{display:none !important}
.add-btn,.edit-cat,#toggleAdmin,#toggleEdit,#addCategory{display:none !important}
/* Softer sidebar buttons */
.bubble-btn{display:inline-block;padding:10px 14px;border-radius:999px;background:linear-gradient(180deg,var(--sidebar-btn-top),var(--sidebar-btn-bottom));color:var(--sidebar-btn-text);text-decoration:none;box-shadow:0 6px 18px rgba(0,0,0,0.5);transition:transform .18s ease,box-shadow .18s ease}
.bubble-btn:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 12px 30px rgba(0,0,0,0.6)}

/* keep existing responsive tweak */
@media (max-width:900px){
  .brand{font-size:140px}
  .site-list{gap:10px}
  .site-btn{padding:8px 12px;border-radius:10px}
  html,body{min-height:100vh}
}
/* Site groups stacked vertically; each category has row of buttons */
.site-groups{display:flex;flex-direction:column;gap:20px}
.site-group{padding:14px 18px;border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,0.008),rgba(255,255,255,0.004));border:1px solid rgba(255,255,255,0.02)}
.site-group h3{margin:0 0 10px 0}
.site-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:14px;overflow:visible;padding-bottom:6px}

/* Futuristic semi-transparent buttons */
.site-btn{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;border-radius:14px;background:linear-gradient(180deg,var(--site-btn-top),var(--site-btn-bottom));color:var(--site-btn-text);text-decoration:none;font-weight:800;border:1px solid rgba(255,255,255,0.04);backdrop-filter:blur(8px);box-shadow:0 6px 20px rgba(0,0,0,0.4),inset 0 1px 0 rgba(255,255,255,0.02);transition:transform .16s ease,box-shadow .16s ease,background .16s ease}
.site-btn:hover{transform:translateY(-8px);box-shadow:0 22px 46px var(--site-btn-shadow);background:linear-gradient(180deg,var(--site-btn-hover-top),var(--site-btn-hover-bottom))}

/* Icon inside button */
.site-icon{width:20px;height:20px;border-radius:6px;object-fit:cover;flex-shrink:0;filter:drop-shadow(0 4px 12px rgba(5,80,140,0.18))}

/* Make list scroll nicely when many buttons */
.site-list::-webkit-scrollbar{height:8px}
.site-list::-webkit-scrollbar-thumb{background:linear-gradient(90deg,var(--scrollbar-start),var(--scrollbar-end));border-radius:10px}

/* Responsive brand */
@media (max-width:900px){
  .brand{font-size:140px}
  .site-list{gap:10px}
  .site-btn{padding:8px 12px;border-radius:10px}
  html,body{min-height:100vh}
}

/* Edit controls and group head */
/* Overrides: smaller vinyl, smaller disc, show controls when hovering vinyl, adjust progress width/knob */
#player .vinyl{width:48px;height:48px}
#player .disc{width:36px;height:36px}
#player .vinyl:hover + .player-right, #player .vinyl:focus + .player-right{opacity:1;transform:translateY(0);pointer-events:auto;width:340px}

/* moved inline styles from HTML into CSS */
.lang-switcher{position:absolute;right:20px;top:28px;z-index:1}
.cat-color-row{display:flex;gap:8px;align-items:center}
#catColor{width:110px}
.cat-color-label{margin-left:8px}
#sitePanel{display:none}
.edit-controls{display:flex;gap:8px;justify-content:flex-end;margin-bottom:14px}
.edit-controls button{background:transparent;border:1px solid rgba(255,255,255,0.06);color:var(--muted);padding:8px 10px;border-radius:8px;cursor:pointer}
.group-head{display:flex;justify-content:space-between;align-items:center}
.group-head h3{margin:0; text-align:left; display:inline-flex; align-items:center; gap:8px}
.group-actions{display:flex;gap:8px;align-items:center}
.group-actions .add-btn{background:transparent;border:1px dashed rgba(255,255,255,0.04);color:var(--muted);padding:6px 8px;border-radius:8px;cursor:pointer}
.edit-cat{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(180deg,rgba(255,255,255,0.03),rgba(255,255,255,0.01));color:#e6fbff;border:1px solid rgba(255,255,255,0.06);backdrop-filter:blur(6px);cursor:pointer;font-size:16px}
.edit-cat:hover{transform:translateY(-4px);box-shadow:0 12px 28px var(--player-highlight)}
.cat-icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;margin-right:8px;font-size:18px}
.site-icon{width:18px;height:18px;margin-right:8px;border-radius:4px;vertical-align:middle}

/* Editable visuals */
.site-btn[contenteditable="true"]{outline:2px dashed var(--editable-ring);box-shadow:0 8px 20px var(--editable-shadow) inset}

@media (max-width:900px){
  .topbar{display:flex;flex-direction:column;align-items:center}
  .lang-switcher{position:static;order:-1;justify-content:center;width:100%;margin:0 auto 12px;z-index:auto}
}
