/* v2.2.0 · public characters, waiting line, protest signs, simplified danger zones */
#signLayer{z-index:2;pointer-events:none}
#playOpen{display:flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap}#playOpen[hidden]{display:none}
body:not(.can-move) .walk{display:none}
#signQuick{margin-top:2px;padding:6px 10px;font-size:12px;border-color:#d68a6a;background:#3a2b26;color:#ffd8c2}#signQuick[hidden]{display:none}
:is(#playPanel,#playCta,#stickerDialog) .primary{background:#88ebc5;color:#102e2c;border-color:#88ebc5;font-weight:650}
:is(#playPanel,#playCta,#stickerDialog) button:disabled{opacity:.45;cursor:wait}
#playPanel{width:340px;z-index:11;right:14px;top:14px;bottom:14px;padding:0;overflow:hidden;background:#142133fa;border-color:#4e6977}
#playPanel[hidden]{display:none}
#playSummary{font-size:12px;color:#88ebc5}
.play-body{overflow:auto;min-height:0;padding:16px 18px 24px;overscroll-behavior:contain;scrollbar-width:thin;font-size:14px;line-height:1.5}
.play-section{padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid #344657}.play-section:last-child{border-bottom:0}
.play-section h3{font-size:15px;margin:0 0 10px}.play-section h4{font-size:14px;margin:16px 0 8px}
.play-section p{margin:6px 0 12px}.play-section .secondary,#stickerDialog .secondary,#playCta span{font-size:12px;line-height:1.6;color:#a8bdcd}
.play-section button,#playCta button{font-size:14px;padding:9px 12px;border-radius:8px}
.play-section .wide{width:100%;margin-top:4px}.play-section .subtle{background:transparent;border-color:#3d5362;color:#adc0cf;margin-top:12px;width:100%}
.me-card{display:flex;align-items:center;gap:12px;margin-bottom:12px}.me-card img{width:56px;height:56px;object-fit:contain}
.me-card>div{flex:1;min-width:0}.me-card strong{display:block;overflow-wrap:anywhere}.me-card small{font-size:12px;color:#88ebc5}
.me-card button{padding:6px 10px!important;font-size:12px!important}
.sign-form{background:#1f2c2a;border:1px solid #6b8a70;border-radius:10px;padding:12px;margin:8px 0}
.sign-form h4{margin:0 0 4px!important}
.sign-form textarea,.pay-row input,.pay-row select,#stickerDialog input:not([type=checkbox]):not([type=range]):not([type=file]){width:100%;padding:10px;border:1px solid #496070;border-radius:7px;background:#0d1a2a;color:#f0eee2;font:15px/1.4 system-ui;resize:vertical}
.sign-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}.sign-row small{font-size:11px;color:#91abbc}
.pay-card{background:#2b2622;border:1px solid #b58a5a;border-radius:10px;padding:12px;margin:8px 0}.pay-card.rejected{border-color:#ff8f7a;background:#3a2524}
.pay-card strong{color:#ffd8a8}.pay-card ol{padding-left:18px;margin:8px 0;font-size:13px;line-height:1.6}
.pay-row{display:grid;grid-template-columns:92px 1fr;gap:6px;margin:8px 0}
.my-signs{list-style:none;padding:0;margin:0;display:grid;gap:6px}.my-signs li{display:flex;align-items:center;gap:8px}
.my-signs button{flex:1;text-align:left;font-size:13px!important;overflow-wrap:anywhere}.my-signs small{font-size:11px;color:#91abbc;white-space:nowrap}
.play-players{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}
.play-players li{display:grid;justify-items:center;gap:4px;text-align:center;font-size:12px;overflow-wrap:anywhere}.play-players img{width:44px;height:44px;object-fit:contain}
.play-players small,.player-row strong small{color:#88ebc5}.play-players .empty,.play-feed .empty{grid-column:1/-1;color:#a5b3c7;display:block}
.play-feed{list-style:none;padding:0;margin:0;display:grid;gap:8px}.play-feed li{display:flex;gap:8px;font-size:13px}.play-feed small{display:block;font-size:11px;color:#91abbc}
#playCta{position:absolute;left:24px;bottom:22px;z-index:6;max-width:300px;display:grid;gap:6px;padding:14px 16px;background:#142033f2;border:1px solid #5d7a86;border-radius:14px;box-shadow:0 14px 40px #0006}
#playCta[hidden]{display:none}#playCta strong{font-size:14px}#playCta button{justify-self:start;margin-top:4px}
#playToasts{position:absolute;left:24px;top:118px;z-index:8;display:grid;gap:6px;pointer-events:none;max-width:320px}
.play-toast{display:flex;align-items:center;gap:8px;padding:7px 12px 7px 7px;background:#142033ee;border:1px solid #4f6a78;border-radius:22px;font-size:13px;box-shadow:0 8px 24px #0005;animation:toastIn .25s ease-out;transition:opacity .45s,transform .45s}
.play-toast img{width:28px;height:28px;object-fit:contain}.play-toast.out{opacity:0;transform:translateX(-12px)}
.play-toast.kind-joined{border-color:#6fd3a8}.play-toast.kind-sign{border-color:#e8a27a}.play-toast.kind-left{opacity:.85}
@keyframes toastIn{from{opacity:0;transform:translateX(-12px)}}
@media(prefers-reduced-motion:reduce){.play-toast{animation:none;transition:none}}
.play-open .zoom-controls,.play-open .direction-controls{right:372px}
#stickerDialog{max-width:480px}#stickerDialog h2{margin:0 0 8px;font-size:24px}#stickerDialog form>label{display:grid;gap:6px;margin:14px 0;font-size:14px}
.sticker-maker{display:grid;grid-template-columns:160px 1fr;gap:16px;align-items:center;margin:16px 0}
.sticker-maker label{display:grid;gap:6px;margin:10px 0;font-size:13px;color:#ccdae0}.sticker-maker label.check{display:flex;align-items:center;gap:8px}
#stickerPreview{position:static;inset:auto;flex-shrink:0;width:160px;height:160px;border-radius:12px;border:1px solid #4a5e70;background:repeating-conic-gradient(#25354a 0 25%,#1c2a3c 0 50%) 0 0/20px 20px}
#stickerPreview.empty{background:#1a283a}
.file-button{position:relative;display:inline-flex!important;align-items:center;justify-content:center;gap:6px;padding:10px 12px;border:1px dashed #88ebc5;border-radius:9px;color:#b6ffe1;cursor:pointer;font-size:14px;background:#1d3230}
.file-button:hover{background:#244440}.file-button:focus-within{outline:2px solid #88ebc5;outline-offset:3px}
.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.file-button:has(input:disabled){opacity:.45;cursor:not-allowed}
.side-chips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 10px}
.side-chip{font-size:12px!important;padding:5px 9px!important;border-radius:14px!important;background:#4a2326!important;border-color:#ff6b6b!important;color:#ffd6d6}
.evidence-editor{border:1px solid #5d6f86;border-radius:9px;padding:12px;margin:16px 0;background:#1a2638}.evidence-editor legend{font-size:13px;color:#a9d8ff;padding:0 6px}
.evidence-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}
.evidence-list figure,.evidence-list a{position:relative;margin:0;aspect-ratio:1;border-radius:8px;overflow:hidden;background:#0d1a2a;border:1px solid #3d5060;display:block}
.evidence-list img{width:100%;height:100%;object-fit:cover;display:block}
.evidence-list figure.uploading img{opacity:.45}.evidence-list figcaption{position:absolute;inset:auto 0 0;font-size:11px;text-align:center;padding:3px;background:#0009}
.evidence-list figure button{position:absolute;top:4px;right:4px;width:26px;height:26px;padding:0!important;border-radius:50%!important;font-size:16px!important;line-height:1;background:#101a28dd!important}
.zone-editor .geometry-editor legend{font-size:13px}
.avatar-sticker{width:36px;height:36px;object-fit:contain;flex-shrink:0}
.sign-admin{padding-top:20px;margin-top:20px;border-top:1px solid #344959}
.pay-review,.sign-list article{padding:10px 0;border-bottom:1px solid #344657}.pay-review p,.sign-list p{margin:4px 0!important;font-size:13px;overflow-wrap:anywhere}
.pay-review small,.sign-list small{display:block;font-size:12px;color:#a9bdc8}.sign-list button{margin-top:6px;font-size:12px!important;padding:5px 10px!important}
@media(max-width:900px){.play-open .zoom-controls,.play-open .direction-controls{right:366px}#playOpen{font-size:12px}}
@media(max-width:700px){
 #playPanel{left:8px;right:8px;top:auto;bottom:8px;width:auto;height:70%;border-radius:15px;max-height:calc(100% - 20px)}
 .play-open .zoom-controls{right:12px}.play-open .direction-controls{display:none}.play-open #playCta{display:none}
 #playCta{left:12px;right:12px;bottom:12px;max-width:none;padding:12px 14px}
 #playToasts{left:12px;right:12px;top:70px;max-width:none}.play-toast{font-size:12px}
 .sticker-maker{grid-template-columns:1fr;justify-items:center}.sticker-maker>div{width:100%}
 #playOpen span[aria-hidden]{display:none}
 .play-open #civicToast{bottom:73%}
}
/* v2.5.0 · signs with a reason, a private evidence photo and review; delete my data */
.reason-chips{margin:6px 0 10px}
#playPanel .chip{font-size:12px;padding:6px 10px;border-radius:18px;background:#1d2b40;border:1px solid #45536d}
#playPanel .chip.on{background:#88ebc5!important;color:#102e2c!important;border-color:#88ebc5}
.sign-form h4 small,.play-section h4 small{font-weight:500;font-size:11px;color:#91abbc;margin-left:6px}
.sign-form .chars{display:block;text-align:right;font-size:11px;color:#91abbc;margin-top:2px}
.evidence-row{display:flex;align-items:center;gap:10px;margin:10px 0}
.evidence-thumb{width:56px;height:56px;object-fit:cover;border-radius:8px;border:1px solid #496070}.evidence-thumb[hidden]{display:none}
.sign-form .consent{display:flex;gap:8px;align-items:flex-start;font-size:12px;line-height:1.45;margin:8px 0}.sign-form .consent input{margin-top:2px;flex-shrink:0}
.human:empty{display:none}.human{margin:8px 0}
.sign-form .tiny,#stickerDialog .tiny{font-size:11px;margin:6px 0 0}
.my-signs li{flex-wrap:wrap}
.my-signs .retire{padding:4px 8px!important;font-size:13px!important;flex:0 0 auto}
.my-signs li.review-pending small{color:#f2c27a}.my-signs li.review-rejected small{color:#ff9b8a}.my-signs li.review-approved small{color:#88ebc5}
#playPanel .forget{display:block;margin:18px auto 0;background:none!important;border:0!important;box-shadow:none!important;color:#ff9b8a!important;font-size:12px!important;text-decoration:underline;padding:4px!important}
.forget-confirm{margin-top:16px;padding:12px;border:1px solid #ff8f7a;border-radius:10px;background:#3a2524}.forget-confirm p{font-size:12px;margin:0 0 8px}.forget-confirm .button-row{margin:8px 0 0}
#playPanel .danger{background:#d64545!important;color:#fff!important;border-color:#d64545!important}
.sign-review{display:grid;grid-template-columns:88px minmax(0,1fr);gap:10px;padding:10px 0;border-bottom:1px solid #344657}
.sign-photo{display:block;width:88px;height:88px;border-radius:8px;overflow:hidden;background:#0d1a2a;border:1px solid #3d5060}
.sign-photo img{width:100%;height:100%;object-fit:cover;display:block}.sign-photo.empty{display:grid;place-items:center;font-size:11px;color:#91abbc}
.sign-review p{margin:0 0 4px!important;font-size:13px;overflow-wrap:anywhere}.sign-review small{display:block;font-size:12px;color:#a9bdc8}
.sign-review .button-row{margin:8px 0 0}.reject-row{display:flex;gap:6px;margin-top:6px}.reject-row select{flex:1;min-width:0;font-size:12px!important;padding:6px!important}
