@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.contents{display:contents}.flex{display:flex}.hidden{display:none}.h-full{height:100%}.min-h-full{min-height:100%}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-col{flex-direction:column}.border{border-style:var(--tw-border-style);border-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--ink:#183127;--muted:#5d6d64;--paper:#fbfaf5;--panel:#fff;--line:#dce5dc;--moss:#2e6d53;--sage:#dcebe0;--amber:#bc7422;--danger:#a14337}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit}button,input{font:inherit}.page-shell{max-width:980px;margin:0 auto;padding:22px 20px 40px}.masthead{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:26px;display:flex}.test-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;display:flex}.test-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.eyebrow{color:var(--moss);letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px;font-size:.78rem;font-weight:700}h1{letter-spacing:-.035em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4.6vw,3.5rem);font-weight:500;line-height:1.05}.intro{color:var(--muted);max-width:690px;margin:13px 0 0;font-size:1rem;line-height:1.55}.local-pill{background:var(--sage);color:#23563f;white-space:nowrap;border-radius:999px;margin:5px 0 0;padding:8px 12px;font-size:.83rem;font-weight:700}.local-pill-link{margin:0;text-decoration:none}.local-pill-link:hover{background:#c8dfcd}.notice{color:#69451e;background:#fff8ee;border:1px solid #edd7ba;border-radius:12px;margin-bottom:20px;padding:12px 14px;font-size:.93rem;line-height:1.45}.workflow-grid{grid-template-columns:minmax(0,1.45fr) minmax(300px,.85fr);align-items:start;gap:20px;display:grid}.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 12px 28px #1831270d}.test-panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 12px 28px #1831270d}.pilot-progress{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 14px;font-size:.76rem;display:flex}.pilot-progress span{align-items:center;gap:5px;display:inline-flex}.pilot-progress b{color:#54675c;background:#e7eee7;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.68rem;display:inline-flex}.pilot-progress .active{color:#23563f;font-weight:800}.pilot-progress .active b{background:var(--moss);color:#fff}.pilot-section{max-width:760px;margin:0 auto;padding:4px 0}.pilot-section h2{color:var(--ink);letter-spacing:-.02em;margin:0 0 8px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.45rem,3vw,2rem);font-weight:500}.pilot-section>p:not(.status),.capture-preparation{color:var(--muted);margin:0 0 16px;font-size:.94rem;line-height:1.55}.section-kicker{letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:var(--moss)!important;margin-bottom:7px!important;font-size:.72rem!important}.pilot-list{color:#385346;gap:7px;margin:0 0 18px;padding-left:20px;font-size:.9rem;line-height:1.45;display:grid}.consent-check{cursor:pointer;background:#f5faf5;border:1px solid #c8dccb;border-radius:10px;align-items:flex-start;gap:9px;margin:0 0 16px;padding:12px;font-size:.88rem;line-height:1.4;display:flex}.consent-check input,.feedback-option input{accent-color:var(--moss);margin-top:2px}.pilot-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px;margin-top:18px;display:flex}.pilot-actions .button-text{margin-right:auto}.point-selection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.point-selection-card{border:1px solid var(--line);color:var(--ink);cursor:pointer;text-align:left;background:#fbfcf9;border-radius:12px;gap:6px;min-height:162px;padding:15px;display:grid}.point-selection-card:hover{background:#f4faf5;border-color:#86ad8d}.point-selection-card.selected{background:#edf7ee;border-color:#6ba67a;box-shadow:0 0 0 2px #4885571f}.point-selection-card>span{color:var(--moss);font-size:1.05rem;font-weight:800}.point-selection-card strong{font-size:.92rem;line-height:1.4}.point-selection-card small{color:var(--muted);margin-top:auto;font-size:.76rem}.capture-preparation{background:#f7fbf7;border:1px solid #c8dccb;border-radius:12px;margin-top:14px;padding:13px 14px 4px}.capture-preparation strong{color:#23563f;margin-bottom:6px;font-size:.86rem;display:block}.capture-step,.result-step{max-width:840px}.feedback-options{gap:8px;margin-top:14px;display:grid}.feedback-option{border:1px solid var(--line);cursor:pointer;border-radius:10px;align-items:center;gap:9px;padding:11px;font-size:.9rem;display:flex}.feedback-option.selected{color:#215840;background:#edf7ee;border-color:#6ba67a;font-weight:700}.common-region-selector{border-bottom:1px solid var(--line);margin:-1px -1px 16px;padding:0 1px 16px}.common-region-heading{justify-content:space-between;align-items:end;gap:18px;display:flex}.common-region-heading h2,.region-research-panel h2{color:var(--ink);margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.3rem;font-weight:500}.common-region-heading>p{color:var(--muted);max-width:370px;margin:0;font-size:.82rem;line-height:1.4}.common-region-kicker{color:var(--moss);letter-spacing:.08em;text-transform:uppercase;margin:0 0 5px;font-size:.72rem;font-weight:800}.common-region-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:13px;display:grid}.common-region-option{border:1px solid var(--line);color:var(--ink);cursor:pointer;text-align:left;background:#fbfcf9;border-radius:10px;gap:6px;min-height:104px;padding:10px;display:grid}.common-region-option:hover{background:#f4faf5;border-color:#86ad8d}.common-region-option.selected{background:#edf7ee;border-color:#76a982;box-shadow:0 0 0 2px #4885571f}.common-region-option>span:last-child{color:var(--muted);font-size:.72rem;line-height:1.35}.common-region-title-row{justify-content:space-between;align-items:center;gap:5px;display:flex}.common-region-title-row strong{font-size:.89rem}.region-status{white-space:nowrap;border-radius:99px;padding:4px 5px;font-size:.62rem;font-weight:800;line-height:1}.region-status.available{color:#1f6138;background:#d9efdc}.region-status.research{color:#526680;background:#eef1f7}.region-research-panel{color:#314968;background:#f7f8fc;border:1px solid #d8dfec;border-radius:12px;padding:18px}.region-research-panel>p:not(.common-region-kicker),.region-research-panel li{font-size:.88rem;line-height:1.5}.region-research-panel>p:not(.common-region-kicker){max-width:760px;margin:10px 0}.region-research-panel ul{color:#526680;margin:0 0 15px;padding-left:20px}.region-research-panel .button{margin-top:2px}.panel h2{margin:0 0 8px;font-family:Georgia,Times New Roman,serif;font-size:1.3rem;font-weight:500}.panel-copy{color:var(--muted);margin:0 0 16px;font-size:.92rem;line-height:1.45}.drop-zone{cursor:pointer;text-align:center;background:#f8fcf8;border:1.5px dashed #a8c0ad;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:240px;padding:24px;display:flex}.drop-zone:hover,.drop-zone:focus-within{border-color:var(--moss);background:#f1f8f2}.drop-zone.compact{min-height:112px;padding:15px}.drop-zone.compact .drop-icon{width:35px;height:35px;font-size:1.1rem}.drop-icon{background:var(--sage);color:var(--moss);border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.6rem;display:flex}.drop-zone strong{font-size:1rem}.drop-zone span{color:var(--muted);font-size:.86rem}.capture-choice,.capture-setup{gap:12px;display:grid}.capture-setup .view-confirmation{margin:0}.positioning-sheet-launch{color:var(--ink);cursor:pointer;background:#edf7ee;border:1px solid #82b18b;border-radius:13px;place-items:center;gap:6px;padding:22px 18px;display:grid}.positioning-sheet-launch:hover{background:#e1f1e3;border-color:#39794c}.positioning-sheet-launch strong{font-size:1.08rem}.positioning-sheet-launch>span:last-child{color:var(--muted);font-size:.8rem}.positioning-sheet-launch-icon{color:#fff;background:#1f6341;border:4px solid #fff;border-radius:8px;justify-content:center;align-items:center;width:62px;height:47px;font-size:1.35rem;font-weight:900;display:flex;box-shadow:0 0 0 2px #1f6341}.camera-launch{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;font-size:.84rem;display:flex}.camera-launch small{color:var(--muted);text-align:center;flex-basis:100%}.button{cursor:pointer;border:0;border-radius:9px;padding:10px 14px;font-weight:700}.button-primary{background:var(--moss);color:#fff}.button-primary:hover{background:#225640}.button-subtle{color:#315e46;background:#eef3ee}.button-subtle:hover{background:#dfeae0}.camera-capture{gap:10px;display:grid}.camera-preview{background:#132c24;border-radius:12px;justify-content:center;align-items:center;padding:10px;display:flex;overflow:hidden}.camera-stage{width:min(100%,620px);max-width:100%;line-height:0;position:relative}.camera-stage video{background:#132c24;width:100%;height:auto;max-height:min(72vh,700px);display:block}.live-acupoint-marker{--live-connector:clamp(18px, 3vw, 34px);--live-size:clamp(13px, 1.7vw, 19px);height:var(--live-size);pointer-events:none;width:var(--live-size);z-index:2;transition:left .15s linear,top .15s linear;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.live-acupoint-dot{background:#dcff0061;border:2px solid #ffffffeb;border-radius:50%;width:100%;height:100%;display:block;box-shadow:0 0 0 2px #101b00d1,0 1px 5px #00000059}.live-acupoint-label{color:#101b00;height:28px;left:calc(100% + var(--live-connector));background:#dcff00b3;border:2px solid #101b00;border-radius:6px;justify-content:center;align-items:center;min-width:2.7em;padding:0 .3em;font-size:clamp(.76rem,1.4vw,.94rem);font-weight:900;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.live-acupoint-label:before{content:"";height:2px;width:var(--live-connector);background:#101b00;position:absolute;top:50%;right:100%;transform:translateY(-50%)}.live-preview-note{color:#246244;text-align:center;margin:0;font-size:.8rem;line-height:1.4}.camera-feedback{color:#73512c;background:#fff8ee;border:1px solid #efd4a4;border-radius:9px;gap:2px;padding:9px 11px;display:grid}.camera-feedback.ready{color:#246244;background:#e9f5ea;border-color:#9fc8a8}.camera-feedback span,.camera-feedback small,.camera-note{font-size:.8rem;line-height:1.4}.camera-note{color:var(--muted);text-align:center;margin:0}.camera-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.positioning-sheet-prototype{background:#f5f8f5;border:1px solid #c9dbcd;border-radius:14px;margin:16px 0;padding:15px;overflow:hidden}.positioning-sheet-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.positioning-sheet-heading h3{margin:0 0 4px;font-family:Georgia,Times New Roman,serif;font-size:1.14rem;font-weight:500}.positioning-sheet-heading p:not(.standard-location-kicker){color:var(--muted);max-width:480px;margin:0;font-size:.82rem;line-height:1.4}.print-only-action{flex:none;font-size:.8rem}.positioning-sheet-figure{background:#17352b;border-radius:11px;margin-top:13px;padding:10px;overflow:hidden}.positioning-sheet-figure svg{width:100%;max-width:680px;height:auto;margin:0 auto;display:block}.sheet-paper{fill:#fbfaf5;stroke:#c8d9ca;stroke-width:3px}.sheet-guide-line{fill:none;stroke:#acc6b1;stroke-dasharray:8 8;stroke-width:2px}.sheet-finger-guides path{fill:#e4efe5;stroke:#24573f;stroke-width:5px}.sheet-labels{fill:#326447;letter-spacing:1px;font-family:Arial,sans-serif;font-size:10px;font-weight:700}.sheet-palm-zone{fill:#f2f6ee;stroke:#9fba9f;stroke-dasharray:6 7;stroke-width:3px}.sheet-control-window{fill:#fff;stroke:#bfc8b5;stroke-dasharray:5 4;stroke-width:3px}.sheet-control-label{fill:#889487;letter-spacing:1px;font-family:Arial,sans-serif;font-size:12px;font-weight:800}.sheet-wrist-cradle{fill:none;stroke:#24573f;stroke-linecap:round;stroke-width:8px}.sheet-wrist-label{fill:#326447;letter-spacing:1.4px;font-family:Arial,sans-serif;font-size:11px;font-weight:800}.sheet-corners{fill:#c5ff00;stroke:#17352b;stroke-width:5px}.sheet-code,.sheet-side{fill:#17352b;letter-spacing:1px;font-family:Arial,sans-serif;font-size:16px;font-weight:800}.positioning-sheet-caution{color:#73512c;background:#fff8ee;border:1px solid #efd4a4;border-radius:9px;margin:12px 0 0;padding:9px 10px;font-size:.8rem;line-height:1.45}.button:disabled{cursor:not-allowed;opacity:.55}.preview-wrap{background:#e7eee7;border-radius:12px;justify-content:center;align-items:center;padding:10px;display:flex;overflow:hidden}.image-stage{max-width:100%;line-height:0;display:inline-block;position:relative}.image-stage img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:min(72vh,700px);display:block}.preview-wrap img.image-calibration-active{cursor:crosshair}.landmark-overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.acupoint-preview-marker{--connector-length:clamp(30px, 4.5vw, 52px);--marker-size:clamp(16px, 2vw, 26px);height:var(--marker-size);pointer-events:none;width:var(--marker-size);z-index:1;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.acupoint-preview-dot{background:#dcff0094;border:2px solid #ffffffe0;border-radius:50%;width:100%;height:100%;display:block;box-shadow:0 0 0 2px #101b00c2,0 1px 5px #0000003d}.acupoint-preview-label{box-sizing:border-box;color:#101b00;height:max(42px, var(--marker-size));left:calc(100% + var(--connector-length));background:#dcff00c2;border:3px solid #101b00;border-radius:9px;justify-content:center;align-items:center;min-width:3.25em;padding:.2em .42em;font-size:clamp(1.25rem,2.4vw,2rem);font-weight:900;line-height:1;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.acupoint-preview-label:before{content:"";height:5px;width:var(--connector-length);background:#101b00;position:absolute;top:50%;right:100%;transform:translateY(-50%)}.acupoint-preview-marker-left .acupoint-preview-label{left:auto;right:calc(100% + var(--connector-length))}.acupoint-preview-marker-left .acupoint-preview-label:before{left:100%;right:auto}.image-toolbar{justify-content:space-between;align-items:center;gap:10px;margin-top:12px;display:flex}.image-meta{color:var(--muted);font-size:.82rem}.status{border-radius:10px;margin-top:14px;padding:11px 12px;font-size:.9rem;line-height:1.4}.status-progress{color:#275a80;background:#edf4fb}.status-error{color:var(--danger);background:#fff1ef}.status-warning{color:#73512c;background:#fff8ee}.status-success{color:#246244;background:#e9f5ea}.result-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.result-list li{border-bottom:1px solid var(--line);padding:0 0 10px}.result-list li:last-child{border-bottom:0;padding-bottom:0}.result-label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:3px;font-size:.76rem;font-weight:700;display:block}.quality-card{border:1px solid var(--line);border-radius:12px;margin-top:18px;padding:14px}.quality-card.pass{background:#f5fbf5;border-color:#9fc8a8}.quality-card.fail{background:#fff9f8;border-color:#ebc4bd}.quality-title{align-items:center;gap:8px;margin:0 0 8px;font-weight:700;display:flex}.quality-issues{color:var(--muted);margin:0;padding-left:18px;font-size:.88rem;line-height:1.45}.metric-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px;display:grid}.metric{background:#fffc;border-radius:8px;padding:8px;font-size:.8rem}.metric span{color:var(--muted);margin-bottom:2px;font-size:.7rem;display:block}.acupoint-list{gap:10px;margin:16px 0 0;display:grid}.acupoint{border-left:3px solid #a5c9ac;padding:8px 10px}.acupoint strong{font-size:.93rem}.acupoint span{color:var(--muted);margin-top:3px;font-size:.8rem;display:block}.small-note{color:var(--muted);margin:18px 0 0;font-size:.8rem;line-height:1.45}.details{color:var(--muted);margin-top:14px;font-size:.86rem;line-height:1.45}.details summary{color:var(--ink);cursor:pointer;font-weight:700}.details p{margin:8px 0 0}.view-confirmation{border:1px solid #c8dccb;border-radius:12px;margin:16px 0 0;padding:14px}.view-confirmation legend{color:var(--ink);padding:0 5px;font-family:Georgia,Times New Roman,serif;font-size:1.05rem}.view-confirmation p{color:var(--muted);margin:5px 0 12px;font-size:.86rem;line-height:1.45}.view-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.view-option{border:1px solid var(--line);cursor:pointer;border-radius:9px;align-items:center;gap:8px;padding:10px;font-size:.87rem;display:flex}.view-option.selected{color:#215840;background:#edf7ee;border-color:#7cae85;font-weight:700}.view-option input{accent-color:var(--moss)}.coordinate-card{color:#3d365e;background:#f7f5fd;border:1px solid #d6d0ef;border-radius:12px;margin-top:16px;padding:14px;font-size:.86rem;line-height:1.45}.coordinate-card p{margin:0}.coordinate-title{color:#4a3e8e;font-weight:700;margin-bottom:7px!important}.coordinate-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:11px 0;display:grid}.coordinate-metrics span{background:#ffffffbd;border-radius:7px;padding:7px}.coordinate-metrics strong{color:#5b4aa1;letter-spacing:.04em;text-transform:uppercase;margin-bottom:2px;font-size:.7rem;display:block}.coordinate-warning{color:#625b80;font-size:.78rem}.rule-status{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.rule-status h3{margin:0 0 6px;font-family:Georgia,Times New Roman,serif;font-size:1.08rem;font-weight:500}.rule-status>p{color:var(--muted);margin:0;font-size:.84rem;line-height:1.45}.rule-status-list{gap:8px;margin-top:11px;display:grid}.rule-status-item{background:#fff8ee;border:1px solid #f0dbbf;border-radius:8px;padding:9px}.rule-status-item strong{margin-bottom:3px;font-size:.85rem;display:block}.rule-status-item span{color:#73512c;font-size:.78rem;line-height:1.35;display:block}.test-controls{gap:12px;margin-top:14px;display:grid}.test-controls .view-confirmation{margin:0}.standard-location-card{background:#f7fbf7;border:1px solid #bfd7c4;border-radius:13px;grid-template-columns:minmax(0,1.15fr) minmax(220px,.85fr);align-items:center;gap:18px;margin-top:16px;padding:16px;display:grid}.standard-location-kicker{color:var(--moss);letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;font-size:.75rem;font-weight:800}.standard-location-copy h2{color:var(--ink);margin:0 0 8px;font-family:Georgia,Times New Roman,serif;font-size:1.25rem;font-weight:500}.standard-location-copy p{color:#385346;margin:5px 0;font-size:.88rem;line-height:1.5}.standard-location-copy .standard-location-hint{color:#315f4c;font-weight:700}.standard-location-copy .standard-location-note{color:#5d6d64;font-size:.8rem}.standard-location-copy small{color:#68776d;margin-top:9px;font-size:.72rem;display:block}.standard-hand-diagram{margin:0}.standard-hand-diagram svg{width:100%;max-width:100%;height:auto;display:block}.standard-hand-diagram figcaption{color:var(--muted);text-align:center;margin-top:5px;font-size:.72rem}.self-calibration{color:#314968;background:#f5f8ff;border:1px solid #cdd9ef;border-radius:13px;margin-top:16px;padding:16px}.self-calibration h3,.marker-prototype-guide h3{color:#233c66;margin:0 0 7px;font-family:Georgia,Times New Roman,serif;font-size:1.12rem;font-weight:500}.self-calibration>p:not(.standard-location-kicker),.marker-prototype-guide p{margin:0;font-size:.84rem;line-height:1.5}.self-calibration-progress{color:#315f98;background:#ffffffb8;border-radius:8px;margin-top:11px;padding:8px 10px;font-size:.8rem;font-weight:800}.self-calibration-references{gap:7px;margin:11px 0;display:grid}.self-calibration-reference{color:#314968;cursor:pointer;text-align:left;background:#fff;border:1px solid #c5d2e7;border-radius:9px;grid-template-columns:26px 1fr;align-items:center;gap:1px 8px;padding:9px 10px;display:grid}.self-calibration-reference>span{background:#e5edf9;border-radius:50%;grid-row:1/span 2;justify-content:center;align-items:center;width:24px;height:24px;font-size:.73rem;font-weight:800;display:flex}.self-calibration-reference strong{font-size:.82rem}.self-calibration-reference small{color:#617595;font-size:.7rem;line-height:1.25}.self-calibration-reference:hover:not(:disabled),.self-calibration-reference.active{border-color:#3972af;box-shadow:0 0 0 2px #3972af26}.self-calibration-reference.complete{color:#285d39;background:#edf8ef;border-color:#9bc9a4}.self-calibration-reference.complete>span{background:#d5efd8}.self-calibration-reference.complete small{color:#4c7457}.marker-prototype-guide{background:#fbfaf5;border:1px solid #e4d8bd;border-radius:13px;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:16px;margin:16px 0;padding:15px;display:grid}.marker-prototype-guide ul{color:#5f594b;margin:9px 0;padding-left:18px;font-size:.8rem;line-height:1.45}.marker-prototype-swatch{background:#101b20;border:5px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:auto;display:flex;box-shadow:0 0 0 3px #131b1f}.marker-prototype-core{background:#00d8ff;border:5px solid #0a252d;border-radius:50%;width:34px;height:34px;box-shadow:inset 0 0 0 3px #fff}.objective-calibration{color:#2f456d;background:#f5f8ff;border:1px solid #cdd9ef;border-radius:12px;margin-top:0;padding:14px;font-size:.86rem;line-height:1.45}.objective-calibration p{margin:5px 0 0}.objective-title{color:#294f88;font-family:Georgia,Times New Roman,serif;font-size:1.08rem;font-weight:500;margin:0!important}.calibration-field{gap:5px;margin-top:13px;font-size:.78rem;font-weight:700;display:grid}.point-control-heading .calibration-field{max-width:240px;margin-top:0}.calibration-field select,.calibration-actions input{color:var(--ink);background:#fff;border:1px solid #b9c8e1;border-radius:8px;min-height:38px;padding:7px 9px}.calibration-warning{color:#883d27;background:#fff3ed;border:1px solid #ebc8bb;border-radius:8px;padding:8px}.calibration-section{border-top:1px solid #d3ddec;margin-top:14px;padding-top:13px}.calibration-section>strong{color:#294f88}.calibration-section p,.calibration-instruction{color:#556a8a;font-size:.8rem}.calibration-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:9px;display:flex}.calibration-actions input{flex:145px}.button-text{color:#315f98;background:0 0;padding-left:4px;padding-right:4px;text-decoration:underline}.landmark-buttons{gap:7px;margin-top:10px;display:grid}.landmark-button{color:#314968;cursor:pointer;text-align:left;background:#fff;border:1px solid #c5d2e7;border-radius:8px;padding:8px;font-size:.78rem}.landmark-button:hover:not(:disabled),.landmark-button.active{border-color:#3972af;box-shadow:0 0 0 2px #3972af26}.landmark-button.complete{color:#285d39;background:#edf8ef;border-color:#9bc9a4}.landmark-button:disabled{cursor:not-allowed;opacity:.55}.calibration-status{font-weight:700;color:#315f98!important}.localization-result{color:#294f88;background:#fff;border:1px solid #bdcde6;border-radius:8px;padding:10px;font-weight:700;margin-top:14px!important}.localization-result strong{color:#294f88}.localization-result span{color:#526680;font-size:.78rem}.annotation-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.annotation-setup{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 12px 28px #1831270d}.annotation-drop-zone{min-height:280px}.annotation-reference-name{color:var(--ink);text-align:left;gap:6px;width:min(100%,430px);font-size:.84rem;font-weight:800;display:grid}.annotation-reference-name input{color:var(--ink);font:inherit;background:#fff;border:1px solid #bfd0c2;border-radius:8px;padding:9px 10px;font-weight:500}.annotation-source-choices{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.annotation-layout{grid-template-columns:minmax(270px,.72fr) minmax(0,1.28fr);align-items:start;gap:18px;display:grid}.annotation-controls{background:var(--panel);border:1px solid var(--line);border-radius:16px;gap:12px;padding:16px;display:grid;position:sticky;top:12px;box-shadow:0 12px 28px #1831270d}.annotation-progress{color:var(--moss);margin:0;font-size:.82rem;font-weight:800}.annotation-reference-progress{color:#314968;background:#f5f8ff;border:1px solid #cdd9ef;border-radius:8px;margin:-4px 0 0;padding:7px 8px;font-size:.78rem;font-weight:700;line-height:1.35}.annotation-file{color:var(--muted);overflow-wrap:anywhere;margin:-5px 0 0;font-size:.75rem;line-height:1.35}.annotation-controls .view-confirmation{margin:0}.annotation-fieldset{border:1px solid #c8dccb;border-radius:12px;margin:0;padding:12px}.annotation-fieldset legend{padding:0 4px;font-family:Georgia,Times New Roman,serif;font-size:1rem}.annotation-choice-row{flex-wrap:wrap;gap:6px;display:flex}.annotation-choice{border:1px solid var(--line);cursor:pointer;border-radius:8px;align-items:center;gap:5px;padding:8px;font-size:.8rem;display:flex}.annotation-choice.selected{color:#215840;background:#edf7ee;border-color:#7cae85;font-weight:700}.annotation-choice input{accent-color:var(--moss)}.annotation-instruction{color:#314968;background:#f5f8ff;border:1px solid #cdd9ef;border-radius:10px;margin:0;padding:10px;font-size:.84rem;line-height:1.45}.annotation-actions,.annotation-navigation{flex-wrap:wrap;gap:8px;display:flex}.annotation-skip{border-top:1px solid var(--line);gap:7px;padding-top:12px;display:grid}.annotation-skip label{color:var(--muted);font-size:.8rem;font-weight:700}.annotation-skip select{color:var(--ink);background:#fff;border:1px solid #c8d5c9;border-radius:8px;min-height:36px;padding:7px}.annotation-add-images,.annotation-export{justify-self:start}.annotation-image-wrap{background:#e7eee7;border-radius:16px;justify-content:center;align-items:center;min-height:560px;padding:14px;display:flex;overflow:auto}.annotation-image-stage{cursor:crosshair;max-width:100%;line-height:0;display:inline-block;position:relative}.annotation-image-stage img{width:auto;max-width:100%;height:auto;max-height:min(78vh,860px);display:block}.annotation-point{pointer-events:none;background:#dcff00;border:1px solid #fff;border-radius:50%;width:12px;height:12px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #101b00f0,0 1px 3px #00000059}.annotation-point span{color:#101b00;background:#dcff00c7;border:2px solid #101b00;border-radius:6px;padding:6px 8px;font-size:.86rem;font-weight:900;line-height:1;position:absolute;top:50%;left:calc(100% + 12px);transform:translateY(-50%)}.experiment-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.experiment-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.experiment-panel{max-width:960px}.experiment-launch{background:#f5f8ff;border:1px solid #cdd9ef;border-radius:12px;gap:14px;margin-top:18px;padding:16px;display:grid}.experiment-launch p{color:#314968;margin:0;line-height:1.5}.experiment-launch .button{justify-self:start}.experiment-snapshot{gap:10px;margin-top:18px;display:grid}.experiment-snapshot img{border:1px solid var(--line);border-radius:12px;width:min(100%,620px);max-width:100%;height:auto;display:block}.reference-comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0;display:grid}.reference-summary-card{background:#f7fbf7;border:1px solid #c8dccb;border-radius:12px;padding:13px}.reference-summary-card h3{color:var(--moss);margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.2rem;font-weight:500}.reference-summary-card>p{color:var(--muted);margin:5px 0 10px;font-size:.8rem}.reference-summary-card dl{gap:7px;margin:0;display:grid}.reference-summary-card dl div{border-top:1px solid #dbe7dc;justify-content:space-between;align-items:baseline;gap:8px;padding-top:7px;display:flex}.reference-summary-card dt{color:var(--muted);font-size:.78rem}.reference-summary-card dd{color:var(--ink);margin:0;font-size:.84rem;font-weight:800}.research-page{max-width:900px}.research-panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;margin:0 0 18px;padding:18px;box-shadow:0 12px 28px #1831270d}.research-panel h2{color:var(--ink);margin:0 0 12px;font-family:Georgia,Times New Roman,serif;font-size:1.35rem;font-weight:500}.research-steps{color:#385346;margin:14px 0;padding-left:20px;font-size:.88rem;line-height:1.55}.research-steps code{color:#23563f;background:#eff3ef;border-radius:4px;padding:1px 4px}.research-input-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.research-input{color:#315e46;background:#f7fbf7;border:1px solid #c8dccb;border-radius:10px;gap:7px;padding:11px;font-size:.8rem;font-weight:800;display:grid}.research-input input{color:var(--ink);background:#fff;border:1px solid #bfd0c2;border-radius:7px;max-width:100%;padding:5px;font-size:.77rem}.research-input small{color:var(--muted);overflow-wrap:anywhere;font-size:.73rem;font-weight:400;line-height:1.35}.reference-image-choices{flex-wrap:wrap;gap:7px;display:flex}.reference-image-choices .button{padding:8px 9px;font-size:.76rem}.research-availability{color:var(--muted);margin:12px 0;font-size:.8rem}.research-result{background:#f7fbf7;border-color:#b9d5bf}.research-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.research-metric{background:#ffffffe6;border:1px solid #d8e5d9;border-radius:9px;padding:10px}.research-metric span{color:var(--muted);margin-bottom:4px;font-size:.73rem;line-height:1.3;display:block}.research-metric strong{color:#24563f;font-size:.9rem}.research-copy{color:#4d6256;margin:13px 0;font-size:.8rem;line-height:1.45}.marker-experiment-page{max-width:980px}.marker-experiment-panel{gap:16px;display:grid}.marker-point-selection{margin:0}.marker-workflow{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.marker-workflow li{color:#607369;background:#f7fbf7;border:1px solid #d5e3d6;border-radius:9px;align-items:center;gap:7px;padding:9px;font-size:.8rem;font-weight:700;display:flex}.marker-workflow li b{background:#e5efe6;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.72rem;display:inline-flex}.marker-workflow li.active{color:#245e3e;background:#ecf8ed;border-color:#70a67b}.marker-workflow li.active b{color:#fff;background:#287353}.marker-workflow li.complete{color:#306446;border-color:#a4c9aa}.marker-upload-zone{min-height:190px}.marker-upload-secondary{min-height:150px;margin-top:16px}.apriltag-placement-confirmation{color:#3d5745;cursor:pointer;background:#f7fbf7;border:1px solid #c8dccb;border-radius:11px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:.86rem;line-height:1.45;display:flex}.apriltag-placement-confirmation input{accent-color:#267555;width:18px;min-width:18px;height:18px;margin:1px 0 0}.apriltag-placement-series{background:#fbfdfb;border:1px solid #d5e3d6;border-radius:12px;gap:14px;padding:14px;display:grid}.apriltag-placement-series>div:first-child>.section-kicker,.apriltag-placement-series>div:first-child>h2,.apriltag-placement-series>div:first-child>p{margin:0}.apriltag-placement-series>div:first-child>h2{color:#24563f;margin-top:4px;font-family:Georgia,Times New Roman,serif;font-size:1.14rem;font-weight:500}.apriltag-placement-series>div:first-child>p:not(.section-kicker){color:var(--muted);margin-top:6px;font-size:.83rem;line-height:1.45}.apriltag-pose-guidance{color:#314968;background:#f5f8ff;border:1px solid #cdd9ef;border-radius:11px;gap:4px;padding:12px 14px;font-size:.84rem;line-height:1.45;display:grid}.apriltag-pose-guidance strong{color:#233c66}.marker-capture-panel{background:#fbfdfb}.marker-capture-panel>.section-kicker{margin-top:0}.marker-image-stage,.marker-image-stage>img{max-height:min(70vh,760px)}.prototype-marker-instruction{color:#314968;background:#f5f8ff;border:1px solid #cdd9ef;border-radius:12px;margin-top:16px;padding:15px}.prototype-marker-instruction h2{color:#233c66;margin:4px 0 8px;font-family:Georgia,Times New Roman,serif;font-size:1.15rem;font-weight:500}.prototype-marker-instruction p,.prototype-marker-instruction li{font-size:.84rem;line-height:1.5}.prototype-marker-instruction p{margin:0}.prototype-marker-instruction ul{margin:10px 0 0;padding-left:18px}.detected-marker-centre{--marker-size:clamp(17px, 2.1vw, 26px);color:#083f4b;pointer-events:none;text-shadow:0 1px #fff;z-index:3;align-items:center;gap:7px;font-size:clamp(.71rem,1.1vw,.86rem);font-weight:900;display:flex;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.detected-marker-centre>span{height:var(--marker-size);width:var(--marker-size);background:#00d8ff;border:3px solid #101b20;border-radius:50%;display:block;box-shadow:0 0 0 2px #ffffffe6}.marker-result{border:1px solid;border-radius:12px;margin-top:16px;padding:15px}.marker-result h2{margin:4px 0 7px;font-family:Georgia,Times New Roman,serif;font-size:1.18rem;font-weight:500}.marker-result p{margin:7px 0;font-size:.86rem;line-height:1.5}.marker-result.near{color:#215d3d;background:#edf8ee;border-color:#9fc8a8}.marker-result.review{color:#715127;background:#fff8ee;border-color:#e7c888}.marker-result.outside{color:#913e2b;background:#fff1ef;border-color:#efc2bb}.marker-prototype-guide .button{margin-top:10px}.static-reference-card{background:#f7fbf7;border:1px solid #c8dccb;border-radius:13px;margin:16px 0;padding:12px}.static-reference-preview{background:#e7eee7;max-height:440px;padding:8px}.static-reference-preview .image-stage img{max-height:min(52vh,420px)}.static-reference-card>p{color:#385346;margin:11px 2px 1px;font-size:.84rem;line-height:1.5}.static-reference-card>.coordinate-guide-legend{color:#315f98;font-size:.79rem}.verification-capture-choice,.verification-result{border-top:1px solid #d8e3d9;margin-top:18px;padding-top:18px}.verification-capture-choice h3{color:#233c66;margin:4px 0 8px;font-family:Georgia,Times New Roman,serif;font-size:1.18rem;font-weight:500}.verification-capture-choice>p:not(.section-kicker){color:var(--muted);margin:0 0 14px;font-size:.88rem;line-height:1.5}.marker-batch-panel{background:#f3f8f4;border:1px solid #bdd6c0;border-radius:12px;justify-content:space-between;align-items:end;gap:18px;margin:0 0 16px;padding:15px;display:flex}.marker-batch-panel h2{color:#233c66;margin:4px 0 6px;font-family:Georgia,Times New Roman,serif;font-size:1.16rem;font-weight:500}.marker-batch-panel p{margin:0;font-size:.84rem;line-height:1.45}.marker-batch-count{flex-direction:column;align-items:flex-end;gap:4px;min-width:max-content;display:flex}.marker-batch-count strong{color:#1e6540;font-size:1.05rem}.marker-batch-count span{color:#536e5a;font-size:.88rem;font-weight:800}.marker-result-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.marker-result-actions .button{margin:0}.marker-batch-export{color:#294d70;background:#edf5ff;border:1px solid #bdd1ea;border-radius:12px;margin-top:16px;padding:14px}.marker-batch-export p{margin:0;font-size:.86rem;line-height:1.45}.live-marker-panel{gap:16px;display:grid}.live-marker-launch{margin-top:0}.live-marker-workflow,.live-marker-camera-preview{margin:0}.live-acupoint-marker-frozen .live-acupoint-dot{background:#dcff008c}.live-detected-marker{--live-marker-size:clamp(14px, 1.9vw, 21px);color:#073b76;pointer-events:none;text-shadow:0 1px #fff;z-index:4;align-items:center;gap:6px;font-size:clamp(.7rem,1vw,.82rem);font-weight:900;display:flex;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.live-detected-marker>span{height:var(--live-marker-size);width:var(--live-marker-size);background:#00abff9e;border:2px solid #08243c;border-radius:50%;display:block;box-shadow:0 0 0 2px #ffffffeb}.live-marker-actions{margin-top:4px}.live-marker-result.near{color:#215d3d;background:#edf8ee;border-color:#9fc8a8}.live-marker-result.review{color:#715127;background:#fff8ee;border-color:#e7c888}.live-marker-result.outside{color:#913e2b;background:#fff1ef;border-color:#efc2bb}.apriltag-panel-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.apriltag-panel-heading>div{max-width:650px}.apriltag-panel-heading h2{margin:4px 0 8px}.apriltag-panel-heading p:not(.section-kicker){color:var(--muted);margin:0;font-size:.86rem;line-height:1.5}.apriltag-print-grid{grid-template-columns:repeat(3,20mm);justify-content:center;gap:10mm 14mm;margin:16px auto;display:grid}.apriltag-print-label{box-sizing:border-box;background:#fff;border:1px solid #cfd6cf;justify-content:center;align-items:center;width:20mm;height:20mm;margin:0;padding:3.75mm;display:flex}.apriltag-print-label img{height:12.5mm;image-rendering:pixelated;image-rendering:crisp-edges;width:12.5mm;display:block}.apriltag-print-steps{color:#4a5e50;margin:14px 0 0;padding-left:19px;font-size:.84rem;line-height:1.45}.apriltag-upload-panel{gap:10px;display:grid}.apriltag-upload-panel>.section-kicker,.apriltag-upload-panel>h2,.apriltag-upload-panel>.research-copy{margin:0}.apriltag-upload-zone{min-height:200px}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.apriltag-series-panel{gap:16px;display:grid}.apriltag-series-panel>div:first-child>.section-kicker,.apriltag-series-panel>div:first-child>h2,.apriltag-series-panel>div:first-child>.research-copy{margin:0}.apriltag-series-panel>div:first-child>h2{margin-top:4px}.apriltag-series-progress{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.apriltag-series-progress>div{background:#f4f8f3;border:1px solid #c8dec9;border-radius:11px;gap:4px;padding:12px;display:grid}.apriltag-series-progress strong{color:#215d3d}.apriltag-series-progress span{color:var(--muted);font-size:.83rem}.apriltag-series-select{border:0;flex-wrap:wrap;gap:10px;margin:0;padding:0;display:flex}.apriltag-series-select legend{margin-bottom:7px;padding:0;font-size:.85rem;font-weight:800}.apriltag-series-select label{cursor:pointer;border:1px solid #c8d8ca;border-radius:10px;align-items:center;gap:8px;padding:10px 13px;font-weight:800;display:inline-flex}.apriltag-series-select label.selected{color:#215d3d;background:#edf8ee;border-color:#66a879}.apriltag-series-select input{accent-color:#267555;width:17px;height:17px;margin:0}.apriltag-series-select:disabled{opacity:.68}.apriltag-series-select:disabled label{cursor:not-allowed}.apriltag-series-ready{color:#215d3d;background:#edf8ee;border:1px solid #9fc8a8;border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px 13px;padding:14px;display:flex}.apriltag-series-ready span{flex-basis:100%;font-size:.86rem}.apriltag-series-list{border-top:1px solid #d9e5da;gap:0;margin:0;padding:0;list-style:none;display:grid}.apriltag-series-list li{border-bottom:1px solid #d9e5da;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;font-size:.81rem;display:flex}.apriltag-series-list button{color:#31679e;cursor:pointer;font:inherit;background:0 0;border:0;padding:2px;font-weight:800;text-decoration:underline}.apriltag-result-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.apriltag-image-stage>img{max-height:min(74vh,760px)}.apriltag-status{border:1px solid;border-radius:12px;margin-top:16px;padding:15px}.apriltag-status h2{margin:0 0 7px;font-family:Georgia,Times New Roman,serif;font-size:1.18rem;font-weight:500}.apriltag-status>p{margin:7px 0;font-size:.86rem;line-height:1.5}.apriltag-status.detected{color:#215d3d;background:#edf8ee;border-color:#9fc8a8}.apriltag-status.too-small{color:#715127;background:#fff8ee;border-color:#e7c888}.apriltag-status.not-found{color:#913e2b;background:#fff1ef;border-color:#efc2bb}.apriltag-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:13px 0;display:grid}.apriltag-metrics div{background:#ffffffa6;border-radius:8px;padding:8px}.apriltag-metrics dt{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.68rem;font-weight:800}.apriltag-metrics dd{margin:4px 0 0;font-size:.93rem;font-weight:900}@media print{@page{margin:12mm;size:A4 landscape}body{background:#fff}.page-shell>:not(.test-panel):not(.apriltag-print-panel),.test-panel>:not(.pilot-section),.pilot-section>:not(.positioning-sheet-prototype){display:none!important}.page-shell,.test-panel,.pilot-section,.positioning-sheet-prototype{box-shadow:none;border:0;max-width:none;margin:0;padding:0}.positioning-sheet-prototype{break-inside:avoid}.positioning-sheet-heading{margin-bottom:7mm}.print-only-action{display:none}.positioning-sheet-figure{background:#fff;padding:0}.positioning-sheet-figure svg{width:100%;max-width:none}.apriltag-page>:not(.apriltag-print-panel){display:none!important}.apriltag-page,.apriltag-print-panel{box-shadow:none;border:0;max-width:none;margin:0;padding:0}.apriltag-print-panel{display:block!important}.apriltag-panel-heading{display:block}.apriltag-panel-heading h2{font-size:16pt}.apriltag-print-grid{gap:12mm 16mm;margin:12mm auto}.apriltag-print-label{width:20mm;height:20mm;padding:3.75mm}.apriltag-print-label img{width:12.5mm;height:12.5mm}.no-print{display:none!important}}@media (max-width:760px){.page-shell{padding:22px 14px 36px}.masthead{flex-direction:column;gap:12px}.local-pill{margin:0}.test-header{flex-direction:column;align-items:flex-start}.test-header-actions{justify-content:flex-start}.workflow-grid{grid-template-columns:1fr}.common-region-heading{flex-direction:column;align-items:flex-start;gap:7px}.common-region-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.common-region-option{min-height:90px}.panel{padding:16px}.view-options,.coordinate-metrics,.standard-location-card,.point-selection-grid{grid-template-columns:1fr}.pilot-actions{flex-direction:column-reverse;align-items:stretch}.pilot-actions .button,.pilot-actions .button-text{text-align:center;width:100%;margin-right:0}.annotation-header,.experiment-header{flex-direction:column;align-items:stretch}.experiment-header-actions{justify-content:stretch}.experiment-header-actions .button{text-align:center;width:100%}.annotation-layout{grid-template-columns:1fr}.annotation-controls{position:static}.annotation-image-wrap{min-height:0}.reference-comparison-grid,.research-input-grid,.research-metric-grid{grid-template-columns:1fr}.apriltag-panel-heading{flex-direction:column}.apriltag-panel-heading .button{width:100%}.apriltag-series-progress{grid-template-columns:1fr}.apriltag-series-ready .button{width:100%}.apriltag-series-list li{flex-direction:column;align-items:flex-start}.apriltag-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.marker-workflow{grid-template-columns:1fr}.marker-batch-panel{flex-direction:column;align-items:flex-start}.marker-batch-count{align-items:flex-start}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
