:root{--bg: #0d1117;--panel: #161b22;--border: #30363d;--text: #e6edf3;--muted: #8b949e;--accent: #f778ba;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);line-height:1.5}.hero{text-align:center;padding:2.5rem 1rem 1rem}.hero h1{margin:0;font-size:2.4rem}.tagline{margin:.5rem auto;max-width:44rem;font-size:1.05rem}.tagline strong{color:var(--accent)}.privacy{color:var(--muted);font-size:.9rem}main{max-width:64rem;margin:0 auto;padding:0 1rem 3rem}button{background:var(--accent);color:#2a0a1c;border:none;border-radius:6px;padding:.5rem 1rem;font-weight:600;cursor:pointer;font-size:.9rem}button:hover{filter:brightness(1.08)}button.ghost{background:transparent;color:var(--text);border:1px solid var(--border)}.drop{border:2px dashed var(--border);border-radius:12px;padding:2rem 1rem;text-align:center;transition:border-color .15s,background .15s}.drop.over{border-color:var(--accent);background:#f778ba0f}.drop .hint{color:var(--muted);font-size:.85rem}.grid{margin-top:1.25rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.85rem}.tile{margin:0;background:var(--panel);border:1px solid var(--border);border-radius:10px;overflow:hidden}.tile canvas{display:block;width:100%;height:auto;cursor:pointer;background:#000}.tile figcaption{padding:.5rem .65rem;display:flex;flex-direction:column}.tile .t{font-weight:600;font-size:.9rem}.tile .s{color:var(--muted);font-size:.78rem}footer{text-align:center;color:var(--muted);padding:2rem 1rem 3rem;font-size:.85rem}footer a{color:var(--accent);text-decoration:none}footer a:hover{text-decoration:underline}
