.scan-page{padding-bottom:var(--dx-sp-7)}.scan-layout{gap:var(--dx-sp-4);margin-top:var(--dx-sp-3);display:grid}@media (min-width:1024px){.scan-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start}}.scan-page .dx-banner{margin-top:var(--dx-sp-3)}.scan-camera{overflow:hidden}.scan-stage-wrap{position:relative}.scan-stage{background:var(--dx-ink);height:min(58svh,560px);min-height:320px;position:relative;overflow:hidden}.scan-video{object-fit:cover;opacity:0;width:100%;height:100%;position:absolute;inset:0}.scan-video.is-playing{opacity:1;transition:opacity var(--dx-dur-sm) var(--dx-ease-standard)}@media (prefers-reduced-motion:reduce){.scan-video.is-playing{transition:none}}.scan-guide{visibility:hidden;pointer-events:none;border:3px solid var(--dx-surface);border-radius:var(--dx-r-ctl);outline:100vmax solid var(--dx-scrim);transition:border-color var(--dx-dur-xs) var(--dx-ease-standard);position:absolute}.scan-guide.is-sized{visibility:visible}.scan-guide.is-seen{border-color:var(--dx-up)}@media (prefers-reduced-motion:reduce){.scan-guide{transition:none}}.scan-hint,.scan-stage-count:not(:empty){padding:var(--dx-sp-1) var(--dx-sp-3);border-radius:var(--dx-r-pill);background:var(--dx-ink-overlay);color:var(--dx-surface);font-size:var(--dx-fs-label);font-weight:var(--dx-fw-strong);line-height:var(--dx-lh-label);white-space:nowrap}.scan-hint{pointer-events:none;top:var(--dx-sp-3);margin:0;position:absolute;left:50%;transform:translate(-50%)}.scan-stage-bar{right:0;bottom:var(--dx-sp-3);padding:0 var(--dx-inset-x);pointer-events:none;grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:absolute;left:0}.scan-stage-bar .dx-iconbtn{pointer-events:auto}.scan-stage-count{justify-self:start}.scan-shutter{padding:var(--dx-sp-1);border:3px solid var(--dx-surface);border-radius:var(--dx-r-pill);justify-self:center;display:inline-flex}.scan-stage-side{justify-self:end}.scan-stage-notice{justify-content:center;align-items:center;gap:var(--dx-sp-2);padding:var(--dx-sp-6);background:var(--dx-surface-2);text-align:center;flex-direction:column;display:flex;position:absolute;inset:0}.scan-stage-notice-title{color:var(--dx-ink);font-size:var(--dx-fs-h3);font-weight:var(--dx-fw-strong);line-height:var(--dx-lh-heading);margin:0}.scan-stage-notice-text{max-width:34ch;color:var(--dx-ink-muted);font-size:var(--dx-fs-body-sm);line-height:var(--dx-lh-body);margin:0}.scan-stage-notice-actions{justify-content:center;gap:var(--dx-sp-2);margin-top:var(--dx-sp-2);flex-wrap:wrap;display:flex}.scan-options{align-items:center;gap:var(--dx-sp-3) var(--dx-sp-4);padding:var(--dx-inset-y) var(--dx-inset-x);flex-wrap:wrap;display:flex}.scan-added{margin:0 0 var(--dx-sp-3);color:var(--dx-up-text);font-size:var(--dx-fs-body-sm);font-weight:var(--dx-fw-strong)}.scan-items{margin:var(--dx-sp-3) 0 0;padding:0;list-style:none}.scan-item{gap:var(--dx-sp-2) var(--dx-sp-3);padding:var(--dx-sp-3) 0;border-top:1px solid var(--dx-line);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"pair remove""body body""extra extra";align-items:start;display:grid}.scan-item-pair{gap:var(--dx-sp-3);--scan-pair-w:96px;grid-area:pair;display:flex}@media (min-width:360px){.scan-item-pair{--scan-pair-w:112px}}@media (min-width:640px){.scan-item-pair{--scan-pair-w:120px}}.scan-item-photo,.scan-item-art{width:var(--scan-pair-w);aspect-ratio:63/88;border:1px solid var(--dx-line);border-radius:var(--dx-r-sm);background:var(--dx-surface-2);cursor:pointer;flex:none;padding:0;display:block;position:relative;overflow:hidden}.scan-item-art.is-empty{cursor:default}.scan-item-photo img{object-fit:cover;width:100%;height:100%;display:block}.scan-item-body{gap:var(--dx-sp-2);grid-area:body;min-width:0;display:grid}.scan-item-remove{grid-area:remove}.scan-item-extra{gap:var(--dx-sp-2);grid-area:extra;min-width:0;display:grid}.scan-item-extra:empty{display:none}.scan-item-text{gap:var(--dx-sp-1);min-width:0;display:grid}.scan-item-name{overflow-wrap:anywhere;color:var(--dx-ink);font-size:var(--dx-fs-body);font-weight:var(--dx-fw-strong);line-height:var(--dx-lh-label);margin:0}.scan-item-meta{color:var(--dx-ink-muted);font-size:var(--dx-fs-body-sm);line-height:var(--dx-lh-label)}.scan-item-facts,.scan-item-actions{align-items:center;gap:var(--dx-sp-2);flex-wrap:wrap;display:flex}.scan-item-reading{gap:var(--dx-sp-2);display:grid}.scan-item-note{color:var(--dx-warn-text);font-size:var(--dx-fs-body-sm);margin:0}.scan-change-results{margin-top:var(--dx-sp-3)}.scan-results{margin:0;padding:0;list-style:none}.scan-result{align-items:center;gap:var(--dx-sp-3);width:100%;min-height:var(--dx-tap-min);padding:var(--dx-sp-2);border-radius:var(--dx-r-ctl);color:var(--dx-ink);text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.scan-result:hover{background:var(--dx-surface-2)}.scan-result-art{aspect-ratio:63/88;flex:none;width:48px;position:relative}.scan-result-text{gap:var(--dx-sp-1);min-width:0;display:grid}.scan-result-name{font-size:var(--dx-fs-body);font-weight:var(--dx-fw-strong)}.scan-result-meta,.scan-note{color:var(--dx-ink-muted);font-size:var(--dx-fs-body-sm)}.scan-change-loading{gap:var(--dx-sp-2);display:grid}.scan-admin .dx-panel+.dx-panel{margin-top:var(--dx-sp-4)}.scan-admin-filters{gap:var(--dx-sp-2);margin-bottom:var(--dx-sp-3);display:grid}.scan-admin-table-wrap{overflow-x:auto}.scan-admin-table,.scan-admin-days{border-collapse:collapse;width:100%;font-size:var(--dx-fs-body-sm)}.scan-admin-days{margin-top:var(--dx-sp-4)}.scan-admin-table th,.scan-admin-table td,.scan-admin-days th,.scan-admin-days td{padding:var(--dx-sp-2);border-bottom:1px solid var(--dx-line);text-align:left;vertical-align:top}.scan-admin-table th,.scan-admin-days th{color:var(--dx-ink-muted);font-size:var(--dx-fs-label);font-weight:var(--dx-fw-strong)}.scan-admin-crop{aspect-ratio:63/88;border-radius:var(--dx-r-sm);background:var(--dx-surface-2);object-fit:cover;width:64px;display:block}.scan-admin-corrected{color:var(--dx-down-text)}.fs-scanner{top:var(--fs-vtop,0);height:100vh;height:var(--fs-vh,100dvh);z-index:var(--dx-z-dialog);background:var(--dx-ink);position:fixed;left:0;right:0;overflow:hidden}.fs-scanner .fs-stage{height:auto;min-height:0;position:absolute;inset:0}.scan-guide.is-faint{border-color:var(--dx-line);outline:none}.scan-guide.is-faint.is-seen{border-color:var(--dx-up)}.scan-guide.is-flash,.scan-guide.is-faint.is-flash{border-color:var(--dx-surface);transition:none}.scan-hint.is-empty{visibility:hidden}.fs-scanner .scan-hint{top:var(--scan-guide-bottom,auto)}.fs-scanner .scan-hint.is-inside{max-width:calc(100% - var(--dx-sp-6));text-overflow:ellipsis;overflow:hidden}.fs-scanner.is-compact .fs-top{top:calc(env(safe-area-inset-top,0px) + var(--dx-sp-2))}.fs-scanner.is-compact .fs-bottom{bottom:calc(env(safe-area-inset-bottom,0px) + var(--dx-sp-2))}.fs-top{z-index:calc(var(--dx-z-base) + 1);top:calc(env(safe-area-inset-top,0px) + var(--dx-sp-3));right:var(--dx-sp-3);left:var(--dx-sp-3);justify-items:start;gap:var(--dx-sp-2);pointer-events:none;display:grid;position:absolute}.fs-top>*{pointer-events:auto}.fs-top-row{justify-content:space-between;align-items:center;gap:var(--dx-sp-2);justify-self:stretch;display:flex}.fs-row{align-items:center;gap:var(--dx-sp-2);display:flex}.fs-toggles{gap:var(--dx-sp-4);padding:0 var(--dx-sp-3);border-radius:var(--dx-r-pill);background:var(--dx-surface);display:flex}.fs-toggles .dx-switch{gap:var(--dx-sp-2);width:auto}.fs-stack{align-items:center;gap:var(--dx-sp-2);min-height:var(--dx-tap-min);padding:var(--dx-sp-1) var(--dx-sp-3) var(--dx-sp-1) var(--dx-sp-1);border-radius:var(--dx-r-pill);background:var(--dx-surface);color:var(--dx-ink);font:inherit;font-size:var(--dx-fs-label);font-weight:var(--dx-fw-strong);cursor:pointer;transition:var(--dx-press-t);border:0;display:flex}.fs-stack-cards{display:inline-flex}.fs-stack-cards:empty{display:none}.fs-stack-cards img{aspect-ratio:63/88;object-fit:cover;border:2px solid var(--dx-surface);border-radius:var(--dx-r-sm);background:var(--dx-surface-2);width:26px}.fs-stack-text{white-space:nowrap}@media (max-width:360px){.fs-stack-cards{display:none}}.fs-linked{padding:var(--dx-sp-2) var(--dx-sp-3);border-radius:var(--dx-r-pill);background:var(--dx-surface);color:var(--dx-up-text);font-size:var(--dx-fs-label);font-weight:var(--dx-fw-strong);margin:0}.fs-foil{top:calc(var(--scan-guide-bottom,50%) - var(--dx-sp-9));justify-content:center;align-items:center;gap:var(--dx-sp-2);width:max-content;max-width:calc(100vw - var(--dx-sp-6));padding:var(--dx-sp-2) var(--dx-sp-3);border-radius:var(--dx-r-ctl);background:var(--dx-surface);flex-wrap:wrap;display:flex;position:absolute;left:50%;transform:translate(-50%)}.fs-foil-chips{gap:var(--dx-sp-2);display:flex}.fs-foil-q{font-size:var(--dx-fs-label);font-weight:var(--dx-fw-strong)}.fs-notice{justify-self:stretch;max-width:560px}.fs-bottom{right:0;bottom:calc(env(safe-area-inset-bottom,0px) + var(--dx-sp-4));align-items:center;gap:var(--dx-sp-2);padding:0 var(--dx-sp-3);pointer-events:none;grid-template-columns:1fr auto 1fr;display:grid;position:absolute;left:0}.fs-bottom>*{pointer-events:auto}.fs-bottom-side{justify-self:start}.fs-bottom-end{justify-self:end}.fs-bottom .scan-shutter{justify-self:center}.fs-added{bottom:calc(env(safe-area-inset-bottom,0px) + var(--dx-sp-9) * 2 + var(--dx-sp-8));padding:var(--dx-sp-2) var(--dx-sp-3);border-radius:var(--dx-r-pill);background:var(--dx-surface);color:var(--dx-up-text);font-size:var(--dx-fs-label);font-weight:var(--dx-fw-strong);white-space:nowrap;margin:0;position:absolute;left:50%;transform:translate(-50%)}.fs-notice-panel{z-index:var(--dx-z-base)}.fs-review{animation-duration:var(--dx-dur-md);animation-timing-function:var(--dx-ease-emphasized)}.fs-review-body{overscroll-behavior:contain}.scan-picker{gap:var(--dx-sp-4);justify-items:start;display:grid}.scan-picker-hint{align-items:flex-start;gap:var(--dx-sp-2);color:var(--dx-ink-muted);font-size:var(--dx-fs-body-sm);line-height:var(--dx-lh-body);margin:0;display:flex}.scan-picker-hint .dx-icon{flex:none;margin-top:2px}.scan-picker-list{gap:var(--dx-sp-2);border:0;margin:0;padding:0;display:grid}.scan-qr{width:220px;height:220px}.scan-qr-bg{fill:var(--dx-surface)}.scan-qr-ink{fill:var(--dx-ink)}.fs-camera-status{padding:var(--dx-sp-2) var(--dx-sp-4);border-radius:var(--dx-r-pill);background:var(--dx-ink-overlay);color:var(--dx-surface);font-size:var(--dx-fs-label);font-weight:var(--dx-fw-strong);pointer-events:none;margin:0;position:absolute;top:47%;left:50%;transform:translate(-50%,-50%)}.scan-reveal{top:var(--reveal-y);left:var(--reveal-x);z-index:var(--dx-z-toolbar);justify-items:center;gap:var(--dx-sp-1);max-width:calc(100% - var(--dx-sp-8));padding:var(--dx-sp-3) var(--dx-sp-5);border-radius:var(--dx-r-card);background:var(--dx-surface);box-shadow:var(--dx-shadow-raised);pointer-events:none;display:grid;position:absolute;transform:translate(-50%,-50%)}.scan-reveal-price.dx-money{color:var(--dx-up-text);font-size:var(--dx-fs-figure-lg);font-weight:var(--dx-fw-heading)}.scan-reveal-name{max-width:100%;color:var(--dx-ink-muted);font-size:var(--dx-fs-label);font-weight:var(--dx-fw-strong);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.scan-reveal.is-pop{animation:scan-reveal-pop calc(var(--dx-dur-sm) * 1.1) var(--dx-ease-overshoot) both}@keyframes scan-reveal-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.6)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.scan-reveal.is-fly{opacity:.6;transform:translate(-50%, -50%) translate(var(--fly-x), var(--fly-y)) scale(.2);transition:transform calc(var(--dx-dur-md) * 1.1875) var(--dx-ease-exit), opacity calc(var(--dx-dur-md) * 1.1875) var(--dx-ease-exit)}.fs-stack.is-bumping{animation:fs-bump var(--dx-dur-md) var(--dx-ease-overshoot)}@keyframes fs-bump{50%{transform:scale(1.08)}}@media (prefers-reduced-motion:reduce){.scan-reveal.is-pop{animation:scan-reveal-fade var(--dx-fade-reduced) linear both}.scan-reveal.is-fly{opacity:0;transition:opacity var(--dx-fade-reduced) linear;transform:translate(-50%,-50%)}.fs-stack.is-bumping{animation:none}}@keyframes scan-reveal-fade{0%{opacity:0}to{opacity:1}}.fs-stack-thumb{display:inline-flex;position:relative}.fs-stack-thumb+.fs-stack-thumb{margin-left:calc(var(--dx-sp-4) * -1)}.fs-stack-thumb.is-reading img{animation:fs-reading calc(var(--dx-dur-loop) / 2) var(--dx-ease-standard) infinite alternate}@keyframes fs-reading{0%{opacity:.45}to{opacity:1}}.fs-stack-pick{border-radius:var(--dx-r-pill);background:var(--dx-surface);color:var(--dx-warn-text);position:absolute;bottom:-4px;right:-4px}.fs-stack-topick{color:var(--dx-warn-text)}.fs-stack.is-shaking{animation:fs-shake var(--dx-dur-md) var(--dx-ease-standard)}@keyframes fs-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}@media (prefers-reduced-motion:reduce){.fs-stack-thumb.is-reading img,.fs-stack.is-shaking{animation:none}}.scan-compare-pair{gap:var(--dx-sp-3);touch-action:pan-y;-webkit-user-select:none;user-select:none;grid-template-columns:1fr 1fr;display:grid}.scan-compare-fig{gap:var(--dx-sp-1);min-width:0;margin:0;display:grid}.scan-compare-fig img,.scan-compare-art{aspect-ratio:63/88;border:1px solid var(--dx-line);border-radius:var(--dx-r-sm);background:var(--dx-surface-2);object-fit:cover;width:100%;display:block;position:relative;overflow:hidden}.scan-compare-fig figcaption{color:var(--dx-ink-muted);font-size:var(--dx-fs-caption);text-align:center}.scan-compare-none{height:100%;color:var(--dx-ink-muted);font-size:var(--dx-fs-body-sm);place-items:center;display:grid}.scan-compare-facts{gap:var(--dx-sp-1);margin-top:var(--dx-sp-3);display:grid}.scan-compare-nav{margin-top:var(--dx-sp-3);justify-content:space-between;display:flex}.scan-change-language{margin-top:var(--dx-sp-3)}
