:root{--bg:#0b0f14;--surface:#161d27;--surface-2:#1f2937;--line:#2b3543;--text:#f3f7fc;--muted:#9aabc0;--accent:#ffd60a;--accent-ink:#14181d;--danger:#ff6b6b;--ok:#4ade80;--radius:14px;--tap:56px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{overscroll-behavior:none;height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:17px;line-height:1.4}#root{height:100%}button,input,select,textarea{font:inherit;color:inherit;touch-action:manipulation}.app{height:100%;padding-top:env(safe-area-inset-top);flex-direction:column;display:flex}.header{border-bottom:1px solid var(--line);background:var(--bg);flex:none;padding:10px 12px 0}.title{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:15px;font-weight:600}.tabs{gap:4px;display:flex}.tab{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;flex:1;padding:10px 4px;font-size:15px;font-weight:600}.tab.active{color:var(--text);border-bottom-color:var(--accent)}.main{flex-direction:column;flex:1;min-height:0;display:flex}.screen{-webkit-overflow-scrolling:touch;min-height:0;padding:16px 14px calc(24px + env(safe-area-inset-bottom));flex:1;overflow-y:auto}.lookup{flex-direction:column;flex:1;min-height:0;display:flex}.results{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;min-height:0;padding:12px 14px;display:flex;overflow-y:auto}.results-count{color:var(--muted);margin:0 0 10px;font-size:14px}.empty{text-align:center;margin:auto;padding:20px}.empty-title{margin:0 0 6px;font-size:22px;font-weight:700}.empty-text{color:var(--muted);margin:0 0 14px}.empty-hint{color:var(--muted);margin:0;font-size:14px}.empty-number{color:var(--line);margin:0 0 4px;font-size:76px;font-weight:800;line-height:1}.card{text-align:center;margin:auto 0;padding:8px 4px}.card-back{color:var(--muted);cursor:pointer;background:0 0;border:0;margin-bottom:4px;padding:6px 0;font-size:15px}.card-number{letter-spacing:-.03em;color:var(--accent);font-variant-numeric:tabular-nums;font-size:clamp(88px,30vw,150px);font-weight:800;line-height:.95}.card-name{margin-top:6px;font-size:clamp(26px,8vw,38px);font-weight:700;line-height:1.15}.card-meta{color:var(--text);margin-top:10px;font-size:19px;font-weight:600}.card-body{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:6px;font-size:19px}.rows{flex-direction:column;gap:8px;display:flex}.row{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-align:left;cursor:pointer;align-items:center;gap:14px;width:100%;padding:12px 14px;display:flex}.row:disabled{cursor:default}.row-number{min-width:62px;color:var(--accent);font-variant-numeric:tabular-nums;text-align:center;flex:none;font-size:38px;font-weight:800;line-height:1}.row-text{flex-direction:column;min-width:0;display:flex}.row-name{font-size:20px;font-weight:600}.row-details{color:var(--muted);font-size:14px}.keypad{padding:8px 10px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--bg);flex:none;grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.key{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);height:clamp(58px,9vh,76px);color:var(--text);font-variant-numeric:tabular-nums;cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:30px;font-weight:600;display:flex}.key:active{background:var(--accent);color:var(--accent-ink)}.key-secondary{background:var(--surface);color:var(--muted);font-size:16px;font-weight:600}.key:disabled{opacity:.35;cursor:default}.label{letter-spacing:.03em;text-transform:uppercase;color:var(--muted);margin:18px 0 6px;font-size:14px;font-weight:700;display:block}.input{border:1px solid var(--line);background:var(--surface);width:100%;min-height:48px;color:var(--text);border-radius:10px;padding:10px 12px;font-size:16px}.input:focus-visible,.btn:focus-visible,.key:focus-visible,.tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.textarea{white-space:pre;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;overflow-x:auto}.search{margin-bottom:12px}.section{margin:28px 0 4px;font-size:18px}.hint{color:var(--muted);margin:0 0 10px;font-size:14px}.footnote{color:var(--muted);margin-top:28px;font-size:13px}.error{color:var(--danger);font-size:15px}.success{color:var(--ok);font-size:15px}.warn{color:var(--accent)}.btn{border:1px solid var(--line);background:var(--surface-2);min-height:48px;color:var(--text);cursor:pointer;border-radius:10px;padding:12px 16px;font-size:16px;font-weight:600}.btn:disabled{opacity:.4;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-danger{border-color:var(--danger);color:var(--danger);background:0 0}.review-summary{margin-bottom:14px}.review-rows{flex-direction:column;gap:10px;display:flex}.review-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:10px}.review-row.has-issue{border-color:var(--accent)}.review-line{align-items:center;gap:6px;display:flex}.review-line+.review-line{margin-top:6px}.cell{flex:1;min-width:0;min-height:44px;padding:8px}.cell-num{text-align:center;flex:0 0 62px;font-weight:700}.cell-name{flex:3}.cell-pos{flex:1.5}.cell-ht{flex:1.2}.cell-grade{flex:0 0 52px}.cell-side{flex:0 0 70px;padding-left:6px;padding-right:2px}.icon-btn{width:40px;height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;flex:none;font-size:18px}.review-issues{color:var(--accent);margin:6px 2px 0;font-size:13px}.review-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.review-actions .btn{flex:auto}@media (width>=720px){.app{border-left:1px solid var(--line);border-right:1px solid var(--line);max-width:560px;margin:0 auto}}
