:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#091c22;color:#f5efe7}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(140deg,#091c22,#102d31 42%,#312a22)}button,input{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app{min-height:100vh;padding:22px clamp(16px,3vw,34px) 104px}.topbar,.controls,.actionbar,.session-strip{display:flex;align-items:center;gap:14px}.topbar{justify-content:space-between;margin-bottom:24px}.brand{display:flex;align-items:center;gap:12px}.brand strong{display:block;font-family:Anton,Impact,sans-serif;font-size:24px;letter-spacing:0;line-height:1}.brand span,.account span,.meta span,.session-strip span{color:#cabdb2;font-size:13px}.brand.large strong{font-size:38px}.account{display:flex;align-items:center;gap:10px}.account button,.icon-button,.download,.select{display:grid;width:38px;height:38px;place-items:center;border-radius:8px;background:#ebddce21;color:#f5efe7}.controls{flex-wrap:wrap;justify-content:space-between;margin-bottom:22px}.tabs,.filters{display:flex;gap:8px;padding:5px;border:1px solid rgba(235,221,206,.18);border-radius:8px;background:#091c22b8}.tabs button,.filters button,.actionbar button,.session-strip button,form button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;gap:8px;border-radius:6px;padding:0 14px;background:transparent;color:#ebddce;text-transform:capitalize}.tabs .active,.filters .active,.actionbar button,.session-strip button,form button{background:#ebddce;color:#091c22}.grid{display:grid;gap:14px}.media-grid{grid-template-columns:repeat(auto-fill,minmax(178px,1fr))}.session-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.tile{position:relative;overflow:hidden;border:1px solid rgba(235,221,206,.14);border-radius:8px;background:#07161bb8}.thumb{position:relative;display:grid;width:100%;aspect-ratio:1 / 1;place-items:center;overflow:hidden;background:#0f272d}.session .thumb{aspect-ratio:4 / 3}.session-open{padding:0}.thumb img{width:100%;height:100%;object-fit:cover}.placeholder{display:grid;width:100%;height:100%;place-items:center;color:#ebddce;background:linear-gradient(135deg,#0e292f,#493d32)}.play{position:absolute;color:#ebddce;filter:drop-shadow(0 4px 14px rgba(0,0,0,.55))}.select,.download{position:absolute;z-index:2;top:10px}.select{left:10px}.download{right:10px}.select.checked{background:#ebddce;color:#091c22}.meta{display:grid;gap:5px;min-height:66px;padding:11px}.meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.notice{margin:0 0 18px;color:#ebddce}.notice.error{color:#ffd0ca}.session-strip{margin-bottom:18px;padding:12px 0;border-top:1px solid rgba(235,221,206,.14);border-bottom:1px solid rgba(235,221,206,.14)}.actionbar{position:fixed;right:clamp(16px,3vw,34px);bottom:18px;left:clamp(16px,3vw,34px);justify-content:flex-end;padding:12px;border:1px solid rgba(235,221,206,.16);border-radius:8px;background:#091c22e6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.actionbar span{margin-right:auto;color:#cabdb2}.empty,.center,.login{display:grid;min-height:100vh;place-items:center}.empty{min-height:45vh;gap:10px;color:#cabdb2}.login{padding:24px;background:radial-gradient(circle at 28% 22%,rgba(235,221,206,.15),transparent 34%),#091c22}.login-panel{width:min(100%,430px);padding:26px;border:1px solid rgba(235,221,206,.18);border-radius:8px;background:#07161bd1}form{display:grid;gap:16px;margin-top:28px}label{display:grid;gap:7px;color:#cabdb2;font-size:13px}input{width:100%;min-height:44px;border:1px solid rgba(235,221,206,.22);border-radius:6px;padding:0 12px;background:#ffffff0f;color:#fff8ef}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:720px){.app{padding-top:16px}.topbar,.controls,.session-strip{align-items:stretch;flex-direction:column}.topbar{gap:16px}.account,.tabs,.filters,.tabs button,.filters button{width:100%}.media-grid,.session-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.actionbar{align-items:stretch;flex-wrap:wrap}}
