*{box-sizing:border-box}body{margin:0;min-height:100svh;background:#152820;color:#f8f5e9;font-family:system-ui,-apple-system,sans-serif;display:flex;flex-direction:column;--accent:#a8dfaf}body[data-status=reserved]{background:#30291b;--accent:#f5cc79}body[data-status=active]{background:#162c38;--accent:#a1d9eb}body[data-status=closed],body[data-status=unavailable]{background:#2b2526;--accent:#e5b1ad}header,footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 40px}header{border-bottom:1px solid #ffffff20}.brand{font-weight:900;letter-spacing:.07em;text-decoration:none;color:inherit}.brand span{display:block;font-size:10px;letter-spacing:.22em;margin-top:6px;opacity:.65}#clock{margin-left:auto;font-size:20px;font-variant-numeric:tabular-nums}button,select{font:inherit;min-height:48px;border-radius:10px;padding:10px 16px}button{cursor:pointer;border:1px solid #ffffff40;background:transparent;color:inherit}main{flex:1;text-align:center;padding:35px 35px 45px;display:flex;flex-direction:column;justify-content:center;align-items:center}.eyebrow{font-size:13px;letter-spacing:.18em;font-weight:750}#room{font-size:clamp(18px,3vw,30px);letter-spacing:.08em;margin:0 0 22px}.status-line{display:flex;gap:20px;align-items:center;color:var(--accent)}.dot{width:18px;height:18px;border-radius:50%;background:currentColor}h1{font-size:clamp(52px,9vw,108px);letter-spacing:-.05em;line-height:1.05;margin:0}h2{overflow-wrap:anywhere}#party{font-size:clamp(28px,4.5vw,54px);margin:25px 0 4px;max-width:100%;line-height:1.15}#party:empty{display:none}#reservation{font-size:clamp(18px,2.5vw,26px);margin:12px 0;color:#e8e4d9}#timer-panel{width:min(540px,90%);margin-top:18px}#timer-panel .eyebrow{margin:0;opacity:.7}#timer{font-size:clamp(64px,11vw,120px);font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-.04em;line-height:1.15}progress{width:100%;height:7px;accent-color:var(--accent)}#message{font-size:20px;opacity:.8;margin:24px 0 0}footer{border-top:1px solid #ffffff20;min-height:110px}footer p{margin:8px 0;font-size:18px}#connection{font-size:12px;max-width:240px;text-align:right;opacity:.75}dialog{color:#203126;background:#fffdf6;border:none;border-radius:20px;padding:28px;width:min(460px,94vw)}dialog::backdrop{background:#0009}dialog label{display:grid;gap:8px;margin:18px 0}dialog select{width:100%}.actions{display:flex;gap:10px;margin:20px 0}dialog button{border-color:#385843}dialog a{color:#385843}#setup-error{color:#8b2929}[hidden]{display:none!important}@media(max-width:600px){header,footer{padding:20px;gap:14px}.brand{font-size:13px}#clock{font-size:16px}main{padding:30px 20px}footer{align-items:flex-start;flex-direction:column}#connection{text-align:left;max-width:none}.dot{width:12px;height:12px}}

/* Pizza Ranch: cream signage, barn-red trim, gold details and ranch typography. */
body{background:#faf1dc;color:#42291c;--accent:#31613d;background-image:radial-gradient(ellipse at 50% 40%,#fffaf0 0%,#faf1dc 75%)}
body[data-status=reserved]{background:#faf1dc;--accent:#885b12}
body[data-status=active]{background:#faf1dc;--accent:#a2252b}
body[data-status=closed],body[data-status=unavailable]{background:#f1e7d5;--accent:#72564c}
header{background:#a2252b;color:#fff8e6;border-bottom:5px solid #e8b74f;padding:14px 36px;box-shadow:0 3px 0 #7b1c20;position:relative}
.brand{display:flex;align-items:center;gap:22px}.brand img{display:block;width:124px;height:75px;object-fit:contain}.brand span{font-size:12px;opacity:1;letter-spacing:.2em;border-left:1px solid #f7dba477;padding-left:22px;margin:0}
#clock{font-weight:600}#settings{border-color:#ffffff55;border-radius:50%;width:48px;padding:8px;background:#7c192133}
main{position:relative;padding:24px 32px 28px;margin:18px;border:1px solid #bf974b66;outline:1px solid #bf974b33;outline-offset:5px;border-radius:4px}
#room{font-family:Georgia,'Times New Roman',serif;font-weight:700;color:#79552f;font-size:clamp(22px,3vw,34px);letter-spacing:.04em;margin-bottom:14px}
#room::before,#room::after{content:'★';font-family:serif;font-size:14px;color:#b68a37;vertical-align:middle;margin:0 16px}
h1{font-family:Rockwell,Georgia,'Times New Roman',serif;font-weight:900;font-size:clamp(42px,7vw,82px);letter-spacing:-.035em}
.status-line{gap:14px}.dot{width:13px;height:13px;box-shadow:0 0 0 5px #b78b3418}
#party{font-family:Georgia,'Times New Roman',serif;font-size:clamp(26px,4vw,46px);margin:18px 0 4px;color:#42291c}
#reservation{color:#735942;font-size:clamp(17px,2.2vw,23px);margin:8px 0}
#timer-panel{background:#fffaf0;border:1px solid #d6bd88;border-radius:12px;padding:14px 28px 18px;box-shadow:0 5px 0 #d1b77d25;width:min(520px,94%);margin-top:16px}
#timer-panel .eyebrow{color:#815d37;opacity:1;font-size:11px}#timer{color:#a2252b;font-size:clamp(60px,9vw,100px);font-weight:800;line-height:1.15}
progress{appearance:none;border:0;border-radius:8px;overflow:hidden;background:#eadcc0;height:7px;display:block;margin-top:10px}progress::-webkit-progress-bar{background:#eadcc0}progress::-webkit-progress-value{background:#a2252b;border-radius:8px}progress::-moz-progress-bar{background:#a2252b}
#message{color:#796149;font-size:17px;margin-top:18px;opacity:1}
footer{background:#4d3021;color:#fff3d7;border-top:4px solid #d6a745;padding:18px 36px;min-height:90px}footer .eyebrow{color:#efc66d;font-size:11px}footer p{font-size:17px}#connection{color:#e3cfb4;opacity:1}
dialog{background:#fffaf0;color:#42291c;border:2px solid #d6a745}dialog button{border-color:#b99b66}dialog a{color:#a2252b}#done{background:#a2252b;color:#fff8e6;border-color:#a2252b}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #d6a745;outline-offset:4px}
@media(max-width:600px){header{padding:12px 18px;gap:12px}.brand{gap:10px}.brand img{width:86px;height:55px}.brand span{font-size:9px;padding-left:10px;max-width:80px;line-height:1.6}main{margin:13px;padding:25px 16px}#room::before,#room::after{margin:0 8px;font-size:10px}footer{padding:18px 22px}#timer-panel{padding:14px 16px}}
@media(min-width:700px) and (max-height:760px){header{padding-top:8px;padding-bottom:8px}.brand img{height:58px;width:100px}main{margin:12px 18px;padding:14px 24px}#room{margin-bottom:8px;font-size:24px}h1{font-size:56px}#party{font-size:32px;margin-top:12px}#timer-panel{margin-top:10px;padding:10px 24px 12px}#timer{font-size:72px}#message{margin-top:12px}footer{min-height:76px;padding:12px 36px}}
.brand img{width:58px;height:58px;background:#fff2d4;border-radius:50%;padding:4px}.brand-title{font-family:Rockwell,Georgia,serif;font-size:27px;font-weight:900;letter-spacing:-.03em}.brand .brand-title span{font-family:system-ui,sans-serif;border:0;padding:0;margin-top:5px;font-size:10px;letter-spacing:.22em;max-width:none}@media(max-width:600px){.brand img{width:44px;height:44px}.brand-title{font-size:21px}.brand .brand-title span{font-size:8px}}@media(min-width:700px) and (max-height:760px){.brand img{width:50px;height:50px}}
