.ai-connection-settings{grid-column:1 / -1;scroll-margin-top:20px}.ai-connection-settings h2{margin:5px 0 0;font-size:21px}.ai-provider-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:22px 0}.ai-provider-options>button{display:grid;grid-template-columns:24px 1fr;align-items:center;gap:5px 10px;padding:16px;border:1px solid var(--border);border-radius:10px;text-align:left;color:var(--muted);background:var(--bg)}.ai-provider-options>button svg{grid-row:span 2}.ai-provider-options>button b{color:var(--text);word-break:keep-all}.ai-provider-options>button small{font-size:11px}.ai-provider-options>button.selected{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand);color:var(--brand)}.ai-connection-fields{min-width:0;margin:0;padding:0;border:0}.ai-connection-fields input,.ai-connection-fields select{width:100%}.ai-connection-actions{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.ai-connection-note{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px;padding:14px;margin:14px 0;border:1px solid var(--border);background:var(--bg);border-radius:8px;color:var(--muted);font-size:12px}.ai-connection-note p{flex:1;min-width:180px;margin:0;line-height:1.8}.ai-connection-result{padding:12px;border:1px solid var(--border);border-radius:8px;color:var(--text);background:var(--bg)}.ai-device-status{display:grid;gap:8px;margin:14px 0;overflow-wrap:anywhere}.ai-device-status progress{width:100%;accent-color:var(--brand)}.ai-connection-settings>details{font-size:12px;line-height:1.8}.ai-connection-settings .chip{overflow-wrap:anywhere;white-space:normal}@media(max-width:850px){.ai-provider-options{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.ai-connection-fields .form-grid{grid-template-columns:1fr}.ai-connection-actions .button{flex:1 1 180px;justify-content:center}.ai-provider-options{gap:6px}.ai-provider-options>button{padding:12px 9px;grid-template-columns:20px 1fr;gap:4px 6px}.ai-provider-options>button b{font-size:12px}.ai-provider-options>button small{font-size:10px}.ai-connection-settings .section-heading{align-items:flex-start;flex-direction:column;gap:10px}}.brand-intro{--story-ink: #edf5fb;--story-muted: #b2c7d8;--story-dim: #90aabd;--story-line: #2a455b;--story-blue: #99c7e9;--story-copper: #e9ae7d;height:100dvh;min-height:620px;overflow:auto;background:#0c1a28;color:var(--story-ink);display:flex;flex-direction:column;background-image:radial-gradient(ellipse at 72% 38%,#16364c 0,transparent 58%);position:relative;isolation:isolate}.intro-header{display:flex;align-items:center;gap:28px;padding:26px 4vw 20px}.intro-brand{display:flex;align-items:center;gap:12px}.intro-brand .eunjo-symbol{width:46px;height:46px}.intro-brand .brand-wordmark{color:var(--story-ink)}.intro-brand .brand-wordmark b,.intro-brand .brand-wordmark>span{color:var(--story-muted)}.intro-edition{color:var(--story-dim);font:10px var(--font-mono);letter-spacing:1.5px;border-left:1px solid var(--story-line);padding-left:25px}.intro-skip{margin-left:auto;display:flex;align-items:center;gap:10px;color:var(--story-muted);font-size:12px;border:1px solid var(--story-line);border-radius:24px;padding:11px 16px;white-space:nowrap}.brand-intro button:focus-visible{outline:2px solid var(--story-copper);outline-offset:5px}.intro-skip:hover{border-color:var(--story-blue);color:#fff}.intro-main{flex:1;display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:4vw;padding:0 5vw;width:100%;max-width:1740px;margin:0 auto}.intro-narrative{padding:24px 0 32px;animation:intro-arrive .65s ease both}.intro-chapter-code{font:11px var(--font-mono);letter-spacing:2px;color:var(--story-blue);display:flex;gap:10px;align-items:center;margin-bottom:27px}.intro-chapter-code>span{width:23px;height:1px;background:var(--story-copper)}.intro-narrative h1{font-size:clamp(30px,3.05vw,55px);line-height:1.35;font-weight:720;letter-spacing:-.045em;word-break:keep-all}.intro-narrative h1 em{font-style:normal;color:var(--story-blue)}.intro-narrative>p{font-size:15px;color:var(--story-muted);margin-top:26px;max-width:460px;line-height:1.95;word-break:keep-all}.intro-signature{margin-top:29px;display:flex;gap:12px;align-items:center}.intro-signature .eunjo-symbol{width:32px;height:32px}.intro-signature span{font-size:12px;color:#d5e2ec}.intro-signature b{display:block;margin-top:7px;color:var(--story-dim);font:8px var(--font-mono);letter-spacing:2px}.intro-enter{border-radius:7px;background:#e9f2f8;color:#10273d;padding:13px 18px;display:inline-flex;gap:30px;align-items:center;font-size:13px;font-weight:650;margin-top:28px}.intro-enter:hover{background:#fff}.intro-enter svg{color:#975024}.intro-example{min-width:0}.intro-example-heading{display:flex;justify-content:space-between;gap:12px;color:var(--story-dim);font:9px var(--font-mono);letter-spacing:1px;border-bottom:1px solid var(--story-line);padding-bottom:13px}.intro-example-heading>span:first-child{color:var(--story-blue);display:flex;gap:8px;align-items:center}.intro-example-heading i{width:5px;height:5px;border-radius:50%;background:var(--story-copper)}.story-visual{position:relative;aspect-ratio:640/450;min-width:0;overflow:hidden}.story-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(#7aa4c00a 1px,transparent 1px),linear-gradient(90deg,#7aa4c00a 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:radial-gradient(ellipse,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse,#000 30%,transparent 75%)}.story-orbit{position:absolute;width:65%;aspect-ratio:1;border:1px solid #88b3cf15;border-radius:50%;left:20%;top:0}.orbit-a{transform:rotateX(60deg) rotate(-25deg)}.orbit-b{width:88%;left:5%;top:-9%;border-style:dashed;animation:orbit-drift 45s linear infinite}.story-scan{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(transparent 49%,#91c2e90c 50%,transparent 51%);background-size:100% 100%;animation:story-scan 9s linear infinite}.story-file{position:absolute;padding:5%;background:#142b3e;border:1px solid #3c5970;border-radius:9px;width:48%;box-shadow:0 20px 45px #0003;animation:story-float 8s ease-in-out infinite}.story-file svg{color:var(--story-copper);width:21px}.story-file span{display:block;color:var(--story-dim);font:8px var(--font-mono);letter-spacing:.8px;margin-top:12px}.story-file strong{display:block;font-size:clamp(12px,1.15vw,19px);margin:8px 0 15px;font-weight:600}.story-file i{display:block;height:3px;width:88%;background:#345269;margin-top:7px}.story-file i:nth-of-type(2){width:65%}.story-file small{display:block;color:var(--story-dim);font-size:9px;margin-top:12px}.file-one{left:5%;top:13%;transform:rotate(-7deg)}.file-two{right:3%;top:28%;transform:rotate(7deg);animation-delay:-2s}.file-three{left:20%;top:57%;transform:rotate(-2deg);animation-delay:-4s}.fragment-cross{position:absolute;bottom:4%;left:6%;color:var(--story-dim);font:8px var(--font-mono);letter-spacing:2px}.story-relations{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.story-relations path{stroke:var(--story-blue);stroke-width:1.5;fill:none;opacity:.6}.story-relations circle{fill:var(--story-copper)}.story-entity{position:absolute;border:1px solid #4d6d85;border-radius:7px;background:#142b3e;width:39%;box-shadow:0 18px 38px #0002}.story-entity>div{display:flex;gap:7px;align-items:center;padding:11px;border-bottom:1px solid #35536a}.story-entity svg{color:var(--story-blue);flex-shrink:0}.story-entity strong{font:600 clamp(10px,1vw,14px) var(--font-mono)}.story-entity>div>span{font-size:9px;color:var(--story-muted);margin-left:auto;white-space:nowrap}.story-entity p{display:flex;align-items:center;gap:6px;font:clamp(8px,.8vw,11px) var(--font-mono);color:#d7e6f0;padding:8px 10px}.story-entity p b{color:var(--story-copper);min-width:18px;font-size:8px}.story-entity em{color:var(--story-dim);font-size:8px;margin-left:auto;font-style:normal}.story-customers{left:4%;top:13%}.story-orders{right:3%;top:35%}.story-items{left:4%;top:68%}.story-conflict{border-color:var(--story-copper)}.story-conflict p:nth-child(3){background:#e9ae7d14}.story-conflict p:nth-child(3) em{color:#ffcba3}.story-callout{position:absolute;left:4%;top:46%;padding-left:12px;border-left:2px solid var(--story-copper);max-width:48%}.story-callout span{font:7px var(--font-mono);letter-spacing:1px;color:var(--story-copper);display:block}.story-callout strong{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:600;margin-top:8px}.story-callout small{font-size:9px;color:var(--story-muted);display:block;margin-top:6px}.story-confirm{border-color:#8acaba}.story-confirm strong{color:#a3dbc9}.story-output{position:absolute;bottom:4%;right:3%;width:48%;padding:14px;background:#e9f2f8;color:#17344b;display:flex;gap:12px;align-items:center;border-radius:7px;box-shadow:0 20px 40px #0003}.story-output>svg{flex-shrink:0}.story-output span{font:7px var(--font-mono);letter-spacing:.8px;color:#466179}.story-output strong{display:block;font-size:15px;margin-top:6px}.story-output small{display:block;font-size:8px;color:#466179;margin-top:6px}.story-output-tools{display:flex;gap:8px;position:absolute;top:-31px;right:2px;color:var(--story-muted)}.story-output-tools svg{width:15px}.story-coordinates{position:absolute;left:2%;right:2%;bottom:0;display:flex;justify-content:space-between;gap:10px;color:var(--story-dim);font:7px var(--font-mono);letter-spacing:.7px}.intro-caption{min-height:35px;font-size:11px;color:var(--story-muted);border-top:1px solid var(--story-line);padding-top:12px;line-height:1.7}.intro-footer{display:flex;align-items:center;gap:40px;width:100%;padding:18px 5vw 12px;max-width:1740px;margin:0 auto}.intro-timeline{flex:1;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.intro-timeline button{text-align:left;color:var(--story-dim);padding:10px 0}.intro-timeline button[aria-current]{color:var(--story-ink)}.intro-track{display:block;height:2px;background:#304d63;margin-bottom:15px}.intro-track>i{height:100%;display:block;background:var(--story-copper);transition:width .1s linear}.intro-timeline button>span:last-child{font-size:11px;display:flex;gap:9px;align-items:center;white-space:nowrap}.intro-timeline b{font:10px var(--font-mono);color:var(--story-dim)}.intro-player{display:flex;gap:20px;align-items:center}.intro-player>span{display:flex;gap:5px;align-items:center;color:var(--story-dim);font-size:10px;white-space:nowrap}.intro-player>div{display:flex;gap:5px}.intro-player button{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--story-line);border-radius:50%;color:var(--story-muted)}.intro-credit{border-top:1px solid #233c50;display:flex;gap:20px;justify-content:space-between;padding:13px 5vw;color:var(--story-dim);font-size:9px}.intro-credit>span:first-child{font-family:var(--font-mono);font-size:8px;letter-spacing:1.2px}@keyframes intro-arrive{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes story-float{50%{translate:0 -9px}}@keyframes orbit-drift{to{rotate:360deg}}@keyframes story-scan{0%{translate:0 -55%}to{translate:0 55%}}.brand-intro[data-playing=false] .story-visual *{animation-play-state:paused}.intro-reduced *,.intro-reduced *:before,.intro-reduced *:after{animation:none!important;transition:none!important}@media(max-width:1050px){.intro-main{gap:3vw;padding-inline:4vw}.intro-narrative h1{font-size:33px}.intro-narrative>p{font-size:13px}.intro-edition{display:none}.intro-footer{gap:20px;padding-inline:4vw}.intro-player{gap:10px}.intro-player>span{display:none}.story-entity p{padding-inline:7px;font-size:8px;gap:4px}.story-entity em{font-size:7px}}@media(max-width:720px){.brand-intro{height:100dvh;min-height:0;display:block;overflow:auto}.intro-header{padding:17px 22px}.intro-brand{gap:7px}.intro-brand .eunjo-symbol{width:34px;height:34px}.intro-skip{font-size:10px;padding:9px 11px;gap:5px}.intro-main{display:flex;flex-direction:column;gap:13px;padding:4px 26px 0;align-items:stretch}.intro-narrative{padding:16px 0 8px}.intro-chapter-code{font-size:9px;margin-bottom:18px;letter-spacing:1.4px}.intro-narrative h1{font-size:clamp(26px,6.8vw,38px)}.intro-narrative>p{margin-top:17px;font-size:13px;line-height:1.85;max-width:100%}.intro-signature{margin-top:18px}.intro-signature span{font-size:10px}.intro-signature b{font-size:7px;margin-top:5px}.intro-enter{margin-top:20px;min-height:40px;font-size:12px;padding:10px 14px;gap:22px}.intro-example-heading{font-size:7px;margin-top:8px}.story-visual{max-height:360px}.story-file{padding:4%}.story-file strong{font-size:11px;margin-block:7px 10px}.story-file svg{width:17px;height:17px}.story-file span{font-size:6px;margin-top:6px}.story-file small{font-size:7px;margin-top:9px}.story-file i{height:2px;margin-top:4px}.fragment-cross{font-size:6px}.story-entity>div{padding:7px;gap:4px}.story-entity strong{font-size:8px}.story-entity>div>span{font-size:6px}.story-entity svg{width:10px;height:10px}.story-entity p{font-size:6px;padding:5px;gap:3px}.story-entity em{font-size:5px}.story-entity p b{min-width:10px;font-size:5px}.story-callout{padding-left:7px}.story-callout span{font-size:5px;letter-spacing:.3px}.story-callout strong{font-size:9px;margin-top:5px}.story-callout strong svg{width:11px}.story-callout small{font-size:6px;margin-top:3px}.story-output{padding:9px;gap:6px}.story-output>svg{width:18px}.story-output span{font-size:5px}.story-output strong{font-size:11px}.story-output small{font-size:6px}.story-coordinates{font-size:5px}.intro-caption{font-size:10px;padding-top:9px}.intro-footer{padding:20px 26px 12px;display:block}.intro-timeline{gap:10px}.intro-timeline button>span:last-child{font-size:8px;gap:4px}.intro-timeline b{font-size:7px}.intro-track{margin-bottom:10px}.intro-player{justify-content:space-between;margin-top:12px}.intro-player>span{display:flex}.intro-credit{padding:15px 26px;flex-wrap:wrap;gap:8px;line-height:1.7}.intro-credit>span:last-child{font-size:8px}}@media(prefers-reduced-motion:reduce){.brand-intro *,.brand-intro *:before,.brand-intro *:after{animation:none!important;transition:none!important}}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}.print-document{max-width:1100px;margin:0 auto;padding:25px;background:#fff;color:#111}.print-controls{background:#f4f6fa;padding:20px;border:1px solid #d9e1ed;margin-bottom:25px;border-radius:8px}.print-controls p{font-size:12px;margin:12px 0 0}.print-cover>span{font-size:10px;letter-spacing:2px;color:#566579}.print-cover h1{font-size:30px;margin:20px 0 15px}.print-cover p{font-size:12px;margin:9px 0}.print-erd{margin:25px 0;border:1px solid #d9e1ed;padding:12px}.print-erd svg{width:100%;height:auto;max-height:580px}.print-cover footer{font-size:10px;margin:15px 0 30px}.print-table{margin:35px 0;page-break-before:always}.print-area{margin:35px 0;break-before:page}.print-area>span{font-size:10px;letter-spacing:2px;color:#566579}.print-area h2{margin:16px 0 12px}.print-area p{font-size:11px}.print-table h2{font-size:21px;margin:0 0 15px}.print-table h2 small{font-size:12px;margin-left:12px;font-weight:400}.print-table p{font-size:11px;margin:10px 0}.print-table table{white-space:normal;font-size:11px}.print-table th,.print-table td{padding:10px;border:1px solid #d9e1ed;color:#111;overflow-wrap:anywhere;min-width:40px}.print-table th{background:#f4f6fa}.print-table thead{display:table-header-group}.print-table tr{break-inside:avoid}.comparison-table{page-break-before:auto!important;break-before:auto!important}.comparison-table pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:9px}@media print{html,body{margin:0!important;padding:0!important;background:#fff!important;color:#000!important;font-family:Malgun Gothic,Segoe UI,sans-serif!important}.print-document{padding:0;max-width:none}.print-controls{display:none!important}.print-erd{padding:5px}.print-erd svg{max-height:155mm;object-fit:contain}.print-cover{break-after:page}.print-cover p{font-size:10px}.print-table{margin:0;break-before:page}.print-area{margin:0}.print-area .print-erd svg{max-height:125mm}.print-report-erd .print-erd svg{max-height:140mm}.print-table p{font-size:9px}.print-table h2{break-after:avoid;font-size:16px}.print-table th,.print-table td{font-size:9px;padding:6px}.print-table thead{display:table-header-group}.print-table tr{break-inside:avoid}footer{position:relative;font-size:9px}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.print-report-meta{margin:18px 0}.print-report-meta p{margin:4px 0;overflow-wrap:anywhere}@font-face{font-family:Pretendard Variable;src:url(/fonts/PretendardVariable.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}:root{--font-ui: "Pretendard Variable", "Pretendard", "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", "Pretendard Variable", Consolas, monospace;font-family:var(--font-ui);font-size:14px;letter-spacing:-.015em;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg: #f2f5f9;--surface: #fff;--surface-alt: #f6f8fb;--text: #172d43;--muted: #4a6074;--subtle: #5c7084;--brand: #215d89;--on-brand: #ffffff;--accent: #9c491e;--on-accent: #fff;--accent-soft: #f8eee5;--gold: #8c6117;--border: #d3dde7;--canvas: #eef3f8;--success: #226b59;--error: #b63548;--fk: #326e9a;--uk: #596a93;--shadow: 0 8px 26px rgba(28, 46, 76, .06)}:root[data-theme=dark]{color-scheme:dark;--bg: #0d1723;--surface: #142334;--surface-alt: #192c40;--text: #eef4fb;--muted: #b6c7d8;--subtle: #9fb3c8;--brand: #96c9ef;--on-brand: #10273d;--accent: #ffb37a;--on-accent: #172331;--accent-soft: #38291f;--gold: #e2c17d;--border: #314a60;--canvas: #0f1c2a;--success: #79d7b4;--error: #ff9fa6;--fk: #90c5ec;--uk: #aec1e5;--shadow: 0 8px 26px rgba(0, 0, 0, .14)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;background:transparent;color:inherit}button:disabled{cursor:not-allowed;opacity:.4}a{color:var(--brand);text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:34px;line-height:1.35;letter-spacing:-1.4px;font-weight:650}h2{font-size:21px;letter-spacing:-.6px;font-weight:650}h3{font-size:16px;font-weight:650}p{line-height:1.7}small{font-size:11px}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text);padding:10px 12px;min-height:40px;font-size:13px;transition:border-color .15s}textarea{resize:vertical;line-height:1.6}input::placeholder,textarea::placeholder{color:var(--subtle)}input[type=checkbox]{width:16px;min-height:16px;accent-color:var(--accent);flex-shrink:0}input[type=file]{padding:9px;font-size:12px}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;line-height:1.6;font-family:var(--font-mono)}code,.mono,.node-column-name,.node-type{font-family:var(--font-mono)}strong,.strong{font-weight:650}.muted{color:var(--muted)}.tiny{font-size:10px}.pre-wrap{white-space:pre-wrap}.inline{display:flex;align-items:center;gap:8px}.inline-wrap{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.inline>input,.inline>select{min-width:0}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--subtle);line-height:1.7;display:block}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:40px;border-radius:8px;padding:10px 16px;background:var(--accent);color:var(--on-accent);font-size:12px;font-weight:600;white-space:nowrap;transition:filter .15s,transform .15s}.button:hover{filter:brightness(1.06)}.button.secondary{border:1px solid var(--border);background:var(--surface);color:var(--text)}.button.secondary:hover{border-color:var(--brand)}.text-button{display:inline-flex;align-items:center;gap:6px;padding:8px 0;color:var(--brand);font-size:12px}.text-button.danger,.danger{color:var(--error)}.icon-button{height:36px;min-width:36px;border-radius:7px;display:inline-flex;justify-content:center;align-items:center;color:var(--muted);flex-shrink:0}.icon-button:hover{background:var(--surface-alt);color:var(--text)}.icon-button.active{color:var(--accent);background:var(--accent-soft)}.chip-list{display:flex;gap:7px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;font-size:10px;border-radius:5px;background:var(--surface-alt);border:1px solid var(--border);color:var(--muted);line-height:1.3}.chip.demo,.chip.warning{background:var(--accent-soft);border-color:transparent;color:var(--accent)}.chip.success{color:var(--success)}.notice{border:1px solid var(--border);background:var(--surface-alt);padding:12px 14px;border-radius:8px;font-size:12px;line-height:1.65;white-space:pre-wrap;margin:10px 0}.notice.error{color:var(--error);border-color:color-mix(in srgb,var(--error) 25%,transparent);background:color-mix(in srgb,var(--error) 5%,var(--surface))}.notice.success{color:var(--success)}.busy{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{height:100dvh;display:flex;overflow:hidden}.icon-rail{width:64px;flex-shrink:0;background:#17243b;display:flex;align-items:center;flex-direction:column;gap:7px;padding:14px 8px;color:#94a5bd;border-right:1px solid #293951;z-index:20}.brand-mark{width:42px;height:42px;position:relative;display:flex;align-items:center;justify-content:center;color:#f7a363;margin-bottom:6px}.brand-mark svg{width:38px;height:38px;stroke-width:1}.brand-mark span{position:absolute;left:14px;top:9px;font-size:17px;font-weight:650}.rail-button{width:44px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:8px;color:#93a5c0;position:relative}.rail-button:hover,.icon-rail>.icon-button:hover{background:#23324c;color:#fff}.rail-button.active{background:#35435a;color:#ffb67e}.rail-button.active:before{content:"";position:absolute;left:-8px;width:3px;height:22px;background:#ffa45b;border-radius:3px}.rail-divider{width:26px;height:1px;background:#334059;margin:9px 0}.rail-spacer{flex:1}.rail-avatar{width:30px;height:30px;background:#2c3a51;border:1px solid #44536c;border-radius:50%;font-size:9px;display:grid;place-items:center;color:#dde4ef;letter-spacing:1px;margin-top:9px}.icon-rail>.icon-button{color:#94a5bd}.app-main{flex:1;min-width:0;display:flex;flex-direction:column}.app-header{height:56px;min-height:56px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 23px;gap:19px;z-index:10}.brand-wordmark{font-size:12px;letter-spacing:2px;white-space:nowrap;color:var(--brand)}.brand-wordmark b{letter-spacing:.4px;font-weight:650}.brand-wordmark>span{display:block;font-size:7px;letter-spacing:3px;margin-top:3px;color:var(--subtle)}.header-divider{height:22px;width:1px;background:var(--border)}.breadcrumb{display:flex;gap:9px;align-items:center;min-width:0;color:var(--subtle);font-size:11px}.breadcrumb button{color:var(--subtle);padding:0}.breadcrumb>span{color:var(--muted);white-space:nowrap}.breadcrumb .breadcrumb-project{max-width:240px;overflow:hidden;text-overflow:ellipsis;color:var(--text)}.header-right{margin-left:auto;display:flex;gap:22px;align-items:center;white-space:nowrap}.header-right>span{font-size:9px;letter-spacing:.8px;display:flex;align-items:center;gap:6px;color:var(--subtle)}.header-help{display:grid;place-items:center;padding:0;flex-shrink:0;border:1px solid var(--border);border-radius:50%;width:22px;height:22px;font-size:11px;color:var(--muted)}.route-content{flex:1;min-height:0;position:relative;overflow:hidden}.page-scroll{height:100%;overflow:auto;padding:42px 46px 24px;scrollbar-width:thin}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;gap:18px}.page-heading .eyebrow{margin-bottom:11px}.page-heading p{font-size:12px;color:var(--muted);margin-top:10px}.surface{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px;box-shadow:var(--shadow)}.surface h3{display:flex;align-items:center;gap:9px;margin-bottom:18px}.recovery{padding:50px;display:flex;flex-direction:column;align-items:flex-start;gap:18px;font-size:14px}.home{width:100%;max-width:1508px;margin:0 auto}.command-search{margin-bottom:15px}.command-results{max-height:min(48dvh,450px);overflow-y:auto;margin-bottom:12px}.command-item{width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:12px;border:1px solid transparent;border-radius:8px;min-height:54px}.command-item:hover,.command-item.active{background:var(--surface-alt);border-color:var(--border)}.command-item>svg{color:var(--brand);flex-shrink:0}.command-item>svg:last-child{margin-left:auto}.command-item span{min-width:0;overflow-wrap:anywhere}.command-item b,.command-item small{display:block}.command-item b{font-size:13px}.command-item small{color:var(--muted);margin-top:4px}.selection-tools{display:flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.selection-tools>span{font-size:11px;padding-right:8px}.home-heading{display:flex;align-items:center;justify-content:space-between;gap:35px;min-height:230px;padding:8px 0 36px}.home-heading .eyebrow{color:var(--accent);margin-bottom:14px}.home-heading h1{font-size:36px;line-height:1.4}.home-heading p{font-size:12px;color:var(--muted);margin-top:14px}.hero-blueprint{position:relative;width:420px;height:235px;flex-shrink:0;overflow:hidden}.blueprint-ring{border:1px solid var(--border);border-radius:50%;position:absolute}.ring-one{width:280px;height:280px;left:65px;top:-22px;opacity:.65}.ring-two{width:218px;height:218px;left:96px;top:10px;border-style:dashed}.blueprint-axis{position:absolute;height:1px;background:var(--border);left:20px;right:20px;top:116px}.blueprint-axis:after{content:"";position:absolute;height:210px;width:1px;background:var(--border);left:185px;top:-105px}.mini-entity{position:absolute;border:1px solid var(--border);background:var(--surface);border-radius:6px;width:112px;box-shadow:var(--shadow);z-index:1;padding:10px 11px 8px}.mini-entity span{font-family:var(--font-mono);font-size:10px;display:block;margin-bottom:8px;color:var(--brand)}.mini-entity span:before{content:"⊞";color:var(--accent);margin-right:7px}.mini-entity i{display:block;height:3px;margin-bottom:6px;background:var(--border);width:62px}.mini-entity i:nth-child(3){width:77px}.entity-one{left:58px;top:42px;transform:rotate(-5deg)}.entity-two{left:220px;top:65px;transform:rotate(4deg)}.entity-three{left:180px;top:146px;transform:rotate(-3deg)}.hero-blueprint svg{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;width:100%;stroke:#8798b1;stroke-width:1;fill:none;stroke-dasharray:4 3}.blueprint-coordinate{position:absolute;font-family:var(--font-mono);color:var(--subtle);font-size:8px;letter-spacing:2px;bottom:1px;right:0}.start-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 43px}.start-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;min-height:100px;display:flex;align-items:center;gap:12px;text-align:left;padding:18px;box-shadow:0 2px 5px #1c2e4c05;transition:border-color .15s,transform .15s}.start-card:hover{border-color:var(--accent);transform:translateY(-2px)}.start-card>svg{margin-left:auto;color:var(--subtle);flex-shrink:0}.start-card b{font-size:13px;display:block;margin-bottom:7px}.start-card span{font-size:10px;color:var(--muted);white-space:nowrap}.start-card.primary{border-color:var(--accent);background:var(--accent-soft)}.start-card.primary>svg{color:var(--accent)}.start-icon{height:38px;width:38px;border-radius:8px;display:grid;place-items:center;background:var(--surface);color:var(--accent);flex-shrink:0}.start-icon.purple{background:color-mix(in srgb,#7b7fd5 10%,var(--surface));color:#7b7fd5}.start-icon.blue{background:color-mix(in srgb,#4c80b5 10%,var(--surface));color:#4c80b5}.start-icon.green{background:color-mix(in srgb,#219781 10%,var(--surface));color:#219781}.project-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:20px}.project-heading h2{font-size:18px;display:flex;align-items:center;gap:12px}.count{font-size:12px;color:var(--subtle);font-family:var(--font-mono);letter-spacing:1px}.project-heading p{font-size:11px;color:var(--muted);margin-top:7px}.search-box{display:flex;align-items:center;gap:9px;background:var(--surface);border:1px solid var(--border);padding:0 11px;border-radius:7px;min-width:0;color:var(--subtle)}.search-box input{border:0;padding:10px 0;min-height:34px;background:transparent;font-size:11px}.search-box input:focus{outline:none}.project-heading .search-box{width:220px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}.project-card:hover{border-color:color-mix(in srgb,var(--brand) 50%,var(--border))}.project-open{padding:21px 23px 18px;width:100%;text-align:left}.project-card-top{display:flex;align-items:center;gap:12px}.project-number{font:11px var(--font-mono);color:var(--subtle);margin-right:auto}.project-card-top>svg{color:var(--subtle)}.project-schema-preview{position:relative;height:90px;margin:14px 0 8px;background-image:radial-gradient(var(--border) .7px,transparent .7px);background-size:12px 12px;border-radius:6px}.project-schema-preview>div{position:absolute;width:51px;height:35px;border-radius:4px;border:1px solid var(--border);background:var(--surface);top:23px;left:22px;z-index:1}.project-schema-preview>div:before{content:"";position:absolute;top:7px;left:7px;width:28px;height:3px;background:var(--brand);opacity:.3;box-shadow:0 8px 0 var(--border),0 15px 0 var(--border)}.project-schema-preview>div:nth-child(2){left:45%;top:10px}.project-schema-preview>div:nth-child(3){left:76%;top:36px}.project-schema-preview svg{width:100%;height:100%;fill:none;stroke:var(--subtle);stroke-width:1}.project-open h3{font-size:15px;letter-spacing:-.3px;margin:12px 0 7px}.project-open>p{font-size:10px;color:var(--muted);min-height:36px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.project-open .chip-list{margin-top:13px}.project-card-bottom{border-top:1px solid var(--border);display:flex;align-items:center;padding:6px 17px;color:var(--subtle);font-size:10px}.project-card-bottom>span{margin-right:auto}.home-empty{background:var(--surface);border:1px dashed var(--border);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px;gap:10px;color:var(--muted);min-height:200px}.home-empty>svg{color:var(--subtle);margin-bottom:4px}.home-empty p{font-size:11px}.demo-banner{display:flex;align-items:center;gap:19px;margin-top:25px;border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:23px 26px}.demo-art{width:59px;height:59px;border:1px solid var(--border);border-radius:50%;display:grid;place-items:center;color:var(--brand);background:var(--surface-alt);flex-shrink:0}.demo-banner h3{font-size:13px;letter-spacing:.5px;margin:3px 0 6px}.demo-banner p{font-size:10px;color:var(--muted)}.demo-banner>.chip{margin-left:auto}.home-footer{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:var(--subtle);padding-top:26px;letter-spacing:1px}.home-footer>span:last-child{display:flex;gap:12px;align-items:center}.home-footer i{height:3px;width:3px;border-radius:50%;background:var(--subtle)}.editor{height:100%;display:grid;grid-template-columns:0 minmax(0,1fr) 0;grid-template-rows:66px minmax(0,1fr) 29px;position:relative}.editor.with-explorer{grid-template-columns:232px minmax(0,1fr) 0}.editor.with-inspector{grid-template-columns:0 minmax(0,1fr) 300px}.editor.with-explorer.with-inspector{grid-template-columns:232px minmax(0,1fr) 300px}.editor-topbar{grid-column:1/-1;grid-row:1;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:18px;padding:0 20px;min-width:0}.project-title{display:flex;align-items:center;gap:10px;min-width:0}.project-dot{width:9px;height:9px;background:var(--accent);border:2px solid var(--accent-soft);border-radius:50%;flex-shrink:0}.project-title b{font-size:12px;font-weight:650;display:block;max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-title>div>span{font-size:8px;font-family:var(--font-mono);color:var(--muted);display:flex;align-items:center;gap:8px;margin-top:5px;letter-spacing:.4px}.project-title i{width:3px;height:3px;background:var(--subtle);border-radius:50%}.name-mode{border:1px solid var(--border);background:var(--surface-alt);border-radius:6px;padding:3px;display:flex}.name-mode button{font-size:10px;padding:6px 11px;white-space:nowrap;border-radius:4px;color:var(--muted)}.name-mode button.selected{background:var(--surface);box-shadow:0 1px 4px #00000012;color:var(--brand);font-weight:600}.topbar-tools{display:flex;gap:4px;align-items:center;margin-left:auto}.toolbar-divider{width:1px;height:19px;background:var(--border);margin:0 5px}.ai-button{margin-left:9px;font-size:11px;padding:9px 13px;min-height:36px}.explorer{grid-column:1;grid-row:2;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;min-height:0;z-index:5}.panel-title{height:49px;min-height:49px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);font-size:11px;font-weight:600}.panel-title .icon-button{width:28px;height:30px;min-width:28px}.explorer>.search-box{margin:15px 14px 12px;background:var(--surface-alt)}.explorer-tabs{display:flex;padding:0 14px;border-bottom:1px solid var(--border);gap:20px}.explorer-tabs button{display:flex;align-items:center;gap:6px;font-size:10px;padding:10px 0;color:var(--muted);border-bottom:2px solid transparent}.explorer-tabs button.selected{border-bottom-color:var(--accent);color:var(--text)}.explorer-tabs button span{color:var(--subtle);font:9px var(--font-mono)}.explorer-content{padding:10px 8px;overflow:auto;flex:1;scrollbar-width:thin}.table-list-item{display:flex;align-items:center;gap:11px;width:100%;padding:11px 10px;border-radius:7px;text-align:left}.table-list-item>svg{color:var(--subtle);flex-shrink:0}.table-list-item b{font:11px var(--font-mono);display:block;max-width:150px;overflow:hidden;text-overflow:ellipsis}.table-list-item small{display:block;font-size:9px;color:var(--subtle);margin-top:4px}.table-list-item>span{font:9px var(--font-mono);color:var(--subtle);margin-left:auto}.table-list-item:hover{background:var(--surface-alt)}.table-list-item.selected{background:var(--accent-soft);color:var(--accent)}.table-list-item.selected>svg{color:var(--accent)}.relation-list-item{display:flex;gap:10px;width:100%;text-align:left;padding:12px 8px;font-size:10px;border-bottom:1px solid var(--border)}.relation-list-item b{font-size:10px}.relation-list-item small{display:block;color:var(--muted);font-size:9px;margin-top:5px}.explorer-bottom{padding:18px 18px 0;border-top:1px solid var(--border)}.explorer-bottom .eyebrow{font-size:8px;margin-bottom:10px}.explorer-bottom button{display:flex;align-items:center;gap:9px;width:100%;padding:7px 0;font-size:10px;color:var(--muted)}.explorer-bottom button>i{width:6px;height:6px;border-radius:2px}.explorer-bottom button>span{margin-left:auto;font:9px var(--font-mono);color:var(--subtle)}.explorer-brand{font-size:7px;letter-spacing:1.5px;color:var(--subtle);border-top:1px solid var(--border);padding:15px 0;margin-top:15px}.canvas-region{grid-column:2;grid-row:2;min-height:0;min-width:0;position:relative}.diagram{height:100%;width:100%;background:var(--canvas)}.diagram.canvas-maximized{position:fixed;top:56px;right:0;bottom:0;left:64px;width:auto;height:auto;z-index:35}.canvas-toolbar{display:flex;gap:3px;align-items:center;padding:5px;background:var(--surface);border:1px solid var(--border);border-radius:9px;box-shadow:var(--shadow)}.canvas-toolbar .icon-button{height:34px;width:34px;min-width:34px}.canvas-label{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:10px 12px;font-size:8px;letter-spacing:1.3px;color:var(--subtle)}.canvas-label>span:last-child{margin-left:6px;color:var(--brand)}.live-dot{width:5px;height:5px;display:inline-block;background:var(--success);border-radius:50%}.canvas-legend{display:flex;align-items:center;gap:17px;font-size:9px;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:10px 14px}.canvas-legend>span,.canvas-legend>button{display:flex;align-items:center;gap:6px}.canvas-legend .line{height:1px;width:19px;background:#8296b5}.canvas-legend .line.dashed{background:transparent;border-top:1px dashed var(--gold)}.canvas-empty{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(420px,90%);text-align:center;pointer-events:none}.canvas-empty>*{pointer-events:auto}.empty-orbit{width:85px;height:85px;border:1px dashed var(--border);border-radius:50%;display:grid;place-items:center;margin:0 auto 24px;color:var(--brand);background:var(--surface)}.canvas-empty h2{margin:10px 0;font-size:20px}.canvas-empty p{font-size:11px;color:var(--muted);margin-bottom:20px}.react-flow__controls{box-shadow:var(--shadow)!important;border:1px solid var(--border);border-radius:6px;overflow:hidden}.react-flow__controls-button{background:var(--surface)!important;border-color:var(--border)!important;color:var(--muted)!important;width:32px!important;height:32px!important}.react-flow__controls-button svg{fill:var(--muted)!important}.react-flow__minimap{border:1px solid var(--border);border-radius:7px;overflow:hidden;background:var(--surface)!important;width:130px!important;height:85px!important}.react-flow__minimap svg{width:130px;height:85px}.react-flow__attribution{font-size:7px!important;background:var(--surface)!important}.react-flow__handle{width:6px!important;height:6px!important;min-width:6px;min-height:6px;background:var(--surface)!important;border:1.4px solid #8296b5!important;opacity:0;transition:opacity .2s}.table-node:hover .react-flow__handle,.table-node.selected .react-flow__handle{opacity:1}.table-node{width:280px;background:var(--surface);border:1px solid var(--border);border-radius:11px;box-shadow:0 5px 17px #24375713;overflow:visible;font-size:11px}.table-node.selected{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 17%,transparent),var(--shadow)}.table-node-header{height:57px;display:flex;align-items:center;gap:10px;padding:0 14px;position:relative;border-left:3px solid var(--node-accent);border-radius:10px 0 0}.node-table-icon{width:28px;height:28px;border-radius:6px;background:color-mix(in srgb,var(--node-accent) 9%,var(--surface));color:var(--node-accent);display:grid;place-items:center}.table-node-header strong{display:block;font:600 12px var(--font-mono);color:var(--text);max-width:183px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.table-node-header small{display:block;color:var(--muted);font-size:9px;margin-top:5px}.node-collapse{margin-left:auto;color:var(--subtle);padding:3px}.node-meta{height:19px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding:0 13px;font-size:7px;color:var(--subtle);letter-spacing:.6px}.node-meta>span:first-child{color:var(--node-accent)}:root[data-theme=dark] .node-meta>span:first-child{color:color-mix(in srgb,var(--node-accent) 35%,var(--text))}.node-column{display:flex;align-items:center;position:relative;height:28px;padding:0 12px;border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent)}.node-column:last-child{border-bottom:0}.key-flags{width:30px;min-width:30px;display:flex;gap:2px;align-items:center}.key-flags>span{font-size:7px}.pk{color:var(--gold)}.fk{color:var(--fk)}.uk{color:var(--uk)}.node-column-name{font-size:10px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:12px}.node-column-name>small{display:block;font-size:7px;color:var(--subtle);line-height:9px;font-family:var(--font-ui)}.node-type{font-size:8px;margin-left:auto;white-space:nowrap;color:var(--subtle);padding-left:5px}.node-type>b{color:var(--brand);font-weight:400}.node-foot{height:28px;display:flex;align-items:center;gap:5px;padding:0 12px;font:7px var(--font-mono);color:var(--subtle);background:var(--surface-alt);border-top:1px solid var(--border);border-radius:0 0 10px 10px}.node-foot>span:last-child{margin-left:auto;font-size:6px;letter-spacing:1px}.node-dot{height:4px;width:4px;background:var(--node-accent);border-radius:50%}.node-columns.collapsed{max-height:0;overflow:hidden}.edge-label{position:absolute;font-size:7px;padding:3px 5px;border-radius:4px;background:var(--canvas);color:var(--muted);pointer-events:none;border:1px solid color-mix(in srgb,var(--border) 60%,transparent);white-space:nowrap}.edge-label.candidate{color:var(--gold)}.note-node{width:210px;padding:16px;border-radius:7px;border:1px solid #e7c575;background:#fff5d9;color:#655127;font-size:11px;box-shadow:var(--shadow)}.note-node>p{margin-top:8px;white-space:pre-wrap}.external-node{display:flex;gap:8px;flex-wrap:wrap;padding:13px;border:1px dashed var(--gold);border-radius:6px;background:var(--surface);font-size:11px;width:190px}.external-node small{width:100%;color:var(--gold);font-size:7px;letter-spacing:1px}.inspector{grid-column:3;grid-row:2;background:var(--surface);border-left:1px solid var(--border);overflow:auto;scrollbar-width:thin;z-index:6}.inspector-entity{padding:23px 22px;border-bottom:1px solid var(--border)}.inspector-icon{width:41px;height:41px;border:1px solid var(--border);border-radius:9px;background:var(--surface-alt);color:var(--accent);display:grid;place-items:center;margin-bottom:15px}.inspector-entity>.chip{float:right;margin-top:-54px}.inspector-entity h2{font-size:18px;margin-bottom:8px}.inspector-entity p{font-size:11px;color:var(--muted);margin-bottom:15px}.inspector-entity .mono{font-size:10px}.inspector-entity .button{min-height:32px;font-size:10px;padding:7px 13px}.inspector-section{padding:18px 22px;border-bottom:1px solid var(--border)}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:11px}.section-heading>span{color:var(--subtle);font-family:var(--font-mono)}.inspector-column{display:grid;grid-template-columns:1fr auto;gap:6px;font-size:10px;padding:11px 0;border-bottom:1px solid color-mix(in srgb,var(--border) 65%,transparent)}.inspector-column:last-child{border:0}.inspector-column b{font:10px var(--font-mono)}.inspector-column small{font-size:9px;display:block;color:var(--subtle);margin-top:3px}.inspector-column>.mono{font-size:8px;color:var(--muted)}.inspector-column>.inline-wrap{grid-column:1/-1;gap:5px}.inspector-column>.inline-wrap>small{margin:0 0 0 auto;font-size:8px}.badge{display:inline-block;padding:3px 5px;font-size:8px;margin-right:3px;border-radius:3px;background:var(--surface-alt)}.badge.pk{background:color-mix(in srgb,var(--gold) 10%,var(--surface))}.badge.fk{background:color-mix(in srgb,#5884c0 10%,var(--surface))}.badge.uk{background:color-mix(in srgb,#8e69b7 10%,var(--surface))}.impact-item{display:flex;align-items:center;gap:8px;width:100%;font:10px var(--font-mono);padding:9px 0;color:var(--muted)}.impact-item>svg:last-child{margin-left:auto}.inspector-empty{padding:65px 20px;text-align:center;color:var(--muted)}.inspector-empty>svg{color:var(--subtle);margin-bottom:17px}.inspector-empty h3{font-size:13px;margin-bottom:10px}.inspector-empty p{font-size:11px;margin-bottom:35px}.inspector-empty .button{margin-top:30px;font-size:10px}.keyboard-tip{display:flex;align-items:center;justify-content:center;gap:6px;font-size:10px;margin:10px 0}.keyboard-tip>span{margin-left:10px;font-size:9px}kbd{border:1px solid var(--border);padding:3px 5px;background:var(--surface-alt);border-radius:4px;font-size:9px}.editor-status{grid-column:1/-1;grid-row:3;display:flex;align-items:center;padding:0 17px;gap:26px;background:var(--surface);border-top:1px solid var(--border);font-size:8px;color:var(--muted);z-index:6;white-space:nowrap}.save-status{display:flex;align-items:center;gap:6px}.save-status>i{width:5px;height:5px;border-radius:50%;background:var(--success)}.save-status.dirty>i,.save-status.saving>i{background:var(--gold)}.save-status.error>i,.save-status.conflict>i{background:var(--error)}.status-counts,.editor-status>button{display:flex;align-items:center;gap:6px;font-size:8px}.status-source{margin-left:auto;font:7px var(--font-mono);letter-spacing:1px;color:var(--subtle)}.mobile-editor-nav{display:none}.floating-error{position:absolute;bottom:40px;left:250px;right:30px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);padding:10px;border-radius:10px;z-index:40;font-size:11px}.floating-error>button{padding:5px 9px;color:var(--brand)}.modal{border:1px solid var(--border);background:var(--surface);color:var(--text);padding:0;border-radius:14px;width:min(540px,94vw);max-height:90dvh;box-shadow:0 24px 100px #101c2f33;overflow:hidden}.modal.wide{width:min(940px,94vw)}.modal::backdrop{background:#0e1a2e61;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-header{padding:24px 28px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border)}.modal-header .eyebrow{font-size:8px;color:var(--accent);margin-bottom:8px}.modal-header h2{font-size:20px}.modal-header p{font-size:11px;color:var(--muted);margin-top:8px}.modal-body{padding:24px 28px;overflow-y:auto;max-height:calc(90dvh - 127px);scrollbar-width:thin}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:9px;border-top:1px solid var(--border);margin-top:22px;padding-top:20px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px;min-width:0}.field>span{font-size:11px;font-weight:600;color:var(--muted)}.field>small{color:var(--muted);font-size:10px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 15px}.check{display:flex;align-items:center;gap:8px;font-size:11px;line-height:1.65;padding:5px 0;margin:4px 0}.check-list{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0}.check-list label{display:flex;align-items:center;gap:6px;font:11px var(--font-mono)}.check-list b{background:var(--accent-soft);color:var(--accent);font:8px var(--font-mono);min-width:15px;height:15px;display:grid;place-items:center;border-radius:50%}.check-list.vertical{flex-direction:column}.tabs{display:flex;gap:5px;border-bottom:1px solid var(--border);margin-bottom:18px;overflow:auto}.tabs>button{display:flex;align-items:center;justify-content:center;gap:7px;border-bottom:2px solid transparent;padding:11px 16px;white-space:nowrap;color:var(--muted);font-size:11px}.tabs>button.selected{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.column-editor-head,.column-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr) 68px 115px;gap:10px;margin-bottom:10px;align-items:start}.column-editor-head{color:var(--muted);font-size:10px;padding:0 4px;margin-top:3px}.column-editor{border-bottom:1px solid var(--border);padding:0 0 12px}.column-editor>div>input,.column-editor>div>select{margin-bottom:5px;min-height:32px;font-size:11px;padding:7px 9px}.column-actions{display:flex;flex-wrap:wrap;gap:1px;padding-top:2px}.column-actions .icon-button{min-width:31px;width:31px;height:31px}.constraint-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 35px;gap:10px;padding:16px;background:var(--surface-alt);border:1px solid var(--border);border-radius:7px;margin:10px 0}.constraint-editor>.check-list{grid-column:1/-1}.constraint-editor input,.constraint-editor select{min-height:34px;font-size:11px}.modal-body>h3{margin:20px 0 12px}.upload-box{border:1px dashed var(--border);background:var(--surface-alt);border-radius:10px;padding:19px;display:flex;align-items:center;gap:14px;margin:15px 0 20px;flex-wrap:wrap}.upload-box>svg{color:var(--brand)}.upload-box b{font-size:12px}.upload-box small{display:block;color:var(--muted);font-size:10px;margin-top:6px}.upload-box input{width:100%;border:0;background:var(--surface);margin-top:5px}.code-input{font:12px var(--font-mono);line-height:1.7;background:var(--surface-alt)}.mapping-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 14px}.mapping-grid .field{margin-bottom:13px}.mapping-grid select{font-size:11px;min-height:34px}.table-scroll{overflow:auto;max-width:100%;scrollbar-width:thin}table{border-collapse:collapse;width:100%;font-size:11px;text-align:left;white-space:nowrap}th{font-weight:600;color:var(--muted);background:var(--surface-alt);font-size:10px}th,td{padding:12px 14px;border-bottom:1px solid var(--border)}td{color:var(--text)}.import-preview{background:var(--surface-alt);border:1px solid var(--border);padding:20px;border-radius:10px;margin-top:20px}.import-preview h3{margin:8px 0 13px}.import-preview>.form-grid{margin-top:20px}.import-preview .muted{font-size:11px}.import-preview summary,details summary{font-size:11px;cursor:pointer;color:var(--muted);line-height:1.7;padding:8px 0}.ai-label{display:flex;align-items:center;gap:8px;color:#8e69b7;background:color-mix(in srgb,#8e69b7 8%,var(--surface));border-radius:7px;padding:11px 13px;margin-bottom:22px;font-size:11px}.json-preview{max-height:220px;overflow:auto;background:var(--surface-alt);border:1px solid var(--border);border-radius:7px;padding:16px}.proposal{padding:20px;background:var(--surface-alt);border:1px solid var(--border);border-radius:10px;margin-top:20px}.proposal h3{margin:8px 0 15px}.proposal>p{font-size:11px;margin:9px 0}.operation{padding:2px 10px;border:1px solid var(--border);border-radius:6px;margin:8px 0;background:var(--surface)}.operation summary{font:11px var(--font-mono);display:flex;align-items:center;gap:12px}.operation pre{max-height:280px;overflow:auto}.op-badge{font-size:8px;padding:4px 7px;border-radius:4px;background:var(--surface-alt);border:1px solid var(--border);color:var(--brand);display:inline-flex}.validation-summary{display:flex;align-items:center;gap:17px;background:color-mix(in srgb,var(--success) 6%,var(--surface));padding:20px;border-radius:9px;margin-bottom:19px}.model-review,.assistant-briefing{min-width:0}.assistant-briefing h3{margin:18px 0 10px;display:flex;align-items:center;gap:8px}.assistant-briefing>p,.assistant-note p{font-size:12px;overflow-wrap:anywhere}.assistant-note{padding:12px 0;border-bottom:1px solid var(--border)}.assistant-note small{display:block;color:var(--muted);font-size:10px;margin-top:5px;overflow-wrap:anywhere}.assistant-provider-note{background:var(--surface-alt);border:1px solid var(--border);border-radius:8px;padding:14px;margin:14px 0;font-size:12px}.assistant-provider-note p{font-size:11px;color:var(--muted);margin-top:6px}.assistant-ai-draft{margin-top:20px;padding:14px;border:1px solid var(--brand);border-radius:8px}.review-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:18px}.review-count{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--border);border-radius:8px;padding:12px;background:var(--surface);color:var(--muted)}.review-count b{font-size:19px;color:var(--text)}.review-count[aria-pressed=true]{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 10%,var(--surface));color:var(--text)}.review-count.error b{color:var(--error)}.review-count.warning b{color:var(--gold)}.review-filters{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:12px}.review-filters .field{min-width:0}.review-filters select{width:100%;min-width:0}.review-search{position:relative}.review-search>svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.review-search input{width:100%;min-width:0;padding-left:36px}.review-toolbar,.review-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.review-toolbar{justify-content:space-between;margin:4px 0 12px}.review-toolbar>span{font-size:12px;color:var(--muted)}.review-actions .text-button{display:inline-flex;align-items:center;gap:5px}.review-scope-note{font-size:11px;line-height:1.7;color:var(--muted);margin:12px 0}.review-results{border:1px solid var(--border);border-radius:8px;overflow:hidden}.review-results .diagnostic>div{min-width:0;overflow-wrap:anywhere}.review-results .diagnostic strong{display:block;font-size:12px;color:var(--text);margin-top:5px;font-weight:500}.review-results .diagnostic:disabled{opacity:1;cursor:default}.review-empty{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:30px 16px;color:var(--muted)}.review-empty b{color:var(--text);font-size:13px}.review-empty p{font-size:12px}@media(max-width:767px){.review-filters{grid-template-columns:minmax(0,1fr);gap:0}.review-count{flex-direction:column;padding:10px 5px;font-size:12px}.review-actions{width:100%;gap:8px}.review-actions .button{flex:1;padding:10px 8px;font-size:11px}.review-actions .text-button{width:100%}.review-results .diagnostic{gap:7px;padding:12px 8px}.review-results .diagnostic>span{width:28px;font-size:10px}}.validation-summary>svg{color:var(--success);flex-shrink:0}.validation-summary b{font-size:13px}.validation-summary p{font-size:11px;color:var(--muted);margin-top:5px}.diagnostic{display:flex;align-items:center;gap:15px;width:100%;text-align:left;padding:14px 10px;border-bottom:1px solid var(--border)}.diagnostic>span{font-size:8px;color:var(--subtle);width:58px;flex-shrink:0}.diagnostic.error>span{color:var(--error)}.diagnostic.warning>span{color:var(--gold)}.diagnostic b{font:10px var(--font-mono)}.diagnostic p{font-size:11px;color:var(--muted);margin-top:4px}.diagnostic>svg{margin-left:auto;flex-shrink:0;color:var(--subtle)}.definitions-layout{display:grid;grid-template-columns:220px minmax(0,1fr);background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;min-height:520px}.definition-list{border-right:1px solid var(--border);padding:15px 10px}.definition-list>.search-box{margin:3px 4px 12px}.definition-content{min-width:0}.definition-title{padding:27px 28px;display:flex;align-items:center;justify-content:space-between;gap:15px}.definition-title h2{margin:8px 0;font-size:23px}.definition-title h2>span{display:block;font-size:12px;letter-spacing:0;font-weight:400;color:var(--muted);margin-top:8px}.definition-title p{color:var(--muted);font-size:11px}.definition-content>.tabs{padding:0 16px;margin:0}.definition-table td{padding-top:17px;padding-bottom:17px}.definition-provenance{margin:24px;color:var(--subtle);font-size:9px;border-top:1px solid var(--border);padding-top:20px;line-height:1.8}.definition-provenance>p{margin-top:8px;font-size:10px}.definition-constraint{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--border);padding:22px 26px;font-size:12px}.definition-constraint>svg{color:var(--gold);flex-shrink:0}.definition-constraint p{font-size:11px;color:var(--muted);margin:6px 0}.definition-constraint small{font-size:9px;color:var(--subtle)}.empty-small{padding:30px;font-size:12px;color:var(--muted)}.version-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:22px}.version-list{border:1px solid var(--border);border-radius:10px;background:var(--surface);align-self:start;padding:12px}.version-item{display:flex;align-items:center;gap:10px;padding:13px 10px;margin-bottom:6px;border-radius:6px;font-size:11px;text-align:left;width:100%}.version-item.active{background:var(--accent-soft)}.version-item>button:first-child{display:flex;align-items:center;gap:10px;text-align:left;flex:1;padding:0}.version-item small{display:block;font-size:9px;color:var(--subtle);margin-top:6px}.version-dot{height:8px;width:8px;border-radius:50%;background:var(--accent)}.version-comparison{min-width:0}.compare-select{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.compare-select select{width:calc(50% - 28px);font-size:12px;max-width:260px}.compare-select .button{font-size:10px;margin-left:auto}.diff-stats{display:flex;gap:22px;border-bottom:1px solid var(--border);padding:20px 0;margin-bottom:20px}.diff-stats>span{display:flex;align-items:center;gap:9px;font-size:10px}.diff-stats b{font-size:20px}.added{color:var(--success)}.removed{color:var(--error)}.changed{color:var(--gold)}.diff{font-size:10px;padding:9px;border-bottom:1px solid var(--border)}.diff-card{padding:18px 20px;background:var(--surface);border:1px solid var(--border);border-radius:9px;margin:12px 0;border-left:3px solid currentColor}.diff-card>div:first-child{display:flex;align-items:center;gap:11px;flex-wrap:wrap}.diff-card b{font-size:12px;color:var(--text)}.diff-card p{font-size:10px;color:var(--subtle);margin-top:10px}.diff-values{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px!important;margin-top:14px}.diff-values pre{background:var(--surface-alt);border:1px solid var(--border);border-radius:6px;max-height:200px;overflow:auto;padding:11px;margin:0;color:var(--muted);font-size:10px}.export-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:25px}.export-options{background:var(--surface);border:1px solid var(--border);border-radius:11px;padding:22px}.export-options h3{margin:0 0 20px;font-size:13px}.export-options>h3:not(:first-child){margin:25px 0 15px;padding-top:20px;border-top:1px solid var(--border)}.export-options>.check{font-size:10px}.export-options>.field{margin-top:15px}.export-options>.form-grid{gap:0 10px}.export-options>.form-grid .field>span{font-size:10px}.export-options>.form-grid select{font-size:11px}.export-options>small{display:block;font-size:10px;line-height:1.8}.export-buttons{display:flex;flex-direction:column;gap:6px}.export-buttons button{display:flex;align-items:center;gap:11px;font-size:11px;border:1px solid var(--border);border-radius:6px;padding:11px 10px;text-align:left}.export-buttons button:hover{background:var(--surface-alt);border-color:var(--brand)}.export-buttons button>svg:first-child{color:var(--brand)}.export-buttons button>svg:last-child{margin-left:auto;color:var(--subtle)}.export-preview{border:1px solid var(--border);background:var(--surface);border-radius:11px;overflow:hidden;min-width:0;align-self:start;min-height:530px}.preview-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);padding:0 18px;gap:10px}.preview-toolbar>span{font-size:8px;letter-spacing:1px;color:var(--subtle)}.preview-toolbar .tabs{border:0;margin:0;min-width:0;max-width:100%}.preview-toolbar .tabs>button{font-size:10px;padding:15px 11px}.svg-preview{padding:15px;min-height:400px;display:flex;align-items:center;background:var(--canvas);overflow:auto}.svg-preview>svg{width:100%;height:auto;max-height:670px;min-height:300px}.output-code{margin:0;padding:24px;font-size:11px;color:var(--muted);max-height:700px;overflow:auto}.import-fields{margin:0;padding:0;border:0;min-width:0}.output-code.markdown{font-family:var(--font-ui);font-size:12px;line-height:1.8}.export-preview>.notice{margin:18px}.bridge-hero{display:flex;gap:26px;align-items:center;padding:30px 35px;background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:27px;background-image:radial-gradient(var(--border) .7px,transparent .7px);background-size:16px 16px}.bridge-symbol{width:95px;height:95px;border:1px solid var(--border);border-radius:50%;display:grid;place-items:center;color:var(--brand);position:relative;flex-shrink:0}.bridge-symbol>div{position:absolute;top:11px;right:11px;bottom:11px;left:11px;border:1px dashed var(--border);border-radius:50%}.bridge-hero h2{margin:8px 0 11px;font-size:23px}.bridge-hero p{font-size:12px;color:var(--muted);background:var(--surface)}.bridge-hero>svg{margin-left:auto;color:var(--success);flex-shrink:0}.connection-layout{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1fr);gap:23px}.step-number{font:12px var(--font-mono);color:var(--accent);display:block;margin-bottom:13px;letter-spacing:2px}.connection-auth>p{font-size:11px;margin-bottom:19px}.connection-health{display:flex;gap:10px;align-items:flex-start;background:var(--surface-alt);border-radius:7px;padding:14px;color:var(--success);font-size:11px;line-height:1.7;margin-top:19px}.connection-auth details{margin-top:20px}.connection-auth pre{padding:12px;background:var(--surface-alt);border:1px solid var(--border);border-radius:5px;font-size:10px}.connection-auth details>p{font-size:10px}.connection-db>.form-grid{align-items:start}.connection-db>.form-grid>.button{margin-top:25px;min-height:40px;font-size:11px}.db-table-picker{background:var(--surface-alt);border:1px solid var(--border);border-radius:7px;padding:9px 12px;max-height:250px;overflow:auto;margin:12px 0}.db-table-picker:empty{display:none}.db-table-picker label{font:11px var(--font-mono);padding:6px 0}.db-table-picker small{margin-left:auto;font-size:8px;color:var(--subtle)}.connection-db>.muted{font-size:10px;margin:9px 0}.sqlite-panel{margin-top:24px;display:flex;gap:30px;align-items:center}.sqlite-panel>div:first-child{flex:1}.sqlite-panel p{font-size:11px}.sqlite-panel>div:last-child{width:310px;display:flex;flex-direction:column;gap:15px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.settings-grid .muted{font-size:11px;margin:14px 0}.settings-grid .surface>h3>svg{color:var(--brand)}.theme-options{display:grid;grid-template-columns:1fr 1fr;gap:14px}.theme-options button{display:flex;flex-direction:column;align-items:flex-start;gap:13px;background:var(--surface-alt);border:1px solid var(--border);border-radius:9px;padding:22px;text-align:left}.theme-options button.selected{border-color:var(--accent);background:var(--accent-soft)}.theme-options button>svg{color:var(--brand)}.theme-options b{font-size:12px}.theme-options span{font-size:10px;color:var(--muted)}.storage-amount{font-size:30px;font-weight:600;letter-spacing:-1px}.storage-amount>span{font-size:10px;letter-spacing:0;margin-left:12px;font-weight:400;color:var(--muted)}.settings-grid .surface>.field{margin-top:21px}.brand-card{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.brand-monogram{width:50px;height:56px;color:var(--accent);border:1px solid var(--accent);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:var(--accent-soft);display:grid;place-items:center;font-size:25px;margin-bottom:18px}.brand-card h3{margin-top:10px;margin-bottom:8px}.brand-card p{font-size:11px;color:var(--muted)}.brand-card small{font-size:10px;color:var(--subtle);margin-top:13px}.pwa-update{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--brand);color:var(--surface);padding:16px 22px;border-radius:10px;box-shadow:var(--shadow);z-index:80;font-size:12px}@media(min-width:1650px){.editor.with-explorer{grid-template-columns:240px minmax(0,1fr) 0}.editor.with-inspector{grid-template-columns:0 minmax(0,1fr) 320px}.editor.with-explorer.with-inspector{grid-template-columns:240px minmax(0,1fr) 320px}.home-heading h1{font-size:42px}}@media(max-width:1200px){.page-scroll{padding:32px 30px 24px}.start-actions{gap:10px}.start-card{padding:14px;gap:9px}.start-card>svg{display:none}.start-card span{font-size:9px}.start-icon{width:31px;height:31px}.hero-blueprint{width:340px;transform:scale(.9);transform-origin:right center}.home-heading h1{font-size:31px}.topbar-tools{gap:0}.topbar-tools .icon-button{min-width:31px;width:31px}.editor-topbar{gap:12px;padding:0 14px}.project-title b{max-width:160px;font-size:11px}.name-mode button{padding:6px 8px}.canvas-label{display:none}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.export-layout{gap:17px;grid-template-columns:260px minmax(0,1fr)}.breadcrumb-project{display:none}.inspector{font-size:11px}.editor.with-explorer.with-inspector{grid-template-columns:205px minmax(0,1fr) 270px}.editor.with-explorer{grid-template-columns:205px minmax(0,1fr) 0}.editor.with-inspector{grid-template-columns:0 minmax(0,1fr) 270px}.inspector-section,.inspector-entity{padding-left:18px;padding-right:18px}}@media(max-width:950px){.home-heading{min-height:210px}.hero-blueprint{width:260px;transform:scale(.8);height:225px;margin-left:-30px}.start-actions{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:30px}.start-card{min-height:80px}.start-card>svg{display:block}.start-card span{font-size:10px}.start-icon{width:38px;height:38px}.demo-banner{padding:20px;flex-wrap:wrap}.demo-banner>.chip{margin-left:auto}.demo-banner .button{margin-left:auto}.editor.with-inspector.with-explorer{grid-template-columns:205px minmax(0,1fr) 0}.editor .inspector{position:absolute;right:0;top:66px;bottom:29px;width:280px;box-shadow:-8px 0 24px #1421331f}.editor.with-inspector{grid-template-columns:0 minmax(0,1fr) 0}.editor-topbar .name-mode{margin-left:auto}.topbar-tools{gap:0}.topbar-tools .toolbar-divider,.ai-button span{display:none}.ai-button{padding:8px;margin-left:4px}.breadcrumb,.header-divider{display:none}.version-layout{grid-template-columns:210px minmax(0,1fr);gap:15px}.definitions-layout{grid-template-columns:190px minmax(0,1fr)}.connection-layout{grid-template-columns:1fr}.sqlite-panel{align-items:flex-start;flex-direction:column}.sqlite-panel>div:last-child{width:100%}.theme-options{gap:9px}.theme-options button{padding:15px}.bridge-hero{padding:25px;gap:20px}.bridge-hero p>br{display:none}.compare-select .button{margin:0}.export-layout{grid-template-columns:230px minmax(0,1fr)}.export-options{padding:17px}.preview-toolbar>span{display:none}.preview-toolbar{justify-content:center}.canvas-legend{gap:10px;font-size:8px}}@media(max-width:767px){.icon-rail{width:51px;padding:10px 4px;gap:7px}.brand-mark{width:39px;height:40px}.brand-mark span{left:13px}.rail-button{width:40px;height:43px}.rail-avatar{width:28px;height:28px;font-size:8px}.rail-divider{margin:5px 0}.app-header{height:52px;min-height:52px;padding:0 15px;gap:9px}.brand-wordmark{font-size:10px;letter-spacing:1px}.brand-wordmark>span{font-size:6px;letter-spacing:2px}.header-right{gap:10px}.header-right>span{font-size:7px;letter-spacing:0}.header-right>span>svg{width:11px}.header-help{display:none}.page-scroll{padding:26px 20px 24px}.home-heading{padding:4px 0 24px;min-height:0;display:block}.home-heading h1{font-size:29px;letter-spacing:-1px;line-height:1.45}.home-heading p{font-size:11px}.home-heading .eyebrow{font-size:8px;margin-bottom:11px;letter-spacing:1.3px}.hero-blueprint{display:none}.start-actions{gap:9px;margin-bottom:27px}.start-card{padding:13px 10px;flex-direction:column;align-items:flex-start;gap:10px;min-height:116px;position:relative;border-radius:8px}.start-card>svg{position:absolute;right:10px;top:15px;width:14px}.start-icon{width:29px;height:29px;border-radius:6px}.start-icon>svg{width:18px}.start-card b{font-size:11px;margin-bottom:5px}.start-card span{font-size:8px;letter-spacing:-.3px}.project-heading{flex-direction:column;align-items:stretch;gap:15px;margin-bottom:16px}.project-heading h2{font-size:17px}.project-heading p{font-size:10px}.project-heading .search-box{flex:1;width:auto}.project-heading>.inline{gap:3px}.project-grid{grid-template-columns:1fr;gap:16px}.home-empty{min-height:165px;padding:27px 14px}.home-empty h3{font-size:12px}.home-empty p{font-size:10px}.demo-banner{gap:11px;padding:17px}.demo-art{width:37px;height:37px}.demo-art>svg{width:19px}.demo-banner>div:nth-child(2){flex:1;min-width:0}.demo-banner .eyebrow{font-size:7px;letter-spacing:1px}.demo-banner h3{font-size:10px;letter-spacing:0}.demo-banner p{font-size:9px;line-height:1.6}.demo-banner>.chip{display:none}.demo-banner .button{width:100%;font-size:11px;margin-top:4px;min-height:42px}.home-footer{font-size:7px;letter-spacing:.3px;gap:10px;flex-wrap:wrap}.home-footer>span:last-child{gap:5px;font-size:6px}.page-heading{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:23px}.page-heading h1{font-size:25px;letter-spacing:-1px}.page-heading p{font-size:11px}.page-heading .eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:9px}.page-heading .button{font-size:10px;min-height:38px;padding:9px 11px}.page-heading .inline-wrap{gap:6px}.editor,.editor.with-inspector,.editor.with-explorer,.editor.with-explorer.with-inspector{grid-template-columns:0 minmax(0,1fr) 0;grid-template-rows:92px minmax(0,1fr) 26px 56px}.editor-topbar{height:92px;flex-wrap:wrap;gap:0 8px;padding:10px 11px 6px;align-content:space-between}.project-title{max-width:calc(100% - 108px)}.project-title b{font-size:10px;max-width:190px}.project-dot{width:7px;height:7px}.project-title>div>span{font-size:7px;margin-top:4px;gap:5px}.name-mode{margin-left:auto!important;padding:2px}.name-mode button{font-size:8px;padding:5px 8px}.topbar-tools{width:100%;justify-content:space-between;gap:0;margin:4px 0 0}.topbar-tools .icon-button{height:35px;min-width:31px;width:31px}.topbar-tools .icon-button>svg{width:17px}.ai-button{height:34px;min-height:34px;padding:8px 10px}.canvas-region{grid-column:2;grid-row:2}.explorer{position:absolute;grid-column:1 / -1;grid-row:1 / -1;left:0;top:92px;bottom:82px;width:min(260px,100%);box-shadow:8px 0 20px #1421331f;z-index:25}.editor .inspector{position:absolute;grid-column:1 / -1;grid-row:1 / -1;left:0;right:0;top:auto;bottom:82px;height:72%;width:100%;border-radius:14px 14px 0 0;border-top:1px solid var(--border);z-index:27;box-shadow:0 -8px 25px #1421331f}.inspector .panel-title{position:sticky;top:0;background:var(--surface);z-index:1;height:46px}.inspector-entity{padding:17px 20px}.inspector-icon{float:left;margin:0 13px 10px 0;width:35px;height:35px}.inspector-entity>.chip{float:right;margin:0}.inspector-entity h2{font-size:16px;margin-top:1px}.inspector-entity p{margin-bottom:11px;font-size:11px}.inspector-entity .mono{font-size:10px;margin:7px 0 16px}.inspector-section{padding:17px 20px}.mobile-editor-nav{display:flex;grid-column:1/-1;grid-row:4;border-top:1px solid var(--border);background:var(--surface);align-items:center;justify-content:space-around;padding-bottom:env(safe-area-inset-bottom);z-index:30}.mobile-editor-nav button{height:50px;min-width:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:8px;color:var(--muted)}.editor-status{grid-row:3;padding:0 8px;gap:8px;font-size:7px;overflow:hidden}.editor-status .status-counts{display:none}.editor-status>button{font-size:7px;margin-left:auto}.editor-status>.status-source{display:none}.canvas-toolbar{gap:0;padding:3px}.canvas-toolbar .icon-button{width:31px;min-width:31px;height:34px}.canvas-toolbar .icon-button svg{width:16px}.canvas-toolbar .toolbar-divider{margin:0 2px}.react-flow__panel.top.left{margin:10px}.react-flow__minimap{display:none}.canvas-legend{font-size:7px;padding:8px 9px;gap:8px;white-space:nowrap}.canvas-legend>span:last-of-type{display:none}.react-flow__panel.bottom.center{bottom:5px;margin-bottom:0}.react-flow__controls{margin-bottom:46px!important;margin-left:10px!important}.diagram.canvas-maximized{top:52px;right:0;bottom:0;left:51px}.canvas-empty h2{font-size:17px}.canvas-empty .eyebrow{font-size:8px}.canvas-empty p{font-size:10px}.canvas-empty .button{font-size:11px}.empty-orbit{width:66px;height:66px;margin-bottom:18px}.floating-error{left:10px;right:10px;bottom:100px;font-size:10px}.modal,.modal.wide{width:calc(100vw - 20px);max-height:94dvh;border-radius:12px}.modal-header{padding:18px;gap:8px}.modal-header h2{font-size:18px}.modal-header p{font-size:10px}.modal-body{padding:18px;max-height:calc(94dvh - 115px)}input,select,textarea{font-size:16px;min-height:44px}.field>span{font-size:11px}.form-grid{gap:0 12px}.modal .button{min-height:44px}.modal-footer{flex-wrap:wrap;padding-top:16px}.modal-footer .button{font-size:11px}.icon-button{min-height:44px;min-width:44px}.panel-title .icon-button{min-width:36px;height:44px;width:36px}.column-editor-head{display:none}.column-editor{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 60px;gap:8px;padding:12px 0}.column-editor>div>input,.column-editor>div>select{font-size:16px;min-height:44px;padding:9px 7px}.column-actions{grid-column:1/-1;justify-content:flex-end;border-top:0}.column-actions .icon-button{height:44px;width:44px;min-width:44px}.constraint-editor{grid-template-columns:minmax(0,1fr) 44px;padding:12px;gap:10px}.constraint-editor>select{grid-column:1}.constraint-editor>input{grid-column:1;grid-row:2}.constraint-editor>.icon-button{grid-column:2;grid-row:1}.constraint-editor input,.constraint-editor select{font-size:16px;min-height:44px}.check-list{gap:10px}.check-list label{min-height:36px;font-size:11px}.tabs>button{padding:10px 13px;font-size:11px;min-height:44px}.mapping-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px}.mapping-grid select{font-size:16px;min-height:44px}.mapping-grid .field>span{font-size:9px}.upload-box{padding:14px;gap:10px}.upload-box b{font-size:11px}.upload-box input{font-size:12px}.code-input{font-size:16px}.check{font-size:11px;min-height:40px;align-items:flex-start}.check input{margin-top:3px}.diagnostic{gap:10px;padding:13px 0}.diagnostic>span{width:43px;font-size:7px}.diagnostic p{font-size:10px}.definitions-layout{grid-template-columns:1fr;min-height:400px}.definition-list{border-right:0;border-bottom:1px solid var(--border);max-height:235px;overflow:auto}.definition-list>.search-box{margin:0 4px 10px}.definition-list .table-list-item{padding:10px}.definition-list .table-list-item b{font-size:12px}.definition-list .table-list-item small{font-size:10px}.definition-title{padding:20px}.definition-title h2{font-size:20px}.definition-title .chip{font-size:8px}.definition-provenance{margin:18px}.version-layout{grid-template-columns:1fr;gap:19px}.version-list{max-height:260px;overflow:auto}.compare-select{gap:7px}.compare-select select{max-width:none;width:calc(50% - 19px);font-size:16px}.compare-select .button{min-height:40px;font-size:11px}.diff-card{padding:15px 12px}.diff-card b{font-size:11px}.diff-values{gap:9px!important}.diff-values pre{font-size:9px;padding:8px;max-height:180px}.export-layout{grid-template-columns:1fr;gap:20px}.export-options{padding:20px}.export-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.export-buttons button{font-size:10px;min-height:52px;padding:10px 8px;gap:7px;flex-wrap:wrap}.export-buttons button>svg:last-child{display:none}.export-preview{min-height:280px}.svg-preview{min-height:230px;padding:5px}.svg-preview>svg{min-height:230px}.output-code{font-size:10px;padding:18px}.bridge-hero{gap:15px;padding:20px}.bridge-symbol{width:52px;height:52px}.bridge-symbol>svg{width:23px}.bridge-hero h2{font-size:17px;line-height:1.5}.bridge-hero .eyebrow{font-size:7px}.bridge-hero p{font-size:10px}.bridge-hero>svg{display:none}.surface{padding:20px}.connection-layout{gap:18px}.connection-db>.form-grid{grid-template-columns:1fr}.connection-db>.form-grid>.button{margin:0 0 15px}.db-table-picker label{padding:8px 0}.sqlite-panel{padding:20px;gap:15px}.sqlite-panel .button{font-size:10px;white-space:normal;min-height:46px}.sqlite-panel input{font-size:12px}.settings-grid{grid-template-columns:1fr;gap:18px}.theme-options button{padding:16px 13px}.theme-options b{font-size:11px}.theme-options span{font-size:9px}.theme-options>button{gap:12px}.brand-card{padding:32px 20px}.pwa-update{width:calc(100% - 40px);font-size:11px;bottom:15px;padding:15px}.recovery{padding:25px;gap:15px}.recovery h1{font-size:22px}.modal .check-list{font-size:11px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.standards-summary,.standards-review-banner{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:20px}.standards-review-banner>div{flex:1;min-width:180px}.standards-review-banner p{margin:8px 0 0;color:var(--muted)}.standards-actions{margin:20px 0 12px}.standards-actions input[type=file]{max-width:150px;font-size:11px}.standards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:18px;margin-top:20px}.standard-card h3{margin:0;overflow-wrap:anywhere}.standard-card p{overflow-wrap:anywhere;line-height:1.7}.standard-review-table{max-height:45vh;margin:20px 0}.standard-review-table small{display:block;margin-top:7px;color:var(--muted)}.report-field-list{display:flex;flex-wrap:wrap;gap:14px;margin:15px 0}.template-order{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px}.template-order>div{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:9px;padding:5px 10px}.template-order span{flex:1}.standard-column-picker{display:flex;align-items:center;flex-wrap:wrap;gap:14px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:10px;margin:12px 0}.standard-column-picker .field{flex:1;min-width:160px;margin:0}.report-template-summary{display:grid;gap:8px;margin:10px 0;padding:12px;border:1px solid var(--border);border-radius:10px}.report-template-summary small{color:var(--muted)}.standards-page .notice{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-bottom:15px}@media(max-width:767px){.standards-summary{padding:18px;gap:10px}.standards-page .standards-actions{gap:8px}.standards-actions .button{font-size:11px}.standards-review-banner .button{flex:1}.template-order{grid-template-columns:1fr}.standard-card{padding:18px}.standard-review-table{max-height:40vh}}.decision-panel summary{cursor:pointer;color:var(--text);padding-block:8px}.decision-panel fieldset{margin-block:12px}.decision-panel textarea,.decision-panel select{width:100%;min-width:0}.decision-panel p{overflow-wrap:anywhere}.decision-result{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}.decision-probability{display:grid;grid-template-columns:minmax(88px,1fr) minmax(50px,2fr) 64px;align-items:center;gap:8px;margin-block:10px}.decision-probability progress{width:100%;height:9px;accent-color:var(--accent)}.decision-probability output{text-align:right;font-variant-numeric:tabular-nums}.eunjo-symbol{display:block;flex-shrink:0}.brand-mark .eunjo-symbol{width:44px;height:44px}.brand-wordmark{line-height:1;letter-spacing:0;color:var(--text)}.brand-wordmark>div{display:flex;align-items:baseline;gap:8px}.brand-wordmark strong{font-size:19px;font-weight:780;letter-spacing:2.3px}.brand-wordmark b{font-size:10px;font-weight:550;letter-spacing:.5px;color:var(--muted)}.brand-wordmark>span{font-family:var(--font-mono);font-size:8px;letter-spacing:2.4px;color:var(--muted);margin-top:6px}.icon-rail{background:#10273d;color:#b5c7d8;border-color:#2b435a}.rail-button,.icon-rail>.icon-button{color:#b5c7d8}.rail-button.active{background:#26465f;color:#f6dec7}.rail-button.active:before{background:#e9a76d}.rail-button:hover,.icon-rail>.icon-button:hover{background:#1c3a53}.app-header{padding-inline:22px}.button{background:var(--brand);color:var(--on-brand);font-size:13px;font-weight:600}.button.secondary{background:var(--surface);color:var(--text)}.text-button{font-size:13px;font-weight:550}.eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:1.8px}h1{font-weight:730;letter-spacing:-.045em}h2{font-weight:680;letter-spacing:-.025em}h3{font-weight:650;letter-spacing:-.015em}.home-heading h1{font-size:clamp(32px,3.1vw,47px);line-height:1.3;font-weight:730}.home-heading h1>span{color:var(--brand)}.home-heading p{font-size:14px}.home-intro-link{margin-top:15px;display:inline-flex;gap:8px;align-items:center;font-size:13px;font-weight:600;color:var(--brand)}.project-heading h2{font-size:20px}.start-card b{font-size:14px;font-weight:650;letter-spacing:-.015em}.start-card span{font-size:12px}.start-card.primary{background:var(--surface);border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.start-card.primary>svg{color:var(--brand)}.start-icon,.start-icon.purple,.start-icon.blue{color:var(--brand);background:color-mix(in srgb,var(--brand) 10%,var(--surface))}.start-icon.green{color:var(--success);background:color-mix(in srgb,var(--success) 10%,var(--surface))}.table-node-header strong{font-family:var(--font-ui);font-size:13px;font-weight:680;letter-spacing:-.01em}.table-node-header small{font-family:var(--font-ui);font-size:10px}.node-column-name{font-family:var(--font-ui);font-size:11px;line-height:13px;letter-spacing:-.01em}.node-column-name>small{font-family:var(--font-ui);font-size:8px;line-height:10px}.node-type{font-family:var(--font-mono);font-size:8px}.node-meta{font-size:8px;letter-spacing:.2px}.node-foot{font-family:var(--font-mono);font-size:8px}.field>span{font-size:12px;font-weight:600}.inspector-column b,.export-preview{font-family:var(--font-mono)}.breadcrumb,.save-status{font-size:12px}.project-card h3{font-size:17px}.recovery{font-family:var(--font-ui)}@media(max-width:900px){.brand-wordmark strong{font-size:16px;letter-spacing:1.5px}.brand-wordmark b{font-size:9px}.brand-wordmark>span{font-size:7px;letter-spacing:1.8px}}@media(max-width:600px){.app-header{padding-inline:12px}.brand-wordmark strong{font-size:15px}.brand-wordmark b{font-size:8px}.home-heading h1{font-size:32px}.home-heading p{font-size:13px}.home-intro-link{font-size:12px}}
