@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-next-latin-400-normal-FfmJh7DR.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-next-latin-400-normal-DPp7N0cD.woff)format("woff")}@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-next-latin-700-normal-Dpiyiu63.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-next-latin-700-normal-C2qZD_Q9.woff)format("woff")}@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/atkinson-hyperlegible-next-latin-800-normal-D32lleIF.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-next-latin-800-normal-DtRtCSx4.woff)format("woff")}@font-face{font-family:Atkinson Hyperlegible Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/atkinson-hyperlegible-mono-latin-500-normal-CfDLaOZW.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-mono-latin-500-normal-BV5ipwqM.woff)format("woff")}@font-face{font-family:Atkinson Hyperlegible Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-mono-latin-700-normal-BhOtGXDr.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-mono-latin-700-normal-BQ8cw3oD.woff)format("woff")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--desk:#eceef2;--paper:#fff;--wash:#f4f5f8;--wash-strong:#e7e9ef;--ink:#1f2547;--ink-2:#545a74;--ink-3:#858aa0;--rule:#dde0e7;--rule-strong:#bfc4d1;--hl:#ffe45c;--hl-soft:#fff4b8;--hl-edge:#d9b400;--ok:#1c7a4a;--ok-wash:#e5f2ea;--warn:#a85300;--warn-wash:#fbeedf;--bad:#ba3226;--bad-wash:#fae8e5;--font:"Atkinson Hyperlegible Next", -apple-system, "Segoe UI", Roboto, sans-serif;--font-token:"Atkinson Hyperlegible Mono", ui-monospace, Menlo, Consolas, monospace;--r-sheet:3px;--r-control:8px;--shadow-sheet:0 1px 0 #1f25470a, 0 12px 32px -18px #1f254759}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{background:var(--desk);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;touch-action:manipulation;min-height:100vh;font-size:16px;line-height:1.45}#root{flex-direction:column;min-height:100vh;display:flex}button,input{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}button:disabled{cursor:not-allowed}::selection{background:var(--hl);color:var(--ink)}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.viewfinder{background:#000;width:100%;height:100%;position:relative;overflow:hidden}.viewfinder__video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.viewfinder__window{position:absolute;box-shadow:0 0 0 9999px #0000008c}.viewfinder__window>*{position:absolute;inset:0}.ghost-overlay{pointer-events:none;position:absolute;inset:0}.ghost{width:100%;height:100%;display:block;overflow:hidden}.bodies{opacity:.5}.body__rim ellipse,.body__rim polygon,.body__rim path{fill:#fff;stroke:#fff;stroke-width:4px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.body__fill ellipse,.body__fill polygon,.body__fill path{fill:#1f2547;stroke:#1f2547;stroke-width:.5px;vector-effect:non-scaling-stroke}.body__fill--arm ellipse,.body__fill--arm polygon,.body__fill--arm path{fill:#1f2547;stroke:#1f2547}.body__patch ellipse,.body__patch polygon,.body__patch path{fill:#1f2547;stroke:#1f2547;stroke-width:4px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.body__num{fill:#fff;font-weight:700;font-family:var(--font-token,monospace)}.ghost--matched .bodies{opacity:.55}.ghost--matched .body__fill ellipse,.ghost--matched .body__fill polygon,.ghost--matched .body__fill path,.ghost--matched .body__fill--arm ellipse,.ghost--matched .body__fill--arm polygon,.ghost--matched .body__fill--arm path{fill:var(--color-ok,#1c7a4a);stroke:var(--color-ok,#1c7a4a)}.ghost--matched .body__patch ellipse,.ghost--matched .body__patch polygon,.ghost--matched .body__patch path{fill:var(--color-ok,#1c7a4a);stroke:var(--color-ok,#1c7a4a);stroke-width:4px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.ghost__meter{background:#ffffff40;border-radius:3px;width:100%;height:6px;position:absolute;top:calc(100% + 8px);left:0;overflow:hidden}.ghost__meter-bar{background:var(--color-ok,#1c7a4a);height:100%;transition:width .1s ease-out}.frame-picker{box-sizing:border-box;grid-template-columns:repeat(4,1fr);gap:8px;width:100%;display:grid}.frame-picker-button{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-control);cursor:pointer;min-width:44px;min-height:44px;color:var(--ink);box-sizing:border-box;flex-direction:column;justify-content:space-between;align-items:center;padding:8px 4px;transition:border-color .15s,background-color .15s;display:flex}.frame-picker-button[aria-pressed=true]{border-color:var(--ink);background:var(--wash-strong);box-shadow:0 0 0 1px var(--ink)}.frame-picker-card-container{justify-content:center;align-items:flex-end;margin-bottom:6px;display:flex}.frame-picker-card-svg{display:block}.frame-picker-card-outline{fill:var(--paper);stroke:var(--rule-strong);stroke-width:1.5px}.frame-picker-button[aria-pressed=true] .frame-picker-card-outline{stroke:var(--ink);stroke-width:2px}.frame-picker-card-window{fill:var(--wash-strong);stroke:var(--rule-strong);stroke-width:.8px}.frame-picker-button[aria-pressed=true] .frame-picker-card-window{fill:var(--wash);stroke:var(--ink)}.frame-picker-title{color:var(--ink-2);text-align:center;font-size:11px;font-weight:500;line-height:1.2}.frame-picker-button[aria-pressed=true] .frame-picker-title{color:var(--ink);font-weight:700}.background-step{box-sizing:border-box;flex-direction:column;gap:12px;width:100%;display:flex}.background-step-action-row{flex-direction:column;gap:6px;display:flex}.background-step-instruction{color:var(--ink-2);font-size:13px;line-height:1.35}.background-step-read-button{background:var(--ink);min-width:44px;min-height:44px;color:var(--paper);border:1px solid var(--ink);border-radius:var(--r-control);cursor:pointer;box-sizing:border-box;justify-content:center;align-items:center;padding:10px 16px;font-size:14px;font-weight:600;transition:opacity .15s;display:inline-flex}.background-step-read-button:active{opacity:.85}.background-step-reading{background:var(--wash);border:1px solid var(--rule);border-radius:var(--r-control);box-sizing:border-box;flex-direction:column;gap:4px;padding:10px 12px;font-size:13px;display:flex}.background-step-reading-item{color:var(--ink);font-weight:500}.background-step-warning{color:var(--warn);margin-top:2px;font-weight:600}.background-step-chips{flex-wrap:wrap;gap:8px;display:flex}.background-step-chip{background:var(--paper);min-width:44px;min-height:44px;color:var(--ink);border:1px solid var(--rule);cursor:pointer;box-sizing:border-box;border-radius:22px;justify-content:center;align-items:center;padding:8px 14px;font-size:13px;font-weight:500;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.background-step-chip[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink);font-weight:600}.pose-cards{box-sizing:border-box;flex-direction:column;gap:12px;width:100%;display:flex}.pose-cards-header{justify-content:space-between;align-items:center;display:flex}.pose-cards-count{font-size:12px;font-family:var(--font-token);color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em;font-weight:700}.pose-cards-empty{background:var(--wash);border:1px dashed var(--rule-strong);border-radius:var(--r-control);min-height:88px;color:var(--ink-2);text-align:center;box-sizing:border-box;justify-content:center;align-items:center;padding:20px;font-size:14px;font-style:italic;display:flex}.pose-cards-list{flex-direction:column;gap:10px;display:flex}.pose-card-button{text-align:left;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-control);width:100%;min-width:44px;min-height:44px;box-shadow:var(--shadow-sheet);cursor:pointer;box-sizing:border-box;grid-template-columns:56px 1fr;align-items:center;gap:12px;padding:10px 12px;transition:border-color .15s,background-color .15s;display:grid}.pose-card-button[aria-pressed=true]{border:2px solid var(--ink);background:var(--wash-strong)}.pose-card-thumb-col{justify-content:center;align-items:center;display:flex}.pose-card-skeleton{background:var(--wash);border:1px solid var(--rule);border-radius:4px;width:72px;height:72px;display:block;overflow:hidden}.pose-card-button[aria-pressed=true] .pose-card-skeleton{background:var(--paper);border-color:var(--ink-2)}.pose-card-skeleton .bodies{opacity:1}.pose-card-skeleton .body__rim ellipse,.pose-card-skeleton .body__rim polygon,.pose-card-skeleton .body__rim path{fill:var(--wash);stroke:var(--wash);stroke-width:2.5px}.pose-card-skeleton .body__fill ellipse,.pose-card-skeleton .body__fill polygon,.pose-card-skeleton .body__fill path,.pose-card-skeleton .body__fill--arm ellipse,.pose-card-skeleton .body__fill--arm polygon,.pose-card-skeleton .body__fill--arm path{fill:var(--ink-2);stroke:var(--ink-2)}.pose-card-skeleton .body__patch ellipse,.pose-card-skeleton .body__patch polygon,.pose-card-skeleton .body__patch path{fill:var(--ink-2);stroke:var(--ink-2);stroke-width:2.5px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.pose-card-button[aria-pressed=true] .pose-card-skeleton .body__rim ellipse,.pose-card-button[aria-pressed=true] .pose-card-skeleton .body__rim polygon,.pose-card-button[aria-pressed=true] .pose-card-skeleton .body__rim path{fill:var(--paper);stroke:var(--paper)}.pose-card-button[aria-pressed=true] .pose-card-skeleton .body__fill ellipse,.pose-card-button[aria-pressed=true] .pose-card-skeleton .body__fill polygon,.pose-card-button[aria-pressed=true] .pose-card-skeleton .body__fill path,.pose-card-button[aria-pressed=true] .pose-card-skeleton .body__fill--arm ellipse,.pose-card-button[aria-pressed=true] .pose-card-skeleton .body__fill--arm polygon,.pose-card-button[aria-pressed=true] .pose-card-skeleton .body__fill--arm path{fill:var(--ink);stroke:var(--ink)}.pose-card-button[aria-pressed=true] .pose-card-skeleton .body__patch ellipse,.pose-card-button[aria-pressed=true] .pose-card-skeleton .body__patch polygon,.pose-card-button[aria-pressed=true] .pose-card-skeleton .body__patch path{fill:var(--ink);stroke:var(--ink);stroke-width:2.5px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.pose-card-content{flex-direction:column;gap:2px;display:flex;overflow:hidden}.pose-card-title{color:var(--ink);font-size:14px;font-weight:700;line-height:1.25}.pose-card-instruction{color:var(--ink-2);font-size:12px;line-height:1.3}.pose-card-reasons{flex-wrap:wrap;gap:4px;margin-top:4px;padding:0;list-style:none;display:flex}.pose-card-reason-tag{font-size:11px;font-family:var(--font-token);background:var(--wash-strong);color:var(--ink-2);border-radius:4px;padding:2px 6px;line-height:1.2}.pose-card-button[aria-pressed=true] .pose-card-reason-tag{background:var(--paper);color:var(--ink)}.result-card-container{box-sizing:border-box;background:var(--desk);flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;width:100%;min-height:100vh;padding:1.5rem 1rem;display:flex}.result-card-stage{flex:1;justify-content:center;align-items:center;width:100%;max-width:600px;min-height:0;display:flex}.result-card-canvas{border-radius:var(--r-sheet);width:auto;max-width:100%;height:auto;max-height:72vh;box-shadow:var(--shadow-sheet);display:block}.result-actions{justify-content:center;width:100%;padding-bottom:1rem;display:flex}.result-retake-btn{min-height:48px;font-size:1rem;font-weight:600;font-family:var(--font);color:var(--ink);background:var(--paper);border:1px solid var(--rule-strong);border-radius:var(--r-control);padding:.75rem 2rem;transition:background .15s,border-color .15s,transform .1s;box-shadow:0 1px 2px #1f254714}.result-retake-btn:hover{background:var(--wash);border-color:var(--ink-3)}.result-retake-btn:active{background:var(--wash-strong);transform:scale(.98)}.app-root{background:#000;flex-direction:column;width:100%;height:100%;display:flex;position:fixed;inset:0;overflow:hidden}.app-viewfinder-layer{z-index:1;width:100%;height:100%;position:absolute;inset:0}.app-overlay-screen{z-index:10;background:var(--desk);box-sizing:border-box;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:24px 16px;display:flex;position:absolute;inset:0}.app-overlay-card{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-control);box-shadow:var(--shadow-sheet);flex-direction:column;align-items:center;gap:16px;width:100%;max-width:400px;padding:32px 24px;display:flex}.app-title{color:var(--ink);margin:0;font-size:1.5rem;font-weight:700}.app-subtitle{color:var(--ink-2);margin:0;font-size:.95rem}.app-error-message{color:var(--bad);margin:0;font-size:.95rem}.app-status-badge{top:max(16px, env(safe-area-inset-top));color:var(--paper);z-index:5;pointer-events:none;background:#1f2547d9;border-radius:20px;padding:6px 14px;font-size:.85rem;font-weight:600;position:absolute;left:50%;transform:translate(-50%)}.app-top-bar{top:max(12px, env(safe-area-inset-top));z-index:5;pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;left:16px;right:16px}.app-cell-badge{color:var(--hl);font-family:var(--font-token);background:#1f2547d9;border-radius:12px;padding:4px 10px;font-size:.8rem;font-weight:700}.app-bottom-panel{z-index:6;background:var(--paper);border-top:1px solid var(--rule);padding:16px;padding-bottom:max(16px, env(safe-area-inset-bottom));box-sizing:border-box;border-radius:16px 16px 0 0;flex-direction:column;gap:12px;max-height:80vh;display:flex;position:absolute;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -4px 20px #00000026}.app-panel-heading{color:var(--ink);margin:0 0 4px;font-size:1.1rem;font-weight:700}.app-button-row{gap:12px;width:100%;margin-top:4px;display:flex}.app-primary-button{background:var(--ink);min-height:48px;color:var(--paper);border-radius:var(--r-control);border:1px solid var(--ink);flex:1;justify-content:center;align-items:center;padding:12px 20px;font-size:1rem;font-weight:700;transition:opacity .15s,transform .1s;display:flex}.app-primary-button:active{transform:scale(.98)}.app-primary-button:disabled{opacity:.45}.app-secondary-button{background:var(--wash);min-width:80px;min-height:48px;color:var(--ink);border-radius:var(--r-control);border:1px solid var(--rule-strong);justify-content:center;align-items:center;padding:12px 18px;font-size:.95rem;font-weight:600;display:flex}.app-stepper-row{color:var(--ink-2);justify-content:space-between;align-items:center;padding:4px 0;font-size:.9rem;display:flex}.app-stepper{align-items:center;gap:8px;display:flex}.app-stepper-btn{background:var(--wash);border:1px solid var(--rule);border-radius:var(--r-control);width:44px;height:44px;color:var(--ink);justify-content:center;align-items:center;font-size:1.2rem;font-weight:700;display:flex}.app-stepper-btn:disabled{opacity:.3}.app-stepper-value{text-align:center;min-width:24px;font-family:var(--font-token);color:var(--ink);font-size:1.05rem;font-weight:700}.app-stepper-reset{min-height:44px;color:var(--ink-2);border:1px dashed var(--rule-strong);border-radius:var(--r-control);padding:0 10px;font-size:.8rem;font-weight:600}.app-hint-line{color:var(--ink);text-align:center;min-height:1.3rem;margin:2px 0;font-size:.95rem;font-weight:600}.app-shutter-row{justify-content:space-between;align-items:center;width:100%;padding:4px 0;display:flex}.app-back-btn{min-width:60px;min-height:44px;color:var(--ink-2);font-size:.9rem;font-weight:600}.app-shutter-spacer{min-width:60px}.app-shutter-button{background:var(--paper);border:4px solid var(--ink);border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;padding:4px;transition:transform .1s;display:flex;box-shadow:0 2px 8px #0003}.app-shutter-button:active{transform:scale(.94)}.app-shutter-inner{background:var(--ink);border-radius:50%;width:100%;height:100%}.app-burst-screen{z-index:10;color:var(--paper);background:#000000b3;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:absolute;inset:0}.app-burst-spinner{border:4px solid #fff3;border-top-color:var(--hl);border-radius:50%;width:48px;height:48px;animation:.8s linear infinite app-spin}@keyframes app-spin{to{transform:rotate(360deg)}}.app-result-screen{z-index:10;background:var(--desk);flex-direction:column;display:flex;position:absolute;inset:0;overflow-y:auto}.app-footer{text-align:center;color:var(--ink-3);padding-top:4px;font-size:.75rem}.app-root{flex-direction:column;display:flex}.app-viewfinder-layer{flex:none;height:54dvh;position:relative;inset:auto}.app-bottom-panel{flex:auto;min-height:0;max-height:none;position:relative;overflow-y:auto}.ghost{filter:drop-shadow(0 0 1.5px #000000e6)}.app-result-screen{flex-direction:column;display:flex;overflow-y:auto}.app-result-screen .result-card-container{flex:auto;min-height:0}.app-result-screen .result-card-canvas{max-height:56vh}.app-bottom-panel .pose-cards-list{scroll-snap-type:x mandatory;flex-direction:row;padding-bottom:4px;overflow-x:auto}.app-bottom-panel .pose-card-button{scroll-snap-align:start;flex:0 0 82%}.app-viewfinder-layer{position:relative}.app-advice-chip{color:#fff;text-align:center;pointer-events:none;background:#14161eb8;border-radius:999px;width:max-content;max-width:calc(100% - 24px);margin:0;padding:7px 14px;font-size:.95rem;font-weight:600;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.app-advice-chip--act{color:#1f2547;background:#fff}.pairing-screen{background:var(--desk);min-height:100vh;color:var(--ink);box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;padding:24px 16px;display:flex}.pairing-card{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-control);box-shadow:var(--shadow-sheet);box-sizing:border-box;flex-direction:column;gap:20px;width:100%;max-width:360px;padding:28px 24px;display:flex}.pairing-card__header{text-align:center;flex-direction:column;gap:8px;display:flex}.pairing-card__title{color:var(--ink);letter-spacing:-.01em;font-size:20px;font-weight:700}.pairing-card__hint{color:var(--ink-2);font-size:14px;line-height:1.4}.pairing-form{flex-direction:column;gap:16px;display:flex}.pairing-code-input{border:2px solid var(--rule-strong);border-radius:var(--r-control);background:var(--wash);width:100%;height:52px;color:var(--ink);font-family:var(--font-token);text-align:center;letter-spacing:.18em;box-sizing:border-box;padding:0 12px;font-size:24px;font-weight:700;transition:border-color .15s}.pairing-code-input:focus{border-color:var(--ink);background:var(--paper);outline:none}.pairing-btn{border-radius:var(--r-control);background:var(--ink);height:48px;color:var(--paper);box-sizing:border-box;justify-content:center;align-items:center;padding:0 20px;font-size:15px;font-weight:700;transition:opacity .15s;display:inline-flex}.pairing-btn:disabled{opacity:.4;cursor:not-allowed}.pairing-btn--secondary{background:var(--wash-strong);color:var(--ink)}.pairing-notice{border-radius:var(--r-control);background:var(--warn-wash);color:var(--warn);border:1px solid var(--rule);padding:12px;font-size:13px;line-height:1.4}.pairing-notice--error{background:var(--bad-wash);color:var(--bad)}.pairing-spinner{border:3px solid var(--rule);border-top-color:var(--ink);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite pairing-spin}@keyframes pairing-spin{to{transform:rotate(360deg)}}.pairing-unreachable{text-align:center;background:var(--paper);border-radius:var(--r-control);width:100%;max-width:320px;box-shadow:var(--shadow-sheet);border:1px solid var(--rule);box-sizing:border-box;flex-direction:column;align-items:center;gap:16px;padding:24px;display:flex}.pairing-unreachable .pairing-btn{min-width:140px}.pairing-unreachable__text{color:var(--ink);font-size:15px;line-height:1.45}.paired-badge-container{top:max(10px, env(safe-area-inset-top,10px));right:max(12px, env(safe-area-inset-right,12px));z-index:1000;position:fixed}.paired-badge-pill{background:var(--paper);border:1px solid var(--rule-strong);max-width:170px;height:28px;max-height:28px;color:var(--ink);-webkit-user-select:none;user-select:none;box-sizing:border-box;cursor:pointer;border-radius:14px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex;box-shadow:0 2px 6px #1f25471f}.paired-badge-dot{background:var(--ok);border-radius:50%;flex-shrink:0;width:6px;height:6px}.paired-badge-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.paired-badge-menu{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-control);min-width:180px;box-shadow:var(--shadow-sheet);flex-direction:column;gap:4px;padding:6px;display:flex;position:absolute;top:32px;right:0}.paired-badge-menu__item{text-align:left;width:100%;color:var(--bad);border-radius:4px;padding:8px 10px;font-size:13px;font-weight:500}.paired-badge-menu__item:hover{background:var(--bad-wash)}.paired-badge-menu__confirm{flex-direction:column;gap:8px;padding:8px;display:flex}.paired-badge-menu__confirm-text{color:var(--ink-2);font-size:12px}.paired-badge-menu__confirm-actions{gap:6px;display:flex}.paired-badge-menu__confirm-btn{border-radius:4px;flex:1;justify-content:center;align-items:center;height:28px;font-size:12px;font-weight:600;display:flex}.paired-badge-menu__confirm-btn--danger{background:var(--bad);color:var(--paper)}.paired-badge-menu__confirm-btn--cancel{background:var(--wash-strong);color:var(--ink)}
