/* Extracted from onebox-render-landing.py's inline <style> block so fix.php can
   match the main landing page's look and feel. Keep in sync if that inline
   block changes. */
:root{--bg:#f6f3ec;--ink:#17202a;--muted:#65717e;--line:#ded6c8;--card:#fffaf0;--good:#0a7a4b;--warn:#a76800;--bad:#b42318;--accent:#1d4ed8}
*{box-sizing:border-box}
html,body{min-height:100%}
body{min-height:100vh;margin:0;background:radial-gradient(circle at top left,#dbeafe,transparent 34rem),var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;display:flex;flex-direction:column}
.hero{padding:3rem clamp(1rem,4vw,4rem) 2rem}
h1{font-size:clamp(2rem,5vw,3.6rem);line-height:.95;margin:0}
main{flex:1;padding:0 clamp(1rem,4vw,4rem) 4rem;max-width:60rem}
article.card{background:rgba(255,250,240,.92);border:1px solid var(--line);border-top:.4rem solid var(--muted);border-radius:.55rem;padding:1.3rem;box-shadow:0 1rem 2.4rem rgba(23,32,42,.08);margin:0 0 1.35rem}
article.card.ok{border-top-color:var(--good)}
article.card.warn{border-top-color:var(--warn)}
article.card.bad{border-top-color:var(--bad)}
.card-top{display:flex;align-items:center;gap:.7rem;margin-bottom:.9rem}
.badge{border-radius:.4rem;padding:.35rem .65rem;background:#fff;border:1px solid var(--line);font-size:.8rem;font-weight:400}
p,label{color:var(--ink)}
.muted{color:var(--muted);font-size:.85rem}
input[type=text],input[type=password]{width:100%;padding:.6rem .7rem;border:1px solid var(--line);border-radius:.4rem;font:inherit;background:#fff;color:var(--ink)}
.btn{border:1px solid var(--accent);background:#fff;color:var(--accent);border-radius:.45rem;padding:.55rem 1rem;font:inherit;font-weight:700;cursor:pointer}
.btn:hover{background:#eff4ff}
.btn:disabled{opacity:.55;cursor:not-allowed}
.btn.danger{border-color:var(--bad);color:var(--bad)}
.btn.danger:hover{background:#fef2f1}
.status-line{margin:.6rem 0;font-size:.9rem}
.status-line.ok{color:var(--good)}
.status-line.bad{color:var(--bad)}
.progress-wrap{margin:1rem 0}
.progress-track{height:.85rem;border-radius:999px;background:#fff;border:1px solid var(--line);overflow:hidden}
.progress-fill{height:100%;width:0;background:var(--accent);transition:width .4s ease}
.progress-fill.done{background:var(--good)}
.progress-fill.failed{background:var(--bad)}
.progress-label{margin-top:.35rem;font-size:.82rem;color:var(--muted)}
.ttyd-frame{width:100%;height:22rem;border:1px solid var(--line);border-radius:.4rem;background:#000}
.fix-page-tab{display:inline-block;margin-top:.6rem;border:1px solid var(--accent);background:#fff;color:var(--accent);border-radius:.45rem;padding:.45rem .85rem;font-weight:700;text-decoration:none}
.fix-page-tab:hover{background:#eff4ff}
