:root{--bg: #0d1117;--panel: #161b22;--line: #21262d;--ink: #e6edf3;--muted: #8b949e;--accent: #2f81f7;--accent2: #238636}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 -apple-system,Segoe UI,Roboto,sans-serif;height:100vh;display:flex;flex-direction:column}#topbar{display:flex;align-items:baseline;gap:14px;padding:12px 18px;border-bottom:1px solid var(--line)}.brand{font-weight:700;font-size:18px}.tagline{color:var(--muted);font-size:12px}.ver{margin-left:auto;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}#app{flex:1;display:flex;min-height:0}#toolbar{width:230px;min-width:180px;max-width:460px;padding:14px;border-right:1px solid var(--line);overflow-y:auto;background:var(--panel);flex-shrink:0}#resizer{width:6px;cursor:col-resize;background:transparent;flex-shrink:0}#resizer:hover,#resizer.dragging{background:var(--accent)}#text-panel .actions button.on{background:var(--accent);border-color:var(--accent);color:#fff}.section-label{text-transform:uppercase;letter-spacing:.6px;font-size:10px;color:var(--muted);margin:14px 0 6px}.section-label:first-child{margin-top:0}.tool-group{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.tool{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:#21262d;border:1px solid #30363d;color:var(--ink);padding:7px 2px;border-radius:8px;cursor:pointer}.tool .ic{font-size:16px;line-height:1}.tool .lbl{font-size:9.5px;color:var(--muted)}.tool:hover{border-color:var(--accent)}.tool.active{background:var(--accent);border-color:var(--accent)}.tool.active .lbl{color:#fff}.hint{font-size:11px;color:var(--muted);line-height:1.45;margin:8px 0;padding:8px 10px;background:#0d1117;border:1px solid var(--line);border-radius:8px}.hint b{color:var(--ink)}.row{display:flex;align-items:center;gap:8px;margin:8px 0}.row label{width:78px;flex:none;color:var(--muted);font-size:12px;white-space:nowrap}.row input[type=range]{flex:1}.row select,.row input[type=color]{flex:1;background:#0d1117;color:var(--ink);border:1px solid #30363d;border-radius:6px;padding:4px}.actions{display:flex;gap:6px;margin:12px 0}.actions button{flex:1;background:#21262d;border:1px solid #30363d;color:var(--ink);padding:7px;border-radius:6px;cursor:pointer}.actions button:disabled{opacity:.4;cursor:default}details{margin:12px 0;border:1px solid var(--line);border-radius:8px;padding:8px}summary{cursor:pointer;font-weight:600}.chk{display:flex;align-items:center;gap:6px;margin:8px 0;color:var(--muted)}.export{margin-top:16px;border-top:1px solid var(--line);padding-top:14px;display:grid;gap:8px}.export button{width:100%;padding:9px;border-radius:8px;border:1px solid #30363d;background:#21262d;color:var(--ink);cursor:pointer}.export button.primary{background:var(--accent2);border-color:var(--accent2);font-weight:600}#stage{flex:1;position:relative;display:flex;overflow:auto;padding:24px}#dropzone{margin:auto;width:min(680px,90%);border:2px dashed #30363d;border-radius:16px;padding:56px 24px;text-align:center}#dropzone.drag{border-color:var(--accent);background:#2f81f714}.dz-buttons{display:flex;gap:10px;justify-content:center;margin-top:16px}.dz-buttons button{padding:10px 16px;border-radius:8px;border:1px solid #30363d;background:#21262d;color:var(--ink);cursor:pointer}#canvas-wrap{margin:auto;box-shadow:0 8px 40px #00000080}#toast{position:fixed;bottom:18px;left:50%;transform:translate(-50%);background:#21262d;border:1px solid var(--line);padding:8px 14px;border-radius:8px;opacity:0;transition:opacity .2s;pointer-events:none}#toast.show{opacity:1}#zoombar{position:fixed;bottom:16px;right:16px;display:flex;align-items:center;gap:4px;z-index:6;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:4px;box-shadow:0 4px 16px #0006}#zoombar button{background:#21262d;border:1px solid #30363d;color:var(--ink);min-width:30px;height:28px;border-radius:6px;cursor:pointer}#zoombar button:hover{border-color:var(--accent)}#zoom-level{min-width:46px;text-align:center;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}button.wide{width:100%;padding:9px;border-radius:8px;border:1px solid #30363d;background:#21262d;color:var(--ink);cursor:pointer;margin-top:4px}button.wide:hover{border-color:var(--accent)}#beautify-panel{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}#beautify-panel .section-label{margin-top:0}#ocr-panel{position:fixed;top:80px;right:24px;width:320px;max-height:70%;display:flex;flex-direction:column;z-index:7;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 48px #0009;overflow:hidden}#ocr-panel header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line);font-weight:600}#ocr-panel #ocr-close{background:none;border:none;color:var(--muted);font-size:20px;cursor:pointer}#ocr-text{flex:1;min-height:180px;resize:none;border:none;background:#0d1117;color:var(--ink);padding:12px;font:13px/1.5 ui-monospace,Menlo,monospace}#ocr-panel footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;border-top:1px solid var(--line)}#ocr-status{color:var(--muted);font-size:12px}#ocr-panel footer button.primary{background:var(--accent2);border:1px solid var(--accent2);color:#fff;padding:7px 14px;border-radius:8px;cursor:pointer}
