:root{--mo-blue:#1265ff;--mo-blue-pressed:#0b4dcc;--mo-green:#16b85c;--mo-yellow:#ffcf00;--mo-coral:#ff5252;--mo-teal:#009f9a;--mo-violet:#7955d9;--mo-white:#fff;--mo-canvas:#f7f9fc;--mo-ink:#17212f;--mo-muted:#586575;--mo-border:#dce3eb;--mo-pale-blue:#eaf1ff;--mo-danger:#c92e3b;--mo-stale:#64748b;--mo-primary:var(--mo-blue);--mo-primary-active:var(--mo-blue-pressed);--mo-surface:var(--mo-white);--mo-text:var(--mo-ink);--mo-text-muted:var(--mo-muted);--mo-live-text:#116736;--mo-live-surface:#e7f8ee;--mo-control-border:#8794a5;--mo-map-placeholder:#e9eee8;--mo-scrim:#17212f6b;--mo-map-shadow:0 3px 16px #17212f1f;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--radius-card:16px;--radius-control:12px;--radius-pill:999px;--touch:44px}[data-person]{--person-bg:var(--mo-blue-pressed);--person-ink:var(--mo-white)}[data-person="1"]{--person-bg:var(--mo-green);--person-ink:var(--mo-ink)}[data-person="2"]{--person-bg:var(--mo-yellow);--person-ink:var(--mo-ink)}[data-person="3"]{--person-bg:var(--mo-coral);--person-ink:var(--mo-ink)}[data-person="4"]{--person-bg:var(--mo-teal);--person-ink:var(--mo-ink)}[data-person="5"]{--person-bg:var(--mo-violet);--person-ink:var(--mo-white)}:root{color:var(--mo-text);background:var(--mo-canvas);font-synthesis:none;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.45}*{box-sizing:border-box}[hidden]{display:none!important}body{flex-direction:column;min-height:100dvh;margin:0;display:flex}main{flex-direction:column;flex:1;display:flex}body.in-room{height:100dvh;min-height:0}.in-room main{min-height:0}h1,h2,p{margin:0}h1{letter-spacing:-.035em;font-size:28px;line-height:1.15}h2{letter-spacing:-.02em;font-size:18px;line-height:1.2}button,input,select{font:inherit}:focus-visible{outline:3px solid var(--mo-primary-active);outline-offset:3px}h1:focus{outline:none}.app-header{align-items:center;gap:var(--space-2);padding:calc(var(--space-3) + env(safe-area-inset-top)) max(var(--space-4), env(safe-area-inset-right)) var(--space-3) max(var(--space-4), env(safe-area-inset-left));background:var(--mo-surface);border-bottom:1px solid var(--mo-border);letter-spacing:-.04em;font-size:20px;font-weight:750;display:flex}.welcome{width:min(100% - 32px,420px);padding:var(--space-8) 0 max(var(--space-8), env(safe-area-inset-bottom));gap:var(--space-3);text-align:center;margin:auto;display:grid}.welcome-mark{justify-self:center}#intro{color:var(--mo-text-muted)}.welcome .primary{margin-top:var(--space-4)}.privacy,.hint{color:var(--mo-text-muted);font-size:13px}.privacy{gap:var(--space-2);margin-top:var(--space-1);justify-content:center;align-items:center;display:flex}.icon{flex:none;align-items:center;display:inline-flex}.icon svg{width:20px;height:20px;display:block}.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--touch);min-width:var(--touch);padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);background:var(--mo-surface);color:var(--mo-text);cursor:pointer;border:1px solid #0000;font-weight:650;display:inline-flex}.button.primary{background:var(--mo-primary);min-height:50px;color:var(--mo-white)}.button.primary:is(:hover,:active){background:var(--mo-primary-active)}.button.secondary{border-color:var(--mo-control-border)}.button.secondary:hover,.button.quiet:hover{background:var(--mo-pale-blue)}.button.destructive{background:var(--mo-danger);color:var(--mo-white)}.button:disabled{color:var(--mo-muted);background:var(--mo-canvas);border-color:var(--mo-border);cursor:default}.icon-button{padding:0}label{font-size:14px;font-weight:650}input,select{width:100%;min-width:0;min-height:var(--touch);padding:var(--space-2) var(--space-3);border:1px solid var(--mo-control-border);border-radius:var(--radius-control);background:var(--mo-surface);color:var(--mo-text)}.message{padding:var(--space-2) var(--space-3);background:var(--mo-pale-blue);border-radius:var(--radius-control);text-align:left;overflow-wrap:anywhere;font-size:14px}#entry-error,#name-error{color:var(--mo-danger)}.room{isolation:isolate;background:var(--mo-surface);flex:1;grid-template:"map header""map sheet"minmax(0,1fr)/minmax(0,1fr) minmax(280px,320px);min-height:0;display:grid;position:relative}#map{background:var(--mo-map-placeholder);grid-area:map;min-height:0;position:relative}.session-header{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-4);background:var(--mo-surface);border-bottom:1px solid var(--mo-border);grid-area:header;display:flex}.session-name{min-width:0}.session-name h1{overflow-wrap:anywhere;font-size:20px}.session-meta{align-items:center;gap:var(--space-1);color:var(--mo-text-muted);margin-top:var(--space-1);flex-wrap:wrap;font-size:13px;display:flex}.session-meta .icon svg{width:16px;height:16px}#invite{flex:none;font-size:14px}.map-toolbar{display:contents}.map-controls{z-index:1;place-self:start end;gap:var(--space-2);margin:var(--space-3) max(var(--space-3), env(safe-area-inset-right)) 0 0;pointer-events:none;grid-area:map;grid-auto-columns:max-content;display:grid}.map-controls>*{pointer-events:auto}.map-controls .icon-button,#map-navigation .maplibregl-ctrl-group{background:var(--mo-surface);border:1px solid var(--mo-border);border-radius:var(--radius-control);box-shadow:var(--mo-map-shadow)}#map-navigation .maplibregl-ctrl-group button{width:var(--touch);height:var(--touch)}#map-navigation .maplibregl-ctrl-group button+button{border-color:var(--mo-border)}#map-navigation .maplibregl-ctrl-group button:focus-visible{outline:3px solid var(--mo-primary-active);outline-offset:-4px}#map-navigation:empty{display:none}.room-sheet{background:var(--mo-surface);border-left:1px solid var(--mo-border);flex-direction:column;grid-area:sheet;min-height:0;display:flex}.sharing-panel{padding:var(--space-4);gap:var(--space-2);border-bottom:1px solid var(--mo-border);display:grid}.sharing-title,.participant-heading{align-items:center;gap:var(--space-2);display:flex}.sharing-title{flex-wrap:wrap;justify-content:space-between}.sharing-title h2,.participant-heading h2{font-size:16px}.status-pill{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);background:var(--mo-canvas);color:var(--mo-muted);font-size:13px;font-weight:650;display:inline-flex}.status-pill .icon svg{width:16px;height:16px}.status-pill[data-tone=live]{background:var(--mo-live-surface);color:var(--mo-live-text)}.sheet-scroll{overscroll-behavior:contain;min-height:0;padding:var(--space-3) var(--space-4) max(var(--space-4), env(safe-area-inset-bottom));overflow:auto}.participant-heading{margin-bottom:var(--space-2)}.participants{margin:0;padding:0;list-style:none}.participant{gap:var(--space-2);width:100%;min-height:var(--touch);padding:var(--space-1);color:var(--mo-text);background:var(--mo-surface);border-radius:var(--radius-control);text-align:left;cursor:pointer;border:1px solid #0000;align-items:center;display:flex}.participant:disabled{cursor:default}.participant:disabled>.icon{display:none}.participant:enabled:hover,.participant[aria-pressed=true]{background:var(--mo-pale-blue);border-color:var(--mo-border)}.avatar,.marker{border-radius:var(--radius-pill);background:var(--person-bg);color:var(--person-ink);place-items:center;font-weight:750;display:inline-grid}.avatar{flex:0 0 36px;height:36px}.person-info{overflow-wrap:anywhere;flex:1;min-width:0;display:grid}.person-info strong{font-size:14px}.person-status{color:var(--mo-text-muted);font-size:13px}.person-status[data-live=true]{color:var(--mo-live-text);font-weight:650}.marker{width:var(--touch);height:var(--touch);border:2px solid var(--mo-white);box-shadow:var(--mo-map-shadow);cursor:pointer;padding:0}.marker.own{background:var(--mo-blue)}.marker.own:before{content:"";border-radius:var(--radius-pill);background:var(--mo-white);z-index:-1;position:absolute;inset:4px}.marker.own{color:var(--mo-primary-active)}.marker.stale{background:var(--mo-stale);color:var(--mo-white);border-style:dashed}.marker.own.stale{color:var(--mo-ink)}.room-settings{margin-top:var(--space-2);border-top:1px solid var(--mo-border)}.room-settings summary{cursor:pointer;min-height:var(--touch);align-items:center;gap:var(--space-2);font-size:14px;font-weight:650;display:flex}.room-settings summary::-webkit-details-marker{display:none}.room-settings summary:after{content:"+";margin-left:auto}.room-settings[open] summary:after{content:"−"}.room-actions,.form-row{gap:var(--space-2);margin-top:var(--space-2);display:flex}.room-actions{flex-wrap:wrap}dialog{border:1px solid var(--mo-border);border-radius:var(--radius-card);width:min(100% - 32px,390px);max-height:calc(100dvh - 32px);color:var(--mo-text);background:var(--mo-surface);padding:0}dialog::backdrop{background:var(--mo-scrim)}.dialog-content{gap:var(--space-3);padding:var(--space-6);display:grid}.dialog-content p:not(.message){color:var(--mo-text-muted)}@media (width<=719px){.in-room .app-header{display:none}.room{grid-template:"map"minmax(170px,1fr)"sheet"minmax(0,auto)/minmax(0,1fr)}.map-toolbar{z-index:1;pointer-events:none;grid-area:map;align-self:start;display:grid}.map-toolbar .session-header{pointer-events:auto}.map-controls{margin-top:var(--space-2);grid-area:auto}.session-header{z-index:1;margin:calc(var(--space-3) + env(safe-area-inset-top)) max(var(--space-3), env(safe-area-inset-right)) 0 max(var(--space-3), env(safe-area-inset-left));padding:var(--space-2) var(--space-3);border:1px solid var(--mo-border);border-radius:var(--radius-card);box-shadow:var(--mo-map-shadow);grid-area:auto;align-self:start}.room-sheet{z-index:1;border:1px solid var(--mo-border);border-radius:var(--radius-card) var(--radius-card) 0 0;border-bottom:0;max-height:49dvh}.sharing-panel{padding:var(--space-3) var(--space-4)}.sheet-scroll{min-height:44px}}@media (height<=480px) and (orientation:landscape){.room{grid-template:"map header""map sheet"minmax(0,1fr)/minmax(0,1fr) minmax(250px,34%)}.in-room .app-header{display:none}.map-toolbar{display:contents}.map-controls{margin-top:var(--space-3);grid-area:map}.session-header{box-shadow:none;border-radius:0;grid-area:header;margin:0}.room-sheet{border-radius:0;max-height:none;overflow:auto}.sheet-scroll{flex:1 0 auto}}@media (height<=560px) and (orientation:portrait){.room-sheet{max-height:58dvh;overflow:auto}.sheet-scroll{flex:1 0 auto}}.map-style-setting{gap:var(--space-1);margin-bottom:var(--space-3);display:grid}@media (height<=670px) and (orientation:portrait){.map-controls{grid-auto-flow:column;align-items:start}#map-navigation .maplibregl-ctrl-group{display:flex}#map-navigation .maplibregl-ctrl-group button+button{border-top:0;border-left:1px solid var(--mo-border)}}.group-privacy{margin-top:var(--space-3)}.simulation-settings{margin-top:var(--space-2)}.simulation-settings form{gap:var(--space-2);display:grid}.marker.simulated{width:auto;min-width:var(--touch);padding-inline:var(--space-2);white-space:nowrap}
