  :root{
    --bg:#0a0a0a; --panel:#141414; --panel2:#1b1b1b; --line:#2a2a2a;
    --text:#ffffff; --muted:#8f8c85; --accent:#f4c516; --accent-deep:#b8930b; --accent-ink:#0a0a0a; --danger:#ff6a4d;
    --display:Rubik,system-ui,sans-serif;
    --r:22px;
  }
  *{box-sizing:border-box}
  html,body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 Manrope,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
  a{color:inherit}
  button{font:inherit;cursor:pointer}
  .wrap{max-width:1080px;margin:0 auto;padding:0 20px}
  header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:22px 0}
  .brand{display:flex;align-items:baseline;gap:10px;text-decoration:none}
  .brand b{font:900 22px/1 var(--display);letter-spacing:-.02em}
  .brand b i{font-style:normal;color:var(--accent)}
  .chan{font-size:14px;color:var(--text);text-decoration:none;border:1px solid var(--line);border-radius:99px;padding:8px 14px;white-space:nowrap}
  .chan:hover{border-color:var(--accent);color:var(--accent)}
  .chip{display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:99px;padding:6px 8px 6px 6px;font-size:14px}
  .chip img{width:28px;height:28px;border-radius:50%;object-fit:cover;background:var(--panel2)}
  .chip button{background:none;border:0;color:var(--muted);padding:2px 6px;font-size:13px}
  .chip button:hover{color:var(--text)}

  .hero{padding:36px 0 34px}
  .hero h1{font:900 clamp(52px,11vw,132px)/.92 var(--display);letter-spacing:-.03em;margin:0;text-transform:uppercase;color:#fff;
    text-shadow:0 2px 0 #d9d9d9,0 4px 0 #bdbdbd,0 6px 0 #9a9a9a,0 18px 30px rgba(0,0,0,.7)}
  .hero h1 em{font-style:normal;color:var(--accent);
    text-shadow:0 2px 0 #e0b20f,0 4px 0 #c9a00c,0 6px 0 var(--accent-deep),0 18px 30px rgba(0,0,0,.7)}
  .hero p{max-width:600px;color:var(--muted);font-size:18px;margin:28px 0 0}
  .hero p a{color:var(--accent);text-decoration:none;font-weight:600}
  .badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
  .badge{border:1px solid var(--line);border-radius:99px;padding:6px 12px;font-size:13px;color:var(--text)}
  .badge i{font-style:normal;color:var(--accent)}

  .studio{display:grid;grid-template-columns:1.05fr 1fr;gap:16px;margin-bottom:56px}
  @media (max-width:820px){.studio{grid-template-columns:1fr}}
  .panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:20px}
  .step{font:700 12px/1 var(--display);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 14px;display:flex;gap:10px;align-items:center}
  .step span{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-size:11px}

  .drop{position:relative;border:1.5px dashed #3a3a3f;border-radius:16px;min-height:340px;display:grid;place-items:center;text-align:center;padding:24px;transition:.2s;overflow:hidden;background:var(--panel2)}
  .drop.over{border-color:var(--accent);background:#211d0b}
  .drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
  .drop .hint b{display:block;font:700 18px/1.2 var(--display);margin-bottom:8px}
  .drop .hint small{color:var(--muted)}
  .drop img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000}
  .drop .swap{position:absolute;right:12px;bottom:12px;z-index:2;background:rgba(11,11,12,.8);border:1px solid var(--line);color:var(--text);border-radius:99px;padding:6px 12px;font-size:13px;pointer-events:none}

  textarea{width:100%;min-height:120px;resize:vertical;background:var(--panel2);border:1px solid var(--line);border-radius:14px;color:var(--text);padding:14px;font:inherit}
  textarea:focus{outline:none;border-color:var(--accent)}
  .tplhead{margin:14px 0 10px;font-size:14px;color:var(--text);font-weight:600}
  .tpls{display:flex;flex-direction:column;gap:8px}
  .tplrow{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
  .tpllabel{font:700 11px/1 var(--display);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);width:96px;flex:none}
  .tpls button{background:transparent;border:1px solid var(--line);color:var(--muted);border-radius:99px;padding:6px 12px;font-size:13px;transition:.15s}
  .tpls button:hover{color:var(--text);border-color:#4a4a4a}
  .tpls button.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}
  @media (max-width:480px){.tpllabel{width:100%;margin-top:4px}}
  .tip{font-size:13px;color:var(--muted);margin:10px 0 0}

  .go{margin-top:18px;display:flex;flex-direction:column;gap:10px}
  .btn{width:100%;border:0;border-radius:14px;padding:18px;font:700 16px/1 var(--display);background:var(--accent);color:var(--accent-ink);text-transform:uppercase;letter-spacing:.02em;transition:transform .15s}
  .btn:hover{transform:translateY(-1px)}
  .btn:disabled{background:#2a2a2e;color:#6d6b66;transform:none;cursor:not-allowed}
  .left{font-size:14px;color:var(--muted);text-align:center}
  .left b{color:var(--text)}
  .left a{color:var(--accent);font-weight:600}
  html{scroll-behavior:smooth}
  #loginBox{scroll-margin-top:20px}
  .login{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--panel);border:1px solid var(--accent);border-radius:var(--r);padding:20px 24px;margin-bottom:16px}
  .login-text b{display:block;font:700 18px/1.2 var(--display);margin-bottom:6px}
  .login p{margin:0;color:var(--muted);font-size:14px}
  .login p a,.err a{color:var(--accent);font-weight:600}
  .login small{display:block;margin-top:8px;color:var(--accent);font-size:13px}
  .login small b{color:var(--text)}
  .login .btn{width:auto;flex:none;padding:18px 26px}
  @media (max-width:640px){.login{flex-direction:column;align-items:stretch;text-align:left}.login .btn{width:100%}}
  a.btn{display:block;text-align:center;text-decoration:none}
  .btn.tg{background:#fff;color:#0a0a0a}
  .btn.tg::before{content:"";display:inline-block;width:18px;height:18px;margin:-3px 10px 0 0;vertical-align:middle;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.8 15.2l-.4 5.1c.6 0 .8-.2 1.1-.5l2.7-2.6 5.6 4.1c1 .6 1.8.3 2-.9L24 3.6c.3-1.5-.6-2.1-1.6-1.7L1 10.2c-1.4.6-1.4 1.4-.2 1.8l5.5 1.7L19 5.6c.6-.4 1.1-.2.7.2z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.8 15.2l-.4 5.1c.6 0 .8-.2 1.1-.5l2.7-2.6 5.6 4.1c1 .6 1.8.3 2-.9L24 3.6c.3-1.5-.6-2.1-1.6-1.7L1 10.2c-1.4.6-1.4 1.4-.2 1.8l5.5 1.7L19 5.6c.6-.4 1.1-.2.7.2z'/%3E%3C/svg%3E") center/contain no-repeat}
  @media (max-width:480px){.chan{font-size:12px;padding:6px 10px}.brand b{font-size:18px}}
  .btn.tg.wait{opacity:.6}
  .err{color:var(--danger);font-size:14px;text-align:center;min-height:1em}

  .stage{display:flex;flex-direction:column}
  .screen{flex:1;min-height:340px;border-radius:16px;background:var(--panel2);display:grid;place-items:center;overflow:hidden;position:relative}
  .screen video{width:100%;height:100%;max-height:70vh;object-fit:contain;background:#000}
  .empty{color:var(--muted);text-align:center;padding:24px;font-size:15px}
  .empty b{display:block;font:700 18px/1.2 var(--display);color:var(--text);margin-bottom:6px}
  .loader{text-align:center;padding:24px}
  .ring{width:64px;height:64px;border-radius:50%;border:3px solid #2c2c31;border-top-color:var(--accent);animation:spin 1s linear infinite;margin:0 auto 18px}
  @keyframes spin{to{transform:rotate(360deg)}}
  .loader b{font:700 20px/1.2 var(--display);display:block}
  .loader small{color:var(--muted)}
  .actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
  .actions a,.actions button{flex:1;min-width:140px;text-align:center;text-decoration:none;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:12px;padding:12px;font-size:14px;font-weight:600}
  .actions a.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}

  .history h2{font:900 28px/1 var(--display);letter-spacing:-.02em;margin:0 0 16px;text-transform:uppercase}
  .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:56px}
  .item{background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden;cursor:pointer}
  .item video,.item .ph{width:100%;aspect-ratio:1;object-fit:cover;background:#000;display:grid;place-items:center;color:var(--muted);font-size:13px}
  .item p{margin:0;padding:10px 12px;font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

  footer{border-top:1px solid var(--line);padding:28px 0 40px;color:var(--muted);font-size:13px}
  footer .row{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
  footer p{margin:0 0 6px;max-width:620px}
  footer a{color:var(--text)}
  .hidden{display:none!important}
