:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font-ui:ui-monospace, Consolas, monospace;--font-mono:ui-monospace, Consolas, monospace}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}html,body{background:#15161b;height:100%;margin:0}[hidden]{display:none!important}#app{box-sizing:border-box;flex-direction:column;gap:0;width:100vw;height:100vh;padding:16px;display:flex}#tabs{flex:none;align-items:flex-end;gap:4px;display:flex}#open-model{color:#8fa0b8;font:12px var(--font-ui);margin-left:auto;padding:0 10px 7px}#back-to-projects,#tabs #log-out{color:#9fb6d0;cursor:pointer;font:12px var(--font-ui);background:0 0;border:1px solid #3a4150;border-radius:6px;margin-bottom:2px;padding:5px 12px}.tab{color:#999;cursor:pointer;font:13px var(--font-ui);background:#1414198c;border:none;border-radius:8px 8px 0 0;padding:6px 16px}.tab.active{color:#fff;background:#141419f2}#stage{flex:1;min-height:0;position:relative}#view-3d,#view-graph{position:absolute;inset:0}#view-graph{background:#1b1c22;border-radius:0 10px 10px;flex-direction:column;display:flex;overflow:hidden}#graph-toolbar{color:#bbb;font:12px var(--font-ui);border-bottom:1px solid #333;flex:none;align-items:center;gap:12px;padding:8px 10px;display:flex}#graph-toolbar select{color:#eee;font:inherit;background:#111;border:1px solid #444;border-radius:4px;padding:4px 6px}#graph-toolbar label{cursor:pointer;white-space:nowrap;align-items:center;gap:5px;display:flex}#graph-status{color:#888;margin-left:auto}#graph-canvas{flex:1;min-height:0}#viewer-container{border-radius:0 10px 10px;position:absolute;inset:0;overflow:hidden}#viewer-container canvas{display:block}.viewer-message{box-sizing:border-box;color:#cfd6e0;max-width:min(420px,100% - 32px);font:13px/1.5 var(--font-ui);background:#141419d9;border-radius:6px;padding:16px 20px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.viewer-message strong{color:#fff}.viewer-message p{margin:8px 0 0}.load-status{color:#cfd6e0;font:12px/1.6 var(--font-ui);pointer-events:none;background:#141419d9;border-radius:6px;padding:6px 10px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.load-model{color:#9fb6d0;min-width:5ch;margin-right:1ch;display:inline-block}#info-panel{box-sizing:border-box;word-break:break-word;flex-direction:column;width:320px;max-height:calc(100% - 24px);display:flex;position:absolute;top:12px;right:12px}#graph-info-panel{z-index:10;box-sizing:border-box;word-break:break-word;flex-direction:column;width:320px;max-height:calc(100% - 64px);display:flex;position:absolute;top:52px;right:12px}#info-panel .panel-body,#graph-info-panel .panel-body{overflow-y:auto}#info-panel.collapsed,#graph-info-panel.collapsed{width:auto}.info-tabs{gap:4px;margin-bottom:8px;display:flex}.info-tab{color:#8fa0b8;cursor:pointer;font:inherit;background:0 0;border:1px solid #3a4150;border-radius:5px;flex:1;padding:4px 8px}.info-tab.active{color:#fff;background:#ffffff17}.spatial-row{align-items:center;gap:8px;padding:3px 0;display:flex}.spatial-name{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.spatial-name:hover{color:#2ec0ff}.spatial-kind{color:#7b8494;font-size:11px}.info-section .spatial-kind{text-transform:none;letter-spacing:0}.info-title{margin-bottom:6px;font-weight:700}.info-section{color:#8fc7ff;text-transform:uppercase;letter-spacing:.5px;border-top:1px solid #444;margin:10px 0 4px;padding-top:6px;font-size:11px}.info-row{gap:8px;display:flex}.info-key{color:#999;flex:0 0 42%}.info-empty{color:#777;font-style:italic}#info-panel a,#graph-info-panel a{color:#8fc7ff}#tree-panel{z-index:5;flex-direction:column;width:300px;display:flex;position:absolute;top:12px;bottom:12px;left:12px}#tree-panel .panel-body{flex:1;overflow-y:auto}#tree-panel.collapsed{width:auto;bottom:auto}#tree-panel details{margin-left:4px}#tree-panel summary{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;padding:3px 0;overflow:hidden}#tree-panel summary:hover{color:#fff}.tree-visible{vertical-align:middle;cursor:pointer;margin:0 6px 0 0}.tree-loading{color:#888;padding:2px 0;font-style:italic}.tree-elements{margin:0;padding-left:16px;list-style:none}.tree-elements li{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;padding:2px 0;overflow:hidden}.tree-elements li:hover{color:#2ec0ff}#bottom-panels{flex-direction:column;gap:8px;max-width:640px;display:flex;position:absolute;bottom:12px;left:320px;right:12px}.panel{color:#eee;font:13px/1.4 var(--font-ui);background:#141419d9;border-radius:6px;overflow:hidden}.panel-header{cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff0f;align-items:center;gap:6px;padding:7px 10px;display:flex}.panel-header:hover{background:#ffffff1c}.panel-caret{width:10px}.panel-body{padding:10px}.panel.collapsed .panel-body{display:none}.panel-input{box-sizing:border-box;color:#eee;width:100%;font:inherit;resize:vertical;background:#111;border:1px solid #444;border-radius:4px;padding:6px}#nl-input{height:54px}#sparql-input{height:90px;font-family:var(--font-mono)}.panel-actions{align-items:center;gap:10px;margin:6px 0 0;display:flex}#sparql-results{white-space:pre-wrap;max-height:200px;font-family:var(--font-mono);margin-top:8px;overflow:auto}#sparql-results table{border-collapse:collapse;width:100%}#sparql-results th,#sparql-results td{text-align:left;border:1px solid #444;padding:2px 6px}.cc-label{color:#999;margin-bottom:4px;display:block}.cc-about{color:#aab;margin:6px 0 0;font-size:12px}.cc-meta{color:#8fa0b8}.cc-status{color:#aab;font-size:12px}.cc-report{border-top:1px solid #333;margin-top:10px;padding-top:8px}.cc-report-kind{color:#8fa0b8;margin:0 0 6px;font-size:12px}.cc-affects{color:#ffb45c}.cc-counts{flex-wrap:wrap;gap:6px;display:flex}.cc-tools{flex-wrap:wrap}.cc-spacer{flex:1}.cc-check{cursor:pointer;white-space:nowrap;align-items:center;gap:4px;display:flex}.cc-badge{text-align:center;border:1px solid;border-radius:4px;min-width:5ch;padding:0 6px;font-size:11px;line-height:17px;display:inline-block}.cc-badge.fail{color:#ff7b7b}.cc-badge.pass{color:#6bd89a}.cc-badge.error{color:#ffb45c}.cc-badge.manual{color:#9aa3b2}.cc-results{max-height:38vh;margin-top:8px;overflow-y:auto}.cc-section{color:#8fa0b8;margin:8px 0 2px;font-size:12px}.cc-rule summary{cursor:pointer;align-items:center;gap:8px;padding:3px 2px;list-style:none;display:flex}.cc-rule summary::-webkit-details-marker{display:none}.cc-rule summary:hover{background:#ffffff0f}.cc-rule-id{color:#999;flex:none}.cc-rule-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cc-rule-count{color:#ff7b7b}.cc-rule-body{padding:2px 4px 8px 14px;font-size:12px}.cc-rule-body p{margin:4px 0}.cc-params,.cc-muted{color:#999}.cc-error{color:#ffb45c;white-space:pre-wrap}.cc-table-wrap{max-height:200px;overflow:auto}.cc-table-wrap table{border-collapse:collapse;width:100%;font-family:var(--font-mono)}.cc-table-wrap th,.cc-table-wrap td{text-align:left;white-space:nowrap;border:1px solid #444;padding:2px 6px}.cc-table-wrap th{background:#1c1d23;position:sticky;top:0}.cc-finding{cursor:pointer}.cc-finding:hover{background:#ffffff0f}.cc-finding.active{background:#2ec0ff2e}body.landing-body{--film:#eef1ef;--film-2:#e3e8e5;--sheet:#f8faf9;--ink:#1c2530;--ink-2:#4e5b64;--rule:#c9d1cd;--arc:#3d5a80;--str:#b7832a;--mep:#2a8568;--clash:#c42d6b;--btn-ink:#f8faf9;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:var(--film);height:auto}@media (prefers-color-scheme:dark){body.landing-body{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--film:#121a1f;--film-2:#18232a;--sheet:#1b262d;--ink:#e2e9e6;--ink-2:#93a1a8;--rule:#2c3a42;--arc:#8fb0d8;--str:#e0ae55;--mep:#5cc39f;--clash:#f0609a;--btn-ink:#121a1f}}body.landing-body #app{width:auto;height:auto;padding:0;display:block}.landing{color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;padding-inline:20px;font-size:17px;line-height:1.6}.landing *{box-sizing:border-box}.landing .wrap{max-width:1180px;margin-inline:auto}.landing h1,.landing h2,.landing h3{letter-spacing:-.01em;text-wrap:balance;margin:0;font-weight:700;font-stretch:125%;line-height:1.08}.landing h1{font-size:clamp(2.3rem,5.2vw,4.1rem)}.landing h2{font-size:clamp(1.7rem,3.2vw,2.5rem)}.landing h3{font-size:1.15rem;line-height:1.25}.landing p{max-width:62ch;margin:0}.landing a{color:inherit}.landing :focus-visible{outline:2px solid var(--clash);outline-offset:3px;border-radius:2px}.landing .top{justify-content:space-between;align-items:center;gap:24px;padding-block:22px;display:flex}.landing .mark{letter-spacing:.01em;align-items:center;gap:10px;font-size:1.3rem;font-weight:750;font-stretch:125%;text-decoration:none;display:flex}.landing .mark svg{width:26px;height:26px}.landing .nav{align-items:center;gap:28px;font-size:.95rem;display:flex}.landing .nav a{color:var(--ink-2);text-decoration:none}.landing .nav a:hover{color:var(--ink)}.landing .nav a.btn{color:var(--btn-ink)}.landing .nav a.btn:hover{color:var(--ink)}@media (width<=760px){.landing .nav a[data-scroll],.landing .nav a.nav-extra{display:none}}.landing .btn{border:1.5px solid var(--ink);background:var(--ink);color:var(--btn-ink);font:600 .95rem/1 var(--font);cursor:pointer;border-radius:2px;justify-content:center;align-items:center;padding:12px 20px;text-decoration:none;display:inline-flex}.landing .btn:hover,.landing .btn.ghost{color:var(--ink);background:0 0}.landing .btn.ghost:hover{background:var(--ink);color:var(--btn-ink)}.landing .hero{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:40px;padding-block:36px 72px;display:grid}.landing .hero-copy{gap:26px;display:grid}.landing .lede{color:var(--ink-2);max-width:44ch;font-size:1.15rem}.landing .cta-row{flex-wrap:wrap;gap:12px;display:flex}.landing .hero-note{color:var(--ink-2);font-size:.88rem}.landing .stage-wrap{gap:14px;display:grid}.landing .fed3d{aspect-ratio:9/8;width:100%;max-width:100%;position:relative;overflow:hidden}.landing .fed3d canvas{width:100%;height:100%;display:block}.landing .fed3d.no-webgl{aspect-ratio:auto}.landing .fed3d.no-webgl>span{display:none}.landing .fed-tag{font:700 13px var(--font);letter-spacing:.04em;pointer-events:none;font-stretch:125%;position:absolute;top:-10px;left:-44px}.landing .fed-tag[data-tag=arc]{color:var(--arc)}.landing .fed-tag[data-tag=str]{color:var(--str)}.landing .fed-tag[data-tag=mep]{color:var(--mep)}.landing .fed-clash{font:600 13px var(--font);color:var(--ink);white-space:nowrap;pointer-events:none;z-index:1;position:absolute;top:9%;right:8px}.landing .fed-clash-dot{border:2px solid var(--clash);pointer-events:none;z-index:1;border-radius:50%;width:16px;height:16px;position:absolute;top:-8px;left:-8px}.landing .fed-clash-dot:after{content:"";border:2px solid var(--clash);border-radius:50%;animation:2.4s ease-out infinite landing-ping;position:absolute;inset:-2px}.landing .fed-leader{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.landing .fed-leader polyline{fill:none;stroke:var(--clash);stroke-width:1.2px}.landing .fed-clash,.landing .fed-clash-dot,.landing .fed-leader{opacity:0;transition:opacity .4s}.landing .fed3d.clash-on .fed-clash,.landing .fed3d.clash-on .fed-clash-dot,.landing .fed3d.clash-on .fed-leader{opacity:1}@keyframes landing-ping{0%{opacity:.9;transform:scale(.6)}80%,to{opacity:0;transform:scale(2.4)}}.landing .stage-bar{border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 18px;padding-top:14px;display:flex}.landing .layers{flex-wrap:wrap;gap:8px;display:flex}.landing .layer{cursor:pointer;border:1px solid var(--rule);-webkit-user-select:none;user-select:none;background:var(--sheet);border-radius:999px;align-items:center;gap:8px;padding:6px 12px 6px 8px;font-size:.85rem;display:inline-flex}.landing .layer input{appearance:none;border:2px solid var(--c);background:var(--c);cursor:pointer;border-radius:3px;width:14px;height:14px;margin:0}.landing .layer input:not(:checked){background:0 0}.landing .layer small{color:var(--ink-2);font-size:.78rem}.landing .status{align-items:center;gap:8px;min-height:1.6em;font-size:.9rem;display:flex}.landing .status .dot{background:var(--ink-2);border-radius:50%;flex:none;width:9px;height:9px}.landing .status.found .dot{background:var(--clash)}.landing .status.found b{color:var(--clash)}.landing .linkbtn{color:var(--ink-2);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-size:.85rem;text-decoration:underline}.landing .linkbtn:hover{color:var(--ink)}.landing section{border-top:1px solid var(--rule);padding-block:84px}.landing .sec-head{gap:14px;max-width:760px;margin-bottom:44px;display:grid}.landing .sec-head p{color:var(--ink-2);font-size:1.08rem}.landing .ask{border:1px solid var(--rule);background:var(--sheet);grid-template-columns:minmax(0,5fr) minmax(0,7fr);display:grid}.landing .qlist{border-right:1px solid var(--rule);flex-direction:column;display:flex}.landing .q{text-align:left;border:0;border-bottom:1px solid var(--rule);font:500 1rem/1.4 var(--font);color:var(--ink-2);cursor:pointer;background:0 0;grid-template-columns:12px 1fr;align-items:start;gap:12px;padding:18px 22px;display:grid}.landing .q:last-child{border-bottom:0}.landing .q:before{content:"";border:1.5px solid var(--rule);box-sizing:border-box;border-radius:50%;width:12px;height:12px;margin-top:5px}.landing .q[aria-selected=true]{color:var(--ink);background:var(--film-2)}.landing .q[aria-selected=true]:before{border-color:var(--clash);background:var(--clash)}.landing .q:hover{color:var(--ink)}.landing .answer{align-content:start;gap:18px;padding:26px 28px;display:grid}.landing .said{font-size:1.05rem}.landing .said strong{font-weight:650}.landing .tbl-wrap{overflow-x:auto}.landing table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.9rem}.landing th,.landing td{text-align:left;border-bottom:1px solid var(--rule);white-space:nowrap;padding:9px 12px 9px 0}.landing th{color:var(--ink-2);font-size:.8rem;font-weight:600}.landing .num{text-align:right;padding-right:0}.landing .pill{border:1px solid;border-radius:999px;padding:1px 8px;font-size:.78rem;font-weight:600;display:inline-block}.landing .pill.mep{color:var(--mep)}.landing .pill.str{color:var(--str)}.landing .bar{background:var(--rule);vertical-align:middle;width:90px;height:6px;margin-right:10px;display:inline-block;position:relative}.landing .bar i{background:var(--ink);position:absolute;inset:0 auto 0 0}.landing .bar.low i{background:var(--clash)}.landing .foot{color:var(--ink-2);font-size:.82rem}.landing .sample{color:var(--ink-2);margin-top:14px;font-size:.85rem}.landing .step{border-bottom:1px dashed var(--rule);grid-template-columns:140px minmax(0,1fr) minmax(0,1fr);align-items:start;gap:32px;padding-block:30px;display:grid}.landing .step:first-child{border-top:1px dashed var(--rule)}.landing .lvl{align-items:center;gap:10px;font-size:1.5rem;font-weight:700;font-stretch:125%;display:flex}.landing .lvl svg{flex:none;width:22px;height:18px}.landing .step p{color:var(--ink-2)}.landing .scale-bar{border:1.5px solid var(--ink);grid-template-columns:repeat(4,1fr);height:14px;margin-top:8px;display:grid}.landing .scale-bar span:nth-child(odd){background:var(--ink)}.landing .scale-bar span:nth-child(n+3){background:repeating-linear-gradient(135deg, transparent 0 5px, var(--ink-2) 5px 6px)}.landing .scale-labels{color:var(--ink-2);font-variant-numeric:tabular-nums;grid-template-columns:repeat(4,1fr);margin-top:10px;font-size:.85rem;display:grid}.landing .reach{grid-template-columns:1fr 1fr;gap:40px;margin-top:36px;display:grid}.landing .reach>div{align-content:start;gap:10px;display:grid}.landing .when{font-size:.85rem;font-weight:600}.landing .when.now{color:var(--mep)}.landing .when.next,.landing .reach p{color:var(--ink-2)}.landing .trial-strip{border:1.5px solid var(--ink);background:var(--sheet);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px 48px;padding:28px;display:flex}.landing .trial-strip>div:first-child{gap:10px;display:grid}.landing .trial-strip p{color:var(--ink-2)}.landing .cta{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:48px;display:grid}.landing .cta p{color:var(--ink-2);margin-top:16px;font-size:1.08rem}.landing form{background:var(--sheet);border:1px solid var(--rule);gap:14px;padding:26px;display:grid}.landing .row2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.landing label.f{gap:6px;font-size:.85rem;font-weight:600;display:grid}.landing input[type=text],.landing input[type=email],.landing input[type=password],.landing select{font:400 1rem var(--font);color:var(--ink);background:var(--film);border:1px solid var(--rule);border-radius:2px;width:100%;padding:11px 12px}.landing input:focus,.landing select:focus{outline:2px solid var(--clash);outline-offset:0;border-color:#0000}.landing .form-msg{color:var(--ink-2);margin:0;font-size:.9rem}.landing .form-msg.ok{color:var(--mep)}.landing footer{border-top:1px solid var(--rule);color:var(--ink-2);flex-wrap:wrap;justify-content:space-between;gap:12px;padding-block:28px 40px;font-size:.85rem;display:flex}@media (width<=900px){.landing .hero,.landing .ask,.landing .cta{grid-template-columns:1fr}.landing .hero{padding-block:16px 56px}.landing .qlist{border-right:0;border-bottom:1px solid var(--rule)}.landing .step{grid-template-columns:1fr;gap:10px}.landing .reach{grid-template-columns:1fr;gap:28px}.landing section{padding-block:60px}}@media (width<=520px){.landing .row2{grid-template-columns:1fr}.landing .scale-labels{font-size:.72rem}}@media (prefers-reduced-motion:reduce){.landing .fed-clash,.landing .fed-clash-dot,.landing .fed-leader{transition:none}.landing .fed-clash-dot:after{animation:none}}.landing.console{min-height:100vh;padding-inline:0}.landing.console .wrap{padding-inline:20px}.landing.console form{background:0 0;border:0;padding:0}.landing.console h1{font-size:clamp(1.6rem,3vw,2.1rem)}.landing.console h2{letter-spacing:0;font-size:1.05rem;font-stretch:100%}.landing.console h3{margin-bottom:10px;font-size:.95rem;font-stretch:100%}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.landing .c-top{top:env(safe-area-inset-top,0px);z-index:5;background:var(--sheet);border-bottom:1px solid var(--rule);position:sticky}.landing .c-top-in{align-items:center;gap:24px;max-width:1180px;margin-inline:auto;padding:10px 20px;display:flex}.landing .c-top .mark{font-size:1.1rem}.landing .c-top .mark svg{width:22px;height:22px}.landing .c-nav{gap:4px;display:flex}.landing .c-nav a{color:var(--ink-2);border-radius:2px;padding:8px 12px;font-size:.92rem;text-decoration:none}.landing .c-nav a:hover{color:var(--ink);background:var(--film-2)}.landing .c-nav a[aria-current=page]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--ink);font-weight:600}.landing .trial-pill{border:1px solid var(--rule);color:var(--ink-2);white-space:nowrap;border-radius:999px;margin-left:auto;padding:5px 12px;font-size:.82rem;text-decoration:none}.landing .trial-pill:hover{color:var(--ink);border-color:var(--ink-2)}.landing .acct{position:relative}.landing .acct-btn{border:1.5px solid var(--ink);background:var(--film);width:34px;height:34px;color:var(--ink);font:700 .8rem var(--font);cursor:pointer;border-radius:50%}.landing .acct-menu{background:var(--sheet);border:1px solid var(--ink);width:250px;padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 24px #0000001f}.landing .acct-who{border-bottom:1px solid var(--rule);gap:1px;margin-bottom:4px;padding:10px 10px 12px;font-size:.85rem;display:grid}.landing .acct-who span{color:var(--ink-2);text-overflow:ellipsis;overflow:hidden}.landing .acct-menu a,.landing .acct-menu button{text-align:left;font:500 .9rem var(--font);color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:2px;padding:9px 10px;text-decoration:none}.landing .acct-menu a:hover,.landing .acct-menu button:hover{background:var(--film-2)}@media (width<=860px){.landing .c-top-in{flex-wrap:wrap;gap:10px 16px}.landing .c-nav{order:3;width:100%;overflow-x:auto}.landing .trial-pill{font-size:.75rem}}.landing .c-main{grid-template-columns:minmax(0,1fr);align-content:start;gap:20px;padding-block:28px 64px;display:grid}.landing .c-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.landing .c-sub{color:var(--ink-2);margin-top:4px}.landing .c-actions{flex-wrap:wrap;gap:10px;display:flex}.landing .crumbs{color:var(--ink-2);gap:8px;font-size:.88rem;display:flex}.landing .crumbs a{color:var(--ink-2)}.landing .c-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:20px;display:grid}.landing .c-col{align-content:start;gap:20px;display:grid}@media (width<=960px){.landing .c-grid{grid-template-columns:1fr}}.landing .c-panel{background:var(--sheet);border:1px solid var(--rule);grid-template-columns:minmax(0,1fr);align-content:start;gap:14px;padding:20px;display:grid}.landing .c-panel[hidden]{display:none}.landing .c-quiet{background:0 0}.landing .c-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.landing .c-note{color:var(--ink-2);font-size:.88rem}.landing .c-hint{border-left:3px solid var(--mep);background:var(--film);padding:10px 12px;font-size:.9rem}.landing .c-empty{color:var(--ink-2);padding:18px 0}.landing .c-error{color:var(--clash)}.landing .c-count{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:.85rem}.landing .c-full{width:100%}.landing .muted{color:var(--ink-2);font-size:.85rem}.landing .form-msg.error{color:var(--clash)}.landing .sample-tag{border:1px dashed var(--ink-2);color:var(--ink-2);vertical-align:middle;border-radius:999px;padding:1px 8px;font-size:.72rem;font-weight:600;display:inline-block}.landing .sample-note{color:var(--ink-2);max-width:none;font-size:.88rem}.landing .btn.small{padding:8px 14px;font-size:.85rem}.landing .btn.danger{background:var(--clash);border-color:var(--clash);color:#fff}.landing .btn:disabled{opacity:.6;cursor:progress}.landing .inline-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.landing .inline-form input{flex:200px;width:auto;padding-block:8px}.landing .inline-form select{width:auto;padding-block:8px}.landing .chips{flex-wrap:wrap;gap:4px;display:flex}.landing .chip{letter-spacing:.03em;color:var(--ink-2);border:1px solid;border-radius:3px;padding:1px 7px;font-size:.72rem;font-weight:700;display:inline-block}.landing .chip.arc{color:var(--arc)}.landing .chip.str{color:var(--str)}.landing .chip.mep{color:var(--mep)}.landing .proj-list{display:grid}.landing .proj-row{border-top:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;padding-block:14px;display:grid}.landing .proj-row:first-child{border-top:0}.landing .proj-main{gap:2px;min-width:0;text-decoration:none;display:grid}.landing a.proj-main:hover .proj-name{text-decoration:underline}.landing .proj-name{font-weight:650}.landing .proj-meta{color:var(--ink-2);font-size:.85rem}.landing .proj-when{color:var(--ink-2);white-space:nowrap;font-size:.85rem}@media (width<=560px){.landing .proj-row{grid-template-columns:1fr;gap:8px}}.landing.console table th,.landing.console table td{white-space:normal;vertical-align:middle}.landing.console td.file{word-break:break-all;font-size:.85rem}.landing .status{background:var(--film-2);color:var(--ink-2);border-radius:999px;padding:1px 8px;font-size:.75rem;font-weight:600;display:inline-block}.landing .status.ok{background:color-mix(in srgb, var(--mep) 16%, transparent);color:var(--mep)}.landing .you{color:var(--ink-2);border:1px solid var(--rule);border-radius:3px;padding:0 5px;font-size:.72rem;font-weight:700}.landing .members select{width:auto;padding:6px 8px;font-size:.88rem}.landing .actions{text-align:right}.landing .confirm{flex-wrap:wrap;align-items:center;gap:8px;font-size:.85rem;display:inline-flex}.landing .meters{gap:12px;display:grid}.landing .meter{gap:5px;display:grid}.landing .meter-row{justify-content:space-between;font-size:.85rem;display:flex}.landing .meter-num{color:var(--ink-2);font-variant-numeric:tabular-nums}.landing .meter-bar{background:var(--film-2);height:6px;position:relative}.landing .meter-bar i{background:var(--ink);position:absolute;inset:0 auto 0 0}.landing .meter.low .meter-bar i{background:var(--clash)}.landing .people-ul{margin:0;padding:0;list-style:none;display:grid}.landing .people-ul li{border-top:1px solid var(--rule);grid-template-columns:34px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding-block:10px;display:grid}.landing .people-ul li:first-child{border-top:0}.landing .people-ul .confirm{grid-column:2/-1}.landing .avatar{background:var(--ink);width:34px;height:34px;color:var(--sheet);border-radius:50%;place-items:center;font-size:.78rem;font-weight:700;display:grid}.landing .avatar.guest{color:var(--ink);border:1.5px dashed var(--ink-2);background:0 0}.landing .who{min-width:0;font-size:.9rem;display:grid}.landing .who span{color:var(--ink-2);font-size:.82rem}.landing .people-ul .role{color:var(--ink-2);font-size:.85rem}.landing .invite-form{border-top:1px solid var(--rule);padding-top:16px}.landing .invite-fields{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.landing .invite-fields .field{gap:6px;display:grid}@media (width<=640px){.landing .invite-fields{grid-template-columns:1fr}.landing .people-ul li{grid-template-columns:34px minmax(0,1fr)}.landing .people-ul .role,.landing .people-ul .remove{grid-column:2;justify-self:start}}.landing .c-tabs{border-bottom:1px solid var(--rule);gap:4px;display:flex;overflow-x:auto}.landing .c-tabs button{font:500 .95rem var(--font);color:var(--ink-2);cursor:pointer;background:0 0;border:0;padding:10px 14px;box-shadow:inset 0 -2px #0000}.landing .c-tabs button[aria-selected=true]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--ink);font-weight:650}.landing .plan-box{border:1px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.landing .plan-name{font-size:1.1rem;font-weight:700}.landing .usage-grid{grid-template-columns:1fr 1fr;gap:32px;display:grid}@media (width<=760px){.landing .usage-grid{grid-template-columns:1fr}}.landing .by-member{gap:8px;margin:0 0 10px;padding:0;list-style:none;display:grid}.landing .by-member li{grid-template-columns:minmax(0,1fr) 120px 32px;align-items:center;gap:10px;font-size:.88rem;display:grid}.landing .by-member .bar{background:var(--film-2);height:6px;position:relative}.landing .by-member .bar i{background:var(--ink);position:absolute;inset:0 auto 0 0}.landing .by-member .num{text-align:right;font-variant-numeric:tabular-nums}.landing .up-list{gap:20px;display:grid}.landing .up-title{gap:2px;min-width:0;display:grid}.landing .up-title h2{font-size:1.15rem}.landing .up-title h2 a{text-decoration:none}.landing .up-title h2 a:hover{text-decoration:underline}.landing .up-card .c-actions{align-items:center}.landing .linkbtn.danger-link{color:var(--ink-2)}.landing .linkbtn.danger-link:hover{color:var(--clash)}.landing .up-models .actions{white-space:nowrap}.landing .up-buildtime{cursor:help;border-bottom:1px dotted var(--ink-2)}.landing .up-rename-input{width:auto;padding:6px 8px;font-size:.9rem}.landing .up-rows{display:grid}.landing .up-rows:empty{display:none}.landing .up-row{border-top:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:6px 14px;padding-block:12px;font-size:.9rem;display:grid}.landing .up-state{color:var(--ink-2);font-size:.85rem}.landing .up-time{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:.85rem}.landing .up-progress{background:var(--film-2);grid-column:1/-1;height:5px;overflow:hidden}.landing .up-bar{background:var(--mep);width:0;height:100%;transition:width .25s}.landing .up-row.up-failed .up-state{color:var(--clash)}.landing .up-row.up-failed .up-bar{background:var(--clash)}@media (prefers-reduced-motion:reduce){.landing .up-bar{transition:none}}@media (width<=640px){.landing .up-row{grid-template-columns:minmax(0,1fr) auto}}.landing .up-form{border-top:1px solid var(--rule);grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;align-items:end;gap:10px 12px;padding-top:16px;display:grid}.landing .up-form .field{gap:6px;display:grid}.landing .up-form input[type=file]{font:400 .9rem var(--font);color:var(--ink-2);border:1px dashed var(--ink-2);background:var(--film);width:100%;padding:7px}.landing .up-form input[type=file]::file-selector-button{border:1.5px solid var(--ink);background:var(--sheet);color:var(--ink);font:600 .85rem var(--font);cursor:pointer;margin-right:10px;padding:6px 12px}.landing .up-hint{color:var(--ink-2);grid-column:1/-1;font-size:.84rem}@media (width<=720px){.landing .up-form{grid-template-columns:1fr}}.landing .status.bad{background:color-mix(in srgb, var(--clash) 14%, transparent);color:var(--clash)}.landing .gl-details>summary{cursor:pointer}.landing .gl-meta{gap:12px;margin-top:14px;display:grid}.landing .gl-meta-grid{grid-template-columns:2fr 1fr 1fr;gap:12px;display:grid}.landing .gl-meta .field,.landing .gl-fields .field{gap:5px;display:grid}.landing .gl-meta .btn{justify-self:start}@media (width<=720px){.landing .gl-meta-grid{grid-template-columns:1fr}}.landing .gl-toolbar{flex-wrap:wrap;gap:8px;display:flex}.landing .gl-toolbar select,.landing .gl-toolbar input{width:auto;padding-block:7px;font-size:.9rem}.landing .gl-toolbar input{flex:220px}.landing .gl-bulk{flex-wrap:wrap;align-items:center;gap:10px;font-size:.88rem;display:flex}.landing .gl-bulk .gl-add{margin-left:auto}.landing .gl-check{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.landing .gl-section{color:var(--ink-2);margin:14px 0 2px;font-size:.85rem}.landing .gl-rule{border-top:1px solid var(--rule)}.landing .gl-rule>summary{cursor:pointer;align-items:center;gap:10px;padding:9px 4px;list-style:none;display:flex}.landing .gl-rule>summary::-webkit-details-marker{display:none}.landing .gl-rule>summary:hover{background:var(--film)}.landing .gl-rule>summary input{width:auto;margin:0}.landing .gl-label{font-variant-numeric:tabular-nums;color:var(--ink-2);flex:none;font-size:.88rem}.landing .gl-rule-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.landing .gl-rule .chip{flex:none}.landing .chip.gl-warn{color:var(--clash)}.landing .gl-rule.rejected .gl-rule-title{color:var(--ink-2);text-decoration:line-through}.landing .gl-rule-body{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:20px;padding:6px 4px 18px 30px;display:grid}@media (width<=900px){.landing .gl-rule-body{grid-template-columns:1fr;padding-left:4px}}.landing .gl-source h4{color:var(--ink-2);margin:0 0 6px;font-size:.82rem}.landing .gl-source blockquote{border-left:3px solid var(--arc);background:var(--film);white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 14px;padding:10px 12px;font-size:.92rem}.landing .gl-note{white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:10px;font-size:.88rem}.landing .gl-check-form{align-content:start;gap:10px;display:grid}.landing .gl-fields{grid-template-columns:110px minmax(0,1fr) 110px 110px;gap:10px;display:grid}@media (width<=640px){.landing .gl-fields{grid-template-columns:1fr 1fr}.landing .gl-fields .gl-wide{grid-column:1/-1}}.landing .gl-check-form input,.landing .gl-check-form select{padding-block:7px;font-size:.9rem}.landing .gl-check-form textarea,.landing .gl-params-field input{font:.82rem/1.45 ui-monospace,Consolas,monospace}.landing .gl-check-form textarea{resize:vertical;min-height:160px}.landing .gl-check-form .field{gap:5px;display:grid}.landing .gl-check-form .field[hidden],.landing .gl-rule-actions [hidden]{display:none}.landing .gl-rule-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.landing .gl-spacer{flex:1}.landing .gl-redraft{gap:8px;display:flex}.landing .gl-redraft input{flex:1;padding-block:7px;font-size:.88rem}.landing .gl-test table{font-size:.85rem}.landing .pr-head{justify-items:start;gap:18px;padding-block:32px 36px;display:grid}.landing .pr-head .lede{color:var(--ink-2);max-width:58ch;font-size:1.12rem}.landing .billing{border:1px solid var(--rule);display:inline-flex}.landing .billing button{font:600 .9rem var(--font);color:var(--ink-2);cursor:pointer;background:0 0;border:0;padding:9px 16px}.landing .billing button+button{border-left:1px solid var(--rule)}.landing .billing button[aria-pressed=true]{background:var(--ink);color:var(--btn-ink)}.landing .plans{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:16px;display:grid}@media (width<=1040px){.landing .plans{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.landing .plans{grid-template-columns:1fr}}.landing .plan{background:var(--sheet);border:1px solid var(--rule);grid-template-rows:auto auto auto auto auto 1fr;gap:8px;padding:24px 20px;display:grid;position:relative}.landing .plan.featured{border:2px solid var(--ink)}.landing .plan-flag{background:var(--ink);color:var(--btn-ink);padding:2px 10px;font-size:.75rem;font-weight:600;position:absolute;top:-12px;left:18px}.landing .plan h3{font-size:1.3rem}.landing .plan-who{color:var(--ink-2);font-size:.9rem}.landing .plan-price{flex-wrap:wrap;align-items:baseline;gap:8px;margin-top:8px;display:flex}.landing .plan-price .amount{font-variant-numeric:tabular-nums;font-size:2.2rem;font-weight:750;font-stretch:125%}.landing .plan-price .per{color:var(--ink-2);font-size:.85rem}.landing .plan-note{color:var(--ink-2);min-height:1.4em;font-size:.85rem}.landing .plan .btn{margin-block:6px 8px}.landing .plan ul{border-top:1px solid var(--rule);align-content:start;gap:8px;margin:0;padding:14px 0 0;list-style:none;display:grid}.landing .plan li{grid-template-columns:14px 1fr;gap:8px;font-size:.9rem;display:grid}.landing .plan li:before{content:"";background:var(--mep);border-radius:50%;width:8px;height:8px;margin-top:7px}.landing .addons{color:var(--ink-2);margin-top:18px;font-size:.9rem}.landing .pr-section{gap:24px;display:grid}.landing .counted{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;display:grid}@media (width<=900px){.landing .counted{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.landing .counted{grid-template-columns:1fr}}.landing .counted>div{border-top:2px solid var(--ink);align-content:start;gap:6px;padding-top:14px;display:grid}.landing .counted p{color:var(--ink-2);font-size:.92rem}.landing .not-counted{border:1px dashed var(--rule);gap:10px;padding:18px 20px;display:grid}.landing .not-counted ul{flex-wrap:wrap;gap:8px 22px;margin:0;padding:0;list-style:none;display:flex}.landing .not-counted li{color:var(--ink-2);font-size:.92rem}.landing .faq{border-top:1px solid var(--rule);max-width:820px;display:grid}.landing .faq details{border-bottom:1px solid var(--rule);padding-block:14px}.landing .faq summary{cursor:pointer;font-weight:600}.landing .faq details p{color:var(--ink-2);margin-top:8px}.landing.auth .auth-page{grid-template-rows:auto 1fr;min-height:100vh;display:grid}.landing .auth-main{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center;gap:56px;padding-block:16px 64px;display:grid}.landing .auth-card{background:var(--sheet);border:1px solid var(--rule);gap:24px;width:100%;max-width:460px;padding:32px;display:grid}.landing .auth-head{gap:8px;display:grid}.landing .auth-card h1{font-size:clamp(1.7rem,3vw,2.2rem)}.landing .auth-lede{color:var(--ink-2)}.landing .auth-card .auth-form{background:0 0;border:0;gap:16px;padding:0;display:grid}.landing.auth .field{gap:6px;display:grid}.landing.auth .label-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.landing.auth .label-row .linkbtn{font-size:.82rem}.landing.auth input[aria-invalid=true],.landing.auth select[aria-invalid=true]{border-color:var(--clash)}.landing.auth .field-error{color:var(--clash);margin:0;font-size:.84rem;font-weight:500}.landing.auth .pw-field{position:relative}.landing.auth .label-with-info{align-items:center;gap:8px;display:flex}.landing.auth .info-btn{border:1.5px solid var(--ink-2);width:18px;height:18px;color:var(--ink-2);cursor:pointer;background:0 0;border-radius:50%;place-items:center;padding:0;font:italic 700 .7rem/1 Georgia,Times New Roman,serif;display:grid}.landing.auth .info-btn:hover,.landing.auth .info-btn[aria-expanded=true]{border-color:var(--ink);color:var(--ink)}.landing.auth .rules{z-index:2;background:var(--sheet);border:1px solid var(--ink);width:min(300px,80vw);padding:14px 16px;font-size:.85rem;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 6px 20px #0000001f}.landing.auth .rules p{margin-bottom:8px;font-weight:600}.landing.auth .rules ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.landing.auth .rules li{color:var(--ink-2);align-items:baseline;gap:8px;display:flex}.landing.auth .rules li:before{content:"";border:1.5px solid var(--ink-2);border-radius:50%;flex:none;width:8px;height:8px;transform:translateY(-1px)}.landing.auth .rules li.met{color:var(--ink)}.landing.auth .rules li.met:before{background:var(--mep);border-color:var(--mep)}.landing.auth .pw{position:relative}.landing.auth .pw input{padding-right:68px}.landing.auth .pw-toggle{font:600 .8rem var(--font);color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:2px;padding:6px 8px;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.landing.auth .pw-toggle:hover{color:var(--ink)}.landing.auth .check{cursor:pointer;align-items:flex-start;gap:10px;font-size:.9rem;display:flex}.landing.auth .check input{width:16px;height:16px;accent-color:var(--ink);flex:none;margin:3px 0 0}.landing.auth .auth-submit{width:100%;margin-top:4px;padding-block:14px}.landing.auth .auth-submit:disabled{opacity:.7;cursor:progress}.landing.auth .form-msg:empty{display:none}.landing.auth .form-msg.error{color:var(--clash);font-weight:500}.landing .auth-other{color:var(--ink-2);border-top:1px solid var(--rule);padding-top:20px;font-size:.92rem}.landing .auth-other a{color:var(--ink);font-weight:600}.landing .social{gap:10px;display:grid}.landing .social-btn{width:100%}.landing.auth .social .form-msg{color:var(--ink-2);font-size:.88rem}.landing .divider{color:var(--ink-2);align-items:center;gap:12px;max-width:none;font-size:.85rem;display:flex}.landing .divider:before,.landing .divider:after{content:"";border-top:1px solid var(--rule);flex:1}.landing.auth .account-type{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}.landing.auth .account-type legend{margin-bottom:6px;padding:0}.landing.auth .seg{border:1px solid var(--rule);grid-template-columns:1fr 1fr;display:grid}.landing.auth .seg label{color:var(--ink-2);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:10px;font-size:.92rem;font-weight:600;display:flex}.landing.auth .seg label+label{border-left:1px solid var(--rule)}.landing.auth .seg input{accent-color:var(--ink);margin:0}.landing.auth .seg label:has(input:checked){background:var(--film-2);color:var(--ink)}.landing.auth .seg label:has(input:focus-visible){outline:2px solid var(--clash);outline-offset:-2px}.landing.auth .type-note{color:var(--ink-2);font-size:.85rem}.landing.auth .org-only[hidden]{display:none}.landing.auth .personal-hint{color:var(--str);margin:-8px 0 0;font-size:.84rem}.landing .pending{justify-items:center;padding-block:24px 64px;display:grid}.landing .pending-card{max-width:620px}.landing .pending-steps{counter-reset:step;margin:0;padding:0;list-style:none;display:grid}.landing .pending-steps li{counter-increment:step;gap:2px;padding:0 0 18px 40px;display:grid;position:relative}.landing .pending-steps li:before{content:counter(step);border:1.5px solid var(--rule);width:26px;height:26px;color:var(--ink-2);background:var(--sheet);border-radius:50%;place-items:center;font-size:.8rem;font-weight:700;display:grid;position:absolute;top:0;left:0}.landing .pending-steps li:not(:last-child):after{content:"";border-left:1.5px solid var(--rule);position:absolute;top:28px;bottom:2px;left:13px}.landing .pending-steps li.done:before{content:"✓";background:var(--mep);border-color:var(--mep);color:var(--sheet)}.landing .pending-steps li.now:before{border-color:var(--ink);color:var(--ink)}.landing .pending-steps span{color:var(--ink-2);font-size:.9rem}.landing .preview-note{color:var(--ink-2);border-top:1px dashed var(--rule);max-width:none;padding-top:16px;font-size:.85rem}.landing .auth-visual{gap:12px;display:grid}.landing .auth-caption{color:var(--ink-2);font-size:.9rem}@media (width<=900px){.landing .auth-main{grid-template-columns:1fr;padding-block:8px 48px}.landing .auth-card{max-width:none}.landing .auth-visual{display:none}}@media (width<=520px){.landing .auth-card{padding:22px}}
