.hd{background:var(--v-surface);border:1px solid var(--v-border);--mono:ui-monospace, "Cascadia Mono", Consolas, monospace;border-radius:10px;flex-direction:column;gap:12px;min-width:0;padding:14px;display:flex;box-shadow:0 0 80px -20px #147dff59}.hd-bar{align-items:center;gap:10px;display:flex}.hd-steps{font:11px var(--mono);color:var(--v-muted);flex-wrap:wrap;gap:6px;display:flex}.hd-steps span{border:1px solid var(--v-border);border-radius:99px;padding:2px 8px;transition:all .3s}.hd[data-s="0"] .hd-steps span:first-child,.hd[data-s="1"] .hd-steps span:first-child,.hd[data-s="2"] .hd-steps span:nth-child(2),.hd[data-s="3"] .hd-steps span:nth-child(3){color:var(--v-bg);background:var(--v-cyan);border-color:var(--v-cyan)}.hd-badge{letter-spacing:.12em;text-transform:uppercase;color:var(--v-muted);border:1px solid var(--v-border-strong);border-radius:6px;margin-left:auto;padding:1px 8px;font-size:11px}.hd-ctrl{gap:4px;display:flex}.hd-ctrl button{width:26px;height:26px;color:var(--v-fg2);border:1px solid var(--v-border-strong);cursor:pointer;background:0 0;border-radius:6px;place-items:center;display:grid}.hd-ctrl button:hover{color:var(--v-cyan);border-color:var(--v-cyan)}.hd-ctrl button:focus-visible{outline:2px solid var(--v-cyan);outline-offset:2px}.hd-paper{aspect-ratio:2;min-height:190px;position:relative}.hd-drop{border:1.5px dashed var(--v-border-strong);color:var(--v-fg2);text-align:center;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:8px;font-size:14px;transition:opacity .5s,border-color .4s;display:flex;position:absolute;inset:0}.hd-drop svg{color:var(--v-cyan)}.hd-drop small{color:var(--v-muted);font:11px var(--mono)}.hd[data-s="0"] .hd-drop{animation:2s ease-in-out infinite hd-pulse}.hd:not([data-s="0"]) .hd-drop{opacity:0;border-color:var(--v-cyan)}@keyframes hd-pulse{50%{border-color:var(--v-cyan)}}.hd-sheet{background:var(--v-bg);border:1px solid var(--v-border-strong);opacity:0;border-radius:8px;transition:transform .9s cubic-bezier(.2,.9,.25,1.05),opacity .3s;position:absolute;inset:0;overflow:hidden;transform:translateY(-120%)rotate(-3deg)}.hd:not([data-s="0"]) .hd-sheet{opacity:1;transform:none}.hd-sheet svg{width:100%;height:100%;display:block}.hd-file{font:11px var(--mono);color:var(--v-fg2);background:var(--v-surface2);border:1px solid var(--v-border);border-radius:4px;padding:1px 7px;position:absolute;top:8px;left:8px}.hd-ink{fill:none;stroke:var(--v-cyan);stroke-width:1.6px;stroke-linejoin:round}.hd-thin{fill:none;stroke:var(--v-fg2);stroke-width:.8px}.hd-hid{fill:none;stroke:var(--v-fg2);stroke-width:.8px;stroke-dasharray:4 3}.hd-ctr{fill:none;stroke:var(--v-muted);stroke-width:.8px;stroke-dasharray:10 3 2 3}.hd-dim{font:10px var(--mono);fill:var(--v-fg)}.hd-scan{background:var(--v-cyan);opacity:0;width:3px;position:absolute;top:0;bottom:0;left:0;box-shadow:0 0 18px 6px #39d5ff73}.hd[data-s="2"] .hd-scan{animation:2.8s ease-in-out forwards hd-sweep}@keyframes hd-sweep{0%{opacity:1;left:0}to{opacity:1;left:calc(100% - 3px)}}.hd-mk{opacity:0;transition:opacity .4s}.hd-mk circle{fill:var(--v-brand);stroke:var(--v-bg);stroke-width:1.5px}.hd-mk text{font:500 9px var(--mono);fill:#fff;text-anchor:middle;dominant-baseline:central}.hd[data-s="3"] .hd-mk{opacity:1;transition-delay:calc(var(--i) * .18s + .3s)}.hd-out{min-height:280px;display:grid}.hd-out>*{grid-area:1/1;min-width:0}.hd-check{opacity:0;pointer-events:none;flex-direction:column;justify-content:center;gap:12px;margin:0;padding:4px 2px;list-style:none;transition:opacity .3s;display:flex}.hd[data-s="2"] .hd-check{opacity:1}.hd-check li{color:var(--v-muted);align-items:center;gap:10px;font-size:14px;display:flex}.hd-check i{border:1.5px solid var(--v-border-strong);border-radius:50%;flex:none;width:16px;height:16px}.hd-check small{font:11px var(--mono);color:var(--v-muted);margin-left:auto}.hd[data-s="2"] .hd-check li{animation:.4s forwards hd-lit;animation-delay:calc(var(--i) * .65s + .2s)}.hd[data-s="2"] .hd-check i{animation:.4s forwards hd-tick;animation-delay:calc(var(--i) * .65s + .2s)}@keyframes hd-lit{to{color:var(--v-fg)}}@keyframes hd-tick{to{background:var(--v-success);border-color:var(--v-success)}}.hd-result{pointer-events:none;flex-direction:column;gap:8px;display:flex}.hd[data-s="3"] .hd-result{pointer-events:auto}.hd-rise{opacity:0;transition:opacity .5s,transform .5s;transform:translateY(10px)}.hd[data-s="3"] .hd-rise{opacity:1;transition-delay:calc(var(--i) * .22s);transform:none}.hd:not([data-s="3"]) .hd-rise{transition-delay:0s}.hd-meta{flex-wrap:wrap;gap:6px;display:flex}.hd-chip{font:11px var(--mono);color:var(--v-fg2);border:1px solid var(--v-border-strong);border-radius:99px;padding:1px 9px}.hd-setup{background:var(--v-bg);border:1px solid var(--v-border);border-radius:8px;padding:8px 12px}.hd-setup header{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.hd-setup h3{margin:0;font-size:13px;font-weight:600}.hd-setup header span{font:11px var(--mono);color:var(--v-muted)}.hd-op{color:var(--v-fg2);grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;padding:2px 0;font-size:13px;display:grid}.hd-op b{background:var(--v-brand);color:#fff;width:18px;height:18px;font:500 10px/18px var(--mono);text-align:center;border-radius:50%}.hd-op em{font:normal 12px var(--mono);color:var(--v-fg);font-variant-numeric:tabular-nums;white-space:nowrap}.hd-totals{gap:8px;display:flex}.hd-tot{background:var(--v-bg);border:1px solid var(--v-border);border-radius:8px;flex:1;min-width:0;padding:6px 12px}.hd-tot small{font:10px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--v-muted);display:block}.hd-tot strong{font:500 17px var(--mono);font-variant-numeric:tabular-nums}.hd-tot-m strong{color:var(--v-cyan)}.hd-warn{border-left:2px solid var(--v-warning);color:var(--v-fg2);gap:8px;margin:0;padding-left:10px;font-size:12.5px;display:flex}.hd-warn b{color:var(--v-warning);font-weight:500}@media (max-width:520px){.hd-out{min-height:360px}}@media (prefers-reduced-motion:reduce){.hd *,.hd :before,.hd :after{transition:none!important;animation:none!important}}
