:root{
  --ink:#201c18;--paper:#f3ecdf;--paper2:#e8dcc8;--gold:#9b7a43;--wine:#5b2f33;--muted:#766c61;--line:#cfc0aa;--safe:#355d45;
  font-family: Georgia, 'Times New Roman', serif;color:var(--ink);background:var(--paper);
}
*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#f6efe4 0%,#ede2d2 100%);min-height:100%;color:var(--ink)}button,input{font:inherit}.app-shell{max-width:760px;margin:0 auto;padding:32px 18px 64px}.masthead{text-align:center;padding:18px 8px 28px}.eyebrow{font:600 12px/1.2 Arial,sans-serif;letter-spacing:.18em;color:var(--gold);margin:0 0 10px}.masthead h1,.section-heading h2{font-weight:400;line-height:.98;margin:0}.masthead h1{font-size:clamp(44px,10vw,72px)}.masthead h1 em{font-weight:400}.deck,.section-heading p{color:var(--muted);line-height:1.5}.panel{background:#fffaf2;border:1px solid var(--line);padding:20px;border-radius:18px}.panel label{display:block;font-size:20px;margin-bottom:10px}.lookup-row{display:flex;gap:10px}.lookup-row input{min-width:0;flex:1;border:1px solid var(--line);border-radius:12px;padding:13px 14px;background:white;font-size:18px}.lookup-row button,.primary,.secondary{border:0;border-radius:12px;padding:13px 16px;min-height:48px}.lookup-row button,.primary{background:var(--ink);color:#fff}.secondary{background:#fffaf2;border:1px solid var(--line);color:var(--ink)}.hint{font:13px/1.4 Arial,sans-serif;color:var(--muted);margin:10px 0 0}.results{display:grid;gap:10px;margin-top:14px}.guest-result{width:100%;text-align:left;padding:16px 18px;background:#fffaf2;border:1px solid var(--line);border-radius:14px;font-size:19px}.section-heading{margin:8px 0 18px}.section-heading h2{font-size:40px}.camera-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.camera-card{background:#fffaf2;border:1px solid var(--line);border-radius:18px;text-align:left}.camera-topline{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:12px}.camera-topline span,.camera-topline strong{display:block}.camera-topline span{font:12px Arial,sans-serif;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.text-button{border:0;background:transparent;padding:8px;color:var(--wine);text-decoration:underline}.camera-body{position:relative}.camera-brand{font:700 18px/1 Arial,sans-serif}.viewfinder-inner{aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#ede7dd;text-align:center}.viewfinder-inner p{font-style:italic;font-size:22px;margin:0 0 12px}.viewfinder-inner span{font:11px Arial,sans-serif;letter-spacing:.18em}.shutter{display:grid;place-items:center;width:78px;height:78px;border-radius:50%;border:5px solid #b8aa96;background:#d8cfc1;margin:22px auto 0}.shutter span{width:52px;height:52px;background:#2a2622;border-radius:50%;display:block}.status-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.status-strip>div{background:#fffaf2;border:1px solid var(--line);border-radius:13px;padding:10px;text-align:center}.status-strip strong,.status-strip span{display:block}.status-strip strong{font-size:22px}.status-strip span{font:11px Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.latest-photo{display:grid;grid-template-columns:90px 1fr;gap:12px;align-items:center;background:#fffaf2;border:1px solid var(--line);padding:10px;border-radius:14px}.latest-photo img{width:90px;height:90px;object-fit:cover;border-radius:10px}.latest-photo p{margin:4px 0 0;color:var(--muted)}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.install-help{font:13px/1.45 Arial,sans-serif;color:var(--muted)}.roll-list{display:grid;gap:10px}.roll-item{display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:12px;background:#fffaf2;border:1px solid var(--line);border-radius:14px;padding:12px}.roll-num{display:grid;place-items:center;width:58px;height:58px;border-radius:9px;background:#2d2925;color:#f4eadb;font:700 12px Arial,sans-serif;text-align:center}.roll-item p{margin:3px 0 0;color:var(--muted);font:13px Arial,sans-serif}.badge{font:700 11px Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--safe)}.error{background:#f4e1df;border:1px solid #c6928d;padding:12px;border-radius:12px;color:#6f2925}.empty{color:var(--muted);font-style:italic}.view[hidden]{display:none!important}@media(max-width:480px){.app-shell{padding:20px 14px 48px}.lookup-row{flex-direction:column}.camera-grid{grid-template-columns:1fr 1fr}.camera-topline{align-items:center}.masthead{padding-top:6px}}