.glyph{overflow:visible;flex-shrink:0}.glyph *{transform-box:view-box}.glyph.is-active{animation:glyph-in .5s var(--ease-spring) both}@keyframes glyph-in{0%{opacity:0;transform:scale(.4) rotate(-20deg)}}.glyph--write .g-line{stroke-dasharray:1;stroke-dashoffset:0;opacity:.55}.glyph--write.is-active .g-line{animation:g-line 1.6s var(--ease-in-out) infinite}.glyph--write.is-active .g-pencil{animation:g-pencil 1.6s var(--ease-in-out) infinite}@keyframes g-line{0%{stroke-dashoffset:1;opacity:.55}65%{stroke-dashoffset:0;opacity:.55}85%,to{stroke-dashoffset:0;opacity:0}}@keyframes g-pencil{0%{transform:translate(0) rotate(0)}15%{transform:translate(1.8px,-1px) rotate(-4deg)}30%{transform:translate(3.6px) rotate(2deg)}45%{transform:translate(5.4px,-1px) rotate(-4deg)}65%{transform:translate(7.6px) rotate(0)}85%{transform:translate(7.6px,-2px) rotate(8deg)}to{transform:translate(0) rotate(0)}}.glyph--read .g-page{fill:currentColor;fill-opacity:.18;opacity:0;transform-origin:12px 12px}.glyph--read.is-active .g-page{animation:g-page 1.8s var(--ease-in-out) infinite}@keyframes g-page{0%{opacity:0;transform:scaleX(1)}12%{opacity:1;transform:scaleX(1)}55%{opacity:1;transform:scaleX(-1)}70%,to{opacity:0;transform:scaleX(-1)}}.glyph--look .g-eye{transform-origin:12px 12px}.glyph--look.is-active .g-pupil{animation:g-pupil 2.6s var(--ease-in-out) infinite}.glyph--look.is-active .g-eye{animation:g-blink 2.6s var(--ease-in-out) infinite}@keyframes g-pupil{0%,to{transform:translate(0)}20%,35%{transform:translate(-3px,.5px)}55%,75%{transform:translate(3px,-.5px)}}@keyframes g-blink{0%,44%,52%,to{transform:scaleY(1)}48%{transform:scaleY(.1)}}.glyph--think .g-spark{fill:currentColor;stroke:none;opacity:0}.glyph--think.is-active .g-brain{animation:g-brain 1.8s var(--ease-in-out) infinite;transform-origin:12px 13px}.glyph--think.is-active .g-spark{animation:g-spark 1.8s var(--ease-out) infinite}.glyph--think.is-active .g-spark:nth-of-type(2){animation-delay:.3s}.glyph--think.is-active .g-spark:nth-of-type(3){animation-delay:.6s}@keyframes g-brain{0%,to{transform:scale(1)}50%{transform:scale(1.07)}}@keyframes g-spark{0%{opacity:0;transform:scale(.3)}25%{opacity:1;transform:scale(1.4)}60%,to{opacity:0;transform:scale(.6)}}.glyph--think .g-spark:nth-of-type(1){transform-origin:3px 3.5px}.glyph--think .g-spark:nth-of-type(2){transform-origin:12px 1.6px}.glyph--think .g-spark:nth-of-type(3){transform-origin:21px 3.5px}.glyph--delete .g-lid{transform-origin:3px 6px}.glyph--delete.is-active .g-lid{animation:g-lid 1.4s var(--ease-spring) infinite}@keyframes g-lid{0%,60%,to{transform:rotate(0) translateY(0)}25%,40%{transform:rotate(-22deg) translateY(-1.5px)}}.glyph--ask .g-bubble{transform-origin:4px 20px}.glyph--ask.is-active .g-bubble{animation:g-bubble 1.6s var(--ease-in-out) infinite}.glyph--ask.is-active .g-dot{animation:g-dot 1.6s steps(1) infinite}@keyframes g-bubble{0%,to{transform:rotate(0)}30%{transform:rotate(-7deg) translateY(-.5px)}60%{transform:rotate(4deg)}}@keyframes g-dot{50%{opacity:0}}@media (prefers-reduced-motion: reduce){.glyph,.glyph *{animation:none!important}.glyph--read .g-page{opacity:0}.glyph--write .g-line{stroke-dashoffset:0}}.glyph--search .g-lens{transform-origin:12px 12px}.glyph--search.is-active .g-lens{animation:g-lens 2s var(--ease-in-out) infinite}@keyframes g-lens{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(-2px,-1.5px) rotate(-8deg)}50%{transform:translate(1.5px,-2px) rotate(4deg)}75%{transform:translate(1px,1px) rotate(-4deg)}}.mm-wrap{overflow-x:auto;overflow-y:hidden;border-top:1px solid var(--border);background-color:var(--bg);background-image:radial-gradient(var(--grid-major) 1px,transparent 1.4px);background-size:18px 18px}.mm{position:relative;transition:height .6s var(--ease-out)}.mm-col{position:absolute;top:12px;translate:-50% 0;font-size:11.5px;font-weight:600;color:var(--text-muted);white-space:nowrap;animation:reveal .6s var(--ease-out) backwards;animation-delay:calc(var(--i, 0) * 60ms)}.mm-wires{position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible;pointer-events:none}.mm-edge{fill:none;stroke:var(--text-muted);stroke-width:1.4;opacity:.8;transition:stroke .3s,opacity .3s,stroke-width .3s;animation:mm-edge-in .6s var(--ease-out) backwards;animation-delay:var(--d, 0ms)}.mm-edge--relation{stroke:var(--text-secondary);stroke-dasharray:1;animation:mm-draw .9s var(--ease-in-out) backwards;animation-delay:var(--d, 0ms)}.mm-edge--lineage{stroke-dasharray:4 4}.mm-edge--note{stroke-width:1.6;stroke-dasharray:1 4;stroke-linecap:round}.mm-edge.is-weak{stroke:var(--status-negative)}@keyframes mm-edge-in{0%{opacity:0}}@keyframes mm-draw{0%{stroke-dashoffset:1}}.mm.is-working .mm-edge--lineage{animation:mm-edge-in .6s var(--ease-out) backwards,mm-flow 2.2s linear infinite;animation-delay:var(--d, 0ms),0ms}.mm.is-working .mm-edge--note{animation:mm-edge-in .6s var(--ease-out) backwards,mm-flow-dot 2.2s linear infinite;animation-delay:var(--d, 0ms),0ms}@keyframes mm-flow{to{stroke-dashoffset:-16}}@keyframes mm-flow-dot{to{stroke-dashoffset:-10}}.mm-edge.is-active{stroke:var(--primary);stroke-width:2.2;opacity:1}.mm.has-hover .mm-edge{opacity:.15}.mm.has-hover .mm-edge.is-near{stroke:var(--primary);stroke-width:2;opacity:1}.mm-node{position:absolute;left:0;top:0;height:30px;display:flex;align-items:center;gap:7px;padding:0 10px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);font-size:12px;color:var(--text);text-decoration:none;white-space:nowrap;animation:mm-in .7s var(--ease-spring-soft) backwards;animation-delay:var(--d, 0ms);transition:opacity .3s,border-color .25s,box-shadow .4s var(--ease-out),scale .35s var(--ease-spring)}.mm-node:hover,.mm-node:focus-visible{text-decoration:none;scale:1.05;border-color:var(--primary);z-index:3}.mm-node:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.mm-node:active{scale:.97}.mm-node svg{width:13px;height:13px;flex-shrink:0;color:var(--primary)}.mm-label{min-width:0;overflow:hidden;text-overflow:ellipsis}.mm-label.mono{font-size:11.5px}.mm-node--staging,.mm-node--mart{border-style:dashed;box-shadow:none}.mm-node--dashboard{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.mm-node--dashboard svg{color:#fff}.mm-node--dashboard:hover{border-color:var(--primary)}.mm-node--map{background:color-mix(in srgb,var(--primary) 12%,var(--bg-card));border-color:var(--primary);color:var(--primary);font-weight:600}.mm-node--map svg{color:var(--primary)}.mm-node--note svg{color:var(--cyaan)}.mm-node.is-error{border-color:var(--status-negative)}.mm.has-hover .mm-node:not(.is-near){opacity:.35}@keyframes mm-in{0%{opacity:0;scale:.6;filter:blur(6px)}}.mm-node.is-created{border-color:var(--status-positive);box-shadow:0 0 0 3px #32ab2733,var(--shadow-md)}.mm-node.is-updated{box-shadow:0 0 0 3px var(--primary-ring),var(--shadow)}.mm-node.is-born:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:11px;pointer-events:none;border:2px solid var(--status-positive);animation:mm-ring 1.4s var(--ease-out) both}@keyframes mm-ring{0%{opacity:.7;scale:1}to{opacity:0;scale:1.25}}.mm-node.is-active{border-color:var(--primary);z-index:2}.mm-node.is-active:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;pointer-events:none;animation:mm-glow 2.4s var(--ease-out) infinite}@keyframes mm-glow{0%{box-shadow:0 0 #006dff59}to{box-shadow:0 0 0 7px #006dff00}}.mm-badge{position:absolute;top:-8px;right:-6px;z-index:1;padding:3px 6px;border-radius:999px;background:var(--status-positive);color:#fff;font-style:normal;font-size:10px;font-weight:700;line-height:1;box-shadow:var(--shadow);animation:pop .5s var(--ease-spring) .25s backwards}.mm-badge--legend{position:static;animation:none}.mm-node.is-leaving{pointer-events:none;animation:mm-out .48s var(--ease-in-out) forwards}@keyframes mm-out{to{opacity:0;scale:.6;filter:blur(6px)}}.mm-cursor{position:absolute;left:0;top:0;z-index:5;width:24px;height:24px;pointer-events:none;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--primary);box-shadow:0 3px 10px #006dff59;opacity:0;scale:.3;transition:translate .7s var(--ease-spring-soft),opacity .4s var(--ease-out),scale .5s var(--ease-spring)}.mm-cursor.is-on{opacity:1;scale:1}.mm-cursor svg{width:13px;height:13px}.mm-legend em{margin-right:2px}.mm-live{display:inline-flex;align-items:center;gap:6px;margin-right:8px;animation:ai-rise .5s var(--ease-out) both}.mm-live:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--primary);animation:live 1.6s infinite}.new-badge{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;vertical-align:1px;background:var(--status-positive);color:#fff;font-style:normal;font-size:10.5px;font-weight:700;line-height:1.5;animation:pop .5s var(--ease-spring) both}.mm-cursor .glyph{width:15px;height:15px}.mm-cursor:has(.glyph){width:28px;height:28px}.atlas{position:fixed;top:0;bottom:0;left:var(--sidebar-w);right:0;z-index:0;overflow:hidden;transition:left .28s var(--ease-out),opacity .5s var(--ease-out),filter .5s var(--ease-out),scale .6s var(--ease-out)}.atlas.is-behind{opacity:.5;filter:blur(3px) saturate(.85);scale:.985;pointer-events:none}:root[data-lens=closing] .atlas.is-behind{opacity:1;filter:none;scale:1}.atlas.is-behind .mm-edge,.atlas.is-behind .mm-node:before{animation-play-state:paused!important}.atlas-viewport{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;touch-action:none;cursor:grab;background-color:var(--bg);background-image:radial-gradient(var(--grid-major) 1px,transparent 1.4px);background-size:18px 18px}.atlas-viewport:active{cursor:grabbing}.atlas-graph{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}.atlas.is-gliding .atlas-graph{transition:transform .9s var(--ease-out)}.atlas-head{position:absolute;top:18px;left:24px;right:20px;z-index:4;display:flex;align-items:flex-start;gap:16px;pointer-events:none}.atlas-head>*{pointer-events:auto}.atlas-title{flex:1;min-width:0}.atlas-title h1{font-size:22px;font-weight:700;letter-spacing:-.3px}.atlas-title p{font-size:13.5px;color:var(--text-secondary);max-width:60ch}.atlas-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.atlas-problems{display:flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;font-size:13px;background:var(--bg-card);border:1px solid color-mix(in srgb,var(--status-negative) 40%,var(--border));box-shadow:var(--shadow-md)}.atlas-problems svg{width:15px;height:15px;color:var(--status-negative)}.atlas-tools{display:flex;align-items:center;gap:2px;padding:4px;border-radius:12px;background:color-mix(in srgb,var(--bg-card) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);box-shadow:var(--shadow-md)}.atlas-tools-sep{width:1px;height:18px;margin:0 4px;background:var(--border)}.atlas-tools .reset-btn:hover:not(:disabled){color:var(--status-negative)}.atlas-time{position:absolute;top:72px;right:20px;z-index:4;display:flex;align-items:center;gap:8px;width:300px;padding:6px 12px 6px 6px;border-radius:12px;background:color-mix(in srgb,var(--bg-card) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);box-shadow:var(--shadow-md)}.atlas-time-ico{width:15px;height:15px;color:var(--text-muted);flex-shrink:0}.atlas-time input[type=range]{flex:1;padding:0;border:none;box-shadow:none;accent-color:var(--primary);background:transparent}.atlas-time-label{font-size:12px;color:var(--text-secondary);min-width:34px;text-align:right}.atlas-time .icon-btn svg{transition:transform .4s var(--ease-spring)}.atlas-time .icon-btn:hover svg{transform:scale(1.15)}.atlas-caption{position:absolute;top:170px;left:50%;z-index:4;translate:-50% 0;width:min(560px,calc(100% - 48px));text-align:center;pointer-events:none;animation:caption-in .6s var(--ease-spring-soft) both}.atlas-caption span{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--primary)}.atlas-caption p{font-size:18px;font-weight:600;text-wrap:balance;margin-top:2px;text-shadow:0 1px 12px var(--bg)}@keyframes caption-in{0%{opacity:0;translate:-50% 10px;filter:blur(6px)}}.atlas-legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:10px;font-size:11.5px;color:var(--text-muted)}.atlas-legend span{display:inline-flex;align-items:center;gap:6px}.atlas-legend svg{width:22px;height:8px}.atlas-legend-q{color:var(--primary)}.atlas-legend .k{font-size:10.5px}@media (max-width: 900px){.atlas-legend{display:none}}.atlas-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;box-shadow:0 24px 60px -24px #1c418173,var(--shadow-lg)}.atlas-log{position:absolute;top:122px;right:20px;bottom:110px;z-index:5;width:min(380px,calc(100% - 40px));display:flex;flex-direction:column;overflow:hidden;animation:panel-in .5s var(--ease-spring-soft) both}.atlas-log header{display:flex;align-items:center;gap:8px;padding:10px 10px 8px 16px;border-bottom:1px solid var(--border)}.atlas-log header>svg{width:16px;height:16px;color:var(--primary)}.atlas-log header .spacer{flex:1}.atlas-log .feed{overflow-y:auto;padding:0 6px 8px}.atlas-log .feed li.is-new{background:transparent}@keyframes panel-in{0%{opacity:0;transform:translate(16px) scale(.98);filter:blur(4px)}}.q-card{position:absolute;z-index:6;width:360px;padding:14px 16px 12px;display:grid;gap:8px;animation:q-in .5s var(--ease-spring-soft) both;transform-origin:0 20px}@keyframes q-in{0%{opacity:0;transform:translate(-10px) scale(.95);filter:blur(4px)}}.q-close{position:absolute;top:6px;right:6px}.q-prompt{font-size:14px;font-weight:600;line-height:1.4;padding-right:22px;white-space:pre-wrap;max-height:9.8em;overflow:auto}.q-meta{font-size:12px;color:var(--text-muted)}.q-row{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.q-row>span{font-size:11.5px;font-weight:600;color:var(--text-muted);width:100%}.q-chip{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:3px 9px;font-size:12px;font-weight:500;border-radius:999px;background:var(--bg);border:1px solid var(--border);color:var(--text);transition:border-color .2s,transform .35s var(--ease-spring)}.q-chip:hover{border-color:var(--primary);transform:translateY(-1px)}.q-chip svg{width:12px;height:12px;color:var(--primary)}.q-chip--dashboard{background:var(--primary);border-color:var(--primary);color:#fff}.q-chip--dashboard svg{color:#fff}.q-actions{display:flex;gap:6px;justify-content:flex-end;padding-top:4px;border-top:1px solid var(--border-subtle)}.atlas-empty{position:absolute;left:50%;top:50%;translate:-50% -50%;width:min(900px,calc(100% - 48px))}@media (max-width: 900px){.atlas-empty{top:160px;translate:-50% 0}}.mm-node--question{background:color-mix(in srgb,var(--primary) 6%,var(--bg-card));border-color:color-mix(in srgb,var(--primary) 30%,var(--border));border-radius:999px;color:var(--text);font:inherit;font-size:12px;font-weight:500;text-align:left;cursor:pointer}.mm-node--question svg{color:var(--primary)}.mm-node--question.is-error svg{color:var(--status-negative)}.mm-node--question.is-running{border-color:var(--primary);animation:mm-in .7s var(--ease-spring-soft) backwards,q-breathe 2s var(--ease-in-out) infinite}@keyframes q-breathe{50%{box-shadow:0 0 0 5px var(--primary-ring),var(--shadow)}}.mm-node--question.is-focus{background:var(--primary);border-color:var(--primary);color:#fff}.mm-node--question.is-focus svg{color:#fff}.mm-node.is-selected{outline:2px dashed var(--primary);outline-offset:3px}.mm-node.is-chain{border-color:var(--primary)}.mm.has-chain .mm-node:not(.is-chain){opacity:.32}.mm.has-chain .mm-edge:not(.is-chain){opacity:.12}.mm-edge--prompt{stroke:var(--primary);stroke-width:1.6;opacity:0}.mm-edge--uses{stroke:var(--cyaan);stroke-width:1.4;stroke-dasharray:2 4;stroke-linecap:round;opacity:0}.mm .mm-edge--prompt.is-chain,.mm .mm-edge--uses.is-chain,.mm.has-hover .mm-edge--prompt.is-near,.mm.has-hover .mm-edge--uses.is-near{opacity:.85}.mm.is-working .mm-edge--uses.is-chain{animation:mm-edge-in .6s var(--ease-out) backwards,mm-flow-dot 1.4s linear infinite}.mm-spark{fill:none;stroke:var(--primary);stroke-width:2.6;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;filter:drop-shadow(0 0 4px rgba(0,109,255,.55));pointer-events:none;animation:spark-draw 1.1s var(--ease-in-out) forwards,spark-fade 1.4s var(--ease-out) 1.1s forwards}.mm-spark--uses{stroke:var(--cyaan)}@keyframes spark-draw{to{stroke-dashoffset:0}}@keyframes spark-fade{to{opacity:0}}.mm-node.is-writing{overflow:hidden}.mm-node.is-writing:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(100deg,transparent 20%,rgba(0,158,212,.35) 50%,transparent 80%);background-size:250% 100%;animation:sweep 1.3s var(--ease-in-out) infinite}@keyframes sweep{0%{background-position:150% 0}to{background-position:-100% 0}}.mm-cursor.is-writing{background:var(--cyaan)}.mm-cursor-label{position:absolute;left:30px;top:1px;padding:3px 9px;border-radius:999px;white-space:nowrap;font-size:11.5px;font-weight:600;color:#fff;background:var(--marine);box-shadow:0 4px 14px -4px #1c418180;animation:tickIn .4s var(--ease-out) both}@keyframes tickIn{0%{opacity:0;transform:translateY(6px);filter:blur(2px)}}.onboard{padding:8px 20px 24px}.onboard-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;counter-reset:step;position:relative}.onboard-step{position:relative;display:grid;gap:6px;align-content:start;justify-items:start;padding:18px 18px 16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card)}.onboard-step.is-current{border-color:color-mix(in srgb,var(--primary) 45%,var(--border));background:linear-gradient(160deg,color-mix(in srgb,var(--primary) 6%,var(--bg-card)),var(--bg-card) 65%)}.onboard-step+.onboard-step:before{content:"";position:absolute;top:36px;left:-14px;width:14px;height:1.5px;background:var(--border)}.onboard-icon{position:relative;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--primary-subtle);color:var(--primary);margin-bottom:4px}.onboard-icon svg{width:18px;height:18px}.onboard-icon b{position:absolute;top:-6px;right:-8px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;font-size:11px;background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border)}.onboard-step.is-current .onboard-icon{animation:pulse-ring 2.4s var(--ease-out) 1s infinite}.onboard-step.is-current .onboard-icon b{background:var(--primary);color:#fff;border-color:var(--primary)}.onboard-step strong{font-size:14.5px}.onboard-step p{font-size:13px;color:var(--text-secondary)}.onboard-step .btn-primary{margin-top:6px}@media (max-width: 900px){.onboard-steps{grid-template-columns:minmax(0,1fr)}.onboard-step+.onboard-step:before{display:none}}:root[data-view=atlas] .main{pointer-events:none}.lens{position:relative;margin:12px;min-height:calc(100vh - 24px);min-height:calc(100dvh - 24px);padding:14px 26px 170px;background:var(--bg);border:1px solid var(--border);border-radius:16px;box-shadow:0 30px 90px -40px #1c41818c,var(--shadow-lg);animation:lens-in .55s var(--ease-out) both}@keyframes lens-in{0%{opacity:0;transform:translateY(18px) scale(.985);filter:blur(4px)}}.lens-back{position:sticky;top:10px;z-index:30;display:inline-flex;margin:0 0 10px -6px;padding:5px 12px 5px 8px;border-radius:999px;font-size:12.5px;font-weight:600;color:var(--text-secondary);background:color-mix(in srgb,var(--bg-card) 85%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);transition:color .15s,border-color .2s,transform .35s var(--ease-spring)}.lens-back:hover{color:var(--primary);border-color:var(--primary);transform:translate(-2px)}.lens-back svg{width:15px;height:15px;transition:transform .6s var(--ease-spring)}.lens-back:hover svg{transform:rotate(-60deg)}:root[data-page=kaart] .lens{padding:0;overflow:hidden}:root[data-page=kaart] .lens-back{position:absolute;top:14px;left:50%;translate:-50% 0;margin:0;z-index:1001}:root[data-page=kaart] .kaart{height:calc(100vh - 26px);height:calc(100dvh - 26px);border-radius:inherit}@media (max-width: 640px){.atlas{left:0;top:54px}.lens{margin:6px;padding:10px 12px 170px;min-height:calc(100dvh - 66px)}.atlas-head{left:14px;right:12px;flex-wrap:wrap}.atlas-title p,.atlas-chips{display:none}.atlas-time{top:128px;right:12px;left:12px;width:auto}.atlas-caption{top:190px}.dock-context .ai-chip{display:none}.q-card{left:12px!important;right:12px;width:auto}}.pickable{cursor:pointer}.chart .pickable:hover .bar{filter:brightness(1.12)}.quote-ask{position:fixed;z-index:70;translate:-50% calc(-100% - 8px);padding:6px 12px;border-radius:999px;background:var(--marine);color:#fff;font-size:12.5px;box-shadow:var(--shadow-lg);animation:pop .35s var(--ease-spring) both}.quote-ask svg{width:14px;height:14px}.widget-cell.is-born{animation:born-in .8s var(--ease-spring-soft) both}@keyframes born-in{0%{opacity:0;transform:translateY(16px) scale(.95);filter:blur(6px)}}.widget.is-born{position:relative;overflow:hidden;border-color:color-mix(in srgb,var(--primary) 55%,var(--border));transition:border-color 2s var(--ease-out)}.widget.is-born:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:inherit;background:linear-gradient(100deg,transparent 25%,rgba(0,158,212,.16) 50%,transparent 75%);background-size:250% 100%;animation:sweep 1.4s var(--ease-in-out) 2 both}.widget-cell.is-leaving{pointer-events:none;animation:born-out .5s var(--ease-in-out) forwards}@keyframes born-out{to{opacity:0;transform:scale(.92);filter:blur(6px)}}.md>.is-written{animation:written 2.6s var(--ease-out) both;border-radius:4px}@keyframes written{0%{background:var(--primary-subtle);box-shadow:-8px 0 0 var(--primary-subtle)}to{background:transparent;box-shadow:none}}.map-layer.is-born{animation:reveal .7s var(--ease-out) both,layer-born 2.2s var(--ease-out) .3s}@keyframes layer-born{0%{box-shadow:0 0 0 3px var(--primary-ring);background:var(--primary-subtle)}}@keyframes ai-rise{0%{opacity:0;transform:translateY(8px);filter:blur(4px)}}.lens:focus{outline:none}.onboard-kinds{display:flex;gap:6px;flex-wrap:wrap}.onboard-kinds span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--primary-subtle);color:var(--primary);animation:pop .5s var(--ease-spring) both;animation-delay:calc(.35s + var(--i, 0) * 70ms)}.onboard-kinds svg{width:16px;height:16px}.src-choice{grid-column:1 / -1;display:grid;gap:8px;padding-top:6px}.src-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:10px;max-height:min(62vh,640px);overflow:auto;padding:2px}.src-none{justify-self:start}.src-card{display:grid;gap:10px;align-content:start;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--bg-card);border-top:3px solid var(--src-tone, var(--border));animation:src-in .55s var(--ease-spring-soft) both;animation-delay:calc(var(--i, 0) * 70ms);transition:border-color .25s var(--ease-out),box-shadow .3s var(--ease-out),transform .4s var(--ease-spring)}.src-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.src-card--pos{--src-tone: var(--status-positive)}.src-card--neu{--src-tone: var(--status-neutral)}.src-card--neg{--src-tone: var(--status-negative)}@keyframes src-in{0%{opacity:0;transform:translateY(12px) scale(.98);filter:blur(4px)}}.src-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start}.src-trust{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;animation:pop .6s var(--ease-spring) both;animation-delay:calc(var(--i, 0) * 70ms + .15s)}.src-trust svg{width:19px;height:19px}.src-trust--pos{color:var(--status-positive);background:color-mix(in srgb,var(--status-positive) 14%,transparent)}.src-trust--neu{color:color-mix(in srgb,var(--status-neutral) 70%,var(--text));background:color-mix(in srgb,var(--status-neutral) 22%,transparent)}.src-trust--neg{color:var(--status-negative);background:color-mix(in srgb,var(--status-negative) 12%,transparent)}.src-title{display:grid;gap:2px;min-width:0}.src-title strong{font-size:14px;line-height:1.3}.src-who{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:12.5px;color:var(--text-secondary)}.src-host{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--primary);text-decoration:none;border-radius:6px;transition:color .2s}.src-host:hover{text-decoration:underline}.src-host svg{width:12px;height:12px;flex:none}.src-host svg:last-child{opacity:.6;transition:transform .35s var(--ease-spring)}.src-host:hover svg:last-child{transform:translate(2px,-2px)}.src-level{white-space:nowrap;font-size:12px}.src-summary,.dock-question .src-summary{margin:0;font-size:13px;font-weight:400;line-height:1.5;color:var(--text-secondary)}.src-facts{display:flex;flex-wrap:wrap;gap:5px}.src-fact{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;font-size:12px;background:var(--bg-subtle, var(--primary-subtle));color:var(--text)}.src-fact svg{width:12px;height:12px;color:var(--text-muted);flex:none}.src-why{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:12.5px;line-height:1.45}.src-why li{display:grid;grid-template-columns:14px minmax(0,1fr);gap:6px;align-items:start}.src-why svg{width:14px;height:14px;margin-top:2px}.src-why .is-pos svg{color:var(--status-positive)}.src-why .is-neu svg{color:color-mix(in srgb,var(--status-neutral) 70%,var(--text))}.src-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding-top:8px;border-top:1px solid var(--border)}.src-checks{display:grid;gap:3px;min-width:0}.src-check{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--text-secondary);animation:dock-tick .4s var(--ease-out) both}.src-check svg{width:13px;height:13px;flex:none}.src-check.is-pos svg{color:var(--status-positive)}.src-check.is-neg{color:var(--status-negative)}.src-check.is-neu svg{color:color-mix(in srgb,var(--status-neutral) 70%,var(--text))}.src-check.is-busy svg{color:var(--text-muted)}.dock{--dock-w: min(760px, calc(100vw - var(--sidebar-w) - 32px));position:fixed;z-index:60;bottom:max(16px,env(safe-area-inset-bottom,0px));left:calc(var(--sidebar-w) + (100vw - var(--sidebar-w)) / 2);translate:-50% 0;width:var(--dock-w);display:grid;gap:8px;transition:left .28s var(--ease-out);animation:dock-in .7s var(--ease-spring-soft) .2s both}@keyframes dock-in{0%{opacity:0;transform:translateY(24px) scale(.96);filter:blur(6px)}}.dock-bar{position:relative;display:flex;align-items:center;gap:10px;min-height:56px;padding:8px 8px 8px 10px;background:color-mix(in srgb,var(--bg-card) 90%,transparent);-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4);border:1px solid var(--border);border-radius:18px;box-shadow:0 24px 60px -24px #1c418180,var(--shadow-lg);transition:border-color .3s,box-shadow .4s var(--ease-out)}.dock-bar:focus-within{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-ring),0 24px 60px -24px #1c418180}.dock.is-working .dock-bar:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;padding:1.5px;pointer-events:none;background:conic-gradient(from var(--dock-angle, 0deg),transparent 0 55%,var(--cyaan) 75%,var(--blauw) 90%,transparent);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);animation:dock-ring 2.6s linear infinite}@property --dock-angle{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@keyframes dock-ring{to{--dock-angle: 360deg}}.dock-orb{position:relative;display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;border-radius:50%;color:#fff;background:radial-gradient(circle at 30% 30%,var(--cyaan),var(--blauw));box-shadow:0 0 0 4px var(--primary-subtle);transition:transform .5s var(--ease-spring)}.dock-orb svg{width:18px;height:18px;position:relative}.dock-bar:focus-within .dock-orb{transform:rotate(-12deg) scale(1.06)}.dock-orb.is-working svg:not(.glyph){animation:orb-pulse 1.6s var(--ease-in-out) infinite}.dock-orb .glyph{width:20px;height:20px}.dock-orb.is-working:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;background:conic-gradient(var(--blauw),var(--cyaan),transparent 70%,var(--blauw));-webkit-mask:radial-gradient(circle,transparent 20px,#000 21px);mask:radial-gradient(circle,transparent 20px,#000 21px);animation:spin 1.4s linear infinite}@keyframes orb-pulse{50%{transform:scale(.82) rotate(-10deg)}}.dock-bar textarea,.dock-bar textarea:focus{flex:1;border:none;outline:none;box-shadow:none;background:transparent;resize:none;padding:7px 0;font-size:15.5px;line-height:1.45;min-height:38px;max-height:200px}.dock-send{width:40px;height:40px;padding:0;justify-content:center;border-radius:12px;flex-shrink:0}.dock-send svg{width:18px;height:18px;transition:transform .4s var(--ease-spring)}.dock-send:not(:disabled):hover svg{transform:translate(2px) rotate(-8deg)}.dock-send:disabled{opacity:.4;cursor:default}.dock-live{flex:1;min-width:0;display:grid;line-height:1.3;overflow:hidden}.dock-headline{font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:dock-tick .5s var(--ease-spring-soft) both}.dock-sub{font-size:12.5px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:dock-tick .45s var(--ease-out) both}@keyframes dock-tick{0%{opacity:0;transform:translateY(8px);filter:blur(3px)}}.dock-clock{font-size:12.5px;color:var(--text-muted);padding:0 4px}.dock-follow.is-on{color:var(--primary)}.dock-follow svg{transition:transform .45s var(--ease-spring)}.dock-follow.is-on svg{transform:rotate(45deg)}.dock-stop:hover{color:var(--status-negative)}.dock-offline{width:20px;height:20px;color:var(--text-muted);margin-right:8px}.dock-context{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:0 6px}.dock-chip{display:inline-flex;align-items:center;gap:6px;max-width:280px;padding:4px 10px;font-size:12.5px;font-weight:500;border-radius:999px;background:color-mix(in srgb,var(--bg-card) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);color:var(--text-secondary);box-shadow:var(--shadow);animation:ai-chip-in .45s var(--ease-spring-soft) both;animation-delay:calc(var(--i, 0) * 70ms);transition:border-color .2s,transform .35s var(--ease-spring),color .15s}.dock-chip>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dock-chip svg{width:13px;height:13px;flex-shrink:0;color:var(--primary)}.dock-chip button{display:grid;place-items:center;padding:2px;margin-right:-4px;border-radius:50%;background:transparent;color:var(--text-muted)}.dock-chip button:hover{background:var(--border-subtle);color:var(--text)}.dock-chip--sel{color:var(--text);border-color:color-mix(in srgb,var(--primary) 45%,var(--border))}button.dock-chip:hover{border-color:var(--primary);color:var(--text);transform:translateY(-2px)}.dock-question,.dock-done{padding:12px 14px;border-radius:16px;background:var(--bg-card);border:1px solid var(--border);box-shadow:0 24px 60px -28px #1c418180,var(--shadow-md);animation:dock-pop .6s var(--ease-spring-soft) both;transform-origin:50% 100%}@keyframes dock-pop{0%{opacity:0;transform:translateY(14px) scale(.96);filter:blur(5px)}}.dock-question{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;border-color:color-mix(in srgb,var(--primary) 50%,var(--border))}.dock-question-ico{width:20px;height:20px;color:var(--primary);animation:pop .6s var(--ease-spring) .15s both}.dock-question p{font-size:14.5px;font-weight:600}.dock-options{grid-column:2;display:flex;flex-wrap:wrap;gap:6px;padding-top:4px}.dock-done{display:grid;gap:10px}.dock-done.is-failed{border-color:color-mix(in srgb,var(--status-negative) 45%,var(--border))}.dock-done-head{display:flex;align-items:center;gap:8px;min-width:0}.dock-done-ico{width:18px;height:18px;color:var(--status-positive);flex-shrink:0;animation:pop .6s var(--ease-spring) .1s both}.dock-done-ico.is-neg{color:var(--status-negative)}.dock-done-head strong{font-size:14px}.dock-done-prompt{flex:1;min-width:0;font-size:12.5px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dock-done-error{font-size:13px;color:var(--status-negative)}.dock-prov{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.dock-prov .dock-chip{box-shadow:none}.dock-prov-arrow{width:16px;height:16px;color:var(--text-muted);animation:ai-chip-in .45s var(--ease-spring-soft) both;animation-delay:calc(var(--i, 0) * 70ms)}.dock-chip--read{color:var(--text-secondary)}.dock-chip--read svg{color:var(--cyaan)}.dock-chip--dashboard{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.dock-chip--dashboard svg{color:#fff}button.dock-chip--dashboard:hover{color:#fff;border-color:var(--primary-dark);background:var(--primary-dark)}.dock-chip--map{border-color:var(--primary);color:var(--primary);font-weight:600}.dock-chip--note svg{color:var(--cyaan)}.dock-chip.is-new{position:relative}.dock-chip.is-new:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:inherit;border:2px solid var(--status-positive);pointer-events:none;animation:mm-ring 1.4s var(--ease-out) calc(var(--i, 0) * 70ms + .3s) both}.dock-next{display:flex;flex-wrap:wrap;gap:6px;border-top:1px solid var(--border-subtle);padding-top:10px}.dock-next .ai-chip{display:inline-flex;align-items:center;gap:6px}.dock-next .ai-chip svg{width:13px;height:13px}.dock-error{animation:dock-pop .4s var(--ease-out) both}.dock-steps{list-style:none;max-height:240px;overflow-y:auto;padding:6px;border-radius:14px;background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-lg);animation:dock-pop .45s var(--ease-spring-soft) both}.dock-step{display:flex;align-items:center;gap:8px;padding:5px 8px;font-size:12.5px;color:var(--text-secondary);border-radius:8px;animation:dock-tick .4s var(--ease-out) both}.dock-step svg{width:14px;height:14px;flex-shrink:0;color:var(--text-muted)}.dock-step span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dock-step.is-running{color:var(--text);background:var(--primary-subtle)}.dock-step.is-error .dock-step-state,.dock-step.is-denied .dock-step-state{color:var(--status-negative)}.dock-step.is-done .dock-step-state{color:var(--status-positive)}.dock-step--say{color:var(--text);font-weight:600}.dock-step--say svg,.dock-step--ask svg,.dock-step--answer svg{color:var(--primary)}:root[data-page=kaart] .dock{bottom:34px}@media (max-width: 640px){.dock{--dock-w: calc(100vw - 16px) ;left:50%;bottom:max(8px,env(safe-area-inset-bottom,0px))}.dock-clock{display:none}}.dock-targets{display:flex;gap:6px;min-width:0;overflow:hidden}.dock-sub.dock-targets{margin-top:2px;animation:none}.dock-target{display:inline-flex;align-items:center;gap:4px;min-width:0;max-width:240px;padding:1px 8px 1px 6px;border-radius:999px;font-size:12px;color:var(--text-secondary);background:var(--primary-subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:dock-tick .45s var(--ease-spring-soft) both;animation-delay:calc(var(--i, 0) * 70ms)}.dock-target svg{width:12px;height:12px;flex-shrink:0;color:var(--primary)}.dock-step .glyph{width:16px;height:16px;color:var(--text-muted)}.dock-step.is-running .glyph,.dock-step--say .glyph,.dock-step--ask .glyph{color:var(--primary)}.dock-step .dock-targets{flex:1}.dock-step .dock-target{flex:0 1 auto;animation:none}.dock-step-muted{color:var(--text-muted)}.dock-question:has(.src-choice){width:min(980px,calc(100vw - var(--sidebar-w) - 32px));justify-self:center}:root{--blauw: #006dff;--marine: #1c4181;--magenta: #f02198;--cyaan: #009ed4;--bruin: #ad643b;--paars: #762cd1;--rood: #cc0000;--geel: #ffcc00;--groen: #32ab27;--oranje: #ff6e00;--lime: #99d000;--grijs: #757575;--wit: #ffffff;--zwart: #000000;--primary: var(--blauw);--primary-dark: var(--marine);--primary-subtle: rgba(0, 109, 255, .08);--primary-ring: rgba(0, 109, 255, .18);--bg: color-mix(in srgb, var(--marine) 3%, color-mix(in srgb, var(--grijs) 9%, var(--wit)));--bg-card: var(--wit);--bg-sidebar: color-mix(in srgb, var(--marine) 22%, var(--zwart));--text: color-mix(in srgb, var(--marine) 15%, var(--zwart));--text-secondary: color-mix(in srgb, var(--grijs) 80%, var(--zwart));--text-muted: var(--grijs);--border: color-mix(in srgb, var(--grijs) 17%, var(--wit));--border-subtle: color-mix(in srgb, var(--grijs) 8%, var(--wit));--grid-line: rgba(28, 65, 129, .07);--grid-major: rgba(28, 65, 129, .12);--status-negative: var(--rood);--status-neutral: var(--geel);--status-positive: var(--groen);--warning-text: var(--bruin);--shadow: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -1px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--radius: 8px;--radius-sm: 4px;--radius-lg: 12px;--c1: var(--blauw);--c2: var(--magenta);--c3: var(--cyaan);--c4: var(--bruin);--c5: var(--paars);--font: Arial, Helvetica, sans-serif;--mono: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.4, .64, 1);--ease-spring-soft: cubic-bezier(.34, 1.2, .64, 1);--sidebar-w: 224px}@supports (animation-timing-function: linear(0,1)){:root{--ease-spring: linear(0, .009, .035 2.1%, .141, .281 6.7%, .723 12.9%, .938 16.7%, 1.017, 1.077, 1.121, 1.149 24.3%, 1.159, 1.163, 1.161, 1.154 29.9%, 1.129 32.8%, 1.051 39.6%, 1.017 43.1%, .991, .977 51%, .974 53.8%, .975 57.1%, .997 69.8%, 1.003 76.9%, 1);--ease-spring-soft: linear(0, .006, .025 2.8%, .101 6.1%, .539 18.9%, .721 25.3%, .849 31.5%, .937 38.1%, .968 41.8%, .991 45.7%, 1.006 50.1%, 1.015 55%, 1.017 63.9%, 1.001 85.9%, 1)}}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--warning-text: var(--geel);--bg: color-mix(in srgb, var(--marine) 12%, var(--zwart));--bg-card: color-mix(in srgb, var(--grijs) 14%, color-mix(in srgb, var(--marine) 14%, var(--zwart)));--bg-sidebar: var(--bg);--text: color-mix(in srgb, var(--wit) 84%, var(--marine));--text-secondary: color-mix(in srgb, var(--grijs) 75%, var(--wit));--text-muted: color-mix(in srgb, var(--grijs) 90%, var(--wit));--border: color-mix(in srgb, var(--grijs) 18%, var(--bg-card));--border-subtle: color-mix(in srgb, var(--grijs) 10%, var(--bg-card));--grid-line: color-mix(in srgb, var(--wit) 3%, transparent);--grid-major: color-mix(in srgb, var(--wit) 5.5%, transparent);--primary-subtle: rgba(0, 109, 255, .14);--shadow: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -1px rgba(0, 0, 0, .2);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5), 0 4px 6px -2px rgba(0, 0, 0, .3)}}:root[data-theme=dark]{color-scheme:dark;--warning-text: var(--geel);--bg: color-mix(in srgb, var(--marine) 12%, var(--zwart));--bg-card: color-mix(in srgb, var(--grijs) 14%, color-mix(in srgb, var(--marine) 14%, var(--zwart)));--bg-sidebar: var(--bg);--text: color-mix(in srgb, var(--wit) 84%, var(--marine));--text-secondary: color-mix(in srgb, var(--grijs) 75%, var(--wit));--text-muted: color-mix(in srgb, var(--grijs) 90%, var(--wit));--border: color-mix(in srgb, var(--grijs) 18%, var(--bg-card));--border-subtle: color-mix(in srgb, var(--grijs) 10%, var(--bg-card));--grid-line: color-mix(in srgb, var(--wit) 3%, transparent);--grid-major: color-mix(in srgb, var(--wit) 5.5%, transparent);--primary-subtle: rgba(0, 109, 255, .14);--shadow: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -1px rgba(0, 0, 0, .2);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5), 0 4px 6px -2px rgba(0, 0, 0, .3)}*{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}html,body{height:100%}body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{text-wrap:balance}.mono{font-family:var(--mono);font-size:.92em}.num{font-variant-numeric:tabular-nums}.muted{color:var(--text-muted)}.secondary{color:var(--text-secondary)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}button{cursor:pointer;border:none;border-radius:var(--radius);padding:8px 14px;font:inherit;font-size:14px;font-weight:500;display:inline-flex;align-items:center;gap:6px;transition:background .15s,color .15s,border-color .15s,box-shadow .15s,transform .3s var(--ease-spring)}button:active{transform:scale(.97)}button svg{width:16px;height:16px;flex-shrink:0}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{background:transparent;color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border-subtle)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--border-subtle);color:var(--text)}.btn-sm{padding:4px 9px;font-size:12.5px;gap:5px}.btn-sm svg{width:14px;height:14px}.btn-danger-text{background:transparent;color:var(--status-negative);border:1px solid var(--border)}.btn-danger-text:hover{border-color:var(--status-negative)}.icon-btn{padding:6px;background:transparent;color:var(--text-secondary);border-radius:var(--radius)}.icon-btn:hover{background:var(--border-subtle);color:var(--text)}.icon-btn[aria-pressed=true]{color:var(--primary);background:var(--primary-subtle)}input,select,textarea{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);color:var(--text);font:inherit;font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}label{display:block;font-weight:500;margin-bottom:4px;font-size:13px}.field{display:grid;gap:2px}.field-hint{font-size:12px;color:var(--text-muted)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;font-size:12px;color:var(--text-secondary);background:var(--bg);border:1px solid var(--border);border-radius:999px;white-space:nowrap}.chip svg{width:13px;height:13px}.status{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;white-space:nowrap}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 2px var(--bg-card)}.status--pos .status-dot{background:var(--status-positive)}.status--neu .status-dot{background:var(--status-neutral)}.status--neg .status-dot{background:var(--status-negative)}.status svg{width:14px;height:14px}.status--pos svg{color:var(--status-positive)}.status--neu svg{color:var(--warning-text)}.status--neg svg{color:var(--status-negative)}.reveal{animation:reveal .7s var(--ease-out) both;animation-delay:calc(var(--i, 0) * 70ms + 40ms)}@keyframes reveal{0%{opacity:0;transform:translateY(10px) scale(.99);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}@keyframes pop{0%{transform:scale(.4);opacity:0}}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 var(--primary-ring),var(--shadow)}60%{box-shadow:0 0 0 8px #006dff00,var(--shadow)}to{box-shadow:var(--shadow)}}@keyframes live{0%,to{box-shadow:0 0 #32ab2773}70%{box-shadow:0 0 0 6px #32ab2700}}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}.layout{display:flex;min-height:100%;position:relative;z-index:1}.ambient{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none;opacity:0;transition:opacity 1.8s var(--ease-in-out)}.ambient.is-on{opacity:1}.ambient:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#006dff06}.ambient i{position:absolute;width:75vmax;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,var(--c) 0%,transparent 62%);opacity:var(--ambient, .09);animation:ambient-drift 45s var(--ease-in-out) infinite alternate;animation-play-state:paused}.ambient.is-on i{animation-play-state:running}.ambient i:nth-child(1){--c: #006dff;left:-22vmax;top:-34vmax}.ambient i:nth-child(2){--c: #009ed4;right:-30vmax;top:6vh;animation-duration:55s;animation-delay:-12s}.ambient i:nth-child(3){--c: #006dff;left:18vw;bottom:-46vmax;animation-duration:65s;animation-delay:-20s}@keyframes ambient-drift{0%{transform:translate(0) scale(1)}50%{transform:translate(4vmax,3vmax) scale(1.06)}to{transform:translate(-3vmax,5vmax) scale(.97)}}:root[data-theme=dark] .ambient{--ambient: .14}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .ambient{--ambient: .14}}.sidebar{position:sticky;top:0;z-index:20;width:var(--sidebar-w);height:100vh;background:var(--bg-sidebar);display:flex;flex-direction:column;flex-shrink:0;border-right:1px solid rgba(255,255,255,.06);overflow:hidden;transition:width .28s var(--ease-out)}:root[data-nav=rail]{--sidebar-w: 64px}.sidebar-logo{display:flex;align-items:center;gap:10px;padding:22px 20px 18px 22px;border-bottom:1px solid rgba(255,255,255,.07)}.logo-text{font-size:16px;font-weight:700;color:#fff;letter-spacing:-.2px;white-space:nowrap}.nav-label,.logo-text,.user-text{transition:opacity .2s var(--ease-out),filter .2s var(--ease-out);white-space:nowrap;overflow:hidden}:root[data-nav=rail] .nav-label,:root[data-nav=rail] .logo-text,:root[data-nav=rail] .user-text{opacity:0;filter:blur(4px);pointer-events:none}.sidebar-nav{flex:1;padding:12px 0;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 20px;color:#ffffff8c;font-size:14px;font-weight:500;text-decoration:none;border-left:3px solid transparent;transition:background .15s,color .15s,border-color .15s}.nav-item svg{width:17px;height:17px;flex-shrink:0}.nav-item:hover{background:#ffffff0f;color:#ffffffe0;text-decoration:none}.nav-item.active{background:#006dff24;color:#fff;border-left-color:var(--primary)}.nav-item:focus-visible{outline-offset:-2px}.nav-sep{height:1px;margin:10px 20px;background:#ffffff12}.session{margin:0 12px 10px;padding:10px 12px;border-radius:var(--radius);background:#ffffff0a;border:1px solid rgba(255,255,255,.07);color:#ffffffbf;font-size:12px;display:flex;gap:10px;align-items:center}.session-dot{width:8px;height:8px;border-radius:50%;background:var(--groen);flex-shrink:0;animation:live 2.4s var(--ease-out) infinite}.session strong{display:block;color:#fff;font-weight:600;font-size:12.5px}:root[data-nav=rail] .session{padding:10px;justify-content:center;margin:0 14px 10px}:root[data-nav=rail] .session .user-text{display:none}.user{display:flex;align-items:center;gap:10px;padding:12px 14px 12px 17px;border-top:1px solid rgba(255,255,255,.07)}.avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:var(--primary);color:#fff;font-size:12px;font-weight:700;letter-spacing:.02em}.user-text{flex:1;min-width:0;color:#fff;font-size:13px;line-height:1.3;text-decoration:none}.user-text:hover{text-decoration:none}.user-text span{display:block;color:#ffffff80;font-size:12px}.sidebar .icon-btn{color:#ffffff80}.sidebar .icon-btn:hover{color:#fff;background:#ffffff14}.sidebar-toggle{width:100%;justify-content:flex-start;gap:10px;padding:11px 22px;border-radius:0;background:transparent;color:#fff6;border-top:1px solid rgba(255,255,255,.07);font-size:13px}.sidebar-toggle:hover{color:#ffffffd9}.sidebar-toggle kbd{margin-left:auto;padding:1px 5px;border:1px solid rgba(255,255,255,.2);border-radius:4px;font:inherit;font-size:11px}:root[data-nav=rail] .sidebar-toggle kbd{display:none}:root[data-nav=rail] .user{padding-left:17px}:root[data-nav=rail] .user .icon-btn{display:none}.main{flex:1;min-width:0;position:relative;z-index:1}.view{max-width:1320px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.hero{display:flex;align-items:flex-start;gap:16px;padding:20px 22px}.hero-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;flex-shrink:0;background:var(--primary-subtle);color:var(--primary);animation:pop .6s var(--ease-spring) 80ms both}.hero-icon svg{width:22px;height:22px}.hero-text{flex:1;min-width:0}.hero-text h1{font-size:19px;font-weight:700;letter-spacing:-.2px;margin:1px 0 2px}.hero-text p{font-size:13.5px;color:var(--text-secondary);max-width:72ch}.hero-aside{display:flex;gap:8px;align-items:center;flex-wrap:wrap;align-self:center}.hero-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.card-head{display:flex;align-items:center;gap:8px;padding:14px 16px 10px}.card-head>svg{width:16px;height:16px;color:var(--primary);flex-shrink:0}.card-head h2,.card-head h3{font-size:14px;font-weight:600}.card-head .spacer{flex:1}.card-hint{font-size:12px;color:var(--text-muted)}.canvas-wrap{position:relative;overflow:auto;border-top:1px solid var(--border);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.canvas-wrap--tall{height:clamp(460px,calc(100vh - 300px),860px)}.schema{position:relative;transform-origin:0 0;background-color:var(--bg);background-image:linear-gradient(var(--grid-major) 1px,transparent 1px),linear-gradient(90deg,var(--grid-major) 1px,transparent 1px),linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:120px 120px,120px 120px,24px 24px,24px 24px}.schema svg.wires{position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible;pointer-events:none}.wire{fill:none;stroke:var(--text-muted);stroke-width:1.5;transition:stroke .2s,opacity .25s}.wire--lineage{stroke-dasharray:4 5;stroke:var(--text-muted)}.wire-end{fill:none;stroke:var(--text-muted);stroke-width:1.5;transition:opacity .25s}.wire--flow{stroke-dasharray:4 5;animation:flow 1.2s linear infinite}@keyframes flow{to{stroke-dashoffset:-18}}.tcard{position:absolute;width:230px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);cursor:pointer;transition:opacity .25s var(--ease-out),border-color .2s,box-shadow .2s,transform .4s var(--ease-spring)}.tcard:hover{border-color:var(--text-muted);transform:translateY(-2px)}.tcard--view{border-style:dashed;box-shadow:none}.tcard-head{height:36px;display:flex;align-items:center;gap:7px;padding:0 10px;border-bottom:1px solid var(--border);font-family:var(--mono);font-size:12.5px;font-weight:600}.tcard-head svg{width:14px;height:14px;color:var(--primary);flex-shrink:0}.tcard-head .rows{margin-left:auto;font-family:var(--font);font-weight:400;font-size:11.5px;color:var(--text-muted);font-variant-numeric:tabular-nums}.tcard ul{list-style:none;padding:4px 0}.tcard li{height:24px;display:flex;align-items:center;gap:6px;padding:0 10px;font-family:var(--mono);font-size:11.5px;color:var(--text)}.tcard li .t{margin-left:auto;color:var(--text-muted);font-size:11px}.tcard li svg{width:11px;height:11px;color:var(--warning-text);flex-shrink:0}.tcard li.key-pad{padding-left:27px}.tcard.is-selected{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring),var(--shadow-md)}.schema[data-focus] .tcard:not(.is-related),.schema[data-focus] .rel-label:not(.is-related),.schema[data-focus] .dash-node:not(.is-related){opacity:.32}.schema[data-focus] .wire:not(.is-related),.schema[data-focus] .wire-end:not(.is-related){opacity:.18}.schema .wire.is-related,.schema .wire-end.is-related{stroke:var(--primary)}.rel-label{position:absolute;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:5px;padding:2px 8px;font-size:11.5px;font-variant-numeric:tabular-nums;color:var(--text);background:var(--bg-card);border:1px solid var(--border);border-radius:999px;box-shadow:var(--shadow);cursor:default;transition:opacity .25s}.rel-label .status-dot{width:7px;height:7px}.dash-node{position:absolute;display:flex;align-items:center;gap:8px;padding:0 12px;height:40px;background:var(--primary);color:#fff;border-radius:var(--radius);font-size:12.5px;font-weight:600;box-shadow:var(--shadow-md);text-decoration:none;transition:opacity .25s,transform .4s var(--ease-spring)}.dash-node:hover{text-decoration:none;transform:translateY(-2px)}.dash-node svg{width:15px;height:15px}.layer-tag{position:absolute;font-size:11.5px;color:var(--text-muted);display:flex;align-items:center;gap:6px}.layer-tag:before{content:"";width:14px;height:1px;background:var(--text-muted)}.canvas-legend{display:flex;flex-wrap:wrap;gap:6px 18px;padding:10px 16px;font-size:12px;color:var(--text-secondary);border-top:1px solid var(--border)}.canvas-legend span{display:inline-flex;align-items:center;gap:6px}.canvas-legend svg{width:26px;height:10px}.zoom{position:sticky;float:right;top:10px;right:10px;margin:10px 10px -46px 0;z-index:3;display:flex;gap:2px;padding:3px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.grid-2{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:16px;align-items:start}.feed{list-style:none;padding:2px 0 8px}.feed li{display:grid;grid-template-columns:44px 22px minmax(0,1fr);gap:8px;align-items:start;padding:9px 16px;border-top:1px solid var(--border-subtle)}.feed li:first-child{border-top:none}.feed time{font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums;padding-top:1px}.feed .ico{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;background:var(--primary-subtle);color:var(--primary)}.feed .ico svg{width:13px;height:13px}.feed .ico--neg{background:#cc000017;color:var(--status-negative)}.feed p{font-size:13px;line-height:1.45}.feed p .mono{color:var(--text)}.feed small{display:block;color:var(--text-muted);font-size:12px}.feed li.is-new{animation:feedIn .6s var(--ease-spring-soft) both;background:var(--primary-subtle);transition:background 2.4s var(--ease-out)}.feed li.is-new.settled{background:transparent}@keyframes feedIn{0%{opacity:0;transform:translateY(-10px);filter:blur(4px)}}.link-list{list-style:none;padding:0 8px 8px}.link-list a{display:flex;align-items:center;gap:10px;padding:10px 8px;border-radius:var(--radius);color:var(--text);text-decoration:none;transition:background .15s}.link-list a:hover{background:var(--border-subtle)}.link-list svg{width:16px;height:16px;color:var(--text-secondary);flex-shrink:0}.link-list .lt{flex:1;min-width:0;font-size:13.5px}.link-list .lt span{display:block;font-size:12px;color:var(--text-muted)}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th{text-align:left;padding:9px 14px;font-size:12px;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap;background:var(--bg-card)}th .mono{font-weight:600}th .t{display:block;font-family:var(--mono);font-weight:400;font-size:10.5px;color:var(--text-muted)}td{padding:9px 14px;border-bottom:1px solid var(--border-subtle);vertical-align:middle;font-size:13px;white-space:nowrap}td.r,th.r{text-align:right}tbody tr{transition:background .12s}tbody tr:hover td{background:var(--border-subtle)}tbody tr.is-selected td{background:var(--primary-subtle)}tbody tr.clickable{cursor:pointer}tr.row-in{animation:reveal .55s var(--ease-out) both}.null{color:var(--text-muted);font-style:italic}.dropzone{display:flex;align-items:center;gap:16px;padding:22px;width:100%;text-align:left;border:1.5px dashed var(--border);border-radius:var(--radius-lg);background:var(--bg-card);color:var(--text);transition:border-color .2s,background .2s}.dropzone:hover,.dropzone.is-over{border-color:var(--primary);background:var(--primary-subtle)}.dz-icon{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:var(--primary-subtle);color:var(--primary);flex-shrink:0;transition:transform .6s var(--ease-spring)}.dz-icon svg{width:22px;height:22px}.dropzone:hover .dz-icon{transform:translateY(-3px)}.dz-title{font-weight:600;font-size:14.5px}.dz-sub{font-size:13px;color:var(--text-secondary);font-weight:400}.drop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:85;display:grid;place-items:center;padding:16px;pointer-events:none;background:color-mix(in srgb,var(--primary) 8%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;transition:opacity .2s var(--ease-out)}.drop-overlay:before{content:"";position:absolute;top:12px;right:12px;bottom:12px;left:12px;border:2px dashed var(--primary);border-radius:var(--radius-lg)}.drop-overlay.on{opacity:1}.drop-card{display:grid;justify-items:center;gap:6px;padding:26px 36px;text-align:center;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);transform:translateY(10px) scale(.96);filter:blur(4px);transition:transform .5s var(--ease-spring-soft),filter .3s var(--ease-out)}.drop-overlay.on .drop-card{transform:none;filter:none}.drop-card .dz-icon{margin-bottom:4px}.drop-overlay.on .dz-icon{animation:pop .6s var(--ease-spring) 60ms both}.sniff{overflow:hidden}.sniff-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--border);border-block:1px solid var(--border)}.sniff-grid>div{background:var(--bg-card);padding:10px 16px}.sniff-grid dt{font-size:12px;color:var(--text-muted)}.sniff-grid dd{font-size:13.5px;font-weight:600}.sniff-grid dd .mono{font-weight:600}.sniff-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;padding:12px 16px;flex-wrap:wrap}.sniff-actions .field{flex:1;min-width:200px;max-width:320px;margin-right:auto}.sniff-actions .field input{font-family:var(--mono);font-size:13px}.tabs{display:flex;gap:2px;padding:0 12px;border-bottom:1px solid var(--border)}.tab{background:transparent;border-radius:0;padding:10px;color:var(--text-secondary);font-size:13.5px;border-bottom:2px solid transparent;margin-bottom:-1px}.tab:hover{color:var(--text)}.tab[aria-selected=true]{color:var(--text);border-bottom-color:var(--primary)}.tab:active{transform:none}.profile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;padding:14px 16px 16px}.pcol{border:1px solid var(--border);border-radius:var(--radius);padding:12px;display:grid;gap:8px}.pcol-head{display:flex;align-items:baseline;gap:8px}.pcol-head .mono{font-weight:600;font-size:12.5px}.pcol-head .t{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--text-muted)}.pcol dl{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;font-variant-numeric:tabular-nums}.pcol dt{font-size:11.5px;color:var(--text-muted)}.pcol dd{font-size:13px;font-weight:600}.hist{display:flex;align-items:flex-end;gap:2px;height:34px}.hist span{flex:1;background:var(--c1);border-radius:2px 2px 0 0;min-height:2px}.filterbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px 16px}.filterbar .field{display:flex;align-items:center;gap:8px}.filterbar label{margin:0;color:var(--text-secondary);font-weight:500}.filterbar select{width:auto;padding:6px 30px 6px 10px;font-size:13px}.filterbar .spacer{flex:1}.widgets{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.widget{display:flex;flex-direction:column;min-width:0}.widget.is-updated{animation:pulse-ring 1.6s var(--ease-out);border-color:var(--primary);transition:border-color 2s var(--ease-out)}.widget-head{display:flex;align-items:center;gap:6px;padding:14px 12px 4px 16px}.widget-head h3{font-size:14px;font-weight:600;flex:1;min-width:0}.widget-sub{padding:0 16px;font-size:12.5px;color:var(--text-secondary)}.widget-body{position:relative;padding:8px 16px 6px;flex:1;min-height:0}.widget-foot{display:flex;align-items:center;gap:6px;padding:8px 16px 12px;font-size:11.5px;color:var(--text-muted);overflow:hidden;white-space:nowrap}.widget-foot svg{width:13px;height:13px;flex-shrink:0}.lineage{font-family:var(--mono);font-size:11px;overflow:hidden;text-overflow:ellipsis}.legend{display:flex;flex-wrap:wrap;gap:4px 14px;padding:2px 16px 0;font-size:12px;color:var(--text-secondary)}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:10px;height:10px;border-radius:3px;display:inline-block}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.kpi{padding:16px 18px 14px;display:grid;gap:4px}.kpi-label{font-size:13px;color:var(--text-secondary);display:flex;align-items:center;gap:6px}.kpi-value{font-size:28px;font-weight:700;letter-spacing:-.5px;font-variant-numeric:tabular-nums;line-height:1.15}.kpi-value small{font-size:15px;font-weight:600;color:var(--text-secondary);margin-left:3px;letter-spacing:0}.kpi-row{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.widget.kpi{display:flex;flex-direction:column;gap:4px}.kpi-main{margin-top:auto;display:grid;gap:4px}.kpi-delta{font-size:12.5px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.kpi svg.spark{width:96px;height:30px;flex-shrink:0;overflow:visible}svg.chart{display:block;width:100%;overflow:visible}svg.chart text{fill:var(--text-muted);font-size:11px;font-family:var(--font);font-variant-numeric:tabular-nums}svg.chart text.lbl{fill:var(--text-secondary);font-size:11.5px}svg.chart text.val{fill:var(--text);font-size:11.5px;font-weight:600}svg.chart .gridline{stroke:var(--border);stroke-width:1}svg.chart .axis{stroke:var(--text-muted);stroke-width:1}svg.chart .crosshair{stroke:var(--text-muted);stroke-width:1;stroke-dasharray:3 3}svg.chart .hit{fill:transparent;cursor:crosshair}.bar{transition:opacity .15s}.bar:hover{opacity:.8}.heat-cell{stroke:var(--bg-card);stroke-width:2;transition:stroke .12s}.heat-cell:hover{stroke:var(--text)}.heat-scale{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--text-muted);padding:4px 16px 0;font-variant-numeric:tabular-nums}.heat-scale i{width:120px;height:8px;border-radius:4px;background:linear-gradient(90deg,color-mix(in oklab,var(--c1) 6%,var(--bg-card)),var(--c1))}.cloud{position:relative;height:270px}.cloud span{position:absolute;white-space:nowrap;line-height:1;font-weight:700;letter-spacing:-.02em;cursor:default;transition:opacity .15s,transform .35s var(--ease-spring);animation:reveal .6s var(--ease-out) both;animation-delay:calc(var(--i) * 25ms)}.cloud span:hover{transform:scale(1.06)}.cloud:hover span:not(:hover){opacity:.45}.net-edge{stroke:var(--text-muted);transition:stroke .15s,opacity .15s}.net-node circle{fill:var(--c1);stroke:var(--bg-card);stroke-width:2;transition:transform .35s var(--ease-spring);transform-box:fill-box;transform-origin:center}.net-node text{fill:var(--text);font-size:11.5px;font-weight:600;text-anchor:middle;paint-order:stroke;stroke:var(--bg-card);stroke-width:3px}.net-node{cursor:default}.net-node:hover circle{transform:scale(1.12)}.network.is-focus .net-edge{opacity:.12}.network.is-focus .net-edge.on{opacity:1;stroke:var(--c1)}.network.is-focus .net-node:not(.on){opacity:.35}.tooltip{position:fixed;z-index:100;pointer-events:none;min-width:120px;max-width:280px;padding:8px 10px;font-size:12.5px;line-height:1.45;color:var(--text);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);opacity:0;transform:translateY(4px);transition:opacity .12s,transform .2s var(--ease-out)}.tooltip.on{opacity:1;transform:none}.tooltip b{font-weight:600}.tooltip .tt-row{display:flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums}.tooltip .tt-row i{width:9px;height:9px;border-radius:2px}.tooltip .tt-row span:last-child{margin-left:auto;font-weight:600;padding-left:12px}.tooltip .tt-head{color:var(--text-secondary);margin-bottom:3px}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#00000059;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;transition:opacity .25s var(--ease-out)}.sheet-backdrop.on{opacity:1}.sheet{position:fixed;z-index:61;top:0;right:0;bottom:0;width:min(520px,100%);background:var(--bg-card);border-left:1px solid var(--border);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;transform:translate(100%);transition:transform .45s var(--ease-out);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-right:env(safe-area-inset-right,0px)}.sheet.on{transform:none}.sheet-head{display:flex;align-items:flex-start;gap:10px;padding:18px 18px 14px;border-bottom:1px solid var(--border)}.sheet-head h2{font-size:16px;font-weight:700}.sheet-head p{font-size:13px;color:var(--text-secondary)}.sheet-body{padding:16px 18px 24px;overflow-y:auto;display:grid;gap:18px;align-content:start}.sheet-body h3{font-size:13px;font-weight:600;margin-bottom:8px}.chain{list-style:none;display:grid;gap:0}.chain li{position:relative;display:flex;align-items:center;gap:10px;padding:7px 0 7px 26px;font-size:13px}.chain li:before{content:"";position:absolute;left:7px;top:50%;width:9px;height:9px;margin-top:-5px;border-radius:50%;border:2px solid var(--primary);background:var(--bg-card)}.chain li:after{content:"";position:absolute;left:11px;top:calc(50% + 5px);height:calc(100% - 10px);width:1.5px;background:var(--border)}.chain li:last-child:after{display:none}.chain li .kind{margin-left:auto;font-size:12px;color:var(--text-muted)}pre.code{font-family:var(--mono);font-size:12.5px;line-height:1.6;padding:12px 14px;overflow-x:auto;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);white-space:pre}.kw{color:var(--blauw);font-weight:600}.str{color:var(--bruin)}.cm{color:var(--text-muted);font-style:italic}.nm{color:var(--paars)}:root[data-theme=dark] .kw{color:var(--cyaan)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .kw{color:var(--cyaan)}}.bench{display:grid;grid-template-columns:250px minmax(0,1fr);gap:16px;align-items:start}.tree{padding:8px 6px 10px;max-height:640px;overflow:auto}.tree details{border-radius:var(--radius)}.tree summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:7px;padding:6px 8px;border-radius:var(--radius);font-family:var(--mono);font-size:12.5px}.tree summary::-webkit-details-marker{display:none}.tree summary:hover{background:var(--border-subtle)}.tree summary svg{width:14px;height:14px;color:var(--text-secondary);flex-shrink:0}.tree summary .rows{margin-left:auto;font-family:var(--font);font-size:11.5px;color:var(--text-muted)}.tree ul{list-style:none;padding:2px 0 6px 29px}.tree li{display:flex;gap:8px;font-family:var(--mono);font-size:11.5px;padding:2px 8px 2px 0}.tree li .t{margin-left:auto;color:var(--text-muted)}.tree-group{font-size:12px;color:var(--text-muted);padding:10px 8px 4px}.editor{position:relative;border-bottom:1px solid var(--border)}.editor pre,.editor textarea{margin:0;padding:14px 16px;font-family:var(--mono);font-size:13px;line-height:1.65;white-space:pre-wrap;word-break:break-word;min-height:210px;border:none;border-radius:0;-moz-tab-size:2;tab-size:2}.editor pre{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;color:var(--text)}.editor textarea{position:relative;background:transparent;color:transparent;caret-color:var(--text);resize:vertical;box-shadow:none;display:block}.editor textarea:focus{box-shadow:inset 0 0 0 2px var(--primary-ring)}.editor textarea::selection{background:var(--primary-ring);color:transparent}.bench-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;flex-wrap:wrap}.bench-bar .meta{font-size:12.5px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.bench-bar .spacer{flex:1}kbd.k{font:inherit;font-size:11.5px;padding:1px 5px;border:1px solid currentColor;border-radius:4px;opacity:.75}.notes{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;align-items:start}.note-list{list-style:none;padding:6px}.note-list button{width:100%;display:block;text-align:left;background:transparent;padding:10px 12px;color:var(--text);border-radius:var(--radius)}.note-list button:hover{background:var(--border-subtle)}.note-list button[aria-current=true]{background:var(--primary-subtle)}.note-list b{display:block;font-size:13.5px;font-weight:600;line-height:1.35}.note-list span{font-size:12px;color:var(--text-muted)}.prose{padding:24px 28px 28px;max-width:74ch}.prose h2{font-size:21px;font-weight:700;letter-spacing:-.3px;line-height:1.25;margin-bottom:6px}.prose .by{font-size:12.5px;color:var(--text-muted);margin-bottom:18px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}.prose p{font-size:14.5px;line-height:1.65;margin-bottom:12px}.prose h3{font-size:14.5px;font-weight:700;margin:20px 0 6px}.prose table{margin:6px 0 14px;border:1px solid var(--border);border-radius:var(--radius)}.prose ul{padding-left:20px;margin-bottom:12px}.prose li{font-size:14.5px;line-height:1.6}.prefs{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px;align-items:start}.subnav{padding:6px;display:grid;gap:2px}.subnav button{width:100%;justify-content:flex-start;background:transparent;color:var(--text-secondary);padding:9px 12px}.subnav button:hover{background:var(--border-subtle);color:var(--text)}.subnav button[aria-current=true]{background:var(--primary-subtle);color:var(--primary)}.subnav hr{border:none;border-top:1px solid var(--border);margin:6px 4px}.pref-panel{display:grid;gap:16px}.pref-section{padding:18px 20px 20px;display:grid;gap:14px}.pref-section h2{font-size:15px;font-weight:600}.pref-section>p{font-size:13px;color:var(--text-secondary);margin-top:-10px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:620px}.form-actions{display:flex;align-items:center;gap:12px}.saved{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--status-positive);animation:pop .45s var(--ease-spring) both}.saved svg{width:15px;height:15px}.tiles{display:flex;flex-wrap:wrap;gap:8px}.tile{position:relative;flex-direction:column;justify-content:center;gap:6px;min-width:112px;padding:14px 16px 12px;background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border);font-size:13px}.tile svg{width:18px;height:18px}.tile:hover{color:var(--text);border-color:var(--text-muted)}.tile[aria-checked=true]{color:var(--primary);border-color:var(--primary);background:var(--primary-subtle)}.tile .check{position:absolute;top:6px;right:6px;width:13px;height:13px;animation:pop .42s var(--ease-spring) both}.sessions{list-style:none;display:grid}.sessions li{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--border-subtle)}.sessions li:first-child{border-top:none}.sessions svg{width:18px;height:18px;color:var(--text-secondary);flex-shrink:0}.sessions .st{flex:1;min-width:0;font-size:13.5px}.sessions .st span{display:block;font-size:12px;color:var(--text-muted)}.sessions li.out{animation:none}.login{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;overflow:auto;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));background-color:var(--bg);background-image:linear-gradient(var(--grid-major) 1px,transparent 1px),linear-gradient(90deg,var(--grid-major) 1px,transparent 1px),linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:120px 120px,120px 120px,24px 24px,24px 24px;background-position:center center}.login-card{width:380px;max-width:100%;padding:36px 36px 30px;border-top:3px solid var(--primary);box-shadow:var(--shadow-lg);animation:reveal .6s var(--ease-out) both}.login-logo{text-align:center;margin-bottom:26px}.login-logo .mark{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:var(--radius-lg);background:var(--primary-subtle);margin-bottom:14px}.login-logo h1{font-size:24px;font-weight:700;letter-spacing:-.3px}.login-logo p{font-size:13px;color:var(--text-secondary);margin-top:2px}.login form{display:grid;gap:14px}.login .btn-primary{justify-content:center;height:40px;margin-top:4px}.login-error{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--status-negative);animation:reveal .35s var(--ease-out) both}.login-error svg{width:15px;height:15px;margin-top:2px;flex-shrink:0}.login-foot{margin-top:18px;text-align:center;font-size:12px;color:var(--text-muted)}.toast{position:fixed;z-index:90;left:calc(var(--sidebar-w) + (100vw - var(--sidebar-w)) / 2);top:20px;transform:translate(-50%,-20px);display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius);background:var(--text);color:var(--bg-card);font-size:13px;box-shadow:var(--shadow-lg);opacity:0;transition:opacity .25s,transform .45s var(--ease-spring);max-width:calc(100% - 32px)}.toast.on{opacity:1;transform:translate(-50%)}.toast svg{width:16px;height:16px;flex-shrink:0}@media (max-width: 1100px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.widgets>.widget{grid-column:span 12!important}.grid-2{grid-template-columns:minmax(0,1fr)}}@media (max-width: 900px){:root{--sidebar-w: 64px}.sidebar .nav-label,.sidebar .logo-text,.sidebar .user-text{opacity:0;pointer-events:none}.sidebar .session .user-text,.sidebar-toggle,.user .icon-btn{display:none}.bench,.notes,.prefs{grid-template-columns:minmax(0,1fr)}.tree{max-height:240px}.sniff-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){:root{--sidebar-w: 0px}.layout{flex-direction:column}.sidebar{position:sticky;top:env(safe-area-inset-top,0px);width:100%;height:auto;flex-direction:row;align-items:center;border-right:none;border-bottom:1px solid rgba(255,255,255,.06);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}.sidebar-logo{padding:12px 10px 12px 16px;border-bottom:none}.sidebar-nav{display:flex;padding:0;overflow-x:auto;flex:1}.sidebar-nav .nav-item{width:auto;padding:16px 12px;border-left:none;border-bottom:3px solid transparent}.sidebar-nav .nav-item.active{border-bottom-color:var(--primary)}.nav-sep,.session,.sidebar .nav-label{display:none}.user{border-top:none;padding:8px 12px}.sidebar .user-text{display:none}.kpis{grid-template-columns:minmax(0,1fr)}.hero{flex-wrap:wrap}.form-grid{grid-template-columns:minmax(0,1fr)}.login-card{padding:28px 22px 24px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}#root{min-height:100%}.page-loading{display:flex;align-items:center;justify-content:center;gap:10px;min-height:40vh;color:var(--text-muted);font-size:13.5px}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,var(--border-subtle),var(--border),var(--border-subtle));background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:48px 24px;color:var(--text-secondary)}.empty-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--primary-subtle);color:var(--primary);margin-bottom:4px}.empty-icon svg{width:22px;height:22px}.empty h3{font-size:15px;font-weight:600;color:var(--text)}.empty p{font-size:13px;max-width:460px}.empty .mono{color:var(--text)}.empty-actions{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap;justify-content:center}.error-box{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--radius);border:1px solid var(--border);border-left:3px solid var(--status-negative);background:var(--bg-card);font-size:13px}.error-box svg{width:16px;height:16px;color:var(--status-negative);flex-shrink:0;margin-top:1px}.error-box p{min-width:0;overflow-wrap:anywhere;white-space:pre-line}.error-box .mono{font-size:12px}.warn-box{border-left-color:var(--status-neutral)}.warn-box svg{color:var(--warning-text)}.btn-link{background:transparent;padding:0;color:var(--primary);font-weight:500}.btn-link:hover{text-decoration:underline}a.btn-primary,a.btn-secondary,a.btn-ghost{text-decoration:none;display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius);padding:8px 14px;font-weight:500}a.btn-ghost.btn-sm,a.btn-secondary.btn-sm{padding:4px 9px;font-size:12.5px}button:disabled{opacity:.55;cursor:not-allowed}button:disabled:active{transform:none}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;place-items:center;overflow-y:auto;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));background:#0000006b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn .2s var(--ease-out) both}@keyframes fadeIn{0%{opacity:0}}.modal{width:480px;max-width:100%;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:modalIn .42s var(--ease-spring-soft) both}@keyframes modalIn{0%{opacity:0;transform:translateY(14px) scale(.98);filter:blur(3px)}}.modal-head{display:flex;align-items:flex-start;gap:12px;padding:20px 20px 4px}.modal-head .hero-icon{width:40px;height:40px;border-radius:10px}.modal-head .hero-icon svg{width:19px;height:19px}.modal-head h2{font-size:16.5px;font-weight:700}.modal-head p{font-size:13px;color:var(--text-secondary)}.modal-body{padding:14px 20px 6px;display:grid;gap:14px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px 18px;flex-wrap:wrap}.modal-danger .hero-icon{background:#cc000017;color:var(--status-negative)}.btn-danger{background:var(--status-negative);color:#fff}.btn-danger:hover{filter:brightness(.9)}.input-row{display:flex;gap:8px}.input-row input{flex:1;min-width:0}.secret{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--radius);background:var(--bg);border:1px dashed var(--primary);font-family:var(--mono);font-size:15px;letter-spacing:.02em}.secret span{flex:1;min-width:0;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.hint{font-size:12.5px;color:var(--text-secondary)}.banner{display:flex;gap:10px;align-items:center;padding:12px 16px;font-size:13.5px}.banner svg{width:17px;height:17px;color:var(--warning-text);flex-shrink:0}.md>*+*{margin-top:10px}.md p,.md li{font-size:14px;line-height:1.65}.md h1,.md h2,.md h3{font-size:14.5px;font-weight:700;margin-top:18px}.md ul,.md ol{padding-left:20px}.md code{font-family:var(--mono);font-size:.9em;background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:0 4px}.md pre{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;overflow-x:auto}.md pre code{border:none;padding:0;background:none}.md table{border:1px solid var(--border);border-radius:var(--radius);display:block;overflow-x:auto}.md blockquote{border-left:3px solid var(--border);padding-left:12px;color:var(--text-secondary)}.fn{color:var(--marine)}:root[data-theme=dark] .fn{color:var(--text)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .fn{color:var(--text)}}.subnav-link{display:flex;align-items:center;gap:6px;padding:9px 12px;border-radius:var(--radius);color:var(--text-secondary);font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,color .15s}.subnav-link svg{width:16px;height:16px}.subnav-link:hover{background:var(--border-subtle);color:var(--text);text-decoration:none}.subnav-link[aria-current=true]{background:var(--primary-subtle);color:var(--primary)}.banner.warn{border-left:3px solid var(--status-neutral)}.login-card .btn-primary .spin{width:16px;height:16px}.side-stack{display:grid;gap:16px;align-content:start}.card-empty{padding:0 16px 16px;font-size:13px;color:var(--text-secondary)}.canvas-wrap{background-color:var(--bg);background-image:linear-gradient(var(--grid-major) 1px,transparent 1px),linear-gradient(90deg,var(--grid-major) 1px,transparent 1px),linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:120px 120px,120px 120px,24px 24px,24px 24px;background-attachment:local}@media (max-width: 640px){.hero-aside{flex-basis:100%}}.reset-btn svg{transition:transform .6s var(--ease-spring)}.reset-btn:hover:not(:disabled) svg{transform:rotate(-200deg)}.reset-btn:disabled{opacity:.5;cursor:not-allowed}.reset-lists{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px;margin-bottom:14px}.reset-lists h3{font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:6px}.reset-list{list-style:none;margin:0;padding:0;display:grid;gap:5px;font-size:13.5px}.reset-list li{display:flex;align-items:center;gap:8px}.reset-list svg{width:15px;height:15px;color:var(--status-negative);flex-shrink:0}.reset-list.is-kept svg{color:var(--status-positive)}.reset-list b{font-variant-numeric:tabular-nums;min-width:2ch;text-align:right}@media (max-width: 640px){.reset-lists{grid-template-columns:minmax(0,1fr)}}.ask-claude svg{width:16px;height:16px;transition:transform .5s var(--ease-spring)}.ask-claude:hover svg{transform:rotate(-12deg) scale(1.12)}.ai-chip{padding:4px 11px;font-size:12.5px;font-weight:500;border-radius:999px;background:var(--primary-subtle);color:var(--primary);border:1px solid transparent;animation:ai-chip-in .5s var(--ease-spring-soft) both;animation-delay:calc(var(--i, 0) * 70ms + .12s);transition:background .2s,border-color .2s,transform .35s var(--ease-spring)}.ai-chip:hover{border-color:var(--primary-ring);background:var(--primary-ring);transform:translateY(-1px)}.ai-chip:active{transform:scale(.96)}@keyframes ai-chip-in{0%{opacity:0;transform:translateY(4px) scale(.96);filter:blur(2px)}}.note-ask{margin-top:18px;padding-top:12px;border-top:1px solid var(--border-subtle)}.link-btn{display:inline;padding:0;background:none;border:none;color:var(--primary);font:inherit;font-weight:600;cursor:pointer}.link-btn:hover{text-decoration:underline}
