@import"https://fonts.googleapis.com/css2?family=Work+Sans:wght@300;400;500&display=swap";:root{--bg: #ffffff;--ink: #1a1a1a;--accent: #1a1a1a;--muted: #6f6f6f;--card: #ffffff;--border: #e8e8e8;--footer-note-color: #b7b7b7;--footer-note-size: 10px}*{box-sizing:border-box}body{margin:0;font-family:Work Sans,Helvetica Neue,Segoe UI,sans-serif;background:var(--bg);color:var(--ink)}body.body--intro{overflow:hidden}.auth-shell{position:sticky;top:0;z-index:20;padding:18px 24px 0;display:flex;justify-content:flex-end}.auth-bar{display:flex;align-items:center;justify-content:flex-end;gap:16px}.account-actions-stack{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.auth-actions{display:flex;align-items:center;gap:10px}.auth-action{display:inline-flex;align-items:center;min-height:32px;border:0;background:transparent;padding:0;color:#9f9f9f;font-size:14px;line-height:1;font-weight:300;letter-spacing:.01em;font-family:inherit}.auth-action:hover,.auth-action:focus-visible{color:var(--muted)}.account-menu{position:relative}.account-menu-trigger{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;padding:0;color:#9f9f9f;font-family:inherit;border-radius:999px;overflow:hidden}.account-menu-trigger:hover,.account-menu-trigger:focus-visible{color:var(--ink);outline:1px solid var(--border);outline-offset:2px}.account-avatar{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;object-fit:cover}.account-avatar--fallback{background:#f5f5f5;color:var(--muted);font-size:12px;font-weight:400;line-height:1}.account-menu-panel{position:absolute;top:calc(100% + 12px);right:0;min-width:190px;display:flex;flex-direction:column;gap:4px;padding:8px;border:1px solid var(--border);border-radius:8px;background:#fffffffa;box-shadow:0 12px 30px #1a1a1a14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.account-menu-item{width:100%;display:flex;align-items:center;gap:8px;border:0;background:transparent;padding:9px 10px;color:var(--muted);font:inherit;font-size:13px;font-weight:300;text-align:left;text-decoration:none;border-radius:6px}.account-menu-item:hover,.account-menu-item:focus-visible{color:var(--ink);background:#f5f5f5}.account-menu-item--stacked{align-items:flex-start}.account-menu-item__label,.account-menu-item__meta{display:block}.account-menu-item__meta{margin-top:2px;max-width:140px;overflow:hidden;color:#9f9f9f;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.session-share-control{position:relative;display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end}.session-share-trigger{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:999px;background:#fffffff5;color:#9f9f9f;padding:0;box-shadow:0 8px 20px #1a1a1a0f}.session-share-trigger:hover:not(:disabled),.session-share-trigger:focus-visible{color:var(--ink);background:#fff}.session-share-trigger--shared{color:var(--ink)}.session-share-icon{width:15px;height:15px;display:block}.session-share-options{position:absolute;top:calc(100% + 6px);right:0;display:flex;flex-direction:column;align-items:center;gap:6px;padding:0}.session-share-option{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:999px;background:#fffffff5;color:var(--muted);padding:0;font-size:12px;font-weight:400;box-shadow:0 8px 20px #1a1a1a0f}.session-share-option:hover:not(:disabled),.session-share-option:focus-visible{color:var(--ink);background:#f5f5f5}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:center;justify-content:center;padding:24px;background:#1a1a1a2e}.boat-manager{width:min(720px,100%);max-height:min(720px,calc(100vh - 48px));overflow:auto;display:flex;flex-direction:column;gap:18px;padding:22px;border:1px solid var(--border);border-radius:8px;background:#fffffffa;box-shadow:0 24px 70px #1a1a1a29}.share-dialog{width:min(680px,calc(100vw - 48px));display:flex;flex-direction:column;gap:14px;padding:20px;border:1px solid var(--border);border-radius:8px;background:#fffffffa;box-shadow:0 24px 70px #1a1a1a29}.share-dialog__header{display:flex;align-items:center;justify-content:space-between;gap:16px}.share-dialog__header h2{margin:0;font-size:18px;font-weight:500}.share-dialog__link{display:block;overflow-wrap:anywhere;color:var(--ink);font-size:14px;line-height:1.5}.share-dialog__footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px}.share-dialog__meta{min-width:0;margin:0;color:var(--muted);font-size:13px;font-weight:300}.share-dialog__button{flex:0 0 auto;min-width:112px;border:none;background:#f5f5f5;color:var(--ink)}.share-dialog__button:hover:not(:disabled){background:#ebebeb}.plot-template-upload-dialog{width:min(480px,calc(100vw - 48px));display:flex;flex-direction:column;gap:18px;padding:22px;border:1px solid var(--border);border-radius:8px;background:#fffffffc;box-shadow:0 24px 70px #1a1a1a29}.plot-template-upload-dialog__header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.plot-template-upload-dialog__header h2,.plot-template-upload-dialog__header p{margin:0}.plot-template-upload-dialog__header h2{font-size:20px;font-weight:500}.plot-template-upload-dialog__header p{margin-top:5px;color:var(--muted);font-size:13px;font-weight:300}.plot-template-upload-dialog__form,.plot-template-upload-dialog__form label{display:flex;flex-direction:column}.plot-template-upload-dialog__form{gap:16px}.plot-template-upload-dialog__form label{gap:6px;color:var(--muted);font-size:12px;font-weight:300}.plot-template-upload-dialog__form input,.plot-template-upload-dialog__form select{width:100%;border:1px solid var(--border);border-radius:6px;padding:9px 10px;background:#fff;color:var(--ink);font:inherit;font-size:13px}.plot-template-upload-dialog__form small{font-size:11px;line-height:1.4}.plot-template-upload-dialog__actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px}.plot-workflow-backdrop{z-index:40}.plot-workflow-dialog{width:min(1040px,calc(100vw - 48px));max-height:calc(100vh - 48px);overflow:auto;display:flex;flex-direction:column;gap:16px;padding:22px;border:1px solid var(--border);border-radius:10px;background:#fffffffc;box-shadow:0 24px 70px #1a1a1a29}.plot-workflow-dialog__header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.plot-workflow-dialog__header h2{margin:0;font-size:20px;font-weight:500}.plot-workflow-dialog__header p,.plot-workflow-dialog__message{margin:5px 0 0;color:var(--muted);font-size:13px;font-weight:300}.plot-workflow-dialog__message--selection{max-width:820px;margin-top:0;color:var(--ink);line-height:1.55}.plot-workflow-dialog__status{min-height:120px;display:flex;align-items:center;justify-content:center;color:var(--muted)}.plot-workflow-dialog__actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}.plot-workflow-button{min-width:112px;border:0;background:#f5f5f5;color:var(--ink)}.plot-workflow-button:hover:not(:disabled),.plot-workflow-button:focus-visible{background:#ebebeb}.plot-workflow-button--primary{background:var(--ink);color:#fff}.plot-workflow-button--primary:hover:not(:disabled),.plot-workflow-button--primary:focus-visible{background:#3a3a3a}.plot-workflow-template-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.plot-workflow-template{min-width:0;display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:14px;border:1px solid var(--border);border-radius:8px;padding:10px;background:#fff;color:var(--ink);text-align:left}.plot-workflow-template:hover:not(:disabled),.plot-workflow-template:focus-visible{border-color:#c7c7c7;background:#fafafa}.plot-workflow-template:disabled{opacity:.62}.plot-workflow-template__image{width:150px;aspect-ratio:4 / 3;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--border);border-radius:6px;background:#fafafa;color:var(--muted);font-size:12px}.plot-workflow-template__image img{width:100%;height:100%;display:block;object-fit:contain}.plot-workflow-template__meta{min-width:0;display:flex;flex-direction:column;gap:5px;font-size:12px;overflow-wrap:anywhere}.plot-workflow-template__meta strong{font-size:14px;font-weight:500}.plot-workflow-selection-summary{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:13px}.plot-workflow-warnings{margin:0;padding:0;list-style:none}.plot-workflow-preview{width:100%;min-height:260px;display:flex;align-items:flex-start;justify-content:flex-start;overflow:auto;padding:12px;border:1px solid var(--border);border-radius:8px;background:#f5f5f5}.plot-workflow-preview--selection{min-height:360px}.plot-workflow-ruler{width:100%;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--muted);font-size:11px}.plot-workflow-ruler__measure{display:flex;flex-direction:column;align-items:flex-start;gap:7px;overflow:hidden}.plot-workflow-ruler__measure strong{color:var(--ink);font-size:12px;font-weight:500}.plot-workflow-ruler__line{height:12px;min-width:50mm;max-width:200mm;position:relative;border-top:2px solid #252525}.plot-workflow-ruler__line:before,.plot-workflow-ruler__line:after{content:"";height:12px;position:absolute;top:-7px;border-left:2px solid #252525}.plot-workflow-ruler__line:before{left:0}.plot-workflow-ruler__line:after{right:0}.plot-workflow-ruler label{width:min(360px,45%);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px 10px}.plot-workflow-ruler input{grid-column:1 / -1;width:100%}.plot-workflow-ruler output{color:var(--ink);font-variant-numeric:tabular-nums}.plot-workflow-preview__paper-scroll{flex:0 0 auto;margin:auto}.plot-workflow-preview__svg{flex:0 0 auto;display:block;background:#fff;box-shadow:0 10px 34px #1a1a1a1f}.plot-workflow-preview__image--blurred{filter:blur(3px);opacity:.62}.plot-workflow-preview__empty-cells{fill:#cd2e2e29;stroke:#c52f2f;stroke-width:.7}.plot-workflow-preview__empty-cells rect{vector-effect:non-scaling-stroke}.plot-workflow-preview__strokes{fill:none;stroke:#161616;stroke-width:.22;stroke-linecap:round;stroke-linejoin:round}.plot-workflow-error,.plot-workflow-notice,.plot-workflow-warnings{font-size:13px;line-height:1.45}.plot-workflow-error{color:#a33}.plot-workflow-notice{color:var(--ink)}.plot-workflow-warnings{display:flex;flex-direction:column;gap:4px;color:#8a6618}.boat-manager__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.boat-manager__header h2{margin:0;font-size:18px;font-weight:500}.boat-manager__header p{margin:5px 0 0;color:var(--muted);font-size:13px;font-weight:300}.boat-manager__close{width:32px;height:32px;flex:0 0 auto;border:none;background:transparent;padding:0;color:var(--muted);font-size:22px;line-height:1}.boat-manager__close:hover{color:var(--ink);background:#f5f5f5}.boat-manager__form,.boat-list{display:flex;flex-direction:column}.boat-manager__form{gap:14px}.boat-list{gap:8px}.boat-row{display:grid;grid-template-columns:82px minmax(130px,1fr) 120px 120px auto;align-items:end;gap:10px;padding:12px;border:1px solid var(--border);border-radius:8px;background:#fff}.boat-active-choice,.boat-field{min-width:0;color:var(--muted);font-size:12px;font-weight:300}.boat-active-choice{min-height:36px;display:flex;align-items:center;gap:7px}.boat-field{display:flex;flex-direction:column;gap:5px}.boat-field input{width:100%;min-height:36px;border:1px solid var(--border);border-radius:6px;padding:8px 10px;color:var(--ink);font:inherit;font-size:14px}.boat-field input:focus-visible{border-color:var(--ink);outline:none}.boat-row__remove{min-height:36px;border:none;background:transparent;color:var(--muted);padding:6px 8px}.boat-row__remove:hover{color:var(--ink);background:#f5f5f5}.boat-list__empty,.boat-manager__error{font-size:12px;font-weight:300}.boat-list__empty{padding:12px;border:1px dashed var(--border);border-radius:8px;color:var(--muted)}.boat-manager__error{color:#8b3c2f}.boat-manager__actions{display:flex;justify-content:flex-end;gap:10px}.boat-manager__secondary,.boat-manager__primary{min-height:36px;padding:8px 12px}.session-merge-error-dialog{width:min(420px,100%);display:flex;flex-direction:column;gap:14px;padding:22px;border:1px solid var(--border);border-radius:8px;background:#fffffffa;box-shadow:0 24px 70px #1a1a1a29}.session-merge-error-dialog__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.session-merge-error-dialog h2,.session-merge-error-dialog p{margin:0}.session-merge-error-dialog h2{font-size:18px;font-weight:500}.session-merge-error-dialog p{color:var(--muted);font-size:13px;font-weight:300;line-height:1.5}.session-merge-error-dialog__button{align-self:flex-end;min-height:36px;padding:8px 14px}.page{max-width:980px;margin:0 auto;padding:88px 24px 80px;display:flex;flex-direction:column;gap:28px;min-height:100vh;justify-content:flex-start}.page--results{padding-bottom:164px}.page--intro{padding-top:0;padding-bottom:0}.user-menu-icon{width:16px;height:16px;display:block}.intro-stage{--processing-content-width: min(720px, calc(100vw - 48px) );--processing-map-top: 18px;--processing-rail-bottom: 18px;--processing-rail-height: 158px;--processing-title-bottom: calc(var(--processing-rail-bottom) + var(--processing-rail-height) + 18px);--processing-map-size: min(720px, calc(100vw - 48px) , calc(100vh - var(--processing-title-bottom) - 54px));--processing-settle-duration: 2.25s;--processing-settle-easing: cubic-bezier(.33, 0, .2, 1);position:relative;min-height:100vh;display:grid;grid-template-rows:auto 220px;align-content:center;justify-items:center;row-gap:20px}.intro-stage--processing{min-height:100vh;display:block;padding:0}.intro-panel-slot{width:100%;min-height:220px;display:flex;flex-direction:column;align-items:center;gap:18px}.intro-stage--processing .intro-panel-slot{position:fixed;left:50%;bottom:var(--processing-rail-bottom);z-index:2;width:var(--processing-content-width);height:var(--processing-rail-height);transform:translate(-50%);min-height:0;justify-content:flex-start;gap:8px;will-change:transform;animation:intro-rail-settle var(--processing-settle-duration) var(--processing-settle-easing) both}.intro-stage--sessions{position:relative;touch-action:none}.intro-panel-slot--sessions{position:relative}.hero{display:flex;justify-content:space-between;align-items:center}.hero h1{margin:0 0 8px;font-size:34px;font-weight:400;letter-spacing:-.02em}.hero p{margin:0;font-size:15px;color:var(--muted);font-weight:300}.card{background:var(--card);border-radius:8px;padding:20px 22px;border:1px solid var(--border);display:flex;flex-direction:column;gap:12px}.card h2{margin:0;font-size:18px;font-weight:500}button{border:1px solid var(--ink);background:#fff;color:var(--ink);padding:9px 14px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:400}button:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 640px){.auth-bar{flex-direction:column;align-items:stretch}.auth-actions{justify-content:space-between}.account-menu-panel{right:0}}.error{background:#fff5f2;color:#8b3c2f;padding:10px 14px;border-radius:6px;border:1px solid #f1d9d2}.upload-shell{width:100%;display:flex;flex-direction:column;align-items:center;gap:16px}.upload-shell--sessions{position:relative}.upload-title{margin:0;font-weight:300;letter-spacing:.01em;display:flex;flex-direction:column;align-items:flex-start;gap:2px}.intro-stage--processing .upload-title{position:fixed;left:50%;bottom:var(--processing-title-bottom);z-index:2;width:auto;align-items:flex-start;transform:translate(-50%);will-change:transform;animation:intro-title-settle var(--processing-settle-duration) var(--processing-settle-easing) both}.intro-stage--processing .upload-title__tag{display:block}.upload-title__main{font-size:22px}.upload-title__tag{align-self:flex-end;font-size:10px;line-height:1}.upload-frame{width:min(720px,calc(100vw - 48px));box-sizing:border-box;min-height:56px;display:block;position:relative;padding:0;border:1px solid var(--ink);border-radius:28px;background:#fff;transition:min-height .2s ease;cursor:pointer}.intro-stage--processing .upload-frame{width:min(720px,100%)}.intro-stage--processing .upload-shell{height:56px;flex:0 0 56px}.upload-shell.is-expanded .upload-frame{min-height:168px}.upload-content{position:relative;z-index:1;min-height:56px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:0 10px 0 18px}.upload-shell.is-expanded .upload-content{align-items:start;padding-top:14px;padding-bottom:14px}.upload-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.upload-summary{color:var(--muted);font-size:14px;font-weight:300}.upload-placeholder{color:#9f9f9f;font-size:14px;font-weight:300}.upload-text{display:flex;align-items:center;min-width:0}.upload-action,.upload-delete-action,.upload-merge-action,.stories-back-arrow{width:40px;height:40px;border-radius:999px;font-size:18px;line-height:1;padding:0;border:none;background:transparent}.upload-shell--sessions .upload-frame{cursor:default}.upload-shell--sessions .upload-content{display:flex;justify-content:center;min-width:0;overflow:hidden;padding:0 10px}.upload-shell--sessions .upload-text{width:100%;min-width:0;overflow:hidden;justify-content:center;padding:0 48px}.upload-shell--sessions .upload-content--with-session-actions .upload-text{padding-left:68px}.upload-shell--sessions .upload-summary{width:100%;color:var(--ink);font-size:clamp(11px,2.8vw,14px);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.upload-shell--sessions .upload-action{position:absolute;right:8px;top:50%;transform:translateY(-50%)}.upload-shell--sessions .upload-delete-action{position:absolute;left:8px;top:50%;width:24px;display:flex;align-items:center;justify-content:center;color:#9f9f9f;font-size:24px;font-weight:600;transform:translateY(-50%)}.upload-shell--sessions .upload-merge-action{position:absolute;left:29px;top:50%;width:24px;display:flex;align-items:center;justify-content:center;color:#9f9f9f;font-size:21px;font-weight:500;transform:translateY(-50%)}.upload-shell--sessions .upload-merge-action--cancel{left:8px;width:40px;font-size:28px;line-height:1}.upload-shell--sessions .upload-delete-action:hover,.upload-shell--sessions .upload-merge-action:hover{color:var(--ink)}.saved-session-list{width:min(720px,calc(100vw - 48px));max-width:calc(100vw - 48px);height:clamp(120px,calc(50vh - 8px),480px);flex:0 0 auto;overflow:hidden;display:flex;flex-direction:column;align-items:center;margin-top:2px}.saved-session-item,.saved-session-merge-choice{width:100%;max-width:100%;min-width:0;min-height:40px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:clamp(11px,2.8vw,14px);font-weight:300;font-family:inherit;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums;border:none;background:transparent;-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:0;cursor:pointer}.saved-session-merge-choice{gap:9px;text-align:left}.saved-session-merge-choice input{width:14px;height:14px;flex:0 0 auto;accent-color:var(--ink)}.saved-session-merge-choice span{min-width:0;overflow:hidden;text-overflow:ellipsis}.saved-session-item:hover,.saved-session-merge-choice:hover{color:var(--ink);background:transparent}.upload-disclaimer{width:min(720px,calc(100vw - 48px));margin:0 auto;color:var(--footer-note-color);font-size:var(--footer-note-size);line-height:1.5;font-weight:300;text-align:center}.upload-disclaimer-text{display:inline}.upload-disclaimer-cta{display:inline;margin-left:0;text-align:center}.upload-disclaimer-link{color:var(--ink);text-decoration:underline;text-underline-offset:.14em}.upload-disclaimer--page-bottom{position:fixed;left:50%;bottom:24px;z-index:10;transform:translate(-50%)}.stats-shell{width:100%;display:flex;justify-content:center;align-items:flex-start}.intro-stage--processing .stats-shell{width:var(--processing-content-width);height:94px;flex:0 0 94px;flex-direction:column;align-items:center;gap:2px}.stats-block{width:min(720px,100%);display:flex;flex-direction:column;gap:6px;justify-content:flex-start;align-items:center;min-height:360px}.intro-stage--processing .stats-block{width:var(--processing-content-width);height:56px;flex:0 0 56px;min-height:0;justify-content:center;overflow:hidden}.intro-stage--processing .stats-line{text-align:center;white-space:pre-wrap}.intro-stage--processing .stats-line-wrap{width:100%}.stats-animated-text{position:relative;width:100%;display:flex;flex-direction:column;align-items:center}.stats-measure{width:min(720px,100%);max-width:100%;position:absolute;visibility:hidden;pointer-events:none;white-space:pre-wrap;overflow-wrap:break-word}.stats-block-entry{width:100%;display:flex;flex-direction:column;align-items:center}.stats-line-wrap{position:relative;width:fit-content;max-width:100%}.stats-line{text-align:left;white-space:pre;max-width:100%}.stats-line--ghost{visibility:hidden}.stats-line--animated{position:absolute;top:0;right:0;bottom:0;left:0}.stats-value--blurred{filter:blur(2.5px)}.phase-map-frame{position:relative;width:min(360px,calc(100vw - 48px),34vh);aspect-ratio:1 / 1;overflow:visible;pointer-events:none}.intro-stage--map .phase-map-frame{position:fixed;top:24px;left:50%;z-index:0;transform:translate(-50%)}.intro-stage--processing.intro-stage--map .phase-map-frame{top:var(--processing-map-top);width:var(--processing-map-size)}.phase-map-frame__canvas{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:#ffffff57;overflow:hidden}.phase-map-frame__image{width:100%;height:100%;display:block;position:relative;z-index:1;object-fit:fill}.phase-map-frame__overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;z-index:2}.phase-map-frame__line{fill:none;stroke:#2f2f2fd1;stroke-width:.8;vector-effect:non-scaling-stroke}.phase-map-frame__markers{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3}.phase-map-frame__marker{position:absolute;width:6px;height:6px;border:.8px solid #000;border-radius:50%;transform:translate(-50%,-50%)}.phase-map-writing-layer{position:fixed;top:var(--processing-map-top);left:50%;z-index:5;width:var(--processing-content-width);height:var(--processing-map-size);display:flex;align-items:center;justify-content:center;padding:0;text-align:center;transform:translate(-50%);pointer-events:none}.phase-map-writing-layer .stats-animated-text{position:relative;z-index:1;max-width:100%}.phase-map-writing-layer .stats-block-entry,.phase-map-writing-layer .stats-line-wrap,.phase-map-writing-layer .stats-line{position:relative;z-index:1}.phase-map-writing-layer .stats-line--animated{position:absolute}.phase-map-writing-layer .stats-line{white-space:pre-wrap;text-align:center}.stats-session-meta{position:fixed;bottom:24px;left:0;right:0;text-align:center;font-size:var(--footer-note-size);color:var(--footer-note-color);line-height:1.5;font-weight:300;display:flex;flex-direction:column;gap:2px}.intro-stage--processing .stats-session-meta{position:static;width:var(--processing-content-width);flex:0 0 auto}@keyframes intro-title-settle{0%{transform:translate3d(-50%,-34vh,0)}to{transform:translate3d(-50%,0,0)}}@keyframes intro-rail-settle{0%{transform:translate3d(-50%,-30vh,0)}to{transform:translate3d(-50%,0,0)}}.results-session-id{margin-top:8px;padding-bottom:24px;text-align:center;font-size:var(--footer-note-size);color:var(--footer-note-color);line-height:1.5;font-weight:300}.muted{color:var(--muted)}.section-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-header--centered,.section-header--stacked{justify-content:center}.section-header--stacked{flex-direction:column;gap:8px}.section-header h2{margin:0;font-size:18px;font-weight:500;text-align:center}.results-stack{display:flex;flex-direction:column;gap:8px}.shared-session-error{width:min(520px,100%);margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.shared-session-error h1,.shared-session-error p{margin:0}.shared-session-error h1{font-size:24px;font-weight:400}.shared-session-error p{color:var(--muted);font-size:14px;font-weight:300;line-height:1.5}.session-summary{display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:32px}.session-summary h2{max-width:100%;margin:0;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:anywhere;font-size:18px;font-weight:500;line-height:1.25;text-align:center}.session-summary-grid{width:min(720px,100%);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 18px;margin:0}.session-summary-item{min-width:0;text-align:center}.session-summary-item dt{margin:0 0 3px;color:var(--muted);font-size:12px;font-weight:300}.session-summary-item dd{margin:0;font-size:14px;font-weight:400;font-variant-numeric:tabular-nums}.sailor-log-shell{width:min(720px,100%);margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:22px}.sailor-log-header{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.sailor-log-header h1{margin:0;font-size:28px;font-weight:400}.sailor-log-header p{margin:0;color:var(--muted);font-size:14px;font-weight:300}.sailor-stat-summary{display:flex;flex-direction:column;align-items:center;gap:4px}.sailor-stat-summary__value{font-size:42px;font-weight:300;line-height:1;font-variant-numeric:tabular-nums}.sailor-stat-summary__label{color:var(--muted);font-size:13px;font-weight:300}.sailor-session-list{width:100%;display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none}.sailor-session-item{color:var(--muted);font-size:14px;font-weight:300;text-align:center;font-variant-numeric:tabular-nums}.preferences-shell{width:min(900px,100%);margin:0 auto;display:flex;flex-direction:column;align-items:stretch;gap:22px}.preferences-header{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.preferences-header h1{margin:0;font-size:28px;font-weight:400}.preferences-header p{max-width:100%;margin:0;color:var(--muted);font-size:12px;font-weight:300;overflow-wrap:anywhere}.preferences-group{display:flex;flex-direction:column;gap:12px}.preferences-tile-list{display:flex;flex-direction:column;gap:14px}.preferences-tile{width:100%}.preferences-checkbox-tile{cursor:pointer}.plot-template-file-input{display:none}.plot-template-pagesize{width:min(460px,100%);align-self:center;display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:12px;font-weight:300}.plot-template-pagesize input{width:100%;border:1px solid var(--border);border-radius:6px;padding:9px 10px;background:#fff;color:var(--ink);font:inherit;font-size:13px}.plot-template-pagesize small{font-size:11px;line-height:1.4}.plot-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.plot-template-group{min-width:0}.plot-template-group--spread{position:relative;grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.plot-template-pair-placeholder{min-width:0}.plot-template-tile{position:relative;min-height:190px;flex-direction:column;align-items:stretch;gap:8px}.plot-template-tile--upload{justify-content:center}.plot-template-upload{width:100%;min-height:132px;border:1px dashed var(--border);border-radius:6px;background:#fafafa;color:var(--muted)}.plot-template-upload:hover:not(:disabled){color:var(--ink);background:#f5f5f5}.plot-template-preview-frame{position:relative;width:100%}.plot-template-preview{width:100%;aspect-ratio:4 / 3;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:0;border:1px solid var(--border);border-radius:6px;background:#fafafa;color:var(--muted)}.plot-template-preview:hover:not(:disabled){background:#f5f5f5}.plot-template-preview img{width:100%;height:100%;display:block;object-fit:contain}.plot-template-delete{position:absolute;top:5px;right:7px;z-index:2}.plot-template-delete,.plot-template-cell__remove{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--muted);padding:0;font-size:15px;font-weight:300;line-height:1;cursor:pointer;-webkit-user-select:none;user-select:none}.plot-template-delete:hover:not(:disabled),.plot-template-delete:focus-visible:not(:disabled),.plot-template-cell__remove:hover,.plot-template-cell__remove:focus-visible{color:var(--ink);background:transparent;outline:none}.plot-template-state{color:var(--muted);font-size:12px;font-weight:300;overflow-wrap:anywhere}.plot-template-state{color:#4f4f4f;text-transform:lowercase}.plot-template-swap{position:absolute;left:50%;top:50%;z-index:4;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;transform:translate(-50%,-50%);border:0;border-radius:999px;padding:0;background:#fffffff5;color:var(--muted);box-shadow:0 2px 8px #1a1a1a1a;font-size:17px;line-height:1}.plot-template-swap:hover:not(:disabled),.plot-template-swap:focus-visible:not(:disabled){color:var(--ink);background:#fff}.plot-template-editor{width:100%;display:flex;justify-content:center}.plot-template-editor__image-wrap{position:relative;width:min(100%,1000px);border:1px solid var(--border);border-radius:8px;background:#fafafa}.plot-template-editor__image-wrap img{width:100%;height:auto;display:block;-webkit-user-select:none;user-select:none}.plot-template-editor--readonly .plot-template-editor__image-wrap{overflow:hidden}.plot-template-cell{position:absolute;border:1.5px solid transparent;background:transparent;cursor:move;touch-action:none}.plot-template-cell--mapped{border-color:#61c676f2;background:#61c6762e}.plot-template-cell--unmapped:hover,.plot-template-cell--unmapped:focus-visible,.plot-template-cell--unmapped.plot-template-cell--active{border-color:#747474eb;outline:none}.plot-template-cell--mapped:focus-visible{outline:none}.plot-template-cell__remove{position:absolute;left:50%;top:50%;z-index:2;transform:translate(-50%,-50%);opacity:.56}.plot-template-cell--unmapped .plot-template-cell__remove{opacity:0}.plot-template-cell--unmapped:hover .plot-template-cell__remove,.plot-template-cell--unmapped:focus-visible .plot-template-cell__remove,.plot-template-cell--unmapped.plot-template-cell--active .plot-template-cell__remove{opacity:.56}.plot-template-cell__remove:hover,.plot-template-cell__remove:focus-visible{opacity:1}.plot-template-cell__handle{position:absolute;z-index:3;display:block;background:transparent}.plot-template-cell__handle--left,.plot-template-cell__handle--right{top:-2px;bottom:-2px;width:12px;cursor:ew-resize}.plot-template-cell__handle--left{left:-6px}.plot-template-cell__handle--right{right:-6px}.plot-template-cell__handle--top,.plot-template-cell__handle--bottom{left:-2px;right:-2px;height:12px;cursor:ns-resize}.plot-template-cell__handle--top{top:-6px}.plot-template-cell__handle--bottom{bottom:-6px}.plot-template-cell-popover{position:absolute;left:50%;bottom:100%;z-index:6;width:min(280px,80vw);display:none;transform:translate(-50%);padding:10px;border:1px solid var(--border);border-radius:8px;background:#fffffffa;box-shadow:0 12px 30px #1a1a1a14}.plot-template-cell--mapped:hover .plot-template-cell-popover,.plot-template-cell--mapped:focus-within .plot-template-cell-popover,.plot-template-cell--mapped.plot-template-cell--active .plot-template-cell-popover{display:block}.plot-template-cell-popover label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:12px;font-weight:300}.plot-template-cell-popover textarea{width:100%;min-height:88px;resize:vertical;border:1px solid var(--border);border-radius:6px;padding:8px;color:var(--ink);font:inherit;font-size:12px;line-height:1.35;background:#fff}.plot-template-cell-popover__metadata{display:grid;gap:6px;margin:10px 0 0;padding-top:10px;border-top:1px solid var(--border);font-size:12px}.plot-template-cell-popover__metadata div{display:grid;grid-template-columns:minmax(90px,auto) minmax(0,1fr);gap:8px}.plot-template-cell-popover__metadata dt{color:var(--muted)}.plot-template-cell-popover__metadata dd{min-width:0;margin:0;overflow-wrap:anywhere;color:var(--ink)}.results-nav{display:flex;justify-content:center;margin-bottom:14px}.stories-back-button{display:inline-flex;align-items:center;gap:2px;border:none;background:transparent;color:var(--muted);padding:0}.stories-back-arrow{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.stories-back-button:hover{color:var(--ink);background:transparent}.logbook-shell{display:flex;flex-direction:column;gap:12px}.logbook-toggle{display:flex;align-items:center;justify-content:center;gap:8px;padding:0;border:none;background:transparent;color:var(--muted)}.logbook-toggle:hover{color:var(--ink);background:transparent}.logbook-toggle-mark{font-size:16px;font-weight:300;line-height:1}.logbook-mobile-list{display:none}.logbook-mobile-entry{display:flex;flex-direction:column;gap:10px;padding:12px 0;border-bottom:1px solid var(--border)}.logbook-mobile-entry__title{display:flex;flex-direction:column;gap:3px;font-size:14px;font-weight:400}.logbook-mobile-entry__title span{min-width:0;overflow-wrap:anywhere}.logbook-mobile-entry__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin:0}.logbook-mobile-entry__item{min-width:0}.logbook-mobile-entry__item dt{margin:0 0 2px;color:var(--muted);font-size:11px;font-weight:300}.logbook-mobile-entry__item dd{margin:0;font-size:13px;font-weight:300;overflow-wrap:anywhere}.message-list{display:flex;flex-direction:column;gap:14px;margin:0;padding:0;list-style:none}.message-item{display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:8px;border:1px solid var(--border);background:#fff}.message-checkbox{margin-top:2px;flex:0 0 auto;width:16px;height:16px}.message-body{display:flex;flex-direction:column;gap:14px;flex:1}.message-footer{display:flex;justify-content:flex-end;align-items:center;gap:10px;font-size:12px;font-weight:300;margin-top:auto}.message-text{white-space:pre-line;font-weight:300;font-size:14px;color:var(--ink)}.message-actions{display:flex;align-items:center;gap:2px}.message-icon-button,.message-text-action{border:none;background:transparent;color:var(--muted);padding:6px;border-radius:6px}.message-icon-button:hover,.message-text-action:hover{color:var(--ink);background:#f5f5f5}.message-action-icon{width:16px;height:16px;display:block}.message-editor{width:100%;border:1px solid var(--border);border-radius:8px;padding:10px 12px;font:inherit;font-size:14px;color:var(--ink);resize:vertical}.messages-shell{display:flex;flex-direction:column;gap:12px}.story-content{display:flex;flex-direction:column;align-items:center;gap:8px;padding:0}.story-content__title{margin:0;font-size:18px;font-weight:500;text-align:center}.story-content__text{margin:0;font:inherit;font-size:14px;line-height:1.65;color:var(--ink);white-space:pre-wrap;word-break:break-word}.bulk-action-footer{position:fixed;left:24px;right:24px;bottom:24px;z-index:20;display:flex;justify-content:center;pointer-events:none}.bulk-action-footer__content{width:min(980px,100%);position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border:1px solid var(--border);border-radius:12px;background:#fffffff5;box-shadow:0 12px 30px #1a1a1a14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto}.bulk-action-footer__content--locked{justify-content:center}.bulk-action-footer__content--locked .bulk-action-footer__status{width:auto;min-width:0;justify-content:center;text-align:center;font-variant-numeric:tabular-nums}.bulk-action-footer__status{display:inline-flex;align-items:center;width:180px;min-width:180px;font-size:14px;color:var(--muted);font-weight:300}.bulk-action-footer__notice{font-size:14px;color:var(--ink);font-weight:300}.bulk-action-footer__notice--centered{position:absolute;left:50%;transform:translate(-50%);text-align:center;pointer-events:none}.bulk-action-footer__meta{display:flex;align-items:center;gap:10px;flex-wrap:nowrap}.bulk-action-footer__meta .bulk-action-button{min-width:88px}.bulk-action-footer__buttons{display:flex;align-items:center;gap:10px}.story-language-picker{position:relative}.story-language-menu{position:absolute;right:0;bottom:calc(100% + 10px);min-width:180px;max-height:280px;overflow-y:auto;display:flex;flex-direction:column;gap:4px;padding:8px;border:1px solid var(--border);border-radius:12px;background:#fffffffa;box-shadow:0 12px 30px #1a1a1a14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.story-language-option{width:100%;border:none;text-align:left;padding:9px 10px;background:transparent;color:var(--muted)}.story-language-option:hover{background:#f5f5f5;color:var(--ink)}.bulk-action-button{min-width:148px;border:none;background:transparent;color:var(--muted)}.bulk-action-button:hover:not(:disabled){background:#f5f5f5;color:var(--ink)}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:8px;border-bottom:1px solid var(--border);white-space:normal;word-break:break-word}.logbook-table{table-layout:fixed}@media (max-width: 900px){.page{padding-top:64px}.modal-backdrop{align-items:flex-start;padding:16px}.boat-manager{max-height:calc(100vh - 32px);padding:18px}.boat-row{grid-template-columns:1fr;align-items:stretch}.boat-row__remove{justify-self:flex-start}.page--results{padding-bottom:188px}.page--intro{padding-top:0}.intro-stage{--processing-content-width: min(720px, calc(100vw - 32px) );--processing-map-top: 12px;--processing-rail-bottom: 14px;--processing-rail-height: 158px;--processing-title-bottom: calc(var(--processing-rail-bottom) + var(--processing-rail-height) + 16px);--processing-map-size: min(720px, calc(100vw - 32px) , calc(100vh - var(--processing-title-bottom) - 48px));grid-template-rows:auto 240px;row-gap:18px;padding:0 0 32px}.intro-stage--processing{padding:0}.intro-stage--processing.intro-stage--map .phase-map-frame{top:var(--processing-map-top)}.intro-stage--sessions{position:relative;touch-action:none}.intro-panel-slot{min-height:240px}.intro-panel-slot--sessions{position:relative}.saved-session-list{height:clamp(120px,calc(50vh - 32px),420px)}.hero h1{font-size:26px}.bulk-action-footer{left:16px;right:16px;bottom:max(16px,env(safe-area-inset-bottom))}.upload-disclaimer--page-bottom{bottom:16px}.bulk-action-footer__content{flex-direction:column;align-items:stretch;gap:4px;padding:8px 14px;border-radius:8px}.bulk-action-footer__meta{width:100%;flex-wrap:nowrap;justify-content:space-between;min-height:30px}.bulk-action-footer__meta .bulk-action-button{flex:0 0 auto;min-width:88px}.bulk-action-footer__status{width:auto;min-width:0;flex:1}.bulk-action-footer__buttons{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.bulk-action-footer__buttons .bulk-action-button{width:100%}.story-language-picker{min-width:0}.story-language-menu{left:0;right:0;min-width:0}.bulk-action-button{flex:1;min-width:0;min-height:32px;padding-top:4px;padding-bottom:4px}.upload-shell.is-expanded .upload-frame{min-height:188px}.saved-session-item{min-height:36px}.preferences-shell{gap:18px}.plot-template-grid,.plot-template-group--spread{grid-template-columns:1fr}.plot-template-group--spread .plot-template-pair-placeholder{display:none}.plot-template-group--spread .plot-template-swap{transform:translate(-50%,-50%) rotate(90deg)}.plot-template-cell-popover{width:min(240px,78vw)}.plot-workflow-dialog{width:100%;max-height:calc(100vh - 32px);padding:16px}.plot-workflow-template-list{grid-template-columns:1fr}.plot-workflow-template{grid-template-columns:108px minmax(0,1fr)}.plot-workflow-template__image{width:108px}.plot-workflow-ruler{align-items:stretch;flex-direction:column}.plot-workflow-ruler label{width:100%}.plot-workflow-dialog__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.plot-workflow-button{min-width:0}.session-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-header{flex-direction:column;align-items:flex-start}.section-header--stacked{align-items:center;text-align:center;width:100%}.logbook-table{display:none}.logbook-mobile-list{display:flex;flex-direction:column}}.session-list-notice{margin-top:.75rem;color:var(--muted, #667085)}.device-list{margin:0;padding:0;list-style:none}.device-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.device-row__details{display:grid;gap:4px;min-width:0}.device-row__details strong{overflow-wrap:anywhere;font-size:14px;font-weight:500}.device-row__details span{color:var(--muted);font-size:12px;font-weight:300}.device-row__details .device-row__label{color:var(--muted)}.confirmation-dialog button{min-height:2.5rem;padding:.5rem .8rem}.modal-backdrop--confirmation{z-index:1001}.confirmation-dialog{width:min(34rem,calc(100vw - 2rem));padding:1.25rem;border-radius:.8rem;background:var(--panel, #fff);color:var(--text, #17202a);box-shadow:0 1rem 3rem #0000003d}.confirmation-dialog h2{margin-top:0}.confirmation-dialog__actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem}.confirmation-dialog__danger{color:#fff;background:#a4262c;border-color:#a4262c}@media (max-width: 640px){.device-row{grid-template-columns:1fr;align-items:stretch}.device-row .boat-row__remove{justify-self:flex-start}.confirmation-dialog__actions{flex-direction:column-reverse}}
