@font-face{font-family:FieldDisplay;src:url('/fonts/BarlowCondensed-SemiBold.ttf');font-display:swap}@font-face{font-family:FieldArabic;src:url('/fonts/NotoSansArabic.ttf');font-weight:100 900;font-display:swap}
/* Desktop pairing uses the same paper, ink and fine rules as the field unit. */
#companion-open{font-size:10px;letter-spacing:.08em;color:var(--accent)}
#companion-dialog{color:#202823;background:#edeae2;border:0;width:min(610px,92vw);max-width:610px;max-height:92dvh;padding:0;overflow:auto;box-shadow:0 24px 100px #0007}#companion-dialog::backdrop{background:#091112b8;backdrop-filter:blur(9px)}.pair-content{padding:30px 38px}.pair-content h2{font:600 48px/1.08 FieldDisplay,FieldArabic,sans-serif;margin:12px 0 18px;max-width:90%}.pair-content p{font-size:13px;line-height:1.7;margin:12px 0}.pair-content button{border-top:1px solid #232b2440;padding:13px 0;margin:6px 18px 0 0;color:#29372d;font:inherit;cursor:pointer;min-height:44px}.pair-content button:disabled{opacity:.4}.pair-content button:hover:not(:disabled){color:#815b26}.pair-content img{display:block;width:180px;height:180px;max-width:100%;margin:20px auto;background:#f4f0e2}.pair-content a{color:#344f42;font-size:13px;overflow-wrap:anywhere}.pair-content [hidden]{display:none}.pair-kicker{letter-spacing:.18em;font-size:10px!important}.pair-content .pair-code{font:600 36px FieldDisplay,sans-serif;letter-spacing:.14em;direction:ltr;unicode-bidi:isolate;border-block:1px solid #20282330;padding:10px 0;text-align:center}.pair-content .pair-check{font:600 74px FieldDisplay,sans-serif;letter-spacing:.16em;text-align:center;direction:ltr}#companion-status{color:#46604d}#companion-security-help{font-size:11px;color:#5e665c}#companion-expiry{font-size:11px}#companion-close{display:block;width:100%;text-align:end}html[dir=rtl] .pair-content h2{font-size:30px;line-height:1.6}
/* Companion: one tactile surface, a clear reading order and no decorative cards. */
.phone-body{--paper:#edeae2;--ink:#202823;--soft:#656b62;--rule:#20282335;--signal:#c9ab6c;--display:FieldDisplay,Arial,sans-serif;margin:0;background:var(--paper);color:var(--ink);font:14px/1.55 Arial,sans-serif;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;color-scheme:light}
.phone-body *{box-sizing:border-box}.phone-body [hidden]{display:none!important}.phone-body button,.phone-body input{font:inherit}.phone-body button{color:inherit;background:none;border:0;border-radius:0;cursor:pointer;min-height:44px;text-align:start;touch-action:manipulation}.phone-body button:disabled{color:#7b8178;cursor:default}.phone-body button:focus-visible,.phone-body [tabindex]:focus-visible,.phone-body input:focus-visible{outline:2px solid #86662c;outline-offset:3px}.phone-body p{margin:0}.phone-body h1,.phone-body h2{font:600 42px/1 var(--display);letter-spacing:-.015em;font-weight:600;margin:0}.phone-body button:not(:disabled):active{opacity:.6}.phone-body .signature{font:600 28px/1 FieldDisplay,sans-serif;letter-spacing:-.06em;direction:ltr}.phone-body .signature span{margin:0 4px;color:#9a793f}
#phone-app{max-width:1200px;margin:auto;min-height:100dvh;padding:env(safe-area-inset-top) max(22px,env(safe-area-inset-left),env(safe-area-inset-right)) env(safe-area-inset-bottom)}
.phone-header{height:74px;display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--rule)}.header-unit{font-size:9px;letter-spacing:.14em;margin-inline-end:auto;color:var(--soft)}.header-actions{margin-inline-start:auto;display:flex;align-items:center;gap:14px}.header-actions button{font-size:12px}#phone-settings-open{width:44px;text-align:center}#phone-settings-open svg{width:23px;height:23px;vertical-align:middle}.field-kicker{font-size:10px;letter-spacing:.13em;color:var(--soft);font-weight:400}.connection-line{display:flex;align-items:center;gap:8px;min-height:38px;font-size:11px;color:var(--soft)}.connection-dot{flex:none;width:5px;height:5px;background:#8c8778;border-radius:50%}[data-connection=connected] .connection-dot{background:#456c4e}.connection-line button{margin-inline-start:auto;font-size:11px;text-decoration:underline;text-underline-offset:5px}
#phone-join{position:relative;max-width:480px;margin:0 auto;padding:45px 0 24px}#phone-join .field-kicker{margin-bottom:18px}#phone-join h1{font-size:clamp(58px,13vw,88px);line-height:.98;white-space:pre-line;letter-spacing:-.025em}#phone-join-intro{font-size:14px;line-height:1.7;color:var(--soft);max-width:310px;margin-top:22px}.join-mark{font:600 120px/1 FieldDisplay,sans-serif;letter-spacing:-.06em;color:#2028230e;position:absolute;inset-inline-end:0;top:14px;direction:ltr;pointer-events:none}.join-mark span{display:block;font-size:60px;text-align:end;line-height:.8}#phone-join-form{margin-top:30px}#phone-code-label{font-size:11px;display:block}#phone-code{width:100%;display:block;background:none;color:var(--ink);border:0;border-bottom:1px solid var(--ink);border-radius:0;font:600 33px FieldDisplay,sans-serif;letter-spacing:.15em;direction:ltr;text-transform:uppercase;padding:12px 0 15px}#phone-code::placeholder{color:#8b8d80;font-size:26px}#phone-connect{position:relative;background:var(--ink);color:var(--paper);width:100%;padding:18px 20px;margin-top:20px;font-size:14px}#phone-connect::after{inset-inline-end:20px}#phone-connect:disabled{background:#c8c8bb;color:#555e50}.phone-check{font:600 70px FieldDisplay,sans-serif;letter-spacing:.12em;text-align:center;direction:ltr;margin-top:22px!important}
.join-footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--rule);margin-top:26px;padding:20px 0;font-size:10px;color:var(--soft)}.join-footer>span{letter-spacing:.12em;white-space:nowrap}#phone-app>.connection-line{max-width:480px;margin:auto}
[data-linked=true] #phone-app{height:100dvh;min-height:0;display:flex;flex-direction:column}[data-linked=true] .phone-header{height:64px;flex:none}[data-linked=true] #phone-app>.connection-line{margin:0;max-width:none;min-height:29px;flex:none}[data-linked=true] .join-footer{display:none}
#phone-connected{min-height:0;flex:1;display:flex;flex-direction:column}.field-state{display:flex;align-items:start;justify-content:space-between;gap:15px;min-height:27px;padding-bottom:9px;border-bottom:1px solid var(--rule);flex:none}#phone-stage{font-size:11px;text-transform:uppercase;letter-spacing:.09em}#phone-feedback{font-size:11px;color:#5a693f;text-align:end;max-width:60%}#phone-feedback:empty{display:none}.device-mode{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
#mode-inspection{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr);gap:32px;overflow:auto;padding-block:18px}.aim-surface{display:flex;flex-direction:column;min-height:0}.instrument-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:13px}.instrument-heading h1{font-size:36px}.instrument-heading .field-kicker{font-size:9px}
#aim-pad{position:relative;min-height:180px;flex:1;overflow:hidden;background:#202c29;color:#edeae2;touch-action:none;user-select:none;-webkit-user-select:none;border:1px solid transparent;background-image:linear-gradient(#aab7a30a 1px,transparent 1px),linear-gradient(90deg,#aab7a30a 1px,transparent 1px);background-size:32px 32px}
#aim-pad[aria-disabled=true]{opacity:.6}.aim-axis{position:absolute;background:#b3c3ab35;pointer-events:none}.aim-axis.horizontal{height:1px;top:50%;inset-inline:15px}.aim-axis.vertical{width:1px;left:50%;inset-block:15px}.aim-ring{position:absolute;left:50%;top:50%;border:1px solid #b3c3ab26;border-radius:50%;width:124px;height:124px;transform:translate(-50%,-50%);pointer-events:none}#aim-dot{position:absolute;left:50%;top:50%;width:32px;height:32px;border:1px solid #e3ce94;transform:translate(-50%,-50%);pointer-events:none;border-radius:50%}#aim-dot::before,#aim-dot::after{content:'';position:absolute;background:#e3ce94}#aim-dot::before{left:14px;top:7px;width:1px;height:16px}#aim-dot::after{left:7px;top:14px;width:16px;height:1px}.field-corner{position:absolute;width:14px;height:14px;border-color:#d8ccab90;pointer-events:none}.top-left{top:12px;left:12px;border-left:1px solid;border-top:1px solid}.bottom-right{bottom:12px;right:12px;border-right:1px solid;border-bottom:1px solid}#aim-pad-label{position:absolute;bottom:15px;inset-inline-start:16px;color:#c8cdbd;font-size:11px;pointer-events:none}.aim-index{position:absolute;top:12px;right:14px;font:10px monospace;letter-spacing:.1em;color:#a9b5a1;pointer-events:none}#phone-stage-help{font-size:11px;color:var(--soft);line-height:1.6;margin-top:10px;max-width:400px}
.tool-actions{display:flex;flex-direction:column;min-width:0}.power-action{border-block:1px solid var(--rule)!important;font-size:11px!important;padding-block:10px;display:flex;gap:9px;align-items:center}.power-action::before{content:'';width:6px;height:6px;flex:none;border:1px solid #747d6e;border-radius:50%}[data-powered=true] .power-action::before{background:#4c6b44;border-color:#4c6b44}.target-block{padding:24px 0 20px;flex:1}#phone-target-label{font-size:9px}#phone-target{font:600 27px/1.12 var(--display);margin-top:10px;max-width:280px}[data-target=true] #phone-target{color:#4b6035}
.phone-body .field-primary{position:relative;border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:16px;padding-inline-end:36px;font-size:13px;min-height:52px;width:100%}.field-primary::after{inset-inline-end:14px}.phone-body .field-primary:disabled{background:transparent;color:#71796c;border-color:var(--rule)}.field-views{display:flex;gap:8px;border-bottom:1px solid var(--rule);margin-top:15px}.field-views button{flex:1;text-align:center;font-size:12px}.field-views button[aria-pressed=true]{border-bottom:1px solid var(--ink)}.camera-actions{display:flex;justify-content:space-between;gap:16px}.camera-actions button{font-size:11px;line-height:1.5;max-width:50%;padding-block:10px}
.device-modes{display:flex;gap:0;border-top:1px solid var(--ink);flex:none;background:var(--paper);padding-bottom:6px;counter-reset:mode}.device-modes button{flex:1;font-size:11px;letter-spacing:.04em;min-height:62px;position:relative;display:flex;align-items:center;gap:12px;color:var(--soft);border-top:2px solid transparent;margin-top:-1px}.device-modes button::before{counter-increment:mode;content:'0' counter(mode);font:600 22px FieldDisplay,sans-serif;color:#898d80}.device-modes button[aria-pressed=true]{color:var(--ink);border-top-color:var(--ink)}.device-modes button[aria-pressed=true]::before{color:var(--ink)}
#mode-record,#mode-radio{padding:24px 0 35px;max-width:760px;width:100%;align-self:center}.mode-heading{display:flex;align-items:center;gap:24px;padding-bottom:20px;border-bottom:1px solid var(--rule);margin-bottom:24px}.mode-index{font:600 62px/.9 FieldDisplay,sans-serif;color:#9c9f8d}.mode-heading h1{font-size:40px}.phone-body dl{margin:25px 0}.phone-body dt{font-size:10px;color:var(--soft);margin-top:18px}.phone-body dd{margin:4px 0 0;padding-bottom:12px;border-bottom:1px solid var(--rule);font-size:18px}.phone-body #phone-record>p{font-size:12px;line-height:1.8}.record-subhead{font-size:11px!important;color:#536345;margin-top:25px!important;margin-bottom:10px!important}.phone-body ul{padding-inline-start:18px}.phone-body li{font-size:13px;margin-block:14px}#phone-live-radio{border-inline-start:2px solid #7e7954;padding:5px 0 5px 20px;font-size:20px;min-height:90px;line-height:1.5}#phone-live-radio small{display:block;font-size:10px;color:var(--soft);margin-bottom:14px}#phone-radio-actions button{display:block;border-bottom:1px solid var(--rule);width:100%;padding:18px 0;font-size:13px}#phone-radio-log{margin-top:30px;font-size:12px;color:var(--soft)}#phone-radio-log p{padding:14px 0;border-bottom:1px solid var(--rule)}#phone-radio-log small{color:#45573f;font-size:10px}
#phone-settings{background:var(--paper);color:var(--ink);border:0;padding:24px;max-width:460px;width:calc(100% - 32px);max-height:90dvh;overflow:auto;border-radius:0;margin:auto;font:inherit;box-shadow:0 20px 90px #0005}#phone-settings::backdrop{background:#101c25ad;backdrop-filter:blur(7px)}.settings-heading{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--rule);padding-bottom:10px;gap:20px}.settings-heading button{font-size:12px;min-width:44px;text-align:end}#phone-settings h2{font-size:42px;line-height:1;margin:24px 0}.sensor-options{display:flex;gap:12px;border-bottom:1px solid var(--rule)}.sensor-options button{font-size:12px;flex:1;line-height:1.6;padding:12px 0}.sensor-options button[aria-pressed=true]{border-bottom:2px solid var(--ink)}#phone-calibrate{width:100%;font-size:13px;border-bottom:1px solid var(--rule);margin-bottom:20px}.motion-settings label{font-size:12px;display:block}.phone-body input[type=range]{accent-color:#536345;width:100%;min-height:44px;margin:6px 0}.motion-settings p{font-size:12px;line-height:1.7;color:var(--soft);margin-bottom:20px}.device-audio{display:flex;gap:12px;align-items:center;font-size:12px;min-height:44px;border-top:1px solid var(--rule)}.device-audio input{accent-color:#536345;width:18px;height:18px}.phone-body #phone-latency{font-size:11px;color:var(--soft);padding:14px 0}#phone-settings footer{border-top:1px solid var(--rule);padding-top:14px;font-size:10px;line-height:1.8;color:var(--soft)}#phone-settings footer p+p{margin-top:8px}
#phone-intro{position:fixed;inset:0;z-index:5;background:var(--ink);color:var(--paper);display:flex;align-items:center;padding:8%;pointer-events:none;font:600 clamp(45px,9vw,90px)/1.05 var(--display)}[data-flash=true] #phone-observe{border-color:#748d4b}
html[dir=rtl] .phone-body{font-family:FieldArabic,Arial,sans-serif;--display:FieldArabic,Arial,sans-serif}html[dir=rtl] .phone-body h1,html[dir=rtl] .phone-body h2{letter-spacing:0;line-height:1.5}html[dir=rtl] #phone-join h1{font-size:48px;line-height:1.4}html[dir=rtl] .instrument-heading h1{font-size:27px}html[dir=rtl] #phone-target{font-size:21px;line-height:1.6}html[dir=rtl] .field-kicker,html[dir=rtl] #phone-stage,html[dir=rtl] .header-unit{letter-spacing:0}html[dir=rtl] .mode-heading h1{font-size:30px}html[dir=rtl] #phone-settings h2{font-size:32px}
@media(max-width:600px) and (orientation:portrait){[data-linked=true] .phone-header{height:58px}.header-unit{font-size:8px}.header-actions{gap:8px}#mode-inspection{grid-template-columns:1fr;grid-template-rows:minmax(190px,1fr) auto;gap:12px;padding-block:13px}.instrument-heading h1{font-size:30px}.instrument-heading{margin-bottom:10px}#aim-pad{min-height:150px}#phone-stage-help{display:none}.tool-actions{display:grid;grid-template-columns:1fr 1fr;column-gap:18px}.power-action{grid-column:1/-1;min-height:44px!important;border-block:0!important;padding-block:4px;font-size:10px!important}.target-block{grid-column:1/-1;display:flex;align-items:baseline;gap:12px;padding:6px 0 12px;min-height:40px}#phone-target{font-size:21px;line-height:1.25;margin:0;max-width:none}#phone-target-label{flex:none;font-size:8px}.field-primary{grid-column:1/-1}.field-views{margin-top:4px;grid-column:1/-1}.field-views button{min-height:44px}.camera-actions{grid-column:1/-1}.camera-actions button{min-height:44px;padding-block:6px;font-size:11px}.device-modes button{min-height:58px;font-size:10px;gap:9px}.device-modes button::before{font-size:20px}.field-state{min-height:24px;padding-bottom:6px}#phone-feedback{font-size:10px}html[dir=rtl] #phone-target{font-size:16px;line-height:1.8}html[dir=rtl] .instrument-heading h1{font-size:23px}html[dir=rtl] .device-modes button{font-size:11px}#phone-join{padding-top:42px}.join-footer{font-size:9px}}
@media(orientation:landscape) and (max-height:600px){#phone-app{padding-inline:max(24px,env(safe-area-inset-left),env(safe-area-inset-right))}[data-linked=true] .phone-header{height:49px}[data-linked=true] #phone-app>.connection-line{min-height:22px;font-size:10px}.field-state{min-height:23px;padding-bottom:5px}#phone-stage,#phone-feedback{font-size:10px}#mode-inspection{gap:24px;padding-block:10px;grid-template-columns:minmax(0,1.6fr) minmax(250px,1fr)}.instrument-heading{margin-bottom:7px}.instrument-heading h1{font-size:26px}#aim-pad{min-height:100px}.aim-ring{width:90px;height:90px}#phone-stage-help{display:none}.power-action{min-height:44px!important;font-size:10px!important;padding:3px 0}.target-block{padding:8px 0;min-height:48px}#phone-target{font-size:22px;margin-top:3px}#phone-target-label{font-size:8px}.phone-body .field-primary{min-height:44px;padding-block:12px;font-size:12px}.field-views{margin-top:4px}.field-views button{min-height:44px;font-size:11px}.camera-actions button{font-size:10px;min-height:44px;padding-block:4px}.device-modes{padding-bottom:0}.device-modes button{min-height:46px;font-size:10px}.device-modes button::before{font-size:20px}#phone-join{max-width:none;display:grid;grid-template-columns:1fr 1fr;column-gap:50px;padding-block:22px 4px}#phone-join .field-kicker{grid-column:1;align-self:end;margin-bottom:10px}#phone-join h1{grid-column:1;font-size:62px}#phone-join-intro{grid-column:2;grid-row:1/3;align-self:start;margin:0;font-size:12px}#phone-join-form{grid-column:2;grid-row:2/5;margin-top:45px}#phone-code{font-size:28px;padding-block:8px}#phone-connect{margin-top:12px;min-height:44px;padding-block:12px}.join-mark{display:none}.join-footer{margin-top:12px;padding-block:12px}#phone-check{grid-column:1;margin-top:10px!important;font-size:48px}html[dir=rtl] .instrument-heading h1{font-size:20px}html[dir=rtl] #phone-target{font-size:16px;line-height:1.5}html[dir=rtl] #phone-join h1{font-size:40px}html[dir=rtl] .power-action{font-size:10px!important}}
@media(prefers-reduced-motion:reduce){.phone-body *{scroll-behavior:auto!important;transition:none!important}}

/* Masks inherit button color without invoking a font or emoji renderer. */
.phone-body .ui-arrow{display:inline-block;vertical-align:middle;pointer-events:none}
.join-mark .ui-arrow{width:60px;height:60px}
#phone-connect::after,.field-primary::after{content:"";position:absolute;top:50%;transform:translateY(-50%);width:20px;height:20px;pointer-events:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M5 19 19 5M5 5h14v14' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M5 19 19 5M5 5h14v14' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
