:root{--panel-base-dark:#171a21;--panel-raised-dark:#20242e;--ink-primary-dark:#e8eaf0;--ink-secondary-dark:#9aa1ae;--border-dark:#2e3340;--accent-action:#1e6fe0;--status-ok:#1fa653;--status-warn:#e8930c;--status-alert:#d93025}*{box-sizing:border-box;scrollbar-width:thin}:root{scrollbar-color:color-mix(in srgb, var(--ink-secondary-dark) 45%, transparent) transparent}html,body,#root{background:var(--panel-base-dark);height:100%;margin:0}html,body{overscroll-behavior:none}.app-shell{background:var(--panel-base-dark);height:100dvh;color:var(--ink-primary-dark);grid-template:"header header""nav content"minmax(0,1fr)/200px minmax(0,1fr);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;display:grid}.app-nav{background:var(--panel-raised-dark);border-right:1px solid var(--border-dark);flex-direction:column;grid-area:nav;gap:2px;padding:12px 8px;display:flex}.app-nav__item{color:var(--ink-secondary-dark);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:8px;padding:10px 12px;font-size:14px;display:flex}.app-nav__item:hover{color:var(--ink-primary-dark)}.app-nav__item--active{color:var(--ink-primary-dark);background:var(--panel-base-dark);border-color:var(--border-dark)}.app-header{background:var(--panel-raised-dark);border-bottom:1px solid var(--border-dark);grid-area:header;align-items:baseline;gap:12px;padding:12px 16px;display:flex}.app-brand{font-size:20px;font-weight:600}.app-sub{color:var(--ink-secondary-dark);font-size:12px}.app-badge{color:#fff;text-align:center;background:#d9534f;border-radius:999px;min-width:18px;margin-left:8px;padding:1px 6px;font-size:11px;font-weight:600;display:inline-block}.app-registry{overscroll-behavior:contain;grid-area:content;min-height:0;padding:20px;position:relative;overflow-y:auto}.registry-state{text-align:center;color:var(--ink-secondary-dark);padding:40px 20px;font-size:14px}.registry-error{color:#ff8181;background:#d9534f26;border-radius:6px;margin-bottom:12px;padding:10px 14px;font-size:13px}.registry-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.roster-picker__results{overscroll-behavior:contain;border:1px solid var(--border-dark);border-radius:8px;max-height:520px;padding:8px;overflow-y:auto}.roster-picker__results:empty{display:none}.roster-picker__count{opacity:.75;margin:8px 0 6px;font-size:12px}.registry-card{background:var(--panel-raised-dark);border:1px solid var(--border-dark);border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.registry-card__main{overflow-wrap:anywhere;word-break:break-word;flex-wrap:wrap;align-items:baseline;gap:14px;min-width:0;display:flex}.registry-card__who{align-items:center;gap:12px;min-width:0;display:flex}.registry-photo{object-fit:cover;background:var(--border-dark);border-radius:50%;flex-shrink:0;width:44px;height:44px}.registry-photo--none{color:var(--ink-secondary-dark);justify-content:center;align-items:center;font-size:16px;font-weight:700;display:inline-flex}.registry-filter{gap:6px;margin-bottom:14px;display:flex}.registry-filter__btn{color:var(--ink-secondary-dark);border:1px solid var(--border-dark);cursor:pointer;background:0 0;border-radius:6px;padding:6px 12px;font-size:12px}.registry-filter__btn--active{color:var(--ink-primary-dark);background:var(--panel-raised-dark)}.registry-time{color:var(--ink-secondary-dark);font-size:12px}.registry-note{background:var(--panel-raised-dark);color:var(--ink-secondary-dark);border-radius:6px;margin-bottom:12px;padding:8px 12px;font-size:12px}.registry-search{box-sizing:border-box;background:var(--panel-raised-dark);width:100%;color:var(--ink-primary-dark);border:1px solid var(--border-dark);font:inherit;border-radius:6px;margin-bottom:14px;padding:8px 12px;display:block}.roster__search,.board__search{box-sizing:border-box;background:var(--panel-raised-dark);width:100%;max-width:280px;color:var(--ink-primary-dark);border:1px solid var(--border-dark);font:inherit;border-radius:6px;margin:4px 0 10px;padding:7px 11px;font-size:13px;display:block}.roster__search::placeholder,.board__search::placeholder{color:var(--ink-secondary-dark)}.roster__search:focus-visible,.board__search:focus-visible{outline:2px solid var(--accent-action);outline-offset:1px}.registry-confirm{min-width:0;max-width:320px;color:var(--ink-secondary-dark);align-self:center;font-size:12px}.registry-retry{color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:4px;margin-left:12px;padding:2px 8px;font-size:12px}.app-badge--stale{background:#6b7280}.registry-callsign{letter-spacing:.02em;font-weight:700}.registry-name{color:var(--ink-primary-dark)}.registry-radio{color:var(--ink-secondary-dark);font-size:12px}.registry-card__actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:8px;display:flex}.registry-approve,.registry-reject,.registry-photo-btn{cursor:pointer;border:1px solid var(--border-dark);border-radius:6px;padding:8px 16px;font-size:13px}.registry-approve{color:#fff;background:#1e6fe0;border-color:#1e6fe0;font-weight:600}.registry-reject,.registry-photo-btn{color:var(--ink-secondary-dark);background:0 0}.registry-approve:disabled,.registry-reject:disabled,.registry-photo-btn:disabled{opacity:.5;cursor:default}.app-conn{border:1px solid var(--border-dark);border-radius:999px;margin-left:auto;padding:0 12px;font-size:12px}.app-conn,.app-alarm,.app-logout,.app-pencil,.app-renewal,.app-viewer,.app-fullscreen{align-self:center}.app-conn,.app-alarm__raise,.app-logout,.app-viewer,.app-fullscreen{box-sizing:border-box;align-items:center;height:30px;display:inline-flex}.app-conn--connected{color:#6ee7a8}.app-conn--connecting{color:var(--ink-secondary-dark)}.app-conn--disconnected{color:#ff8181;border-color:#ff8181}.app-alarm{align-items:center;gap:8px;font-size:12px;display:inline-flex}.app-alarm__raise{color:#fff;letter-spacing:.06em;cursor:pointer;background:#c62828;border:none;border-radius:6px;padding:0 14px;font-size:12px;font-weight:700}.app-alarm__raise:disabled{opacity:.6;cursor:default}.app-alarm__raise--icon{justify-content:center;min-width:36px;padding:0 9px}.app-alarm--active{color:#fff;background:#c62828;border-radius:999px;padding:4px 6px 4px 12px}.app-alarm__label{letter-spacing:.08em;font-weight:700}.app-alarm__by{opacity:.92}.app-alarm__clear{color:#c62828;cursor:pointer;background:#fff;border:none;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:700}.app-alarm__clear:disabled{opacity:.6;cursor:default}.app-alarm__error{color:#ff8181}.app-renewal{border:1px solid var(--border-dark);color:var(--ink-secondary-dark);border-radius:999px;align-items:center;gap:6px;margin-left:8px;padding:4px 10px;font-size:12px;display:inline-flex}.app-viewer{border:1px solid var(--border-dark);color:var(--ink-secondary-dark);border-radius:999px;padding:0 12px;font-size:12px}.app-pencil{border:1px solid var(--border-dark);color:var(--ink-secondary-dark);border-radius:999px;align-items:center;gap:6px;margin-left:8px;padding:4px 10px;font-size:12px;display:inline-flex}.app-pencil:before,.app-renewal:before{content:"";background:var(--status-warn);border-radius:50%;width:8px;height:8px}.app-logout,.app-fullscreen{color:var(--ink-secondary-dark);border:1px solid var(--border-dark);cursor:pointer;background:0 0;border-radius:6px;padding:0 12px;font-size:12px}.app-logout:hover,.app-fullscreen:hover{color:var(--ink-primary-dark)}.login-shell{background:var(--panel-base-dark);height:100dvh;color:var(--ink-primary-dark);place-items:center;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;display:grid}.login-card{background:var(--panel-raised-dark);border:1px solid var(--border-dark);border-radius:10px;flex-direction:column;gap:6px;width:min(360px,90vw);padding:28px;display:flex}.login-brand{font-size:20px;font-weight:600}.login-sub{color:var(--ink-secondary-dark);margin-bottom:12px;font-size:12px}.login-label{color:var(--ink-secondary-dark);margin-top:8px;font-size:12px}.login-input{background:var(--panel-base-dark);color:var(--ink-primary-dark);border:1px solid var(--border-dark);border-radius:6px;padding:10px 12px;font-size:14px}.login-error{color:#ff8181;margin-top:10px;font-size:13px}.login-submit{color:#fff;cursor:pointer;background:#1e6fe0;border:none;border-radius:6px;margin-top:18px;padding:12px;font-size:15px;font-weight:600}.login-submit:disabled{opacity:.5;cursor:default}.app-map-section{grid-area:content;grid-template-columns:minmax(0,1fr);min-height:0;display:grid;position:relative}.app-map-section:has(.app-map-side){grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:16px}.app-map{min-height:0}.app-map-side{overscroll-behavior:contain;min-width:0;padding:16px 16px 0 0;position:relative;overflow-y:auto}.app-operations{overscroll-behavior:contain;flex-direction:column;grid-area:content;min-height:0;padding:20px;display:flex;position:relative;overflow-y:auto}.operations-state{text-align:center;color:var(--ink-secondary-dark);padding:40px 20px;font-size:14px}.archive-view{flex-direction:column;gap:14px;min-height:0;display:flex}.archive-view__head{flex-wrap:wrap;align-items:baseline;gap:14px;display:flex}.archive-view__title{color:var(--ink-primary-dark);margin:0;font-size:18px}.archive-view__start,.archive-view__window{color:var(--ink-secondary-dark);font-size:12px}.archive-view__map{border:1px solid var(--border-dark);border-radius:8px;min-height:clamp(260px,55dvh,760px);position:relative;overflow:hidden}.archive-map{width:100%;height:100%;min-height:clamp(260px,55dvh,760px)}.archive-view__note{color:var(--ink-secondary-dark);margin:0;padding:8px 12px;font-size:12px}.archive-view__map .archive-view__note{background:var(--panel-raised-dark);border:1px solid var(--border-dark);border-radius:6px;position:absolute;top:12px;left:12px}.archive-view__panels{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.archive-view__tracks,.archive-view__journal,.archive-view__readiness,.archive-chat{flex:260px;min-width:0}.archive-view__section{color:var(--ink-secondary-dark);margin:0 0 8px;font-size:13px;font-weight:600}.archive-tracks,.archive-journal{flex-direction:column;gap:6px;max-height:260px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.archive-tracks__row,.archive-journal__row{color:var(--ink-primary-dark);align-items:baseline;gap:10px;font-size:13px;display:flex}.archive-tracks__color{border-radius:3px;flex:none;align-self:center;width:12px;height:12px}.archive-tracks__count,.archive-journal__at,.archive-journal__detail{color:var(--ink-secondary-dark);font-size:12px}.archive-tracks__pick{width:100%;font:inherit;color:var(--ink-primary-dark);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;align-items:baseline;gap:10px;padding:4px 6px;font-size:13px;display:flex}.archive-tracks__pick:hover{background:var(--panel-raised-dark)}.archive-tracks__pick:focus-visible{outline:2px solid var(--accent-action);outline-offset:1px}.archive-tracks__pick--on{border-color:var(--accent-action);background:var(--panel-raised-dark)}.archive-tracks__pick--on .archive-tracks__who{font-weight:600}.archive-track-detail{border-top:1px solid var(--border-dark);flex-direction:column;gap:4px;margin-top:10px;padding-top:8px;display:flex}.archive-track-detail__who{color:var(--ink-primary-dark);margin:0;font-size:13px;font-weight:600}.archive-track-detail__line{color:var(--ink-secondary-dark);margin:0;font-size:12px}.archive-track-detail__hint{color:var(--ink-secondary-dark);opacity:.8;margin:0;font-size:11px}.archive-track-detail__clear{border:1px solid var(--border-dark);font:inherit;color:var(--ink-secondary-dark);cursor:pointer;background:0 0;border-radius:4px;align-self:flex-start;margin-top:4px;padding:4px 10px;font-size:12px}.archive-track-detail__clear:hover{color:var(--ink-primary-dark)}.archive-gaps{flex-direction:column;gap:2px;margin:0;padding:0 0 0 10px;list-style:none;display:flex}.archive-gaps__row{color:var(--ink-secondary-dark);font-size:12px}.archive-journal__at{flex:none}.operations-tabs{border-bottom:1px solid var(--border-dark);gap:4px;margin-bottom:14px;display:flex}.operations-tab{color:var(--ink-secondary-dark);cursor:pointer;background:0 0;border:1px solid #0000;border-bottom:none;border-radius:6px 6px 0 0;padding:8px 16px;font-size:13px}.operations-tab--active{color:var(--ink-primary-dark);background:var(--panel-raised-dark);border-color:var(--border-dark)}.pager{flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;display:flex}.pager__arrow{box-sizing:border-box;width:34px;height:30px;color:var(--ink-primary-dark);border:1px solid var(--border-dark);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.pager__arrow:hover:not(:disabled){background:var(--panel-raised-dark)}.pager__arrow:disabled{opacity:.4;cursor:default}.pager__position,.pager__total{color:var(--ink-secondary-dark);font-size:12px}.pager__total{margin-left:auto}.operations-empty{flex-direction:column;align-items:center;gap:4px;padding-top:60px;display:flex}.operations-error{color:#ff8181;background:#d9534f26;border-radius:6px;margin-bottom:12px;padding:10px 14px;font-size:13px}.operations-notice{color:#e6a83d;background:#e6a83d26;border-radius:6px;margin-bottom:12px;padding:10px 14px;font-size:13px}.operations-retry{color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:4px;margin-left:12px;padding:2px 8px;font-size:12px}.operations-toolbar{justify-content:flex-end;align-items:center;gap:12px;margin-bottom:14px;display:flex}.operations-hint{color:var(--ink-secondary-dark);order:-1;font-size:12px}.operations-create:disabled{opacity:.5;cursor:default}.operations-create,.operations-submit{color:#fff;cursor:pointer;background:#1e6fe0;border:1px solid #1e6fe0;border-radius:6px;padding:10px 18px;font-size:14px;font-weight:600}.operations-cancel{color:var(--ink-secondary-dark);border:1px solid var(--border-dark);cursor:pointer;background:0 0;border-radius:6px;padding:10px 18px;font-size:14px}.operations-submit:disabled,.operations-cancel:disabled{opacity:.5;cursor:default}.operations-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.operations-card{overflow-wrap:anywhere;background:var(--panel-raised-dark);border:1px solid var(--border-dark);border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:16px;min-width:0;padding:14px 16px;display:flex}.operations-title{font-weight:600}.operations-start,.operations-headcount{color:var(--ink-secondary-dark);font-size:12px}.operations-card__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.operations-confirm{min-width:0;max-width:320px;color:var(--ink-secondary-dark);font-size:12px}.operations-delete{color:var(--ink-secondary-dark);border:1px solid var(--border-dark);cursor:pointer;background:0 0;border-radius:6px;padding:6px 12px;font-size:13px}.operations-delete:hover{color:#ff8181;border-color:#ff8181}.operations-delete:disabled{opacity:.5;cursor:default}.operations-status{border:1px solid var(--border-dark);color:var(--ink-secondary-dark);border-radius:999px;margin-left:auto;padding:3px 10px;font-size:12px}.operations-status--active{color:#6ee7a8;border-color:#6ee7a8}.editor-head{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:16px;display:flex}.editor-back{color:var(--ink-secondary-dark);border:1px solid var(--border-dark);cursor:pointer;background:0 0;border-radius:6px;padding:6px 12px;font-size:12px}.editor-back:hover{color:var(--ink-primary-dark)}.editor-title{font-size:18px;font-weight:600}.editor-count{color:var(--ink-secondary-dark);margin-left:auto;font-size:13px}.editor-section{color:var(--ink-secondary-dark);margin:18px 0 10px;font-size:14px;font-weight:600}.roster-groups{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.roster-group{background:var(--panel-raised-dark);border:1px solid var(--border-dark);border-radius:8px;padding:12px 14px}.roster-group__head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.roster-group__name{font-weight:600}.roster-group__count{color:var(--ink-secondary-dark);font-size:12px}.roster-color{border:2px solid #fff;border-radius:50%;flex-shrink:0;width:14px;height:14px}.roster-kind{color:#1b1f27;background:#b8860b;border:1px solid #b8860b;border-radius:999px;padding:2px 8px;font-size:11px}.roster-members{flex-direction:column;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.roster-member{background:var(--panel-base-dark);border-radius:6px;flex-wrap:wrap;align-items:baseline;gap:12px;padding:8px 10px;display:flex}.roster-empty{color:var(--ink-secondary-dark);margin:10px 0 0;font-size:12px}.roster-current{color:var(--ink-secondary-dark);font-size:12px}.roster-picker{margin-top:22px}.editor-tabs{border-bottom:1px solid var(--border-dark);gap:4px;margin:16px 0 12px;display:flex}.editor-tab{color:var(--ink-secondary-dark);cursor:pointer;background:0 0;border:1px solid #0000;border-bottom:none;border-radius:6px 6px 0 0;padding:8px 16px;font-size:13px}.editor-tab--active{color:var(--ink-primary-dark);background:var(--panel-raised-dark);border-color:var(--border-dark)}.editor-tab__badge{background:var(--accent-action);min-width:18px;color:var(--ink-primary-dark);text-align:center;border-radius:9px;margin-left:6px;padding:0 5px;font-size:11px;font-weight:600;line-height:18px;display:inline-block}.route-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;display:flex}.route-hint,.route-count{color:var(--ink-secondary-dark);font-size:12px}.route-count{margin-left:auto}.route-save{border:1px solid var(--border-dark);border-radius:999px;align-items:center;gap:8px;padding:3px 10px;font-size:12px;display:inline-flex}.route-save--saved{color:#6ee7a8;border-color:#6ee7a8}.route-save--saving{color:var(--ink-secondary-dark)}.route-save--failed{color:#ff8181;border-color:#ff8181}.route-map{border:1px solid var(--border-dark);border-radius:8px;width:100%;height:100%;min-height:240px;overflow:hidden}.plan-modes{gap:4px;display:flex}.plan-body{flex:1 1 0;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(240px,320px);align-items:stretch;gap:12px;min-height:300px;display:grid}@media (orientation:portrait),(width<=599px){.plan-body{grid-template-rows:minmax(max(240px,34dvh),3fr) minmax(180px,2fr);grid-template-columns:minmax(0,1fr);min-height:440px}}.point-panel{background:var(--panel-raised-dark);border:1px solid var(--border-dark);border-radius:8px;padding:12px 14px;overflow-y:auto}.point-panel__section{color:var(--ink-secondary-dark);margin:12px 0 6px;font-size:12px}.point-assignee{flex-direction:column;gap:2px;margin:0;display:flex}.point-assignee__label{color:var(--ink-secondary-dark);font-size:12px}.point-assignee__value{font-size:14px;font-weight:600}.point-choice{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.point-choice--nested{margin:4px 0 4px 22px}.point-choice__row{align-items:center;gap:4px;display:flex}.point-choice__toggle{width:18px;min-height:32px;color:var(--ink-secondary-dark);font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.point-choice__row .point-choice__btn{flex:1}.point-choice__name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.point-choice__badge{border:1px solid var(--border-dark);color:var(--ink-secondary-dark);border-radius:999px;flex-shrink:0;padding:1px 7px;font-size:11px}.point-choice__badge--here{color:#6ee7a8;border-color:#6ee7a8}.point-choice__empty{color:var(--ink-secondary-dark);padding:4px 10px;font-size:12px}.point-choice__btn{width:100%;min-height:32px;color:var(--ink-primary-dark);border:1px solid var(--border-dark);font:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:flex}.point-choice__btn:disabled{opacity:.55;cursor:default}.point-panel__actions{gap:8px;margin-top:14px;margin-bottom:14px;display:flex}.editor-readiness{color:var(--ink-secondary-dark);font-size:12px}.operations-complete,.operations-reinforce{border:1px solid var(--border-dark);color:var(--ink-primary-dark);font:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:6px 14px;font-size:13px}.operations-complete:disabled,.operations-reinforce:disabled{opacity:.5;cursor:default}.transition-confirm{border:1px solid var(--border-dark);border-left:3px solid var(--accent-action);background:var(--panel-raised-dark);color:var(--ink-primary-dark);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;padding:12px 14px;display:flex}.transition-confirm p{flex:100%;margin:0}.transition-confirm__note{order:1}.transition-confirm button{font:inherit;cursor:pointer;border:1px solid var(--accent-action);background:var(--accent-action);color:#fff;border-radius:8px;order:2;padding:6px 14px;font-size:13px;font-weight:600}.transition-confirm button+button{border-color:var(--border-dark);color:var(--ink-secondary-dark);background:0 0;font-weight:400}.transition-confirm button+button:hover{color:var(--ink-primary-dark)}.transition-confirm button:disabled{opacity:.5;cursor:default}.operations-begin{border:1px solid var(--accent-action);background:var(--accent-action);color:#fff;font:inherit;cursor:pointer;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:600}.operations-begin:disabled{opacity:.5;cursor:default}.operations-publish{border:1px solid var(--border-dark);color:var(--ink-secondary-dark);font:inherit;cursor:default;background:0 0;border-radius:8px;padding:6px 14px;font-size:13px}.operations-open{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.operations-open:hover{text-decoration:underline}.operations-form{background:var(--panel-raised-dark);border:1px solid var(--border-dark);border-radius:10px;flex-direction:column;gap:4px;width:min(520px,100%);margin-bottom:20px;padding:20px;display:flex}.operations-form__title{margin:0 0 8px;font-size:16px;font-weight:600}.operations-form__row{gap:12px;display:flex}.operations-form__cell{flex-direction:column;flex:1 1 0;gap:4px;min-width:0;display:flex}.operations-label{color:var(--ink-secondary-dark);margin-top:8px;font-size:12px}.operations-input{background:var(--panel-base-dark);color:var(--ink-primary-dark);border:1px solid var(--border-dark);font:inherit;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:6px;padding:10px 12px}.operations-form__error{color:#ff8181;margin-top:12px;font-size:13px}.operations-form__actions{gap:10px;margin-top:18px;display:flex}.map-view{width:100%;height:100%;position:relative}.map-view__canvas{width:100%;height:100%}.map-view__notices{pointer-events:none;z-index:3;flex-direction:column;gap:6px;display:flex;position:absolute;bottom:12px;left:12px;right:12px}.map-view__basemap{background:var(--panel-base-dark,#10141b);border:1px solid var(--status-warn,#d98324);pointer-events:none;border-radius:6px;margin:0;padding:8px 12px}.map-attribution{color:#333;background:#ffffffb3;border-radius:4px 0 0;margin:0;padding:0 6px;font-size:11px;line-height:18px}.map-attribution a{color:inherit;text-decoration:none}.map-attribution a:hover{text-decoration:underline}.map-host{width:100%;height:100%}.editor-live{flex:1 1 0;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(300px,400px);align-items:stretch;gap:16px;min-height:260px;margin-top:12px;display:grid}.editor-live__map{background:var(--surface-2,#10141b);border-radius:8px;min-width:0;height:100%;min-height:240px;overflow:hidden}.editor-live__board{overscroll-behavior:contain;min-width:0;min-height:0;position:relative;overflow-y:auto}.marker-list{margin-top:12px}.marker-list__count{opacity:.7}.marker-list__items{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.marker-row{background:var(--panel-raised-dark);border:1px solid var(--border-dark);border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px 10px;padding:8px 10px;display:grid}.marker-row__text{flex-direction:column;gap:2px;min-width:0;display:flex}.marker-row__label{overflow-wrap:anywhere;font-weight:700}.marker-row__meta{opacity:.75;font-size:12px}.marker-row__remove{justify-self:end}.marker-row__actions{flex-wrap:wrap;grid-column:1/-1;justify-self:end;align-items:center;gap:6px;display:inline-flex}.editor-plan-live{flex-direction:column;flex:1 1 0;min-height:max(260px,55dvh);margin-top:12px;display:flex}.editor-plan-live__map{flex:1 1 0;height:auto;min-height:240px}.pencil-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.pencil-bar__title{color:var(--ink-secondary-dark);font-size:13px;font-weight:600}.pencil-bar__what{color:var(--ink-secondary-dark);font-size:12px}.pencil-bar__cost{color:var(--ink-primary-dark);align-items:center;gap:6px;font-size:13px;display:inline-flex}.pencil-bar__cost:before{content:"";background:var(--status-warn);border-radius:50%;width:8px;height:8px}.operations-pencil{border:1px solid var(--border-dark);color:var(--ink-primary-dark);font:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:6px 14px;font-size:13px}.operations-pencil[aria-pressed=true]{border-color:var(--status-warn);align-items:center;gap:6px;display:inline-flex}.operations-pencil[aria-pressed=true]:before{content:"";background:var(--status-warn);border-radius:50%;width:8px;height:8px}.app-logout-confirm{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;margin-left:8px;display:inline-flex}.app-header{flex-wrap:wrap;row-gap:6px}.operations-pencil:disabled{opacity:.5;cursor:default}.operations-dispatch{color:#fff;background:var(--accent-action,#1e6fe0);border:1px solid var(--accent-action,#1e6fe0);cursor:pointer;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:600}.operations-dispatch:disabled{opacity:.5;cursor:default}.contact-card{border:1px solid var(--line,#2a3140);border-radius:8px;margin-bottom:12px;padding:10px 12px}.contact-card__head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.contact-card__head .registry-callsign{overflow-wrap:anywhere;min-width:0}.contact-card__close{color:inherit;cursor:pointer;font:inherit;opacity:.7;background:0 0;border:none;flex-shrink:0;padding:2px 4px}.contact-card__close:hover{opacity:1}.contact-card__group,.contact-card__age{opacity:.8;margin:4px 0 0}.contact-card__age--stale{color:var(--status-warn);opacity:1}.contact-card__age--lost{color:var(--status-alert);opacity:1}.contact-card__accuracy{color:var(--ink-secondary-dark);margin:2px 0 0;font-size:12px}.contact-card__warn{margin:4px 0 0;font-size:12px;font-weight:600}.contact-card__warn--mocked{color:var(--status-alert)}.contact-card__warn--coarse{color:var(--status-warn)}.board__focus{color:inherit;cursor:pointer;width:100%;font:inherit;text-align:left;background:0 0;border:none;flex-direction:column;align-items:stretch;gap:4px;padding:0;display:flex}.board__focus:hover,.board__focus:focus-visible{outline:1px solid var(--accent-action,#1e6fe0);outline-offset:4px}.board__no-position{margin:6px 0 0}@media (orientation:portrait),(width<=599px){.editor-live{grid-template-rows:minmax(max(240px,34dvh),3fr) minmax(160px,2fr);grid-template-columns:minmax(0,1fr);min-height:420px}}.board__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.board__counter{color:var(--ink-primary-dark);margin:0;font-size:1.05rem;font-weight:600}.board__stale{color:var(--status-warn)}.board__rows{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.board__row{background:var(--panel-base-dark);border-left:4px solid #0000;border-radius:6px;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.board__row .registry-callsign{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}.board__line{white-space:nowrap;align-items:center;gap:10px;min-width:0;display:flex}.board__line .board__radio{flex:none;margin-left:auto}.board__line .board__group{flex:0 auto}.board__line--state{padding-left:24px;font-size:13px}.board__line--state .board-status{margin-left:0}.board__row{position:relative}.board__row--give-point .board__line--state{padding-right:112px;overflow:hidden}.board__give-point{border:1px solid var(--status-warn);color:var(--status-warn);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:4px;padding:1px 10px 1px 7px;font-size:12px;line-height:18px;transition:background-color .12s,color .12s;display:inline-flex;position:absolute;bottom:7px;right:10px}.board__give-point .glyph{width:12px;height:12px}.board__give-point:hover,.board__give-point:focus-visible{background:var(--status-warn);color:#1b1f27}.route-toolbar--legend{margin-bottom:12px}.board__no-point{border:1px solid var(--status-warn);color:var(--status-warn);border-radius:999px;flex:none;padding:0 8px;font-size:12px}.board__row .board-status{white-space:nowrap}.board__group{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.board__row--acknowledged{border-left-color:var(--status-ok)}.board__row--pending{border-left-color:var(--ink-secondary-dark)}.board__row--undeliverable,.board__row--opened{border-left-color:var(--status-warn)}.board__row--revoked{border-left-color:var(--ink-disabled,#a8aeb8)}.board__group{color:var(--ink-secondary-dark)}.board-status{white-space:nowrap;color:var(--ink-primary-dark);align-items:center;gap:6px;margin-left:auto;display:inline-flex}.board-status__dot{border-radius:50%;flex:none;width:8px;height:8px}.board-status__dot--acknowledged{background:var(--status-ok)}.board-status__dot--pending{border:1.5px solid var(--ink-secondary-dark);background:0 0}.board-status__dot--undeliverable,.board-status__dot--opened{background:var(--status-warn)}.board-status__dot--revoked{background:var(--ink-disabled,#a8aeb8);opacity:.6}.board__coarse{white-space:nowrap;color:var(--ink-secondary-dark);align-items:baseline;gap:6px;display:inline-flex}.board__coarse-dot{background:var(--status-warn);border-radius:50%;flex:none;width:8px;height:8px}.board__radio{font-variant-numeric:tabular-nums;color:var(--ink-secondary-dark);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.roster-color--unknown{border:1.5px solid var(--ink-secondary-dark);background:0 0}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.chat{flex-direction:column;gap:10px;width:100%;max-width:980px;margin:0 auto;display:flex}.chat__feed{overscroll-behavior:contain;scrollbar-gutter:stable;border:1px solid var(--border-dark);background:#0b141a;border-radius:10px;flex-direction:column;flex:1 1 0;gap:8px;min-height:180px;margin:0;padding:12px 10px 12px 14px;list-style:none;display:flex;position:relative;overflow-y:auto}.chat-line{justify-content:flex-start;display:flex}.chat-line--mine{justify-content:flex-end}.chat-bubble{color:#e9edef;background:#202c33;border-radius:2px 8px 8px;flex-direction:column;gap:2px;max-width:min(78%,520px);padding:6px 9px 7px;display:flex;position:relative;box-shadow:0 1px .5px #0b141a59}.chat-line--mine .chat-bubble{background:#005c4b;border-top-left-radius:8px;border-top-right-radius:2px}.chat-line__callsign{color:#e9edef;font-size:13px;font-weight:600}.chat-line__time{color:#e9edef99;font-size:11px;line-height:1;position:absolute;bottom:4px;right:8px}.chat-line__body{color:#e9edef;overflow-wrap:anywhere;white-space:pre-wrap;font-size:14px;line-height:1.35}.chat-line__body:after{content:"";width:42px;display:inline-block}.chat-bubble--photo-only{padding-bottom:6px}.chat-bubble--photo-only .chat-line__time{color:#fff;background:#0b141a8c;border-radius:4px;padding:2px 4px;bottom:12px;right:14px}.chat__notice{color:var(--ink-secondary-dark);margin:0;font-size:13px}.chat__error{color:var(--ink-primary-dark);border-left:3px solid var(--status-alert);margin:0;padding-left:8px;font-size:13px}.chat__retry{color:var(--accent-action);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline}.chat__form{flex-direction:column;gap:8px;display:flex}.chat__label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.chat__composer{align-items:flex-end;gap:8px;display:flex}.chat__input{background:var(--panel-base-dark);min-width:0;color:var(--ink-primary-dark);border:1px solid var(--border-dark);resize:vertical;border-radius:6px;flex:auto;padding:8px 10px;font-family:inherit;font-size:14px}.chat__send{background:var(--accent-action);color:#fff;cursor:pointer;border:none;border-radius:6px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:inline-flex}.chat__send:disabled{background:var(--border-dark);color:var(--ink-secondary-dark);cursor:default}[hidden]{display:none!important}.chat-line__photo{border:1px solid var(--border-dark);cursor:pointer;background:0 0;border-radius:6px;align-self:flex-start;min-width:24px;min-height:24px;margin-top:6px;padding:0;line-height:0}.chat-line__photo img{border-radius:5px;max-width:240px;max-height:240px;display:block}.chat-line__photo-loading,.chat-line__photo-failed{color:var(--ink-secondary-dark);margin-top:6px;font-size:12px}.chat-line__photo-failed{color:var(--status-warn)}.chat-photo-full{z-index:50;cursor:zoom-out;background:#000000d1;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.chat-photo-full img{object-fit:contain;max-width:92vw;max-height:92vh}.chat-photo-full__close{border:1px solid var(--border-dark);background:var(--panel-raised-dark);width:44px;height:44px;color:var(--ink-primary-dark);font:inherit;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:26px;line-height:1;display:flex;position:fixed;top:16px;right:16px}.chat-photo-full__close:hover{border-color:var(--accent-action)}.chat-photo-full__close:focus-visible{outline:2px solid var(--accent-action);outline-offset:2px}.archive-chat{border-top:1px solid var(--border-dark);margin-top:16px;padding-top:12px}.archive-chat__title{margin:0 0 8px;font-size:15px;font-weight:600}.archive-chat__older{border:1px solid var(--border-dark);cursor:pointer;font:inherit;background:0 0;border-radius:6px;margin-bottom:8px;padding:6px 12px}.archive-chat__older:disabled{cursor:default;opacity:.6}.archive-chat__start,.archive-chat__loading,.archive-chat__empty{color:var(--ink-secondary-dark);margin:0 0 8px;font-size:13px}.archive-chat__failed{color:var(--status-alert);margin:0 0 8px;font-size:13px}.archive-chat__retry{color:inherit;cursor:pointer;font:inherit;background:0 0;border:none;margin-left:8px;text-decoration:underline}.archive-chat__lines{flex-direction:column;gap:8px;max-height:420px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.marker-popup .maplibregl-popup-content{white-space:pre-line;overflow-wrap:anywhere;color:#1b1f27;max-width:260px;padding:8px 12px;font-size:13px;line-height:1.35}.marker-popup .maplibregl-popup-content:has(.maplibregl-popup-close-button){padding-right:24px}.marker-popup .maplibregl-popup-close-button{padding:0 6px;font-size:16px}.legend-panel .route-hint{margin:0 0 8px}.legend-tools{flex-direction:column;gap:4px;margin-top:10px;display:flex}.legend-tool{width:100%;min-height:36px;color:var(--ink-primary-dark);border:1px solid var(--border-dark);font:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:10px;padding:6px 10px;font-size:13px;display:flex}.legend-tool:hover:not(:disabled){background:var(--panel-base-dark)}.legend-tool[aria-pressed=true]{border-color:var(--accent-action);background:var(--panel-base-dark);box-shadow:inset 3px 0 0 var(--accent-action);font-weight:600}.legend-tool:disabled{opacity:.5;cursor:default}.legend-tool:focus-visible,.overlay-item:focus-visible,.legend-finish:focus-visible{outline:2px solid var(--accent-action);outline-offset:1px}.legend-tool__name,.legend-key__name,.overlay-item__name{overflow-wrap:anywhere;flex:1;min-width:0}.legend-icon{flex:none;width:22px;height:16px}.legend-key{flex-direction:column;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.legend-key__row{color:var(--ink-primary-dark);align-items:center;gap:10px;font-size:13px;display:flex}.overlay-draft{border:1px dashed var(--border-dark);border-radius:8px;flex-direction:column;gap:8px;margin-top:12px;padding:10px 12px;display:flex}.overlay-draft__count{color:var(--ink-primary-dark);font-size:13px}.legend-finish{border:1px solid var(--accent-action);background:var(--accent-action);color:#fff;font:inherit;cursor:pointer;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:600}.legend-finish:disabled{opacity:.5;cursor:default}.overlay-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.overlay-edit{border-top:1px solid var(--border-dark);flex-direction:column;gap:10px;margin-top:14px;padding-top:10px;display:flex}.overlay-edit__title{color:var(--ink-primary-dark);overflow-wrap:anywhere;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:600;display:flex}.overlay-edit__label{color:var(--ink-primary-dark);overflow-wrap:anywhere;margin:0;font-size:13px}.overlay-field{flex-direction:column;gap:4px;display:flex}.overlay-field__label,.overlay-field__note{color:var(--ink-secondary-dark);font-size:12px}.overlay-input{box-sizing:border-box;background:var(--panel-base-dark);width:100%;color:var(--ink-primary-dark);border:1px solid var(--border-dark);font:inherit;border-radius:6px;padding:7px 11px;font-size:13px}.overlay-input:focus-visible{outline:2px solid var(--accent-action);outline-offset:1px}.overlay-confirm{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.overlay-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.overlay-item{width:100%;min-height:32px;color:var(--ink-primary-dark);border:1px solid var(--border-dark);font:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:10px;padding:6px 10px;font-size:13px;display:flex}.overlay-item:hover{background:var(--panel-base-dark)}.overlay-item--current{border-color:var(--accent-action);font-weight:600}@media (pointer:coarse){.legend-tool,.overlay-item{min-height:44px}}.route-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.route-list__item{width:100%;min-height:32px;color:var(--ink-primary-dark);border:1px solid var(--border-dark);font:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:10px;padding:6px 10px;font-size:13px;display:flex}.route-list__item:hover{background:var(--panel-base-dark)}.route-list__item--current{border-color:var(--accent-action);font-weight:600}.route-list__item:focus-visible,.route-kind:focus-visible{outline:2px solid var(--accent-action);outline-offset:1px}.route-list__name{overflow-wrap:anywhere;flex:1;min-width:0}.route-list__meta{color:var(--ink-secondary-dark);white-space:nowrap;flex:none;font-size:12px}.route-sample{flex:none}.route-form{flex-direction:column;gap:10px;margin-top:10px;display:flex}.route-field,.route-kinds{flex-direction:column;gap:4px;display:flex}.route-kind{width:100%;min-height:36px;color:var(--ink-primary-dark);border:1px solid var(--border-dark);font:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:10px;padding:6px 10px;font-size:13px;display:flex}.route-kind:hover{background:var(--panel-base-dark)}.route-kind[aria-pressed=true]{border-color:var(--accent-action);background:var(--panel-base-dark);box-shadow:inset 3px 0 0 var(--accent-action);font-weight:600}.route-kind__name{overflow-wrap:anywhere;flex:1;min-width:0}.route-palette{flex-wrap:wrap;gap:8px;display:flex}.route-swatch{border:2px solid var(--panel-raised-dark);cursor:pointer;border-radius:50%;width:24px;height:24px;padding:0}.route-swatch[aria-checked=true]{box-shadow:0 0 0 2px var(--panel-raised-dark), 0 0 0 4px var(--ink-primary-dark)}.route-swatch:focus-visible{outline:2px solid var(--accent-action);outline-offset:3px}.route-swatch:disabled{opacity:.5;cursor:default}.route-current{border-top:1px solid var(--border-dark);flex-direction:column;gap:10px;margin-top:12px;padding-top:10px;display:flex}.route-current__title{color:var(--ink-primary-dark);overflow-wrap:anywhere;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:600;display:flex}.route-current__label{color:var(--ink-primary-dark);overflow-wrap:anywhere;margin:0;font-size:13px}@media (pointer:coarse){.route-list__item,.route-kind{min-height:44px}.route-swatch{width:32px;height:32px}}.pencil-panel{flex-direction:column;gap:8px;margin-top:12px;display:flex}.pencil-panel .pencil-bar{min-height:34px;margin-top:0}.pencil-bar__add{border:1px solid var(--border-dark);color:var(--ink-primary-dark);font:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:6px 14px;font-size:13px}.pencil-bar__add[aria-expanded=true]{border-color:var(--accent-action,#1e6fe0)}.pencil-bar__add:disabled{opacity:.5;cursor:default}.pencil-route-select{border:1px solid var(--border-dark);background:var(--panel-base-dark);max-width:100%;color:var(--ink-primary-dark);font:inherit;border-radius:8px;padding:6px 10px;font-size:13px}.pencil-bar__form{border:1px solid var(--border-dark);border-radius:8px;max-width:360px;padding:10px 12px}.pencil-bar__form .route-form{margin-top:0}.pencil-bar__actions{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.pencil-bar__actions .operations-cancel{border-radius:8px;padding:6px 14px;font-size:13px}.operations-dispatch{white-space:nowrap;min-inline-size:13.5em}.operations-dispatch--busy{opacity:.7;cursor:progress}.pencil-bar__status{min-height:20px;color:var(--ink-primary-dark);align-items:center;gap:6px;margin:0;font-size:13px;display:flex}.pencil-bar__status:before{content:"";background:var(--ink-secondary-dark);border-radius:50%;flex:none;width:8px;height:8px}.pencil-bar__status--dirty:before{background:var(--status-warn)}.pencil-bar__status--blocked:before{background:var(--status-alert)}.pencil-bar__question{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.icon-btn-wrap{flex:none;display:inline-flex}.icon-btn{border:1px solid var(--border-dark);width:32px;height:32px;color:var(--ink-secondary-dark);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:0;transition:background-color .12s,color .12s,border-color .12s;display:inline-flex}.icon-btn:hover{color:var(--ink-primary-dark);background:var(--panel-base-dark)}.icon-btn:focus-visible,.hint-tip__button:focus-visible{outline:2px solid var(--accent-action);outline-offset:1px}.icon-btn:disabled{opacity:.4;cursor:default;pointer-events:none}.icon-btn--primary{background:var(--accent-action);border-color:var(--accent-action);color:#fff}.icon-btn--primary:hover{color:#fff;background:#2f7df0}.icon-btn--danger:hover{color:#ff8181;border-color:#ff8181}.icon-btn--confirm-danger{background:var(--status-alert);border-color:var(--status-alert);color:#fff}.icon-btn--confirm-danger:hover{color:#fff;background:#e5483d}.icon-btn--warn[aria-pressed=true]{border-color:var(--status-warn);color:var(--status-warn);background:color-mix(in srgb, var(--status-warn) 12%, transparent)}.icon-btn[aria-expanded=true]{border-color:var(--accent-action);color:var(--ink-primary-dark)}.icon-btn[aria-busy=true]{opacity:.7;cursor:progress}@media (pointer:coarse){.icon-btn{width:44px;height:44px}}.tip{z-index:1000;border:1px solid var(--border-dark);color:var(--ink-primary-dark);white-space:nowrap;pointer-events:none;background:#0e1117;border-radius:6px;padding:5px 9px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:12px;line-height:1.35;position:fixed;transform:translate(-50%,-100%);box-shadow:0 4px 14px #00000073}.tip:after{content:attr(data-tip)}.tip--below{transform:translate(-50%)}.tip--multi{white-space:normal;width:max-content;max-width:280px}.hint-tip{flex:none;display:inline-flex}.hint-tip__button{border:1px solid var(--border-dark);width:18px;height:18px;color:var(--ink-secondary-dark);font:inherit;cursor:help;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.hint-tip__button:hover,.hint-tip__button[aria-expanded=true]{color:var(--ink-primary-dark);border-color:var(--ink-secondary-dark)}@media (pointer:coarse){.hint-tip__button{width:28px;height:28px;font-size:13px}}.panel-head{align-items:center;gap:6px;min-width:0;display:flex}.panel-head .editor-section,.panel-head .point-panel__section{margin:0}.confirm-inline{align-items:center;gap:6px;min-width:0;display:inline-flex}.confirm-inline__text{color:var(--ink-primary-dark);white-space:nowrap;font-size:13px}.icon-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.overlay-edit__head,.route-current__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.overlay-edit__head .overlay-edit__title,.route-current__head .route-current__title{flex:auto;min-width:0}.panel-head__end{margin-left:auto}.transition-confirm p{flex:0 auto}.transition-confirm .transition-confirm__note{flex:100%}.pencil-toolbar{border:1px solid var(--border-dark);background:var(--panel-raised-dark);border-radius:10px;flex-wrap:nowrap;align-items:center;gap:6px;min-width:0;padding:6px 8px;display:flex}.pencil-toolbar .pencil-route-select{height:32px;padding:0 10px}.pencil-toolbar .pencil-bar__status{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;min-height:0;margin:0 6px;display:block;overflow:hidden}.pencil-toolbar .pencil-bar__status:before{vertical-align:middle;margin-right:6px;display:inline-block}.pencil-toolbar .pencil-bar__status:empty:before{display:none}.pencil-toolbar__actions{flex:none;align-items:center;gap:6px;margin-left:auto;display:inline-flex}@media (pointer:coarse){.pencil-toolbar .pencil-route-select{height:44px}}.icon-btn.operations-dispatch,.icon-btn.operations-pencil,.icon-btn.pencil-bar__add{min-inline-size:0;font-size:inherit;gap:0;padding:0}.icon-btn.operations-pencil[aria-pressed=true]:before{content:none}.icon-btn.operations-dispatch:disabled{opacity:.4}.point-panel>.panel-head{margin-bottom:10px}.legend-panel .overlay-draft{flex-flow:wrap;justify-content:space-between;align-items:center}.transition-confirm .transition-confirm__note{order:3}.app-operations>.editor,.app-operations>.archive-view,.editor>.editor-pane:not([hidden]){flex-direction:column;flex:1 0 auto;display:flex}.editor-pane>.route-tab,.editor-pane>.chat{flex-direction:column;flex:auto;min-height:0;display:flex}.editor>.editor-tabs,.editor-pane>:first-child{margin-top:0}.editor-live__board>.contact-card{z-index:1;background:var(--panel-base-dark);position:sticky;top:0}:is(.legend-panel .overlay-draft,.legend-panel:not(:has(.overlay-draft)) .overlay-edit){z-index:1;background:var(--panel-raised-dark);position:sticky;bottom:0;box-shadow:0 -10px 12px -10px #000000b3}.legend-panel:not(:has(.overlay-draft)) .overlay-edit{padding-bottom:8px}.pencil-toolbar .pencil-route-select{flex:0 15em;min-width:7em}@media (width<=1279px){.app-shell{grid-template-columns:160px minmax(0,1fr)}}@media (orientation:portrait),(width<=899px){.app-shell{grid-template:"header""nav""content"minmax(0,1fr)/minmax(0,1fr)}.app-nav{border-right:none;border-bottom:1px solid var(--border-dark);flex-direction:row;gap:4px;padding:6px 8px;overflow-x:auto}.app-nav__item{flex:none;padding:8px 14px}.app-operations,.app-registry{padding:12px}}@media (orientation:portrait),(width<=599px){.app-map-section:has(.app-map-side){grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);gap:0}.app-map-side{border-top:1px solid var(--border-dark);max-height:40dvh;padding:12px}}@media (width<=599px){.app-header{gap:8px;padding-left:12px;padding-right:12px}.app-brand{font-size:16px}.registry-card{flex-wrap:wrap}.registry-card__actions{justify-content:flex-start}.pencil-toolbar{flex-wrap:wrap}}@media (height<=600px){.app-header,.app-nav{padding-top:6px;padding-bottom:6px}.app-operations{padding-top:10px;padding-bottom:10px}.editor-head,.editor-tabs{margin-bottom:8px}.editor-live,.editor-plan-live{margin-top:8px}}@media (pointer:coarse){.app-shell :is(button,select):not(.hint-tip__button,.route-swatch,.chat__retry,.registry-retry,.operations-retry,.board__give-point,.maplibregl-popup-close-button),.app-shell :is(input,textarea):not([type=checkbox],[type=radio],[type=color],[type=range]),.login-shell :is(button,input){min-height:44px}.app-shell :is(input,select,textarea),.login-shell input{font-size:16px}.hint-tip__button,.route-swatch{position:relative}.hint-tip__button:after,.route-swatch:after{content:"";position:absolute;inset:-8px}.board__give-point:after{content:"";position:absolute;inset:-14px -4px -10px}}.app-shell.app-shell--viewer{grid-template:"content"minmax(0,1fr)/minmax(0,1fr);position:relative}.app-shell--viewer .app-header{z-index:3;border:1px solid var(--border-dark);border-radius:8px;grid-area:auto;align-items:center;gap:8px;max-width:calc(100% - 20px);padding:6px;position:absolute;top:10px;right:10px;box-shadow:0 2px 8px #00000059}.fighter-list{z-index:3;background:var(--panel-raised-dark);min-width:150px;max-width:min(240px,100% - 20px);max-height:calc(100% - 60px);color:var(--ink-primary-dark);border:1px solid var(--border-dark);border-radius:8px;flex-direction:column;display:flex;position:absolute;top:10px;left:10px;overflow:hidden;box-shadow:0 2px 8px #00000059}.fighter-list__toggle{color:var(--ink-secondary-dark);text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;font-size:12px;font-weight:600;display:flex}.fighter-list__toggle:after{content:"▾"}.fighter-list__toggle[aria-expanded=false]:after{content:"▸"}.fighter-list__items{overscroll-behavior:contain;border-top:1px solid var(--border-dark);margin:0;padding:4px;list-style:none;overflow-y:auto}.fighter-list__item{width:100%;color:var(--ink-primary-dark);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.fighter-list__item:hover{background:var(--panel-base-dark);border-color:var(--border-dark)}.fighter-list__dot{border-radius:50%;flex:none;width:10px;height:10px;box-shadow:0 0 0 1px #ffffff59}.fighter-list__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.fighter-list__item--stale,.fighter-list__item--lost{color:var(--ink-secondary-dark)}.fighter-list__lost{color:#ff8181;margin-left:auto;font-size:11px}.app-shell--viewer .app-map-section:has(.app-map-side){grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:0}.app-shell--viewer .app-map-side{z-index:4;background:var(--panel-raised-dark);width:min(340px,100% - 20px);max-height:calc(100% - 74px);color:var(--ink-primary-dark);border-top:0;border-radius:8px;padding:0;position:absolute;top:64px;right:10px;box-shadow:0 2px 8px #00000059}.app-shell--viewer .app-map-side .contact-card{margin-bottom:0}@media (pointer:coarse){.app-shell--viewer .app-map-side{max-height:calc(100% - 88px);top:78px}}@media (width<=599px){.app-shell--viewer .fighter-list{max-height:calc(100% - 120px);top:70px}.app-shell--viewer .app-map-side{width:auto;max-height:35dvh;inset:auto 10px 10px}}@media (pointer:coarse){.app-header :is(.app-conn,.app-viewer,.app-pencil,.app-renewal){min-height:44px}}.operations-notice--done{color:#6ee7a8;background:#6ee7a81f}.reinforce-overlay{z-index:50;background:#0009;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.reinforce{overscroll-behavior:contain;width:min(460px,100%);max-height:calc(100dvh - 32px);color:var(--ink-primary-dark);background:var(--panel-raised-dark);border:1px solid var(--border-dark);border-radius:10px;outline:none;flex-direction:column;padding:20px;display:flex;overflow-y:auto}.reinforce:has(.reinforce__body--map){width:min(1120px,100%)}.reinforce__title{margin:0 0 4px;font-size:16px;font-weight:600}.reinforce__body{grid-template-columns:minmax(0,1fr);gap:20px;display:grid}.reinforce__body--map{grid-template-columns:minmax(300px,420px) minmax(0,1fr)}.reinforce__form{flex-direction:column;gap:4px;min-width:0;display:flex}.reinforce__people{overscroll-behavior:contain;flex-direction:column;gap:4px;max-height:200px;margin:4px 0 0;padding:0;list-style:none;display:flex;overflow-y:auto}.reinforce__person{width:100%;font:inherit;text-align:left;color:var(--ink-primary-dark);background:var(--panel-base-dark);border:1px solid var(--border-dark);cursor:pointer;border-radius:6px;align-items:center;gap:10px;padding:7px 12px;display:flex}.reinforce__person--on{border-color:#1e6fe0;box-shadow:inset 0 0 0 1px #1e6fe0}.reinforce__check{color:#fff;border:1px solid var(--border-dark);border-radius:4px;flex:none;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;line-height:1;display:inline-flex}.reinforce__person--on .reinforce__check{background:#1e6fe0;border-color:#1e6fe0}.reinforce__person-text{flex-direction:column;gap:2px;min-width:0;display:flex}.reinforce__queue-head{color:var(--ink-secondary-dark);gap:6px;margin:10px 0 0;padding:0 38px 0 8px;font-size:12px;display:flex}.reinforce__queue-head>span{flex:1 1 0}.reinforce__queue-head+.reinforce__queue{margin-top:4px}.reinforce__queue{overscroll-behavior:contain;flex-direction:column;gap:4px;max-height:176px;margin:10px 0 0;padding:0;list-style:none;display:flex;overflow-y:auto}.reinforce__queue--tall{max-height:none}.reinforce__slot{background:var(--panel-base-dark);border:1px solid var(--border-dark);border-radius:6px;align-items:center;gap:6px;padding:3px 4px 3px 8px;display:flex}.reinforce__slot--current{border-color:#e6a83d;box-shadow:inset 0 0 0 1px #e6a83d}.reinforce__slot-pick{min-width:0;font:inherit;text-align:left;color:var(--ink-primary-dark);cursor:pointer;background:0 0;border:none;flex:1 1 0;align-items:center;gap:8px;padding:4px 0;display:flex}.reinforce__slot-pick:disabled{cursor:default}.reinforce__slot-pick .reinforce__callsign{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.reinforce__mark{border:2px solid #e6a83d;border-radius:50%;flex:none;width:12px;height:12px}.reinforce__mark--set{background:#e6a83d}.reinforce__slot-name{flex:1 1 0;min-width:0;padding:5px 8px;font-size:13px}.reinforce__slot-name--bad{border-color:#ff8181}.reinforce__slot-remove{width:28px;height:28px;color:var(--ink-secondary-dark);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:none;padding:0;font-size:12px}.reinforce__slot-remove:hover{color:var(--ink-primary-dark);background:#ffffff14}.picker-pin{cursor:grab;flex-direction:column;align-items:center;gap:2px;display:flex}.picker-pin__label{white-space:nowrap;text-overflow:ellipsis;color:#1b1f27;background:#fff;border-radius:4px;max-width:120px;padding:1px 6px;font-size:11px;font-weight:600;line-height:16px;overflow:hidden;box-shadow:0 1px 3px #00000059}.picker-pin__needle{background:#e6a83d;border:2px solid #fff;border-radius:50% 50% 50% 0;width:12px;height:12px;margin-bottom:3px;transform:rotate(-45deg);box-shadow:0 1px 3px #00000059}.picker-pin--current .picker-pin__label{color:#fff;background:#1b1f27}.reinforce__callsign{font-weight:600}.reinforce__details{color:var(--ink-secondary-dark);overflow-wrap:anywhere;font-size:12px}.reinforce__summary{margin:12px 0 0;font-size:14px;font-weight:600}.reinforce__map{flex-direction:column;min-width:0;min-height:0;display:flex}.reinforce__note{color:var(--ink-secondary-dark);margin:8px 0 0;font-size:12px}.reinforce__map>.reinforce__hint{color:var(--ink-primary-dark);margin:8px 0;font-size:13px}.reinforce__canvas{border-radius:8px;flex:auto;height:min(60dvh,520px);min-height:280px;overflow:hidden}@media (width<=760px){.reinforce__body--map{grid-template-columns:minmax(0,1fr)}.reinforce__canvas{height:300px}}@media (pointer:coarse){.reinforce__person,.reinforce .operations-input,.reinforce .operations-submit,.reinforce .operations-cancel,.reinforce__slot-pick,.reinforce__slot-remove,.operations-reinforce{min-height:44px}.reinforce__slot-remove{width:44px;height:44px}}
