.ds-root:has(.auth-frame) .ds-appbar,.ds-root:has(.landing-frame) .ds-appbar,.ds-root:has(.legal-frame) .ds-appbar{display:none}.auth-frame{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:64px 20px 48px}.auth-col{width:100%;max-width:420px;display:flex;flex-direction:column;align-items:center}.auth-brand{display:inline-flex;align-items:center;gap:10px;margin-bottom:26px;color:var(--text);text-decoration:none;border-radius:var(--radius-sm)}.auth-brand-mark{display:inline-flex;color:var(--accent)}.ds-lockup{display:inline-block}.ds-lockup-word{display:block;font-size:21px}.ds-lockup-descriptor{display:flex;justify-content:space-between;margin-top:5px;font-family:var(--font-brand),system-ui,sans-serif;font-size:7.5px;font-weight:var(--fw-medium);color:var(--text-dim)}.auth-endorse{display:flex;align-items:center;gap:14px;margin-top:26px}.auth-endorse-label{font-size:var(--fs-body);font-weight:var(--fw-medium);color:var(--text-dim)}.auth-endorse-rule{width:1px;height:26px;background:var(--border)}.auth-endorse-logo{width:auto;height:26px}.auth-card{width:100%;padding:28px 26px 26px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.auth-title{margin:0 0 20px;font-size:var(--fs-display);font-weight:var(--fw-display);letter-spacing:var(--tracking-display);line-height:1.2;text-wrap:balance}.auth-google{gap:10px}.auth-google svg{width:18px;height:18px}.auth-or{display:flex;align-items:center;gap:12px;margin:18px 0;font-size:var(--fs-caption);font-weight:var(--fw-medium);color:var(--text-dim)}.auth-or:after,.auth-or:before{content:"";flex:1 1;height:1px;background:var(--border)}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-submit{width:100%;justify-content:center;margin-top:4px;padding:11px 16px;font-size:var(--fs-body);font-weight:var(--fw-data);text-align:center}.auth-hint{margin:18px 0 0;padding-top:14px;border-top:1px solid var(--border);font-size:var(--fs-caption);line-height:1.55;color:var(--text-dim);text-wrap:pretty}.auth-hint a{color:var(--accent);text-decoration:none}.auth-hint a:hover{text-decoration:underline}.auth-error{margin:0;padding:10px 12px;border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);font-weight:var(--fw-caption)}.auth-error,.auth-foot{font-size:var(--fs-caption)}.auth-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-top:14px;color:var(--text-dim)}.auth-foot a{color:var(--text-dim);text-decoration:none;border-radius:var(--radius-sm)}.auth-foot a:hover{color:var(--text);text-decoration:underline}@media (max-width:560px){.auth-frame{padding:36px 16px 32px}.auth-card{padding:22px 18px 20px}.auth-title{font-size:var(--fs-display)}}.landing-frame{min-height:100vh;display:flex;flex-direction:column}.landing-bar{border-bottom:1px solid var(--border);background:var(--panel)}.landing-bar-inner{max-width:1100px;margin:0 auto;min-height:56px;padding:10px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.landing-bar-link{font-size:var(--fs-body);font-weight:var(--fw-medium);color:var(--text-dim);text-decoration:none;padding:6px 10px;border-radius:var(--radius-sm)}.landing-bar-link:hover{background:var(--panel-2);color:var(--text)}.landing-shell{flex:1 1;width:100%;max-width:1100px;margin:0 auto;padding:56px 24px 64px}.landing-hero{max-width:640px}.landing-kicker{display:inline-block;margin:0 0 14px;padding:5px 11px;border-radius:999px;background:rgba(var(--accent-rgb),.08);color:var(--accent);font-size:var(--fs-label);font-weight:var(--fw-label);letter-spacing:var(--tracking-label);text-transform:uppercase}.landing-title{margin:0 0 12px;font-size:var(--fs-display);font-weight:var(--fw-display);letter-spacing:var(--tracking-display);line-height:1.25;text-wrap:balance}.landing-lede{margin:0 0 22px;max-width:56ch;font-size:var(--fs-body);line-height:1.6;color:var(--text-dim);text-wrap:pretty}.landing-cta{padding:11px 22px;font-size:var(--fs-body);font-weight:var(--fw-data)}.landing-note{margin:14px 0 0;font-size:var(--fs-caption);color:var(--text-dim);text-wrap:pretty}.landing-shot{margin:44px 0 0;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:var(--panel);box-shadow:var(--shadow-md);line-height:0}.landing-shot img{width:100%;height:auto;display:block}.landing-caps{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:16px;gap:16px;margin-top:44px}.landing-cap{padding:20px 20px 22px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.landing-cap-glyph{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;margin-bottom:12px;border-radius:var(--radius-sm);background:rgba(var(--accent-rgb),.1);color:var(--accent)}.landing-cap-title{margin:0 0 6px;font-size:var(--fs-title);font-weight:var(--fw-title);letter-spacing:var(--tracking-title)}.landing-cap-body{margin:0;font-size:var(--fs-body);line-height:1.6;color:var(--text-dim);text-wrap:pretty}.landing-foot{border-top:1px solid var(--border);background:var(--panel)}.landing-foot-inner{max-width:1100px;margin:0 auto;padding:24px;display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px}.landing-foot-org{display:flex;flex-direction:column;gap:3px;font-size:var(--fs-body);font-weight:var(--fw-medium)}.landing-foot-sub{font-size:var(--fs-caption);font-weight:var(--fw-body);color:var(--text-dim)}.landing-foot-nav{display:flex;flex-wrap:wrap;gap:18px;font-size:var(--fs-caption)}.landing-foot-nav a{color:var(--text-dim);text-decoration:none;border-radius:var(--radius-sm)}.landing-foot-nav a:hover{color:var(--text);text-decoration:underline}@media (max-width:560px){.landing-shell{padding:36px 16px 48px}.landing-bar-inner,.landing-foot-inner{padding-left:16px;padding-right:16px}}.legal-frame{min-height:100vh;display:flex;flex-direction:column}.legal-bar{border-bottom:1px solid var(--border);background:var(--panel)}.legal-bar-inner{max-width:820px;margin:0 auto;min-height:56px;padding:10px 24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.legal-nav{display:flex;flex-wrap:wrap;gap:16px;font-size:var(--fs-caption)}.legal-nav a{color:var(--text-dim);text-decoration:none;border-radius:var(--radius-sm)}.legal-nav a:hover{color:var(--text);text-decoration:underline}.legal-shell{flex:1 1;width:100%;max-width:820px;margin:0 auto;padding:28px 24px 64px}.legal-draft{display:flex;align-items:flex-start;gap:9px;margin:0 0 32px;padding:12px 14px;border:1px solid rgba(180,83,9,.28);border-left:3px solid var(--attention);border-radius:var(--radius-sm);background:rgba(180,83,9,.06);color:var(--attention);font-size:var(--fs-caption);font-weight:var(--fw-caption);line-height:1.55;text-wrap:pretty}.legal-draft-glyph{display:inline-flex;flex:none;padding-top:1px}.legal-doc{max-width:72ch}.legal-kicker{margin:0 0 8px;font-size:var(--fs-label);font-weight:var(--fw-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-dim)}.legal-title{margin:0 0 6px;font-size:var(--fs-display);font-weight:var(--fw-display);letter-spacing:var(--tracking-display);text-wrap:balance}.legal-meta{margin:0 0 24px;font-size:var(--fs-caption);color:var(--text-dim);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.legal-lede{margin:0 0 30px;padding-bottom:24px;border-bottom:1px solid var(--border);font-size:var(--fs-body);line-height:1.65;color:var(--text-dim);text-wrap:pretty}.legal-doc h2{margin:30px 0 10px;font-size:var(--fs-title);font-weight:var(--fw-title);letter-spacing:var(--tracking-title);text-wrap:balance}.legal-doc p{margin:0 0 14px;font-size:var(--fs-body);line-height:1.7;text-wrap:pretty}.legal-list{margin:0 0 14px;padding-left:20px}.legal-list li{margin-bottom:8px;font-size:var(--fs-body);line-height:1.7;text-wrap:pretty}.legal-contact{font-weight:var(--fw-data);overflow-wrap:break-word}.legal-foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:44px;padding-top:20px;border-top:1px solid var(--border);font-size:var(--fs-caption);color:var(--text-dim)}.legal-foot a{color:var(--text-dim);text-decoration:none;border-radius:var(--radius-sm)}.legal-foot a:hover{color:var(--text);text-decoration:underline}@media (max-width:560px){.legal-shell{padding:20px 16px 48px}.legal-bar-inner{padding-left:16px;padding-right:16px}}.email-card{display:flex;flex-direction:column;gap:8px;padding:16px 17px 15px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:inherit;text-decoration:none;transition:border-color .15s var(--ease),transform .15s var(--ease),box-shadow .15s var(--ease)}.email-card:hover{border-color:var(--border-strong);transform:translateY(-2px);box-shadow:var(--shadow-md)}.email-card-name{font-size:var(--fs-body);font-weight:var(--fw-medium)}.email-kind{flex:none;font-size:var(--fs-label);font-weight:var(--fw-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-dim);background:var(--panel-2);border:1px solid var(--border);border-radius:999px;padding:4px 10px;white-space:nowrap}.email-card-subject{font-size:var(--fs-caption);line-height:1.5;color:var(--text-dim);text-wrap:pretty}.email-card-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:12px;border-top:1px solid var(--border)}.email-card-count{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-label);font-weight:var(--fw-figure);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-dim)}.email-card-count svg{flex:none;opacity:.8}.email-detail-bar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:16px}.email-subject-line{min-width:0}.email-subject{margin:4px 0 0;font-size:var(--fs-body);font-weight:var(--fw-medium);text-wrap:pretty}.email-frame-wrap{position:relative;overflow-x:auto;padding:20px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel-2)}.email-frame{display:block;height:320px;margin:0 auto;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);transition:opacity .2s var(--ease)}.email-frame-skel{position:absolute;inset:20px}.email-frame-fallback{padding:48px 20px;text-align:center}.email-frame-fallback p{margin:0 0 4px}.email-legend-sample{overflow-wrap:anywhere}.email-file-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;padding:9px 0;border-bottom:1px solid var(--border)}.email-file-row:last-of-type{border-bottom:none}.email-file-row .ds-label{min-width:96px;flex:none}.email-file-row code{overflow-wrap:anywhere}@media (max-width:560px){.email-detail-bar{flex-direction:column;align-items:stretch}.email-frame-wrap{padding:12px}.email-frame-skel{inset:12px}}:root{--map-mark:#ffffff;--map-mark-halo:rgba(20,20,20,0.62);--map-route:rgba(255,255,255,0.86);--map-route-casing:rgba(20,20,20,0.55)}.flight-layout.is-solo{grid-template-columns:minmax(0,1fr)}.flight-panel{display:flex;flex-direction:column;gap:14px;min-width:0;padding:16px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg)}.flight-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.flight-panel-title{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:var(--fs-body);font-weight:var(--fw-medium)}.flight-panel-hint,.flight-panel-note{margin:0;font-size:var(--fs-caption);color:var(--text-dim);text-wrap:pretty}.flight-map-caption{margin-top:-6px}.flight-map{aspect-ratio:4/3;max-width:560px}.flight-route-casing{fill:none;stroke:var(--map-route-casing);stroke-linecap:round;stroke-linejoin:round}.flight-route{fill:none;stroke:var(--map-route);stroke-linecap:round;stroke-linejoin:round}.flight-trail{fill:none;stroke:var(--accent);stroke-linecap:round;stroke-linejoin:round}.flight-start{fill:var(--map-mark);stroke:var(--map-mark-halo);stroke-width:1.4}.flight-end{fill:none;stroke:var(--map-mark);stroke-width:2;paint-order:stroke;filter:drop-shadow(0 0 1.5px var(--map-mark-halo))}.flight-mark-label{fill:var(--map-mark);font-size:10px;font-weight:var(--fw-data);paint-order:stroke;stroke:var(--map-mark-halo);stroke-width:2.6}.flight-drone-casing{fill:none;stroke:var(--map-mark-halo);stroke-width:3;stroke-linecap:round}.flight-drone-arm{fill:none;stroke:var(--map-mark);stroke-width:1.4;stroke-linecap:round}.flight-drone-hull{fill:var(--map-mark);stroke:var(--map-mark-halo);stroke-width:1.1;stroke-linejoin:round}.flight-drone-rotor{fill:var(--map-mark-halo);stroke:var(--map-mark);stroke-width:1.3}.flight-drone-hub,.flight-drone-rotor.is-front{fill:var(--map-mark);stroke:var(--map-mark-halo);stroke-width:1}.flight-drone-hub,.flight-drone[data-course=unknown] .flight-drone-hull,.flight-drone[data-course=unknown] .flight-drone-nose{display:none}.flight-drone[data-course=unknown] .flight-drone-hub{display:block}.flight-drone[data-course=unknown] .flight-drone-rotor.is-front{fill:var(--map-mark-halo);stroke:var(--map-mark);stroke-width:1.3}.flight-cone,.flight-marker-dot{fill:var(--accent)}.flight-cone{fill-opacity:.26;stroke:var(--accent);stroke-opacity:.5;stroke-width:1}.flight-facts{display:flex;flex-direction:column;gap:10px;min-width:0}.flight-skeleton{position:relative;width:100%;max-width:560px;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel-2)}.flight-panel .ds-empty-card{padding:36px 16px;border:1px dashed var(--border)}.capture-map.flight-stage-map{position:absolute;top:var(--stage-inset);right:calc(var(--stage-inset) + 34px + 12px);z-index:3;width:min(17vw,calc((100vh - var(--stage-controls-h) - 96px) * 4 / 3));min-width:210px;max-width:320px;box-shadow:var(--shadow-md)}.flight-stage-map .flight-mark-label{display:none}.stage-rail{z-index:4}@media (pointer:coarse){.flight-stage-map .capture-map-frame{touch-action:none;overscroll-behavior:contain}.capture-map.flight-stage-map{width:min(28vw,calc((100vh - var(--stage-controls-h) - 96px) * 4 / 3));min-width:300px;max-width:420px}}.flight-shape-slot{position:absolute;top:8px;right:8px;width:60px;height:44px;pointer-events:none}.flight-shape{display:block;padding:4px;background:var(--map-mark-halo);border-radius:var(--radius-sm)}.flight-shape svg{display:block}.flight-shape-casing{fill:none;stroke:var(--map-route-casing);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.flight-shape-route{fill:none;stroke:var(--map-route);stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round}.flight-shape-start{fill:var(--map-mark)}:root{--attention-rgb:110,79,22}.plan-map{aspect-ratio:4/3;max-width:100%}.plan-map.is-drawing{background:var(--panel-2);--map-mark:var(--text);--map-mark-halo:var(--panel)}.capture-map-frame.is-picking,.capture-map-frame.is-picking.is-interactive{cursor:crosshair}.plan-image{position:absolute;display:block;max-width:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none;image-rendering:-webkit-optimize-contrast}.plan-skeleton{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-md)}.plan-missing,.plan-skeleton{width:100%;aspect-ratio:4/3;background:var(--panel-2)}.plan-missing{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;text-align:center;border:1px dashed var(--border-strong);border-radius:var(--radius-md);color:var(--text-dim)}.plan-missing p{margin:0;max-width:46ch;font-size:var(--fs-caption);line-height:1.6;text-wrap:pretty}.plan-missing.is-error{border-style:solid;border-color:var(--danger)}.plan-missing.is-error .ds-empty-glyph{color:var(--danger)}.plan-map-fallback{position:absolute;left:12px;right:12px;bottom:12px;margin:0;padding:8px 10px;border-radius:var(--radius-sm);background:var(--map-mark-halo);color:var(--on-video);font-size:var(--fs-caption);line-height:1.5;text-wrap:pretty;pointer-events:none}.pin-halo{fill:var(--map-mark-halo);fill-opacity:.34}.pin-ring{fill:none;stroke:var(--map-mark);stroke-width:2.4;paint-order:stroke;filter:drop-shadow(0 0 1.6px var(--map-mark-halo))}.pin-dot{fill:var(--accent)}.pin-mark.is-active .pin-ring{stroke:var(--accent);stroke-width:3}.pin-mark.is-active .pin-halo{fill:var(--accent);fill-opacity:.28}.pin-mark.is-pending .pin-ring{stroke:var(--map-mark);stroke-dasharray:3.4 3}.pin-mark.is-pending .pin-halo{fill:var(--map-mark-halo);fill-opacity:.22}.pin-label{fill:var(--map-mark);font-size:10.5px;font-weight:var(--fw-data);paint-order:stroke;stroke:var(--map-mark-halo);stroke-width:2.6;pointer-events:none}.pin-cone{fill:var(--accent);fill-opacity:.2;stroke:var(--accent);stroke-opacity:.45;stroke-width:1;pointer-events:none}.pin-mark.is-active .pin-cone{fill-opacity:.3}.plan-map.is-drawing .pin-halo,.plan-map.is-drawing .pin-mark.is-pending .pin-halo{fill:var(--map-mark);fill-opacity:.13}.pin-hit{fill:transparent}.pin-aim{cursor:-webkit-grab;cursor:grab}.pin-aim:active{cursor:-webkit-grabbing;cursor:grabbing}.pin-aim-ring{fill:none;stroke:var(--map-mark);stroke-width:1.4;stroke-dasharray:4 4;opacity:.85}.pin-aim-band{fill:none;stroke:transparent;stroke-width:26}.pin-aim-spoke{stroke:var(--accent);stroke-width:2;stroke-linecap:round}.pin-aim-handle{fill:var(--accent);stroke:var(--map-mark);stroke-width:2}.pin-aim-handle.is-unset{fill:var(--map-mark-halo);stroke-dasharray:3 3}.loc-rail{margin-bottom:16px}.loc-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);grid-gap:20px;gap:20px;align-items:start}@media (max-width:1000px){.loc-layout{grid-template-columns:minmax(0,1fr)}}.loc-canvas{display:flex;flex-direction:column;gap:12px;min-width:0}.loc-plan-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px}.loc-plan-id{min-width:0}.loc-plan-id .ds-section-title{margin:0}.loc-plan-meta{margin:3px 0 0;font-size:var(--fs-caption);color:var(--text-dim);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-wrap:pretty}.loc-modebar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--accent);border-radius:var(--radius-md);background:rgba(var(--accent-rgb),.06)}.loc-modebar-text{min-width:0;font-size:var(--fs-caption);line-height:1.55;color:var(--text);text-wrap:pretty}.loc-modebar-actions{display:flex;flex-wrap:wrap;gap:8px}.loc-canvas-hint{margin:0;color:var(--text-dim)}.loc-alert,.loc-canvas-hint{font-size:var(--fs-caption);text-wrap:pretty}.loc-alert{display:flex;align-items:flex-start;gap:8px;margin:10px 0 0;padding:9px 11px;border-radius:var(--radius-sm);line-height:1.55}.loc-alert.is-warn{border:1px solid rgba(var(--attention-rgb),.32);border-left:3px solid var(--attention);background:rgba(var(--attention-rgb),.07);color:var(--attention)}.loc-alert.is-error{border-left:1px solid var(--danger);border:1px solid var(--danger);border-left-width:3px;background:var(--danger-soft);color:var(--danger)}.loc-lists{display:flex;flex-direction:column;gap:14px;min-width:0}.loc-group{padding:14px 16px}.loc-group.is-warn{border-color:rgba(var(--attention-rgb),.34)}.loc-group-title{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:var(--fs-label);font-weight:var(--fw-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-dim)}.loc-group-count{font-size:var(--fs-label);font-weight:var(--fw-figure);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text);background:var(--panel-2);border-radius:999px;padding:1px 7px}.loc-group.is-warn .loc-group-title{color:var(--attention)}.loc-group-empty{margin:0;font-size:var(--fs-caption);line-height:1.6;color:var(--text-dim);text-wrap:pretty}.loc-rows{list-style:none;margin:0;padding:0}.loc-row{padding:10px 0;border-bottom:1px solid var(--border)}.loc-row:first-child{padding-top:0}.loc-row:last-child{border-bottom:0;padding-bottom:0}.loc-row-main{display:flex;align-items:flex-start;gap:10px}.loc-row .cam-dot{margin-top:6px}.loc-row-body{display:flex;flex-direction:column;gap:2px;flex:1 1;min-width:0;padding:0;border:0;background:none;color:inherit;font-family:inherit;text-align:left;cursor:pointer}.loc-row-body.is-static{cursor:default}.loc-row-title{font-size:var(--fs-body);font-weight:var(--fw-medium);overflow-wrap:anywhere}.loc-row.is-active .loc-row-title,.loc-row.is-arming .loc-row-title{color:var(--accent)}.loc-row .admin-sub{margin-top:0}.loc-aim{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:10px 12px;gap:10px 12px;margin:10px 0 2px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-2)}.loc-aim-field+.loc-aim-field{margin-top:0}.loc-aim-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}@media (max-width:560px){.loc-aim{grid-template-columns:minmax(0,1fr)}}.loc-choice-list{display:flex;flex-direction:column;gap:8px}.ds-check.is-disabled{opacity:.7;cursor:not-allowed;background:var(--panel-2)}.ds-check.is-disabled:hover{border-color:var(--border);background:var(--panel-2)}.loc-preview{display:flex;align-items:center;gap:12px;margin-top:10px;padding:10px;border:1px solid var(--border);background:var(--panel-2)}.loc-preview,.loc-preview img{border-radius:var(--radius-sm)}.loc-preview img{width:108px;height:81px;flex:none;object-fit:contain;background:var(--panel)}.loc-preview-facts{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:var(--fs-caption);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (pointer:coarse){.loc-row .btn-secondary{min-height:40px}}.cam-aside{display:flex;flex-direction:column;gap:14px;min-width:0}.cam-aside-switch{align-self:flex-start}.cam-loc{display:flex;flex-direction:column;gap:12px;min-width:0}.cam-loc-plans{align-self:flex-start}.cam-loc-facts{display:flex;flex-direction:column;gap:9px}.cam-loc-hint{margin:0;font-size:var(--fs-caption);line-height:1.55;color:var(--text-dim);text-wrap:pretty}.cam-loc .pin-mark.is-placed{opacity:.5;transition:opacity .15s var(--ease)}.cam-loc .pin-mark.is-placed .pin-hit{cursor:pointer}@media (hover:hover){.cam-loc .pin-mark.is-placed:hover{opacity:.92}}.loc-row-upload{margin:6px 0 0 24px}.pin-locator{width:132px;flex:none;aspect-ratio:4/3;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);--map-mark:var(--text);--map-mark-halo:var(--panel)}.pin-locator-frame{fill:none;stroke:var(--border-strong);stroke-dasharray:3 3}.pin-locator .pin-halo{fill:var(--map-mark);fill-opacity:.13}.ds-field{display:flex;flex-direction:column;gap:5px;min-width:0}.ds-field-label{font-size:var(--fs-label);font-weight:var(--fw-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-dim)}.ds-datefield{display:flex;align-items:stretch;gap:6px}.ds-datefield .icon-btn{height:auto;align-self:stretch}.ds-datebtn{display:flex;align-items:center;gap:9px;min-width:200px;max-width:100%;padding:5px 10px;text-align:left;color:var(--text);background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s var(--ease),background .15s var(--ease)}.ds-datebtn:hover{border-color:var(--border-strong);background:var(--surface-hover)}.ds-datebtn[aria-expanded=true]{border-color:var(--accent)}.ds-datebtn-chev,.ds-datebtn-icon{display:inline-flex;flex:none;color:var(--text-dim)}.ds-datebtn-main{flex:1 1;min-width:0;font-size:var(--fs-body);font-weight:var(--fw-button);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fcmp-note{display:flex;align-items:flex-start;gap:9px;margin:14px 0 0;padding:10px 12px;border:1px solid var(--border);border-left:3px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--panel-2);color:var(--text-dim);font-size:var(--fs-caption);line-height:1.6;text-wrap:pretty}.fcmp-note-icon{display:inline-flex;flex:none;margin-top:1px;color:var(--text-dim)}.fcmp-viewer{display:grid;grid-gap:18px;gap:18px;margin-top:0}.ds-shell:has(>.fcmp-viewer),.ds-shell:has(>.still-area){padding-top:20px}.fcmp-stagecol{min-width:0}@media (min-width:1500px){.fcmp-viewer{grid-template-columns:minmax(0,1fr) 400px;align-items:start;gap:16px 22px}.fcmp-stagecol{grid-column:1;grid-row:1}.fcmp-figcol{grid-column:1;grid-row:2}.fcmp-mapcol{grid-column:2;grid-row:1/span 2}.fcmp-viewer.is-mapless{grid-template-columns:minmax(0,1fr) auto}.fcmp-viewer .fcmp-detailrow{margin-top:0}.fcmp-viewer .fcmp-maprow{max-width:none;margin-top:0}.fcmp-viewer .capture-map.fcmp-map,.fcmp-viewer .fcmp-map-note{max-width:none}}.fcmp-viewer .fcmp-area,.fcmp-viewer .still-area{margin-top:0}.fcmp-area,.still-area{position:relative;margin-top:18px;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:var(--video-bg);box-shadow:var(--shadow-md);--stage-inset:14px}.fcmp-panes,.still-panes{display:grid;grid-template-columns:1fr 1fr;grid-gap:1px;gap:1px;background:var(--border)}.fcmp-pane,.still-pane{position:relative;min-width:0;background:var(--video-bg)}.fcmp-frame{height:100%}.fcmp-area.is-side .fcmp-pane.is-a .stage-topright{right:auto;left:var(--stage-inset)}.fcmp-area.is-side .fcmp-rail{top:var(--stage-inset);transform:none}.fcmp-area.is-side .fcmp-pane.is-b .stage-topright{right:calc(var(--stage-inset) + 48px)}.fcmp-area.is-split .fcmp-panes,.still-area.is-split .still-panes{display:block;position:relative;aspect-ratio:16/9;gap:0}.fcmp-area.is-split .fcmp-pane,.still-area.is-split .still-pane{position:absolute;inset:0}.fcmp-area.is-split .fcmp-pane .video-stage,.still-area.is-split .still-pane .video-stage{height:100%;aspect-ratio:auto}.fcmp-area.is-split .fcmp-pane.is-a,.still-area.is-split .still-pane.is-a{z-index:2;-webkit-clip-path:inset(0 calc(100% - var(--split, 50%)) 0 0);clip-path:inset(0 calc(100% - var(--split, 50%)) 0 0)}.fcmp-area.is-split .fcmp-pane.is-b .stage-topleft,.still-area.is-split .still-pane.is-b .stage-topleft{left:auto;right:var(--stage-inset)}.ds-divider{left:var(--split,50%);z-index:3;width:44px;margin-left:-22px;display:flex;align-items:center;justify-content:center;cursor:ew-resize;touch-action:none}.ds-divider,.ds-divider-line{position:absolute;top:0;bottom:0}.ds-divider-line{left:50%;width:2px;margin-left:-1px}.ds-divider-grip,.ds-divider-line{background:var(--stage-control-bg);box-shadow:var(--shadow-md)}.ds-divider-grip{position:relative;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;color:var(--stage-control-fg)}.ds-divider:focus-visible{outline:none}.ds-divider:focus-visible .ds-divider-grip{outline:2px solid rgba(var(--accent-rgb),.55);outline-offset:3px}.fcmp-rail{z-index:4}.stage-tool.is-toggle[aria-pressed=true]:not(:disabled){background:var(--accent);color:var(--on-accent)}.stage-tool.is-toggle[aria-pressed=true]:not(:disabled):hover{background:var(--accent-hover)}.stage-tool.is-toggle[aria-pressed=true]:disabled{background:var(--stage-control-bg);color:var(--stage-control-fg-dim)}.fcmp-play{width:34px;height:34px}.stage-floor{bottom:var(--stage-inset);z-index:4;pointer-events:none}.stage-floor>*{pointer-events:auto}.stage-floor .fcmp-transport{justify-self:center;gap:2px}.stage-floor>:first-child{grid-column:1;justify-self:start}.stage-floor>:last-child{grid-column:3;justify-self:end}.stage-floor-side{gap:6px;min-width:0}.stage-clock,.stage-floor-side{display:inline-flex;align-items:center}.stage-clock{font-family:var(--font-mono);height:28px;padding:0 11px;border-radius:999px;background:var(--stage-control-bg);color:var(--stage-control-fg);box-shadow:var(--shadow-md);font-size:var(--fs-stage-value);font-weight:var(--fw-medium);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stage-clock:empty{display:none}.ds-datestage-row{gap:2px}.ds-datestage-btn{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 8px;border:none;border-radius:999px;background:transparent;color:var(--stage-control-fg);font-family:inherit;cursor:pointer;transition:background .15s var(--ease)}.ds-datestage-btn:hover{background:var(--stage-control-press)}.ds-datestage-btn[aria-expanded=true]{background:var(--accent);color:var(--on-accent)}.ds-datestage-main{font-family:var(--font-mono);font-size:var(--fs-stage-value);font-weight:var(--fw-medium);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.ds-datestage-chev{display:inline-flex;flex:none;opacity:.7}.fcmp-area.is-clean .fcmp-flag,.fcmp-area.is-clean .stage-chrome,.fcmp-area.is-clean .stage-floor,.fcmp-area.is-clean .stage-rail>:not(.is-clean-toggle),.still-area.is-clean .stage-chrome,.still-area.is-clean .stage-floor,.still-area.is-clean .stage-rail>:not(.is-clean-toggle){display:none}.fcmp-area.is-clean .is-clean-toggle,.still-area.is-clean .is-clean-toggle{opacity:0;transition:opacity .2s var(--ease)}.fcmp-area.is-clean:focus-within .is-clean-toggle,.fcmp-area.is-clean:hover .is-clean-toggle,.still-area.is-clean:focus-within .is-clean-toggle,.still-area.is-clean:hover .is-clean-toggle{opacity:1}.is-clean-toggle:focus-visible{opacity:1!important}.fcmp-flag{position:absolute;top:var(--stage-inset);left:50%;transform:translateX(-50%);z-index:4;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--stage-control-bg);color:var(--stage-control-fg);box-shadow:var(--shadow-md);font-size:var(--fs-stage-value);font-weight:var(--fw-data);white-space:nowrap;cursor:default}.fcmp-flag svg{flex:none;color:var(--stage-control-fg-dim)}.fcmp-area.is-single .fcmp-panes,.still-area.is-single .still-panes{grid-template-columns:1fr}.fcmp-area.is-single .fcmp-pane.is-b,.still-area.is-single .still-pane.is-b{display:none}.fcmp-timeline{display:flex;flex-direction:column;gap:7px;margin-top:16px}.fcmp-scrubwrap{position:relative;height:22px}.fcmp-lane{display:grid;grid-template-columns:108px minmax(0,1fr) 84px;align-items:center;grid-gap:10px;gap:10px}.fcmp-lane-label,.fcmp-lane-len{font-size:var(--fs-label);font-weight:var(--fw-figure);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-dim);white-space:nowrap}.fcmp-lane-len{text-align:right;color:var(--text)}.fcmp-track{right:0;top:9px;height:4px;background:var(--border-strong)}.fcmp-track,.fcmp-track-played{position:absolute;left:0;border-radius:999px}.fcmp-track-played{top:0;bottom:0;width:0;background:var(--accent)}.fcmp-scrub{position:absolute;inset:0;width:100%;margin:0;padding:0;border:none;border-radius:0;background:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.fcmp-scrub:focus{outline:none;border-color:transparent}.fcmp-scrub::-webkit-slider-runnable-track{height:22px;background:transparent}.fcmp-scrub::-moz-range-track{height:22px;background:transparent}.fcmp-scrub::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;margin-top:4px;border:none;border-radius:50%;background:var(--text);box-shadow:var(--shadow-sm)}.fcmp-scrub::-moz-range-thumb{width:14px;height:14px;border:none;border-radius:50%;background:var(--text);box-shadow:var(--shadow-sm)}.fcmp-scrub:focus-visible::-webkit-slider-thumb{outline:2px solid rgba(var(--accent-rgb),.55);outline-offset:2px}.fcmp-scrub:focus-visible::-moz-range-thumb{outline:2px solid rgba(var(--accent-rgb),.55);outline-offset:2px}.fcmp-end-tick{position:absolute;top:4px;height:14px;width:2px;margin-left:-1px;border-radius:1px;background:var(--text-dim);pointer-events:none}.ftl{display:flex;flex-direction:column;max-width:760px;margin:20px 0 0;padding:0;list-style:none}.ftl-row{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:start;grid-gap:14px;gap:14px}.ftl-spine{position:relative;align-self:stretch;display:flex;justify-content:center}.ftl-spine:before{content:"";position:absolute;top:0;bottom:0;width:2px;background:var(--border)}.ftl-dot{position:relative;width:11px;height:11px;margin-top:26px;border-radius:50%;background:var(--panel);border:2px solid var(--border-strong)}.ftl-dot.is-latest{background:var(--accent);border-color:var(--accent)}.ftl-card{width:100%}.ftl-card.thumb-card{display:grid;grid-template-columns:160px minmax(0,1fr);align-items:stretch;grid-gap:0;gap:0}.ftl-card .thumb-card-media{aspect-ratio:auto;height:100%;min-height:96px;border-bottom:0;border-right:1px solid var(--border);border-radius:var(--radius-md) 0 0 var(--radius-md)}.ftl-card .thumb-card-body{justify-content:center;min-width:0}.ftl-latest-mark{align-self:start;margin-top:6px;padding:2px 8px;border-radius:999px;background:rgba(var(--accent-rgb),.12);color:var(--accent);font-size:var(--fs-label);font-weight:var(--fw-label);letter-spacing:var(--tracking-label);text-transform:uppercase}.ftl-gap{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;grid-gap:14px;gap:14px;padding:7px 0}.ftl-gap-line{justify-self:center;width:2px;height:26px;background:repeating-linear-gradient(to bottom,var(--border-strong) 0 3px,transparent 3px 7px)}.ftl-gap-label{font-size:var(--fs-caption);font-weight:var(--fw-figure);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-faint)}.ftl-gap.is-long .ftl-gap-label{color:var(--attention)}.ftl-gap.is-long .ftl-gap-line{height:40px;background:repeating-linear-gradient(to bottom,var(--attention) 0 3px,transparent 3px 7px)}@media (max-width:560px){.ftl-card.thumb-card{grid-template-columns:1fr}.ftl-card .thumb-card-media{aspect-ratio:16/9;height:auto;border-right:0;border-bottom:1px solid var(--border);border-radius:var(--radius-md) var(--radius-md) 0 0}}.fcmp-metarow{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;margin-top:18px}.fcmp-metarow.is-solo{grid-template-columns:1fr}.fcmp-meta{display:flex;flex-direction:column;gap:5px;min-width:0;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel)}.fcmp-meta-date{font-size:var(--fs-body);font-weight:var(--fw-medium);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text)}.fcmp-meta-row{display:flex;align-items:flex-start;gap:7px;font-size:var(--fs-caption);line-height:1.5;color:var(--text-dim);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-wrap:pretty}.fcmp-meta-row svg{flex:none;margin-top:3px}.fcmp-foot{margin-top:22px;margin-bottom:0}.fcmp-skeleton{display:flex;flex-direction:column;gap:14px}.fcmp-sk{display:block;border-radius:var(--radius-sm);background-color:var(--border);background-image:linear-gradient(100deg,transparent 20%,var(--shimmer) 48%,transparent 76%);background-size:220% 100%;background-repeat:no-repeat;animation:ds-shimmer 1.3s linear infinite}.fcmp-sk-tabs{width:220px;height:34px;border-radius:999px}.fcmp-sk-panes{display:grid;grid-template-columns:1fr 1fr;grid-gap:1px;gap:1px}.fcmp-sk-metarow.is-solo,.fcmp-sk-panes.is-solo{grid-template-columns:1fr}.fcmp-sk-stage{aspect-ratio:16/9;border-radius:var(--radius-md)}.fcmp-sk-timeline{height:38px;border-radius:var(--radius-md)}.fcmp-sk-metarow{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.fcmp-sk-meta{height:118px;border-radius:var(--radius-md)}@media (prefers-reduced-motion:reduce){.fcmp-sk{animation:none;background-image:none}}@media (max-width:760px){.fcmp-area.is-side .fcmp-panes,.fcmp-metarow,.fcmp-sk-metarow,.fcmp-sk-panes,.still-area.is-side .still-panes{grid-template-columns:1fr}.ds-datebtn{min-width:0;flex:1 1}.ds-field{flex:1 1 100%}.fcmp-lane{grid-template-columns:88px minmax(0,1fr)}.fcmp-rail{top:var(--stage-inset);transform:none}.is-side .stage-floor{grid-template-columns:1fr;justify-items:center;gap:6px}.is-side .stage-floor .ds-datestage:first-child,.is-side .stage-floor .ds-datestage:last-child{justify-self:center}.is-side .stage-floor>:first-child,.is-side .stage-floor>:last-child{grid-column:auto}.fcmp-lane-len{display:none}}@media (max-width:560px){.fcmp-area,.still-area{--stage-inset:10px}.fcmp-area .stage-floor,.still-area .stage-floor{position:static;bottom:auto;grid-template-columns:1fr;justify-items:center;gap:8px;padding:12px var(--stage-inset) 14px}.fcmp-area .stage-floor>:first-child,.fcmp-area .stage-floor>:last-child,.still-area .stage-floor>:first-child,.still-area .stage-floor>:last-child{grid-column:auto;justify-self:center}.fcmp-flag-text,.stage-floor>span[aria-hidden=true]:empty{display:none}.fcmp-flag{padding:6px}}.ds-disclosure{display:inline-flex;align-items:center;gap:5px;padding:3px 5px;margin-right:-5px;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-dim);font-family:inherit;font-size:var(--fs-caption);font-weight:var(--fw-caption);line-height:1.2;white-space:nowrap;cursor:pointer;transition:color .15s var(--ease),background .15s var(--ease)}.ds-disclosure:hover{color:var(--text);background:var(--panel-2)}.ds-disclosure-chevron{display:inline-flex;transition:transform .2s var(--ease)}.ds-disclosure[aria-expanded=true] .ds-disclosure-chevron{transform:rotate(180deg)}.ds-disclosure-row{display:flex;justify-content:flex-end;margin-bottom:6px}.ds-section-hint,.thumb-card-meta{color:var(--text-dim)}.fcmp-axis{position:relative;display:flex;justify-content:space-between;height:20px;margin-top:9px;pointer-events:none;font-family:var(--font-mono);font-size:var(--fs-stage-label);font-weight:var(--fw-medium);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--text-faint)}.fcmp-axis-end{padding-top:6px;color:var(--text-dim)}.fcmp-axis-tick{position:absolute;top:0;display:flex;flex-direction:column;align-items:center;gap:2px;transform:translateX(-50%);white-space:nowrap;pointer-events:none}.fcmp-axis-tick i{width:1px;height:5px;background:var(--border-strong)}@media (max-width:700px){.fcmp-axis-tick:nth-child(2n){display:none}}.flight-compare-mark{position:absolute;top:8px;left:8px;display:inline-flex;align-items:center;gap:4px;padding:4px 6px;background:var(--map-mark-halo);border-radius:var(--radius-sm);color:var(--map-mark);font-size:var(--fs-label);font-weight:var(--fw-figure);line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;pointer-events:none}.flight-compare-mark svg{display:block}.setup-list{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column}.setup-step{position:relative;display:flex;gap:14px;padding:0 0 22px}.setup-step:last-child{padding-bottom:0}.setup-step:before{content:"";position:absolute;left:13px;top:30px;bottom:0;width:1px;background:var(--border)}.setup-step:last-child:before{display:none}.setup-step-mark{position:relative;z-index:1;flex:none;width:27px;height:27px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-caption);font-weight:var(--fw-figure);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;border:1px solid var(--border-strong);background:var(--panel);color:var(--text-dim)}.setup-step.is-now .setup-step-mark{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.setup-step.is-done .setup-step-mark{border-color:var(--ok);color:var(--ok)}.setup-step-body{min-width:0;padding-top:2px}.setup-step-title{margin:0;font-size:var(--fs-cardtitle);font-weight:var(--fw-medium);display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}.setup-step-done{font-size:var(--fs-body);font-weight:var(--fw-body)}.setup-step-done,.setup-step-hint,.setup-step.is-waiting .setup-step-title{color:var(--text-dim)}.setup-step-hint{margin:4px 0 0;font-size:var(--fs-body);max-width:66ch;text-wrap:pretty}.setup-step-action{margin-top:12px}.setup-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.setup-form input,.setup-form select{min-width:0;flex:1 1 170px}.setup-form input[type=number]{flex:0 1 120px}.setup-form button{flex:none}.setup-jobs{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel);overflow:hidden}.setup-jobs li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:11px 16px;font-size:var(--fs-body)}.setup-jobs li+li{border-top:1px solid var(--border)}.setup-job-name{font-weight:var(--fw-data);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.setup-job-status{flex:none;font-size:var(--fs-caption);color:var(--text-dim);text-align:right}.setup-jobs li[data-status=failed] .setup-job-status{color:var(--danger)}.setup-jobs li[data-status=ready] .setup-job-status{color:var(--ok)}@media (max-width:620px){.setup-form button,.setup-form input,.setup-form select{flex:1 1 100%}}