/* Full-page native analysis workspace. */
#trajectory-system-dialog{inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#fff;color:#20344b;box-shadow:none;overflow:hidden}
#trajectory-system-dialog[open]{display:flex;flex-direction:column}
#trajectory-system-dialog::backdrop{background:#fff;backdrop-filter:none}
#trajectory-system-dialog .trajectory-window-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px;padding:18px clamp(20px,3vw,56px);background:#fff;border-bottom:1px solid #e6edf4;flex-shrink:0}
#trajectory-system-dialog .trajectory-window-bar h2{margin:0;padding:0;color:#19334e;font-size:clamp(1.35rem,1.1rem + .55vw,1.875rem);font-weight:600;letter-spacing:.02em}
#trajectory-system-dialog #close-trajectory-system{display:flex;align-items:center;gap:12px;padding:8px 14px;border:1px solid #dce5ef;border-radius:6px;background:white;color:#4c647c;font-size:clamp(.82rem,.75rem + .15vw,1rem);white-space:nowrap}
#trajectory-system-dialog #close-trajectory-system:hover{background:#f2f7fc;color:#227ac0;border-color:#a9c8e6}
#trajectory-system-dialog #close-trajectory-system span{font-size:1.35em;line-height:1;margin:0}
#trajectory-app{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:26px clamp(20px,3vw,56px) 44px;font-size:clamp(.875rem,.8rem + .15vw,1rem);color:#293f56;background:#fff;scrollbar-color:#bfccd9 #f7f9fc}
#trajectory-app>.analysis-subtitle,#trajectory-app>.flow,#trajectory-app>.grid,#trajectory-app>.analysis-load-state{max-width:1680px;margin-left:auto;margin-right:auto}
#trajectory-app .analysis-subtitle{margin-top:0;margin-bottom:20px;color:#708398;font-size:.9em;line-height:1.8;letter-spacing:.03em}
#trajectory-app .analysis-load-state{color:#227ac0;font-size:inherit}
#trajectory-app .analysis-load-state:empty{display:none}
#trajectory-app .flow{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:26px}
#trajectory-app .step{padding:8px 13px;border:1px solid #dfe9f3;background:#f4f8fc;color:#57738c;border-radius:5px;font-size:.85em;line-height:1.8}
#trajectory-app .grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,2.3fr);gap:26px;align-items:start}
#trajectory-app .grid>aside,#trajectory-app .grid>div{min-width:0}
#trajectory-app .card{padding:clamp(18px,1.6vw,28px);margin:0 0 24px;border:1px solid #e0e8f0;background:white;border-radius:9px;color:#293f56;box-shadow:0 5px 24px #19334e04}
#trajectory-app h2{margin:0 0 18px;padding:0;font-size:clamp(1rem,.9rem + .2vw,1.25rem);line-height:1.6;color:#19334e;letter-spacing:.015em;font-weight:600}
#trajectory-app p{font-size:inherit;color:inherit;line-height:1.9}
#trajectory-app button,#trajectory-app a.button{font:inherit;font-size:.92em;display:inline-block;padding:9px 14px;border:1px solid #cdddec;border-radius:5px;background:#f5f9fd;color:#32698f;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s}
#trajectory-app button:hover,#trajectory-app a.button:hover{background:#e9f3fc;border-color:#8eb6da;color:#175e99}
#trajectory-app #apply,#trajectory-app #export,#trajectory-app #load{background:#227ac0;border-color:#227ac0;color:white}
#trajectory-app #apply:hover,#trajectory-app #export:hover,#trajectory-app #load:hover{background:#1767a7;border-color:#1767a7;color:white}
#trajectory-app button:disabled{opacity:.45;cursor:default}
#trajectory-app input,#trajectory-app select{font:inherit;max-width:100%;padding:8px 10px;background:#fff;color:#293f56;border:1px solid #cddbe8;border-radius:5px;color-scheme:light}
#trajectory-app input:focus,#trajectory-app select:focus{outline:2px solid #b3d7f3;outline-offset:1px;border-color:#5e9bca}
#trajectory-app input[type=checkbox]{accent-color:#227ac0;width:15px;height:15px;vertical-align:middle}
#trajectory-app input[type=file]{width:100%;font-size:.8em;background:#f8fafc}
#trajectory-app .muted{color:#708398;font-size:.86em;line-height:1.9}
#trajectory-app .toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px}
#trajectory-app .toolbar label{display:inline-flex;align-items:center;gap:7px}
#trajectory-app .metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}
#trajectory-app .metric{padding:14px 16px;border:1px solid #e2edf6;background:#f7faff;border-radius:6px}
#trajectory-app .metric strong{display:block;font-size:clamp(1.25rem,1rem + .65vw,1.9rem);font-weight:600;color:#227ac0;line-height:1.5}
#trajectory-app .metric small{color:#708398}
#trajectory-app .notice{padding:13px 16px;background:#f5f8fb;border:1px solid #e7edf4;border-radius:5px;font-size:.83em;line-height:1.9;color:#708398}
#trajectory-app canvas{width:100%;height:360px;border:1px solid #e5edf5;border-radius:6px;background:#fff;display:block}
#trajectory-app .scroll{max-height:330px;overflow:auto;border:1px solid #e5edf5;border-radius:5px}
#trajectory-app table{width:100%;border-collapse:collapse;font-size:.9em;color:#405971}
#trajectory-app td,#trajectory-app th{text-align:left;border-bottom:1px solid #e8eef5;padding:11px 14px}
#trajectory-app th{background:#f3f7fb;color:#6b8197;position:sticky;top:0;font-weight:500;white-space:nowrap}
#trajectory-app tr{cursor:pointer}
#trajectory-app tr:hover,#trajectory-app tr.selected{background:#eff7ff}
#trajectory-app tr.selected{box-shadow:inset 3px 0 #227ac0}
#trajectory-app .track-picker{padding:16px;background:#f7faff;border:1px solid #e2edf6;border-radius:6px;margin:20px 0}
#trajectory-app .track-picker select{min-width:180px}
#trajectory-app #trackInfo{margin:9px 0 0}
#trajectory-app #message{white-space:pre-line}
#trajectory-app .job{padding:8px 0;border-bottom:1px solid #e5edf5;font-size:.85em}
#trajectory-app .badge{padding:3px 7px;border-radius:4px;background:#edf5fc;color:#4080b4;font-size:.8em}
#trajectory-app .sample-video-panel{padding:12px;background:#f7faff;border:1px solid #e1eaf3;border-radius:6px;margin-bottom:20px}
#trajectory-app #sampleVideo{border-radius:5px!important}
@media(max-width:850px){#trajectory-app .grid{grid-template-columns:1fr}#trajectory-app canvas{height:300px}#trajectory-app .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}#trajectory-system-dialog .trajectory-window-bar{min-height:66px;padding:12px 16px}#trajectory-app{padding:20px 16px 32px}#trajectory-app .step{padding:6px 9px}}

/* One unified file picker, with the native input retained for accessibility. */
#trajectory-app .analysis-file-picker{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;padding:10px 14px;border:1px solid #cdddec;border-radius:5px;background:#f5f9fd;color:#32698f;font-size:.92em;line-height:1.7;cursor:pointer;overflow:hidden}
#trajectory-app .analysis-file-picker:hover{background:#e9f3fc;border-color:#8eb6da;color:#175e99}
#trajectory-app .analysis-file-picker:focus-within{outline:2px solid #b3d7f3;outline-offset:2px;border-color:#5e9bca}
#trajectory-app .analysis-file-picker input[type=file]{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;padding:0;cursor:pointer}
