:root{color-scheme:light dark;--bg: #f6f7f9;--fg: #111827;--card: #ffffff;--line: #e5e7eb}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,system-ui,sans-serif;background:var(--bg);color:var(--fg)}.app{display:flex;flex-direction:column;height:100%}header{padding:calc(env(safe-area-inset-top) + 14px) 16px 4px}header h1{margin:0;font-size:20px}header p{margin:2px 0 0;font-size:13px;opacity:.6}.bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:8px 16px 12px}.btn{font-size:16px;padding:10px 16px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--fg);cursor:pointer}.btn:disabled{opacity:.4;cursor:default}.badge{font-size:12px;padding:4px 10px;border-radius:999px;background:#e0edff;color:#1e40af}.stage{flex:1;overflow:auto;padding:16px;display:flex;align-items:center;justify-content:center}.diagram{width:100%;display:flex;justify-content:center}.diagram svg{max-width:100%;height:auto}.hint{text-align:center;opacity:.6;font-size:16px;max-width:300px;line-height:1.5}.error{align-self:stretch;background:#fff1f2;border:1px solid #fecdd3;color:#9f1239;padding:12px 16px;border-radius:12px}.error pre{white-space:pre-wrap;margin:6px 0 0;font-size:12px}.paste{border-top:1px solid var(--line);background:var(--card);padding:8px 16px calc(env(safe-area-inset-bottom) + 12px)}.paste summary{cursor:pointer;font-size:14px;padding:6px 0}.paste textarea{width:100%;min-height:120px;margin-top:6px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:13px;border:1px solid var(--line);border-radius:10px;padding:10px;resize:vertical}
