@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,650&family=Source+Sans+3:wght@400;560;700&display=swap";:root{--bg:#e8ece8;--bg-panel:#f7f9f6;--ink:#1a2420;--muted:#5a6b62;--line:#c5d0c8;--accent:#2f5d4a;--accent-soft:#d7e6de;--danger:#8b3a3a;--ok:#2f5d4a;--font-display:"Fraunces", "Iowan Old Style", Georgia, serif;--font-body:"Source Sans 3", "Segoe UI", sans-serif}*{box-sizing:border-box}body{min-height:100vh;color:var(--ink);font-family:var(--font-body);background:radial-gradient(ellipse at 10% 0%, #dfe8e2 0%, transparent 45%), radial-gradient(ellipse at 90% 10%, #d2ddd6 0%, transparent 40%), linear-gradient(180deg, #eef2ee 0%, var(--bg) 50%, #dfe6e1 100%);margin:0}.app{max-width:1100px;margin:0 auto;padding:2rem 1.25rem 3rem}.header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.user-chip{color:var(--muted);font-size:.85rem}.login-shell{place-items:center;min-height:100vh;padding:1.5rem;display:grid}.login-card{width:min(100%,420px)}.login-card .brand{margin-bottom:.35rem}.login-card h1{font-family:var(--font-display);margin:0 0 .35rem;font-size:1.4rem}.login-form{flex-direction:column;gap:.75rem;margin-top:1rem;display:flex}.login-form label{margin-bottom:0}.login-switch{color:var(--muted);margin:1rem 0 0;font-size:.9rem}button.linkish{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}button.button{color:var(--accent);background:0 0}button.ghost{color:var(--muted);border-color:var(--line);background:0 0}.status.bad{color:var(--danger)}.brand{font-family:var(--font-display);letter-spacing:-.02em;color:var(--accent);margin:0;font-size:2rem}.header h1{font-family:var(--font-display);margin:.15rem 0 .35rem;font-size:1.35rem;font-weight:550}.lede{color:var(--muted);max-width:36rem;margin:0}.pill{border:1px solid var(--line);background:var(--bg-panel);white-space:nowrap;align-items:center;padding:.35rem .7rem;font-size:.85rem;display:inline-flex}.pill.ok{border-color:var(--accent);color:var(--ok);background:var(--accent-soft)}.pill.bad{border-color:var(--danger);color:var(--danger)}.layout{grid-template-columns:minmax(240px,300px) 1fr;gap:1rem;display:grid}@media (width<=800px){.layout{grid-template-columns:1fr}}.panel{background:color-mix(in srgb, var(--bg-panel) 92%, white);border:1px solid var(--line);padding:1rem 1.1rem 1.25rem}.panel.grow{min-width:0}.panel label{color:var(--muted);flex-direction:column;gap:.35rem;margin-bottom:.85rem;font-size:.85rem;display:flex}.panel input,.panel select,.editor input,.editor select{font:inherit;color:var(--ink);border:1px solid var(--line);background:#fff;padding:.45rem .55rem}.upload input[type=file]{background:0 0;border:none;padding:.4rem 0}.hint{color:var(--muted);margin:-.4rem 0 1rem;font-size:.8rem}.actions{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;display:flex}button,a.button{appearance:none;border:1px solid var(--accent);background:var(--accent);color:#f4faf7;font:inherit;cursor:pointer;padding:.45rem .8rem;font-size:.9rem;text-decoration:none}button:disabled{opacity:.55;cursor:not-allowed}a.button{color:var(--accent);background:0 0}.status{color:var(--ink);margin:0;font-size:.85rem}.meta{color:var(--muted);word-break:break-all;margin:.6rem 0 0;font-size:.8rem}.editor section+section{border-top:1px solid var(--line);margin-top:1.25rem;padding-top:1rem}.editor h2{font-family:var(--font-display);margin:0 0 .75rem;font-size:1.05rem;font-weight:550}.editor .grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;display:grid}.editor label{color:var(--muted);flex-direction:column;gap:.3rem;font-size:.82rem;display:flex}.editor label.checkbox{flex-direction:row;align-items:center;gap:.5rem;padding-top:1.4rem}.editor label.checkbox input{width:auto}html,body,#root{min-height:100%}
