.CodeMirror{font-family:monospace;height:300px;color:#000;direction:ltr}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid black;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0!important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor .CodeMirror-line::selection,.cm-fat-cursor .CodeMirror-line>span::selection,.cm-fat-cursor .CodeMirror-line>span>span::selection{background:transparent}.cm-fat-cursor .CodeMirror-line::-moz-selection,.cm-fat-cursor .CodeMirror-line>span::-moz-selection,.cm-fat-cursor .CodeMirror-line>span>span::-moz-selection{background:transparent}.cm-fat-cursor{caret-color:transparent}@-moz-keyframes blink{50%{background-color:transparent}}@-webkit-keyframes blink{50%{background-color:transparent}}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;left:0;right:0;top:-50px;bottom:0;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-variable-3,.cm-s-default .cm-type{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-s-default .cm-error,.cm-invalidchar{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:#ff96004d}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:#fff}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-50px;margin-right:-50px;padding-bottom:50px;height:100%;outline:none;position:relative;z-index:0}.CodeMirror-sizer{position:relative;border-right:50px solid transparent}.CodeMirror-vscrollbar,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{position:absolute;z-index:6;display:none;outline:none}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-50px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:none!important;border:none!important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:transparent;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;padding:.1px}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:none}.CodeMirror-scroll,.CodeMirror-sizer,.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber{-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute;pointer-events:none}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}div.CodeMirror-dragcursors,.CodeMirror-focused div.CodeMirror-cursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:#ff06}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:""}span.CodeMirror-selectedtext{background:none}.CodeMirror-hints{position:absolute;z-index:10;overflow:hidden;list-style:none;margin:0;padding:2px;-webkit-box-shadow:2px 3px 5px rgba(0,0,0,.2);-moz-box-shadow:2px 3px 5px rgba(0,0,0,.2);box-shadow:2px 3px 5px #0003;border-radius:3px;border:1px solid silver;background:#fff;font-size:90%;font-family:monospace;max-height:20em;overflow-y:auto;box-sizing:border-box}.CodeMirror-hint{margin:0;padding:0 4px;border-radius:2px;white-space:pre;color:#000;cursor:pointer}li.CodeMirror-hint-active{background:#08f;color:#fff}:root{--bg: #ffffff;--bg2: #f5f5f5;--bg3: #e8e8e8;--sf: #d4d4d4;--sf2: #a0a0a0;--tx: #1a1a1a;--tx2: #666666;--ac: #7c3aed;--ac-hover: #6d28d9;--ac-tx: #ffffff;--er: #ef4444;--card-bs: 0 2px 12px rgba(0,0,0,.08)}[data-ui-theme=dark]{--bg: #0f1117;--bg2: #1a1d27;--bg3: #252836;--sf: #2d3140;--sf2: #6b7280;--tx: #e5e7eb;--tx2: #9ca3af;--ac: #8b5cf6;--ac-hover: #7c3aed;--ac-tx: #fff}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,system-ui,sans-serif;background:var(--bg);color:var(--tx)}#root{height:100%;background:var(--bg)}.app{display:flex;flex-direction:column;height:100dvh;overflow:hidden;padding-top:env(safe-area-inset-top,0px)}.topbar{margin-top:0}.topbar{display:flex;align-items:center;height:52px;padding:0 12px;background:var(--bg);border-bottom:1px solid var(--sf);flex-shrink:0}.topbar-left{display:flex;align-items:center;gap:8px;flex:1}.topbar-right{display:flex;align-items:center;gap:8px}.logo-icon{flex-shrink:0}.logo-text{font-size:17px;color:var(--tx);white-space:nowrap;font-weight:700}.icon-btn{background:transparent;border:none;color:var(--tx2);cursor:pointer;width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .12s}.icon-btn:hover{background:var(--bg2);color:var(--tx)}.view-toggle{display:flex;gap:0;background:var(--bg2);border-radius:8px;padding:2px}.vt-btn{background:transparent;border:none;color:var(--tx2);font-size:13px;font-weight:500;padding:6px 16px;border-radius:6px;cursor:pointer;transition:all .12s}.vt-btn.active{background:var(--ac);color:var(--ac-tx);box-shadow:0 1px 3px #0000001a}.vt-btn:hover:not(.active){color:var(--tx)}.main{display:flex;flex:1;min-height:0}.left-panel{width:50%;min-width:320px;max-width:50%;display:flex;flex-direction:column;background:var(--bg);border-right:1px solid var(--sf);position:relative}.editor-card{flex:1;display:flex;flex-direction:column;min-height:0;margin:8px;border:1px solid var(--sf);border-radius:12px;background:var(--bg);overflow:hidden;box-shadow:var(--card-bs)}.editor-toolbar{display:flex;align-items:center;justify-content:space-between;height:40px;padding:0 6px;background:var(--bg2);border-bottom:1px solid var(--sf);flex-shrink:0}.toolbar-tabs{display:flex;align-items:center;gap:4px}.tb-tab{display:inline-flex;align-items:center;gap:4px;background:transparent;border:none;color:var(--tx2);cursor:pointer;font-size:13px;font-weight:500;padding:6px 10px;border-radius:6px;transition:all .12s}.tb-tab:hover{background:var(--bg3);color:var(--tx)}.tb-tab.active{background:var(--ac);color:var(--ac-tx);box-shadow:0 1px 2px #0000000f}.tb-docs{display:inline-flex;align-items:center;gap:4px;background:transparent;border:none;color:var(--tx2);cursor:pointer;text-decoration:none;font-size:12px;font-weight:500;padding:6px 8px;border-radius:6px;transition:all .12s}.tb-docs:hover{background:var(--bg3);color:var(--tx)}.editor-body{flex:1;display:flex;min-height:0}.editor-pane{flex:1;min-height:0}.editor-pane .CodeMirror{height:100%!important}.editor-pane .CodeMirror-scroll{overflow-x:auto!important;overflow-y:auto!important}.editor-pane .CodeMirror-sizer{min-width:100%!important}.editor-pane .CodeMirror-hscrollbar{display:block!important;min-height:8px!important}.sample-section{flex-shrink:0;border-top:1px solid var(--sf)}.sample-header{padding:10px 14px;font-size:13px;font-weight:600;color:var(--tx);-webkit-user-select:none;user-select:none}.sample-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:0 10px 10px}.sample-item{background:var(--bg2);border:1px solid var(--sf);border-radius:8px;padding:8px 2px;text-align:center;font-size:11px;font-weight:500;cursor:pointer;transition:all .12s;color:var(--tx2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sample-item:hover{border-color:var(--ac);color:var(--ac)}.sample-item:active{transform:scale(.96)}.actions-wrap{display:flex;flex-wrap:wrap;gap:4px;padding:0 10px 10px}.act-btn{flex:1;min-width:60px;background:var(--bg2);border:1px solid var(--sf);border-radius:8px;padding:8px 4px;font-size:11px;font-weight:500;cursor:pointer;color:var(--tx2);text-align:center;transition:all .12s;white-space:nowrap}.act-btn:hover{border-color:var(--ac);color:var(--ac)}.act-btn:active{transform:scale(.97)}.act-btn.primary{background:var(--ac);color:var(--ac-tx);border-color:var(--ac)}.splitter{width:4px;cursor:col-resize;flex-shrink:0;background:#f5f5f5;transition:background .12s}.splitter:hover,.splitter.active{background:var(--ac)}.samples-panel{flex:1;overflow-y:auto;padding:8px 12px}.sample-group{margin-bottom:10px}.sample-group-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--sf2);padding:6px 0 4px}.sample-pills{display:flex;flex-wrap:wrap;gap:4px}.sample-pill{padding:5px 12px;font-size:12px;font-weight:500;background:var(--bg2);border:1px solid var(--sf);border-radius:20px;cursor:pointer;color:var(--tx2);transition:all .12s;white-space:nowrap}.sample-pill:hover{border-color:var(--ac);color:var(--ac)}.sample-pill.selected{background:var(--ac);border-color:var(--ac);color:var(--ac-tx)}.doc-link{display:inline-flex;align-items:center;text-decoration:none}.docs-intro{font-size:13px;color:var(--tx2);line-height:1.5;margin-bottom:12px;padding:0 2px}.docs-list{display:flex;flex-direction:column;gap:4px}.doc-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--bg2);border:1px solid var(--sf);border-radius:8px;color:var(--tx2);text-decoration:none;font-size:13px;font-weight:500;transition:all .12s}.doc-row:hover{border-color:var(--ac);color:var(--ac);background:var(--bg)}.doc-row:active{transform:scale(.98)}.panel-overlay{position:absolute;left:8px;right:8px;bottom:8px;z-index:20;border-radius:12px;background:var(--bg);border:1px solid var(--sf);box-shadow:0 -4px 24px #00000026;max-height:45vh;overflow-y:auto;display:flex;flex-direction:column}.panel-overlay-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;font-size:14px;font-weight:600;color:var(--tx);background:var(--bg);border-radius:12px 12px 0 0;border-bottom:1px solid var(--sf);flex-shrink:0;cursor:pointer;-webkit-user-select:none;user-select:none}.panel-overlay-header:hover{background:var(--bg2)}.panel-overlay-close{background:none;border:none;color:var(--sf2);cursor:pointer;font-size:18px;width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center}.panel-overlay-close:hover{background:var(--sf);color:var(--tx)}.panel-overlay-body{padding:8px 10px 16px;overflow-y:auto}.sample-category{margin-bottom:6px}.sample-cat-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--sf2);padding:8px 4px 4px}.sample-cat-item{padding:8px 10px;font-size:13px;color:var(--tx2);cursor:pointer;border-radius:6px;transition:all .1s}.sample-cat-item:hover{background:var(--bg2);color:var(--tx)}.right-panel{flex:1;display:flex;min-width:0;background:var(--bg2)}.pv{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;min-height:0}.pv-inner{transform-origin:center center;display:flex;align-items:center;justify-content:center}#preview{max-width:none}#preview svg{max-width:none;height:auto;display:block}.pv-placeholder{color:var(--sf2);font-size:14px}.pv-ptz{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;cursor:grab;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.pv:active .pv-ptz{cursor:grabbing}.pv-overlay{position:absolute;display:flex;align-items:center;gap:2px;background:var(--bg);border:1px solid var(--sf);border-radius:10px;padding:3px;box-shadow:0 2px 8px #00000014;z-index:3}.pv-tl{top:12px;left:12px}.pv-br{bottom:12px;right:12px}.pv-exit{top:12px;right:12px;z-index:60}.pv-btn-sm{background:transparent;border:none;color:var(--tx2);cursor:pointer;width:30px;height:30px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .12s;font-size:15px;font-weight:600}.pv-btn-sm:hover{background:var(--bg2);color:var(--tx)}.pv-sep{width:1px;height:14px;background:var(--sf);margin:0 2px}.pv-version{font-size:11px;color:var(--sf2);padding:0 6px;-webkit-user-select:none;user-select:none;font-weight:500}.snackbar{position:fixed;bottom:70px;left:50%;transform:translate(-50%);background:#1f2937;color:#fff;padding:10px 20px;border-radius:8px;font-size:13px;z-index:200;opacity:0;transition:opacity .3s;pointer-events:none}.snackbar.show{opacity:1}.desktop-actions{position:relative}.da-btn{font-size:12px!important;padding:6px 12px!important;min-width:auto!important}.da-dropdown{position:absolute;top:100%;right:0;z-index:100;background:var(--bg);border:1px solid var(--sf);border-radius:8px;box-shadow:0 4px 16px #0000001f;min-width:150px;padding:4px;margin-top:4px}.da-item{display:flex;align-items:center;gap:8px;width:100%;background:none;border:none;padding:8px 10px;font-size:13px;color:var(--tx2);cursor:pointer;border-radius:6px}.da-item:hover{background:var(--bg2);color:var(--tx)}.burger-wrap{position:relative;display:flex;align-items:center;margin-right:4px}.burger-btn{background:transparent;border:none;color:var(--tx2);cursor:pointer;width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .12s}.burger-btn:hover{background:var(--bg2);color:var(--tx)}.burger-dropdown{position:absolute;top:100%;left:0;z-index:100;background:var(--bg);border:1px solid var(--sf);border-radius:10px;box-shadow:0 4px 20px #00000024;min-width:200px;padding:6px;margin-top:4px}.bd-section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--sf2);padding:8px 10px 4px}.bd-item{display:flex;align-items:center;gap:8px;width:100%;background:none;border:none;padding:8px 10px;font-size:13px;color:var(--tx2);cursor:pointer;border-radius:6px;text-decoration:none}.bd-item:hover{background:var(--bg2);color:var(--tx)}.bd-sep{height:1px;background:var(--sf);margin:4px 8px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0006;display:flex;align-items:center;justify-content:center}.modal{background:var(--bg);border:1px solid var(--sf);border-radius:14px;box-shadow:0 8px 32px #0003;width:360px;max-width:90vw;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--sf)}.modal-title{font-size:15px;font-weight:600;color:var(--tx)}.modal-close{background:none;border:none;color:var(--sf2);cursor:pointer;width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:var(--bg2);color:var(--tx)}.modal-body{padding:24px 20px;text-align:center}.about-logo{margin-bottom:12px}.about-name{font-size:20px;font-weight:700;color:var(--tx);margin-bottom:8px}.about-desc{font-size:13px;color:var(--tx2);line-height:1.6;margin-bottom:16px}.about-meta{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--sf2)}.about-meta a{color:var(--ac);text-decoration:none}.about-meta a:hover{text-decoration:underline}.auth-btn-wrap{display:flex;align-items:center;margin-left:6px}.cl-userButtonBox{scale:.88}.cl-userButtonPopoverCard{z-index:300!important}.loading-screen{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--bg)}.loading-spinner{width:28px;height:28px;border:3px solid var(--sf);border-top-color:#7c3aed;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.landing{min-height:100dvh;display:flex;flex-direction:column;background:var(--bg);position:relative;overflow-y:auto;-webkit-overflow-scrolling:touch}.landing-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background:radial-gradient(ellipse at 50% 0%,#7c3aed10 0%,transparent 60%);pointer-events:none}.landing-header{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:16px 24px;width:100%;max-width:1080px;margin:0 auto;align-self:center}.lh-left{display:flex;align-items:center;gap:10px}.lh-name{font-size:20px;font-weight:700;color:var(--tx)}.lh-signin{background:var(--ac);color:#fff;border:none;border-radius:8px;padding:8px 20px;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .15s}.lh-signin:hover{opacity:.85}.lh-setup-hint{font-size:12px;color:var(--sf2);background:var(--bg2);padding:6px 14px;border-radius:8px;border:1px solid var(--sf)}.lh-setup-hint code{font-size:11px;background:var(--bg);padding:2px 6px;border-radius:4px}.landing-main{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;padding:40px 24px 60px;width:100%;max-width:1080px;margin:0 auto;align-self:center}.landing-hero{text-align:center;width:100%;max-width:640px}.lh-badge{display:inline-block;font-size:12px;font-weight:600;color:#7c3aed;background:#7c3aed15;border-radius:20px;padding:4px 14px;margin-bottom:20px;letter-spacing:.3px}.lh-title{font-size:clamp(32px,6vw,52px);font-weight:800;line-height:1.15;color:var(--tx);margin-bottom:16px}.lh-gradient{background:linear-gradient(135deg,#7c3aed,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.lh-sub{font-size:15px;color:var(--tx2);line-height:1.6;margin-bottom:28px;max-width:480px;margin-inline:auto}.lh-actions{display:flex;gap:12px;justify-content:center}.lh-cta{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;border:none;border-radius:10px;padding:14px 28px;font-size:16px;font-weight:700;cursor:pointer;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 20px #7c3aed40}.lh-cta:hover{transform:translateY(-2px);box-shadow:0 6px 28px #7c3aed60}.landing-preview{display:flex;align-items:center;gap:20px;margin:48px 0 56px;flex-wrap:wrap;justify-content:center}.lp-card{background:var(--bg);border:1px solid var(--sf);border-radius:12px;overflow:hidden;box-shadow:0 2px 12px #0000000f;width:280px}.lp-card-header{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--sf);background:var(--bg2)}.lp-dot-wrap{display:flex;gap:5px}.lp-dot{width:10px;height:10px;border-radius:50%}.lp-filename{font-size:12px;color:var(--sf2)}.lp-card-body{padding:14px}.lp-code{margin:0;font-size:12px;line-height:1.5;color:var(--tx2)}.lp-code code{font-family:JetBrains Mono,Fira Code,monospace}.lp-arrow{display:flex;align-items:center}.lp-diagram-card{width:320px}.lp-diagram-viz{display:flex;justify-content:center;align-items:center;padding:20px 16px;min-height:200px}.landing-features{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;max-width:500px;width:100%}.lf-item{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--bg2);border-radius:10px;border:1px solid var(--sf);font-size:13px;color:var(--tx)}.landing-footer{position:relative;z-index:1;padding:48px 0 0;font-size:14px;background:#111;color:#aaa}.lf-inner{display:flex;flex-wrap:wrap;gap:40px;max-width:1080px;margin:0 auto;padding:0 24px 32px;border-bottom:1px solid #222}.lf-brand{display:flex;flex-direction:column;gap:10px;flex:1;min-width:240px}.lf-brand-row{display:flex;align-items:center;gap:10px}.lf-brand-name{font-size:22px;font-weight:700;color:#eee}.lf-brand-desc{font-size:14px;color:#999;line-height:1.7}.lf-links{display:flex;gap:60px;flex-shrink:0}.lf-col{display:flex;flex-direction:column;gap:10px;min-width:120px}.lf-col strong{font-size:12px;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:.8px}.lf-col a{font-size:14px;color:#aaa;text-decoration:none;transition:color .12s}.lf-col a:hover{color:#fff}.lf-bottom{text-align:center;padding:20px 24px max(24px,env(safe-area-inset-bottom,0px));font-size:13px;color:#666;max-width:1080px;margin:0 auto}.lf-cr-link{color:#666;text-decoration:none}.lf-cr-link:hover{color:#999}@media(max-width:640px){.landing-preview{flex-direction:column}.lp-arrow{transform:rotate(90deg)}.landing-features{grid-template-columns:1fr}}@media(min-width:769px){.view-toggle{display:none}.desktop-actions{display:block}.da-label-text{display:inline}}@media(max-width:768px){.desktop-actions{display:block}.da-label-text{display:none}.da-btn{padding:6px 8px!important;font-size:13px!important}}@media(max-width:768px){.splitter{display:none}.left-panel{width:100%;max-width:100%;border-right:none}.sample-grid{grid-template-columns:repeat(4,1fr)}.right-panel{display:none;position:fixed;top:52px;right:0;bottom:0;left:0;z-index:50;background:var(--bg2)}.right-panel.mobile-visible{display:flex!important}}body.preview-fullscreen .topbar,body.preview-fullscreen .left-panel,body.preview-fullscreen .splitter{display:none!important}body.preview-fullscreen .right-panel{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;max-width:100%!important;z-index:999!important}body.preview-fullscreen .pv{height:100vh!important;width:100vw!important}body.preview-fullscreen .pv-overlay:not(.pv-exit){display:none!important}body.preview-fullscreen .pv-exit{display:flex!important;position:fixed!important;top:16px!important;right:16px!important;z-index:9999!important;background:#0006!important;border:none!important;border-radius:50%!important;width:44px!important;height:44px!important;padding:0!important;align-items:center!important;justify-content:center!important;transform:none!important}body.preview-fullscreen .pv-exit .pv-btn-sm{background:transparent!important;color:#fff!important;width:44px!important;height:44px!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important}.legal-main{flex:1;max-width:720px;width:100%;margin:0 auto;padding:24px 24px 80px}.legal-main h1{font-size:32px;font-weight:700;margin:0 0 4px;color:#111}.legal-date{font-size:14px;color:#888;margin:0 0 52px}.legal-main section{margin-bottom:36px}.legal-main h2{font-size:18px;font-weight:600;margin:0 0 8px;color:#222}.legal-main p{font-size:15px;line-height:1.7;color:#555;margin:0}.legal-main ul{margin:8px 0 0;padding-left:20px}.legal-main li{font-size:15px;line-height:1.7;color:#555}.legal-main a{color:#7c3aed}body.preview-fullscreen .pv-exit .pv-btn-sm svg{width:24px!important;height:24px!important}
