:root{--bg:#f2f2f7;--card:#fff;--label:#000;--label2:#3c3c4399;--label3:#3c3c434d;--sep:#3c3c432e;--fill:#7878801f;--fill2:#78788033;--accent:#08f;--green:#34c759;--orange:#ff9500;--red:#ff3b30;--roll-bg:#fff;--roll-row:#78788012;--key-white:#fbfbfd;--key-black:#2c2c2e;--shadow:0 10px 40px #0000001a, 0 1px 3px #0000000f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#000;--card:#1c1c1e;--label:#fff;--label2:#ebebf599;--label3:#ebebf54d;--sep:#5454588c;--fill:#7878803d;--fill2:#7878805c;--accent:#0a91ff;--green:#30d158;--orange:#ff9f0a;--red:#ff453a;--roll-bg:#0c0c0e;--roll-row:#7878801a;--key-white:#d8d8dc;--key-black:#000;--shadow:0 10px 40px #00000080, 0 1px 3px #0000004d}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--label);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,system-ui,sans-serif;font-size:15px}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}button:disabled{opacity:.4;cursor:default}.app{flex-direction:column;height:100%;display:flex}.top{border-bottom:1px solid var(--sep);background:var(--card);align-items:center;gap:14px;padding:10px 16px;display:flex}.brand{font-size:19px;font-weight:700}.file-name{min-width:0;color:var(--label2);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.btn{background:var(--accent);color:#fff;white-space:nowrap;border-radius:18px;align-items:center;gap:7px;height:36px;padding:0 16px;font-weight:600;transition:transform .2s cubic-bezier(.3,1.6,.5,1);display:inline-flex}.btn:active{transform:scale(.95)}.btn.secondary{background:var(--fill);color:var(--accent)}.btn svg,.icon-btn svg{width:18px;height:18px}.seg{background:var(--fill);border-radius:10px;padding:2px;display:inline-flex}.seg button{height:30px;color:var(--label2);white-space:nowrap;border-radius:8px;padding:0 12px;font-size:13px;font-weight:500}.seg button.on{background:var(--card);color:var(--label);box-shadow:0 1px 4px #0000001f}.seg.small button{height:26px;padding:0 10px}.seg .hand-R.on{color:var(--accent)}.seg .hand-L.on{color:var(--orange)}main{flex:1;grid-template-columns:1fr;min-height:0;display:grid}main.with-pages{grid-template-columns:minmax(280px,34%) 1fr}.stage{flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.roll{touch-action:none;cursor:grab;flex:1;width:100%;min-height:0;display:block}.roll:active{cursor:grabbing}.transport{border-top:1px solid var(--sep);background:var(--card);flex-wrap:wrap;align-items:center;gap:12px 16px;padding:10px 16px;display:flex}.play{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.play svg{width:22px;height:22px}.icon-btn{width:34px;height:34px;color:var(--label2);border-radius:50%;place-items:center;display:grid}.icon-btn:hover{background:var(--fill)}.clock{font-variant-numeric:tabular-nums;min-width:170px;font-weight:600}.clock .dim{color:var(--label3)}.clock .bar{color:var(--label2);margin-left:10px;font-size:13px;font-weight:500}.group{align-items:center;gap:8px;display:flex}.cap{color:var(--label2);font-size:13px}.val{font-variant-numeric:tabular-nums;width:38px;font-size:13px}input[type=range]{width:110px;accent-color:var(--accent)}.stats{color:var(--label3);font-size:13px}.empty{text-align:center;flex-direction:column;align-items:center;gap:10px;max-width:440px;margin:auto;padding:24px;display:flex}.empty .hero{width:72px;height:72px;color:var(--label3)}.empty .title{font-size:22px;font-weight:700}.empty .sub{color:var(--label2);line-height:1.4}.empty .hint{color:var(--label3);font-size:13px;line-height:1.4}.empty .row{gap:10px;margin-top:8px;display:flex}.error{color:var(--red);white-space:pre-wrap;font-size:14px;line-height:1.4}.error.soft{color:var(--orange)}.spinner{border:3px solid var(--fill2);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.toast{background:var(--card);max-width:80%;color:var(--red);box-shadow:var(--shadow);border-radius:12px;padding:10px 16px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.pages{border-right:1px solid var(--sep);min-height:0;padding:0 12px 16px;overflow-y:auto}.pages-head{z-index:1;background:var(--bg);color:var(--label2);justify-content:space-between;align-items:center;gap:8px;padding:10px 2px;font-size:13px;display:flex;position:sticky;top:0}.check{cursor:pointer;align-items:center;gap:6px;display:flex}.page{background:var(--card);box-shadow:var(--shadow);border-radius:12px;outline:2px solid #0000;margin-bottom:14px;transition:outline-color .2s;overflow:hidden}.page.current{outline-color:var(--accent)}.page-bar{align-items:center;gap:10px;padding:8px 12px;font-size:13px;font-weight:600;display:flex}.status{color:var(--label2);flex:1;font-weight:500}.status.done{color:var(--green)}.status.error{color:var(--red)}.status.running{color:var(--accent)}.page img{background:#fff;width:100%;display:block}.page-error{white-space:pre-wrap;color:var(--red);margin:0;padding:8px 12px;font-size:11px}.link{color:var(--accent);font-size:13px;font-weight:600}.link.block{margin:6px 2px;display:block}.drop{border:3px dashed var(--accent);color:var(--accent);background:color-mix(in srgb, var(--bg) 85%, transparent);pointer-events:none;border-radius:20px;place-items:center;font-size:24px;font-weight:700;display:grid;position:fixed;inset:12px}@media (width<=800px){.top .btn .label{display:none}main.with-pages{grid-template-rows:40% 1fr;grid-template-columns:1fr}.pages{border-right:0;border-bottom:1px solid var(--sep)}.top .seg{display:none}.file-name{visibility:hidden}.clock{min-width:0}}
