:root{--ink:#1a1d21;--muted:#5b6470;--line:#d4d9e0;--bg:#f6f7f9;--panel:#fff;--accent:#1f4e79;--warn:#8a4b00;--warn-bg:#fff4e2;--bad:#8c1d1d;--bad-bg:#fdeaea;--good:#1c5c34;--good-bg:#e8f5ec;--local:#133c5a}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);margin:0;font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}header.bar{background:var(--accent);color:#fff;flex-wrap:wrap;align-items:baseline;gap:14px;padding:10px 20px;display:flex}header.bar .logo{align-self:center;width:auto;height:50px;margin:-10px 0 0 -10px}header.bar h1{margin:0;font-size:17px;font-weight:600}header.bar h1 small{opacity:.85;font-size:11px;font-weight:400;display:block}header.bar h1 button.brand{font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}header.bar .caseid{opacity:.8;font-family:ui-monospace,monospace;font-size:12px}header.bar nav{flex-wrap:wrap;align-items:center;gap:4px;margin-left:auto;display:flex}header.bar nav select.lang{font:inherit;color:#fff;background:#ffffff26;border:1px solid #ffffff80;border-radius:5px;margin-right:6px;padding:4px 6px;font-size:12px}header.bar nav select.lang option{color:#111}.english{font-style:italic;display:block}header.bar nav button{color:#fff;cursor:pointer;white-space:nowrap;background:#ffffff1f;border:0;border-radius:4px;padding:5px 11px;font-size:13px}header.bar nav button[disabled]{opacity:.4;cursor:not-allowed}header.bar nav button.now{color:var(--accent);background:#fff;font-weight:600}header.bar nav button.done{background:#ffffff4d}main{max-width:1080px;margin:0 auto;padding:20px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:6px;margin-bottom:18px;padding:18px}.panel.navbar{z-index:5;max-width:1040px;margin:0 auto 18px;position:fixed;bottom:0;left:20px;right:20px;box-shadow:0 2px 10px #0000001f}main:has(.panel.navbar){padding-bottom:104px}.panel>h2{margin:0 0 4px;font-size:16px}.panel>p.lede,.panel .row p.lede{color:var(--muted);margin:0 0 14px}.steps{flex-wrap:wrap;gap:6px;margin-bottom:18px;display:flex}.steps span{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:11px;padding:3px 9px;font-size:12px}.steps span.done{border-color:var(--good);color:var(--good)}.steps span.now{background:var(--accent);border-color:var(--accent);color:#fff}button.primary{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:4px;padding:9px 16px;font-size:14px;font-weight:500}button.primary[disabled]{cursor:not-allowed;background:#9aa5b1}button.ghost,a.ghost{border:1px solid var(--line);cursor:pointer;vertical-align:middle;background:#fff;border-radius:4px;padding:6px 12px;font-family:inherit;font-size:13px;line-height:normal}a.ghost{color:inherit;text-decoration:none;display:inline-block}button.ghost[disabled]{opacity:.5;cursor:not-allowed}button.tiny,a.tiny{padding:3px 8px;font-size:12px}label.field{margin-bottom:12px;display:block}label.field>span{color:var(--muted);margin-bottom:3px;font-size:13px;display:block}label.field>em.hint{color:var(--muted);margin-top:4px;font-size:12px;font-style:normal;line-height:1.4;display:block}input::placeholder,textarea::placeholder{color:#9aa5b1}input[type=text],input[type=date],textarea,select{border:1px solid var(--line);width:100%;font:inherit;background:#fff;border-radius:4px;padding:7px 9px}textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.row{flex-wrap:wrap;gap:14px;display:flex}.row>*{flex:240px}.notice{border-radius:5px;margin-bottom:14px;padding:10px 13px;font-size:13.5px}.notice.local{color:var(--local);background:#eaf2f8;border:1px solid #b8d3e6;display:flow-root}.notice .offline{float:left;width:64px;height:64px;margin:0 12px 4px 0}.notice.warn{background:var(--warn-bg);color:var(--warn);border:1px solid #e6c893}.notice.bad{background:var(--bad-bg);color:var(--bad);border:1px solid #e6b3b3}.notice.good{background:var(--good-bg);color:var(--good);border:1px solid #b3d9c1}table.grid{border-collapse:collapse;width:100%;font-size:13px}table.grid th{text-align:left;border-bottom:1px solid var(--line);background:#eef1f5;padding:7px 8px;font-weight:600}table.grid td{border-bottom:1px solid var(--line);vertical-align:top;padding:7px 8px}table.grid tr.clickable{cursor:pointer}table.grid tr.clickable:hover{background:#f2f6fa}table.grid tr.selected{background:#e6eff7}code.src{color:var(--muted);font-family:ui-monospace,monospace;font-size:12px}.tag{white-space:nowrap;border-radius:10px;padding:2px 7px;font-size:11px;font-weight:600;display:inline-block}.tag.extracted{background:var(--warn-bg);color:var(--warn);border:1px solid #e6c893}.tag.confirmed{background:var(--good-bg);color:var(--good);border:1px solid #b3d9c1}.tag.user_supplied{color:var(--accent);background:#eef4fa;border:1px solid #b9cfe6}.tag.okconf{color:var(--muted);border:1px solid var(--line);background:#eef1f5}.tag.missing,.tag.lowconf{background:var(--bad-bg);color:var(--bad);border:1px solid #e6b3b3}.tag.flag{color:var(--muted);border:1px solid var(--line);background:#eef1f5;font-weight:500}.cropview{border:1px solid var(--line);background:#fff;border-radius:4px;min-width:220px;height:120px;margin-bottom:4px;position:relative;overflow:hidden}.cropinner{position:absolute;top:50%;left:50%}.cropwrap{position:relative}.cropview.zoom{z-index:10;width:640px;max-width:90vw;height:320px;display:none;position:absolute;top:0;left:0;box-shadow:0 6px 24px #00000040}.cropwrap:not(.dismissed):hover .cropview.zoom{display:block}.cropview.zoom .cropinner{transform-origin:0 0}.cropconfirm{position:absolute;top:8px;right:8px}.cropconf{position:absolute;top:4px;left:4px}.cropinner img{width:100%;height:auto;display:block}.cropinner .hl{pointer-events:none;background:#ffd60061;outline:1.5px solid #c79b00;position:absolute}.drop{border:2px dashed var(--line);text-align:center;color:var(--muted);background:#fcfdfe;border-radius:8px;padding:34px 20px}.drop.over{border-color:var(--accent);color:var(--accent);background:#eef4fa}.bar-track{background:#e4e8ee;border-radius:4px;height:7px;overflow:hidden}.bar-fill{background:var(--accent);height:100%;transition:width .3s}.spinner{vertical-align:-1px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:11px;height:11px;margin-right:5px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}ol.stages{margin:16px 0 0;padding:0;list-style:none}ol.stages li{color:var(--muted);align-items:center;gap:9px;padding:3px 0;font-size:13.5px;display:flex}ol.stages li .dot{border:1.5px solid var(--line);background:#fff;border-radius:50%;flex:0 0 9px;width:9px;height:9px}ol.stages li.done{color:var(--good)}ol.stages li.done .dot{background:var(--good);border-color:var(--good)}ol.stages li.now{color:var(--ink);font-weight:600}ol.stages li.now .dot{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 3px #1f4e792e}.howto{margin:0 0 14px;padding-left:22px}.howto li{margin-bottom:9px}main a:not(.ghost){color:var(--accent)}ul.plain{margin:0;padding:0;list-style:none}ul.plain li{border-bottom:1px solid var(--line);padding:8px 0}ul.plain li:last-child{border-bottom:0}.modal-back{z-index:50;background:#14181e8c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:8px;max-width:620px;max-height:86vh;padding:22px;overflow:auto}.modal h2{margin-top:0;font-size:17px}pre.letter{border:1px solid var(--line);background:#fff;border-radius:5px;padding:16px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;line-height:1.5;overflow-x:auto}.muted{color:var(--muted)}.small{font-size:12.5px}.mono{font-family:ui-monospace,monospace}.spread{justify-content:space-between;align-items:center;gap:12px;display:flex}.stack{flex-direction:column;gap:10px;display:flex}.cropper{touch-action:none;cursor:crosshair;display:inline-block;position:relative}.cropper img{-webkit-user-select:none;user-select:none;max-width:100%;max-height:320px;display:block}.cropbox{outline:1px solid var(--accent);pointer-events:none;border:1px solid #fff;position:absolute;box-shadow:0 0 0 9999px #141c2673}
