:root{--canvas: #F6F9FC;--surface: #FFFFFF;--surface-2:#F6F9FC;--ink: #0A2540;--ink-2: #425466;--ink-3: #8898AA;--line: #E6EBF1;--accent: #635BFF;--accent-deep: #4B45C6;--accent-wash: rgba(99, 91, 255, .06);--accent-line: rgba(99, 91, 255, .22);--warn: #856404;--warn-bg: #FFF8E1;--warn-line: #FFE082;--plate: #0A1F33;--shadow-card: 0 4px 6px -1px rgba(10,37,64,.06), 0 12px 32px -4px rgba(10,37,64,.08);--shadow-sm: 0 1px 2px rgba(10,37,64,.06), 0 2px 8px -2px rgba(10,37,64,.08);--sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--col: min(680px, 100% - 48px);--ease: cubic-bezier(.2, .9, .25, 1);color-scheme:light}:root[data-theme=dark]{--canvas: #0A1523;--surface: #0F1E30;--surface-2:#132539;--ink: #E7EEF6;--ink-2: #9FB2C6;--ink-3: #6B7F94;--line: #223449;--accent: #8B85FF;--accent-deep: #635BFF;--accent-wash: rgba(139, 133, 255, .1);--accent-line: rgba(139, 133, 255, .3);--warn: #E8C77A;--warn-bg: rgba(232, 199, 122, .1);--warn-line: rgba(232, 199, 122, .32);--plate: #060F1A;--shadow-card: 0 4px 6px -1px rgba(0,0,0,.3), 0 16px 40px -8px rgba(0,0,0,.45);--shadow-sm: 0 1px 2px rgba(0,0,0,.3), 0 4px 12px -4px rgba(0,0,0,.4);color-scheme:dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--canvas: #0A1523;--surface: #0F1E30;--surface-2:#132539;--ink: #E7EEF6;--ink-2: #9FB2C6;--ink-3: #6B7F94;--line: #223449;--accent: #8B85FF;--accent-deep: #635BFF;--accent-wash: rgba(139, 133, 255, .1);--accent-line: rgba(139, 133, 255, .3);--warn: #E8C77A;--warn-bg: rgba(232, 199, 122, .1);--warn-line: rgba(232, 199, 122, .32);--plate: #060F1A;--shadow-card: 0 4px 6px -1px rgba(0,0,0,.3), 0 16px 40px -8px rgba(0,0,0,.45);--shadow-sm: 0 1px 2px rgba(0,0,0,.3), 0 4px 12px -4px rgba(0,0,0,.4);color-scheme:dark}}*{box-sizing:border-box;margin:0}html{-webkit-text-size-adjust:100%;overflow-x:clip}body{font-family:var(--sans);font-size:15px;line-height:1.55;color:var(--ink-2);background:var(--canvas);overflow-x:clip;overflow-wrap:break-word;min-height:100vh;-webkit-font-smoothing:antialiased;letter-spacing:-.005em}img,svg,video{display:block;max-width:100%}[hidden]{display:none!important}::selection{background:var(--accent);color:#fff}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line);border-radius:99px;border:3px solid var(--canvas)}*{scrollbar-color:var(--line) transparent;scrollbar-width:thin}.fig{font-variant-numeric:tabular-nums;letter-spacing:-.01em}.u{color:var(--ink-3);font-weight:500;margin-left:3px;font-size:.62em;text-transform:uppercase;letter-spacing:.04em}.skip{position:fixed;left:20px;top:-60px;z-index:50;background:var(--accent);color:#fff;font-weight:600;font-size:13px;padding:9px 16px;text-decoration:none;border-radius:6px;box-shadow:var(--shadow-sm);transition:top .16s var(--ease)}.skip:focus-visible{top:14px}.mast,.sheet,.block,.paper-page{width:var(--col);margin-inline:auto}.mast{position:sticky;top:0;z-index:10;width:100%;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);height:60px;display:flex;align-items:center;gap:20px;padding-inline:max(24px,calc((100% - var(--col)) / 2))}.mast-id{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);margin-right:auto}.mast-mark{width:24px;height:24px;flex:none;background:var(--accent);border-radius:6px;padding:4px;display:grid;place-items:center}.mast-mark svg{width:100%;height:100%;fill:#fff}.mast-name{font-weight:700;font-size:16px;color:var(--ink);letter-spacing:-.03em;line-height:1}.mast-id:hover .mast-name{color:var(--accent)}.mast-note{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ink-2)}.mast-note svg{width:14px;flex:none;fill:none;stroke:var(--accent);stroke-width:1.8}.theme-toggle{width:36px;height:32px;flex:none;display:inline-grid;place-items:center;background:transparent;border:1px solid var(--line);border-radius:6px;color:var(--ink-2);cursor:pointer;padding:0;transition:background-color .14s var(--ease),border-color .14s var(--ease),color .14s var(--ease)}.theme-toggle:hover{background:var(--accent-wash);border-color:var(--accent-line);color:var(--accent)}.theme-toggle svg{width:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.theme-toggle .i-moon{display:none}:root[data-theme=dark] .theme-toggle .i-sun,:root:not([data-theme=light]) .theme-toggle .i-sun{display:none}:root[data-theme=dark] .theme-toggle .i-moon,:root:not([data-theme=light]) .theme-toggle .i-moon{display:block}:root[data-theme=light] .theme-toggle .i-sun{display:block}:root[data-theme=light] .theme-toggle .i-moon{display:none}.hero{background:linear-gradient(135deg,#e8f4fd,#f0ebff,#fdf4ff);padding:64px 24px 96px;text-align:center}:root[data-theme=dark] .hero,:root:not([data-theme=light]) .hero{background:linear-gradient(135deg,#10233a,#17203f,#221a3a)}.hero-badge{display:inline-flex;align-items:center;gap:8px;margin:0 0 20px;padding:0}.hero-badge .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none}.hero-badge span:last-child{font-size:12px;color:var(--ink-2);font-weight:500;letter-spacing:.01em}.hero h1{font-size:clamp(2rem,6vw,3rem);font-weight:700;color:var(--ink);letter-spacing:-.04em;line-height:1.1;margin-bottom:16px;text-wrap:balance}.hero h1 .accent{color:var(--accent)}.hero-sub{font-size:16px;color:var(--ink-2);font-weight:400}.sheet{width:min(680px,100% - 48px);margin-inline:auto;margin-top:-56px;padding-bottom:80px}.run.card{background:var(--surface);border-radius:12px;box-shadow:var(--shadow-card);overflow:hidden;min-width:0}.run.card.is-armed{box-shadow:var(--shadow-card),0 0 0 1px var(--accent-line)}.field-label{display:block;font-size:11px;font-weight:600;color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}.drop{border:2px dashed var(--line);border-radius:8px;margin:24px;padding:48px 32px 36px;text-align:center;background:var(--surface-2);position:relative;transition:border-color .2s var(--ease),background-color .2s var(--ease)}.drop .field-label{position:absolute;left:20px;top:16px;margin:0}.drop input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.drop-glyph{width:48px;height:48px;padding:12px;margin:0 auto 16px;border-radius:12px;background:linear-gradient(135deg,#f0ebff,#e8f4fd);fill:none;stroke:var(--accent);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}:root[data-theme=dark] .drop-glyph,:root:not([data-theme=light]) .drop-glyph{background:linear-gradient(135deg,#23204a,#16283f)}.drop-head{font-size:14px;font-weight:500;color:var(--ink)}.drop-sub{font-size:12px;color:var(--ink-3);margin-top:4px}.drop .btn-ghost{margin:20px auto 0;position:relative;z-index:1}.drop .foot{margin-top:16px}.drop .first-run-note{margin-top:10px;padding-top:10px;border-top:1px solid var(--line);color:var(--accent)}.drop.dragging{border-color:var(--accent);background:var(--accent-wash)}.drop.dragging .drop-glyph{filter:brightness(1.05)}.foot{display:block;font-size:12px;line-height:1.5;color:var(--ink-3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;font-weight:600;font-size:13px;border:none;border-radius:6px;cursor:pointer;padding:0 22px;height:40px;text-decoration:none;letter-spacing:-.01em;transition:background-color .14s var(--ease),color .14s var(--ease),box-shadow .14s var(--ease),transform .06s var(--ease)}.btn svg{width:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .16s var(--ease)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:not(:disabled):active{transform:translateY(1px)}.btn-accent{width:100%;height:44px;margin-top:20px;background:var(--accent);color:#fff;font-size:14px;font-weight:600;box-shadow:0 1px 2px #635bff3d,0 2px 8px -2px #635bff52}.btn-accent:not(:disabled):hover{background:var(--accent-deep)}.btn-accent:not(:disabled):hover svg{transform:translate(3px)}.row-method>.btn-accent{margin-bottom:16px}.btn-ghost{background:var(--accent);color:#fff;height:38px;font-size:13px;box-shadow:0 1px 2px #635bff3d}.btn-ghost:hover{background:var(--accent-deep)}.btn-mini{display:inline-flex;align-items:center;gap:6px;background:none;border:0;cursor:pointer;font-family:inherit;font-weight:500;font-size:12px;color:var(--ink-3);text-decoration:underline;text-underline-offset:3px;padding:4px 0}.btn-mini svg{width:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.btn-mini:hover{color:var(--accent)}.btn-mini:disabled{opacity:.4;cursor:not-allowed}.editor{padding:0 24px}.row{padding-top:20px;margin-top:20px}.row+.row{border-top:1px solid var(--line)}.source-head{display:flex;align-items:center;gap:16px}.source-id{min-width:0;flex:1}#file-name{display:block;font-size:13px;font-weight:500;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#file-meta{display:block;margin-top:2px;font-size:11px;color:var(--ink-3)}.plate{margin-top:16px;position:relative;background:var(--plate);border-radius:8px;border:1px solid var(--line);aspect-ratio:16 / 9;overflow:hidden}.plate video{width:100%;height:100%;object-fit:contain;background:var(--plate)}.plate-cap{position:absolute;left:8px;top:8px;font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:#0a1421a8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:3px 8px;border-radius:4px;pointer-events:none}.plan{display:flex;gap:12px;align-items:center;justify-content:space-between;border:1.5px solid var(--accent);border-radius:8px;background:var(--accent-wash);padding:14px 16px}.plan-body{min-width:0}.plan-head{font-size:13px;font-weight:500;color:var(--ink);line-height:1.3}.plan-note{margin-top:2px;font-size:11px;color:var(--ink-3);line-height:1.4}.plan-stamp{flex:none;width:18px;height:18px;border-radius:50%;background:var(--accent);display:grid;place-items:center;font-size:0;color:transparent}.plan-stamp:after{content:"";width:9px;height:9px;font-size:0;-webkit-mask:no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12l6 6L20 5' fill='none' stroke='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");mask:no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12l6 6L20 5' fill='none' stroke='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background:#fff;white-space:normal}.plan[data-mode=keep]{border-color:#17b26a;background:#17b26a0f}.plan[data-mode=keep] .plan-stamp{background:#17b26a}.plan.tick .plan-head{animation:ripple .42s var(--ease)}@keyframes ripple{0%{opacity:.3;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.switch-row{position:relative;display:flex;align-items:flex-start;gap:14px;margin-top:14px;padding:14px 16px;border:1.5px solid var(--line);border-radius:8px;background:var(--surface-2);cursor:pointer;transition:border-color .14s var(--ease),background-color .14s var(--ease)}.switch-row:hover{border-color:var(--accent-line)}.switch-row.on{border-color:var(--accent);background:var(--accent-wash)}.switch-track{flex:none;margin-top:1px;position:relative;width:40px;height:22px;border-radius:99px;background:var(--line);border:1px solid var(--line);transition:background-color .16s var(--ease),border-color .16s var(--ease)}.switch-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0a25404d;transition:transform .16s var(--ease)}.switch:checked~.switch-track{background:var(--accent);border-color:var(--accent)}.switch:checked~.switch-track .switch-knob{transform:translate(18px)}.switch:focus-visible~.switch-track{outline:2px solid var(--accent);outline-offset:2px}.switch{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}.switch:disabled~.switch-track{opacity:.4}.switch-row:has(.switch:disabled){cursor:not-allowed;opacity:.7}.switch-copy{flex:1;min-width:0}.switch-name{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;font-weight:600;color:var(--ink)}.switch-tag{font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);background:var(--surface);border:1px solid var(--line);border-radius:99px;padding:2px 7px}.switch-row.on .switch-tag{color:var(--accent);border-color:var(--accent-line)}.switch-row small{display:block;margin-top:4px;font-size:11px;line-height:1.5;color:var(--ink-3)}.flag{margin:16px 24px 0;padding:12px 14px;border-radius:8px;font-size:12px;line-height:1.55;position:relative;display:flex;gap:8px}.editor .flag{margin-inline:0}.flag:before{content:"";width:4px;border-radius:2px;flex:none;align-self:stretch}.flag-warn{background:var(--warn-bg);border:1px solid var(--warn-line);color:var(--warn)}.flag-warn:before{background:var(--warn)}.flag-err{background:#dc26260f;border:1px solid rgba(220,38,38,.28);color:#dc2626}.flag-err:before{background:#dc2626}.flag-note{background:var(--accent-wash);border:1px solid var(--accent-line);color:var(--ink-2)}.flag-note:before{background:var(--accent)}.flag b{color:var(--ink);font-weight:600}.status{margin-top:20px}.status-line{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}#status-text{font-size:13px;color:var(--ink-2)}#progress-text{font-size:13px;font-weight:600;color:var(--accent)}progress{appearance:none;-webkit-appearance:none;width:100%;height:6px;display:block;border:none;border-radius:99px;background:var(--line);overflow:hidden}progress::-webkit-progress-bar{background:var(--line);border-radius:99px}progress::-webkit-progress-value{background:linear-gradient(90deg,#635bff,#8b5cf6);border-radius:99px}progress::-moz-progress-bar{background:linear-gradient(90deg,#635bff,#8b5cf6);border-radius:99px}progress:indeterminate{background:linear-gradient(90deg,var(--line) 40%,var(--accent-line) 50%,var(--line) 60%) 0 / 250% 100%;animation:slide 1.2s linear infinite}@keyframes slide{to{background-position:-250% 0}}.status-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px}.result{border-top:1px solid var(--line);padding:24px;position:relative}.result .perf{display:none}.result .flag{margin-inline:0}.result .field-label{margin-bottom:8px}.determination{font-size:12px;color:var(--ink-3);line-height:1.5;margin-bottom:16px}.determination b{display:inline-block;margin-right:8px;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#17b26a;background:#17b26a1a;border:1px solid rgba(23,178,106,.28);border-radius:99px;padding:2px 8px}.ratio{display:none}.verdict{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:20px;align-items:stretch}.verdict-cell{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.verdict-cell:last-of-type{background:var(--accent-wash);border-color:var(--accent-line)}.verdict .k{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.verdict .fig{font-size:20px;font-weight:700;color:var(--ink);line-height:1;letter-spacing:-.02em}.verdict-arrow{display:none}.verdict-cell:last-of-type .k{color:var(--accent)}.delta{font-weight:700;font-size:20px;color:var(--accent);line-height:1;letter-spacing:-.02em}.result .plate{margin-bottom:20px}.result-actions{display:flex;gap:10px}.result-actions .btn{margin-top:0;height:44px}.result-actions .btn-accent{flex:1;width:auto}.result-actions .btn-ghost{flex:none;padding-inline:18px}#result-note{margin-top:14px;font-size:12px;color:var(--ink-3)}#result-tip{margin-top:14px}.sleeve-foot{display:flex;gap:10px;align-items:flex-start;border-top:1px solid var(--line);margin:0;padding:16px 24px 20px;font-size:11px;line-height:1.55;color:var(--ink-3)}.sleeve-foot svg{width:14px;flex:none;margin-top:1px;fill:none;stroke:var(--accent);stroke-width:1.8}.block{width:min(680px,100% - 48px);margin:0 auto 56px;border-top:1px solid var(--line);padding-top:28px;text-align:center}.block-note{font-size:12px;color:var(--ink-3);margin-bottom:12px}.block-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 8px}.block-nav a{padding:6px 12px;text-decoration:none;border-radius:6px;font-size:12px;font-weight:500;color:var(--ink-2)}.block-nav a:hover{color:var(--accent);background:var(--accent-wash)}.paper-page{width:min(680px,100% - 48px);padding:56px 0 8px}.back{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--accent);text-decoration:none}.back svg{width:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.back:hover{text-decoration:underline;text-underline-offset:3px}.paper-page h1{margin-top:20px;font-size:clamp(1.9rem,5vw,2.6rem);font-weight:700;color:var(--ink);letter-spacing:-.04em;line-height:1.1}.paper-page .lede{margin-top:14px;font-size:17px;line-height:1.6;color:var(--ink-2);max-width:60ch}.paper-page .updated{margin-top:10px;font-size:12px;color:var(--ink-3)}.paper-page h2{margin-top:40px;font-size:1.15rem;font-weight:600;color:var(--ink);letter-spacing:-.02em}.paper-page p{margin-top:12px;line-height:1.7;color:var(--ink-2);max-width:64ch}.paper-page ul{margin-top:12px;padding-left:22px;max-width:64ch}.paper-page li{margin-top:8px;line-height:1.65;color:var(--ink-2)}.paper-page li::marker{color:var(--accent)}.paper-page a{color:var(--accent);text-underline-offset:3px}.paper-page strong{font-weight:600;color:var(--ink)}.paper-page code{font-size:.88em;background:var(--surface-2);border:1px solid var(--line);border-radius:4px;padding:1px 5px}.editor:not([hidden]),.result:not([hidden]){animation:reveal .4s var(--ease) both}@keyframes reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;transition-duration:1ms!important}}@media(max-width:720px){.mast{gap:12px}.mast-note{display:none}}@media(max-width:560px){.hero{padding:48px 20px 88px}.drop{margin:16px;padding:40px 20px 28px}.editor{padding:0 16px}.result{padding:20px 16px}.verdict{grid-template-columns:1fr}.source-head{flex-wrap:wrap}}
