:root{
  --bg:#fbf7f2;--ink:#241a2e;--mute:#76697f;--line:#e6dccf;--card:#fff;
  --acc:#e0245e;--acc2:#f58529;--err:#c4262e;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#17111c;--ink:#f6eef9;--mute:#a999b3;--line:#392c43;--card:#21182a;
  --acc:#ff4d85;--acc2:#ff9a47;--err:#ff7b80;}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100dvh;background:var(--bg);color:var(--ink);
  font:16px/1.5 "Avenir Next","Segoe UI",system-ui,sans-serif}
.top{display:flex;align-items:center;gap:10px;padding:18px 22px;font-weight:700;letter-spacing:-.01em}
.logo{width:22px;height:22px;border-radius:7px;background:linear-gradient(135deg,var(--acc2),var(--acc))}
main{max-width:680px;margin:0 auto;padding:6vh 20px 60px}
h1{font-size:clamp(2rem,7vw,3.2rem);line-height:1.08;letter-spacing:-.03em;margin:0 0 1.2em;font-weight:800}
.bar{display:flex;gap:6px;background:var(--card);border:2px solid var(--line);border-radius:16px;padding:6px;transition:border-color .15s}
.bar:focus-within{border-color:var(--acc)}
input{flex:1;min-width:0;border:0;background:transparent;color:inherit;font:inherit;padding:12px;outline:0}
button,.btn{font:inherit;font-weight:650;border:0;border-radius:11px;padding:11px 18px;cursor:pointer;
  background:linear-gradient(135deg,var(--acc2),var(--acc));color:#fff;text-decoration:none;
  display:inline-flex;align-items:center;justify-content:center;gap:8px}
button.ghost{background:transparent;color:var(--mute);border:1.5px solid var(--line)}
button.ghost:hover{color:var(--ink)}
button:focus-visible,.btn:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
button:disabled{opacity:.7;cursor:progress}
.spin{width:16px;height:16px;border:2.5px solid #fff5;border-top-color:#fff;border-radius:50%;animation:r .7s linear infinite}
@keyframes r{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spin{animation-duration:2s}}
#msg{min-height:1.6em;margin:.9em 4px .3em;color:var(--mute)}
#msg.err{color:var(--err)}
details{margin:0 4px 1em;color:var(--mute);font-size:.85rem}
pre{white-space:pre-wrap;word-break:break-word;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px}
.card{display:grid;grid-template-columns:220px 1fr;gap:20px;background:var(--card);border:2px solid var(--line);border-radius:18px;padding:16px;margin-top:14px}
.card[hidden]{display:none}
video{width:100%;aspect-ratio:9/16;max-height:60vh;object-fit:contain;background:#000;border-radius:12px}
.meta{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0}
.meta h2{margin:0;font-size:1.15rem}
.meta p{margin:0;color:var(--mute);font-size:.92rem;word-break:break-word;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
.meta .btn{margin-top:auto}
.note{margin-top:2.5em;color:var(--mute);font-size:.85rem}
@media(max-width:560px){
  .card{grid-template-columns:1fr}
  video{max-width:260px;margin:0 auto}
  #paste{display:none}
  .meta .btn,.meta .ghost{width:100%}
}
