@charset "UTF-8";
:root{--ink:#162b41;--muted:#697b8c;--line:#dce4eb;--blue:#126b82;--blue-hover:#0d586c;--paper:#fff;--bg:#f2f5f8;--focus:#0b91b2;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Apple SD Gothic Neo","Malgun Gothic",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.43}button,input,textarea,summary,a{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:4px}button,textarea,input{min-width:0}[hidden]{display:none!important}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.topbar{height:76px;background:var(--paper);border-bottom:1px solid var(--line)}.topbar-inner{max-width:1360px;height:100%;margin:auto;padding:0 48px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;font-size:22px;font-weight:720;letter-spacing:-.6px}.brand-light{font-weight:420}.brand-mark{width:34px;height:34px;display:flex;flex-direction:column;gap:4px;justify-content:center;padding:7px;background:var(--ink);border-radius:8px}.brand-mark i{height:3px;border-radius:1px;background:#70dbdc}.brand-mark i:nth-child(2){width:70%}.topbar-meta{font-size:12px;letter-spacing:1.6px;color:var(--muted);font-weight:650}main{max-width:1360px;margin:auto;padding:36px 48px 18px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.eyebrow{font-size:12px;letter-spacing:1.7px;font-weight:700;color:var(--blue);margin-bottom:9px}h1{font-size:32px;letter-spacing:-1.3px;line-height:1.3;margin:0 0 9px;font-weight:720}.page-heading p{font-size:16px;line-height:1.6;color:var(--muted);margin:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 16px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:14px;font-weight:620;transition:background .15s,border-color .15s}.button:hover:not(:disabled){background:#eaf1f5;border-color:#bacbd7}.button.primary{background:var(--blue);border-color:var(--blue);color:#fff}.button.primary:hover:not(:disabled){background:var(--blue-hover);border-color:var(--blue-hover)}.button.subtle{background:transparent}.button.small{padding:7px 10px;min-height:36px;font-size:14px}.button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.workspace{display:grid;grid-template-columns:1.06fr 1fr;gap:24px;align-items:start}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 3px 10px #20395003;overflow:hidden}.panel-heading{padding:21px 24px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #e9eef2}h2{font-size:17px;line-height:1.5;letter-spacing:-.45px;margin:0;font-weight:670;display:flex;align-items:center;gap:10px}.step{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:26px;letter-spacing:0;width:26px;height:26px;text-align:center;display:inline-block;flex:none;border-radius:7px;background:#edf3f7;color:var(--blue);font-weight:600}.meta{font-size:12px;color:var(--muted);text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:42%}.drop-zone{margin:22px 24px 0;min-height:304px;border:1.5px dashed #c7d3de;border-radius:10px;background:#f9fbfc;transition:background .15s,border .15s;position:relative}.drop-zone.drag-over{background:#e4f4f7;border-color:var(--blue);outline:3px solid #1d8da920}.empty-image{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 16px;text-align:center;min-height:302px}.upload-symbol{width:52px;height:52px;border:1px solid #d9e5ec;border-radius:14px;background:#fff;color:var(--blue);display:grid;place-items:center;box-shadow:0 3px 9px #20395005;margin-bottom:15px}.upload-symbol svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}h3{font-size:18px;margin:0 0 9px;letter-spacing:-.5px}.empty-image p{font-size:14px;color:var(--muted);line-height:1.8;margin:0 0 20px}kbd{font:12px ui-monospace,SFMono-Regular,monospace;padding:2px 5px;background:#fff;border:1px solid #dbe3ea;border-radius:4px}.empty-meta{font-size:12px;color:#788897;margin-top:11px}.image-area{padding:14px;min-height:304px;display:flex;align-items:center;justify-content:center;background:#e9eef3;border-radius:9px}.image-stage{max-width:100%;position:relative;line-height:0;overflow:hidden;user-select:none}.image-stage img{max-width:100%;max-height:388px;width:auto;height:auto;display:block;object-fit:contain}.image-stage.selecting{touch-action:none;cursor:crosshair}.crop-box{position:absolute;border:2px solid #05b6cf;box-shadow:0 0 0 9999px #11223965;pointer-events:none;min-width:2px;min-height:2px}.crop-box span{position:absolute;left:-2px;top:-25px;background:#076779;color:#fff;line-height:23px;font-size:12px;padding:0 6px;white-space:nowrap;border-radius:4px 4px 0 0}.image-tools{padding:14px 24px 0}.tool-row{display:flex;gap:8px;flex-wrap:wrap}.button[aria-pressed=true]{color:var(--blue);border-color:var(--blue);background:#eaf6f8}.helper{color:var(--muted);font-size:13px;line-height:1.65;margin:10px 0 0}.crop-details{font-size:13px;color:var(--muted);margin-top:10px}.crop-details summary{cursor:pointer;padding:5px 0}.crop-inputs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding-top:10px}.crop-inputs label{display:flex;flex-direction:column;gap:6px;font-size:13px}.crop-inputs input{padding:7px 5px;width:100%;border:1px solid var(--line);border-radius:5px;color:var(--ink);background:white;font-size:14px}.source-actions{padding:18px 24px 0;display:flex;gap:8px}.recognize{width:100%;min-height:46px;font-size:15px}.progress-area{margin:14px 24px 0;font-size:13px;color:var(--blue)}.progress-area>div{display:flex;justify-content:space-between;gap:10px}progress{appearance:none;width:100%;height:5px;display:block;border:0;background:#e5edf1;border-radius:5px;margin-top:8px}progress::-webkit-progress-bar{background:#e5edf1;border-radius:5px}progress::-webkit-progress-value{background:var(--blue);border-radius:5px}progress::-moz-progress-bar{background:var(--blue);border-radius:5px}.error{padding:12px 14px;margin:14px 24px 0;border-radius:7px;background:#fff3ef;color:#a33d22;font-size:14px;line-height:1.6}.example{margin:20px 24px 22px;padding:15px 0 0;display:flex;width:calc(100% - 48px);border:0;border-top:1px solid #e8edf1;background:transparent;text-align:left;align-items:center;gap:12px;color:var(--ink)}.example:hover strong{text-decoration:underline}.example-icon{font-family:Georgia,serif;display:grid;place-items:center;flex:none;width:38px;height:38px;background:#edf2f6;border-radius:7px;color:#677d8f;font-size:18px}.example strong{display:block;font-size:14px;font-weight:550}.example small{display:block;font-size:12px;color:var(--muted);margin-top:5px;line-height:1.5}.example-open{margin-left:auto;color:var(--blue);font-size:22px}.result-column{display:flex;flex-direction:column;gap:20px}.count{border:1px solid #e0e7ed;border-radius:5px;padding:3px 8px;font-size:12px;color:var(--muted);white-space:nowrap}.review-body{padding:20px 24px}.review-instruction{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.review-instruction label{font-size:14px;color:#536879}.review-instruction .meta{max-width:50%}#sequence-lines{width:100%;height:230px;resize:vertical;min-height:150px;padding:14px 16px;border:1px solid #dce5ec;border-radius:8px;background:#fafcfd;color:var(--ink);font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;font-size:15px;line-height:1.8;tab-size:2}#sequence-lines::placeholder{color:#93a2af;opacity:.7}#sequence-lines:focus{background:#fff;border-color:var(--blue)}.recognition-summary{font-size:13px;color:#8c6529;line-height:1.6;margin:10px 0 0;padding:9px 11px;background:#fff8e9;border-radius:6px}.output-panel{border-radius:14px;background:#14283e;color:#fff;padding:22px 24px}.output-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}.output-panel .step{color:#78dcde;background:#2c4358}.output-meta{font-size:12px;color:#8fa7ba;white-space:nowrap}#output{display:block;width:100%;min-height:112px;margin:17px 0 12px;padding:0;background:transparent;border:0;resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;font-size:15px;line-height:1.85;color:#deedf6;overflow-wrap:anywhere}#output::placeholder{color:#7990a6}.output-footer{padding-top:15px;border-top:1px solid #30445a;display:flex;align-items:center;justify-content:space-between;gap:12px}.output-footer>span{font-size:12px;color:#9cb1c2}.copy-button{background:#69d4d5;color:#112d3c;border-color:#69d4d5;white-space:nowrap;min-height:40px}.copy-button:hover:not(:disabled){background:#8ee1e2;border-color:#8ee1e2}.copy-button:disabled{opacity:.38}.page-footer{margin-top:25px;display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:12px;line-height:1.7}.page-footer p{margin:0;display:flex;align-items:flex-start;gap:7px}.page-footer svg{width:15px;height:18px;fill:none;stroke:currentColor;stroke-width:1.3;flex:none}.page-footer>span{font-size:11px;letter-spacing:1.4px;white-space:nowrap}.toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%);max-width:calc(100% - 32px);padding:13px 20px;background:#14283e;color:#fff;box-shadow:0 6px 30px #0003;border-radius:9px;font-size:14px;line-height:1.6;text-align:center;z-index:50}.busy .drop-zone{opacity:.8}.busy .image-stage{pointer-events:none}
@media(min-width:1440px){main{padding-top:44px}.drop-zone,.empty-image{min-height:340px}#sequence-lines{height:252px}}
@media(max-width:1050px){.topbar-inner{padding:0 28px}main{padding:28px}.workspace{gap:18px}.panel-heading{padding:18px}.drop-zone{margin:18px 18px 0}.image-tools{padding:14px 18px 0}.source-actions{padding:16px 18px 0}.example{margin:18px;width:calc(100% - 36px)}.review-body{padding:18px}.output-panel{padding:20px 18px}.output-heading h2{font-size:16px}.output-meta{display:none}.progress-area,.error{margin-left:18px;margin-right:18px}}
@media(max-width:760px){.topbar{height:64px}.topbar-inner{padding:0 20px}.brand{font-size:20px}.topbar-meta{font-size:10px;letter-spacing:1px}main{padding:25px 18px 22px}.page-heading{margin-bottom:22px;align-items:flex-start}h1{font-size:28px}.page-heading p{font-size:14px;max-width:245px}.page-heading .button{margin-top:22px;padding:8px 11px;min-height:36px;white-space:nowrap}.eyebrow{font-size:11px}.workspace{grid-template-columns:minmax(0,1fr);gap:18px}.panel-heading{padding:17px 18px}.drop-zone{min-height:255px}.empty-image{min-height:255px;padding:24px 12px}.image-stage img{max-height:380px}.image-area{min-height:255px}.result-column{gap:18px}#sequence-lines{height:235px;font-size:16px}#output{font-size:16px;min-height:130px}.page-footer{margin-top:20px}.page-footer>span{display:none}.output-footer>span{font-size:12px}.crop-inputs input{font-size:16px}.image-tools .helper{font-size:13px}.count,.meta{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.site-nav{display:flex;align-items:center;gap:6px}.site-nav a{padding:8px 12px;border-radius:7px;color:var(--muted);font-size:13px;font-weight:620;text-decoration:none}.site-nav a:hover{background:#edf3f6}.site-nav a.active{background:var(--ink);color:#fff}@media(max-width:560px){.site-nav a{padding:7px 8px;font-size:11px}.topbar-inner{padding-left:14px;padding-right:14px}.brand-mark{display:none}}

/* Shared navigation on all three pages. */
.topbar{height:auto;min-height:76px}.topbar-inner{min-height:76px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px}.site-nav a{font-size:14px}.site-nav{flex-wrap:wrap}@media(max-width:680px){.topbar-inner{gap:12px;justify-content:center}.brand{font-size:20px}.site-nav{width:100%;justify-content:center}.site-nav a{font-size:14px!important;padding:9px!important}.topbar{height:auto}.topbar-meta{display:none}}
