:root{--bg:#fbf8f3;--card:#fff;--ink:#1d1b18;--muted:#6b655c;--line:#d9d2c5;--accent:#6d28d9;--accent-ink:#fff;--ok:#15803d;--bad:#b91c1c;--warn:#a16207;color:var(--ink);background:var(--bg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#15130f;--card:#1f1c17;--ink:#f3efe7;--muted:#a8a094;--line:#4a443a;--accent:#a78bfa;--accent-ink:#15130f;--ok:#4ade80;--bad:#f87171;--warn:#fbbf24}}*{box-sizing:border-box}body{background:var(--bg);margin:0}.shell{max-width:760px;margin:0 auto;padding:16px}.top{justify-content:space-between;align-items:center;padding:8px 0 24px;display:flex}.brand{color:var(--ink);letter-spacing:-.02em;font-size:1.25rem;font-weight:800;text-decoration:none}.who{align-items:center;gap:12px;font-size:.9rem;display:flex}h1{letter-spacing:-.02em;margin:0 0 12px;font-size:1.6rem}h2{margin:24px 0 8px;font-size:1rem}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:16px;padding:24px}.card.narrow{max-width:420px;margin:40px auto}.card.note{padding:14px 18px}.center{text-align:center}.muted{color:var(--muted)}.small{font-size:.85rem}.mono{font-family:ui-monospace,SF Mono,Menlo,monospace}.error{color:var(--bad)}.warn{color:var(--warn);font-weight:600}form{flex-direction:column;gap:12px;display:flex}label{flex-direction:column;gap:6px;font-size:.9rem;font-weight:600;display:flex}input,textarea{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px}textarea.wish{resize:vertical;min-height:220px;font-size:1.15rem;line-height:1.5}input:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.row{justify-content:space-between;align-items:center;gap:12px;display:flex}button{font:inherit;cursor:pointer}button:disabled{opacity:.5;cursor:default}.primary,a.button{background:var(--accent);color:var(--accent-ink);border:0;border-radius:10px;padding:10px 18px;font-weight:700;text-decoration:none;display:inline-block}.primary.wide{width:100%}.secondary{color:var(--accent);border:1.5px solid var(--accent);background:0 0;border-radius:10px;padding:10px 18px;font-weight:700}.or{text-align:center;margin:14px 0}.link{color:var(--accent);background:0 0;border:0;padding:0;text-decoration:underline}.snapshot{border:1px dashed var(--line);background:var(--bg);border-radius:10px;margin:12px 0;padding:14px}.snap-title{margin-bottom:8px;font-weight:700}.snap-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}.list ul{margin:0;padding:0;list-style:none}.list li{border-bottom:1px solid var(--line);align-items:baseline;gap:10px;padding:8px 0;display:flex}.list li .title{overflow-wrap:anywhere;flex:1}.list .num{color:var(--muted);font-variant-numeric:tabular-nums}.log li{font-size:.9rem;display:block}.log li.bad{color:var(--bad)}.status{font-size:1.1rem;font-weight:700}.status.built{color:var(--ok)}.status.failed,.status.cancelled{color:var(--bad)}.phases{flex-wrap:wrap;gap:6px;margin:16px 0;padding:0;list-style:none;display:flex}.phases li{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:4px 10px;font-size:.8rem}.phases li.done{border-color:var(--ok);color:var(--ok)}.phases li.now{border-color:var(--accent);color:var(--accent);font-weight:700}.phases li.stopped{border-color:var(--bad);color:var(--bad)}.facts{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin:0;display:grid}.facts dt{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.facts dd{margin:2px 0 0;font-weight:600}.errorbox{white-space:pre-wrap;color:var(--bad);background:var(--bg);border-radius:8px;padding:10px}details{margin-top:12px}
