@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap";:root{font-family:Manrope,system-ui,sans-serif;color:#e6eef2;background:#0f151b;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;overflow:hidden}.app-shell{height:100dvh;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);padding:18px 16px 12px;gap:10px;row-gap:0}.toolbar{display:flex;align-items:center;gap:10px;min-height:44px;margin-bottom:10px;grid-row:1;grid-column:1 / -1}.toolbar .back-link{flex:none;margin:0;font:500 12px/1 Manrope,system-ui,sans-serif;letter-spacing:.01em;color:#7c9096;text-decoration:none;white-space:nowrap}.toolbar .back-link:hover,.toolbar .back-link:focus-visible{color:#9fd3c7;text-decoration:underline}.toolbar .back-link:focus-visible{outline:2px solid #9fd3c7;outline-offset:4px;border-radius:3px}.toolbar h1{flex:none;margin:0;font:700 18px/1 Georgia,Times New Roman,serif;letter-spacing:-.02em;white-space:nowrap}.toolbar .status{flex:1;min-width:0;margin:0;display:flex;align-items:baseline;gap:7px;overflow:hidden;white-space:nowrap;font:12px/1.3 DM Mono,ui-monospace,monospace;color:#9fd3c7}.toolbar .status span{color:#687e85;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.toolbar .status strong{min-width:0;overflow:hidden;text-overflow:ellipsis;font-weight:500}.toolbar-actions{flex:none;display:flex;align-items:center;gap:6px}button{font:600 13px/1 Manrope,system-ui,sans-serif;padding:10px 14px;border-radius:999px;border:1px solid #33454f;background:#17222a;color:inherit;cursor:pointer}button:hover{border-color:#9fd3c7}button:focus-visible{border-color:#9fd3c7;outline:2px solid #9fd3c7;outline-offset:2px}.primary-button{background:#9fd3c7;color:#0f151b;border-color:#9fd3c7}.toolbar-icon-button{position:relative;width:40px;height:40px;min-width:40px;padding:0;gap:7px;font-size:18px;line-height:1;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.toolbar-icon-button.pressed{background:#9fd3c7;color:#0f151b;border-color:#9fd3c7}.toolbar-button-label{display:none;font-size:12px}.control-tooltip{position:absolute;top:calc(100% + 8px);right:0;z-index:20;width:max-content;max-width:180px;padding:6px 8px;border:1px solid #33454f;border-radius:7px;background:#121c23;color:#d8e4e7;font:11px/1.2 DM Mono,ui-monospace,monospace;box-shadow:0 8px 22px #00000059;opacity:0;pointer-events:none;transform:translateY(-3px);transition:opacity .12s ease,transform .12s ease}.toolbar-icon-button:hover .control-tooltip,.toolbar-icon-button:focus-visible .control-tooltip{opacity:1;transform:translateY(0)}@media(min-width:1050px){.toolbar-icon-button:has(.toolbar-button-label){width:auto;padding:0 12px}.toolbar-button-label{display:inline}.toolbar-icon-button:has(.toolbar-button-label) .control-tooltip{display:none}}.support-button{height:40px;padding:0 16px;display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:#9fd3c7;color:#0f151b;border:1px solid #9fd3c7;font:700 13px/1 Manrope,system-ui,sans-serif;flex-shrink:0}.support-button:hover,.support-button:focus-visible{background:#b7ddd3;border-color:#b7ddd3}.support-button:focus-visible{outline:2px solid #b7ddd3;outline-offset:2px}@media(max-width:480px){.support-button{width:40px;min-width:40px;padding:0;justify-content:center}.support-button-label{display:none}}.menu-wrap{position:relative;flex-shrink:0}.menu{position:absolute;top:calc(100% + 6px);right:0;z-index:16;display:grid;gap:2px;min-width:180px;padding:6px;border-radius:12px;border:1px solid #22313a;background:#121c23;box-shadow:0 10px 30px #0006;transform-origin:top right;animation:menu-in .14s cubic-bezier(.2,.8,.2,1)}.menu button{display:block;width:100%;margin:0;padding:10px 12px;border:0;border-radius:8px;background:transparent;font:500 14px/1.2 Manrope,system-ui,sans-serif;color:inherit;text-align:left;text-decoration:none;text-transform:none;letter-spacing:normal}.menu button:hover,.menu button:focus-visible{background:#17222a}.menu button{min-height:44px}.error{padding:10px 14px;border-radius:10px;background:#3a1f24;color:#ffd9dd;font-size:14px;grid-column:1 / -1}.stage-wrap{position:relative;min-height:0;min-width:0}.stage{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:16px;overflow:hidden;background:radial-gradient(circle,rgba(143,179,173,.09) 1px,transparent 1.4px) 0 0 / 22px 22px,#0d1318;border:1px solid #22313a;touch-action:none;cursor:grab}.no-board .stage{cursor:default}.stage:active{cursor:grabbing}.stage canvas{display:block}.board-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.is-dragging .stage{border-color:#9fd3c7}.input-status{position:absolute;left:14px;bottom:14px;z-index:8;display:grid;gap:5px;min-width:178px;margin:0;padding:10px 12px;border:1px solid rgba(159,211,199,.2);border-radius:11px;background:#0f151bd1;color:#cfe0e4;pointer-events:none;box-shadow:0 8px 24px #0000003d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.input-status-camera{color:#8fa3a7;font:500 10px/1.2 DM Mono,ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase}.input-status-model{display:none;min-width:0;overflow:hidden;color:#cfe0e4;font:500 10px/1.3 DM Mono,ui-monospace,monospace;text-overflow:ellipsis;white-space:nowrap}.input-status-camera:before{content:"";display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:#66777d;vertical-align:1px}.input-status[data-camera=starting] .input-status-camera:before{background:#f0d98a;box-shadow:0 0 10px #f0d98a73}.input-status[data-camera=live] .input-status-camera:before{background:#9fd3c7;box-shadow:0 0 10px #9fd3c78c}.input-status[data-camera=error] .input-status-camera{color:#ffd9dd}.input-status[data-camera=error] .input-status-camera:before{background:#ff8793}.input-status-fallback{color:#9fb0b4;font:10px/1.4 DM Mono,ui-monospace,monospace}.input-status[data-camera=live] .input-status-fallback{display:none}.input-status-action{display:none;gap:2px}.input-status[data-camera=live] .input-status-action{display:grid}.input-status-action strong{font-size:13px;line-height:1.25}.input-status-action small{color:#8fa3a7;font:10px/1.35 DM Mono,ui-monospace,monospace}.input-status[data-state=active] .input-status-action strong{color:#9fd3c7}.hand-dot{position:fixed;z-index:42;width:18px;height:18px;margin:-9px 0 0 -9px;border:2px solid #9fd3c7;border-radius:50%;pointer-events:none;box-shadow:0 0 0 1px #0f151b8c}.hand-dot[data-state=holding]{background:#9fd3c7}.hand-dot[data-state=disarmed]{border-color:#4c6570;opacity:.5}.hand-skeleton{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:41;filter:drop-shadow(0 0 2px rgba(15,21,27,.8))}.drop-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;margin:0;font:14px/1.4 DM Mono,ui-monospace,monospace;color:#9fb0b4;pointer-events:none}.drop-hint{background:#0f151bcc;color:#9fd3c7}.camera-preview-wrap{position:absolute;top:12px;left:12px;width:160px;border-radius:10px;overflow:hidden;background:#0f151b}.camera-preview-wrap[hidden]{display:none}.camera-preview{display:block;width:100%;height:100%;object-fit:contain;transform:scaleX(-1);opacity:.85;pointer-events:none}.camera-preview-hide{position:absolute;top:4px;right:4px;width:22px;height:22px;padding:0;font-size:14px;line-height:1;border-radius:999px}.gesture-guide{position:absolute;top:12px;right:12px;z-index:12;max-width:260px;display:grid;gap:10px;padding:14px 16px;border-radius:12px;background:#121c23;border:1px solid #22313a;box-shadow:0 10px 30px #0006}.gesture-guide ol{margin:0;padding:0;list-style:none;display:grid;gap:4px;font:13px/1.5 DM Mono,ui-monospace,monospace}.gesture-guide li{display:flex;align-items:flex-start;gap:8px}.gesture-guide .guide-icon{flex:0 0 20px;text-align:center}.gesture-guide button{justify-self:end}.hold-ring{position:fixed;transform:translate(-50%,-50%);z-index:40;pointer-events:none}.hold-ring-track{fill:none;stroke:#9fd3c740;stroke-width:3}.hold-ring-progress{fill:none;stroke:#9fd3c7;stroke-width:3;stroke-linecap:round;transform-origin:50% 50%;transform:rotate(-90deg);transition:stroke-dashoffset 80ms linear}.gesture-toast{position:absolute;left:50%;top:16px;z-index:13;transform:translate(-50%);padding:8px 16px;border-radius:999px;background:#121c23;border:1px solid #22313a;color:#cfe0e4;font:13px/1.3 DM Mono,ui-monospace,monospace;box-shadow:0 10px 30px #0006;opacity:0;pointer-events:none;transition:opacity .15s ease}.gesture-toast[data-visible=true]{opacity:1}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:15;display:grid;place-items:center;background:#080c1099;padding:16px}.dialog{width:min(420px,100%);display:grid;gap:14px;padding:20px;border-radius:16px;background:#121c23;border:1px solid #22313a}.dialog h2{margin:0;font:500 22px/1 Georgia,serif}.dialog p{margin:0;color:#9fb0b4;font-size:14px;line-height:1.5}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}.welcome-card{max-height:calc(100dvh - 32px);overflow-y:auto}.welcome-card-heading{display:flex;align-items:center;gap:8px}.welcome-card-tagline{color:#cddadd;font-size:15px}.welcome-card-label{margin:4px 0 -4px;font:700 11px/1 DM Mono,ui-monospace,monospace;letter-spacing:.08em;color:#9fd3c7}.welcome-card-list,.welcome-card-steps{margin:0;padding:0;list-style:none;display:grid;gap:8px}.welcome-card-list li{position:relative;padding-left:16px;color:#9fb0b4;font-size:14px;line-height:1.5}.welcome-card-list li:before{content:"•";position:absolute;left:2px;color:#9fd3c7}.welcome-card-steps li{display:flex;align-items:flex-start;gap:8px;color:#9fb0b4;font-size:14px;line-height:1.5}.welcome-card-step-icon{flex-shrink:0}.welcome-card-privacy{color:#7c9096;font-size:13px}.welcome-card-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.welcome-card-actions button{flex:1 1 auto;justify-content:center}.welcome-card-actions .primary-button{display:inline-flex;align-items:center;gap:6px}.dialog-head{display:flex;justify-content:flex-end;margin:-6px -6px -8px 0}.support-dialog{max-height:calc(100dvh - 32px);overflow-y:auto}.support-panel{display:grid;gap:14px;min-width:0}.support-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.support-dialog .support-panel-header{position:sticky;top:0;margin:-6px -6px 0;padding:6px 6px 0;background:#121c23;z-index:1}.support-heart{color:#9fd3c7}.support-subhead{margin:0;color:#9fb0b4;font-size:14px;line-height:1.5}.support-primary-action{justify-self:stretch;justify-content:center}.support-card-button{display:inline-flex;align-items:center;gap:6px;padding:12px 20px;border-radius:999px;background:#9fd3c7;color:#0f151b;border:1px solid #9fd3c7;font:600 14px/1 Manrope,system-ui,sans-serif;text-decoration:none}.support-crypto{display:grid;gap:10px;min-width:0}.support-section-label{margin:4px 0 -4px;color:#7c9096;font:600 11px/1 DM Mono,ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase}.support-coin-choices,.support-network-choices{display:flex;flex-wrap:wrap;gap:6px}.support-coin-choices button[aria-pressed=true],.support-network-choices button[aria-pressed=true]{background:#9fd3c7;color:#0f151b;border-color:#9fd3c7}.support-crypto-entry{display:grid;gap:12px;min-width:0}.support-ronin-pay{display:grid;gap:6px}.support-ronin-pay-button{display:inline-flex;align-items:center;gap:6px;padding:12px 20px;border-radius:999px;background:#9fd3c7;color:#0f151b;border:1px solid #9fd3c7;font:700 14px/1 Manrope,system-ui,sans-serif;text-decoration:none}.support-ronin-pay-hint{margin:0;color:#7c9096;font-size:12px}.support-detail-card{display:flex;gap:14px;align-items:flex-start;padding:14px;border-radius:14px;background:#17222a;border:1px solid #22313a}.support-detail-info{display:grid;gap:6px;min-width:0;flex:1}.support-network-badge{display:inline-flex;align-items:center;gap:6px;width:fit-content;padding:4px 10px;border-radius:999px;background:#121c23;border:1px solid #33454f;color:#cfe0e6;font:600 11px/1 Manrope,system-ui,sans-serif;letter-spacing:.02em}.support-network-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.support-network-badge-ethereum .support-network-dot{background:#8a92ff}.support-network-badge-ronin .support-network-dot{background:#1273ea}.support-network-badge-bitcoin .support-network-dot{background:#f7931a}.support-network-warning{margin:0;font-size:13px;color:#9fb0b4}.support-short-address{margin:0;font:600 18px/1.2 DM Mono,ui-monospace,monospace;letter-spacing:.01em;overflow-wrap:anywhere}.support-copyable-address{display:grid;gap:6px}.support-copy-button{justify-self:start;display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:999px;background:#9fd3c7;color:#0f151b;border:1px solid #9fd3c7;font:700 13px/1 Manrope,system-ui,sans-serif;cursor:pointer}.support-copyable-address-secondary .support-copy-button{padding:6px 12px;font:600 12px/1 Manrope,system-ui,sans-serif;background:transparent;color:inherit;border-color:#33454f}.support-address{min-width:0;padding:8px 10px;border-radius:8px;border:1px solid #33454f;background:#0f151b;color:inherit;font:12px/1.4 DM Mono,ui-monospace,monospace;overflow-wrap:anywhere}.support-copy-status{font-size:12px;color:#9fd3c7;min-height:14px}.support-secondary-address{display:grid;gap:6px;font-size:12px}.support-secondary-label{color:#9fb0b4}.support-qr{width:120px;height:120px;flex:none;padding:10px;border-radius:12px;background:#fff;box-shadow:0 2px 8px #00000059}.support-qr svg{display:block;width:100%;height:100%}@media(max-width:480px){.support-detail-card{flex-direction:column;align-items:stretch}}.hand-skeleton{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:41;filter:drop-shadow(0 0 2px rgba(15,21,27,.8)) drop-shadow(0 0 1px rgba(15,21,27,.8))}.hand-skeleton[hidden]{display:none}.settings-panel{position:fixed;top:72px;right:16px;bottom:16px;z-index:14;width:min(340px,calc(100vw - 32px));display:flex;flex-direction:column;background:#121c23;border:1px solid #22313a;border-radius:16px;box-shadow:0 18px 50px #00000073;overflow:hidden;animation:settings-panel-in .18s cubic-bezier(.2,.8,.2,1)}.settings-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #22313a;background:#121c23f5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.settings-head h2{margin:0;font:500 22px/1 Georgia,Times New Roman,serif}.icon-button{width:40px;height:40px;padding:0;font-size:20px;line-height:1}.settings-body{flex:1;overflow-y:auto;padding:12px 14px;scrollbar-color:#33454f transparent}.settings-group{display:grid;gap:12px;margin:0 0 10px;padding:14px;border:1px solid #22313a;border-radius:12px;background:#17222a61}.settings-group legend{padding:0 6px;color:#8fa3a7;font:11px/1 DM Mono,ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase}.setting-toggle{display:flex;gap:10px;align-items:center;min-height:40px;font-size:14px;cursor:pointer}.setting-toggle input{width:18px;height:18px;accent-color:#9fd3c7}.setting-hint{margin:-4px 0 0;font-size:12px;color:#8fa3a7}.setting-slider{display:grid;gap:6px;font-size:14px}.setting-label{display:flex;justify-content:space-between;gap:8px}.setting-label output{color:#9fd3c7;font:12px/1.4 DM Mono,ui-monospace,monospace}.setting-slider input{width:100%;accent-color:#9fd3c7}.reset-settings{flex:none;min-height:42px;margin:0;border-width:1px 0 0;border-radius:0;background:#121c23}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}}@keyframes settings-panel-in{0%{opacity:0;transform:translate(10px)}}@media(max-width:680px){.app-shell{padding:14px 16px 10px}.toolbar h1,.toolbar .status span{display:none}.input-status-model{display:block}.camera-preview-wrap{width:min(96px,22vw)}.gesture-guide{top:12px;left:12px;right:12px;max-width:none}.settings-panel{position:fixed;top:auto;left:0;right:0;bottom:0;z-index:10;width:100%;max-height:70dvh;border:0;border-top:1px solid #22313a;border-radius:16px 16px 0 0;box-shadow:-18px 0 40px #00000059;padding-bottom:env(safe-area-inset-bottom);animation-name:settings-sheet-in}}@keyframes settings-sheet-in{0%{opacity:0;transform:translateY(18px)}}@media(max-width:400px){.toolbar-actions{gap:4px}.toolbar-icon-button,.support-button{width:36px;min-width:36px;height:36px}.toolbar-icon-button{font-size:16px}}@media(max-height:500px){.app-shell{padding:6px 10px;column-gap:4px}.toolbar{gap:6px}.toolbar h1{font-size:15px}.toolbar .status{font-size:11px}}@media(prefers-reduced-motion:reduce){.menu,.settings-panel{animation:none}.control-tooltip,.gesture-toast,.hold-ring-progress{transition:none}}:root{--accent: #9fd3c7;--hot: #ffb547;--hot-soft: rgba(255, 181, 71, .14);--done: #5fae7a;--ink-dim: #8fa3a7;--line: #22313a;--panel: #121c23}.notices{grid-row:2;display:grid;gap:8px}.notices:not(:empty){margin-bottom:10px}.bench{grid-row:3}.error{margin:0}.error-dismissable{display:flex;align-items:center;justify-content:space-between;gap:12px}.error-dismiss{flex:none;width:28px;height:28px;padding:0;border-color:transparent;background:transparent;color:inherit;font-size:13px}.error-dismiss:hover,.error-dismiss:focus-visible{border-color:#ff8793}.notice{padding:10px 14px;border-radius:10px;background:#2e2a1a;color:#f2e2b4;font-size:14px}button:disabled{opacity:.45;cursor:default}button:disabled:hover{border-color:#33454f}.link-button{padding:6px 8px;border:0;background:transparent;color:var(--accent);font-weight:500;text-decoration:underline;text-underline-offset:3px}code{font:.92em DM Mono,ui-monospace,monospace;color:#cfe0e4}.bench{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:12px;min-height:0}.no-unit .bench{grid-template-columns:minmax(0,1fr)}.stage[data-view=none],.stage[data-view=text]{cursor:default}.photo-frame{position:absolute;transform-origin:0 0;will-change:transform}.photo-frame img{display:block;width:100%;height:100%;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none;border-radius:6px}.photo-marks{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.mark-arrow{stroke:var(--hot);stroke-width:7;stroke-linecap:round;filter:drop-shadow(0 2px 3px rgba(0,0,0,.6))}.mark-head{fill:var(--hot)}.mark-circle{fill:none;stroke:var(--hot);stroke-width:6;filter:drop-shadow(0 2px 3px rgba(0,0,0,.6))}.mark-label{fill:#fff6e6;font:700 30px/1 Manrope,system-ui,sans-serif;paint-order:stroke;stroke:#0f151beb;stroke-width:9px;stroke-linejoin:round}.stage canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.view-problem,.view-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;margin:0;padding:24px;text-align:center;font:15px/1.5 DM Mono,ui-monospace,monospace}.view-problem{color:#ffd9dd}.view-loading{color:var(--ink-dim);pointer-events:none}.view-note{position:absolute;top:12px;right:12px;z-index:7;max-width:min(360px,calc(100% - 24px));margin:0;padding:7px 10px;border-radius:8px;background:#2e2a1aeb;color:#f2e2b4;font:12px/1.4 DM Mono,ui-monospace,monospace}.text-step{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:safe center;justify-items:center;gap:18px;padding:28px 24px 96px;overflow-y:auto;scrollbar-color:#33454f transparent}.text-step>*{width:min(780px,100%)}.text-step-title{margin:0;color:#f4ecdf;font:700 clamp(26px,3.4vw,44px)/1.1 Georgia,"Times New Roman",serif;text-align:center;letter-spacing:-.015em;overflow-wrap:anywhere}.text-step[data-plain] .text-step-title{max-width:18ch;color:#2c3e47;font-size:clamp(30px,5vw,64px)}.text-step .checklist{gap:10px}.text-step .check-item{min-height:76px;gap:18px;padding:14px 18px;border-radius:16px;font-size:clamp(19px,2.2vw,26px)}.text-step .check-box{width:44px;height:44px;border-radius:11px;font-size:26px}.text-step-text{margin:0;color:#c3d2d6;font-size:clamp(17px,1.9vw,23px);line-height:1.5}.text-step-note{margin:0;padding:10px 14px;border-left:4px solid var(--accent);color:#d8e7e3;font-size:clamp(16px,1.7vw,21px)}.step-panel{position:relative;display:flex;flex-direction:column;min-height:0;border:1px solid var(--line);border-radius:16px;background:var(--panel);overflow:hidden}.step-head{flex:none;display:grid;gap:8px;padding:18px 20px 14px;background:linear-gradient(180deg,var(--hot-soft),transparent 90%)}.step-position{margin:0;color:var(--ink-dim);font:500 13px/1.2 DM Mono,ui-monospace,monospace}.step-done-flag{color:var(--done)}.step-title{margin:0;color:#f4ecdf;font:700 clamp(26px,2.6vw,36px)/1.1 Georgia,"Times New Roman",serif;letter-spacing:-.015em;overflow-wrap:anywhere}.step-warning{flex:none;display:grid;gap:6px;margin:0 14px 4px;padding:10px 12px;border:1px solid rgba(255,181,71,.55);border-radius:10px;background:var(--hot-soft);color:#ffe2b0;font:600 15px/1.35 Manrope,system-ui,sans-serif}.step-warning p{margin:0}.confirm-timer{display:grid;gap:4px}.confirm-timer-text{color:#d9c9a8;font:500 12px/1 DM Mono,ui-monospace,monospace}.confirm-timer-bar{height:4px;border-radius:2px;background:#ffb54733;overflow:hidden}.confirm-timer-bar i{display:block;height:100%;background:var(--hot);transition:width .25s linear}.panel-flash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;border-radius:16px;background:#9fd3c724;box-shadow:inset 0 0 0 3px var(--accent);pointer-events:none;animation:panel-flash .48s ease-out forwards}@keyframes panel-flash{0%{opacity:1}to{opacity:0}}.step-onstage{margin:0;color:var(--ink-dim);font-size:14px}.step-parts-label{display:flex;justify-content:space-between;gap:8px;margin:0 0 -6px;color:var(--ink-dim);font:500 12px/1.3 DM Mono,ui-monospace,monospace}.step-parts-count{flex:none;color:var(--hot);font-variant-numeric:tabular-nums}.last-step-note{margin:0;color:var(--hot);font:500 13px/1.3 DM Mono,ui-monospace,monospace}.check-item[data-skipped]{border-style:dashed;opacity:.6}.check-item[data-skipped] .check-box{border-color:#4b6370;color:var(--ink-dim)}.check-skipped{margin-left:auto;color:var(--ink-dim);font:500 11px/1 DM Mono,ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase}.step-body{flex:1;min-height:0;overflow-y:auto;padding:6px 14px 14px;display:grid;align-content:start;gap:12px;scrollbar-color:#33454f transparent}.checklist{margin:0;padding:0;list-style:none;display:grid;gap:6px}.check-item{width:100%;min-height:56px;display:flex;align-items:center;gap:14px;padding:10px 12px;border-radius:12px;border-color:#2a3b45;background:#15212a;text-align:left;font:600 17px/1.3 Manrope,system-ui,sans-serif}.check-item:hover{background:#192833}.check-box{flex:none;display:grid;place-items:center;width:30px;height:30px;border:2px solid #5b7480;border-radius:8px;color:#0f151b;font-size:18px;font-weight:800}.check-item[aria-checked=true]{border-color:#5fae7a80}.check-item[aria-checked=true] .check-box{border-color:var(--done);background:var(--done)}.check-item[aria-checked=true] .check-text{color:#b9dcc4}.check-item:disabled{opacity:.8}.step-parts{display:flex;flex-wrap:wrap;gap:6px}.part-chip{min-height:40px;padding:8px 14px;border-radius:10px;font:600 16px/1 DM Mono,ui-monospace,monospace;color:#ffe2b0;border-color:#ffb54773;background:transparent}.part-chip[aria-pressed=true]{color:#0f151b;background:var(--done);border-color:var(--done)}.step-text{margin:0;color:#c3d2d6;font-size:15px;line-height:1.55;max-width:60ch}.step-note{margin:0;padding:8px 10px;border-left:3px solid var(--accent);color:#d8e7e3;font-size:14px}.unit-bar{flex:none;display:grid;gap:10px;padding:12px 14px 14px;border-top:1px solid var(--line);background:#10191f}.unit-line{display:flex;align-items:baseline;gap:10px;margin:0;font:500 13px/1 DM Mono,ui-monospace,monospace;color:var(--ink-dim)}.unit-line strong{color:#f4ecdf;font:700 16px/1 Manrope,system-ui,sans-serif}.unit-clock{color:var(--accent);font-variant-numeric:tabular-nums;font-size:15px}.unit-count{margin-left:auto;font-variant-numeric:tabular-nums}.step-rail{display:flex;flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none}.rail-step{width:34px;height:34px;padding:0;border-radius:9px;border-color:#2a3b45;background:transparent;color:var(--ink-dim);font:600 13px/1 DM Mono,ui-monospace,monospace}.rail-step[data-done=true]{color:var(--done);border-color:#5fae7a73}.rail-step[aria-current=step]{color:#0f151b;background:var(--hot);border-color:var(--hot)}.step-actions{display:flex;gap:8px}.step-actions button{min-height:44px}.done-button{flex:1;font-size:15px}.start-panel{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;display:grid;align-content:center;justify-items:center;gap:22px;padding:24px 16px;overflow-y:auto;text-align:center}.start-open,.unit-start{display:grid;justify-items:center;gap:12px;width:min(480px,100%);padding:28px 24px;border:1.5px dashed #3c5560;border-radius:18px;background:#121c23b8}.unit-start{border-style:solid;border-color:var(--line)}.start-open h2,.unit-start h2{margin:0;font:700 28px/1.15 Georgia,Times New Roman,serif;letter-spacing:-.01em}.start-open p{margin:0;max-width:40ch;color:#9fb0b4;font-size:15px;line-height:1.55}.start-open .primary-button{padding:13px 20px;font-size:14px}.start-sample{display:grid;justify-items:center;gap:8px}.start-credit{margin:0;max-width:46ch;color:#7c9096;font-size:12px;line-height:1.5}.start-credit a{color:var(--accent)}.start-loading{margin:0;color:var(--ink-dim);font:14px/1.4 DM Mono,ui-monospace,monospace}.unit-start-folder{margin:0;color:var(--ink-dim);font:12px/1.2 DM Mono,ui-monospace,monospace}.unit-start-meta{margin:-4px 0 4px;color:#9fb0b4;font-size:14px}.resume-offer{width:100%;display:grid;gap:10px;padding:14px;border:1px solid rgba(255,181,71,.45);border-radius:12px;background:var(--hot-soft)}.resume-offer p{margin:0;display:grid;gap:4px}.resume-offer strong{font-size:17px}.resume-offer span{color:#d9c9a8;font-size:13px}.unit-form{display:flex;align-items:flex-end;justify-content:center;gap:10px;flex-wrap:wrap}.unit-form label{display:grid;gap:4px;text-align:left;color:var(--ink-dim);font:11px/1 DM Mono,ui-monospace,monospace}.unit-form input{width:96px;min-height:40px;padding:8px 10px;border:1px solid #33454f;border-radius:10px;background:#0f151b;color:#f4ecdf;font:600 18px/1 DM Mono,ui-monospace,monospace}.unit-form input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.unit-form button{min-height:40px}.unit-start-error{margin:0;color:#ffd9dd;font-size:14px}.unit-start-help{margin:0;max-width:44ch;color:#7c9096;font-size:12px;line-height:1.5}.done-card{position:absolute;left:50%;bottom:92px;z-index:12;width:min(460px,calc(100% - 24px));transform:translate(-50%);display:grid;gap:10px;padding:18px 20px;border:1px solid rgba(95,174,122,.5);border-radius:16px;background:#121c23;box-shadow:0 18px 50px #00000080;animation:done-card-in .22s cubic-bezier(.2,.8,.2,1)}.done-card h2{margin:0;font:700 22px/1.25 Manrope,system-ui,sans-serif}.done-card p{margin:0;color:#9fb0b4;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.done-card .dialog-actions{flex-wrap:wrap}@keyframes done-card-in{0%{opacity:0;transform:translate(-50%,10px)}}.note-dialog textarea{width:100%;padding:10px 12px;border:1px solid #33454f;border-radius:10px;background:#0f151b;color:inherit;font:15px/1.4 Manrope,system-ui,sans-serif;resize:vertical}.note-dialog textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.quick-notes{display:flex;flex-wrap:wrap;gap:6px}.quick-notes button{min-height:44px}.setting-choices{display:grid;gap:2px}.gesture-toast{font-size:15px;padding:10px 18px;max-width:calc(100% - 24px);text-align:center}.input-status{max-width:calc(100% - 28px)}.input-status-fallback{max-width:260px}@media(max-width:680px){.bench{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(180px,42%) minmax(0,1fr);gap:8px}.no-unit .bench{grid-template-rows:minmax(0,1fr)}.step-head{padding:12px 14px 8px;gap:4px}.step-title{font-size:24px}.check-item{min-height:48px;font-size:15px}.unit-bar{padding:10px 12px 12px;gap:8px}.rail-step{width:30px;height:30px}.input-status{left:8px;bottom:8px;min-width:0;padding:7px 9px}.input-status-fallback{display:none}.done-card{bottom:8px;padding:14px}.start-open,.unit-start{padding:22px 16px}}@media(prefers-reduced-motion:reduce){.done-card{animation:none}}.bench[hidden]{display:none}.notice-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.notice-actions span{flex:1 1 260px}.notice-actions button{min-height:36px;padding:8px 14px}.mode-button.pressed{background:var(--hot);border-color:var(--hot);color:#0f151b}.save-button:not(:disabled){border-color:var(--accent);color:var(--accent)}.danger-button{background:#5a2028;border-color:#ff8793;color:#ffe1e5}.mini-button{width:30px;height:30px;min-width:30px;padding:0;border-radius:8px;font-size:13px;background:transparent}.mini-button.danger:hover:not(:disabled),.marks-tool.danger:hover:not(:disabled){border-color:#ff8793;color:#ffb3bc}.bench.edit-mode{position:relative;grid-row:3;display:block;min-height:0}.edit-bench{display:grid;grid-template-columns:240px minmax(0,1fr) minmax(300px,360px);gap:12px;min-height:0;height:100%}.edit-steps,.edit-form{min-height:0;overflow-y:auto;border:1px solid var(--line);border-radius:16px;background:var(--panel);scrollbar-color:#33454f transparent}.edit-main{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px;min-height:0;min-width:0}.edit-main>.error{grid-row:1}.edit-stage{position:relative;grid-row:2;inset:auto;min-height:240px;border:1.5px dashed rgba(255,181,71,.55)}.edit-stage[data-view=photo],.edit-stage[data-view=text]{cursor:default}.edit-steps{display:flex;flex-direction:column;gap:10px;padding:14px 10px;overflow-x:hidden}.edit-guide-title{display:grid;gap:5px;padding:0 4px;color:var(--ink-dim);font:500 11px/1 DM Mono,ui-monospace,monospace}.edit-guide-title input{width:100%;min-width:0;min-height:38px;padding:7px 10px;border:1px solid #33454f;border-radius:9px;background:#0f151b;color:#f4ecdf;font:700 16px/1.2 Georgia,Times New Roman,serif}.edit-step-list{margin:0;padding:0;list-style:none;display:grid;gap:3px}.edit-step-row{position:relative;min-width:0;display:flex;align-items:center;gap:2px;border-radius:10px}.edit-step-row[data-current=true]{background:#17232b;box-shadow:inset 3px 0 0 var(--hot)}.edit-step-row[data-dragging]{opacity:.45}.edit-step-row[data-drop=before]:before,.edit-step-row[data-drop=after]:after{content:"";position:absolute;left:8px;right:8px;height:2px;border-radius:2px;background:var(--hot)}.edit-step-row[data-drop=before]:before{top:-2px}.edit-step-row[data-drop=after]:after{bottom:-2px}.edit-step-grip{flex:none;width:14px;color:#4b6370;cursor:grab;text-align:center;-webkit-user-select:none;user-select:none}.edit-step-pick{flex:1;min-width:0;display:flex;align-items:baseline;gap:8px;padding:9px 6px;border:0;border-radius:8px;background:transparent;text-align:left;font:600 14px/1.25 Manrope,system-ui,sans-serif}.edit-step-pick:hover{background:#9fd3c70f}.edit-step-number{flex:none;min-width:18px;color:var(--hot);font:500 12px/1 DM Mono,ui-monospace,monospace}.edit-step-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edit-step-type{flex:none;color:#5f7782;font-size:12px}.edit-step-tools{flex:none;display:flex;gap:2px;padding-right:4px}.edit-add-step{display:grid;justify-items:center;gap:4px;margin:0 4px;padding:10px 14px;border-radius:14px}.edit-add-step small{font:500 11px/1 DM Mono,ui-monospace,monospace;opacity:.75}.edit-hint{margin:auto 4px 0;color:#5f7782;font:11px/1.45 DM Mono,ui-monospace,monospace}.edit-form{display:grid;align-content:start;gap:14px;padding:16px 14px}.edit-field{display:grid;gap:6px;color:var(--ink-dim);font:500 11px/1.2 DM Mono,ui-monospace,monospace}.edit-field input:not([type=range]),.edit-field select,.edit-field textarea,.edit-checklist input,.marks-label-input{width:100%;min-height:38px;padding:8px 10px;border:1px solid #33454f;border-radius:9px;background:#0f151b;color:#e6eef2;font:500 14px/1.35 Manrope,system-ui,sans-serif}.edit-field textarea{resize:vertical}.edit-field input[type=range]{accent-color:var(--hot)}.edit-form input:focus-visible,.edit-form select:focus-visible,.edit-form textarea:focus-visible,.edit-guide-title input:focus-visible,.marks-label-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.edit-title input{font:700 22px/1.2 Georgia,Times New Roman,serif!important;color:#f4ecdf!important}.edit-group{display:grid;gap:10px;margin:0;padding:12px;border:1px solid var(--line);border-radius:12px}.edit-group legend{padding:0 6px;color:var(--ink-dim);font:500 11px/1 DM Mono,ui-monospace,monospace}.segmented{display:flex;flex-wrap:wrap;gap:4px}.segmented button{flex:1 1 auto;padding:8px 10px;border-radius:9px;font-size:13px}.segmented button[aria-pressed=true]{background:var(--hot);border-color:var(--hot);color:#0f151b}.edit-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.edit-row>button{padding:9px 12px;border-radius:9px}.edit-help{margin:0;color:#6f878f;font-size:12px;line-height:1.45}.edit-value{display:flex;align-items:center;gap:8px;margin:0;color:var(--ink-dim);font:500 11px/1 DM Mono,ui-monospace,monospace}.edit-value code{color:#ffe2b0}.edit-checklist{margin:0;padding:0;list-style:none;display:grid;gap:6px}.edit-checklist li{display:flex;align-items:center;gap:4px}.edit-checklist input{flex:1;min-width:0}.edit-check-box{flex:none;width:18px;height:18px;margin-right:4px;border:2px solid #5b7480;border-radius:5px}.edit-add-item{justify-self:start;border-style:dashed;background:transparent;color:var(--accent)}.edit-unknown{padding:10px 12px;border:1px solid rgba(255,181,71,.45);border-radius:10px;background:var(--hot-soft)}.edit-unknown p{margin:0 0 6px;color:#ffe2b0;font-size:13px}.edit-unknown pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;color:#f2e2b4;font:12px/1.4 DM Mono,ui-monospace,monospace}.marks-toolbar{position:absolute;top:10px;left:10px;right:10px;z-index:7;display:flex;flex-wrap:wrap;align-items:center;gap:4px}.marks-tool{padding:8px 11px;border-radius:9px;background:#121c23eb;font-size:13px}.marks-tool[aria-pressed=true]{background:var(--hot);border-color:var(--hot);color:#0f151b}.marks-label-input{width:180px;min-height:34px;padding:6px 9px}.marks-count{margin-left:auto;padding:6px 8px;border-radius:8px;background:#121c23d9;color:var(--ink-dim);font:500 11px/1 DM Mono,ui-monospace,monospace}.marks-frame{transform:none}.marks-canvas{pointer-events:auto;touch-action:none;cursor:crosshair;outline:none}.marks-canvas[data-tool=select]{cursor:default}.marks-canvas[data-tool=select] .mark-item{cursor:move}.marks-canvas:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mark-hit{fill:transparent;stroke:transparent;stroke-width:30}circle.mark-hit{fill:none}.mark-item[data-selected] .mark-hit{stroke:#9fd3c759;stroke-dasharray:10 8;stroke-width:4}.mark-item[data-selected] rect.mark-hit{fill:#9fd3c714}.mark-preview{opacity:.7}.edit-text-step{display:grid;gap:10px;align-content:center;justify-items:center}.edit-text-step small{color:#6f878f;font:13px/1.4 DM Mono,ui-monospace,monospace}.capture-dialog{width:min(720px,100%)}.capture-frame{position:relative;aspect-ratio:16 / 9;border-radius:12px;overflow:hidden;background:#0b1014}.capture-frame video{width:100%;height:100%;object-fit:contain;display:block}.capture-error{color:#ffd9dd!important}@media(max-width:1100px){.edit-bench{grid-template-columns:200px minmax(0,1fr) minmax(280px,320px)}}@media(max-width:860px){.is-editing .bench.edit-mode{overflow-y:auto}.edit-bench{grid-template-columns:minmax(0,1fr);height:auto}.edit-steps,.edit-form{overflow:visible}.edit-step-list{max-height:220px;overflow-y:auto}.edit-hint{margin-top:0}.edit-main{grid-template-rows:auto 56dvh}.marks-label-input{width:140px}}.edit-small-note{display:none}@media(max-width:860px){.edit-small-note{display:block;margin:0 0 8px}}.edit-note-warnings{margin:-6px 0 0;padding:8px 12px 8px 26px;border:1px solid rgba(255,181,71,.45);border-radius:10px;background:var(--hot-soft);color:#ffe2b0;font-size:12px;line-height:1.45}.input-status{left:58px;max-width:min(430px,calc(100% - 72px))}.input-status-gestures{display:none;color:#cfe0e4;font:500 11px/1.5 DM Mono,ui-monospace,monospace}.input-status[data-camera=live] .input-status-gestures:not(:empty){display:block}.input-status-action small:empty{display:none}.input-status-hold{height:4px;border-radius:2px;background:#9fd3c72e;overflow:hidden;opacity:0;transition:opacity .12s ease}.input-status[data-camera=live][data-hold]:not([data-hold="0"]) .input-status-hold{opacity:1}.input-status-hold i{display:block;height:100%;width:calc(var(--hold, 0) * 100%);background:var(--accent)}.help-button{position:absolute;left:14px;bottom:14px;z-index:9;width:36px;height:36px;padding:0;border-radius:50%;background:#0f151bd1;color:var(--accent);font:700 17px/1 Manrope,system-ui,sans-serif}.hold-ring-large svg{display:block}.hold-ring-icon{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:38px;line-height:1}.hold-ring-label{position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);padding:3px 10px;border-radius:999px;background:#0f151be6;color:#e6eef2;font:600 13px/1.2 Manrope,system-ui,sans-serif;white-space:nowrap}.hold-ring-large .hold-ring-progress,.hold-ring-large .hold-ring-track{stroke-width:6}.done-summary{margin:0;padding:0;list-style:none;display:grid;gap:4px;color:#cfe0e4;font:500 14px/1.4 DM Mono,ui-monospace,monospace}.done-summary li[data-warn]{color:var(--hot)}.edit-mode .gesture-toast{position:fixed;top:auto;bottom:18px}@media(max-width:680px){.help-button{left:8px;bottom:8px;width:34px;height:34px}.input-status{left:48px;max-width:calc(100% - 56px)}}.board-legend{position:absolute;right:14px;bottom:14px;z-index:7;display:flex;flex-wrap:wrap;gap:4px 12px;margin:0;padding:6px 10px;border-radius:8px;background:#0f151bd1;color:#cfe0e4;font:500 11px/1.2 DM Mono,ui-monospace,monospace;pointer-events:none}.board-legend span{display:inline-flex;align-items:center;gap:6px}.board-legend i{width:12px;height:12px;border-radius:3px}.board-legend i[data-kind=todo]{background:var(--hot)}.board-legend i[data-kind=done]{background:var(--done)}.board-legend i[data-kind=other]{background:#6b7a80}@media(max-width:680px){.board-legend{top:8px;right:8px;bottom:auto;padding:4px 8px;font-size:10px;gap:2px 8px}}.marks-hint{position:absolute;left:50%;top:50%;z-index:6;max-width:calc(100% - 40px);margin:0;padding:10px 16px;transform:translate(-50%,-50%);border:1px solid rgba(255,181,71,.55);border-radius:12px;background:#0f151be0;color:#ffe2b0;font:600 15px/1.35 Manrope,system-ui,sans-serif;text-align:center;pointer-events:none}.marks-hint[data-alert]{background:var(--hot);border-color:var(--hot);color:#0f151b}.save-state{font:500 12px/1 DM Mono,ui-monospace,monospace;white-space:nowrap;color:var(--done)}.save-state[data-dirty=true]{color:var(--hot);font-weight:700}.step-body{background:linear-gradient(var(--panel) 30%,rgba(18,28,35,0)) top / 100% 22px no-repeat local,linear-gradient(rgba(18,28,35,0),var(--panel) 70%) bottom / 100% 22px no-repeat local,linear-gradient(#00000080,#0000) top / 100% 10px no-repeat scroll,linear-gradient(#0000,#00000080) bottom / 100% 10px no-repeat scroll}@media(max-width:680px){.step-body{padding-bottom:20px}.stage-wrap .gesture-toast{top:calc(100% + 6px);max-width:calc(100% - 24px);padding:6px 12px;border-radius:12px;font-size:12px;line-height:1.3;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.save-state{font-size:11px}}
