*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,sans-serif;color:#111}
header{display:flex;flex-wrap:wrap;gap:8px 13px;align-items:center;padding:8px 13px;background:#0b3d2e;color:#fff}
header h1{margin:0 auto 0 0;font-size:21px}select,input,button{font:inherit;min-height:44px}
.tag,.onboard,.scope{margin:8px 13px}.onboard,.scope{font-size:14px;line-height:1.45}.scope{max-width:52rem}
main{display:grid;grid-template-columns:1fr 340px;height:62vh}#map{height:100%}
#panel{overflow:auto;border-left:1px solid #ddd}#q{width:100%;padding:8px}
#list{list-style:none;margin:0;padding:0}#list li{padding:10px 13px;border-bottom:1px solid #eee;cursor:pointer}
dialog{max-width:440px;width:94vw;border:0;border-radius:8px}.disc{background:#fff4c2;padding:8px;font-weight:600}
.rule{background:#e7f6ee;padding:8px}.small{font-size:13px;color:#555}.btns{display:flex;gap:8px}.btns button{flex:1}
#amt{width:8em}section,footer{padding:8px 13px}footer{font-size:12px;color:#666}
@media(max-width:700px){main{grid-template-columns:1fr;height:auto}#map{height:48vh}#panel{max-height:40vh;border:0}}
nav a{color:#fff;margin:0 4px}.page{max-width:720px;margin:0 auto;padding:13px}.page li{padding:8px 0;border-bottom:1px solid #eee}
.motto{font-style:italic}
.slogan{display:block;font-size:13px;opacity:1;transition:opacity .6s}
.pbid{min-height:44px;margin-top:6px;width:100%;background:#0b3d2e;color:#fff;border:0;border-radius:6px}
.pair{font-size:14px;background:#fff4c2;padding:8px}.mt{font-size:12px;background:#ffd;color:#000;padding:2px 6px;border-radius:4px}.mt:empty{display:none}
.slogan-disc{display:block;font-size:13px}
/* Cooling-off panel (the owner's button rules: thin glowing outline, sized to words, side by side, never filled, never stacked). */
.offer{margin:13px 0;padding:16px;border-radius:12px;background:#0d1b2a;color:#e8eef5;line-height:1.55}
.offer h3{margin:0 0 6px;font-size:18px;font-weight:600;color:#fff}.offer p{margin:0 0 10px}.offer .small{color:#b7c4d3}
.offer-step{letter-spacing:.04em;text-transform:uppercase;font-size:12px!important}
.glow-row{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px;align-items:center;margin-top:12px}
.glow{flex:0 0 auto;width:auto;background:transparent;color:#cfe8ff;border:1px solid #7cc4ff;border-radius:999px;padding:6px 18px;min-height:44px;cursor:pointer;
  box-shadow:0 0 8px rgba(124,196,255,.45),inset 0 0 4px rgba(124,196,255,.2);transition:box-shadow .2s}
.glow:hover,.glow:focus-visible{box-shadow:0 0 14px rgba(124,196,255,.75),inset 0 0 6px rgba(124,196,255,.3);outline:none}
.offer-msg{margin-top:14px!important}.offer-msg:empty{display:none}

.offer-path{display:block;margin:10px 0 0;color:#cfe0f0}
.offer-path select{min-height:44px;max-width:100%}
@media (prefers-reduced-motion: reduce){.glow,.glow:hover,.glow:focus-visible{transition:none}}

/* One-time notice (defaulted winner). Calm, no urgency; OK is a thin glow outline. */
.pw-notice{margin:12px auto;max-width:640px;padding:12px 16px;border:1px solid #7cc4ff;border-radius:12px;background:#0f1d2b;color:#e6f2ff}.pw-notice .notice-text{margin:0 0 4px}

/* #13 sign form (dark panel, thin glow button only). */
.sign-form label.sf-l{display:block;margin:10px 0 4px;font-size:14px;color:#cfe0f0}.sign-form input:not([type=checkbox]){width:100%;padding:8px;border:1px solid #2b4a66;border-radius:8px;background:#0b1622;color:#e6f2ff}.sign-form input:disabled{opacity:.55}.sign-form .sf-tick{display:flex;gap:8px;align-items:center;margin:14px 0 0;min-height:44px}.sign-form .sf-tick input{flex:none;width:22px;height:22px;min-height:0}.sign-form .small{color:#b7c4d3}
/* Readability fix: light notice boxes always use dark ink, in every look/theme. */
.disc,.rule,.pair,.mt{color:#111!important;-webkit-text-fill-color:#111!important;text-shadow:none!important}
.disc *,.rule *,.pair *{color:inherit!important;-webkit-text-fill-color:inherit!important}
.pair:empty,#hold:empty,.disc:empty,.rule:empty{display:none!important}
.lot-disc{display:block;font-size:12px;font-weight:400;opacity:.85;color:var(--m-muted,#555);background:none;border:0;padding:0;box-shadow:none}
/* Official clock (Sydney) in every header: quiet, readable, no animation. */
.pw-clock{display:inline-block;margin-left:.6em;font-size:.85em;font-variant-numeric:tabular-nums;opacity:.85}
.pw-rest{padding:.4em .6em;border-radius:4px;background:rgba(0,0,0,.04)}

/* T016 mobile: 44px map controls, framed-certificate opt-in, and music button */
.maplibregl-ctrl-group button{min-width:44px;min-height:44px;width:44px;height:44px}
.pw-frame-opt{display:flex;align-items:flex-start;gap:10px;min-height:44px}
.pw-frame-opt input[type=checkbox]{width:24px;height:24px;min-width:44px;min-height:44px;margin:0;flex:none}

/* T016: keep content clear of the fixed PRIVATE banner (height set by mode-route.js). */
body{padding-bottom:var(--ppw-private-h, 4.2em)}dialog{margin-bottom:var(--ppw-private-h, 4.2em);padding-bottom:calc(12px + var(--ppw-private-h, 4.2em))}
