:root{--bg:#0b1017;--panel:#151c26;--panel-strong:#1d2632;--line:rgba(219,232,242,0.14);--text:#edf3f8;--muted:#8ea0ad;--blue:#5db8ff;--green:#56d08f;--font:"Pretendard","Avenir Next",Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:linear-gradient(180deg,rgba(28,38,50,.94),rgba(8,12,18,.98)),radial-gradient(circle at top left,rgba(93,184,255,.16),transparent 32%);color:var(--text);font-family:var(--font)}a,button,select,textarea{font:inherit}button{border:1px solid rgba(219,232,242,.14);border-radius:7px;background:rgba(25,34,46,.86);color:var(--text);cursor:pointer}a{color:inherit;text-decoration:none}button.active,button:hover{border-color:rgba(93,184,255,.5);background:rgba(40,62,82,.88)}button:disabled{cursor:not-allowed;border-color:rgba(219,232,242,.08);background:rgba(25,34,46,.42);color:rgba(237,243,248,.38)}.playground{display:grid;grid-template-columns:360px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;overflow:auto;border-right:1px solid var(--line);background:rgba(10,15,22,.78);padding:22px 18px}.brand{display:flex;align-items:center;gap:12px;margin-bottom:28px}.brand>span{display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(93,184,255,.42);border-radius:8px;background:linear-gradient(180deg,#263241,#151d27);font-weight:800}.brand small,.brand strong{display:block}.brand small{margin-top:3px;color:var(--muted)}.sidebar section{margin-top:22px}.example-menu{border-bottom:1px solid var(--line);padding-bottom:18px}.example-menu section:first-child{margin-top:0}.sidebar h2{margin:0 0 8px;color:var(--muted);font-size:11px;letter-spacing:0;text-transform:uppercase}.sidebar button{display:block;width:100%;margin:6px 0;padding:9px 10px;text-align:left}.ai-builder{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0}.ai-status{display:inline-flex;align-items:center;min-height:26px;margin-bottom:10px;border:1px solid rgba(219,232,242,.14);border-radius:999px;background:rgba(21,28,38,.8);color:#cdd8e2;padding:5px 10px;font-size:11px;font-weight:800}.ai-status.generating,.ai-status.ready,.ai-status.reviewing{border-color:rgba(93,184,255,.36);color:#bfe3ff}.ai-status.applied{border-color:rgba(86,208,143,.36);color:#bfead0}.ai-status.error{border-color:rgba(255,107,138,.4);color:#ffb4c2}.ai-result-card{display:grid;gap:7px;margin-bottom:12px;border:1px solid rgba(219,232,242,.12);border-radius:8px;background:rgba(21,28,38,.56);padding:10px}.ai-result-card div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px;align-items:baseline}.ai-result-card span{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.ai-result-card strong{min-width:0;color:#edf3f8;font-size:12px;line-height:1.35;overflow-wrap:anywhere}.ai-result-card .ai-result-reason{align-items:start}.ai-result-card .ai-result-reason strong{color:#cfe0ec}.chat-log{display:grid;gap:8px;max-height:280px;overflow:auto;padding-right:4px}.chat-message{border:1px solid rgba(219,232,242,.12);border-radius:8px;padding:10px;background:rgba(21,28,38,.72)}.chat-message.user{border-color:rgba(93,184,255,.3);background:rgba(34,55,72,.7)}.chat-message span{display:block;margin-bottom:5px;color:var(--blue);font-size:11px;font-weight:800}.ai-error,.ai-summary,.ai-warnings,.chat-message p{margin:0;color:#d7e2eb;font-size:12px;line-height:1.45}.ai-builder label{display:grid;gap:7px;margin-top:12px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.ai-builder textarea{min-height:120px;resize:vertical;padding:10px;font-family:SFMono-Regular,Consolas,monospace;font-size:11px;line-height:1.45}.ai-builder select,.ai-builder textarea{width:100%;border:1px solid rgba(219,232,242,.14);border-radius:8px;outline:none;background:#0c1119;color:#e7eef5;text-transform:none}.ai-builder select{padding:9px 10px;font-size:12px}.ai-builder select:focus{border-color:rgba(93,184,255,.52)}.ai-builder label:last-of-type textarea{min-height:82px;font-family:var(--font)}.ai-builder textarea:focus{border-color:rgba(93,184,255,.52)}.prompt-presets{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.prompt-presets button{margin:0;padding:7px 8px;border-color:rgba(219,232,242,.1);color:#cdd8e2;font-size:11px;text-align:center}.ai-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.ai-actions button{margin:0;text-align:center}.ai-summary{margin-top:10px;color:var(--green)}.ai-error{margin-top:10px;color:#ff9fb0}.ai-warnings{display:grid;gap:4px;margin-top:8px;padding-left:18px;color:#f3d49b}.workspace{min-width:0;padding:24px}.hero{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.hero p{margin:0 0 4px;color:var(--muted);font-size:13px}.hero h1{margin:0;font-size:28px;line-height:1.15}.hero-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.editor-actions button,.hero button,.hero-actions a{display:inline-flex;align-items:center;min-height:38px;border:1px solid rgba(219,232,242,.14);border-radius:7px;background:rgba(25,34,46,.86);color:var(--text);padding:9px 12px}.hero-actions a:hover{border-color:rgba(93,184,255,.5);background:rgba(40,62,82,.88)}.panel{border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,rgba(255,255,255,.045),transparent),var(--panel);box-shadow:0 20px 60px rgba(0,0,0,.26)}.panel-title{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:14px 16px}.panel-title span{color:var(--muted);font-size:12px}.preview{height:470px;margin-bottom:18px;overflow:hidden}.preview-scroll{height:calc(100% - 49px);min-height:320px;overflow:hidden}.scrollable-preview .preview-scroll{overflow:auto}.preview-canvas{width:100%;height:100%;min-width:var(--preview-min-width,100%);min-height:var(--preview-min-height,100%)}.doughnut-scroll-example{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:12px;width:100%;height:100%;min-height:100%;padding:8px 10px 10px}.doughnut-scroll-chart{width:100%;height:100%;min-width:0;min-height:0}.doughnut-scroll-legend{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;overflow:hidden;border-left:1px solid rgba(219,232,242,.12);padding:12px 4px 4px 14px}.doughnut-scroll-legend-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:0 10px 10px 2px}.doughnut-scroll-legend-heading span{color:#edf3f8;font-size:12px;font-weight:800}.doughnut-scroll-legend-heading strong{color:#7dd3fc;font-size:13px}.doughnut-scroll-list{min-height:0;overflow-y:auto;scrollbar-color:rgba(125,211,252,.45) rgba(15,23,42,.36);scrollbar-width:thin;padding-right:8px}.doughnut-scroll-item{display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:38px;border-bottom:1px solid rgba(219,232,242,.08);color:#dbe8f1;font-size:11px}.doughnut-scroll-item i{width:8px;height:8px;border-radius:50%;box-shadow:0 0 8px currentColor}.doughnut-scroll-item strong{color:#f8fbff;font-size:11px}.doughnut-scroll-item small{grid-column:2/4;margin-top:-8px;color:#8ea0ad;font-size:10px}.globe-map-example,.kchart-react-root{width:100%;height:100%;min-height:100%}.globe-map-example{position:relative;overflow:hidden}.globe-map-chart-layer,.globe-map-tile-layer{position:absolute;inset:0;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden}.globe-map-tile-layer{z-index:1;background:#dbe5ed}.globe-map-chart-layer{z-index:2}.globe-map-chart-layer svg{display:block;width:100%;height:100%}.globe-map-tile-layer .kchart-maplibre-canvas,.globe-map-tile-layer .kchart-maplibre-overlay,.globe-map-tile-layer .maplibregl-map{width:100%;height:100%}.globe-map-example.is-map-active .globe-map-tile-layer{z-index:2;pointer-events:auto}.globe-map-example.is-map-active .globe-map-chart-layer{z-index:3;pointer-events:none!important}.globe-map-example.is-map-active .globe-map-chart-layer *{pointer-events:none!important}.globe-map-example.is-map-active .globe-map-chart-layer svg{opacity:0}.us-route-example{position:relative;width:100%;height:100%;min-height:100%;overflow:hidden;background:#0b1722}.us-route-map,.us-route-overlay{position:absolute;inset:0;width:100%;height:100%}.us-route-map .maplibregl-map{width:100%;height:100%}.us-route-overlay{z-index:2;pointer-events:none;overflow:visible}.us-route-path{fill:none;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 3px rgba(3,10,18,.72))}.us-route-path-air{stroke-dasharray:10 8}.us-route-flow{fill:none;stroke:rgba(255,255,255,.86);stroke-width:2;stroke-linecap:round;stroke-dasharray:3 18;opacity:.88}.is-route-animating .us-route-flow{animation:us-route-flow 1.15s linear infinite}@keyframes us-route-flow{to{stroke-dashoffset:-42}}.us-route-mode-badge text,.us-route-stop text{fill:#ffffff;font-family:Inter,Pretendard,sans-serif;font-size:9px;font-weight:900;paint-order:stroke;stroke:rgba(6,16,25,.7);stroke-width:2px}.us-route-mode-badge circle{stroke:rgba(255,255,255,.92);stroke-width:2px;filter:drop-shadow(0 4px 8px rgba(3,10,18,.48))}.us-route-stop{pointer-events:auto;cursor:pointer;outline:none}.us-route-stop path{stroke:#ffffff;stroke-width:2.5px;filter:drop-shadow(0 3px 5px rgba(3,10,18,.62))}.us-route-stop:focus path,.us-route-stop:hover path{stroke-width:4px}.us-route-stop .us-route-stop-label{fill:#f8fbff;font-size:11px;stroke-width:3px}.us-route-callout,.us-route-legend,.us-route-toolbar{position:absolute;z-index:4;border:1px solid rgba(231,241,248,.2);border-radius:8px;background:rgba(7,17,27,.86);box-shadow:0 12px 30px rgba(2,8,15,.25);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.us-route-toolbar{top:12px;right:12px;display:flex;align-items:center;gap:18px;padding:9px 10px 9px 12px}.us-route-toolbar>div{display:grid;gap:1px}.us-route-callout strong,.us-route-legend strong,.us-route-toolbar strong{color:#f8fbff;font-size:12px}.us-route-callout span,.us-route-toolbar span{color:#a8bac7;font-size:10px}.us-route-animation-toggle{display:inline-flex;align-items:center;gap:7px;min-height:32px;border:1px solid rgba(143,216,255,.28);border-radius:7px;background:rgba(93,184,255,.14);color:#e9f7ff;padding:6px 9px;font-size:10px;font-weight:800}.us-route-animation-toggle>span{display:grid;width:18px;height:18px;place-items:center;border-radius:50%;background:#5db8ff;color:#07111b;font-size:8px}.us-route-legend{left:12px;bottom:12px;display:grid;gap:7px;width:168px;padding:11px 12px}.us-route-legend>div{display:grid;grid-template-columns:20px 34px minmax(0,1fr);align-items:center;gap:5px;color:#b8c8d2;font-size:10px}.us-route-legend i{width:18px;height:4px;border-radius:2px}.us-route-legend b{color:#f8fbff;font-size:9px}.us-route-callout{top:70px;right:12px;display:flex;align-items:center;gap:9px;min-width:180px;padding:9px 11px}.us-route-callout>i{display:grid;width:27px;height:27px;flex:0 0 27px;place-items:center;border-radius:50%;color:#07111b;font-style:normal;font-size:11px;font-weight:900}.us-route-callout>div{display:grid;gap:1px}.us-route-error{position:absolute;inset:auto 12px 12px auto;z-index:6;margin:0;border-radius:7px;background:rgba(95,17,24,.92);color:#ffe4e6;padding:9px 12px;font-size:11px}.cesium-route-example{position:relative;width:100%;height:100%;min-height:100%;overflow:hidden}.cesium-route-error,.cesium-route-loading{position:absolute;inset:0;display:grid;place-items:center;padding:24px;color:#d9e7ef;font-size:13px;font-weight:800;text-align:center;background:radial-gradient(circle at 50% 42%,rgba(64,167,255,.12),rgba(8,16,28,.92) 62%)}.cesium-route-error{color:#ffd1d1}.direct-renderer-interaction .kchart-tooltip-overlay{pointer-events:none!important}.kchart-three-constellation-label{position:absolute;right:18px;bottom:14px;z-index:5;pointer-events:none;border:1px solid rgba(143,216,255,.24);border-radius:6px;background:rgba(8,17,31,.76);color:#dff5ff;padding:7px 10px;font-size:11px;font-weight:700}.code-panel{overflow:hidden}.tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);padding:10px}.tabs .stackblitz-link,.tabs button{padding:8px 11px}.tabs .stackblitz-link{display:inline-flex;align-items:center;justify-content:center;min-height:36px;border:1px solid var(--line);border-radius:7px;background:rgba(93,184,255,.1);color:var(--text);font-size:13px;font-weight:700;text-decoration:none}.tabs .stackblitz-link:hover{border-color:var(--accent);color:#f8fbff}.tabs .stackblitz-link.disabled{cursor:not-allowed;opacity:.45;background:rgba(143,160,174,.08)}.code-view{min-height:360px;max-height:520px;margin:0;overflow:auto;padding:18px;background:#0c1119;color:#e7eef5;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.55}.api-reference{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:520px;background:#0c1119}.api-reference-nav{display:flex;flex-direction:column;gap:6px;border-right:1px solid rgba(219,232,242,.1);padding:18px 14px;background:rgba(5,9,16,.38)}.api-reference-nav strong{margin-bottom:8px;color:#f8fbff;font-size:13px;letter-spacing:0}.api-reference-nav a{border-radius:7px;color:var(--muted);padding:8px 10px;text-decoration:none;font-size:13px;font-weight:700}.api-reference-nav a:hover{background:rgba(93,184,255,.1);color:#f8fbff}.api-reference-content{max-height:620px;overflow:auto;padding:18px}.api-reference-hero{border:1px solid rgba(143,216,255,.18);border-radius:8px;background:linear-gradient(135deg,rgba(93,184,255,.14),rgba(86,208,143,.08));padding:18px}.api-reference-hero h2,.api-reference-hero p,.api-reference-hero span{margin:0}.api-reference-hero p{color:#8fd8ff;font-size:12px;font-weight:800;text-transform:uppercase}.api-reference-hero h2{margin-top:7px;color:#f8fbff;font-size:24px}.api-reference-hero span{display:block;margin-top:8px;color:var(--muted);font-size:13px;line-height:1.5}.api-reference-section{padding-top:24px}.api-reference-section-title{margin-bottom:10px}.api-reference-section-title h3,.api-reference-section-title p{margin:0}.api-reference-section-title h3{color:#f8fbff;font-size:18px}.api-reference-section-title p{margin-top:5px;color:var(--muted);font-size:13px;line-height:1.45}.api-reference-list{display:grid;gap:10px}.api-reference-card{border:1px solid rgba(219,232,242,.12);border-radius:8px;background:rgba(14,21,31,.78);padding:14px}.api-reference-card-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.api-reference-card-heading strong{color:#f8fbff;font-size:14px}.api-reference-card-heading span{color:#8fd8ff;font-size:11px;font-weight:800;text-transform:uppercase}.api-reference-card code{display:block;margin-top:9px;overflow-x:auto;border:1px solid rgba(143,216,255,.16);border-radius:6px;background:rgba(5,9,16,.52);color:#dff5ff;padding:8px 9px;font-family:SFMono-Regular,Consolas,monospace;font-size:11px}.api-reference-card p{margin:9px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.editor{display:grid;gap:12px;padding:14px}.editor-note{margin:0;border:1px solid rgba(86,208,143,.24);border-radius:8px;background:rgba(86,208,143,.08);color:#bfead0;padding:10px 12px;font-size:12px;line-height:1.45}.editor textarea{width:100%;min-height:430px;resize:vertical;border:1px solid rgba(219,232,242,.14);border-radius:8px;outline:none;background:#0c1119;color:#e7eef5;padding:16px;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.55}.editor textarea:focus{border-color:rgba(93,184,255,.52)}.editor-actions{display:flex;justify-content:flex-end;gap:10px}.kchart-tooltip{color:#edf3f8}.hybrid-ops-dashboard{min-width:1080px;min-height:680px;padding:22px;background:#0a0f16;color:#edf3f8;font-family:inherit}.hybrid-ops-header,.hybrid-ops-incidents footer,.hybrid-ops-layer-key,.hybrid-ops-live,.hybrid-ops-section-title{display:flex;align-items:center}.hybrid-ops-header{justify-content:space-between;margin-bottom:18px}.hybrid-ops-header p,.hybrid-ops-kpis span,.hybrid-ops-section-title span{margin:0;color:#7f94a7;font-size:10px;font-weight:800;letter-spacing:0}.hybrid-ops-header h2{margin:4px 0 0;font-size:24px;line-height:1.1}.hybrid-ops-live{gap:8px;color:#9eddb9;font-size:12px;font-weight:750}.hybrid-ops-incident-list article>div span,.hybrid-ops-live>span{width:8px;height:8px;border-radius:50%;background:#45d48a;box-shadow:0 0 0 4px rgba(69,212,138,.12)}.hybrid-ops-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid rgba(148,163,184,.16);margin-bottom:18px}.hybrid-ops-kpis article{min-width:0;padding:14px 18px;border-right:1px solid rgba(148,163,184,.16)}.hybrid-ops-kpis article:last-child{border-right:0}.hybrid-ops-kpis strong{display:block;margin-top:5px;font-size:22px;line-height:1}.hybrid-ops-kpis small{display:block;margin-top:7px;color:#91a4b5;font-size:10px}.hybrid-ops-incident-list article.critical>div,.hybrid-ops-kpis .critical strong{color:#fb7185}.hybrid-ops-main{display:grid;grid-template-columns:minmax(0,1fr) 248px;min-height:496px;border:1px solid rgba(148,163,184,.17);background:#0d141d}.hybrid-ops-telemetry{min-width:0;padding:17px 16px 8px}.hybrid-ops-section-title{justify-content:space-between;gap:12px;min-height:40px}.hybrid-ops-section-title strong{display:block;margin-top:4px;font-size:13px}.hybrid-ops-layer-key{gap:6px}.hybrid-ops-layer-key>span{display:grid;grid-template-columns:auto auto;gap:6px;align-items:center;padding:6px 8px;border:1px solid rgba(148,163,184,.18);background:#111b27;color:#8ea3b5;font-size:9px}.hybrid-ops-layer-key b{font-size:9px}.hybrid-ops-layer-key .webgl b{color:#38bdf8}.hybrid-ops-layer-key .canvas b{color:#fbbf24}.hybrid-ops-layer-key .svg b{color:#fb7185}.hybrid-ops-incidents{border-left:1px solid rgba(148,163,184,.17);padding:17px 15px;background:#0b1119}.hybrid-ops-incidents .hybrid-ops-section-title>b{color:#fb7185;font-size:20px}.hybrid-ops-incident-list{display:grid;gap:8px;margin-top:16px}.hybrid-ops-incident-list article{padding:12px;border:1px solid rgba(148,163,184,.15);border-left:3px solid #fbbf24;background:#101923}.hybrid-ops-incident-list article.critical{border-left-color:#fb7185}.hybrid-ops-incident-list article>div{display:flex;align-items:center;gap:7px;color:#fbbf24;font-size:9px;font-weight:800;text-transform:uppercase}.hybrid-ops-incident-list article>div span{width:6px;height:6px;background:currentColor;box-shadow:none}.hybrid-ops-incident-list strong{display:block;margin-top:9px;font-size:12px}.hybrid-ops-incident-list p,.hybrid-ops-incident-list time{color:#8fa2b3;font-size:10px}.hybrid-ops-incident-list p{margin:4px 0 10px}.hybrid-ops-incidents footer{display:grid;grid-template-columns:1fr auto;gap:7px 12px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(148,163,184,.16);color:#8295a6;font-size:9px}.hybrid-ops-incidents footer strong{color:#b9c8d5}.hybrid-operation-alert-stem{stroke-width:1;stroke-dasharray:2 3;opacity:.78}.hybrid-operation-alert-pulse{stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:hybrid-alert-pulse 2s ease-out infinite}.hybrid-operation-alert-label{paint-order:stroke;stroke:#0d141d;stroke-width:4px;font-size:9px;font-weight:800}@keyframes hybrid-alert-pulse{0%{opacity:.9;transform:scale(.7)}75%,to{opacity:0;transform:scale(1.45)}}@media (max-width:920px){.playground{grid-template-columns:1fr}.sidebar{position:relative;top:auto;z-index:1;height:auto;max-height:none;overflow:visible;border-right:0;border-bottom:1px solid var(--line);background:#0a0f16;padding:16px}.brand{margin-bottom:14px}.example-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-height:min(48vh,460px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:2px 8px 14px 0}.sidebar .example-menu section{display:block;width:auto;min-width:0;margin:0}.sidebar .example-menu button{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace{padding:18px 16px 24px}.hero{align-items:flex-start}.tabs{overflow-x:auto;overscroll-behavior-x:contain}.tabs>*{flex:0 0 auto}.api-reference{grid-template-columns:1fr}.api-reference-nav{border-right:0;border-bottom:1px solid rgba(219,232,242,.1)}.doughnut-scroll-example{grid-template-columns:minmax(0,1fr) 210px}}@media (max-width:680px){.sidebar{padding:14px 12px}.example-menu{grid-template-columns:1fr;gap:14px;max-height:42vh}.workspace{padding:14px 10px 20px}.hero{display:grid;grid-template-columns:1fr}.hero-actions{justify-content:flex-start}.preview{height:430px}.panel-title{align-items:flex-start}.panel-title span{max-width:58%;text-align:right}.doughnut-scroll-example{grid-template-columns:minmax(0,1fr) 170px;gap:6px}.us-route-toolbar{left:8px;right:8px;top:8px;justify-content:space-between}.us-route-callout span,.us-route-toolbar>div span{display:none}.us-route-legend{left:8px;bottom:8px;width:136px;padding:9px}.us-route-legend>div{grid-template-columns:18px 30px minmax(0,1fr);gap:3px}.us-route-callout{top:58px;right:8px;min-width:0}}