.community-bar{margin-top:17px;border:1px solid #bba36945;background:linear-gradient(110deg,#244632aa,#193b2b99);border-radius:13px;padding:22px 27px;color:#eee4c9;box-shadow:inset 0 1px 0 #f5e4b508}
.community-main{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.presence-room-title{display:flex;align-items:center;gap:12px;min-width:190px}
.presence-room-title>div{display:flex;flex-direction:column;gap:3px}
.presence-room-title small{font-size:7px;letter-spacing:.17em;color:#bfa776}
.presence-room-title strong{font-family:EmmausSerif,'AppleMyungjo',Georgia,serif;font-size:20px;font-weight:400;letter-spacing:-.04em;color:#f1dfb4}
.presence-connection{width:6px;height:6px;min-width:6px;border-radius:50%;background:#809080}
.presence-connection.connected{background:#e2c483;box-shadow:0 0 12px #e2c48344}
.presence-count{display:flex;align-items:baseline;gap:8px;color:#bcc8af;font-size:11px}
.presence-count b{font-family:Georgia,serif;font-size:27px;color:#e8d29b;font-weight:400;line-height:1.3}
.presence-room-select{margin-left:auto}
.presence-room-select select{font-size:10px;padding:9px 31px 9px 13px;min-height:39px;border:1px solid #baa56d44;background:#173b2b;color:#e5dbbb;border-radius:25px;max-width:100%;color-scheme:dark}
.community-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:17px;padding-top:16px;border-top:1px solid #c6ac6f22;flex-wrap:wrap}
.presence-my-place{display:flex;align-items:center;gap:7px;font-size:10px;color:#c5cdb6;flex-wrap:wrap}
.presence-my-place>i{display:block;width:11px;height:11px;background:var(--visitor-color);border:1px solid #e6d3a366;border-radius:50%}
.presence-my-place strong{font-weight:500;color:#efe0b6}
.presence-my-place>span{font-size:10px;color:#acbea0;margin-left:3px}
.presence-buttons{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.presence-seat-action{padding:8px 16px;border:1px solid #d2b57499;border-radius:24px;background:#d7bd8133;color:#f4e1b0;min-height:41px;font-size:11px;display:inline-flex;align-items:center;gap:23px}
.presence-seat-action:hover{background:#d7bd8144}
.presence-secondary,.presence-leave{font-size:10px;color:#c8cfb6;padding:8px 0;min-height:36px}
.presence-leave{text-decoration:underline;text-underline-offset:4px;color:#a9b99b}
.presence-notice{font-size:10px;line-height:1.9;color:#cecfb1;margin:11px 0 0}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
#presence-dialog{color:#35543b}
#modal-content .presence-dialog-intro{font-size:12px;line-height:1.9;color:#748367;margin-bottom:18px}
.presence-modal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px}
.presence-modal-toolbar select{min-height:38px;font-size:11px;max-width:260px;color:#41613d;background:#f8f5e9;border-color:#d5dcc3}
.presence-modal-toolbar>span{font-size:10px;color:#8b9579;white-space:nowrap}
#presence-seat-grid{border:1px solid #d5dcc3;border-radius:13px;background:radial-gradient(ellipse at 50% 0,#f6e8c6aa,transparent 60%),#eff0e3;padding:21px 25px 16px;min-height:360px}
.presence-altar{display:flex;align-items:center;flex-direction:column;position:relative;padding-bottom:23px;margin-bottom:4px;gap:2px}
.presence-altar>span{font-family:Georgia,serif;font-size:29px;font-weight:400;color:#ae8a43;line-height:1.1}
.presence-altar strong{font-size:9px;letter-spacing:.22em;color:#8c865f;font-weight:500;margin-top:6px}
.presence-altar>i{position:absolute;bottom:10px;left:20%;right:20%;height:1px;background:linear-gradient(90deg,transparent,#b5a373aa,transparent)}
.presence-seat-plan{display:flex;flex-direction:column;gap:12px}
.presence-seat-row{display:grid;grid-template-columns:23px minmax(0,1fr) 25px minmax(0,1fr);gap:5px;align-items:center}
.presence-seat-row>small{font-size:8px;color:#9a9f84;white-space:nowrap}
.presence-bank{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.presence-aisle{width:25px;height:38px;border-right:1px dashed #b9bd9c44}
.presence-seat{border:1px solid #bdc6a9;background:#f8f8ed;color:#8a9775;border-radius:7px;position:relative;min-width:0;width:100%;height:44px;padding:2px;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s;opacity:1}
.presence-seat svg{width:24px;height:26px;display:block}
.presence-seat>span{position:absolute;right:3px;bottom:1px;font-size:7px;line-height:1;color:#a2aa8c}
.presence-seat.available:hover{background:#e2e8d1;border-color:#87946b}
.presence-seat.occupied{background:#e3e6d3;border-color:#d2d9bc;color:var(--visitor-color,#a5b69e);cursor:default;opacity:1}
.presence-seat.occupied svg{height:25px;width:24px;filter:drop-shadow(0 1px 1px #67775022)}
.presence-seat.occupied>span{color:#8d9d75}
.presence-seat.mine{border-color:#b39151;background:#f4e7c7;box-shadow:0 0 0 1px #c8ae7355}
.presence-seat.mine>i{position:absolute;right:1px;top:-5px;font-style:normal;font-size:10px;background:#b1914e;color:#fff5d6;border-radius:50%;width:13px;height:13px;display:grid;place-items:center}
.presence-seat.selected{border-color:#3f6847;background:#d3dfbf;box-shadow:0 0 0 2px #5b7b4f44;color:#3f6343}
.presence-seat:focus-visible{outline:2px solid #4e7344;outline-offset:2px}
.presence-seat:disabled:not(.occupied){opacity:.4;cursor:default}
.presence-door{font-size:8px;letter-spacing:.16em;color:#a1a68b;text-align:center;margin-top:22px}
.presence-legend{display:flex;align-items:center;justify-content:center;gap:20px;margin:15px 0 21px;color:#839274;font-size:9px;flex-wrap:wrap}
.presence-legend>span{display:flex;align-items:center;gap:6px}
.presence-legend i{width:9px;height:9px;display:block;border-radius:3px;background:#f9f8ef;border:1px solid #b7c4a4}
.presence-legend i.legend-occupied{background:#a5b69e;border-color:#a5b69e}
.presence-legend i.legend-mine{background:#e7c787;border-color:#b29150}
.presence-identity{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:25px}
.presence-identity>label{font-size:10px;color:#78886a;display:block;min-width:0}
.presence-identity>label>span{font-size:10px}
#modal-content .presence-identity input[type=text]{margin:7px 0 0;padding:10px 12px;font-size:12px;min-height:41px;border-color:#d2ddc2;border-radius:7px;background:#fffdf5}
.presence-identity fieldset{margin:0;padding:0;border:0;min-width:0}
.presence-identity legend{font-size:10px;color:#78886a;padding:0;margin-bottom:10px}
.presence-colors{display:flex;gap:8px;align-items:center}
.presence-colors label{position:relative;display:block;width:25px;height:25px;cursor:pointer}
.presence-colors input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.presence-colors span{display:block;width:25px;height:25px;border-radius:50%;background:var(--visitor-color);border:3px solid #fbf7ed;box-shadow:0 0 0 1px transparent;pointer-events:none}
.presence-colors input:checked+span{box-shadow:0 0 0 1.5px #8f8f60}
.presence-colors input:focus-visible+span{outline:2px solid #58764a;outline-offset:3px}
#modal-content .presence-alias-note{font-size:9px;line-height:1.8;color:#8c977e;margin:10px 0 20px}
.presence-confirm-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;border-top:1px solid #e0e4d1;padding-top:15px}
.presence-confirm-row>span{font-size:11px;color:#647b54}
#modal-content .presence-confirm-row .button{margin:0;min-height:44px;font-size:11px;padding:11px 21px}
#modal-content #presence-feedback{font-size:10px;color:#957743;line-height:1.9;margin:12px 0 0;min-height:0}
#presence-feedback a{color:#476c45;text-decoration:underline;text-underline-offset:4px}
.presence-map-offline{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;min-height:320px}
.presence-map-offline>span{font-size:34px;color:#b69b61;font-family:Georgia,serif;margin-bottom:12px}
#modal-content .presence-map-offline>p{font-size:12px;line-height:1.9;color:#8c997b}
@media(max-width:850px){.community-main{gap:18px}.presence-room-title{min-width:170px}.presence-room-title strong{font-size:18px}.presence-count{font-size:10px;gap:6px}.presence-count b{font-size:24px}.presence-room-select select{font-size:9px}.community-bar{padding:21px 23px}.community-actions{gap:14px}.presence-buttons{gap:15px}}
@media(max-width:620px){.community-bar{margin-top:14px;padding:20px 20px 18px;border-radius:12px}.community-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:15px 10px}.presence-room-title{min-width:0;gap:9px}.presence-room-title strong{font-size:18px}.presence-room-title small{font-size:6px;letter-spacing:.13em}.presence-count{font-size:8px;gap:5px;align-self:center}.presence-count b{font-size:24px}.presence-room-select{grid-column:1/-1;width:100%;margin:0}.presence-room-select select{width:100%;font-size:10px;min-height:39px;border-radius:7px;background:#193e2c;padding-left:12px}.community-actions{display:block;margin-top:14px;padding-top:14px}.presence-my-place{font-size:9px;gap:6px;margin:0 0 12px}.presence-my-place>span{font-size:9px}.presence-buttons{gap:14px}.presence-seat-action{font-size:10px;min-height:40px;padding:8px 14px;gap:18px}.presence-secondary,.presence-leave{font-size:9px;min-height:36px}.presence-notice{font-size:9px;margin-top:12px;line-height:1.9}#modal-content .presence-dialog-intro{font-size:10px;line-height:1.9;margin-bottom:17px}.presence-modal-toolbar{gap:10px;margin-bottom:12px}.presence-modal-toolbar select{font-size:10px;max-width:220px;padding:8px 25px 8px 9px;min-height:38px}.presence-modal-toolbar>span{font-size:8px}#presence-seat-grid{padding:19px 10px 14px;min-height:350px;border-radius:10px}.presence-altar{padding-bottom:22px;margin-bottom:3px}.presence-altar>span{font-size:27px}.presence-altar strong{font-size:8px}.presence-seat-plan{gap:10px}.presence-seat-row{grid-template-columns:16px minmax(0,1fr) 13px minmax(0,1fr);gap:3px}.presence-seat-row>small{font-size:6px}.presence-bank{gap:4px}.presence-aisle{width:13px;height:38px}.presence-seat{height:39px;border-radius:5px;padding:1px}.presence-seat svg{width:21px;height:24px}.presence-seat>span{font-size:6px;right:2px;bottom:2px}.presence-seat.occupied svg{height:22px;width:21px}.presence-seat.mine>i{width:11px;height:11px;font-size:8px;top:-4px}.presence-door{font-size:7px;margin-top:19px}.presence-legend{font-size:8px;gap:13px;margin:13px 0 19px}.presence-legend>span{gap:5px}.presence-legend i{width:8px;height:8px}.presence-identity{grid-template-columns:1fr;gap:16px}.presence-identity>label>span,.presence-identity legend{font-size:9px}.presence-identity legend{margin-bottom:9px}.presence-colors{gap:11px}.presence-colors label,.presence-colors span{width:28px;height:28px}#modal-content .presence-identity input[type=text]{font-size:11px;min-height:42px;margin-top:7px}#modal-content .presence-alias-note{font-size:8px;line-height:1.9;margin-top:11px;margin-bottom:17px}.presence-confirm-row{display:grid;grid-template-columns:1fr;gap:11px;padding-top:15px}.presence-confirm-row>span{font-size:10px}#modal-content .presence-confirm-row .button{width:100%;font-size:11px;min-height:45px}#modal-content #presence-feedback{font-size:9px;margin-top:11px}.presence-map-offline{min-height:310px}#modal-content .presence-map-offline>p{font-size:11px}}
@media(max-width:370px){.presence-count span{max-width:55px;font-size:7px;line-height:1.6}.community-bar{padding:18px 17px}.presence-room-title strong{font-size:17px}.presence-buttons{gap:11px}.presence-seat-action{font-size:9px;padding:8px 12px}.presence-secondary,.presence-leave{font-size:8px}.presence-bank{gap:3px}.presence-seat-row{grid-template-columns:14px minmax(0,1fr) 10px minmax(0,1fr);gap:2px}.presence-aisle{width:10px}.presence-seat{height:36px}.presence-seat svg{width:19px;height:23px}.presence-legend{gap:10px;font-size:7px}.presence-modal-toolbar select{max-width:195px;font-size:9px}.presence-modal-toolbar>span{font-size:7px}}
@media(prefers-reduced-motion:reduce){.presence-seat{transition:none}}

.presence-appearance-label{display:grid;gap:8px;margin:18px 0;font-size:13px;color:var(--ink,#e8dfc6)}.presence-appearance-label select{width:100%;min-height:44px;padding:10px;border:1px solid #cbb88866;border-radius:12px;background:#1c3d30;color:#f5eddb}
