:root {
  --ink: #141510; --paper: #f3f0e7; --deep: #e8e3d7; --acid: #d9ff43;
  --orange: #ff6433; --muted: #77776f; --line: rgba(20,21,16,.16);
  --radius: 24px; --shadow: 0 24px 70px rgba(20,21,16,.12);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-height: 100vh; color: var(--ink); background: var(--paper); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
button, input, select { font: inherit; } button { color: inherit; }
.noise { position: fixed; inset: 0; pointer-events: none; opacity: .032; z-index: 20; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E"); }
.topbar { height: 82px; padding: 0 clamp(20px,4vw,72px); display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 12; background: rgba(243,240,231,.9); backdrop-filter: blur(18px); }
.brand { display: flex; align-items: center; gap: 12px; color: inherit; text-decoration: none; font-size: 15px; font-weight: 900; letter-spacing: .16em; }
.brand-mark { display: flex; gap: 3px; height: 24px; align-items: end; transform: skew(-8deg); }.brand-mark i{display:block;width:5px;background:var(--ink);border-radius:4px}.brand-mark i:nth-child(1){height:13px}.brand-mark i:nth-child(2){height:24px}.brand-mark i:nth-child(3){height:18px}
nav { display: flex; gap: 4px; }.nav-link { border:0; background:none; padding:10px 16px; border-radius:100px; cursor:pointer; font-weight:650; color:var(--muted); }.nav-link:hover,.nav-link.active{background:var(--ink);color:var(--paper)}
.service-state{font-size:12px;text-transform:uppercase;letter-spacing:.08em;display:flex;gap:8px;align-items:center}.pulse{width:8px;height:8px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 5px rgba(255,100,51,.12)}.service-state.online .pulse{background:#54c873;box-shadow:0 0 0 5px rgba(84,200,115,.12)}
main{width:min(1440px,100%);margin:0 auto;padding:0 clamp(20px,4vw,72px) 100px}.view{display:none}.view.active{display:block}.eyebrow,.step{margin:0 0 18px;font-size:12px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.page-title h1{margin:0;font-size:clamp(70px,10vw,156px);line-height:.78;letter-spacing:-.075em;text-transform:uppercase}
.mixer-panel,.player-section,.activity-card,.admin-panel{border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.32);box-shadow:var(--shadow)}.mixer-panel{margin-top:52px;padding:clamp(24px,4vw,54px)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:26px}.section-head h2{margin:0;font-size:clamp(28px,4vw,52px);letter-spacing:-.045em}.muted{color:var(--muted)}
.playlist-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.playlist-card{border:0;border-radius:20px;padding:28px;min-height:220px;text-align:left;cursor:pointer;position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s;background:var(--deep)}.playlist-card:hover{transform:translateY(-3px);box-shadow:0 18px 35px rgba(20,21,16,.12)}.playlist-card.selected{outline:4px solid var(--ink);outline-offset:-4px}.playlist-card.energia{background:var(--acid)}.playlist-card.zamulanie{background:#b9b2ff}.playlist-card::after{content:"";position:absolute;width:160px;height:160px;border:22px solid rgba(20,21,16,.10);border-radius:50%;right:-38px;bottom:-60px}.playlist-name{display:block;font-size:clamp(34px,4vw,56px);font-weight:900;letter-spacing:-.055em}.playlist-stats{position:absolute;left:28px;bottom:28px;display:flex;gap:18px;font-size:13px;font-weight:700}.playlist-check{position:absolute;right:22px;top:22px;width:28px;height:28px;border:2px solid var(--ink);border-radius:50%;display:grid;place-items:center}.selected .playlist-check{background:var(--ink);color:white}
.mix-controls{display:grid;grid-template-columns:.65fr 1.35fr;gap:44px;margin:52px 0 36px;border-top:1px solid var(--line);padding-top:40px}.control-title{display:flex;justify-content:space-between;gap:16px;margin-bottom:22px;text-transform:uppercase;font-size:12px;letter-spacing:.1em}.control-title strong{font-size:14px}input[type=range]{width:100%;accent-color:var(--ink)}.range-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-top:7px}.mode-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.mode{border:1px solid var(--line);border-radius:14px;background:transparent;padding:15px 12px;cursor:pointer;text-align:left;min-height:110px}.mode b,.mode span,.mode small{display:block}.mode b{font-size:20px;margin-bottom:10px}.mode span{font-weight:800}.mode small{color:var(--muted);margin-top:5px;line-height:1.25}.mode:hover,.mode.active{background:var(--ink);color:var(--paper)}.mode.active small{color:#b8b8ad}
.primary-action{width:100%;border:0;border-radius:16px;background:var(--orange);padding:22px 26px;display:flex;justify-content:space-between;cursor:pointer;font-weight:900;letter-spacing:.08em;transition:filter .2s,transform .2s}.primary-action i{font-style:normal;font-size:22px}.primary-action:hover:not(:disabled){filter:brightness(1.07);transform:translateY(-2px)}.primary-action:disabled{opacity:.4;cursor:not-allowed}
.player-section{margin-top:44px;padding:clamp(20px,3vw,36px);background:var(--ink);color:var(--paper)}.player-heading{border-bottom:1px solid rgba(255,255,255,.16);padding-bottom:24px}.player-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(290px,.65fr);gap:28px}.video-shell{width:100%;aspect-ratio:16/9;border-radius:17px;overflow:hidden;background:#000;position:relative}.video-shell video{width:100%;height:100%;display:block;background:#000}.media-state{position:absolute;inset:0;display:flex;flex-direction:column;gap:9px;align-items:center;justify-content:center;text-align:center;padding:28px;background:rgba(0,0,0,.72);color:white}.media-state strong{font-size:clamp(18px,2vw,28px)}.media-state span{max-width:560px;color:#c5c5bd;font-size:14px;line-height:1.45}.now-meta{padding:24px 2px 2px;display:flex;justify-content:space-between;align-items:center;gap:20px}.now-meta h3{font-size:clamp(28px,3.5vw,52px);letter-spacing:-.045em;margin:3px 0 8px}.now-artist{color:var(--acid);text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:800;margin:0}.transport{display:flex;align-items:center;gap:12px;white-space:nowrap}.transport button{width:46px;height:46px;border:1px solid rgba(255,255,255,.25);background:transparent;color:white;border-radius:50%;cursor:pointer}.transport button:hover{background:var(--acid);color:var(--ink)}
.queue-panel{border-left:1px solid rgba(255,255,255,.15);padding-left:24px;min-width:0}.queue-head{display:flex;justify-content:space-between;align-items:center}.queue-head h3{font-size:22px}.queue-head span{color:#a8a89f;font-size:12px}#queue{margin:0;padding:0;list-style:none;max-height:610px;overflow:auto;scrollbar-color:#555 transparent}.queue-item{display:grid;grid-template-columns:34px 70px minmax(0,1fr);gap:10px;align-items:center;padding:10px 6px;border-bottom:1px solid rgba(255,255,255,.10);cursor:pointer;border-radius:9px}.queue-item:hover{background:rgba(255,255,255,.07)}.queue-item.active{background:var(--acid);color:var(--ink)}.queue-item.played:not(.active){opacity:.5}.queue-item img{width:70px;aspect-ratio:16/9;object-fit:cover;border-radius:6px}.queue-item p{margin:0;font-size:13px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-item small{color:inherit;opacity:.66;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.quiet-button,.admin-actions button{border:1px solid currentColor;background:transparent;color:inherit;border-radius:100px;padding:10px 16px;cursor:pointer;text-decoration:none;white-space:nowrap}.quiet-button.active{background:var(--acid);border-color:var(--acid);color:var(--ink)}.player-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px}.cast-launcher{width:42px;height:42px;--connected-color:var(--acid);--disconnected-color:var(--paper)}.page-title{padding:70px 0 44px}.page-title h1{font-size:clamp(58px,10vw,130px)}.library-toolbar{display:grid;grid-template-columns:220px 220px 1fr;gap:12px;margin-bottom:22px}.library-toolbar select,.library-toolbar input,.admin-panel input{border:1px solid var(--line);background:rgba(255,255,255,.38);border-radius:12px;padding:14px 16px;color:var(--ink)}.track-list{border-top:1px solid var(--line)}.track-row{display:grid;grid-template-columns:48px minmax(0,1.2fr) minmax(0,1fr) 120px;gap:16px;align-items:center;padding:14px 4px;border-bottom:1px solid var(--line)}.track-row img{width:48px;height:48px;object-fit:cover;border-radius:7px;background:var(--deep)}.track-row p{margin:0;font-weight:750}.track-row small{color:var(--muted)}.status-pill{justify-self:end;border:1px solid var(--line);border-radius:100px;padding:6px 10px;font-size:11px;text-transform:uppercase}#load-more{margin:24px auto;display:block}
.activity-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.activity-card{padding:28px;box-shadow:none}.activity-card h2{font-size:28px}.activity-row{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding:15px 0}.activity-row p{margin:0;font-weight:700}.activity-row small{color:var(--muted)}.job-success{color:#218844}.job-failed{color:#ce3c2d}.admin-panel{margin-top:18px;padding:24px 28px;box-shadow:none}.admin-panel summary{font-weight:850;cursor:pointer}.admin-panel p{color:var(--muted)}.admin-panel input{width:min(100%,420px)}.admin-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.admin-actions button:hover{background:var(--ink);color:var(--paper)}
.toast{position:fixed;right:24px;bottom:24px;padding:14px 18px;border-radius:12px;background:var(--ink);color:var(--paper);transform:translateY(100px);opacity:0;transition:.25s;z-index:30;box-shadow:var(--shadow)}.toast.show{transform:none;opacity:1}.hidden{display:none!important}.skeleton-row::before{content:"Ładowanie playlist…";padding:40px;color:var(--muted)}
@media(max-width:900px){
  .topbar{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(243,240,231,.97)}
  .topbar nav{order:3;position:fixed;z-index:20;left:50%;right:auto;bottom:calc(12px + env(safe-area-inset-bottom));width:min(calc(100% - 28px),480px);transform:translateX(-50%);background:var(--ink);border-radius:100px;padding:6px;justify-content:space-around;box-shadow:0 12px 30px rgba(0,0,0,.24)}
  .nav-link{color:#aaa;flex:1;min-width:0;min-height:44px}.nav-link.active{background:var(--paper);color:var(--ink)}
  .quiet-button,.admin-actions button{min-height:44px}
  .service-state{display:none}
  main{padding-bottom:calc(100px + env(safe-area-inset-bottom))}
  .playlist-cards,.mix-controls,.player-layout,.activity-grid{grid-template-columns:1fr}
  .mode-grid{grid-template-columns:repeat(2,1fr)}
  .queue-panel{border-left:0;border-top:1px solid rgba(255,255,255,.15);padding:18px 0 0}.queue-panel #queue{max-height:390px}
  .library-toolbar{grid-template-columns:1fr 1fr}.library-toolbar input{grid-column:1/-1}
  .track-row{grid-template-columns:48px minmax(0,1fr) 90px}.track-row .video-detail{display:none}
  .activity-card,.activity-row>div{min-width:0}.activity-row p,.activity-row small{overflow-wrap:anywhere}.activity-row>small{flex:0 0 auto;text-align:right}
  input[type=range]{min-height:32px}
}
@media(max-width:540px){
  main{padding-left:14px;padding-right:14px}
  .topbar{padding:0 18px;height:68px}
  .nav-link{padding:10px 7px;font-size:13px}
  .mixer-panel{margin-top:24px;padding:18px}.mixer-panel>.section-head{align-items:flex-start;flex-direction:column;gap:8px}
  .playlist-cards{grid-template-columns:1fr}.playlist-card{min-height:170px;padding:22px}.playlist-stats{left:22px;right:22px;bottom:22px;justify-content:space-between;gap:8px;font-size:11px}
  .mode-grid{grid-template-columns:1fr 1fr}
  .player-heading{align-items:flex-start;flex-direction:column}.player-actions{justify-content:flex-start;width:100%}.player-actions .quiet-button{padding-left:12px;padding-right:12px;font-size:14px}
  .now-meta{align-items:flex-start;flex-direction:column}
  .page-title h1{font-size:clamp(40px,14vw,58px);line-height:.88;letter-spacing:-.06em}
  .library-toolbar{grid-template-columns:1fr}.library-toolbar input{grid-column:auto}
  .track-row{grid-template-columns:40px minmax(0,1fr)}.track-row img{width:40px;height:40px}.track-row .status-pill{display:none}
  #job-list .activity-row>div>small{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
  .toast{left:14px;right:14px;bottom:calc(82px + env(safe-area-inset-bottom));text-align:center}
}
