/* Reset / Theme */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#000;
  --pane:rgba(0,0,0,.95);
  --muted:rgba(255,255,255,.6);
  --text:#fff;
  --accent:#ff6b6b;
  --accent-2:#ff8787;
  --border:rgba(255,255,255,.1);
  --border-2:rgba(255,255,255,.2);
}
html,body{height:100%}
body{
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Inter,system-ui,sans-serif;
  background:#000; /* solid black; remove any gradients/ghost artifacts */
  color:var(--text);
  overflow:hidden;
}

/* Header */
header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:grid;grid-template-columns:calc(100% - 380px) 380px;
  align-items:center;background:rgba(0,0,0,.95);backdrop-filter:blur(10px);height:70px
}
.header-video-section{display:grid;grid-template-columns:minmax(150px,auto) 1fr minmax(150px,auto);align-items:center;padding:0 30px;gap:20px}
.header-left{justify-self:start}
header h1{font-size:1.8rem;color:var(--accent);text-shadow:0 0 20px rgba(255,107,107,.5);cursor:pointer;margin:0;white-space:nowrap}
.tabs{justify-self:center;display:flex;gap:8px;background:rgba(255,255,255,.05);padding:6px;border-radius:25px;width:fit-content}
.tab{padding:6px 16px;background:transparent;border:1px solid var(--border-2);border-radius:20px;color:rgba(255,255,255,.7);cursor:pointer;transition:all .3s;font-weight:500;font-size:.9rem;white-space:nowrap}
.tab:hover{background:rgba(255,255,255,.1);color:#fff}
.tab.active{background:linear-gradient(45deg,var(--accent),var(--accent-2));border-color:transparent;color:#fff}
.header-actions{padding:0 30px;display:flex;align-items:center;justify-content:flex-end;gap:20px}
.auth-btn{padding:8px 20px;background:linear-gradient(45deg,var(--accent),var(--accent-2));border:none;border-radius:20px;color:#fff;cursor:pointer;font-weight:600;transition:transform .3s}
.auth-btn:hover{transform:scale(1.05)}
.user-profile{display:flex;align-items:center;gap:15px;position:relative}
.profile-btn{width:40px;height:40px;border-radius:50%;background:linear-gradient(45deg,var(--accent),var(--accent-2));display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.2rem}
.profile-menu{position:absolute;top:50px;right:0;background:rgba(20,20,20,.95);backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:10px;padding:10px 0;min-width:150px;z-index:150}
.profile-menu a{display:block;padding:10px 20px;color:#fff;text-decoration:none;transition:background .3s}
.profile-menu a:hover{background:rgba(255,255,255,.1)}

/* Layout: video + comments */
.video-container{position:fixed;top:70px;left:0;right:380px;bottom:20px;display:flex;align-items:center;justify-content:center;background:#000;padding:20px}
.video-frame{position:relative;width:100%;height:100%;max-width:100%;max-height:100%;border-radius:18px;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.08),0 20px 60px rgba(0,0,0,.65)}
#player{object-fit:contain;background:#000;cursor:pointer;border-radius:18px;width:100%;height:100%}

/* Overlays */
.info-button-overlay{position:absolute;top:20px;left:20px;z-index:80;background:rgba(0,0,0,.6);backdrop-filter:blur(10px);border:1px solid var(--border-2);border-radius:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity .25s,transform .25s;color:#fff;opacity:0}
.video-container:hover .info-button-overlay{opacity:1}
.info-button-overlay:hover{transform:scale(1.05)}

.creator-info-overlay{position:absolute;bottom:20px;left:20px;z-index:80;display:flex;align-items:center;gap:12px;padding:14px 18px;background:rgba(0,0,0,.55);backdrop-filter:blur(10px);border-radius:12px;opacity:.35;transition:opacity .25s;max-width:420px}
.video-container:hover .creator-info-overlay{opacity:1}
.avatar-small{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;letter-spacing:.5px;text-transform:uppercase;flex-shrink:0}

.action-buttons-overlay{position:absolute;bottom:20px;right:20px;z-index:80;display:flex;gap:15px;padding:10px 12px;background:rgba(0,0,0,.55);backdrop-filter:blur(10px);border-radius:15px;opacity:.35;transition:opacity .25s}
.video-container:hover .action-buttons-overlay{opacity:1}
.action-btn-overlay{display:flex;flex-direction:column;align-items:center;gap:2px;background:transparent;border:none;color:#fff;cursor:pointer;transition:transform .2s;padding:6px 10px}
.action-btn-overlay:hover{transform:scale(1.12)}
.action-btn-overlay svg{width:24px;height:24px;filter:drop-shadow(0 2px 10px rgba(0,0,0,.8))}
.action-btn-overlay span{font-size:.75rem;font-weight:600;text-shadow:0 2px 10px rgba(0,0,0,.8)}
.action-btn-overlay.liked svg{fill:var(--accent);stroke:var(--accent)}
.action-btn-overlay.bookmarked svg{fill:#ffd700;stroke:#ffd700}
.action-btn-overlay.liked span{color:var(--accent)}
.action-btn-overlay.bookmarked span{color:#ffd700}

/* Utility controls (top-right) fully fade */
.utility-controls-overlay{position:absolute;top:20px;right:20px;z-index:85;display:flex;gap:8px;align-items:center;padding:8px 10px;background:rgba(0,0,0,.65);backdrop-filter:blur(10px);border-radius:12px;border:1px solid var(--border-2);opacity:0;transition:opacity .25s}
.video-container:hover .utility-controls-overlay{opacity:1}
.util-btn{background:transparent;border:none;color:#fff;width:38px;height:38px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s;padding:0}
.util-btn:hover{background:rgba(255,255,255,.15)}
.util-btn svg{width:20px;height:20px}
.volume-wrapper{position:relative;display:flex;align-items:center}
.volume-popover{position:absolute;right:0;top:46px;background:rgba(0,0,0,.9);border:1px solid var(--border-2);padding:12px;border-radius:10px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:100}
.volume-wrapper:hover .volume-popover{opacity:1;pointer-events:auto}
.volume-popover input[type="range"]{width:120px;height:4px;background:rgba(255,255,255,.2);border-radius:2px;outline:none;-webkit-appearance:none}
.volume-popover input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;background:var(--accent);border-radius:50%;cursor:pointer}
.volume-popover input[type="range"]::-moz-range-thumb{width:14px;height:14px;background:var(--accent);border-radius:50%;cursor:pointer;border:none}

/* Info Panel (centered WITHIN video-frame) */
.info-panel{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  background:rgba(0,0,0,.95);backdrop-filter:blur(20px);
  border:1px solid var(--border-2);border-radius:16px;padding:26px;
  max-width:560px;width:90%;z-index:99;box-shadow:0 10px 50px rgba(0,0,0,.8)
}
.info-panel h3{margin-bottom:16px;color:var(--accent);font-size:1.5rem;padding-right:30px}
.info-panel p{margin-bottom:12px;line-height:1.55}
.info-panel strong{color:#ff8787}
.info-panel .close{position:absolute;right:14px;top:12px;font-size:1.6rem;color:rgba(255,255,255,.75);cursor:pointer;background:none;border:none;width:32px;height:32px;display:flex;align-items:center;justify-content:center;z-index:2}
.info-panel .close:hover{color:#fff}
.why-see{margin-top:10px}
.why-see h4{color:#ddd;margin-bottom:8px}
.why-tags{display:flex;flex-wrap:wrap;gap:8px}
.tag{padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid var(--border);font-size:.85rem}
.info-actions{display:flex;gap:12px;margin-top:18px}
.btn-report{flex:1;padding:12px 16px;background:rgba(255,100,100,.18);border:1px solid rgba(255,100,100,.6);color:#ff7070;border-radius:12px;font-weight:700;cursor:pointer}
.btn-muted{flex:1;padding:12px 16px;background:rgba(255,255,255,.08);border:1px solid var(--border-2);color:#ddd;border-radius:12px;font-weight:700;cursor:pointer}
.btn-report:hover{background:rgba(255,100,100,.25)}
.btn-muted:hover{background:rgba(255,255,255,.12)}

/* Comments panel aligned to video area top & bottom */
.comments-panel{
  position:fixed;right:0;top:70px;bottom:80px;width:380px;
  background:rgba(0,0,0,.95);backdrop-filter:blur(10px);
  border-left:1px solid var(--border);border-top-left-radius:12px;border-bottom-left-radius:12px;z-index:90;display:flex;flex-direction:column
}
.comments-header{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--border)}
.comments-header h3{color:var(--accent);font-size:1.1rem;margin:0}
#commentCount{color:var(--muted);font-size:.9rem}
.comments-list{flex:1;overflow-y:auto;padding:15px}
.comment-input{display:flex;gap:10px;padding:15px;border-top:1px solid var(--border);background:rgba(0,0,0,.5)}
.comment-input input{flex:1;background:rgba(255,255,255,.1);border:1px solid var(--border-2);border-radius:20px;padding:10px 16px;color:#fff}
.comment-input input::placeholder{color:rgba(255,255,255,.5)}
.comment-input input:focus{outline:none;border-color:var(--accent);background:rgba(255,255,255,.15)}
.comment-input button{padding:8px 20px;background:linear-gradient(45deg,var(--accent),var(--accent-2));border:none;border-radius:20px;color:#fff;cursor:pointer;font-weight:600;transition:transform .3s}
.comment-input button:hover{transform:scale(1.05)}

/* Toast — anchored to video area */
.toast{
  position:absolute;bottom:80px;left:50%;transform:translateX(-50%) translateY(100px);
  background:rgba(0,0,0,.9);color:#fff;padding:14px 22px;border-radius:20px;border:1px solid var(--border-2);
  backdrop-filter:blur(10px);font-weight:600;z-index:1100;opacity:0;transition:all .25s ease;white-space:nowrap;box-shadow:0 4px 20px rgba(0,0,0,.5)
}
.toast.show{transform:translateX(-50%) translateY(0);opacity:1}

/* Modals (welcome/auth/zip) */
.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);backdrop-filter:blur(5px);z-index:1000}
.modal-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:linear-gradient(135deg,rgba(20,20,20,.97),rgba(30,30,30,.97));backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:20px;padding:28px;max-width:900px;width:min(92vw,1000px);position:relative}
.modal .close{position:absolute;right:16px;top:14px;font-size:1.4rem;color:rgba(255,255,255,.8);cursor:pointer;background:rgba(0,0,0,.5);border:none;width:36px;height:36px;display:flex;align-items:center;justify-content:center;z-index:10;border-radius:8px;transition:all .2s}
.modal .close:hover{color:#fff;background:rgba(255,255,255,.1)}

/* Welcome modal layout - SINGLE COLUMN */
.welcome-modal{padding-top:46px;max-width:700px}
.welcome-title{font-size:2.6rem;background:linear-gradient(45deg,var(--accent),var(--accent-2));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-align:center;margin-bottom:6px}
.welcome-subtitle{text-align:center;color:rgba(255,255,255,.8);margin-bottom:18px;font-size:1.05rem}
.welcome-list{display:flex;flex-direction:column;gap:14px;margin-top:10px}
.welcome-card{background:rgba(255,255,255,.05);border:1px solid var(--border);border-radius:14px;padding:20px;display:flex;align-items:flex-start;gap:16px}
.welcome-card-focused{padding:24px;background:rgba(255,255,255,.08)}
.welcome-card-content{flex:1}
.welcome-card h3{color:#ff8787;margin:0 0 8px 0;font-size:1.1rem}
.welcome-card p{color:rgba(255,255,255,.78);margin:0;line-height:1.5}
.welcome-icon{font-size:2rem;flex-shrink:0;line-height:1}
.welcome-icon-large{font-size:2.4rem;flex-shrink:0;line-height:1}
.hotkeys-title{font-size:1.3rem!important;margin-bottom:16px!important}
.hotkeys-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:4px}
.hotkey-item{display:flex;align-items:center;gap:8px;font-size:.95rem;color:rgba(255,255,255,.85)}
.hotkey-item kbd{margin-right:4px}
.hotkey-item span{color:rgba(255,255,255,.7)}
kbd{background:rgba(255,255,255,.12);border:1px solid var(--border);border-bottom-color:rgba(255,255,255,.25);padding:3px 8px;border-radius:6px;font-weight:700;font-size:.9rem}
.btn-pill{margin-top:10px;padding:10px 14px;border-radius:999px;border:1px solid var(--border-2);background:rgba(255,255,255,.1);color:#fff;cursor:pointer;transition:all .2s}
.btn-pill:hover{background:rgba(255,255,255,.15)}
.welcome-cta-wide{margin-top:18px;width:100%;padding:16px;background:linear-gradient(45deg,var(--accent),var(--accent-2));border:none;border-radius:14px;color:#fff;font-size:1.05rem;font-weight:800;cursor:pointer}
.welcome-cta-wide:hover{filter:brightness(1.05)}

.zip-modal{max-width:460px}
.modal-subtle{color:rgba(255,255,255,.85);margin-bottom:14px}
.modal-subtle .dim{opacity:.7}

/* Auth */
.auth-tabs{display:flex;gap:10px;margin-bottom:16px}
.auth-tab{flex:1;padding:10px;background:transparent;border:1px solid var(--border-2);border-radius:10px;color:rgba(255,255,255,.7);cursor:pointer;transition:all .3s}
.auth-tab.active{background:linear-gradient(45deg,var(--accent),var(--accent-2));border-color:transparent;color:#fff}
.auth-form{display:none}
.auth-form.active{display:block}
.auth-form h2{margin-bottom:14px;color:var(--accent)}
.form-group{margin-bottom:16px}
.form-group input{width:100%;padding:12px;background:rgba(255,255,255,.1);border:1px solid var(--border-2);border-radius:10px;color:#fff;font-size:1rem}
.form-group input:focus{outline:none;border-color:var(--accent)}
.error-message{display:block;color:var(--accent);font-size:.85rem;margin-top:5px;min-height:20px}
.password-requirements{margin-top:8px;padding:10px;background:rgba(255,255,255,.05);border-radius:8px}
.password-requirements .req{display:block;color:rgba(255,255,255,.6);font-size:.85rem;margin-bottom:5px;transition:color .3s}
.password-requirements .req[data-met="true"]{color:#4caf50}
.password-requirements .req[data-met="true"]::before{content:"✓ "}
.password-requirements .req[data-met="false"]::before{content:"○ "}
.auth-submit{width:100%;padding:12px;background:linear-gradient(45deg,var(--accent),var(--accent-2));border:none;border-radius:10px;color:#fff;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s}
.auth-submit:hover:not(:disabled){transform:translateY(-1px)}
.auth-submit:disabled{opacity:.5;cursor:not-allowed}

/* Comments items (unchanged basics) */
.comment{padding:12px 15px;margin-bottom:8px;background:rgba(255,255,255,.05);border-radius:10px;transition:background .3s}
.comment:hover{background:rgba(255,255,255,.08)}
.comment.reply{margin-left:30px;padding:10px 12px;margin-bottom:6px}
.comment-header{display:flex;justify-content:space-between;margin-bottom:6px}
.comment-user{font-weight:600;color:var(--accent)}
.comment-time{font-size:.8rem;color:rgba(255,255,255,.5)}
.comment-text{margin:6px 0;line-height:1.4}
.comment-actions{display:flex;gap:12px;margin-top:6px}
.comment-action-btn{display:inline-flex;align-items:center;gap:5px;background:transparent;border:none;color:rgba(255,255,255,.7);cursor:pointer;font-size:.85rem;padding:5px 10px;border-radius:15px;transition:all .2s}
.comment-action-btn:hover{background:rgba(255,255,255,.1);color:#fff}
.comment-action-btn.liked{color:var(--accent)}
.comment-action-btn.delete{color:rgba(255,100,100,.75)}
.comment-action-btn.delete:hover{color:#ff6464;background:rgba(255,100,100,.1)}
.view-replies-btn,.view-more-replies-btn{background:transparent;border:none;color:rgba(255,255,255,.55);cursor:pointer;font-size:.85rem;padding:6px 12px;margin-top:8px;transition:color .2s;text-align:left}
.view-replies-btn:hover,.view-more-replies-btn:hover{color:rgba(255,255,255,.8)}
.reply-input-container{margin-top:8px;padding:8px 0;display:flex;gap:10px}
.reply-input-container input{flex:1;background:rgba(255,255,255,.1);border:1px solid var(--border-2);border-radius:15px;padding:8px 12px;color:#fff;font-size:.9rem}
.reply-input-container button{padding:8px 16px;background:linear-gradient(45deg,var(--accent),var(--accent-2));border:none;border-radius:15px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600}

/* Utilities */
.hidden{display:none!important}

/* Responsive */
@media (min-width:1200px) and (max-width:1439px){
  header{grid-template-columns:calc(100% - 350px) 350px}
  .comments-panel{width:350px;bottom:80px}
  .video-container{right:350px}
}
@media (min-width:1024px) and (max-width:1199px){
  header{grid-template-columns:calc(100% - 320px) 320px}
  .comments-panel{width:320px;bottom:80px}
  .video-container{right:320px}
  .header-video-section,.header-actions{padding:0 20px}
}
@media (min-width:768px) and (max-width:1023px){
  header{grid-template-columns:calc(100% - 300px) 300px;height:65px}
  .comments-panel{width:300px;top:65px;bottom:80px}
  .video-container{right:300px;top:65px;bottom:20px}
  .welcome-list{gap:12px}
}
@media (max-width:767px){
  header{grid-template-columns:1fr;height:auto;padding:10px}
  .header-video-section{grid-template-columns:auto 1fr;padding:10px;gap:10px}
  .tabs{grid-column:1/-1;justify-self:stretch;flex-wrap:wrap;justify-content:center;margin-top:10px}
  .video-container{right:0;top:130px;bottom:0}
  .comments-panel{display:none}
  .welcome-list{gap:12px}
}
@media (max-height:800px){
  header{height:60px}
  .video-container,.comments-panel{top:60px}
}
@media (max-height:600px){
  header{height:50px}
  .video-container,.comments-panel{top:50px}
}
::-webkit-scrollbar{width:8px}
::-webkit-scrollbar-track{background:rgba(255,255,255,.05)}
::-webkit-scrollbar-thumb{background:rgba(255,107,107,.5);border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:rgba(255,107,107,.7)}
