:root{--ink:#192235;--muted:#687386;--line:#e1e7ef;--surface:#fff;--canvas:#f6f8fb;--blue:#356fd6;--blue-dark:#285ebd;--blue-soft:#eaf2ff;--coral:#ff775e;--shadow:0 16px 45px #26385814;color:var(--ink);background:#f8fafc;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}button,textarea{font:inherit}button{color:inherit}[hidden]{display:none!important}.app-shell{min-height:100vh}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;justify-content:space-between;align-items:center;height:68px;padding:0 clamp(20px,4vw,64px);display:flex}.brand{color:var(--ink);letter-spacing:-.02em;align-items:center;gap:11px;font-size:18px;font-weight:740;text-decoration:none;display:inline-flex}.brand-mark{color:#fff;background:var(--blue);border-radius:9px;place-items:center;width:34px;height:34px;font:700 12px ui-monospace,monospace;display:grid;box-shadow:0 5px 14px #356fd640}.top-actions,.saved-status,.button{align-items:center;display:flex}.top-actions{gap:8px}.saved-status{color:var(--muted);gap:7px;margin-right:8px;font-size:12px}.saved-status span{background:#2bad72;border-radius:50%;width:7px;height:7px}.saved-status[data-state=working] span{background:#e9a72e}.saved-status[data-state=error] span{background:#dc5b49}.button{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;justify-content:center;gap:7px;height:38px;padding:0 14px;font-size:13px;font-weight:650;transition:border-color .14s,background .14s,transform .14s}.button:hover{transform:translateY(-1px)}.button:focus-visible,.type-switcher button:focus-visible,.zoom-controls button:focus-visible,.export-item:focus-visible,.dialog-close:focus-visible{outline-offset:2px;outline:3px solid #356fd633}.button-quiet{border-color:var(--line);background:#fff}.button-quiet:hover{background:#fafcff;border-color:#c9d4e2}.button-primary{color:#fff;background:var(--blue)}.button-primary:hover{background:var(--blue-dark)}.import-button input{display:none}.intro{justify-content:space-between;align-items:flex-end;gap:30px;width:min(1440px,100% - 48px);margin:0 auto;padding:34px 0 24px;display:flex}.eyebrow{color:var(--blue);text-transform:uppercase;letter-spacing:.12em;align-items:center;gap:6px;margin:0 0 8px;font-size:10px;font-weight:750;display:flex}.intro h1{letter-spacing:-.045em;margin:0;font-size:clamp(27px,3vw,40px);line-height:1.08}.intro p:last-child{color:var(--muted);margin:9px 0 0;font-size:14px}.type-switcher{border:1px solid var(--line);background:#edf1f6;border-radius:11px;padding:4px;display:flex}.type-switcher button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:8px 13px;font-size:12px;font-weight:650}.type-switcher button.active{color:var(--ink);background:#fff;box-shadow:0 2px 8px #202f4a17}.workspace{grid-template-columns:minmax(340px,.82fr) minmax(480px,1.18fr);gap:14px;width:min(1440px,100% - 48px);min-height:calc(100vh - 214px);margin:0 auto 24px;display:grid}.panel{background:var(--surface);border:1px solid var(--line);min-width:0;box-shadow:var(--shadow);border-radius:14px;overflow:hidden}.editor-panel,.preview-panel{flex-direction:column;display:flex}.panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:64px;padding:13px 17px;display:flex}.panel-heading h2{letter-spacing:-.02em;margin:1px 0 0;font-size:15px}.panel-kicker{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:9px;font-weight:750}.line-count{color:var(--muted);font-size:11px}.editor-wrap{background:#fbfcfe;flex:1;grid-template-columns:46px minmax(0,1fr);min-height:460px;display:grid}.line-numbers{color:#a2acba;border-right:1px solid var(--line);-webkit-user-select:none;user-select:none;background:#f5f7fa;flex-direction:column;align-items:flex-end;padding:20px 11px;font:12px/1.72 ui-monospace,SFMono-Regular,Menlo,monospace;display:flex;overflow:hidden}.line-numbers span{min-height:20.64px}.editor-wrap textarea{resize:none;color:#20304a;width:100%;min-width:0;min-height:460px;caret-color:var(--coral);white-space:pre;background:0 0;border:0;outline:0;padding:20px;font:13px/1.72 ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto}.editor-tip{min-height:43px;color:var(--muted);border-top:1px solid var(--line);align-items:center;gap:5px;padding:0 16px;font-size:11px;display:flex}.editor-tip kbd{color:#7a8697;background:#f6f8fa;border:1px solid #d9e0e9;border-radius:4px;padding:2px 5px;font-size:10px}.editor-tip kbd+kbd{margin-right:3px}.tip-divider{background:var(--line);width:1px;height:14px;margin:0 5px}.zoom-controls{border:1px solid var(--line);border-radius:8px;display:flex;overflow:hidden}.zoom-controls button{border:0;border-right:1px solid var(--line);cursor:pointer;background:#fff;place-items:center;min-width:31px;height:30px;display:grid}.zoom-controls button:last-child{border:0}.zoom-controls .zoom-value{width:54px;color:var(--muted);font-size:10px}.canvas-grid{background-color:var(--canvas);background-image:radial-gradient(#ced7e4 .8px,#0000 .8px);background-size:18px 18px;flex:1;place-items:center;min-height:503px;padding:44px;display:grid;position:relative;overflow:auto}.diagram-output{transform-origin:50%;transition:transform .16s}.diagram-output svg{max-width:100%;height:auto;display:block}.loading-state{color:var(--muted);align-items:center;gap:7px;font-size:13px;display:flex}.error-card{color:#8a3329;background:#fff1ee;border:1px solid #ffc8be;border-radius:11px;flex-direction:column;gap:6px;max-width:430px;padding:18px 20px;font-size:12px;display:flex}.export-wrap{position:relative}.export-menu{z-index:20;border:1px solid var(--line);background:#fff;border-radius:11px;min-width:244px;padding:7px;position:absolute;top:calc(100% + 7px);right:0;box-shadow:0 18px 50px #19223529}.export-label{color:var(--muted);text-transform:uppercase;letter-spacing:.09em;padding:5px 7px 8px;font-size:9px;font-weight:750;display:block}.export-item{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;padding:8px;display:flex}.export-item:hover{background:var(--blue-soft)}.export-item:disabled{opacity:.42;cursor:not-allowed}.export-item-icon{width:34px;height:31px;color:var(--blue);background:var(--blue-soft);border-radius:7px;flex:none;place-items:center;font:700 8px ui-monospace,monospace;display:grid}.export-item>span:last-child{flex-direction:column;gap:1px;display:flex}.export-item strong{font-size:12px;font-weight:700}.export-item small{color:var(--muted);font-size:10px}.export-separator{background:var(--line);height:1px;margin:4px -1px}.help-dialog{width:min(680px,100% - 28px);max-height:min(760px,100vh - 28px);color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:16px;padding:0;overflow:hidden;box-shadow:0 28px 90px #18213338}.help-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#19223547}.help-header{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr;align-items:center;gap:13px;padding:24px 56px 20px 26px;display:grid;position:relative}.help-header h2{letter-spacing:-.025em;margin:0;font-size:18px}.help-header p{color:var(--muted);margin:4px 0 0;font-size:12px}.help-icon{width:39px;height:39px;color:var(--blue);background:var(--blue-soft);border-radius:10px;place-items:center;font-weight:800;display:grid}.dialog-close{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;font-size:22px;position:absolute;top:15px;right:15px}.dialog-close:hover{background:#f2f5f9}.help-body{flex-direction:column;gap:18px;max-height:calc(100vh - 130px);padding:22px 26px 26px;display:flex;overflow-y:auto}.help-body section{grid-template-columns:26px 1fr;gap:11px;display:grid}.step-number{width:24px;height:24px;color:var(--blue);background:var(--blue-soft);border-radius:50%;place-items:center;font-size:10px;font-weight:800;display:grid}.help-body h3{margin:2px 0 4px;font-size:13px}.help-body p{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.help-code-grid{grid-template-columns:1fr 1fr;gap:10px;margin-left:37px;display:grid}.help-code-grid>div{border:1px solid var(--line);background:#f6f8fb;border-radius:9px;min-width:0;padding:11px}.help-code-grid span{color:var(--muted);text-transform:uppercase;letter-spacing:.09em;margin-bottom:7px;font-size:8px;font-weight:800;display:block}.help-code-grid pre{color:#32435e;margin:0;font:10px/1.55 ui-monospace,monospace;overflow-x:auto}.marker-list{color:var(--muted);grid-template-columns:34px 1fr 34px 1fr;align-items:center;gap:7px 9px;margin-top:8px;font-size:11px;display:grid}.marker-list code{color:#a74532;text-align:center;background:#fff0ed;border-radius:4px;padding:3px 5px;font:10px ui-monospace,monospace}@media (width<=860px){.saved-status{display:none}.intro{flex-direction:column;align-items:flex-start}.workspace{grid-template-columns:1fr}.editor-wrap,.editor-wrap textarea{min-height:360px}.canvas-grid{min-height:440px}}@media (width<=560px){.topbar{padding:0 14px}.brand{font-size:16px}.import-button{display:none}.button{padding:0 10px}.intro,.workspace{width:calc(100% - 24px)}.intro{padding-top:25px}.canvas-grid{padding:22px}.help-code-grid{grid-template-columns:1fr}.marker-list{grid-template-columns:34px 1fr}}
