:root{--bg:#f4f6f6;--card:#fff;--border:#e3e8e8;--accent:#2b6777;--text:#222;--muted:#777;--error:#b23b3b;--notice:#2b6777;color:var(--text);font-family:system-ui,-apple-system,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{background:var(--bg);margin:0}.app{flex-direction:column;min-height:100vh;display:flex}.app-header{background:var(--accent);color:#fff;justify-content:space-between;align-items:center;gap:16px;padding:14px 24px;display:flex}.brand{color:#fff;font-size:1.1rem;font-weight:700;text-decoration:none}.nav{align-items:center;gap:18px;display:flex}.nav a{color:#cfe3e3;font-size:.95rem;text-decoration:none}.nav a:hover{color:#fff}.nav a.active{color:#fff;font-weight:600}.signout{color:#fff;background:#ffffff29;border:none;border-radius:6px;padding:6px 12px;font-size:.9rem}.nav-btn{color:#fff;border:1px solid #ffffff8c;border-radius:6px;padding:6px 14px;font-size:.9rem;text-decoration:none}.nav-btn.primary{color:var(--accent);background:#fff;border-color:#fff;font-weight:600}.app-footer{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;font-size:.85rem;display:flex}.app-footer nav{gap:16px;display:flex}.app-footer a{color:var(--muted);text-decoration:none}.app-footer a:hover{color:var(--accent)}.landing{width:100%;max-width:840px}.hero{text-align:center;padding:24px 0 8px}.hero h1{color:var(--accent);margin:0 0 8px;font-size:2rem}.hero .tagline{color:var(--muted);margin:0 0 16px;font-size:1.15rem}.hero p{max-width:620px;margin:0 auto 20px;line-height:1.6}.hero .cta{justify-content:center;gap:12px;display:flex}.hero .cta .nav-btn{border-color:var(--accent);color:var(--accent)}.hero .cta .nav-btn.primary{background:var(--accent);color:#fff}.features{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:32px 0;display:grid}.feature{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:20px}.feature h3{color:var(--accent);margin:0 0 8px;font-size:1.05rem}.feature p{margin:0;font-size:.95rem;line-height:1.5}.feed{margin:8px 0 32px}.feed h2{text-align:center;margin:0 0 4px;font-size:1.3rem}.feed-sub{text-align:center;margin:0 0 20px}.feed-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.feed-card{background:var(--card);border:1px solid var(--border);color:var(--text);border-radius:12px;flex-direction:column;text-decoration:none;display:flex;overflow:hidden}a.feed-card:hover{border-color:var(--accent)}.feed-card-img{background-position:50%;background-size:cover;background-color:var(--bg);height:150px}.feed-card-body{flex-direction:column;gap:6px;padding:16px;display:flex}.feed-kind{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:700}.feed-card-body h3{margin:0;font-size:1.02rem;line-height:1.3}.feed-card-body p{color:var(--text);margin:0;font-size:.9rem;line-height:1.5}.feed-attr{color:var(--muted);margin-top:2px;font-size:.75rem}.app-main{flex:1;justify-content:center;align-items:flex-start;padding:40px 16px;display:flex}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;width:100%;max-width:380px;padding:28px}.card h1{margin:0 0 16px;font-size:1.4rem}form{flex-direction:column;gap:14px;display:flex}label{color:var(--muted);flex-direction:column;gap:6px;font-size:.9rem;display:flex}input{border:1px solid var(--border);color:var(--text);border-radius:8px;padding:10px 12px;font-size:1rem}input:focus{outline:2px solid var(--accent);outline-offset:0}button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 16px;font-size:1rem}button:disabled{opacity:.6;cursor:default}button.link{color:var(--accent);background:0 0;width:fit-content;padding:8px 0;text-decoration:underline}.muted{color:var(--muted);font-size:.9rem}.error{color:var(--error);margin:0;font-size:.9rem}.notice{color:var(--notice);margin:0;font-size:.9rem}.centered{color:var(--muted);padding:40px}.card.wide{max-width:640px}.section{margin:20px 0}.section h2{margin:0 0 10px;font-size:1rem}.section .count{color:var(--muted);font-size:.85rem;font-weight:400}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{color:var(--text);border:1px solid var(--border);background:#fff;border-radius:999px;padding:6px 14px;font-size:.9rem}.chip.selected{background:var(--accent);color:#fff;border-color:var(--accent)}.chip:disabled{opacity:.45;cursor:not-allowed}.actions{align-items:center;gap:16px;margin-top:20px;display:flex}a{color:var(--accent)}
