@font-face{font-family:Inter Tight;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/inter-tight-latin-4AtXCUT1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Tight;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/inter-tight-cyrillic-CjW9RCxc.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}:root{--gray-0:#fff;--gray-25:#fafaf8;--gray-50:#f4f4f0;--gray-100:#e9e9e4;--gray-200:#d8d5cd;--gray-300:#b9b6ad;--gray-500:#63686f;--gray-700:#464b53;--gray-900:#2e3238;--gray-950:#1a1d21;--accent-50:#eef2ff;--accent-500:#2b5bff;--accent-600:#2247cc;--accent-700:#1b37a0;--red-600:#b4151b;--red-50:#fdedee;--green-600:#0e7c5e;--green-50:#e9f7f2;--amber-700:#8f5600;--amber-50:#fff6e5;--surface:var(--gray-50);--surface-raised:var(--gray-0);--surface-sunken:var(--gray-100);--text:var(--gray-900);--text-muted:var(--gray-500);--text-faint:var(--gray-300);--text-on-accent:var(--gray-0);--border:var(--gray-200);--border-strong:var(--gray-300);--focus-ring:var(--accent-500);--accent:var(--accent-500);--accent-hover:var(--accent-600);--accent-soft:var(--accent-50);--accent-contrast:var(--gray-0);--status-wait:var(--gray-500);--status-wait-soft:var(--gray-100);--status-run:var(--accent);--status-run-soft:var(--accent-soft);--status-done:var(--green-600);--status-done-soft:var(--green-50);--status-warn:var(--amber-700);--status-warn-soft:var(--amber-50);--status-error:var(--red-600);--status-error-soft:var(--red-50);--font-ui:"Inter Tight",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--text-xs:11px;--text-sm:12.5px;--text-base:14px;--text-md:16px;--text-lg:20px;--text-xl:26px;--text-2xl:34px;--leading-tight:1.25;--leading-normal:1.5;--leading-loose:1.65;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--radius-sm:3px;--radius-md:6px;--radius-lg:10px;--radius-pill:999px;--shadow-sm:0 1px 2px #1a1d210f;--shadow-md:0 4px 16px #1a1d2114;--border-width:1px;--transition:.14s ease}*,:before,:after{box-sizing:border-box}.shell{background:var(--surface);min-height:100vh;color:var(--text);font-family:var(--font-ui);font-size:var(--text-base);line-height:var(--leading-normal);flex-direction:column;display:flex}.shell__head{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-6);background:var(--surface-raised);border-bottom:var(--border-width) solid var(--border);flex-wrap:wrap;display:flex}.shell__logo{width:auto;height:26px;display:block}.shell__title{min-width:0;font-size:var(--text-md);font-weight:600}.shell__spacer{flex:1}.shell__main{width:100%;max-width:1080px;padding:var(--space-6);gap:var(--space-5);flex-direction:column;flex:1;margin:0 auto;display:flex}.shell__foot{padding:var(--space-5) var(--space-6);border-top:var(--border-width) solid var(--border);color:var(--text-muted);font-size:var(--text-sm)}.panel{background:var(--surface-raised);border:var(--border-width) solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);gap:var(--space-4);flex-direction:column;display:flex}.panel__head{align-items:center;gap:var(--space-3);display:flex}.panel__title{font-size:var(--text-md);letter-spacing:-.01em;font-weight:600}.grid{gap:var(--space-5);flex-direction:column;display:flex}.grid--split{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));display:grid}.actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.actions--end{justify-content:flex-end}.icon{vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px;display:inline-block}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.btn{justify-content:center;align-items:center;gap:var(--space-2);height:38px;padding:0 var(--space-4);font-family:var(--font-ui);font-size:var(--text-base);color:var(--accent-contrast);background:var(--accent);border:var(--border-width) solid transparent;border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:background var(--transition), border-color var(--transition), color var(--transition);font-weight:600;line-height:1;text-decoration:none;display:inline-flex;position:relative}.btn:hover{background:var(--accent-hover)}.btn--secondary{background:var(--surface-raised);color:var(--text);border-color:var(--border-strong)}.btn--secondary:hover{background:var(--surface-sunken)}.btn--ghost{color:var(--text-muted);background:0 0}.btn--ghost:hover{background:var(--surface-sunken);color:var(--text)}.btn--danger{background:var(--status-error);color:var(--text-on-accent)}.btn--danger:hover{filter:brightness(.92)}.btn--sm{height:30px;padding:0 var(--space-3);font-size:var(--text-sm)}.btn:disabled,.btn.is-disabled{opacity:.45;pointer-events:none}.btn.is-loading{color:#0000;pointer-events:none}.btn.is-loading:after{content:"";border:2px solid var(--accent-contrast);border-top-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite api-spin;position:absolute}.btn--secondary.is-loading:after,.btn--ghost.is-loading:after{border-color:var(--text-muted);border-top-color:#0000}@keyframes api-spin{to{transform:rotate(360deg)}}.field{gap:var(--space-2);flex-direction:column;display:flex}.field__label{font-size:var(--text-sm);color:var(--text);font-weight:600}.field__hint{font-size:var(--text-sm);color:var(--text-muted)}.field__error{font-size:var(--text-sm);color:var(--status-error)}.input,.select,.textarea{width:100%;height:38px;padding:0 var(--space-3);font-family:var(--font-ui);font-size:var(--text-base);color:var(--text);background:var(--surface-raised);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-md);transition:border-color var(--transition)}.textarea{height:auto;min-height:96px;padding:var(--space-3);line-height:var(--leading-normal);resize:vertical}.input::placeholder,.textarea::placeholder{color:var(--text-muted)}.input:hover,.select:hover,.textarea:hover{border-color:var(--text-muted)}.field.is-error .input,.field.is-error .textarea,.field.is-error .select{border-color:var(--status-error)}.select-wrap{display:block;position:relative}.select{appearance:none;padding-right:var(--space-6);cursor:pointer}.select-wrap:after{content:"";right:var(--space-3);border-right:1.6px solid var(--text-muted);border-bottom:1.6px solid var(--text-muted);pointer-events:none;width:7px;height:7px;margin-top:-5px;position:absolute;top:50%;transform:rotate(45deg)}.checkbox{align-items:center;gap:var(--space-2);cursor:pointer;display:inline-flex}.checkbox input{width:16px;height:16px;accent-color:var(--accent);margin:0}.switch{align-items:center;gap:var(--space-2);cursor:pointer;display:inline-flex}.switch input{opacity:0;width:0;height:0;position:absolute}.switch__track{border-radius:var(--radius-pill);background:var(--border-strong);width:34px;height:20px;transition:background var(--transition);flex:none;position:relative}.switch__track:after{content:"";background:var(--surface-raised);width:16px;height:16px;transition:transform var(--transition);border-radius:50%;position:absolute;top:2px;left:2px}.switch input:checked+.switch__track{background:var(--accent)}.switch input:checked+.switch__track:after{transform:translate(14px)}.switch input:focus-visible+.switch__track{outline:2px solid var(--focus-ring);outline-offset:2px}.dropzone{justify-content:center;align-items:center;gap:var(--space-1);text-align:center;padding:var(--space-7) var(--space-5);background:var(--surface-raised);color:var(--text-muted);border:2px dashed var(--border-strong);border-radius:var(--radius-lg);cursor:pointer;transition:border-color var(--transition), background var(--transition), color var(--transition);flex-direction:column;display:flex}.dropzone:hover{border-color:var(--accent);color:var(--text)}.dropzone__title{font-size:var(--text-md);color:var(--text);font-weight:600}.dropzone__hint{font-size:var(--text-sm)}.dropzone.is-dragover{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.dropzone.is-filled{border-style:solid;border-color:var(--status-done);background:var(--status-done-soft)}.dropzone.is-filled .dropzone__title{color:var(--status-done)}.dropzone.is-error{border-color:var(--status-error);background:var(--status-error-soft)}.dropzone.is-error .dropzone__title{color:var(--status-error)}.filerow{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--surface-raised);border:var(--border-width) solid var(--border);border-radius:var(--radius-md);color:var(--text-muted);display:flex}.filerow__name{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.filerow__size{font-size:var(--text-sm);font-variant-numeric:tabular-nums}.badge{align-items:center;gap:var(--space-1);height:22px;padding:0 var(--space-2);font-size:var(--text-xs);letter-spacing:.02em;white-space:nowrap;border-radius:var(--radius-pill);background:var(--status-wait-soft);color:var(--status-wait);font-weight:600;display:inline-flex}.badge .icon{width:12px;height:12px}.badge--run{background:var(--status-run-soft);color:var(--status-run)}.badge--done{background:var(--status-done-soft);color:var(--status-done)}.badge--warn{background:var(--status-warn-soft);color:var(--status-warn)}.badge--error{background:var(--status-error-soft);color:var(--status-error)}.badge .spinner{border-width:1.5px;width:10px;height:10px}.steps{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.step{gap:var(--space-3);padding:var(--space-3) 0;color:var(--text-muted);display:flex}.step+.step{border-top:var(--border-width) solid var(--border)}.step__dot{background:var(--status-wait-soft);width:24px;height:24px;color:var(--status-wait);border-radius:50%;flex:none;place-items:center;display:grid}.step__dot .icon{width:13px;height:13px}.step__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.step__title{font-size:var(--text-base);color:var(--text-muted);font-weight:600}.step__meta{font-size:var(--text-sm);font-variant-numeric:tabular-nums}.step.is-done .step__dot{background:var(--status-done-soft);color:var(--status-done)}.step.is-done .step__title{color:var(--text)}.step.is-active .step__dot{background:var(--status-run-soft);color:var(--status-run)}.step.is-active .step__title{color:var(--text)}.step.is-error .step__dot{background:var(--status-error-soft);color:var(--status-error)}.step.is-error .step__title{color:var(--status-error)}.progress{border-radius:var(--radius-pill);background:var(--surface-sunken);height:6px;overflow:hidden}.progress__bar{border-radius:inherit;background:var(--accent);height:100%;transition:width var(--transition)}.progress--indeterminate .progress__bar{width:35%;animation:1.1s ease-in-out infinite api-slide}@keyframes api-slide{0%{margin-left:-35%}to{margin-left:100%}}.log{font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-loose);background:var(--surface-sunken);color:var(--text);border-radius:var(--radius-md);padding:var(--space-3);max-height:240px;overflow:auto}.log__line{gap:var(--space-3);white-space:pre-wrap;word-break:break-word;display:flex}.log__time{color:var(--text-muted);font-variant-numeric:tabular-nums;flex:none}.log__line--info{color:var(--text)}.log__line--warn{color:var(--status-warn)}.log__line--error{color:var(--status-error)}.spinner{border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;flex:none;width:16px;height:16px;animation:.7s linear infinite api-spin;display:inline-block}.gallery{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.result-card{background:var(--surface-raised);border:var(--border-width) solid var(--border);border-radius:var(--radius-lg);transition:border-color var(--transition);flex-direction:column;display:flex;overflow:hidden}.result-card:hover{border-color:var(--border-strong)}.result-card__preview{aspect-ratio:4/3;background:var(--surface-sunken);color:var(--text-faint);place-items:center;display:grid;overflow:hidden}.result-card__preview img{object-fit:cover;width:100%;height:100%;display:block}.result-card__preview .icon{width:28px;height:28px}.result-card__body{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);display:flex}.result-card__name{min-width:0;font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.note{padding:var(--space-3) var(--space-4);border-left:3px solid var(--status-run);border-radius:var(--radius-sm);background:var(--status-run-soft);color:var(--text)}.note--success{border-left-color:var(--status-done);background:var(--status-done-soft)}.note--warn{border-left-color:var(--status-warn);background:var(--status-warn-soft)}.note--error{border-left-color:var(--status-error);background:var(--status-error-soft)}.empty{align-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-4);text-align:center;color:var(--text-muted);flex-direction:column;display:flex}.empty__icon{color:var(--text-faint)}.empty__icon .icon{width:32px;height:32px}.empty__title{font-size:var(--text-md);color:var(--text);font-weight:600}.skeleton{background:var(--surface-sunken);border-radius:var(--radius-sm);position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg, transparent, var(--surface-raised), transparent);animation:1.3s infinite api-sheen;position:absolute;inset:0;transform:translate(-100%)}@keyframes api-sheen{to{transform:translate(100%)}}.metrics{gap:var(--space-7);flex-wrap:wrap;display:flex}.metric{gap:var(--space-1);flex-direction:column;display:flex}.metric__value{font-size:var(--text-2xl);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--text);font-weight:700;line-height:1}.metric__label{font-size:var(--text-sm);color:var(--text-muted)}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:var(--text-base)}.table th{text-align:left;padding:var(--space-2) var(--space-3);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);border-bottom:var(--border-width) solid var(--border-strong);font-weight:600}.table td{padding:var(--space-3);border-bottom:var(--border-width) solid var(--border)}.table tbody tr:nth-child(2n){background:var(--surface-sunken)}.table .num{text-align:right;font-variant-numeric:tabular-nums}body{background:var(--surface);color:var(--text);font-family:var(--font-ui);margin:0}.brand{font-weight:600;font-size:var(--text-md);color:inherit;text-decoration:none}.topnav{gap:var(--space-4);margin-left:var(--space-4);display:flex}.topnav a{color:var(--text-muted);text-decoration:none}.topnav a:hover,.topnav a.active{color:var(--text)}.topuser{color:var(--text-muted);font-size:var(--text-sm);overflow-wrap:anywhere}.page-title{font-size:var(--text-xl);font-weight:600;line-height:var(--leading-tight);margin:0 0 var(--space-2)}.muted{color:var(--text-muted);font-size:var(--text-sm)}.stack{gap:var(--space-4);flex-direction:column;display:flex}.login{min-height:100vh;padding:var(--space-5) var(--space-4);justify-content:center;align-items:center;display:flex}.login .panel{width:100%;max-width:400px}.or{text-align:center;color:var(--text-muted);font-size:var(--text-sm)}.wide{width:100%}.inline{align-items:center;gap:var(--space-3);display:flex}.centered{justify-content:center;align-items:center;min-height:60vh;display:flex}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}a.btn{text-decoration:none;display:inline-flex}.narrow{width:100%;max-width:640px;margin:0 auto}.page-sub{color:var(--text-muted);font-size:var(--text-md);margin:0}.section-label{margin-bottom:var(--space-2);font-weight:600}.section-hint{color:var(--text-muted);font-size:var(--text-sm);margin-bottom:var(--space-3)}.stack--tight{gap:var(--space-2)}.dropzone--big{padding:var(--space-8) var(--space-5)}.dropzone--small{padding:var(--space-3) var(--space-4)}.actionbar{align-items:center;gap:var(--space-3);padding:var(--space-3) 0;background:var(--surface);border-top:var(--border-width) solid var(--border);flex-wrap:wrap;display:flex;position:sticky;bottom:0}.rejection{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.rejection__name{overflow-wrap:anywhere}.upload{align-items:flex-start;gap:var(--space-2);margin-top:var(--space-3);flex-direction:column;display:flex}.upload .progress{width:100%}.upload-state{justify-content:space-between;gap:var(--space-3);width:100%;font-size:var(--text-sm);color:var(--text-muted);flex-wrap:wrap;display:flex}.upload-state .is-error{color:var(--status-error)}.row{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface-raised);border:var(--border-width) solid var(--border);border-radius:var(--radius-md);color:inherit;text-decoration:none;display:flex}.row:hover{border-color:var(--border-strong)}.row__name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:500;display:inline-block;overflow:hidden}.row__meta{font-size:var(--text-sm);color:var(--text-muted)}.row__text{flex:1;min-width:0}.head-row{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.head-row .page-title{margin:0}.result{gap:var(--space-6);grid-template-columns:minmax(0,340px) minmax(0,1fr);align-items:start;display:grid}.player{aspect-ratio:9/16;background:var(--gray-900);border-radius:var(--radius-lg);object-fit:contain;width:100%;display:block}@media (width<=720px){.result{grid-template-columns:minmax(0,1fr)}.player{max-width:340px;margin:0 auto}}
