:root{--font-body:"Avenir Next","Helvetica Neue","Segoe UI",sans-serif;--font-heading:"Avenir Next Demi Bold","Avenir Next","Helvetica Neue","Segoe UI",sans-serif;--font-brand:"Avenir Next Demi Bold","Avenir Next","Helvetica Neue","Segoe UI",sans-serif;--bg:#f5f6f8;--surface:#fff;--surface-soft:#fafbfc;--border:#e2e5ea;--ink:#16191f;--muted:#626c78;--brand-red:#d12630;--brand-gold:#b0872d;--brand-blue:#2f5f87;--status-queue:#a86a22;--status-deck:#9a7b00;--status-field:#187a40;--radius:12px;--shadow:0 1px 2px rgba(18,24,40,.06)}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font-body),system-ui,sans-serif;min-height:100%;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}main{max-width:880px;margin:0 auto;padding:18px 16px 32px}h1,h2,h3{font-family:var(--font-heading),sans-serif;letter-spacing:.01em;margin:0;line-height:1.08;color:#161b24}h1{font-size:clamp(1.95rem,5.2vw,2.45rem)}h1,h2{font-weight:700}h2{font-size:clamp(1.58rem,4.1vw,2.02rem)}h3{font-size:clamp(1.22rem,3vw,1.45rem);font-weight:600}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow)}.card.subtle{background:var(--surface-soft)}.label{color:var(--muted);font-size:.85rem;letter-spacing:.02em}.value{font-size:1rem;color:var(--ink)}.row{gap:10px;align-items:center}.col,.row{display:flex}.col{flex-direction:column;gap:8px}.button{min-height:46px;border:1px solid transparent;border-radius:10px;padding:9px 14px;font-weight:700;cursor:pointer;color:#fff;background:var(--brand-red)}.button.secondary{background:var(--surface);color:var(--ink);border-color:var(--border)}.button.secondary.active{border-color:#bfc9d5;box-shadow:inset 0 0 0 2px #2f5f8740;color:#1f3347}.button.alert{background:#8c1d24;color:#fff}.button:disabled{opacity:.55;cursor:not-allowed}.button.small{min-height:36px;padding:6px 10px;font-size:.84rem}.pill{border-radius:999px;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-block;border:1px solid var(--border);background:var(--surface-soft);color:var(--muted)}.pill.upcoming{color:#3c5b78;background:#eef3f9;border-color:#d5e2ef}.pill.queue{color:var(--status-queue);background:#fff6eb;border-color:#f0dcc2}.pill.deck{color:var(--status-deck);background:#fffce8;border-color:#e7dea4}.pill.field{color:var(--status-field);background:#ecfaf1;border-color:#c9ead6}.pill.done{color:#525d6a;background:#f1f3f5;border-color:#e1e5e9}button,input,select,textarea{font-family:inherit}input,select,textarea{width:100%;min-height:44px;border-radius:8px;border:1px solid var(--border);background:#fff;color:var(--ink);padding:9px 10px;font-size:.95rem}textarea{min-height:92px}.nav{position:-webkit-sticky;position:sticky;top:0;background:rgba(245,246,248,.92);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--border);z-index:10}.nav-inner{max-width:880px;margin:0 auto;padding:12px 16px;justify-content:space-between;gap:12px}.brand,.nav-inner{display:flex;align-items:center}.brand{gap:10px}.brand-logo{width:40px;height:40px;object-fit:cover;border-radius:10px;border:1px solid var(--border)}.brand-text{font-family:var(--font-brand),sans-serif;letter-spacing:.01em;font-size:1.14rem;font-weight:600;line-height:1;color:var(--brand-blue);text-transform:uppercase}.brand-text strong{color:var(--brand-red)}.nav-links{display:flex;gap:8px}.nav-link{padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface);font-size:.88rem;color:var(--muted)}.nav-link:hover{color:var(--ink);border-color:#d0d6dc}.grid{display:grid;grid-gap:12px;gap:12px}.inline-msg{border-radius:9px;border:1px solid var(--border);background:var(--surface-soft);padding:10px}.inline-msg.warn{border-color:#edc3c6;background:#fff2f2;color:#7d2a31}.inline-msg.ok{border-color:#c6e6d2;background:#edf9f1;color:#176c39}.alliance.red{color:#b62c36}.alliance.blue{color:#265f93}.alliance.unknown{color:var(--ink)}.match-card{display:grid;grid-gap:8px;gap:8px;padding:12px}.match-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.match-main{display:grid;grid-gap:4px;gap:4px;min-width:0}.match-name{font-size:1.22rem;font-weight:700;line-height:1.04}.match-meta{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:.82rem;color:var(--muted)}.match-meta span{white-space:nowrap}.match-meta span+span:before{content:"•";margin-right:8px;color:#a4adba}.team-rows{display:grid;grid-gap:4px;gap:4px;border-top:1px solid var(--border);padding-top:7px}.team-row{display:flex;align-items:baseline;gap:8px;min-width:0}.team-side{min-width:36px;font-size:.7rem;font-weight:700;letter-spacing:.06em;color:var(--muted)}.team-values{font-size:.92rem;line-height:1.28;word-break:break-word}.match-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid var(--border);padding-top:7px}.match-footer-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;min-width:0}.dashboard-toolbar{display:grid;grid-gap:10px;gap:10px}.dashboard-toolbar-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.dashboard-toolbar-main{display:grid;grid-gap:6px;gap:6px;min-width:0}.dashboard-event-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.dashboard-event-name{font-family:var(--font-heading),sans-serif;font-size:1.38rem;font-weight:700;line-height:1.04}.dashboard-toolbar-meta{display:flex;flex-wrap:wrap;gap:4px 10px;color:var(--muted);font-size:.84rem}.dashboard-toolbar-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.ready-board{display:grid;grid-gap:12px;gap:12px;border-color:#d7e1eb;background:var(--surface)}.ready-board.tone-upcoming{border-color:#dbe5ee}.ready-board.tone-queue{border-color:#ebd6bc;background:#fffdf9}.ready-board.tone-field{border-color:#cfe4d8;background:#fbfefc}.ready-board-top{display:flex;align-items:flex-start;gap:12px}.ready-board-kicker{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.ready-board-inline{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.ready-board-guidance{max-width:44rem;color:#353d47;font-size:.95rem;line-height:1.4}.ready-board-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.ready-board-block{border:1px solid var(--border);border-radius:10px;background:var(--surface-soft);padding:10px;display:grid;grid-gap:4px;gap:4px}.ready-board-actions{display:flex;gap:8px}.preflight-context-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.preflight-context-block{border:1px solid var(--border);border-radius:10px;background:var(--surface-soft);padding:10px;display:grid;grid-gap:4px;gap:4px}.preflight-overview,.preflight-shell{grid-gap:12px;gap:12px}.preflight-overview{display:grid}.preflight-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.preflight-match-key{font-size:1.25rem;font-weight:700}.progress-block{display:grid;grid-gap:6px;gap:6px}.progress-meta{display:flex;justify-content:space-between;align-items:center}.progress-meta.compact{justify-content:flex-start;flex-wrap:wrap;gap:6px 10px}.progress-percent{font-size:1rem;font-weight:700}.progress-track{width:100%;height:8px;border-radius:999px;background:#e8ecf0;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#2f5f87,#3c749f)}.action-queue{display:grid;grid-gap:10px;gap:10px}.action-list{display:grid;grid-gap:8px;gap:8px}.action-item{border:1px solid #ebd6bc;border-radius:10px;padding:10px;background:#fffbf5;display:grid;grid-gap:6px;gap:6px}.action-item-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.action-step{font-size:.98rem;font-weight:600}.action-note{font-size:.92rem;color:#353b43}.step-card{grid-gap:12px;gap:12px}.step-kicker{font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.step-subcategory{font-size:.78rem;font-weight:400;letter-spacing:.02em;color:#7b8693;text-transform:uppercase}.step-prompt{font-size:clamp(1.55rem,5vw,2.1rem);line-height:1.12}.decision-grid{grid-gap:8px;gap:8px}.decision-btn{min-height:52px;border-radius:10px;font-size:.98rem}.action-composer{border:1px dashed #cfb78e;background:#fffaf1;border-radius:10px;padding:10px;display:grid;grid-gap:8px;gap:8px}.measurement-panel{border:1px solid var(--border);border-radius:10px;background:var(--surface-soft);padding:10px;grid-gap:8px;gap:8px}.meter-value{font-weight:700}.battery-range{width:100%;accent-color:#2f5f87;min-height:24px}.preset-row{gap:6px}.camera-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:6px;gap:6px}.camera-btn{min-height:40px;border-radius:8px}.counter-stepper{display:flex;flex-wrap:wrap;gap:6px}.step-nav{display:flex;justify-content:space-between;gap:8px}@media (min-width:700px){.grid.two{grid-template-columns:1fr 1fr}}@media (max-width:640px){.nav-inner{flex-direction:column;align-items:stretch}.nav-links{justify-content:space-between}.nav-link{flex:1 1;text-align:center}.decision-grid{grid-template-columns:1fr}.match-footer{align-items:flex-start}.dashboard-toolbar-row,.match-footer{flex-direction:column}.dashboard-toolbar-actions{width:100%;justify-content:stretch}.dashboard-toolbar-actions>*{flex:1 1}.ready-board-top{flex-direction:column}.preflight-context-grid,.ready-board-grid{grid-template-columns:1fr}.ready-board-actions{flex-direction:column}.camera-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.step-nav{position:-webkit-sticky;position:sticky;bottom:8px;background:rgba(245,246,248,.95);padding-top:8px}}.subtle-pill{color:#5e6b79;background:#f4f6f8;border-color:#dde3ea}.preflight-shell{display:grid;grid-gap:10px;gap:10px;padding-bottom:calc(118px + env(safe-area-inset-bottom))}.preflight-header-card{position:-webkit-sticky;position:sticky;top:calc(74px + env(safe-area-inset-top));z-index:8;display:grid;grid-gap:6px;gap:6px;padding:10px 12px 8px;background:hsla(0,0%,100%,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.preflight-header-top{display:flex;justify-content:space-between;gap:12px}.preflight-header-copy{display:grid;grid-gap:4px;gap:4px;width:100%}.preflight-header-title-row{display:flex;align-items:flex-start;gap:6px}.preflight-title{font-size:clamp(1.26rem,3.6vw,1.8rem);line-height:1.02}.team-rows.compact{gap:1px;padding-top:4px}.team-rows.compact .team-row{padding:0;gap:6px}.team-rows.compact .team-side{min-width:32px;font-size:.66rem}.team-rows.compact .team-values{font-size:.87rem;line-height:1.22}.preflight-timing-line{display:flex;flex-wrap:nowrap;align-items:baseline;gap:3px 6px;overflow-x:auto;font-size:.86rem;line-height:1.15;scrollbar-width:none}.preflight-timing-label{color:#88919d;font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.preflight-timing-line::-webkit-scrollbar{display:none}.preflight-timing-value{color:#202733;font-weight:600;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.preflight-timing-countdown{color:#51606d;font-weight:500;white-space:nowrap}.preflight-timing-divider{color:#b2bbc5}.preflight-header-card .progress-block{gap:3px}.preflight-header-card .progress-track{height:5px}.preflight-header-card .progress-meta.compact{gap:3px 8px}.preflight-header-card .progress-meta.compact .label{font-size:.82rem}.preflight-header-card .progress-percent{font-size:.94rem}.swipe-card{position:relative;overflow:hidden;padding:0;border-color:#d6dce3;background:linear-gradient(180deg,#f7faf8,#fbfaf7);--pass-reveal:0;--delay-reveal:0}.swipe-lane{position:absolute;inset:0;pointer-events:none}.swipe-lane:after,.swipe-lane:before{content:"";position:absolute;inset:0;transition:opacity .14s ease}.swipe-lane:before{background:linear-gradient(90deg,rgba(24,122,64,.18),rgba(24,122,64,.08) 20%,rgba(24,122,64,0) 44%);opacity:var(--pass-reveal)}.swipe-lane:after{background:linear-gradient(270deg,rgba(168,106,34,.18),rgba(168,106,34,.08) 20%,rgba(168,106,34,0) 44%);opacity:var(--delay-reveal)}.swipe-lane.pass-only:after{display:none}.swipe-lane-label{position:absolute;top:50%;z-index:1;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:0;transition:opacity .14s ease,transform .14s ease;text-shadow:0 1px 0 hsla(0,0%,100%,.45)}.swipe-lane-label.pass{left:18px;color:#187a40;opacity:var(--pass-reveal);transform:translate3d(calc((1 - var(--pass-reveal)) * -10px),-50%,0)}.swipe-lane-label.delay{right:18px;color:#9a651f;opacity:var(--delay-reveal);transform:translate3d(calc((1 - var(--delay-reveal)) * 10px),-50%,0)}.swipe-card-panel{position:relative;z-index:1;padding:14px;background:linear-gradient(180deg,hsla(0,0%,100%,.97),rgba(251,252,253,.94));border:1px solid #d6dce3;touch-action:pan-y;transition:transform .16s ease,box-shadow .16s ease;will-change:transform}.swipe-card-body,.swipe-card-panel{display:grid;grid-gap:14px;gap:14px;border-radius:inherit}.swipe-card-body{background:transparent}.swipe-card-panel.dragging{transition:none}.swipe-card.preview-pass .swipe-card-panel{box-shadow:0 10px 20px rgba(24,122,64,.12)}.swipe-card.preview-delay .swipe-card-panel{box-shadow:0 10px 20px rgba(168,106,34,.14)}.step-card{display:grid;grid-gap:14px;gap:14px;scroll-margin-top:144px;scroll-margin-bottom:132px}.step-title-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.step-prompt{font-size:clamp(1.6rem,5.2vw,2.2rem);line-height:1.08}.swipe-coachmark{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border-radius:12px;border:1px dashed #b7c7d8;background:#f5f9fd;color:#26425d;font-size:.88rem}.measurement-panel{border:1px solid #dfe4ea;border-radius:12px;background:linear-gradient(180deg,#fbfcfd,#f7f9fb);padding:14px;display:grid;grid-gap:10px;gap:10px}.measurement-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.measurement-status{border-radius:999px;padding:5px 10px;font-size:.78rem;font-weight:700;color:#6d7784;background:#eef2f5}.measurement-status.met{color:#17663b;background:#e7f6ec}.measurement-hero{display:flex;flex-direction:column;gap:2px}.measurement-hero.compact{flex-direction:row;align-items:baseline;gap:10px}.measurement-hero-value{font-size:clamp(2rem,8vw,2.75rem);font-weight:700;line-height:1}.measurement-hero-subvalue{color:var(--muted);font-size:.92rem}.measurement-hint{color:#51606d;font-size:.88rem}.preset-row{display:flex;flex-wrap:wrap;gap:8px}.measure-chip{min-height:42px;border-radius:999px;border:1px solid var(--border);background:#fff;color:var(--ink);font-weight:700;padding:8px 12px;cursor:pointer;scroll-margin-top:144px;scroll-margin-bottom:132px}.measure-chip.active{background:#ecfaf1;border-color:#b8dfc8;box-shadow:inset 0 0 0 2px #1f8f4c}.camera-grid.large{grid-template-columns:repeat(6,minmax(0,1fr))}.camera-btn{min-height:52px;border:1px solid var(--border);border-radius:12px;background:#fff;font-size:1rem;font-weight:700;cursor:pointer;scroll-margin-top:144px;scroll-margin-bottom:132px}.camera-btn.active{background:#ecfaf1;border-color:#b8dfc8;box-shadow:inset 0 0 0 2px #1f8f4c}.count-progress{display:flex;gap:6px}.count-progress-dot{flex:1 1;height:12px;border-radius:999px;background:#dfe5ea}.count-progress-dot.filled{background:linear-gradient(90deg,#2f5f87,#3c749f)}.counter-stepper.large{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.measure-action{min-height:52px;border-radius:12px;border:1px solid var(--border);background:#fff;color:var(--ink);font-size:1rem;font-weight:700;cursor:pointer;scroll-margin-top:144px;scroll-margin-bottom:132px}.measure-action.primary{background:#eef3f9;border-color:#c8d8e6;color:#23415d}.decision-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.decision-btn{min-height:60px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--ink);font-size:1rem;font-weight:700;cursor:pointer;scroll-margin-top:144px;scroll-margin-bottom:132px}.camera-btn:disabled,.decision-btn:disabled,.measure-action:disabled,.measure-chip:disabled{opacity:.55;cursor:not-allowed}.decision-btn.active{box-shadow:inset 0 0 0 2px #8ca2b8}.decision-btn.pass.active{background:#ecfaf1;border-color:#b8dfc8;box-shadow:inset 0 0 0 2px #1f8f4c}.decision-btn.action.active{background:#fff9ef;border-color:#f1d9aa;box-shadow:inset 0 0 0 2px #a66e24}.step-nav-inline{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start}.step-nav-inline>*{flex:0 0 auto}.step-nav-button{min-width:0}.delayed-stack{display:grid;grid-gap:10px;gap:10px}.delayed-stack-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.delayed-stack-list{display:grid;grid-gap:10px;gap:10px}.delayed-step-card .swipe-card-panel{gap:10px;padding:12px 14px}.delayed-step-card .step-title-row{align-items:baseline}.delayed-step-card .step-kicker{color:#8c6327}.delayed-step-prompt{font-size:clamp(1.34rem,4.5vw,1.8rem)}.delayed-step-requirement{color:#5a6672;font-size:.9rem}.ready-footer{position:-webkit-sticky;position:sticky;bottom:max(8px,env(safe-area-inset-bottom));z-index:9;display:grid;grid-gap:6px;gap:6px;padding:12px;background:hsla(0,0%,100%,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 16px 28px rgba(18,24,40,.1)}.ready-footer-bar{display:flex;align-items:center;justify-content:space-between;gap:10px}.ready-footer-copy{display:grid;grid-gap:2px;gap:2px;min-width:0}.ready-footer-title{font-size:.96rem;font-weight:700;color:#162030}.ready-footer-message{margin-top:2px}.ready-footer-actions{flex:0 0 auto}.ready-footer-actions>*{min-width:156px}@media (prefers-reduced-motion:reduce){.ready-footer,.swipe-card-panel,.swipe-lane-label,.swipe-lane:after,.swipe-lane:before{transition:none}}@media (max-width:700px){.preflight-header-card{top:calc(88px + env(safe-area-inset-top))}.preflight-header-title-row{align-items:baseline}.camera-grid.large{grid-template-columns:repeat(3,minmax(0,1fr))}.counter-stepper.large{grid-template-columns:1fr}.swipe-coachmark{flex-direction:column;align-items:stretch}}@media (max-width:640px){main{padding:12px 12px 28px}.nav-inner{padding:8px 12px;gap:8px}.brand{gap:8px}.brand-logo{width:34px;height:34px;border-radius:8px}.brand-text{font-size:1.02rem}.nav-links{gap:6px}.nav-link{padding:7px 8px;font-size:.82rem}.decision-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.preflight-header-card{top:calc(102px + env(safe-area-inset-top));gap:5px;padding:9px 10px 8px}.preflight-title{font-size:clamp(1.2rem,6.3vw,1.58rem)}.preflight-timing-line{gap:3px 5px;font-size:.8rem}.team-rows.compact{padding-top:3px}.team-rows.compact .team-values{font-size:.82rem}.step-card{scroll-margin-top:124px;scroll-margin-bottom:116px}.step-nav-inline>*{width:auto}.ready-footer-bar{flex-direction:column;align-items:stretch}.ready-footer{padding:10px}.ready-footer-copy .step-kicker,.ready-footer-copy>.label{display:none}.ready-footer-actions{width:100%}.ready-footer-actions>*{min-width:0;width:100%}}