@font-face{font-family:Inter;font-weight:400;font-display:swap;src:url(/fonts/Inter-400.woff2) format("woff2")}@font-face{font-family:Inter;font-weight:500;font-display:swap;src:url(/fonts/Inter-500.woff2) format("woff2")}@font-face{font-family:Inter;font-weight:600;font-display:swap;src:url(/fonts/Inter-600.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-weight:400;font-display:swap;src:url(/fonts/IBMPlexMono-400.woff2) format("woff2")}:root{--paper: #F3F0E9;--paper-deep: #E9E4DA;--card: #FFFFFF;--card-hover: #F8F6F1;--sunken: #F1EDE5;--line: #E6E0D4;--line-strong: #D6CFC1;--text: #151A22;--text-2: #4F5663;--text-3: #646A75;--ink-2: #121924;--primary: #141A23;--primary-hover: #273141;--glacier: #2563D6;--glacier-text: #1D4FAE;--glacier-tint: #E8EFFC;--ember-text: #C8461B;--good-text: #13703B;--good-tint: #E5F3EA;--warning-text: #8A5B00;--warning-tint: #FDF2D3;--critical-text: #B3192F;--critical-tint: #FBE7EA;--font: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--shadow: 0 1px 2px rgba(21, 26, 34, .05), 0 2px 8px rgba(21, 26, 34, .04)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font);font-size:15px;line-height:22px;color:var(--text);background:var(--paper);-webkit-font-smoothing:antialiased}#root{min-height:100vh;display:flex;flex-direction:column}button,input{font:inherit;color:inherit}a{color:var(--glacier-text)}.ico{display:inline-block;flex:none;vertical-align:-3px}:focus-visible{outline:2px solid var(--glacier);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.muted{color:var(--text-3)}.small{font-size:13px;line-height:19px}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.topbar{position:sticky;top:0;z-index:20;background:#f3f0e9f0;border-bottom:1px solid var(--line);-webkit-backdrop-filter:saturate(1.3) blur(8px);backdrop-filter:saturate(1.3) blur(8px)}.topbar-in{max-width:1080px;margin:0 auto;height:56px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;min-width:0}.brand-mark{width:28px;height:28px;border-radius:8px;background:linear-gradient(160deg,var(--glacier) 0%,#0C499A 100%);display:grid;place-items:center;flex:none}.brand-name{font-weight:600;font-size:16px;letter-spacing:-.01em;white-space:nowrap}.nav{display:flex;gap:2px;flex:none}.nav a{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:8px;color:var(--text-2);text-decoration:none;font-weight:500;font-size:14px;line-height:20px;white-space:nowrap}.nav a:hover{background:var(--paper-deep);color:var(--text)}.nav a.on{background:var(--card);color:var(--text);box-shadow:inset 0 0 0 1px var(--line-strong)}.page{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:32px 24px 40px}.narrow{max-width:820px;margin:0 auto}.wide{max-width:1032px;margin:0 auto}.page-title{font-size:26px;line-height:32px;font-weight:600;letter-spacing:-.015em;margin:0}.lead{color:var(--text-2);font-size:16px;line-height:24px;margin:8px 0 24px;max-width:62ch}.loading{display:flex;gap:10px;align-items:center;color:var(--text-3);padding:24px 0}.msg{margin:0;padding:8px 0;color:var(--text-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line-strong);background:var(--card);color:var(--text);padding:9px 16px;border-radius:9px;font-weight:500;font-size:14px;line-height:20px;cursor:pointer;text-decoration:none;white-space:nowrap}.btn:hover{background:var(--card-hover)}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-hover)}.btn.small{padding:5px 10px;font-size:13px;line-height:18px}.btn.block{width:100%;margin-top:6px}.btn:disabled{opacity:.55;cursor:not-allowed}.lbl{font-size:13px;color:var(--text-2);font-weight:500}input[type=password]{width:100%;border:1px solid var(--line-strong);border-radius:9px;padding:9px 11px;background:#fff}input[type=password]:focus{outline:none;border-color:var(--glacier);box-shadow:0 0 0 3px var(--glacier-tint)}.form-err{display:flex;gap:8px;align-items:flex-start;background:var(--critical-tint);color:#7d1121;border:1px solid #F2B8C1;border-radius:10px;padding:10px 12px;font-size:14px;line-height:20px;margin:12px 0;flex-wrap:wrap}.form-err .ico{margin-top:2px}.form-err span{flex:1 1 200px;min-width:0}.form-err.soft{background:var(--warning-tint);border-color:#f2d58a;color:#5e3f00}.modal .form-err{margin:4px 0 0}.spinner{display:inline-block;border:2px solid var(--line-strong);border-top-color:var(--glacier);border-radius:50%;animation:spin .8s linear infinite;flex:none}@keyframes spin{to{transform:rotate(360deg)}}.drop{border:2px dashed var(--line-strong);border-radius:16px;background:var(--card);min-height:300px;padding:40px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.drop:hover{border-color:var(--glacier)}.drop.over{border-color:var(--glacier);background:var(--glacier-tint);box-shadow:0 0 0 4px #2563d61f}.drop.busy{cursor:default;border-style:solid;border-color:var(--line)}.drop.has-err{border-color:#e9a2ad}.drop-ico{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--glacier-tint);color:var(--glacier-text);margin-bottom:4px}.drop-title{font-size:19px;line-height:26px;font-weight:600}.drop-or{color:var(--text-3);font-size:13px;line-height:18px}.on-touch{display:none}@media(hover:none)and (pointer:coarse){.on-pointer{display:none}.on-touch{display:inline}}.drop-hint{color:var(--text-3);font-size:13px;line-height:19px;margin-top:6px}.drop-status{color:var(--text-3);font-size:13px;line-height:19px;display:flex;gap:8px;align-items:center;justify-content:center}.drop-hint strong{color:var(--text-2);font-weight:600}.drop-up{width:min(420px,100%);display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--text-2)}.drop-name{font-weight:600;color:var(--text);overflow-wrap:anywhere}.bar{width:100%;height:8px;border-radius:99px;background:var(--sunken);overflow:hidden}.bar span{display:block;height:100%;background:var(--glacier);border-radius:99px;transition:width .2s}.drop-err{margin:12px 0 0}.notice{color:var(--text-3);font-size:13px;line-height:19px;margin:14px 2px 0;max-width:72ch}.res-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px;align-items:start}.res-main{min-width:0;display:flex;flex-direction:column;gap:16px}.drawing{margin:0;position:sticky;top:76px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);aspect-ratio:4 / 5;max-height:calc(100vh - 100px);width:100%;display:grid;place-items:center;padding:18px;overflow:hidden}.drawing img{position:absolute;top:18px;right:18px;bottom:18px;left:18px;width:calc(100% - 36px);height:calc(100% - 36px);object-fit:contain}.drawing.waiting-img{color:var(--text-3)}.drawing.no-img{background:var(--sunken);box-shadow:none;color:var(--text-3);align-content:center;gap:10px;text-align:center;aspect-ratio:auto;min-height:220px}.drawing.no-img figcaption{max-width:30ch;font-size:14px;line-height:20px;color:var(--text-2)}.waiting{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 22px}.waiting p{margin:0}.waiting-title{display:flex;align-items:center;gap:10px;font-size:17px;line-height:24px;font-weight:600;color:var(--text);margin-bottom:4px!important}.elapsed{font-variant-numeric:tabular-nums}.numbers{width:100%;border-collapse:separate;border-spacing:0;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:2px 22px 10px;font-variant-numeric:tabular-nums}.numbers th,.numbers td{padding:7px 0;border-top:1px solid var(--line);text-align:left;vertical-align:baseline;font-weight:400}.numbers tbody tr:first-child>*{border-top:0}.numbers th[scope=row]{color:var(--text-2);padding-right:16px;overflow-wrap:anywhere}.numbers th.name{font-family:var(--mono);font-size:13.5px;overflow-wrap:normal;word-break:normal}.numbers td.val{text-align:right;white-space:nowrap;color:var(--text);font-weight:500;font-family:var(--mono);font-size:14px}.numbers td.val.txt{white-space:normal}.numbers td.val[title]{cursor:help}.numbers .approx{color:var(--warning-text);margin-right:4px}.numbers td.miss{color:var(--critical-text)}.numbers td.unit{width:5.6em;padding-left:10px;white-space:nowrap;color:var(--text-3);font-size:13px}.history-title{margin-bottom:16px}.history{list-style:none;margin:0;padding:0;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}.history li+li{border-top:1px solid var(--line)}.history-row{display:grid;grid-template-columns:minmax(0,1fr) auto 16px;gap:16px;align-items:center;padding:13px 18px;color:inherit;text-decoration:none}.history-row:hover{background:var(--card-hover)}.history-row:focus-visible{outline-offset:-3px;border-radius:4px}.h-title{font-weight:500;overflow-wrap:anywhere;min-width:0}.h-note{color:var(--text-3);font-weight:400}.h-date{color:var(--text-3);font-size:14px;line-height:20px}.h-go{color:var(--text-3);display:flex}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b101880;display:grid;place-items:center;padding:16px;z-index:50}.modal{background:var(--card);border-radius:16px;padding:24px;width:400px;max-width:100%;box-shadow:0 24px 60px #00000040;display:flex;flex-direction:column;gap:8px}.modal h2{margin:0;font-size:19px;line-height:26px}.modal p{margin:0 0 8px}@media(max-width:860px){.res-grid{grid-template-columns:minmax(0,1fr);gap:16px}.drawing{position:relative;top:auto;aspect-ratio:auto;height:300px;max-height:none;padding:14px}.drawing img{top:14px;right:14px;bottom:14px;left:14px;width:calc(100% - 28px);height:calc(100% - 28px)}.drawing.no-img{height:auto;min-height:150px;padding:20px 16px}}@media(max-width:760px){.topbar-in{padding:0 12px;height:52px}.page{padding:20px 16px 28px}.page-title{font-size:22px;line-height:28px}.lead{font-size:15px;line-height:22px;margin-bottom:18px}.drop{min-height:240px;padding:28px 16px}.waiting{padding:16px}.numbers{padding:0 16px 8px}.numbers th[scope=row]{width:56%;padding-right:10px}.numbers td.unit{width:4.8em;padding-left:8px}.drawing{height:260px}.history-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;padding:12px 40px 12px 16px;position:relative}.h-title{flex:1 1 100%}.h-date{font-size:13px;line-height:18px;white-space:nowrap}.h-go{position:absolute;right:14px;top:50%;transform:translateY(-50%)}}@media(max-width:420px){.nav a{padding:6px 9px}.nav a .ico{display:none}.numbers{padding:0 14px 8px}.numbers th.name{font-size:12.5px;padding-right:8px}.numbers td.val{font-size:13px}.numbers td.unit{width:4.6em;padding-left:6px;font-size:12.5px}}@media(max-width:359px){.brand-name{display:none}}
