.wrap{max-width:760px;margin:0 auto;padding:0 20px}
.site-head{border-bottom:1px solid var(--line);background:#fff}
.head-row{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--ink)}
.brand span{font-size:18px}
.nav a{margin-left:18px;color:var(--muted);font-size:15px}
.hero{padding:48px 0 24px}
.hero h1{font-size:32px}
.lead{margin-top:14px;color:var(--muted);font-size:18px}
.feed{display:flex;flex-direction:column;gap:28px;padding:16px 0 8px}
.post{border-bottom:1px solid var(--line);padding-bottom:24px}
.post-date{color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.04em}
.post h2{font-size:22px;margin:6px 0 10px}
.meta{list-style:none;display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.meta li{font-size:13px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:3px 10px}
.panel{padding:28px 0;border-top:1px solid var(--line)}
.panel h2{font-size:20px;margin-bottom:10px}
.site-foot{border-top:1px solid var(--line);margin-top:32px;background:#fff}
.foot-row{display:flex;align-items:center;justify-content:space-between;height:60px;color:var(--muted);font-size:14px;flex-wrap:wrap;gap:8px}
@media(max-width:560px){.hero h1{font-size:26px}.nav a{margin-left:12px}}

/* camera-portal additions */
.ticks{list-style:none;margin:18px 0 0;display:flex;flex-direction:column;gap:8px}
.ticks li{position:relative;padding-left:26px;color:#3e4c59}
.ticks li::before{content:"";position:absolute;left:0;top:7px;width:14px;height:14px;border-radius:50%;background:#3ea6ff22;box-shadow:inset 0 0 0 2px #3ea6ff}
.hero-split{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:start}
.login-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px;box-shadow:0 10px 30px -18px rgba(31,41,51,.3)}
.login-card h2{font-size:19px;margin-bottom:16px}
.login-card label{display:block;font-size:13px;color:var(--muted);margin:12px 0 6px}
.login-card input[type=text],.login-card input[type=password]{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:9px;font-size:15px;background:#fcfdfe}
.login-card input:focus{outline:none;border-color:#3ea6ff;box-shadow:0 0 0 3px #3ea6ff22}
.row-between{display:flex;align-items:center;justify-content:space-between;margin:14px 0 18px;font-size:13px}
.rem{display:flex;align-items:center;gap:6px;color:var(--muted);margin:0!important}
.login-card button{width:100%;padding:12px;border:0;border-radius:9px;background:#3ea6ff;color:#fff;font-size:15px;font-weight:600;cursor:pointer}
.login-card button:hover{background:#2b8fe0}
.form-msg{margin-top:12px;font-size:13px;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:8px 10px}
.signup-hint{margin-top:16px;font-size:13px;color:var(--muted);text-align:center}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:14px}
.card{border:1px solid var(--line);border-radius:12px;padding:18px;background:#fff}
.card h3{font-size:16px;margin-bottom:8px}
.card p{color:#3e4c59;font-size:14px}
.muted{color:var(--muted)}
@media(max-width:720px){.hero-split{grid-template-columns:1fr}.grid3{grid-template-columns:1fr}}
