/* V0.3 collaboration and settings. The live surface keeps one shared signal grid. */
.invite-link-row{display:flex;align-items:center;gap:8px}.invite-link-row input{flex:1;min-width:0}.invite-link-row button{flex:none;white-space:nowrap}#inviteCopyStatus{font-size:13px;color:var(--muted)}#adminContent .member-form{grid-template-columns:1fr}#adminContent .member-form p{grid-column:1/-1}
#connection{display:none!important}.panel-top{flex-wrap:wrap}.panel-top #phase{flex:1;min-width:0}#connectionLatency{font:12px var(--mono);padding:4px 7px;min-height:26px;margin-left:auto;border-color:transparent;background:transparent;color:var(--green);white-space:nowrap}#connectionLatency[data-quality="yellow"]{color:#f0ca77}#connectionLatency[data-quality="red"],#connectionLatency[data-quality="sync-error"],#connectionLatency[data-quality="disconnected"]{color:#ff968b;border-color:#7e3c37}#signalTargets{display:flex;gap:6px;flex:1;min-width:0;overflow-x:auto}#signalTargets button{white-space:nowrap;min-height:34px}#signalTargets button[aria-pressed="true"]{color:#b9ddff;border-color:#79b6ff;background:#23364c}.target-row>span{white-space:nowrap;font-size:12px}.target-row.single-target>span{display:none}.target-row.single-target #signalTargets button{padding:4px 7px;border-color:transparent;background:transparent}.signal-grid button:last-child{grid-column:auto;min-height:108px;flex-direction:column}.signal-grid button{user-select:none;-webkit-touch-callout:none}.compact-popover{position:fixed;margin:0;min-width:190px;max-width:min(320px,92vw);max-height:75dvh;overflow:auto;padding:12px;background:#1c222b;color:var(--text);border:1px solid #69788b;border-radius:10px;box-shadow:0 10px 35px #0008}.compact-popover strong{display:block;font-size:14px;margin-bottom:8px}.compact-popover button{display:block;width:100%;text-align:left;margin:5px 0;min-height:40px}
.chat-toolbar{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.chat-toolbar button{font-size:19px;min-width:36px;padding:6px;min-height:36px}.chat-message.located{background:#293d51;outline:1px solid #8ebae8;border-radius:4px}
#settingsDialog{width:min(850px,94vw);height:min(730px,90dvh);padding:20px;overflow:hidden}#settingsDialog h2{font-size:21px;margin:0}.settings-heading{display:flex;align-items:center;gap:14px;margin-bottom:16px}.settings-heading>button:last-child{margin-left:auto}.settings-layout{display:grid;grid-template-columns:140px minmax(0,1fr);height:calc(100% - 50px);gap:20px}#settingsNav{display:flex;flex-direction:column;gap:8px}#settingsNav button{text-align:left}#settingsNav button[aria-current="true"]{background:#2b4055;border-color:#78a5d3}.settings-pane{overflow:auto;padding:0 6px 15px;min-width:0}.settings-pane h3{font-size:17px}.settings-pane input[type="checkbox"],#quickSettings input[type="checkbox"]{width:auto;margin-right:10px}.settings-pane input[type="range"],#quickSettings input[type="range"]{width:100%;margin:10px 0}.sound-master{display:block;margin:15px 0}.sound-type{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:10px 0}.sound-type button{font-size:13px}.warning{color:#f5c876;background:#392e1a;padding:10px;border-radius:6px}#diagnostics{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.8 var(--mono);user-select:text}#diagnosticLog{font:12px/1.8 var(--mono);padding-left:20px;color:var(--muted)}#accountContent{width:100%;padding:0}#accountContent h2{font-size:17px}#accountContent .member-form{grid-template-columns:1fr}#accountContent .member-form p{grid-column:1/-1}#userUID{font:12px var(--mono);color:var(--muted)}#quickSettings{width:100%;max-width:600px;margin:auto auto 0;border-radius:16px 16px 0 0;padding:20px 20px max(20px,env(safe-area-inset-bottom));border-bottom:0}#quickSettings>label{display:block;margin:15px 0}#fullSettings{width:100%}.settings-pane button{max-width:100%}
#settingsDialog.mobile-settings{width:100vw;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0;margin:0;padding:16px}.mobile-settings .settings-layout{display:block}.mobile-settings #settingsNav{display:none}.mobile-settings.settings-index #settingsNav{display:flex}.mobile-settings #settingsNav button:after{content:'›';float:right}.mobile-settings .settings-pane{height:100%}.mobile-settings:not(.settings-index) .settings-heading h2{display:none}
.compact #connectionLatency{font-size:11px;min-width:0}.compact .signal-grid button,.compact .signal-grid button:last-child{height:clamp(42px,7dvh,62px);min-height:42px;grid-column:auto;flex-direction:row}.compact .target-row{gap:5px}.compact #signalTargets button{font-size:12px;padding:5px}.compact .header-right{gap:3px}.compact .header-right button{font-size:11px;padding:6px 4px}.compact .timer{font-size:clamp(38px,min(18vw,14dvh),100px)}.compact .panel-top{gap:4px;padding:6px 9px}.compact .panel-bottom{padding:5px 9px}.compact .countdown-content{gap:2px}.compact .countdown-content h2{font-size:20px}.compact .signal-grid{gap:6px}.compact .signals .section-title{margin-bottom:5px}.compact .target-row{margin-bottom:5px}
@media(orientation:landscape){.compact .signal-grid{grid-template-rows:repeat(3,minmax(40px,1fr))}.compact .signal-grid button,.compact .signal-grid button:last-child{height:100%;min-height:40px}.compact .timer{font-size:clamp(36px,18dvh,90px)}}
@media(max-height:600px) and (orientation:portrait){.compact .countdown-content h2{font-size:17px}.compact .timer{font-size:42px}.compact .panel-top{font-size:11px}.compact .panel-bottom{min-height:32px}.compact .signal-grid button,.compact .signal-grid button:last-child{height:42px;min-height:42px}.compact .signals{padding:8px}}
