:root{--bg: #f7f5f2;--card: #ffffff;--text: #1c1a17;--muted: #6f6a61;--border: #e3ded6;--accent: #b3541e;--accent-hover: #96450f;--danger: #b3261e;--success: #1e6b34;--radius: 10px}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}.page{max-width:880px;margin:0 auto;padding:2rem 1rem 4rem}.page-narrow{max-width:560px}.hero{text-align:center;margin-bottom:1.5rem}.hero h1{margin-bottom:.25rem}.tagline{color:var(--muted);font-size:1.1rem;margin-top:0}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.topbar h1{margin:0}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.25rem}.card h2{margin-top:0}.stack{display:grid;gap:.9rem}label{display:grid;gap:.3rem;font-weight:600;font-size:.95rem}input,textarea{font:inherit;font-weight:400;padding:.55rem .7rem;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--text);width:100%}input[type=file]{padding:.4rem 0;border:none}button,.button{font:inherit;display:inline-block;background:var(--accent);color:#fff;border:none;border-radius:6px;padding:.55rem 1rem;cursor:pointer;text-decoration:none;text-align:center}button:hover:not(:disabled),.button:hover{background:var(--accent-hover)}button:disabled{opacity:.55;cursor:not-allowed}.button-secondary{background:#fff;color:var(--text);border:1px solid var(--border)}.button-secondary:hover:not(:disabled){background:var(--bg)}.button-danger{background:#fff;color:var(--danger);border:1px solid var(--danger)}.button-danger:hover:not(:disabled){background:#fdf0ef}.button-small{padding:.25rem .6rem;font-size:.85rem}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--danger)}.success{color:var(--success)}.crate-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.crate-head h2{margin-bottom:.25rem}.share-row{display:flex;gap:.5rem;align-items:end;flex-wrap:wrap;margin-top:1rem}.share-label{flex:1 1 260px}.upload-label{margin-top:1rem}.file-list{list-style:none;margin:1rem 0;padding:0;display:grid;gap:.5rem}.file-list li{display:flex;align-items:center;gap:.75rem;border:1px solid var(--border);border-radius:6px;padding:.5rem .75rem}.file-name{flex:1;overflow-wrap:anywhere;font-weight:600}
