@charset "UTF-8";*,::after,::before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:"Segoe UI",system-ui,-apple-system,Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background:#f8f9fa;min-height:100dvh}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.25;color:#212529}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.125rem}h5{font-size:1rem}h6{font-size:.875rem}p{margin-bottom:1rem}p:last-child{margin-bottom:0}a{color:#0052a3;text-decoration:none}a:hover{text-decoration:underline}a:focus-visible{outline:rgba(0,82,163,.5) solid 3px;outline-offset:2px}img,svg{max-width:100%;display:block}ol,ul{list-style:none}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:inherit}table{border-collapse:collapse;width:100%}code,pre{font-family:"Cascadia Code",Consolas,monospace;font-size:.875rem}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important}}@keyframes pulse-ring{0%{transform:scale(.9);opacity:.6}100%{transform:scale(1.5);opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-up{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes blink{50%{opacity:0}}.app-shell{display:flex;flex-direction:column;height:100dvh;overflow:hidden}.app-header{position:sticky;top:0;z-index:200;flex-shrink:0;height:3.5rem;background:#0052a3;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.12);gap:1rem}.app-header__brand{display:flex;align-items:center;gap:.75rem;font-size:1.25rem;font-weight:700;color:#fff;text-decoration:none}.app-header__brand:hover{text-decoration:none}.app-header__brand svg{width:1.5rem;height:1.5rem}.app-header__nav{display:flex;align-items:center;gap:.5rem}.app-header__nav-link{color:rgba(255,255,255,.85);padding:.5rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:500;transition:background 150ms,color 150ms}.app-header__nav-link.active,.app-header__nav-link:hover{background:rgba(255,255,255,.15);color:#fff;text-decoration:none}.app-header__nav-link--disabled{color:rgba(255,255,255,.4);cursor:not-allowed}.app-header__nav-link--disabled:hover{background:0 0;color:rgba(255,255,255,.4)}.app-header__status{display:flex;align-items:center;gap:.75rem;margin-left:auto}.app-header--compact{height:calc(3.5rem * .7);padding:0 1rem}.app-header__brand--compact{font-size:1rem;font-weight:600;color:#fff}.app-header__title-group{display:flex;align-items:baseline;gap:.75rem;min-width:0;overflow:hidden}.app-header__page-title{font-size:.875rem;font-weight:600;color:#fff;white-space:nowrap}.app-header__page-title::before{content:"—";margin-right:.75rem;opacity:.5}.app-header__page-subtitle{font-size:.75rem;color:rgba(255,255,255,.75);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width:991px){.app-header__page-subtitle{display:none}}.app-header__logout{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:0 0;cursor:pointer;font-family:"Segoe UI",system-ui,-apple-system,Arial,sans-serif;font-weight:600;line-height:1.25;text-decoration:none;user-select:none;white-space:nowrap;transition:background 150ms,color 150ms,box-shadow 150ms,transform 150ms;padding:.25rem .75rem;border-radius:.5rem;font-size:.875rem;color:rgba(255,255,255,.85);border:1px solid rgba(255,255,255,.4)}.app-header__logout:focus-visible{outline:rgba(0,82,163,.5) solid 3px;outline-offset:2px}.app-header__logout:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.app-header__logout:active:not(:disabled){transform:scale(.97)}.app-header__logout:hover{background:rgba(255,255,255,.15);color:#fff}.app-main{flex:1;min-height:0;overflow-y:auto;padding:1.5rem;max-width:1400px;width:100%;margin:0 auto}@media (max-width:767px){.app-main{padding:1rem .75rem}}.app-main--fixed{overflow:hidden;display:flex;flex-direction:column}.app-main--fixed>*{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.app-footer{flex-shrink:0;display:flex;flex-direction:column;gap:.5rem;background:#f1f3f5;border-top:1px solid #dee2e6;padding:1rem 1.5rem;font-size:.875rem;color:#6c757d}.app-footer__row{display:flex;align-items:center;justify-content:space-between}.page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;flex-shrink:0}.page-header__title{font-size:1.5rem;font-weight:700}.page-header__subtitle{font-size:.875rem;color:#6c757d;margin-top:.25rem}.page-header__actions{display:flex;align-items:center;gap:.75rem}.timing-workspace{display:grid;gap:1.25rem;flex:1;min-height:0;grid-auto-rows:1fr}.timing-workspace--scenario2{grid-template-columns:1fr 2fr 1fr}@media (max-width:1199px){.timing-workspace--scenario2{grid-template-columns:1fr 1fr}}@media (max-width:767px){.timing-workspace--scenario2{grid-template-columns:1fr}}.timing-workspace--scenario3{grid-template-columns:1fr 2fr}@media (max-width:767px){.timing-workspace--scenario3{grid-template-columns:1fr}}.timing-workspace__column{display:flex;flex-direction:column;gap:1rem;min-height:0}.panel{background:#fff;border-radius:.75rem;box-shadow:0 2px 8px rgba(0,0,0,.12);border:1px solid #dee2e6;display:flex;flex-direction:column;overflow:hidden;min-height:0}.panel__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #dee2e6;background:#f8f9fa;gap:.75rem;flex-shrink:0}.panel__title{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#6c757d}.panel__badge{background:#0052a3;color:#fff;border-radius:9999px;font-size:.75rem;font-weight:700;padding:.25rem .5rem;min-width:1.5rem;text-align:center;line-height:1}.panel__body{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.panel__footer{padding:.75rem 1.25rem;border-top:1px solid #dee2e6;background:#f8f9fa;flex-shrink:0}.panel--grow{flex:1;min-height:0}.panel--fixed{flex-shrink:0}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media (max-width:575px){.grid-2{grid-template-columns:1fr}}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}@media (max-width:991px){.grid-3{grid-template-columns:repeat(2,1fr)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;background:0 0;cursor:pointer;font-family:"Segoe UI",system-ui,-apple-system,Arial,sans-serif;font-weight:600;line-height:1.25;text-decoration:none;user-select:none;white-space:nowrap;transition:background 150ms,color 150ms,box-shadow 150ms,transform 150ms;padding:.75rem 1.25rem;border-radius:.5rem;font-size:1rem}.btn:focus-visible{outline:rgba(0,82,163,.5) solid 3px;outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn:active:not(:disabled){transform:scale(.97)}.btn--sm{padding:.5rem .75rem;font-size:.875rem}.btn--lg{padding:1rem 2rem;font-size:1.125rem}.btn--primary{background:#0052a3;color:#fff}.btn--primary:hover:not(:disabled){background:#003c7a}.btn--danger{background:#d0312d;color:#fff}.btn--danger:hover:not(:disabled){background:#a32420}.btn--success{background:#1a7f37;color:#fff}.btn--success:hover:not(:disabled){filter:brightness(.92)}.btn--accent{background:#f5a623;color:#212529}.btn--accent:hover:not(:disabled){background:#c27b00}.btn--ghost{background:0 0;color:#0052a3;border:2px solid #0052a3}.btn--ghost:hover:not(:disabled){background:rgba(0,82,163,.08)}.btn--ghost-danger{background:0 0;color:#d0312d;border:2px solid #d0312d}.btn--ghost-danger:hover:not(:disabled){background:rgba(208,49,45,.08)}.btn--icon{padding:.5rem;border-radius:.5rem;color:#6c757d}.btn--icon:hover{background:#f1f3f5;color:#212529}.btn--icon svg{width:1.125rem;height:1.125rem}.btn--full{width:100%}.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}.btn svg{width:1rem;height:1rem;flex-shrink:0}.ts-capture-btn{position:relative;display:flex;align-items:center;justify-content:center;display:flex;flex-direction:column;width:7rem;height:7rem;border-radius:9999px;border:none;cursor:pointer;background:#0052a3;color:#fff;font-family:"Segoe UI",system-ui,-apple-system,Arial,sans-serif;font-weight:700;font-size:.875rem;gap:.25rem;box-shadow:0 4px 16px rgba(0,0,0,.16);transition:transform 150ms,box-shadow 150ms,background 150ms;user-select:none;touch-action:manipulation}.ts-capture-btn::before{content:"";position:absolute;inset:-8px;border-radius:9999px;border:3px solid #0052a3;opacity:0;animation:2s ease-out infinite pulse-ring}.ts-capture-btn:hover:not(:disabled){background:#003c7a;box-shadow:0 8px 32px rgba(0,0,0,.18);transform:scale(1.04)}.ts-capture-btn:active:not(:disabled){transform:scale(.95);background:#003c7a}.ts-capture-btn:focus-visible{outline:rgba(0,82,163,.5) solid 3px;outline-offset:2px}.ts-capture-btn:disabled{opacity:.5;cursor:not-allowed}.ts-capture-btn__icon{width:2.25rem;height:2.25rem;pointer-events:none}.ts-capture-btn__label{font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;pointer-events:none}.ts-capture-btn--mobile{width:9rem;height:9rem}.ts-capture-btn--mobile .ts-capture-btn__icon{width:3rem;height:3rem}.ts-capture-btn--mobile .ts-capture-btn__label{font-size:.875rem}.ts-capture-btn--flash{animation:.25s capture-flash}@keyframes capture-flash{0%{background:#f5a623;transform:scale(1.08)}100%{background:#0052a3;transform:scale(1)}}.ts-chip{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#fff;border:1.5px solid #dee2e6;border-radius:.5rem;cursor:grab;transition:border-color 150ms,box-shadow 150ms,background 150ms;user-select:none;touch-action:none}.ts-chip:hover{border-color:#0052a3;box-shadow:0 1px 3px rgba(0,0,0,.08)}.ts-chip--dragging{opacity:.55;cursor:grabbing;box-shadow:0 4px 16px rgba(0,0,0,.16);border-color:#0052a3}.ts-chip__time{font-size:1.125rem;font-weight:700;font-variant-numeric:tabular-nums;color:#212529}.ts-chip__meta{display:flex;flex-direction:column;gap:.25rem;min-width:0}.ts-chip__seq{font-size:.75rem;color:#6c757d;font-weight:500}.ts-chip__confidence{display:inline-block;width:8px;height:8px;border-radius:9999px;flex-shrink:0}.ts-chip__confidence--high{background:#1a7f37}.ts-chip__confidence--medium{background:#e6a817}.ts-chip__confidence--low{background:#d0312d}.ts-chip__warning{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.125rem;height:1.125rem;color:#e6a817}.ts-chip__warning svg{width:1.125rem;height:1.125rem}.ts-chip__drag-handle{color:#ced4da;flex-shrink:0}.ts-chip__drag-handle svg{width:1rem;height:1rem}.ts-chip__trash-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.75rem;height:1.75rem;padding:0;border:none;background:0 0;color:#ced4da;border-radius:.25rem;cursor:pointer;transition:color 150ms,background 150ms}.ts-chip__trash-btn svg{width:1rem;height:1rem}.ts-chip__trash-btn:hover{color:#d0312d;background:rgba(208,49,45,.08)}.ts-trash-zone{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem .75rem;border:1.5px dashed #dee2e6;border-radius:.5rem;color:#6c757d;font-size:.75rem;font-weight:500;transition:border-color 150ms,color 150ms,background 150ms}.ts-trash-zone svg{width:1rem;height:1rem}.ts-trash-zone--drop-target{border-color:#d0312d;color:#d0312d;background:rgba(208,49,45,.06)}.boat-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#fff;border-bottom:1px solid #dee2e6;transition:background 150ms;min-height:3.5rem;position:relative}.boat-item:last-child{border-bottom:none}.boat-item:hover{background:#f8f9fa}.boat-item--drop-target{background:#cce4ff;border:2px dashed #0052a3;outline:0}.boat-item--started{border-left:3px solid #f5a623}.boat-item--finished{border-left:3px solid #1a7f37}.boat-item__number{font-size:.875rem;font-weight:700;color:#0052a3;min-width:2.5rem;text-align:center;background:#f1f3f5;border-radius:.25rem;padding:.25rem .5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.boat-item__info{flex:1;min-width:0}.boat-item__team{font-weight:600;font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.boat-item__category{font-size:.75rem;color:#6c757d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.boat-item--expandable{cursor:pointer}.boat-item__details{display:flex;flex-wrap:wrap;gap:.25rem .75rem;margin-top:.25rem;font-size:.75rem;color:#6c757d}.boat-item__details[hidden]{display:none}.boat-item__detail{white-space:nowrap}.boat-item__detail-label{font-weight:600;text-transform:uppercase;letter-spacing:.02em;margin-right:.25rem}.boat-item__times{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.boat-item__start{font-size:.75rem;color:#6c757d;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.boat-item__time{font-size:.875rem;font-weight:700;font-variant-numeric:tabular-nums;color:#1a7f37;white-space:nowrap;flex-shrink:0}.boat-item__elapsed{font-size:.75rem;color:#6c757d;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.boat-item__actions{display:flex;align-items:center;gap:.25rem;flex-shrink:0;opacity:0;transition:opacity 150ms}.boat-item:focus-within .boat-item__actions,.boat-item:hover .boat-item__actions{opacity:1}.boat-list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.boat-list::-webkit-scrollbar{width:6px}.boat-list::-webkit-scrollbar-track{background:#f1f3f5;border-radius:9999px}.boat-list::-webkit-scrollbar-thumb{background:#ced4da;border-radius:9999px}.boat-list::-webkit-scrollbar-thumb:hover{background:#adb5bd}.boat-list--search-active .boat-item:not([data-match=true]){display:none}.search-bar{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid #dee2e6;background:#fff}.search-bar__icon{color:#6c757d;flex-shrink:0}.search-bar__icon svg{width:1rem;height:1rem}.search-bar__input{flex:1;border:none;outline:0;font-size:.875rem;background:0 0;color:#212529}.search-bar__input::placeholder{color:#6c757d}.search-bar__clear{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;background:0 0;cursor:pointer;font-family:"Segoe UI",system-ui,-apple-system,Arial,sans-serif;font-size:1rem;font-weight:600;line-height:1.25;text-decoration:none;user-select:none;white-space:nowrap;transition:background 150ms,color 150ms,box-shadow 150ms,transform 150ms;color:#6c757d;padding:.25rem;border-radius:.25rem}.search-bar__clear:focus-visible{outline:rgba(0,82,163,.5) solid 3px;outline-offset:2px}.search-bar__clear:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.search-bar__clear:active:not(:disabled){transform:scale(.97)}.search-bar__clear:hover{color:#212529;background:#f1f3f5}.search-bar__clear svg{width:.875rem;height:.875rem}.badge--pending{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;background:rgba(206,212,218,.15);color:#495057;border-radius:9999px;font-size:.75rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.badge--started{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;background:rgba(245,166,35,.15);color:rgb(121.4782608696,77.8565217391,5.5217391304);border-radius:9999px;font-size:.75rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.badge--finished,.badge--high{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;background:#d3f5de;color:#1a7f37;border-radius:9999px;font-size:.75rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.badge--medium{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;background:#fff3cd;color:rgb(137.2727272727,100.2687747036,13.7272727273);border-radius:9999px;font-size:.75rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.badge--low{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;background:rgba(208,49,45,.1);color:#d0312d;border-radius:9999px;font-size:.75rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.conn-indicator{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;padding:.25rem .75rem;border-radius:9999px;border:1px solid transparent}.conn-indicator__dot{width:8px;height:8px;border-radius:9999px;flex-shrink:0}.conn-indicator--online{background:rgba(26,127,55,.1);color:#1a7f37;border-color:rgba(26,127,55,.25)}.conn-indicator--online .conn-indicator__dot{background:#1a7f37}.conn-indicator--offline{background:rgba(208,49,45,.1);color:#d0312d;border-color:rgba(208,49,45,.25)}.conn-indicator--offline .conn-indicator__dot{background:#d0312d;animation:1.2s step-start infinite blink}.conn-indicator--syncing{background:rgba(2,136,209,.1);color:#0288d1;border-color:rgba(2,136,209,.25)}.conn-indicator--syncing .conn-indicator__dot{background:#0288d1;animation:1s linear infinite spin;border-radius:50%}.toast-container{position:fixed;bottom:1.5rem;right:1.5rem;z-index:500;display:flex;flex-direction:column;gap:.75rem;max-width:22rem}@media (max-width:575px){.grid-3{grid-template-columns:1fr}.toast-container{bottom:1rem;right:.75rem;left:.75rem;max-width:none}}.toast{background:#fff;border-radius:.75rem;box-shadow:0 4px 16px rgba(0,0,0,.16);border:1px solid #dee2e6;padding:1rem 1.25rem;display:flex;align-items:flex-start;gap:.75rem;animation:250ms slide-in-up}.toast--success{border-left:4px solid #1a7f37}.toast--error{border-left:4px solid #d0312d}.toast--warning{border-left:4px solid #e6a817}.toast--info{border-left:4px solid #0288d1}.toast__icon{flex-shrink:0;width:1.25rem;height:1.25rem;margin-top:.1rem}.toast__body{flex:1;min-width:0}.toast__title{font-weight:600;font-size:.875rem;margin-bottom:.25rem}.toast__message{font-size:.875rem;color:#6c757d}.toast__close{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;background:0 0;cursor:pointer;font-family:"Segoe UI",system-ui,-apple-system,Arial,sans-serif;font-size:1rem;font-weight:600;line-height:1.25;text-decoration:none;user-select:none;white-space:nowrap;transition:background 150ms,color 150ms,box-shadow 150ms,transform 150ms;padding:.25rem;color:#6c757d;flex-shrink:0}.toast__close:focus-visible{outline:rgba(0,82,163,.5) solid 3px;outline-offset:2px}.toast__close:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.toast__close:active:not(:disabled){transform:scale(.97)}.toast__close:hover{color:#212529}.toast__close svg{width:1rem;height:1rem}.toast--removing{animation:.3s forwards fade-out}@keyframes fade-out{to{opacity:0;transform:translateX(8px)}}.form-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.form-label{font-size:.875rem;font-weight:600;color:#212529}.form-control,.form-select{padding:.75rem 1rem;border:1.5px solid #dee2e6;border-radius:.5rem;font-size:1rem;font-family:"Segoe UI",system-ui,-apple-system,Arial,sans-serif;color:#212529;background:#fff;transition:border-color 150ms,box-shadow 150ms;width:100%}.form-control::placeholder,.form-select::placeholder{color:#6c757d}.form-control:focus,.form-select:focus{outline:0;border-color:#0052a3;box-shadow:0 0 0 3px rgba(0,82,163,.15)}.form-control:disabled,.form-select:disabled{background:#f1f3f5;cursor:not-allowed}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236c757d' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem;cursor:pointer}.run-selector{display:flex;flex-direction:column;gap:.5rem;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.run-selector::-webkit-scrollbar{width:6px}.run-selector::-webkit-scrollbar-track{background:#f1f3f5;border-radius:9999px}.run-selector::-webkit-scrollbar-thumb{background:#ced4da;border-radius:9999px}.run-selector::-webkit-scrollbar-thumb:hover{background:#adb5bd}.run-selector__item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border:1.5px solid #dee2e6;border-radius:.5rem;background:#fff;cursor:pointer;transition:border-color 150ms,background 150ms;font-size:.875rem}.run-selector__item:hover{border-color:#0052a3;background:#f8f9fa}.run-selector__item--active{border-color:#0052a3;background:rgba(0,82,163,.05);font-weight:600}.run-selector__name{font-weight:500}.run-selector__status{font-size:.75rem}.active-run-banner{background:rgba(0,82,163,.08);border:1.5px solid rgba(0,82,163,.25);border-radius:.5rem;padding:.75rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-shrink:0}.active-run-banner__label{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#0052a3;font-weight:600}.active-run-banner__name{font-size:1.125rem;font-weight:700;color:#212529}.shared-start-confirm{display:flex;align-items:center;justify-content:center;display:flex;flex-direction:column;gap:1rem;padding:2rem;text-align:center;animation:250ms fade-in}.shared-start-confirm__icon{width:3rem;height:3rem;color:#1a7f37}.shared-start-confirm__time{font-size:2rem;font-weight:700;font-variant-numeric:tabular-nums;color:#212529}.shared-start-confirm__label{font-size:.875rem;color:#6c757d}.drop-zone{border:2px dashed #dee2e6;border-radius:.5rem;padding:1.5rem;display:flex;align-items:center;justify-content:center;color:#6c757d;font-size:.875rem;transition:background 150ms,border-color 150ms;min-height:4rem}.drop-zone--active{background:#cce4ff;border:2px dashed #0052a3;outline:0;color:#0052a3}.spinner{display:inline-block;width:1.25rem;height:1.25rem;border:2px solid rgba(0,82,163,.2);border-top-color:#0052a3;border-radius:9999px;animation:.75s linear infinite spin}.spinner--sm{width:1rem;height:1rem}.spinner--lg{width:2rem;height:2rem;border-width:3px}.spinner--white{border-color:rgba(255,255,255,.3);border-top-color:#fff}.offline-buffer-banner{background:#fff3cd;border:1px solid rgba(230,168,23,.4);border-radius:.5rem;padding:.75rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.875rem}.offline-buffer-banner__count{font-weight:700;color:rgb(137.2727272727,100.2687747036,13.7272727273)}.empty-state{display:flex;align-items:center;justify-content:center;display:flex;flex-direction:column;gap:.75rem;padding:3rem 2rem;text-align:center;color:#6c757d}.empty-state__icon{width:3rem;height:3rem;opacity:.4}.empty-state__title{font-size:1.125rem;font-weight:600;color:#212529}.empty-state__message{font-size:.875rem;max-width:22rem}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:300;display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:150ms fade-in}.modal{background:#fff;border-radius:.75rem;box-shadow:0 8px 32px rgba(0,0,0,.18);border:1px solid #dee2e6;width:100%;max-width:32rem;max-height:90dvh;overflow-y:auto;animation:250ms slide-in-up}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid #dee2e6}.modal__title{font-size:1.25rem;font-weight:700}.modal__body{padding:1.5rem}.modal__footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid #dee2e6;background:#f8f9fa;flex-wrap:wrap}.alert{padding:.75rem 1rem;border-radius:.5rem;font-size:.875rem;margin-bottom:1rem;border:1px solid transparent}.alert--error{background:rgba(208,49,45,.08);border-color:rgba(208,49,45,.3);color:#a32420}.alert--warning{background:#fff3cd;border-color:rgba(230,168,23,.4);color:#c27b00}.alert--success{background:#d3f5de;border-color:rgba(26,127,55,.35);color:#1a7f37}.data-table{width:100%;border-collapse:collapse;font-size:.875rem}.data-table td,.data-table th{text-align:left;padding:.75rem 1rem;border-bottom:1px solid #dee2e6}.data-table th{color:#6c757d;font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.04em}.data-table tbody tr:hover{background:#f8f9fa}.dashboard__hero{text-align:center;padding:3rem 1.5rem}.dashboard__scenario-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:2rem}@media (max-width:767px){.dashboard__scenario-cards{grid-template-columns:1fr}}.scenario-card{background:#fff;border-radius:.75rem;box-shadow:0 2px 8px rgba(0,0,0,.12);border:1px solid #dee2e6;padding:2rem;text-align:center;transition:box-shadow 250ms,transform 250ms;text-decoration:none;color:inherit}.scenario-card:hover{box-shadow:0 8px 32px rgba(0,0,0,.18);transform:translateY(-2px);text-decoration:none}.scenario-card__icon{width:4rem;height:4rem;margin:0 auto 1.25rem;color:#0052a3}.scenario-card__title{font-size:1.5rem;font-weight:700;margin-bottom:.75rem}.scenario-card__description{font-size:.875rem;color:#6c757d;margin-bottom:1.5rem}.scenario-card__meta{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#6c757d;font-weight:600}.scenario-card--disabled{opacity:.6}.scenario-card--disabled:hover{box-shadow:none;transform:none}.ts-capture-area{display:flex;align-items:center;justify-content:center;display:flex;flex-direction:column;gap:1.5rem;padding:2rem;min-height:14rem}.ts-capture-area__button-wrap{position:relative;display:flex;align-items:center;justify-content:center}.ts-capture-area__info{text-align:center;font-size:.875rem;color:#6c757d}.ts-capture-area__last-ts{font-variant-numeric:tabular-nums;font-weight:600;color:#212529}.ts-pool{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:.75rem;display:flex;flex-direction:column;gap:.5rem;background:#f8f9fa}.ts-pool::-webkit-scrollbar{width:6px}.ts-pool::-webkit-scrollbar-track{background:#f1f3f5;border-radius:9999px}.ts-pool::-webkit-scrollbar-thumb{background:#ced4da;border-radius:9999px}.ts-pool::-webkit-scrollbar-thumb:hover{background:#adb5bd}.ts-pool--empty{display:flex;align-items:center;justify-content:center;color:#6c757d;font-size:.875rem;padding:2rem}.s3-mobile{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:1.5rem 1rem;background:#f8f9fa}.s3-mobile__header{width:100%;text-align:center}.s3-mobile__run-info{background:#fff;border-radius:.75rem;box-shadow:0 2px 8px rgba(0,0,0,.12);border:1px solid #dee2e6;width:100%;padding:1.25rem 1.5rem;text-align:center}.s3-mobile__run-name{font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.s3-mobile__run-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#6c757d;font-weight:600}.s3-mobile__boat-count{font-size:.875rem;color:#6c757d;margin-top:.5rem}.s3-mobile__btn-area{flex-shrink:0;display:flex;align-items:center;justify-content:center;display:flex;flex-direction:column;gap:1rem;width:100%}.s3-mobile__boats{width:100%;flex:1;min-height:0;background:#fff;border-radius:.75rem;box-shadow:0 2px 8px rgba(0,0,0,.12);border:1px solid #dee2e6;overflow:hidden}.s3-mobile__boats .panel__body{overflow-y:auto;overscroll-behavior:contain}.s3-mobile__boats .panel__body::-webkit-scrollbar{width:6px}.s3-mobile__boats .panel__body::-webkit-scrollbar-track{background:#f1f3f5;border-radius:9999px}.s3-mobile__boats .panel__body::-webkit-scrollbar-thumb{background:#ced4da;border-radius:9999px}.s3-mobile__boats .panel__body::-webkit-scrollbar-thumb:hover{background:#adb5bd}.s3-mobile__boat-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;border-bottom:1px solid #dee2e6;font-size:.875rem}.s3-mobile__boat-row:last-child{border-bottom:none}.s3-mobile__boat-row--started{background:rgba(245,166,35,.06)}.results-table{width:100%}.results-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#6c757d;font-weight:600;padding:.75rem 1rem;border-bottom:2px solid #dee2e6;text-align:left;white-space:nowrap}.results-table td{padding:.75rem 1rem;font-size:.875rem;border-bottom:1px solid #dee2e6;vertical-align:middle}.results-table tbody tr{transition:background 150ms}.results-table tbody tr:hover{background:#f8f9fa}.results-table tbody tr:last-child td{border-bottom:none}.results-table__rank{font-weight:700;color:#0052a3}.results-table__time{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.results-table__elapsed{font-variant-numeric:tabular-nums;font-weight:700;color:#1a7f37}.setup-form{max-width:40rem;margin:0 auto}.setup-form__section{background:#fff;border-radius:.75rem;box-shadow:0 2px 8px rgba(0,0,0,.12);border:1px solid #dee2e6;padding:1.5rem;margin-bottom:1.25rem}.setup-form__section-title{font-size:1.125rem;font-weight:700;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid #dee2e6}