:root{--bg:#f4f5f7;--fg:#1b1f24;--muted:#6b7280;--card:#fff;--line:#d9dde3;--accent:#1d3557;--accent-fg:#fff;--danger:#c0392b;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:-apple-system,BlinkMacSystemFont,PingFang TC,Noto Sans TC,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#111418;--fg:#e8eaed;--muted:#9aa0a6;--card:#1c2026;--line:#2f343b;--accent:#4f8ad6}}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--fg);margin:0}body{overscroll-behavior:none;-webkit-tap-highlight-color:transparent}button{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--fg);border-radius:10px;min-height:44px;padding:10px 14px}button:disabled{opacity:.4}button.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}button.link{color:var(--accent);background:0 0;border:none}.app{flex-direction:column;height:100dvh;display:flex}.bar{padding:calc(env(safe-area-inset-top) + 8px) 16px 8px;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;display:flex}.bar h1{margin:0;font-size:18px}.pages{flex:1;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));align-content:start;gap:12px;padding:16px;display:grid;overflow-y:auto}.empty{text-align:center;color:var(--muted);grid-column:1/-1;margin-top:30vh}.page{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:6px;position:relative}.page img{aspect-ratio:3/4;object-fit:contain;background:#888;border-radius:6px;width:100%;display:block}.page .num{background:var(--accent);color:var(--accent-fg);opacity:.9;text-align:center;border-radius:999px;min-width:24px;height:24px;font-size:13px;line-height:24px;position:absolute;bottom:56px;left:10px}.page-actions{gap:4px;margin-top:6px;display:flex}.page-actions button{flex:1;min-height:36px;padding:4px}.actions{padding:10px 16px calc(env(safe-area-inset-bottom) + 10px);border-top:1px solid var(--line);background:var(--bg);gap:8px;display:flex}.actions button{flex:1}.toast{left:50%;bottom:calc(env(safe-area-inset-bottom) + 80px);color:#fff;background:#000c;border-radius:999px;padding:8px 14px;font-size:14px;position:fixed;transform:translate(-50%)}.seg{border:1px solid var(--line);border-radius:10px;display:flex;overflow:hidden}.seg button{background:var(--card);border:none;border-radius:0;flex:1}.seg button+button{border-left:1px solid var(--line)}.seg button.on{background:var(--accent);color:var(--accent-fg)}.row{gap:8px;display:flex}.row button{flex:1}.page img{cursor:pointer}.editor{color:#fff;background:#000;flex-direction:column;height:100dvh;display:flex}.editor .bar{border-color:#333;gap:12px}.editor .bar .seg{flex:1;max-width:280px}.stage{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}.stage svg{display:block}.quad{fill:#4f8ad626;stroke:#4f8ad6}.handle{fill:#ffffffe6;stroke:#4f8ad6;stroke-width:2px;vector-effect:non-scaling-stroke}.handle.edge{fill:#4f8ad6e6;stroke:#fff}.loupe{pointer-events:none;z-index:10;background:#000;border:3px solid #fff;border-radius:50%;position:fixed;box-shadow:0 2px 12px #0009}.loupe .quad{fill:none}.cross{stroke:#ff3b30;fill:none}.tools{padding:10px 16px calc(env(safe-area-inset-bottom) + 10px);background:#111;flex-direction:column;gap:8px;display:flex}.editor button{color:#fff;background:#222;border-color:#444}.editor .seg button.on,.editor button.primary{background:#4f8ad6;border-color:#4f8ad6}.preview-wrap{flex-direction:column;justify-content:center;align-items:center;gap:8px;height:100%;display:flex}.preview-wrap svg{max-height:calc(100% - 32px)}.table-box{fill:#ff9f0a1f;stroke:#ff9f0a}.hint{color:#aaa;margin:0;font-size:13px}.sheet-backdrop{z-index:20;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);width:100%;max-width:520px;padding:16px 16px calc(env(safe-area-inset-bottom) + 16px);border-radius:16px 16px 0 0;flex-direction:column;gap:12px;display:flex}.sheet h2{margin:0;font-size:17px}.check{align-items:center;gap:8px;min-height:32px;font-size:15px;display:flex}.check input{width:20px;height:20px}.langs{flex-wrap:wrap;gap:4px 16px;padding-left:28px;display:flex}.status{color:var(--muted);margin:0;font-size:14px}.banner{background:var(--card);border:1px solid var(--line);border-radius:10px;margin:10px 16px 0;padding:10px 12px;font-size:14px;line-height:1.5}.banner.ok{border-color:#34c759}.banner .link{min-height:0;padding:0 0 0 6px}.bar-track{background:var(--line);border-radius:3px;height:6px;margin-top:6px;overflow:hidden}.bar-fill{background:var(--accent);height:100%;transition:width .5s}
