:root { --bg:#0b0d12; --card:#131826; --text:#e9ecf1; --muted:#aab1c2; --btn:#3b82f6; --btn2:#334155; }
*{box-sizing:border-box;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;}
body{margin:0;background:linear-gradient(180deg,#0b0d12,#0f172a);color:var(--text);} 
.wrap{max-width:860px;margin:0 auto;padding:28px;}
.header{margin-bottom:18px;}
h1{margin:0 0 6px 0;font-size:34px;}
.sub{margin:0;color:var(--muted);} 
.card{background:rgba(19,24,38,0.92);border:1px solid rgba(255,255,255,0.08);border-radius:14px;padding:18px;margin:14px 0;}
.btn{display:inline-block;background:var(--btn);color:white;border:none;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer;text-decoration:none;}
.btn.secondary{background:var(--btn2);} 
.status{color:var(--muted);margin-top:10px;}
.hidden{display:none !important;}
.adbox{display:flex;gap:16px;align-items:center;}
.advideo{flex:1;min-height:110px;border-radius:12px;background:rgba(255,255,255,0.06);display:flex;align-items:center;justify-content:center;color:var(--muted);}
.countdown{font-size:36px;font-weight:800;min-width:90px;text-align:right;}
.thumbwrap{position:relative;}
#thumb{max-width:100%;border-radius:12px;border:1px solid rgba(255,255,255,0.12);} 
.zoomhint{position:absolute;right:12px;bottom:12px;background:rgba(0,0,0,0.6);padding:6px 10px;border-radius:10px;font-size:12px;}
.actions{display:flex;gap:10px;align-items:center;margin-top:12px;flex-wrap:wrap;}
.share{flex:1;min-width:280px;padding:10px;border-radius:10px;border:1px solid rgba(255,255,255,0.12);background:rgba(255,255,255,0.05);color:var(--text);} 
.note{color:var(--muted);} 
.footer{margin-top:18px;color:var(--muted);} 

.openfull{position:absolute;left:12px;bottom:12px;background:rgba(0,0,0,0.65);border:1px solid rgba(255,255,255,0.18);color:#fff;padding:10px 12px;border-radius:12px;font-weight:800;cursor:pointer;}
.openfull:hover{background:rgba(0,0,0,0.8);}
.thumbwrap{position:relative;display:inline-block;}
.card h2{margin:12px 0 8px 0;}
input,select{margin:6px 0 12px 0;}

.iconbtn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,0.14);background:rgba(255,255,255,0.06);color:var(--text);font-size:18px;cursor:pointer;}
.iconbtn:hover{background:rgba(255,255,255,0.10);} 
.btn.disabled,.iconbtn:disabled{opacity:0.5;cursor:not-allowed;pointer-events:none;}
.progressrow{display:flex;gap:14px;align-items:center;}
.spinner{width:28px;height:28px;border-radius:50%;border:3px solid rgba(255,255,255,0.18);border-top-color:#ffffff;animation:spin 0.8s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.progressmsg{font-weight:800;}
.progresssub{color:var(--muted);font-size:14px;margin-top:2px;}
.share{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}


/* Thumbnail sizing */
#thumb{width:250px;height:250px;object-fit:cover;}

/* Ad section layout */
.adbox{display:flex;gap:16px;align-items:stretch;}
.adleft{display:flex;flex-direction:column;gap:10px;}
.previewwrap{position:relative;width:250px;height:250px;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,0.12);}
#preview{width:100%;height:100%;object-fit:cover;filter:blur(8px) saturate(0.9);transform:scale(1.05);}
.countdownOverlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:44px;font-weight:900;background:rgba(0,0,0,0.35);}
.adlabel{color:var(--muted);font-size:12px;}
.adright{flex:1;display:flex;}
.portraitAd{flex:1;min-width:220px;border-radius:14px;border:1px solid rgba(255,255,255,0.12);background:rgba(255,255,255,0.06);display:flex;align-items:center;justify-content:center;color:var(--muted);min-height:250px;}

/* Lightbox */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,0.92);display:flex;align-items:center;justify-content:center;z-index:50;padding:24px;}
.lightboxImg{max-width:95vw;max-height:95vh;object-fit:contain;border-radius:14px;border:1px solid rgba(255,255,255,0.12);}
.lightboxClose{position:fixed;top:16px;right:16px;width:44px;height:44px;border-radius:14px;border:1px solid rgba(255,255,255,0.18);background:rgba(255,255,255,0.08);color:white;font-size:28px;cursor:pointer;}
.lightboxClose:hover{background:rgba(255,255,255,0.14);} 

@media (max-width: 520px){
  .adbox{flex-direction:column;}
  .portraitAd{min-height:180px;}
  #thumb{width:100%;height:auto;max-width:360px;}
}


.brand{display:flex;align-items:center;gap:12px;}

.bannerAd{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:14px;border:1px solid rgba(255,255,255,0.12);background:rgba(255,255,255,0.06);margin-bottom:14px;}
.bannerLabel{font-size:12px;color:var(--muted);font-weight:700;}
.bannerBody{flex:1;text-align:center;color:var(--muted);}


/* Sprint 4 stage panel */
.procPanel{display:flex;gap:14px;align-items:center;}
.copyMsg{color:var(--muted);font-size:13px;}
.tipCallout{margin-top:12px;padding:12px 14px;border-radius:14px;border:1px solid rgba(59,130,246,0.35);background:rgba(59,130,246,0.12);color:#dbeafe;max-width:250px;}
.tipCallout strong{color:#ffffff;}

#previewWrap{width:250px;height:250px;}
#previewWrap.sharp #preview{filter:none;transform:none;}
.zoomBtn{position:absolute;right:10px;top:10px;width:40px;height:40px;border-radius:14px;border:1px solid rgba(255,255,255,0.18);background:rgba(0,0,0,0.55);color:white;font-size:20px;cursor:pointer;}
.zoomBtn:hover{background:rgba(0,0,0,0.75);} 

.shareText{color:var(--muted);font-size:13px;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;user-select:all;}

.logoImg{width:34px;height:34px;border-radius:10px;border:1px solid rgba(255,255,255,0.14);background:rgba(255,255,255,0.06);object-fit:contain;padding:4px;}

.linkbtn{margin-top:10px;display:inline-flex;align-items:center;gap:8px;background:transparent;border:none;color:#93c5fd;text-decoration:underline;cursor:pointer;font-weight:600;padding:6px 0;}
.linkbtn:hover{color:#bfdbfe;}

.offlineNotice{margin-top:12px;padding:12px 14px;border-radius:14px;border:1px solid rgba(248,113,113,0.35);background:rgba(248,113,113,0.10);color:#fee2e2;}
.offlineSub{margin-top:6px;color:#fecaca;font-size:13px;}
