:root{--bg: #eeeeee;--card-bg: #ffffff;--bar-bg: #222222;--bar-text: #ffffff;--border: #d5d7db;--text: #1a1a1a;--muted: #6b7280;--accent: #1f6feb}@media (prefers-color-scheme: dark){:root{--bg: #0d1117;--card-bg: #161b22;--bar-bg: #161b22;--bar-text: #e6edf3;--border: #30363d;--text: #e6edf3;--muted: #8b949e;--accent: #4d8dff}}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;height:100%;overscroll-behavior-x:none}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%}#app{display:flex;flex-direction:column;height:100vh;height:100dvh}.search{flex:0 0 auto;background:var(--bar-bg);color:var(--bar-text);padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px)*0);padding-top:calc(10px + env(safe-area-inset-top,0px))}.search__bar{display:flex;align-items:stretch;gap:6px}.search__input{flex:1 1 auto;min-width:0;height:36px;padding:0 10px;border:1px solid var(--border);border-radius:6px;background:var(--card-bg);color:var(--text);font-size:16px}.search__button{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:40px;height:36px;border:1px solid var(--border);border-radius:6px;background:var(--card-bg);color:var(--text);cursor:pointer}.search__button:active{opacity:.7}.search__codes{height:26px;padding:0 10px;border:1px solid var(--border);border-radius:6px;background:var(--card-bg);color:var(--text);font-size:12px;font-weight:600;letter-spacing:.04em;cursor:pointer}.search__codes:active{opacity:.7}.search__options{display:flex;flex-wrap:wrap;gap:8px 16px;padding-top:10px}.search__option{display:flex;align-items:center;gap:6px;font-size:12px;letter-spacing:.04em;cursor:pointer}.stage{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.slider{position:relative;flex:1 1 auto;width:100%;min-height:0;overflow:hidden;touch-action:none}.slider__nav{position:absolute;left:0;z-index:2;width:100%;height:18%;padding:0;border:0;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}.slider__nav--prev{top:0}.slider__nav--next{bottom:0}.slider__nav:active{background:#7f7f7f1f}.slider__track{display:flex;height:100%;transition:transform .25s ease;will-change:transform}.slider__slide{flex:0 0 100%;min-width:0;height:100%;overflow:hidden}.card{display:flex;flex-direction:column;height:100%;transition:transform .25s ease;will-change:transform}.card__pane{display:flex;flex:0 0 100%;align-items:center;justify-content:center;min-height:0;padding:12px;background:var(--card-bg);text-align:center;font-size:18px}.slider__counter{flex:0 0 auto;padding:8px 0 calc(8px + env(safe-area-inset-bottom,0px));color:var(--text);font-variant-numeric:tabular-nums;text-align:center}body.dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.card__image{display:block;max-width:100%;max-height:100%;object-fit:contain;-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.card__number{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:min(25vw,45vh);line-height:1;color:var(--text);opacity:.7}.card__missing{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--muted)}.card__missing-number{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:min(20vw,35vh);line-height:1;opacity:.4}.card__missing-text{font-size:14px;letter-spacing:.08em;text-transform:uppercase}.codes{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;align-items:center;justify-content:center;padding:16px;background:#0000008c}.codes__sheet{position:relative;width:100%;max-width:380px;max-height:100%;overflow-y:auto;padding:20px;border-radius:12px;background:var(--card-bg);color:var(--text)}.codes__close{position:absolute;top:8px;right:8px;width:32px;height:32px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:24px;line-height:1;cursor:pointer}.codes__list{margin:0}.codes__row{display:flex;align-items:baseline;gap:16px;padding:8px 0;border-bottom:1px solid var(--border)}.codes__row:last-child{border-bottom:0}.codes__digit{flex:0 0 auto;width:32px;color:var(--accent);font-size:24px;font-weight:700;font-variant-numeric:tabular-nums}.codes__letters{margin:0;font-size:20px;letter-spacing:.02em}.empty{padding:32px;color:var(--muted);text-align:center}.empty code{color:var(--accent)}
