:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#16233c;background:#f4f7fd;--blue:#3c79eb;--ink:#16233c;--muted:#70829f;--line:#e5eaf2}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #89b6ff;outline-offset:2px}a{color:#2764ca;text-decoration:none}.skip{position:absolute;left:-10000px;top:0;z-index:100}.skip:focus{left:15px;top:15px;background:#fff;padding:12px}.topbar{height:70px;display:flex;align-items:center;gap:19px;padding:0 27px;background:#fff;border-bottom:1px solid #e5eaf4;position:relative;z-index:10}.brand{display:flex;align-items:center;gap:9px;color:#182a42;font-size:18px;letter-spacing:-.7px}.mark{display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;border-radius:10px;background:#4389f7;color:#fff;font-size:23px;font-weight:900}.topbar-divider{height:24px;width:1px;background:#e1e7f0}.product-name{font-size:15px;font-weight:720;color:#172c4f}.product-name span{font-weight:520;color:#7d8ca4}.header-beta{font-size:10px;color:#4f79b8;background:#eaf3ff;border:1px solid #d5e4ff;border-radius:6px;padding:5px 7px;font-weight:800;letter-spacing:1px}.top-actions{display:flex;margin-left:auto;gap:8px}.button{border:1px solid transparent;border-radius:10px;padding:10px 14px;font-size:12px;font-weight:760;transition:background .15s;white-space:nowrap}.button.primary{background:#4385ee;border-color:#4385ee;color:#fff;box-shadow:0 4px 12px #3674d52b}.button.primary:hover{background:#2e6fdd}.button.subtle{background:0 0;color:#475875}.button.subtle:hover{background:#eff4fc}.button.outline{background:#fff;border-color:#dfe6f1;color:#334a67}.button.outline:hover{background:#f4f8ff}.button.sm{padding:9px 12px}.button.wide{width:100%;margin-top:11px}.workspace{display:grid;grid-template-columns:256px minmax(400px,1fr) 290px;min-height:calc(100vh - 105px)}.sidebar{background:#fff;min-width:0}.left-panel{border-right:1px solid var(--line)}.right-panel{border-left:1px solid var(--line)}.sidebar-section{padding:24px 19px;border-bottom:1px solid var(--line)}.sidebar-section.intro{padding:30px 21px 26px}.eyebrow,.small-label{color:#9aa9c0;font-size:10px;font-weight:850;letter-spacing:1.65px}.intro h1{font-size:28px;line-height:1.1;margin:12px 0 9px;letter-spacing:-1.4px}.title-dot{color:#4385ee}.intro p,.right-intro p{font-size:12px;line-height:1.7;color:#8290a7;margin:0}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px;gap:8px}.section-head h2{font-size:13px;margin:0;letter-spacing:-.1px}.section-head .small-label{font-size:9px}.preset-stack{display:flex;flex-direction:column;gap:9px}.preset{display:flex;align-items:center;gap:11px;text-align:left;border:1px solid #e4eaf2;background:#fff;padding:11px;border-radius:12px;width:100%;color:inherit}.preset.active{border-color:#91b9ff;background:#f0f6ff;box-shadow:0 0 0 1px #b9d4ff}.preset-icon{width:39px;height:39px;background:#edf3ff;border-radius:10px;display:grid;place-items:center;color:#4c7bc5;font-size:22px;font-weight:800}.action-tile b,.preset strong{display:block;font-size:12px}.action-tile small,.preset small{display:block;color:#99a8bb;font-size:10px;margin-top:4px}.action-tile{display:flex;align-items:center;text-align:left;gap:10px;width:100%;padding:13px 10px;border:1px solid #dfe8f8;border-radius:11px;background:#f5f8ff;margin-bottom:8px;color:#223450}.action-icon{display:grid;place-items:center;background:#e1eeff;width:33px;height:33px;border-radius:10px;color:#497adb;font-size:23px}.action-tile.secondary-tile{background:#fff;border-color:#e6ebf2}.action-tile.secondary-tile .action-icon{background:#eef1f6;color:#8ca0b9}.chevron{margin-left:auto;color:#9cb0ca;font-size:22px}.switch-row{display:flex;justify-content:space-between;align-items:center;margin:13px 0;font-size:12px;color:#485a78}.switch-row input{width:18px;height:18px;accent-color:#4888ee}.obstacle-list{display:grid;gap:8px;margin-top:10px}.obstacle-item{background:#fafbff;border:1px solid #ecf0f5;border-radius:8px;padding:8px;display:flex;align-items:center;gap:8px;font-size:11px}.obstacle-item button{margin-left:auto;border:0;background:0 0;color:#e35a5a;font-size:18px}.sidebar-footer{padding:22px;color:#8e9db4;font-size:10px;display:flex;align-items:center;gap:7px}.live-dot,.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#27b582}.main-panel{min-width:0;padding:24px 24px 30px;background:#f6f8fc}.canvas-header{display:flex;justify-content:space-between;align-items:flex-end;margin:0 1px 18px;gap:8px}.breadcrumb{font-size:10px;letter-spacing:1.4px;color:#99a9c0;font-weight:800}.breadcrumb span{margin:0 7px;color:#bec8d7}.canvas-header h2{font-size:23px;letter-spacing:-.8px;margin:8px 0 0}.canvas-head-actions{display:flex;align-items:center;gap:9px}.saved-state{font-size:10px;color:#8394aa}.canvas-container{background:#fff;border:1px solid #e1e8f4;border-radius:16px;min-height:380px;aspect-ratio:1.7;position:relative;box-shadow:0 5px 24px #1c3c7810;overflow:hidden}#scene{width:100%;height:100%;display:block;touch-action:none;cursor:crosshair}.canvas-overlay{position:absolute;display:flex;gap:7px;pointer-events:none}.canvas-overlay.top-left{top:18px;left:18px}.scene-pill{display:flex;align-items:center;gap:7px;background:#e5f1ff;color:#3e76cc;border-radius:6px;font-size:10px;font-weight:850;padding:8px 10px;letter-spacing:.5px}.secondary-pill{background:#f5f7fb;color:#94a2b6}.canvas-overlay.bottom-left{bottom:17px;left:18px;flex-direction:column;color:#8495ac;font-size:10px}.canvas-overlay.bottom-left div{font-weight:750;color:#536e9a;font-size:11px}.canvas-overlay.bottom-right{right:15px;bottom:15px;align-items:center;background:#fff;border:1px solid #e6edf7;border-radius:10px;padding:4px;box-shadow:0 2px 12px #0e204217;pointer-events:auto;font-size:11px;color:#778ca8}.canvas-overlay.bottom-right span{padding:0 8px}.canvas-overlay.bottom-right button{border:0;background:#eef4ff;color:#5275ae;border-radius:6px;width:29px;height:29px;font-size:20px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 20px}.metric{padding:15px 13px;background:#fff;border:1px solid #e7edf5;border-radius:12px}.metric span{color:#90a1b9;font-size:9px;font-weight:800;letter-spacing:1px;display:block}.metric strong{display:block;color:#243a5c;font-size:16px;letter-spacing:-.5px;margin:9px 0 5px;font-variant-numeric:tabular-nums}.metric strong.warning{color:#da7551}.metric small{font-size:10px;color:#a0aec1;display:block}.timeline{background:#fff;border:1px solid #e5ebf4;border-radius:15px;padding:21px;min-width:0}.timeline-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.timeline-head h2{font-size:16px;margin:7px 0 0;letter-spacing:-.45px}.count{font-size:10px;font-weight:600;color:#91a2b7;background:#f0f4fa;padding:5px 8px;border-radius:6px;margin-left:6px}.timeline-actions{display:flex;gap:7px}.waypoint-strip{display:flex;gap:9px;overflow-x:auto;margin:20px 0 15px;padding-bottom:7px;min-height:106px}.empty-path{border:1px dashed #d7e1f0;color:#a0aec1;border-radius:11px;flex:1;display:grid;place-items:center;font-size:12px;text-align:center;min-height:88px}.waypoint{flex:0 0 143px;min-height:98px;border:1px solid #e3eaf4;border-radius:11px;background:#fbfcff;padding:10px;position:relative}.waypoint.active{border-color:#70a5ff;background:#eff6ff}.waypoint strong{font-size:11px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.waypoint small{display:block;color:#92a1b7;font-size:10px;margin-top:7px}.waypoint-controls{display:flex;gap:5px;margin-top:9px}.waypoint-controls button{font-size:10px;padding:3px 6px;color:#526a8e;background:#fff;border:1px solid #e0e8f4;border-radius:5px}.playhead-row{display:flex;align-items:center;gap:13px}.playhead-row input{flex:1;accent-color:#4984ea;min-width:0}.playhead-row span{font-size:10px;color:#7b8da7;font-variant-numeric:tabular-nums}.hint,.timeline-hint{font-size:11px;color:#91a0b6;line-height:1.6;margin:11px 0 0}.joint-list{margin-top:18px;display:grid;gap:17px}.joint-control label{display:flex;justify-content:space-between;font-size:11px;font-weight:800;margin-bottom:10px}.joint-control label span{color:#5586d7}.joint-control input{width:100%;accent-color:#4b88ed}.joint-scale{display:flex;justify-content:space-between;color:#a7b5c7;font-size:9px}.mini-pill{font-size:9px;color:#228b6d;background:#e5f7f0;padding:5px 8px;border-radius:7px;font-weight:850;letter-spacing:.5px}.target-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}.field,.target-fields label{display:block;font-size:10px;color:#7c8da4;font-weight:750}.field select,.target-fields input{display:block;width:100%;border:1px solid #dfe7f1;border-radius:8px;background:#fff;color:#2d4768;padding:10px;margin-top:8px;font-size:12px;font-weight:700}.field select{margin-top:10px}.inspector-footer{margin:25px 19px;border:1px solid #e3eaf4;background:#f7f9fd;padding:14px;border-radius:11px}.inspector-footer strong{font-size:11px;color:#657995}.inspector-footer p{font-size:10px;line-height:1.65;color:#93a2b6;margin:7px 0 0}.toast{position:fixed;z-index:60;bottom:23px;left:50%;transform:translateX(-50%) translateY(100px);background:#233853;color:#fff;max-width:min(510px,calc(100vw - 32px));padding:12px 17px;border-radius:10px;box-shadow:0 9px 25px #102f5736;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.export-dialog{border:1px solid #dfe7f2;border-radius:18px;box-shadow:0 25px 75px #182c4466;max-width:min(460px,calc(100vw - 20px));width:100%;padding:0}.export-dialog::backdrop{background:#14274080}.dialog-content{padding:24px}.dialog-top{display:flex;align-items:center;justify-content:space-between}.dialog-top h2{margin:0;font-size:20px}.dialog-content p{color:#8090a7;font-size:12px}.close{border:0;background:#eef2fa;border-radius:8px;width:31px;height:31px;font-size:22px;color:#6c7e97}.export-options{display:grid;gap:8px;margin-top:19px}.export-option{text-align:left;border:1px solid #e0e7f1;border-radius:10px;background:#fff;padding:13px}.export-option:hover{background:#f0f6ff;border-color:#a6c7ff}.export-option strong{font-size:12px;display:block;color:#29405d}.export-option span{font-size:11px;display:block;margin-top:6px;color:#8d9ab0}.site-foot{background:#fff;color:#a1aebe;font-size:10px;text-align:center;padding:12px;border-top:1px solid #e6ebf4}@media(max-width:1280px){.workspace{grid-template-columns:220px minmax(370px,1fr) 255px}.sidebar-section{padding:20px 14px}.main-panel{padding:20px 14px}.topbar{padding:0 16px}}@media(max-width:1050px){.workspace{grid-template-columns:210px minmax(0,1fr)}.right-panel{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #e5eaf2}.inspector-footer{align-self:start}}@media(max-width:720px){.topbar{height:auto;min-height:66px;flex-wrap:wrap;padding:12px;gap:10px}.header-beta,.topbar-divider{display:none}.product-name{font-size:12px}.top-actions{width:100%;justify-content:space-between;margin:0}.top-actions .button{padding:9px 10px;flex:1}.workspace{display:block}.left-panel{border-right:0;display:grid;grid-template-columns:1fr 1fr}.left-panel .intro,.left-panel .sidebar-footer{grid-column:1/-1}.left-panel .sidebar-section{padding:16px}.intro h1{font-size:23px}.main-panel{padding:15px}.canvas-header{align-items:center}.canvas-header h2{font-size:19px}.canvas-head-actions .saved-state{display:none}.canvas-head-actions .button{padding:7px;font-size:10px}.canvas-container{aspect-ratio:1.25;min-height:270px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{padding:12px}.timeline{padding:14px}.timeline-head{align-items:flex-start;flex-direction:column}.timeline-actions{width:100%}.timeline-actions .button{flex:1;padding:9px 5px}.right-panel{display:block}.right-panel .sidebar-section{padding:20px}.joint-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px}.canvas-overlay.bottom-left span{display:none}}@media(max-width:420px){.left-panel{display:block}.left-panel .intro{display:none}.left-panel .sidebar-section{padding:14px}.preset-stack{flex-direction:row;overflow-x:auto}.preset{min-width:150px}.action-tile{width:100%}.canvas-overlay.top-left{top:9px;left:8px}.secondary-pill{display:none}.canvas-overlay.bottom-right{bottom:8px;right:8px}.joint-list{grid-template-columns:1fr}.top-actions .button{font-size:11px}}.link-details{margin-top:22px;padding:12px;border:1px solid #e5ebf5;border-radius:10px;background:#fafcff}.link-details summary{cursor:pointer;color:#536c92;font-size:11px;font-weight:800}.link-details .target-fields{margin-top:12px}.path-report{font-size:11px;line-height:1.6;border:1px solid #e4eaf4;color:#657e9f;border-radius:8px;padding:9px 11px;background:#f8faff;margin:9px 0}.path-report.bad{background:#fff3ee;border-color:#f8d8c6;color:#af674e}.path-report.good{background:#effaf6;border-color:#c9ebda;color:#338363}@media(max-width:720px){.timeline-actions{flex-wrap:wrap}.timeline-actions .button{flex:1 1 45%}}.timeline-actions{flex-wrap:wrap;justify-content:flex-end}.timeline-actions .button{min-width:68px}.joint-limit-fields{display:grid;gap:11px;margin-top:14px}.joint-limit-fields fieldset{border:1px solid #e4eaf5;border-radius:10px;padding:10px;margin:0}.joint-limit-fields legend{font-size:10px;font-weight:800;color:#5875a1;padding:0 4px}.joint-limit-fields .target-fields{margin-top:0}.obstacle-item{display:block}.obstacle-heading{display:flex;gap:8px;align-items:center;justify-content:space-between;font-size:11px;font-weight:800}.obstacle-heading button{font-size:18px;border-radius:6px;padding:1px 6px}.obstacle-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px}.obstacle-fields label{min-width:0;font-size:10px;color:#788ba6}.obstacle-fields input{width:100%;min-width:0;padding:6px 4px;border:1px solid #dbe5f1;border-radius:7px;margin-top:4px;color:#344c6f;background:#fff;font-size:11px}.speed-threshold{margin-top:15px}.speed-threshold input{width:100%;padding:9px;margin-top:8px;border:1px solid #dfe7f1;border-radius:8px;font-size:12px;color:#2d4768}.path-report.bad{border-left:3px solid #c96c49}@media(max-width:720px){.timeline-actions{justify-content:flex-start}.timeline-actions .button{flex:1 1 30%;min-width:0}.obstacle-fields input{font-size:13px}}