.frame-diff{--panel:#ffffff;--line:#d1d5db;--txt:#1a1a1a;--accent:#3b82f6;--accent-strong:#0e3ab3;max-width:70ch;margin:0 auto;padding:1rem 1rem 3rem;color:var(--txt);font-family:system-ui,-apple-system,sans-serif}.frame-diff *{box-sizing:border-box}.frame-diff h1{font-family:Jua,sans-serif;color:var(--accent-strong);font-size:2.25rem;text-align:center;margin:0 0 .75rem}.frame-diff .demo-gif{display:block;width:100%;max-width:480px;height:auto;margin:0 auto 1.5rem;border:1px solid var(--line);border-radius:10px;box-shadow:0 2px 8px #0000000f}.frame-diff p{font-family:ABeeZee,sans-serif;line-height:1.6;margin:0 0 1rem}.frame-diff ul{font-family:ABeeZee,sans-serif;line-height:1.6;margin:0 0 1.25rem;padding-left:1.5rem}.frame-diff li{list-style:disc;margin-bottom:.35rem}.frame-diff a{color:var(--accent);text-decoration:underline;text-decoration-color:#3b82f666;word-break:break-word;transition:color .2s ease}.frame-diff a:hover{color:#1d4ed8;text-decoration-color:currentColor}.frame-diff .scroll{width:100%;max-width:100%;overflow:auto;display:flex;justify-content:center}.frame-diff .drop{display:block;width:100%;border:2px dashed var(--line);border-radius:12px;padding:34px 20px;text-align:center;cursor:pointer;transition:.15s;background:#fff9}.frame-diff .drop.hover{border-color:var(--accent);background:#3b82f614}.frame-diff .drop strong{color:var(--accent-strong)}.frame-diff .drop small{display:block;opacity:.6;margin-top:6px}.frame-diff .drop input{display:none}.frame-diff .status{opacity:.75;font-size:13px;margin:10px 0;min-height:18px}.frame-diff .stage-wrap{position:relative;width:100%;border:1px solid var(--line);border-radius:8px;background:#000;overflow:hidden}.frame-diff .stage-wrap.diff{filter:invert(1)}.frame-diff .stage-wrap img{position:absolute;top:0;left:0;display:block;width:100%;height:auto;max-width:100%;-webkit-user-drag:none;user-select:none;image-rendering:pixelated}.frame-diff .stage-wrap.diff img.top{mix-blend-mode:difference}.frame-diff .stage-wrap.overlay img.top{opacity:.5;mix-blend-mode:normal}.frame-diff .panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 2px 8px #0000000f;padding:14px 16px;margin-top:14px;width:100%}.frame-diff .grab-row{margin-top:12px}.frame-diff .row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.frame-diff .row:last-child{margin-bottom:0}.frame-diff .row .label{width:120px;flex:none;opacity:.75;font-size:13px}.frame-diff .frames{display:flex;gap:6px;flex-wrap:wrap}.frame-diff .frames button{min-width:34px;height:30px;border:1px solid var(--line);background:#f3f4f6;color:var(--txt);border-radius:6px;cursor:pointer;font-size:13px;padding:0 6px}.frame-diff .frames button:hover{border-color:#9ca3af}.frame-diff .frames button.active{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.frame-diff .frames.b button.active{background:#ff9f5a;border-color:#ff9f5a;color:#1a1a1a}.frame-diff input[type=range]{flex:1;min-width:200px;accent-color:var(--accent)}.frame-diff input[type=number]{width:64px;background:#f3f4f6;color:var(--txt);border:1px solid var(--line);border-radius:6px;padding:4px 6px}.frame-diff .val{width:70px;text-align:right;font-variant-numeric:tabular-nums;opacity:.9}.frame-diff .mode-btns button,.frame-diff button.small{padding:5px 12px;border:1px solid var(--line);background:#f3f4f6;color:var(--txt);border-radius:6px;cursor:pointer;font-size:13px}.frame-diff .mode-btns button:hover,.frame-diff button.small:hover{border-color:#9ca3af}.frame-diff button.small:disabled{opacity:.5;cursor:default}.frame-diff .mode-btns button.active{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.frame-diff .panel-head{font-family:ABeeZee,sans-serif;font-size:13px;font-weight:600;line-height:1.4;color:var(--accent-strong);margin:18px 0 10px}.frame-diff .panel-head:first-child{margin-top:0}.frame-diff .muted{opacity:.5;font-weight:400}.frame-diff .hint{opacity:.6;font-size:12px;margin-top:10px;font-family:ABeeZee,sans-serif;line-height:1.5}.frame-diff .tag{display:inline-block;padding:1px 7px;border-radius:5px;font-size:12px;font-weight:600}.frame-diff .tag.a{background:var(--accent);color:#fff}.frame-diff .tag.b{background:#ff9f5a;color:#1a1a1a}.frame-diff #app{display:none;width:100%;align-items:center;flex-direction:column}
