:root{--bg:#f6f8fb;--card:#fff;--ink:#111827;--muted:#667085;--line:#d9e2ec;--blue:#0b57b7;--red:#d71920;--green:#169b45;--elite:#0a7cff;--pass:#32a85c;--fail:#d71920;--radius:18px;--shadow:0 14px 34px rgba(17,32,54,.13)}
*{box-sizing:border-box}html,body{margin:0}body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:linear-gradient(#f9fbff,#eef3f8);color:var(--ink)}button,input,select{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* V5.5: approved hero art already contains logo + all wording. Only buttons are live HTML. */
.hero{position:relative;overflow:hidden;height:440px;max-height:440px;border-bottom:3px solid var(--red);background:#dceeff}
.hero-bg{position:absolute;inset:0;background-image:url('hero-bg-v55.png');background-position:center center;background-size:cover;background-repeat:no-repeat}
.hero-actions{position:absolute;z-index:2;left:50%;bottom:8px;transform:translateX(-50%);width:min(calc(75% - 20px),560px);display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hero-btn{min-width:0;border:0;border-radius:8px;padding:6px 8px;font-size:.75rem;line-height:1;font-weight:900;color:#fff;cursor:pointer;box-shadow:0 8px 18px rgba(15,31,55,.2)}
.hero-btn-blue{background:linear-gradient(180deg,#0d63bd,#084988)}.hero-btn-red{background:linear-gradient(180deg,#ef1f29,#c51119)}.full{width:75%}

.container{max-width:1180px;margin:9px auto 0;padding:0 10px 36px;position:relative;z-index:3}
.controls-panel,.map-shell,.results-head,.card,.submit-form,.stat-card{background:var(--card);border:1px solid rgba(255,255,255,.74);box-shadow:var(--shadow);border-radius:var(--radius)}
.controls-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:12px;margin-bottom:10px}.controls-panel label{display:flex;flex-direction:column;gap:6px}.controls-panel span{font-size:.8rem;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.04em}select,input[type="text"],input[type="number"],input[type="file"]{width:100%;border:1px solid var(--line);background:#fff;border-radius:11px;padding:11px 12px;color:var(--ink)}
.map-shell{overflow:hidden;margin-bottom:10px}#map{height:500px;width:100%}.legend{display:flex;gap:16px;flex-wrap:wrap;padding:10px 14px 13px;color:var(--muted);font-size:.9rem;font-weight:700}.dot{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:7px;vertical-align:middle}.dot.elite{background:var(--elite)}.dot.pass{background:var(--pass)}.dot.fail{background:var(--fail)}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:10px}.stat-card{padding:14px 16px;display:flex;gap:12px;align-items:center}.stat-icon{font-size:1.3rem}.stat-label{color:var(--muted);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.stat-value{margin-top:4px;font-size:clamp(1.3rem,2.3vw,1.9rem);font-weight:900;line-height:1}
.results-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;margin-bottom:10px}.results-title{display:flex;gap:10px;align-items:center}.verified-mark{width:28px;height:28px;border-radius:50%;display:inline-grid;place-items:center;color:#fff;background:linear-gradient(135deg,#0a7cff,#0bbbd4);font-weight:900}.results-head h2{margin:0 0 4px}.results-head p{margin:0;color:var(--muted)}.badge{background:#edf4ff;color:#0a46bc;padding:9px 12px;border-radius:999px;font-weight:800;white-space:nowrap}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card{padding:16px}.card-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.card h3{margin:0 0 6px;font-size:1.3rem;line-height:1.05}.place-meta,.beer-line,.time-line,.status-line,.address-line{color:var(--muted)}.place-meta,.address-line{font-size:.94rem}.beer-line,.time-line,.status-line{font-size:.93rem;margin-top:6px}.temp-chip{min-width:82px;text-align:center;border-radius:14px;font-weight:900;padding:9px 11px;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}.temp-chip.elite{background:linear-gradient(135deg,#0077ff,#00b1ff)}.temp-chip.pass{background:linear-gradient(135deg,#08a5d1,#00c7b4)}.temp-chip.fail{background:linear-gradient(135deg,#d93b3b,#ff6b45)}.card-divider{border-top:1px solid var(--line);margin:13px 0}.judgment{display:inline-block;margin-top:10px;font-size:.86rem;font-weight:900;letter-spacing:.05em;padding:7px 9px;border-radius:999px}.judgment.pass{color:#0e5f73;background:#dff8fb}.judgment.fail{color:#9b1f1f;background:#ffe3e3}.empty{background:var(--card);border:1px dashed var(--line);color:var(--muted);border-radius:var(--radius);padding:20px}.site-footer{padding:30px 18px 44px;text-align:center;color:var(--muted);font-weight:700}
dialog{border:none;background:transparent;padding:0}dialog::backdrop{background:rgba(5,10,26,.55)}.submit-form{width:min(92vw,520px);padding:18px}.submit-form label{display:block;margin-top:12px}.submit-form span{display:block;margin-bottom:7px;color:var(--muted);font-weight:700}.dialog-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.dialog-head h3{margin:0}.dialog-head p{margin:5px 0 0;color:var(--muted)}.ghost-x{border:none;background:transparent;font-size:1.1rem;cursor:pointer}.small-note{color:var(--muted);font-size:.88rem;margin:12px 0 0}.leaflet-popup-content-wrapper{border-radius:14px}.popup-title{font-weight:900;font-size:1rem}.popup-temp{font-weight:900}.popup-judgment{font-weight:800;margin-top:6px}
@media(max-width:900px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.controls-panel{grid-template-columns:1fr}.cards{grid-template-columns:1fr}}
@media(max-width:640px){
  .hero{height:160px;max-height:160px}
  .hero-bg{background-position:center center;background-size:cover}
  .hero-actions{bottom:7px;width:calc(70% - 13px);gap:8px}
  .hero-btn{padding:4px 3px;font-size:.64rem;border-radius:8px}
  .container{margin-top:8px;padding:0 8px 30px}
  .controls-panel{grid-template-columns:1fr 1fr;padding:8px;gap:7px;margin-bottom:8px}.controls-panel label:nth-child(3){grid-column:1/-1}.controls-panel span{font-size:.66rem}.controls-panel select{padding:9px 9px;font-size:.8rem}
  .map-shell{margin-bottom:8px}#map{height:58vh;min-height:390px;max-height:540px}.legend{gap:9px;padding:8px 10px 10px;font-size:.74rem}
  .stats-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.stat-card{padding:9px;gap:8px}.stat-icon{font-size:1rem}.stat-value{font-size:1.15rem}.stat-label{font-size:.6rem}
  .results-head{padding:10px 11px;margin-bottom:8px;align-items:flex-start}.results-head h2{font-size:.96rem}.results-head p{font-size:.74rem}.badge{padding:7px 9px;font-size:.74rem}
  .cards{gap:8px}.card{padding:12px}.card h3{font-size:1.06rem}.temp-chip{min-width:66px;font-size:1.02rem;padding:8px 9px}.place-meta,.address-line,.beer-line,.time-line,.status-line{font-size:.8rem}
}

/* V5.6 public submission workflow */
.submit-form{max-height:min(90vh,760px);overflow-y:auto}
.submit-form input[type="datetime-local"],.submit-form textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:11px;padding:11px 12px;color:var(--ink);font:inherit}
.submit-form textarea{resize:vertical;min-height:76px}
.submit-form em{font-style:normal;font-weight:600;color:#98a2b3;text-transform:none}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.form-row label{min-width:0}
.state-field{max-width:110px}
.state-field input{background:#f3f5f8;color:#667085}
.photo-help{margin:6px 0 0;color:var(--muted);font-size:.78rem}
.submit-message{display:none;margin:12px 0 0;padding:10px 11px;border-radius:10px;font-size:.86rem;font-weight:700}
.submit-message.error{display:block;background:#fff0f0;color:#a32121;border:1px solid #ffd1d1}
.submit-message.info{display:block;background:#edf5ff;color:#164a87;border:1px solid #cfe3ff}
.submit-message.success{display:block;background:#e9f8ef;color:#176b39;border:1px solid #c9edd7}
#submitReading[disabled]{opacity:.65;cursor:wait}
.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.submission-success{text-align:center;padding:16px 4px 4px}
.submission-success .success-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;margin:4px auto 14px;background:#e7f7ed;color:#168447;font-size:2rem;font-weight:1000}
.submission-success h3{margin:0 0 8px;font-size:1.3rem}
.submission-success p{margin:0 0 18px;color:var(--muted);line-height:1.45}
@media(max-width:640px){
  dialog{width:100%;max-width:none}
  .submit-form{width:calc(100vw - 18px);max-height:92vh;padding:15px;border-radius:16px}
  .submit-form label{margin-top:10px}.submit-form span{font-size:.78rem;margin-bottom:5px}
  .submit-form input[type="text"],.submit-form input[type="number"],.submit-form input[type="file"],.submit-form input[type="datetime-local"],.submit-form textarea{padding:10px;font-size:.88rem}
  .form-row{gap:8px}.state-field{max-width:88px}
}
