:root{--bg:#f3efe6;--bg-2:#ebe4d6;--card:#faf7f0;--line:#d5cbb8;--text:#1c1914;--muted:#6e665a;--accent:#2f6f5e;--accent-ink:#f6f3ec;--rose:#a33b3b;--font-ui:"DM Sans", system-ui, sans-serif;--font-display:"Fraunces", Georgia, serif;--radius:12px;--pad:16px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:radial-gradient(1200px 600px at 10% -10%, #e7f0ea 0%, transparent 55%), radial-gradient(900px 500px at 100% 0%, #f0e6d4 0%, transparent 50%), var(--bg);min-height:100%;color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.45}#app{min-height:100dvh;padding:calc(12px + env(safe-area-inset-top)) var(--pad) calc(20px + env(safe-area-inset-bottom));max-width:560px;margin:0 auto}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:0}a{color:inherit}.shell-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:18px;display:flex}.brand{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.75rem;font-weight:600}.meta{color:var(--muted);font-size:.8125rem}.state{color:var(--muted);padding:28px 4px}.state strong{color:var(--text);font-family:var(--font-display);margin-bottom:6px;font-size:1.25rem;font-weight:500;display:block}.list{border-top:1px solid var(--line);flex-direction:column;display:flex}.row{border-bottom:1px solid var(--line);grid-template-columns:56px 1fr auto;align-items:center;gap:12px;padding:10px 0;display:grid}.thumb{background:var(--bg-2);object-fit:cover;border-radius:10px;width:56px;height:56px;display:block}.thumb-fallback{background:var(--bg-2);border:1px solid var(--line);border-radius:10px;width:56px;height:56px}.body{min-width:0}.title{text-overflow:ellipsis;white-space:nowrap;margin:0 0 2px;font-size:.95rem;font-weight:560;overflow:hidden}.host{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.actions{flex-direction:column;gap:6px;display:flex}.btn{border-radius:8px;padding:7px 10px;font-size:.8125rem;font-weight:500;transition:background-color .12s,color .12s}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:hover{filter:brightness(1.05)}.btn-ghost{color:var(--muted)}.btn-ghost:hover{color:var(--rose)}.error{color:var(--rose);font-size:.875rem}
