*,*::after,*::before{box-sizing:border-box}html{scrollbar-gutter:stable}.skip-link{position:absolute;left:10px;top:10px;z-index:1000002;padding:8px 12px;border:1px solid var(--btn-border);border-radius:8px;background:var(--panel);color:var(--fg);text-decoration:none;transform:translateY(-140%);transition:transform .12s ease}.skip-link:focus-visible{transform:translateY(0);outline:3px solid rgba(14,165,233,.45);outline-offset:2px}.theme-fab{position:fixed;left:14px;top:14px;z-index:1000001;border:1px solid var(--btn-border);background:var(--btn-bg);color:var(--btn-fg);border-radius:999px;padding:8px 12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:.62rem;cursor:pointer;box-shadow:var(--shadow-sm)}.theme-fab:focus-visible,.theme-fab:hover{border-color:var(--btn-hover-border);background:var(--btn-hover-bg);color:var(--btn-hover-fg)}.theme-fab:focus-visible{outline:3px solid rgba(14,165,233,.35);outline-offset:2px}.fab-group{position:fixed;left:14px;top:14px;z-index:1000001;display:flex;gap:6px;align-items:center}.fab-group .theme-fab{position:static;left:auto;top:auto;right:auto;bottom:auto;z-index:auto}.lang-select{border:1px solid var(--btn-border);background:var(--btn-bg);color:var(--btn-fg);border-radius:999px;padding:8px 12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:.62rem;cursor:pointer;box-shadow:var(--shadow-sm)}.lang-select:focus-visible,.lang-select:hover{border-color:var(--btn-hover-border);background:var(--btn-hover-bg);color:var(--btn-hover-fg)}.lang-select:focus-visible{outline:3px solid rgba(14,165,233,.35);outline-offset:2px}.lang-select option{font-weight:400}@font-face{font-family:IBM Plex Sans;src:url("fonts/IBMPlexSans-Regular-latin.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans;src:url("fonts/IBMPlexSans-Regular-latin-ext.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;src:url("fonts/IBMPlexSans-Regular-cyrillic.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;src:url("fonts/IBMPlexSans-SemiBold-latin.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap;unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans;src:url("fonts/IBMPlexSans-SemiBold-latin-ext.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap;unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;src:url("fonts/IBMPlexSans-SemiBold-cyrillic.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap;unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:OCR-B;src:url("fonts/OCR-B.subset.woff2") format("woff2"),url("fonts/OCR-B.subset.woff") format("woff");font-weight:400;font-style:normal;font-display:swap}:root{color-scheme:light;--bg:#f8fafc;--panel:#fff;--fg:#0f172a;--muted:#475569;--border:#e2e8f0;--accent:#0284c7;--bad:#dc2626;--ok:#16a34a;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--space-1:4px;--space-2:6px;--space-3:10px;--space-4:12px;--space-5:18px;--space-6:24px;--space-7:48px;--space-8:96px;--shadow-sm:0 2px 6px rgba(15,23,42,.08);--shadow-lg:0 10px 25px rgba(15,23,42,.12);--font-sans:"IBM Plex Sans",sans-serif;--font-mono:var(--font-sans);--font-ocr:"OCR-B",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--layout-max:1450px;--guide-width:320px;--guide-gap:12px;--app-width:1025px;--nav-hover-bg:hsla(0,0%,100%,.6);--preview-bg:#fdfdfd;--action-bg:hsla(0,0%,100%,.92);--menu-bg:hsla(0,0%,100%,.98);--modal-border:rgba(0,0,0,.08);--modal-header-bg:#fbfbfc;--modal-close-hover-bg:#f1f3f6;--btn-border:#c6ccd4;--btn-bg:#fff;--btn-fg:#0f172a;--btn-hover-border:#0f172a;--btn-hover-bg:#0f172a;--btn-hover-fg:#fff;--btn-active-ring:rgba(15,23,42,.1);--btn-primary-bg:#0f172a;--btn-primary-border:#0f172a;--btn-primary-fg:#fff;--btn-primary-hover-bg:#fff;--btn-primary-hover-border:#c6ccd4;--btn-primary-hover-fg:#0f172a;--field-bg:#fff;--table-border:#eef2f7;--detail-row-bg:#f8fafc;--detail-row-bg-open:#f1f5f9;--detail-border:#e5e7eb;--bulk-caret:#64748b;--icon-filter:none;--icon-filter-hover:invert(1) brightness(1.25);--mrz-legend-stroke:rgba(15,23,42,.28)}:root[data-theme="dark"]{color-scheme:dark;--bg:#0b0f14;--panel:#0f172a;--fg:#e2e8f0;--muted:#94a3b8;--border:#243246;--accent:#38bdf8;--bad:#f87171;--ok:#4ade80;--shadow-sm:0 4px 16px rgba(0,0,0,.35);--shadow-lg:0 22px 70px rgba(0,0,0,.55);--nav-hover-bg:hsla(0,0%,100%,.06);--preview-bg:hsla(0,0%,100%,.03);--action-bg:rgba(15,23,42,.82);--menu-bg:rgba(15,23,42,.92);--modal-border:hsla(0,0%,100%,.1);--modal-header-bg:hsla(0,0%,100%,.03);--modal-close-hover-bg:hsla(0,0%,100%,.06);--btn-border:#2b3a50;--btn-bg:#0f172a;--btn-fg:#e2e8f0;--btn-hover-border:#3b4b64;--btn-hover-bg:#162238;--btn-hover-fg:#fff;--btn-active-ring:rgba(56,189,248,.25);--btn-primary-bg:#38bdf8;--btn-primary-border:#38bdf8;--btn-primary-fg:#071018;--btn-primary-hover-bg:#e5e7eb;--btn-primary-hover-border:#e5e7eb;--btn-primary-hover-fg:#071018;--field-bg:hsla(0,0%,100%,.04);--table-border:hsla(0,0%,100%,.07);--detail-row-bg:hsla(0,0%,100%,.03);--detail-row-bg-open:rgba(56,189,248,.06);--detail-border:hsla(0,0%,100%,.08);--bulk-caret:#94a3b8;--icon-filter:invert(1) brightness(1.15);--icon-filter-hover:invert(1) brightness(1.35);--font-sans:"IBM Plex Sans",sans-serif;--font-mono:var(--font-sans);--mrz-legend-stroke:rgba(226,232,240,.28)}body{font-family:var(--font-sans);background:var(--bg);color:var(--fg);margin:0;padding:var(--space-5) var(--space-4) var(--space-6);min-height:100vh;font-size:16px;line-height:1.6}.muted{color:var(--muted)}button,input,select,textarea{font-family:inherit}.page{width:100%;max-width:var(--layout-max);margin:0 auto}.layout{width:100%;max-width:var(--layout-max);margin:0 auto;position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-3);align-items:start}.stack{display:flex;flex-direction:column;gap:var(--space-3)}.row{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.header{position:relative;width:100%;max-width:var(--layout-max);margin:0 auto var(--space-3);display:flex;align-items:center;justify-content:center;padding:0 var(--space-1);gap:var(--space-2);flex-wrap:wrap}.header-title{margin:0;font-size:1.25rem;letter-spacing:.18em;text-transform:uppercase}.header-title__link{color:inherit;text-decoration:none;display:inline-flex;align-items:flex-end;transition:transform .12s ease}.header-title__link:hover{transform:translateY(-1px)}.header-title__link:focus-visible{outline:3px solid rgba(14,165,233,.35);outline-offset:2px;transform:translateY(-1px)}.header-sub{font-size:.6em;letter-spacing:0;margin-left:1px;opacity:.38;text-transform:none;position:relative;top:.32em}.topnav{width:100%;display:flex;justify-content:center;gap:var(--space-2);flex-wrap:wrap;font-size:.72rem;position:relative}.topnav a{position:relative;color:var(--muted);text-decoration:none;padding:4px 10px;border-radius:999px;border:1px dashed transparent;transition:color .12s ease,border-color .12s ease,background-color .12s ease,box-shadow .12s ease,transform .12s ease}.topnav a:focus-visible,.topnav a:hover{color:var(--fg);border-color:var(--border);background:var(--nav-hover-bg)}.topnav a[aria-current="page"]{color:var(--fg);font-weight:700}.topnav a[aria-current="page"]::after{content:"";position:absolute;left:8px;right:8px;bottom:-4px;height:2px;border-radius:999px;background:linear-gradient(90deg,rgba(2,132,199,0) 0,var(--accent) 18%,var(--accent) 82%,rgba(2,132,199,0) 100%);pointer-events:none}.content{width:100%;max-width:var(--layout-max);margin:0 auto}.article h2,.article h3,.article h4{margin:0;color:var(--fg)}.article h2{font-size:1.22rem;line-height:1.3}.article h3{font-size:1.05rem;line-height:1.3}.article h4{font-size:.95rem;line-height:1.3;font-weight:700}.article li,.article p{color:var(--fg);line-height:1.65;max-width:none}.content li,.content p{color:var(--fg);line-height:1.6}.article>*{margin:0}.article ol,.article ul{margin:0;padding-left:1.25em}.article li{margin:6px 0}.article pre{margin:0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--field-bg);overflow-x:auto}.article pre code{font-family:var(--font-mono);font-size:.95em}.article pre code.mrz-sample{font-family:var(--font-sans);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"liga" 0;letter-spacing:.01em}.mrz-font-compare{display:grid;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--field-bg)}.mrz-font-compare__row{display:grid;grid-template-columns:minmax(160px,220px) minmax(0,1fr);gap:var(--space-3);align-items:center}.mrz-font-compare__label{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700}.mrz-font-compare__sample{font-size:1.45rem;line-height:1.15;letter-spacing:.035em;word-break:break-all;display:inline-block}.mrz-font-compare__sample--ocrb{font-family:var(--font-ocr);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"liga" 0;letter-spacing:.02em}.prolink{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--field-bg);font-size:.8rem}.prolink span{color:var(--muted)}.prolink a{color:var(--fg);text-decoration:none;border-bottom:1px solid var(--border);padding-bottom:1px;font-weight:600}.prolink a:focus-visible,.prolink a:hover{border-color:var(--fg)}.check-examples{display:grid;gap:var(--space-3)}.check-example{display:grid;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--field-bg)}.mrz-diagrams{display:grid;gap:var(--space-3);margin-top:0;width:100%;align-items:start}.mrz-diagram{position:relative;display:grid;gap:var(--space-2);width:100%;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel);overflow:hidden}.mrz-diagram__title{margin:0;font-family:var(--font-sans);font-weight:800;font-size:1.12rem;line-height:1.2;color:var(--fg);letter-spacing:.01em}.mrz-diagram h3.mrz-diagram__title{margin:0;font-size:1.12rem;line-height:1.2}.mrz-svg-host{width:100%;margin:0}.mrz-svg{display:block;width:100%;height:auto;max-width:100%}.mrz-svg text{font-kerning:none;font-variant-ligatures:none;font-feature-settings:"liga" 0}.mrz-svg .mrz-svg-bg{fill:rgba(15,23,42,.02);stroke:none}.mrz-svg .mrz-svg-highlight{stroke:none;vector-effect:non-scaling-stroke;opacity:.2}.mrz-svg .mrz-svg-mrz-char{font-family:var(--font-ocr);fill:currentColor;text-anchor:middle;dominant-baseline:middle;pointer-events:none}.mrz-svg .mrz-svg-legend-fill{stroke:var(--mrz-legend-stroke);stroke-width:1;vector-effect:non-scaling-stroke;opacity:.35}.mrz-svg .mrz-svg-legend-text{font-family:var(--font-sans);font-size:12.5px;font-weight:600;fill:currentColor;transition:fill .22s cubic-bezier(.22,1,.36,1)}.mrz-svg .mrz-pair-target{transition:opacity .32s cubic-bezier(.22,1,.36,1),filter .32s cubic-bezier(.22,1,.36,1),stroke-width .32s cubic-bezier(.22,1,.36,1)}.mrz-svg.mrz-pair-hover .mrz-pair-target{opacity:.12}.mrz-svg.mrz-pair-hover .mrz-pair-target.mrz-pair-active{opacity:1}.mrz-svg .mrz-svg-highlight.mrz-pair-active{filter:saturate(1.08) brightness(1.06)}.mrz-svg .mrz-svg-legend-text.mrz-pair-active{font-weight:800;fill:var(--legend-active-fill,#0f172a)}.article .guide-tip{border-top:0;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--field-bg);font-size:.84rem;line-height:1.55;color:var(--fg)}.article a,.content a{color:var(--accent)}.article code,.content code{font-family:var(--font-mono);font-size:.9em}.content h1{font-size:1.3rem;line-height:1.25;margin:0 0 var(--space-3)}.content h2{font-size:1.05rem;line-height:1.3;margin:var(--space-4) 0 var(--space-2)}.card{background:var(--panel);border-radius:var(--radius-lg);padding:var(--space-4);border:1px solid var(--border);box-shadow:var(--shadow-lg)}.card--app{display:grid;gap:var(--space-3);width:100%;max-width:none;margin:0}.panel{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);background:var(--panel)}.guide{font-size:.78rem;line-height:1.4;color:var(--muted);transition:opacity .22s ease,padding .32s ease,border-color .32s ease,background-color .32s ease,box-shadow .32s ease}.guide-body{overflow:hidden;max-height:1200px;opacity:1;transform:translateY(0);transition:max-height .32s ease,opacity .22s ease,transform .32s ease}.guide[data-mode="home"] .guide-body--bulk{display:none}.guide[data-mode="bulk"] .guide-body--home{display:none}.guide.is-collapsed{display:none}.view{opacity:0;transform:translateY(6px);transition:opacity .22s ease,transform .22s ease}.view.is-active{opacity:1;transform:translateY(0)}.guide-title{margin:0 0 var(--space-2);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fg)}.guide ol{margin:0 0 var(--space-3) var(--space-5);padding:0;line-height:1.4}.guide b{color:var(--fg)}.guide-tip{font-size:.72rem;color:var(--muted);border-top:1px dashed var(--border);padding-top:var(--space-3)}.guide-kicker{margin-top:var(--space-5);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fg)}.guide-list{margin:var(--space-2) 0 0 var(--space-5);padding:0;line-height:1.4}.guide ol li,.guide-list li{margin:var(--space-2) 0}.support-cta{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px dashed var(--border)}.support-title{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fg);margin-bottom:var(--space-2)}html.has-modal{overflow:hidden}.donate-modal{position:fixed;inset:0;z-index:1000000}.donate-modal[hidden]{display:none}.donate-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45)}.donate-modal__panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(440px,calc(100vw - 24px));height:min(78vh,640px);background:var(--panel);border-radius:14px;border:1px solid var(--modal-border);box-shadow:0 18px 60px rgba(0,0,0,.25);overflow:hidden;display:grid;grid-template-rows:auto 1fr}.donate-modal__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:12px 14px;border-bottom:1px solid var(--modal-border);background:var(--modal-header-bg)}.donate-modal__title{font-weight:700;letter-spacing:.01em}.donate-modal__close{width:36px;height:36px;border-radius:10px;border:1px solid var(--modal-border);background:var(--panel);cursor:pointer;font-size:22px;line-height:1}.donate-modal__close:hover{background:var(--modal-close-hover-bg)}.donate-modal__body{display:grid;grid-template-rows:1fr auto;gap:10px;padding:12px}.donate-modal__iframe{width:100%;height:100%;border:0;border-radius:10px;background:var(--panel)}.donate-modal__hint{font-size:.82rem;color:var(--muted);line-height:1.4}.donate-modal__link{color:inherit;text-decoration:underline;text-underline-offset:3px}.preview{position:relative;height:32vh;min-height:220px;max-height:380px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;padding:var(--space-2);background:var(--preview-bg);overflow:hidden;border:none;outline:none;box-shadow:none;touch-action:none}.preview__img{width:100%;height:100%;display:block;border-radius:var(--radius-md);object-fit:contain;object-position:center;position:relative;z-index:2;touch-action:none}.preview:not(.has-image) .preview__img{display:none}.preview__placeholder{position:absolute;inset:var(--space-4);border-radius:var(--radius-md);opacity:0;filter:grayscale(.35) contrast(1.05) brightness(1.05);pointer-events:none;z-index:1;display:flex;align-items:center;justify-content:center}.preview__placeholder svg{width:100%;height:100%;display:block}.preview__placeholder .mrz{font-family:var(--font-ocr)}.preview:not(.has-image) .preview__placeholder{opacity:.5}.preview::before{content:"";position:absolute;inset:var(--space-2);border-radius:var(--radius-md);border:1px solid #c5cbd3;pointer-events:none;z-index:4}.preview.is-dragover{background:rgba(14,165,233,.05)}.preview.is-dragover::before{border-color:var(--accent);box-shadow:0 0 0 3px rgba(14,165,233,.12)}.center-upload{position:absolute;z-index:2}.preview.has-image .center-upload{display:none}.image-actions{position:absolute;top:var(--space-2);left:var(--space-2);z-index:7;display:none;gap:var(--space-2);flex-wrap:wrap;align-items:flex-start;width:calc(100% - var(--space-2)*2);max-width:calc(100% - var(--space-2)*2)}.preview.has-image .image-actions{display:flex}.image-actions #btn-full-clear{margin-left:auto}.image-action-btn{background:var(--action-bg)}.rot-menu{position:absolute;top:calc(100% + 6px);left:0;background:var(--menu-bg);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 10px 30px rgba(0,0,0,.12);padding:var(--space-2);display:none;grid-template-columns:repeat(2,minmax(90px,1fr));gap:var(--space-2);min-width:210px}.rot-menu.open{display:grid}.btn-group{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap;width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid var(--btn-border);border-radius:7px;background:var(--btn-bg);color:var(--btn-fg);cursor:pointer;text-transform:uppercase;letter-spacing:.08em;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease,color .12s ease;padding:6px 10px;min-height:44px;font-size:.72rem;text-decoration:none}.btn:focus-visible{outline:3px solid rgba(14,165,233,.45);outline-offset:2px}.btn:hover{border-color:var(--btn-hover-border);background:var(--btn-hover-bg);color:var(--btn-hover-fg)}.btn:active{box-shadow:none}.btn--primary{background:var(--btn-primary-bg);border-color:var(--btn-primary-border);color:var(--btn-primary-fg);font-weight:700}.btn--primary:hover{background:var(--btn-primary-hover-bg);border-color:var(--btn-primary-hover-border);color:var(--btn-primary-hover-fg)}a.btn,a.btn:active,a.btn:focus-visible,a.btn:hover{text-decoration:none}.btn.is-active{border-color:var(--btn-hover-border);box-shadow:0 0 0 2px var(--btn-active-ring)}.status{color:var(--muted);font-size:.8rem;min-height:1em}.status:empty{display:none}.field{width:100%;padding:var(--space-3) var(--space-4);font-size:.9rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--field-bg);color:var(--fg);min-height:44px}.field--select{flex:1;min-width:200px;font-size:.82rem;font-weight:600;color:var(--fg);border-color:var(--border);background-color:var(--field-bg);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.08);appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%),linear-gradient(to right,transparent,transparent);background-position:calc(100% - 18px) calc(50% - 3px),calc(100% - 12px) calc(50% - 3px),calc(100% - 44px) 50%;background-size:6px 6px,6px 6px,1px 26px;background-repeat:no-repeat;padding-right:52px}.field--select:hover{border-color:var(--btn-hover-border);background-color:var(--panel)}.field:focus-visible{outline:3px solid rgba(14,165,233,.35);outline-offset:2px;border-color:rgba(14,165,233,.8)}.field.filled{border-color:var(--accent);background:rgba(14,165,233,.08)}.mrz-inputs{display:grid;gap:var(--space-2)}.mrz-editor{display:grid;grid-template-columns:44px 1fr;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:var(--field-bg)}.mrz-editor.filled{border-color:var(--border);background:var(--field-bg)}.mrz-editor__gutter{font-family:var(--font-ocr);padding:var(--space-3) var(--space-2);background:rgba(148,163,184,.1);color:var(--muted);border-right:1px solid var(--border);text-align:right;user-select:none;white-space:pre;font-size:1.1rem;line-height:1.3;font-variant-numeric:tabular-nums;font-kerning:none;font-variant-ligatures:none}.mrz-editor__textarea{width:100%;border:0;border-radius:0;margin:0;padding:var(--space-3) var(--space-4);min-height:calc(3.9em + var(--space-3)*2);height:calc(3.9em + var(--space-3)*2);resize:none;overflow:hidden;font-family:var(--font-ocr);font-size:1.1rem;line-height:1.3;text-transform:uppercase;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"liga" 0;font-kerning:none;font-variant-ligatures:none;font-synthesis:none;letter-spacing:0;tab-size:1;background:transparent;color:var(--fg);caret-color:var(--fg)}#mrz-editor.mrz-editor{grid-template-columns:16px 1fr}#mrz-editor .mrz-editor__gutter{font-size:1.1rem;line-height:1.32;padding:8px 0;letter-spacing:.01em;text-align:center}.bulk-hero{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.bulk-hero__title{display:grid;gap:var(--space-1)}.bulk-sub{font-size:.82rem;color:var(--muted)}.bulk-upload{display:flex;flex-direction:column;gap:var(--space-2)}.dropzone{border:1px solid var(--btn-border);border-radius:var(--radius-md);padding:var(--space-4);background:var(--panel);cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease;user-select:none;position:relative;overflow:hidden;min-height:190px}.dropzone:hover{border-color:var(--btn-hover-border);box-shadow:0 0 0 4px rgba(14,165,233,.08)}.dropzone.is-dragover{border-color:var(--accent);background:rgba(14,165,233,.04);box-shadow:0 0 0 4px rgba(14,165,233,.12)}.dropzone-title{font-weight:800;letter-spacing:.02em}.dropzone-sub{margin-top:var(--space-1);color:var(--muted);font-size:.82rem;line-height:1.5}.dropzone-files{margin-top:var(--space-2);font-size:.75rem;color:var(--fg);opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropzone-illustration{display:flex;align-items:center;justify-content:flex-start;margin-bottom:var(--space-2);opacity:.72;color:var(--muted)}.dropzone-icon{width:120px;height:auto}.dropzone-content{position:relative;z-index:1}.file-input-visually-hidden{position:absolute!important;inline-size:1px!important;block-size:1px!important;margin:-1px!important;padding:0!important;border:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}.bulk-table-wrap{width:100%;overflow-x:auto}.bulk-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.8rem}.bulk-col{text-align:left;border-bottom:1px solid var(--border);padding:6px 8px;color:var(--muted);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.62rem}.bulk-td{padding:8px 8px;border-bottom:1px solid var(--table-border);vertical-align:top}.bulk-col--idx,.bulk-td--idx{width:42px}.bulk-col--type,.bulk-td--type{width:70px;white-space:nowrap}.bulk-col--result,.bulk-td--result{width:84px;white-space:nowrap}.bulk-col--doc,.bulk-td--doc{width:140px;white-space:nowrap}.bulk-td--name,.bulk-td--nat{white-space:normal;word-break:break-word}.bulk-col--source,.bulk-td--source{width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bulk-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;font-size:.6rem;border:1px solid transparent}.bulk-pill--ok{color:var(--ok);background:rgba(22,163,74,.1);border-color:rgba(22,163,74,.22)}.bulk-pill--bad{color:var(--bad);background:rgba(220,38,38,.1);border-color:rgba(220,38,38,.22)}.bulk-detail-toggle{display:inline-flex;align-items:center;gap:6px;border:1px dashed transparent;background:transparent;color:var(--fg);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.62rem;padding:2px 6px;border-radius:999px;cursor:pointer}.bulk-detail-toggle:focus-visible,.bulk-detail-toggle:hover{border-color:var(--border);background:var(--nav-hover-bg)}.bulk-detail-toggle:focus-visible{outline:3px solid rgba(14,165,233,.35);outline-offset:2px}.bulk-detail-caret{width:8px;height:8px;border-right:2px solid var(--bulk-caret);border-bottom:2px solid var(--bulk-caret);transform:rotate(45deg);transition:transform .12s ease}.bulk-detail-toggle[aria-expanded="true"] .bulk-detail-caret{transform:rotate(225deg)}.bulk-detail-row{background:var(--detail-row-bg)}.bulk-detail-row.is-open{background:var(--detail-row-bg-open)}.bulk-detail-cell{padding:10px 12px;border-bottom:1px solid var(--detail-border)}.bulk-detail{display:grid;gap:10px}.bulk-detail-section{display:grid;gap:6px}.bulk-detail-title{font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700}.bulk-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 12px}.bulk-detail-item{display:grid;gap:2px}.bulk-detail-label{font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.bulk-detail-value{font-size:.78rem;font-weight:600;color:var(--fg)}.bulk-detail-mrz{font-family:var(--font-ocr);background:var(--field-bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 8px;margin:0;display:inline-block;width:fit-content;max-width:52ch;white-space:pre;overflow-x:auto;font-size:.8rem;color:var(--fg)}.bulk-detail-checks{display:grid;gap:4px;font-size:.75rem}.bulk-detail-check{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.bulk-detail-empty{font-size:.75rem;color:var(--muted)}.bulk-detail-errors{font-size:.75rem;color:var(--bad)}.bulk-detail-pill{font-size:.55rem;padding:1px 6px}#btn-upload,#donate-btn,.check-btn{border-radius:8px;padding:6px 12px;font-size:.69rem;letter-spacing:.1em;box-shadow:none!important;filter:none!important;transform:none!important;transition:background-color .12s ease,color .12s ease,border-color .12s ease}#btn-upload{min-width:124px}.check-btn{min-width:116px;padding:6px 14px;font-size:.7rem;letter-spacing:.11em}#donate-btn{min-width:96px}.mrz-editor__textarea:focus-visible{outline:2px solid rgba(14,165,233,.45);outline-offset:-3px}.mrz-editor__textarea::placeholder{color:var(--muted);font-family:var(--font-sans);font-feature-settings:normal;font-variant-ligatures:normal;letter-spacing:.06em;text-transform:uppercase}#mrz-text::placeholder{font-size:.92em}.mrz-result{padding:var(--space-3) var(--space-4);background:var(--field-bg);border-radius:var(--radius-md);border:1px solid var(--border);font-size:.78rem;line-height:1.5;font-family:var(--font-sans);white-space:normal;display:none;position:relative}.mrz-result.show{display:block}.mrz-result b{display:block;margin-bottom:var(--space-2);border-bottom:1px solid var(--border);padding-bottom:var(--space-1)}.mrz-result .bulk-detail-mrz{font-family:var(--font-ocr)}.mrz-result .bad,.mrz-result .ok{font-weight:700;border-radius:999px;padding:2px 6px;display:inline-block}.mrz-result .ok{color:var(--ok);background:rgba(22,163,74,.12)}.mrz-result .bad{color:var(--bad);background:rgba(220,38,38,.12)}.export-actions{display:flex;gap:var(--space-2);margin-top:var(--space-2);justify-content:flex-end}.bulk-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:nowrap}.bulk-meta .export-actions{margin-top:0;flex:0 0 auto;margin-left:auto;position:static}.bulk-meta .status{min-height:0;flex:1 1 auto;min-width:280px}.bulk-hero #bulk-clear{margin-left:auto;align-self:flex-start}.mrz-gen{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,430px);gap:2px;align-items:start}.mrz-gen__header{display:flex;gap:var(--space-3);align-items:flex-start;justify-content:space-between;flex-wrap:wrap}.mrz-gen__header--actions-only{justify-content:flex-start}.mrz-gen__header--actions-only .mrz-gen__title-wrap{display:none!important}.mrz-gen__actions{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:flex-start;width:100%}.mrz-gen__title-wrap{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.mrz-gen__grid{display:grid;row-gap:2px;column-gap:4px;grid-template-columns:repeat(2,minmax(0,1fr))}.mrz-gen__field{display:grid;gap:4px}.mrz-gen__form .field{width:95%}.mrz-gen__label{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700}.mrz-gen__input{text-transform:uppercase;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"liga" 0}.mrz-gen__output{display:grid;gap:2px}.mrz-gen__output-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}.mrz-gen__exports{display:flex;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;margin-left:auto}.mrz-result .export-actions{justify-content:flex-end;width:100%}#gen-clear{margin-left:auto;align-self:flex-start}.mrz-gen__editor.mrz-editor{grid-template-columns:16px 1fr}.mrz-gen__editor .mrz-editor__gutter{font-size:1.1rem;line-height:1.32;padding:8px 0;letter-spacing:.01em;text-align:center}.mrz-gen__editor .mrz-editor__textarea{line-height:1.32;padding-left:3px;padding-right:3px}@media (max-width:720px){.bulk-meta{flex-wrap:wrap}}@media (max-width:720px){.dropzone{min-height:170px}.dropzone-icon{width:100px}}.is-hidden{display:none!important}.u-m0{margin:0!important}.export-btn{display:inline-flex;align-items:center;gap:var(--space-1);border:1px solid var(--btn-border);border-radius:7px;background:var(--btn-bg);color:var(--muted);padding:4px 6px;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:border-color .12s ease,background-color .12s ease,color .12s ease}.export-btn:hover{border-color:var(--btn-hover-border);background:var(--btn-hover-bg);color:var(--btn-hover-fg)}.export-btn:focus-visible{outline:3px solid rgba(14,165,233,.35);outline-offset:2px}.export-btn:hover .export-icon{filter:var(--icon-filter-hover)}#btn-full-clear,#bulk-clear,#gen-clear{color:var(--bad);border-color:rgba(220,38,38,.45)}#btn-full-clear .export-icon,#bulk-clear .export-icon,#gen-clear .export-icon{filter:invert(18%) sepia(90%) saturate(3512%) hue-rotate(352deg) brightness(94%) contrast(95%)}#btn-full-clear:focus-visible,#btn-full-clear:hover,#bulk-clear:focus-visible,#bulk-clear:hover,#gen-clear:focus-visible,#gen-clear:hover{border-color:var(--bad);background:var(--bad);color:#fff}#btn-full-clear:focus-visible .export-icon,#btn-full-clear:hover .export-icon,#bulk-clear:focus-visible .export-icon,#bulk-clear:hover .export-icon,#gen-clear:focus-visible .export-icon,#gen-clear:hover .export-icon{filter:invert(1) brightness(1.25)}.export-icon{width:14px;height:14px;display:inline-block;background:no-repeat 50%/contain;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b0f14' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M14 3h7v7'/><path d='M21 3l-9 9'/><path d='M21 14v6a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h6'/></svg>");filter:var(--icon-filter)}.export-actions .export-icon,.mrz-gen__exports .export-icon{transform:scale(1.16);transform-origin:center}.export-icon.icon-rotation-right{width:16px;height:16px;background-image:url("/img/icons/ix/rotate-right.svg?v=ix20260216f3")}.export-icon.icon-rotation-left{width:16px;height:16px;background-image:url("/img/icons/ix/rotate-left.svg?v=ix20260216f3")}.export-icon.icon-select-area{width:16px;height:16px;background-image:url("/img/icons/ix/select-alt.svg?v=ix20260216f3")}.export-icon.icon-reset{width:16px;height:16px;background-image:url("/img/icons/ix/reset.svg?v=ix20260216f3")}.export-icon.icon-clear{width:16px;height:16px;background-image:url("/img/icons/ix/trashcan.svg?v=ix20260216f3")}#bulk-export-txt .export-icon,#gen-export-txt .export-icon,.export-icon.icon-export-txt{background-image:url("/img/icons/ix/txt-document.svg?v=ix20260216f3")}#bulk-export-xml .export-icon,#gen-export-xml .export-icon,.export-icon.icon-export-xml{background-image:url("/img/icons/ix/xml-document.svg?v=ix20260216f3")}#bulk-export-json .export-icon,#gen-export-json .export-icon,.export-icon.icon-export-json{background-image:url("/img/icons/ix/json-document.svg?v=ix20260216f3")}#gen-copy .export-icon{background-image:url("/img/icons/ix/copy.svg?v=ix20260216f3")}.export-label{font-weight:700}.crop-preview{display:none;background:var(--field-bg);border-radius:var(--radius-md);border:1px solid var(--border);padding:var(--space-2);overflow:hidden}.crop-preview canvas{display:block;max-width:100%;height:auto;border-radius:var(--radius-md)}.disclaimer{margin-top:var(--space-3);color:var(--muted);font-size:.68rem;text-align:center}#selection-rect{position:absolute;border:2px dashed var(--accent);background:rgba(14,165,233,.08);pointer-events:none;display:none;z-index:10}#selection-rect.is-detected{border-style:dashed;border-color:var(--accent)}@media (min-width:980px){.btn-group{width:auto}.layout{--app-desktop-width:min(var(--app-width),calc(100vw - var(--guide-width) - var(--guide-gap) - var(--space-4)*4));grid-template-columns:minmax(0,var(--app-desktop-width));justify-content:center;position:relative}.layout.layout--single{grid-template-columns:minmax(0,var(--app-desktop-width))}.card--app{width:100%;max-width:var(--app-desktop-width);margin:0 auto}.preview{height:34vh;min-height:260px;max-height:420px}.layout:not(.layout--single) .guide{position:absolute;top:0;left:calc(50% + var(--app-desktop-width)/2 + var(--guide-gap));width:var(--guide-width);max-width:var(--guide-width)}.layout.layout--single .guide{position:static;width:100%;max-width:none}.export-actions{position:static;top:auto;right:auto;margin-top:0}}@media (max-width:979px){.card--app{width:100%;max-width:none;margin:0}.guide{position:static;width:100%;max-width:none}.mrz-gen{grid-template-columns:minmax(0,1fr)}}@media (max-width:979px){body{padding:12px 10px 18px;font-size:15px;line-height:1.55}.theme-fab{left:auto;right:12px;top:auto;bottom:12px;padding:8px 11px;font-size:.58rem;z-index:1000003;min-height:44px}.fab-group{left:auto;right:12px;top:auto;bottom:12px;z-index:1000003}.lang-select{padding:8px 11px;font-size:.58rem;min-height:44px}.header{margin-bottom:8px;padding:0}.header-title{font-size:1.08rem;letter-spacing:.12em}.header-sub{top:.22em}.topnav{justify-content:flex-start;gap:6px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.topnav a{display:inline-flex;align-items:center;white-space:nowrap;padding:6px 10px;min-height:44px}.topnav a[aria-current="page"]::after{bottom:-2px}.card{padding:10px}.panel{padding:10px}.stack{gap:8px}.row{gap:8px}.field{min-height:44px}.field--select{min-width:0;font-size:.84rem;padding-right:48px}.btn{min-height:44px;font-size:.72rem;padding:8px 10px}.check-btn{min-width:0;flex:1 1 132px}#btn-sample{flex:1 1 132px;min-width:0}.preview{height:44vw;min-height:200px;max-height:340px;padding:8px}.preview::before{inset:8px}.preview__placeholder{inset:12px}.image-actions{left:6px;top:6px;gap:6px;width:calc(100% - 12px);max-width:calc(100% - 12px)}.export-btn{min-height:44px;min-width:44px;padding:8px}.mrz-editor{grid-template-columns:38px 1fr}.mrz-editor__gutter{font-size:1rem;padding:10px 6px}.mrz-editor__textarea{font-size:1rem;line-height:1.28;padding:10px 10px;min-height:calc(3.84em + 20px);height:calc(3.84em + 20px)}.content h1{font-size:1.22rem;line-height:1.2}.content h2{font-size:1rem}.article h2{font-size:1.14rem}.article h3{font-size:1rem}.article h4{font-size:.92rem}.mrz-diagram h3.mrz-diagram__title,.mrz-diagram__title{font-size:1.02rem;line-height:1.15}.bulk-hero{align-items:flex-start}.guide{margin-top:8px}.guide-title{font-size:.74rem}.guide-tip{font-size:.72rem}.dropzone{min-height:160px;padding:12px}.dropzone-icon{width:86px}.bulk-meta{flex-wrap:wrap;align-items:flex-start}.bulk-meta .status{width:100%;min-width:0}.bulk-meta .export-actions{position:static;width:100%;justify-content:flex-start}.bulk-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bulk-table{font-size:.76rem}.bulk-col{font-size:.58rem;padding:6px 6px}.bulk-td{padding:7px 6px}.bulk-col--source,.bulk-td--source{width:132px}.disclaimer{font-size:.65rem;padding:0 4px}}@media (max-width:640px){body{padding:10px 8px 16px}.header-title{font-size:.98rem;letter-spacing:.1em}.topnav{font-size:.68rem;gap:5px}.topnav a{padding:6px 9px;min-height:44px}.row .field--select{flex:1 1 100%}.row #btn-sample,.row .check-btn{flex:1 1 calc(50% - 4px)}.btn-group .btn{flex:1 1 auto}.preview{height:50vw;min-height:186px}.image-action-btn .export-label{display:none}#btn-select-area{min-width:132px;padding:8px 12px;background:var(--btn-primary-bg);border-color:var(--btn-primary-border);color:var(--btn-primary-fg)}#btn-select-area .export-label{display:inline}#btn-select-area .export-icon{filter:invert(1) brightness(1.25)}.mrz-editor{grid-template-columns:34px 1fr}.mrz-editor__gutter{font-size:.92rem;padding:9px 5px}.mrz-editor__textarea{font-size:.94rem;letter-spacing:0}.mrz-svg .mrz-svg-legend-text{font-size:11.5px}.mrz-font-compare__row{grid-template-columns:1fr}.dropzone{min-height:148px}.dropzone-sub{font-size:.78rem}.bulk-detail-grid{grid-template-columns:repeat(auto-fit,minmax(128px,1fr))}.bulk-col--doc,.bulk-td--doc{width:116px}.mrz-gen__grid{grid-template-columns:1fr}}@media (max-width:480px){.theme-fab{right:8px;bottom:8px;padding:7px 10px}.fab-group{right:8px;bottom:8px}.lang-select{padding:7px 10px}.topnav a{padding:6px 8px}.card{padding:8px}.panel{padding:8px}.preview{min-height:170px}.dropzone{padding:10px}.dropzone-files{font-size:.7rem}.bulk-col--result,.bulk-td--result{width:72px}.bulk-col--source,.bulk-td--source{width:112px}}
/* Simplified English mobile shell */
@media (max-width:760px){
  html.mobile-simple-en-pre body,
  body.mobile-simple-en{
    padding:0 0 calc(118px + env(safe-area-inset-bottom));
    background:
      radial-gradient(130% 90% at 50% -20%, rgba(2,132,199,.14), transparent 60%),
      var(--bg);
  }

  html.mobile-simple-en-pre .page,
  body.mobile-simple-en .page{
    max-width:none;
  }

  html.mobile-simple-en-pre .fab-group,
  html.mobile-simple-en-pre .theme-fab,
  html.mobile-simple-en-pre .lang-select,
  body.mobile-simple-en .fab-group,
  body.mobile-simple-en .theme-fab,
  body.mobile-simple-en .lang-select{
    display:none !important;
  }

  html.mobile-simple-en-pre .header,
  body.mobile-simple-en .header{
    position:sticky;
    top:0;
    z-index:45;
    margin:0;
    padding:12px 12px 10px;
    background:linear-gradient(180deg, var(--bg) 82%, rgba(248,250,252,0));
    backdrop-filter:blur(4px);
  }

  html.mobile-simple-en-pre .header-title,
  body.mobile-simple-en .header-title{
    width:100%;
    text-align:left;
    font-size:1rem;
    letter-spacing:.11em;
  }

  html.mobile-simple-en-pre .topnav,
  body.mobile-simple-en .topnav{
    display:none !important;
  }

  html.mobile-simple-en-pre .card,
  html.mobile-simple-en-pre .panel,
  body.mobile-simple-en .card,
  body.mobile-simple-en .panel{
    border:none;
    background:transparent;
    box-shadow:none;
  }

  html.mobile-simple-en-pre .card--app,
  body.mobile-simple-en .card--app{
    padding:0 8px 8px;
    gap:10px;
  }

  html.mobile-simple-en-pre #view-home > .panel:first-of-type,
  body.mobile-simple-en #view-home > .panel:first-of-type{
    padding:0 4px;
  }

  html.mobile-simple-en-pre #view-home > .panel:first-of-type .row,
  body.mobile-simple-en:not(.mobile-simple-en--detail) #view-home > .panel:first-of-type .row{
    display:none !important;
  }

  body.mobile-simple-en.mobile-simple-en--detail #view-home > .panel:first-of-type .row{
    display:flex;
    gap:8px;
  }

  html.mobile-simple-en-pre #view-home > .panel:first-of-type .check-btn,
  html.mobile-simple-en-pre #view-home > .panel:first-of-type #btn-sample,
  body.mobile-simple-en #view-home > .panel:first-of-type .check-btn,
  body.mobile-simple-en #view-home > .panel:first-of-type #btn-sample{
    display:none;
  }

  body.mobile-simple-en.mobile-simple-en--detail #view-home > .panel:first-of-type #doc-type{
    width:100%;
    min-height:46px;
    font-size:.82rem;
    border-radius:12px;
    background-color:var(--panel);
    border-color:var(--border);
    box-shadow:var(--shadow-sm);
  }

  .mobile-simple-inline-result{
    display:none;
  }

  html.mobile-simple-en-pre .mobile-simple-inline-result,
  body.mobile-simple-en:not(.mobile-simple-en--detail) .mobile-simple-inline-result{
    border:1px solid var(--btn-border);
    border-radius:12px;
    min-height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:8px 12px;
    margin-top:2px;
    font-size:.72rem;
    letter-spacing:.12em;
    text-transform:uppercase;
    font-weight:800;
    color:var(--muted);
    background:var(--panel);
    white-space:nowrap;
  }

  body.mobile-simple-en.mobile-simple-en--detail .mobile-simple-inline-result{
    display:none !important;
  }

  body.mobile-simple-en .mobile-simple-inline-result.is-ok{
    color:var(--ok);
    border-color:rgba(22,163,74,.32);
    background:rgba(22,163,74,.12);
  }

  body.mobile-simple-en .mobile-simple-inline-result.is-fail{
    color:var(--bad);
    border-color:rgba(220,38,38,.38);
    background:rgba(220,38,38,.12);
  }

  body.mobile-simple-en .mobile-simple-inline-result.is-loading{
    color:var(--accent);
    border-color:rgba(2,132,199,.34);
    background:rgba(2,132,199,.1);
  }

  html.mobile-simple-en-pre #view-home > .panel:nth-of-type(2),
  body.mobile-simple-en #view-home > .panel:nth-of-type(2){
    padding:0 2px;
  }

  html.mobile-simple-en-pre .preview,
  body.mobile-simple-en .preview{
    height:58vw;
    min-height:220px;
    max-height:370px;
    border-radius:14px;
    border:1px solid var(--border);
    background:var(--panel);
    box-shadow:var(--shadow-sm);
  }

  html.mobile-simple-en-pre .preview::before,
  body.mobile-simple-en .preview::before{
    inset:10px;
  }

  html.mobile-simple-en-pre .center-upload,
  body.mobile-simple-en .center-upload{
    z-index:8;
    min-width:184px;
    min-height:54px;
    border-radius:14px;
    font-size:.78rem;
    letter-spacing:.12em;
    padding:10px 16px;
  }

  html.mobile-simple-en-pre .image-actions,
  html.mobile-simple-en-pre #image-status,
  body.mobile-simple-en .image-actions,
  body.mobile-simple-en #image-status{
    display:none !important;
  }

  html.mobile-simple-en-pre #mrz-inputs,
  html.mobile-simple-en-pre .mrz-result,
  html.mobile-simple-en-pre .crop-preview,
  body.mobile-simple-en:not(.mobile-simple-en--detail) #mrz-inputs,
  body.mobile-simple-en:not(.mobile-simple-en--detail) .mrz-result,
  body.mobile-simple-en:not(.mobile-simple-en--detail) .crop-preview,
  body.mobile-simple-en #mobile-simple-editor-toggle{
    display:none !important;
  }

  body.mobile-simple-en.mobile-simple-en--detail #mrz-inputs{
    display:grid;
    margin-top:8px;
  }

  body.mobile-simple-en.mobile-simple-en--detail .mrz-result{
    margin:8px 4px 0;
    background:var(--panel);
    border-radius:12px;
  }

  body.mobile-simple-en.mobile-simple-en--detail .crop-preview{
    margin:8px 4px 0;
    background:var(--panel);
    border-radius:12px;
  }

  body.mobile-simple-en .mobile-simple-shell{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:70;
    padding:8px 10px calc(8px + env(safe-area-inset-bottom));
    border-top:1px solid var(--border);
    background:var(--panel);
    box-shadow:0 -8px 24px rgba(15,23,42,.12);
  }

  body.mobile-simple-en .mobile-simple-meta{
    display:grid;
    grid-template-columns:auto 1fr;
    align-items:center;
    gap:8px;
    margin-bottom:8px;
  }

  body.mobile-simple-en .mobile-simple-more{
    border:1px solid var(--btn-border);
    background:var(--btn-bg);
    color:var(--btn-fg);
    border-radius:999px;
    padding:6px 12px;
    min-height:36px;
    font-size:.62rem;
    letter-spacing:.1em;
    text-transform:uppercase;
    font-weight:700;
    cursor:pointer;
  }

  body.mobile-simple-en .mobile-simple-status{
    min-width:0;
    font-size:.69rem;
    color:var(--muted);
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  body.mobile-simple-en:not(.mobile-simple-en--home) .mobile-simple-actions{
    display:none;
  }

  body.mobile-simple-en:not(.mobile-simple-en--home) .mobile-simple-meta{
    margin-bottom:0;
  }

  body.mobile-simple-en:not(.mobile-simple-en--home) .mobile-simple-status{
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
    line-height:1.35;
  }

  body.mobile-simple-en.mobile-simple-select-guard select{
    pointer-events:none !important;
  }

  body.mobile-simple-en #bulk-results,
  body.mobile-simple-en .bulk-table-wrap{
    width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }

  body.mobile-simple-en .bulk-table{
    table-layout:auto;
    width:max-content;
    min-width:980px;
  }

  body.mobile-simple-en .bulk-col,
  body.mobile-simple-en .bulk-td{
    white-space:nowrap;
    word-break:normal;
    overflow-wrap:normal;
  }

  body.mobile-simple-en .bulk-td--name,
  body.mobile-simple-en .bulk-td--nat{
    white-space:nowrap;
    word-break:normal;
  }

  body.mobile-simple-en .bulk-col--source,
  body.mobile-simple-en .bulk-td--source{
    max-width:240px;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  body.mobile-simple-en .mobile-simple-actions{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
  }

  body.mobile-simple-en .mobile-simple-action{
    border:1px solid var(--btn-border);
    border-radius:10px;
    background:var(--btn-bg);
    color:var(--btn-fg);
    min-height:46px;
    padding:8px 6px;
    font-size:.66rem;
    font-weight:700;
    letter-spacing:.1em;
    text-transform:uppercase;
    cursor:pointer;
  }

  body.mobile-simple-en .mobile-simple-action--primary{
    background:var(--btn-primary-bg);
    border-color:var(--btn-primary-border);
    color:var(--btn-primary-fg);
  }

  body.mobile-simple-en .mobile-simple-action--detail{
    background:var(--btn-bg);
    border-color:var(--btn-hover-border);
    color:var(--btn-fg);
  }

  body.mobile-simple-en .mobile-simple-action:disabled{
    opacity:.5;
    cursor:not-allowed;
  }

  body.mobile-simple-en .mobile-simple-drawer{
    position:fixed;
    inset:0;
    z-index:85;
    pointer-events:none;
  }

  body.mobile-simple-en .mobile-simple-drawer.open{
    pointer-events:auto;
  }

  body.mobile-simple-en .mobile-simple-drawer__backdrop{
    position:absolute;
    inset:0;
    border:0;
    background:rgba(2,6,23,.45);
    opacity:0;
    transition:opacity .16s ease;
  }

  body.mobile-simple-en .mobile-simple-drawer.open .mobile-simple-drawer__backdrop{
    opacity:1;
  }

  body.mobile-simple-en .mobile-simple-drawer__panel{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    background:var(--panel);
    border-radius:16px 16px 0 0;
    border:1px solid var(--border);
    border-bottom:0;
    padding:10px 10px calc(10px + env(safe-area-inset-bottom));
    transform:translateY(102%);
    transition:transform .18s ease;
    max-height:min(72vh,520px);
    overflow:auto;
  }

  body.mobile-simple-en .mobile-simple-drawer.open .mobile-simple-drawer__panel{
    transform:translateY(0);
  }

  body.mobile-simple-en .mobile-simple-drawer__head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    margin-bottom:8px;
  }

  body.mobile-simple-en .mobile-simple-drawer__title{
    font-size:.78rem;
    letter-spacing:.11em;
    text-transform:uppercase;
    color:var(--muted);
    font-weight:700;
  }

  body.mobile-simple-en .mobile-simple-drawer__close{
    border:1px solid var(--btn-border);
    background:var(--btn-bg);
    color:var(--btn-fg);
    border-radius:999px;
    min-height:36px;
    padding:6px 12px;
    font-size:.62rem;
    letter-spacing:.1em;
    text-transform:uppercase;
    font-weight:700;
    cursor:pointer;
  }

  body.mobile-simple-en .mobile-simple-drawer__links{
    display:grid;
    gap:8px;
  }

  body.mobile-simple-en .mobile-simple-drawer__link{
    display:block;
    padding:12px;
    border:1px solid var(--border);
    border-radius:10px;
    text-decoration:none;
    color:var(--fg);
    background:var(--field-bg);
    font-size:.8rem;
    font-weight:600;
  }
}

/* Never clip MRZ text; allow horizontal scroll at any size. */
.mrz-editor__textarea{
  overflow-x:auto;
  overflow-y:hidden;
  white-space:pre;
  scrollbar-width:thin;
  -webkit-overflow-scrolling:touch;
}

/* Keep MRZ content start very close to line numbers. */
#mrz-editor.mrz-editor,
#gen-editor.mrz-editor{
  grid-template-columns:12px 1fr;
}

#mrz-editor .mrz-editor__gutter,
#gen-editor .mrz-editor__gutter{
  padding-left:0;
  padding-right:0;
}

#mrz-editor .mrz-editor__textarea,
#gen-editor .mrz-editor__textarea{
  padding-left:1px;
  padding-right:2px;
}
