:root{color-scheme:light;--canvas:#f5f2eb;--paper:#fffdf8;--ink:#18292d;--muted:#5e6b6a;--line:#d5d9d0;--teal:#007c78;--soft:#e5eee7;--mono:"IBM Plex Mono",Consolas,monospace;font-family:Manrope,"Segoe UI",sans-serif;background:var(--canvas);color:var(--ink);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}a{color:inherit}button{cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed}button,input,select{border-radius:5px}:focus-visible{outline:3px solid var(--teal);outline-offset:4px}[hidden]{display:none!important}button,input,select,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.shell{width:min(1200px,calc(100% - 64px));margin-inline:auto}.skip-link{position:fixed;z-index:100;top:8px;left:8px;padding:10px 16px;color:white;background:var(--ink);transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}
.site-header{border-bottom:1px solid var(--line);background:var(--canvas)}.nav{display:flex;justify-content:space-between;align-items:center;min-height:88px;gap:28px}.brand{display:flex;gap:14px;align-items:center;font-size:17px;font-weight:720;letter-spacing:-.5px;text-decoration:none;white-space:nowrap}.signal-mark{position:relative;width:27px;height:2px;background:var(--teal)}.signal-mark:after{content:"";position:absolute;right:-2px;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--teal)}.nav-links{display:flex;align-items:center;gap:27px;font-size:13px;font-weight:600}.nav-links a{text-decoration:none;padding-block:10px}.nav-links a:hover{color:var(--teal)}.games-link{display:inline-flex;align-items:center}.games-link img{width:78px;height:26px;display:block;border-radius:4px}.nav-links .login-link{padding:7px 13px;border:1px solid var(--line);border-radius:5px}.login-link span{margin-left:6px}
.hero{display:grid;grid-template-columns:1.5fr 1fr;gap:70px;align-items:end;padding-block:63px 53px}.eyebrow{font-family:var(--mono);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:1.7px;color:var(--muted);margin:0 0 15px}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(35px,4.25vw,56px);line-height:1.13;font-weight:630;letter-spacing:-2.6px}h1 span{color:var(--teal)}.hero-aside{max-width:340px;margin-bottom:3px}.hero-aside p{color:var(--muted);font-size:16px;margin-bottom:15px;line-height:1.7}.text-link{display:inline-flex;gap:12px;align-items:center;font-size:12px;font-weight:650;text-decoration:none}.text-link:hover{color:var(--teal);text-decoration:underline;text-underline-offset:4px}.text-link span{color:var(--teal);font-size:16px}
.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.section-heading h2{margin:0;font-size:22px;line-height:1.3;letter-spacing:-.6px;font-weight:600}.sample-label{display:flex;align-items:center;gap:8px;color:var(--muted);font:10px/1.5 var(--mono);margin:0}.sample-label>span{width:6px;height:6px;border:1px solid var(--teal);border-radius:50%}
.lab{display:grid;grid-template-columns:248px minmax(0,1fr);border:1px solid #bdc9bd;border-radius:9px;overflow:hidden;background:var(--paper)}.lab-sidebar{background:#edf0e8;border-right:1px solid #d4dcd0;display:flex;flex-direction:column;padding:22px 12px 16px}.sidebar-label{font:9px var(--mono);text-transform:uppercase;letter-spacing:1.25px;color:var(--muted);margin:0 12px 20px}.demo-tabs{display:flex;flex-direction:column;gap:5px}.demo-tabs button{display:flex;gap:12px;align-items:center;width:100%;min-height:66px;padding:11px 12px;text-align:left;background:transparent;color:var(--muted);border:1px solid transparent;transition:background 120ms ease}.demo-tabs button>svg{flex-shrink:0;width:22px;height:22px}.demo-tabs button>span:not(.tab-arrow){flex:1}.demo-tabs strong{display:block;color:var(--ink);font-size:12px;font-weight:650}.demo-tabs small{display:block;font-size:10px;margin-top:3px}.demo-tabs .tab-arrow{font-size:17px;opacity:0}.demo-tabs button[aria-selected="true"]{border-color:#b9cebf;background:var(--paper);color:var(--teal)}.demo-tabs button[aria-selected="true"] .tab-arrow{opacity:1}.demo-tabs button:hover{background:#f7f8f1}.sidebar-note{margin:auto 12px 0;padding-top:24px;color:var(--muted);font-size:10px;line-height:1.8}
.lab-workspace{min-width:0}.workspace-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px 28px 20px;border-bottom:1px solid var(--line)}.workspace-heading h3{font-weight:620;font-size:20px;letter-spacing:-.55px;margin:3px 0 0;line-height:1.4}.preview-stamp{color:#526961;font:9px/1.3 var(--mono);border:1px solid #cfdbcf;padding:6px 8px;border-radius:3px;white-space:nowrap}#demo-stage{min-height:450px;background:#f1f4ed}.demo-fallback{padding:50px;text-align:center;color:var(--muted)}.demo-fallback svg{width:100%;max-height:260px}.workspace-footer{padding:16px 28px;display:flex;gap:25px;align-items:center;justify-content:space-between;border-top:1px solid var(--line)}.workspace-footer p{color:var(--muted);max-width:470px;font-size:11px;margin:0}.workspace-footer a{white-space:nowrap}
.demo-label,.control-label{font:9px/1.5 var(--mono);text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin:0 0 5px}.demo-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;align-items:center;padding:15px 24px;border-bottom:1px solid #dbe1d6;background:#f8faf5}.control-group{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.control-group .control-label{margin:0 5px 0 0}.chip{border:1px solid #cad6ca;background:transparent;color:#4a6157;padding:5px 10px;font-size:10px;min-height:30px}.chip[aria-pressed="true"],.chip[aria-selected="true"],.chip.active{background:#dcebe1;border-color:#b7cdbc;color:#12654e}.chip:hover{border-color:var(--teal)}.demo-body{padding:22px 24px}.demo-columns{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px}.demo-card{border:1px solid #d2dccc;background:var(--paper);padding:18px;border-radius:6px;min-width:0}.demo-card h4{font-size:14px;margin:0 0 14px;font-weight:650}.demo-card h5{font-size:12px;margin:0 0 8px}.demo-value{font-size:28px;font-weight:600;letter-spacing:-1px;line-height:1.2}.demo-muted{color:var(--muted);font-size:11px}.demo-list{list-style:none;margin:0;padding:0}.demo-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #e4e8df;font-size:12px}.demo-row:last-child{border-bottom:0}.demo-badge{border:1px solid #cedbcf;border-radius:3px;font:9px/1.4 var(--mono);padding:4px 6px;background:#ecf4ed;color:#316647;white-space:nowrap}.demo-stats{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:18px}.demo-metric{flex:1;min-width:90px;border-left:2px solid #b7caba;padding-left:12px}.demo-metric strong{font-size:24px;font-weight:600;line-height:1.3}.demo-metric small{display:block;color:var(--muted);font-size:10px}.demo-button{color:white;border:1px solid var(--teal);background:var(--teal);min-height:35px;padding:7px 12px;font-size:11px;font-weight:650}.demo-button:hover{background:#005f5c}.demo-button.secondary{border-color:#bdcbbb;background:var(--paper);color:var(--ink)}.demo-button.secondary:hover{background:#e8efdf}.demo-input,.demo-select{background:#fffef9;color:var(--ink);border:1px solid #b7c5b4;padding:8px 10px;max-width:100%;min-width:0;font-size:12px;min-height:36px}input[type="range"]{accent-color:var(--teal);width:100px}.demo-output{font-size:11px;color:#245d4c;padding:11px 13px;background:#e6f0e3;border-radius:4px;margin:15px 0 0;min-height:39px}.demo-output:empty{padding:0;background:transparent}.demo-table{width:100%;border-collapse:collapse;text-align:left;font-size:11px}.demo-table th{color:var(--muted);font:9px var(--mono);text-transform:uppercase;letter-spacing:.6px}.demo-table td,.demo-table th{padding:11px 7px;border-bottom:1px solid #e0e5da}.demo-table td:first-child,.demo-table th:first-child{padding-left:0}
.demo-map{position:relative;overflow:hidden;background:#e8eee3;min-height:300px}.demo-map svg{display:block;width:100%;height:auto;max-height:345px}.map-ground{fill:#dce5d5;stroke:#abbcac;stroke-width:1}.map-water{fill:#a4cbcd}.map-road{fill:none;stroke:#fafbf3;stroke-width:11}.map-building{fill:#659088;stroke:#365b56;stroke-width:1}.map-marker{cursor:pointer}.map-marker:focus{outline:none}.map-marker:focus-visible{stroke:#101820;stroke-width:3}.map-label{font:10px var(--mono);fill:#365850}.map-facility{fill:#007c78}
.bed-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin-block:12px}.bed{display:block;min-height:21px;border:1px solid #bbccba;background:#f0f4e9;border-radius:3px}.bed.occupied{background:#c1cdc0;border-color:#a9b9aa}.bed.new{background:#168778;border-color:#07665a}.transcript-line{display:grid;grid-template-columns:47px minmax(0,1fr);gap:12px;padding-block:13px;border-bottom:1px solid #e0e5da;font-size:12px}.transcript-line:last-child{border-bottom:0}.transcript-line p{margin:3px 0 0}.transcript-speaker{font-size:10px;font-weight:700}.transcript-time{color:var(--muted);font:10px var(--mono);padding-top:3px}mark{background:#ffe3a4;color:#3e351e;padding:0 2px;border-radius:2px}.evidence-steps{display:grid;gap:12px}.evidence-step{padding:14px;border-left:2px solid var(--teal);background:#f7f9f1;font-size:12px}.evidence-step p{margin-bottom:0}.demo-empty{padding:35px 10px;color:var(--muted);text-align:center;font-size:13px}.demo-card label{display:block;font-size:11px;margin-bottom:6px}.demo-card label .demo-input,.demo-card label .demo-select{margin-top:5px}.demo-card .control-group{margin-top:12px}.noscript-note{border:1px solid var(--line);padding:15px}
.project-section{padding-top:72px}.project-section .eyebrow{margin-bottom:8px}.project-list{border-top:1px solid #bfcac0}.project-row{display:grid;grid-template-columns:235px minmax(0,1fr) 95px;align-items:center;gap:25px;min-height:68px;padding:13px 5px;border-bottom:1px solid var(--line);text-decoration:none;transition:background 120ms ease}.project-row:hover{background:#e9ede3}.project-row:hover .project-name{color:var(--teal)}.project-name{font-size:14px;font-weight:650}.project-description{font-size:12px;color:var(--muted)}.project-access{font:10px var(--mono);color:var(--muted);text-align:right}.project-access span{margin-left:10px;color:var(--teal)}.access-note{font-size:11px;color:var(--muted);margin-top:13px}
.bottom-section{display:grid;grid-template-columns:1fr 1fr;gap:55px;padding-block:63px}.games-card{display:flex;gap:28px;align-items:center;padding:30px;background:#e6ecdf;border:1px solid #cad5c1;border-radius:7px}.games-card h2,.about-card h2{font-size:21px;font-weight:620;letter-spacing:-.5px;margin:0 0 12px}.games-card .eyebrow{font-size:9px;margin-bottom:8px}.game-tile{display:flex;flex-direction:column;justify-content:center;align-items:center;color:#174538;width:64px;height:88px;border:1px solid #b6c4a9;border-radius:5px;background:var(--paper);font:25px Georgia,serif;transform:rotate(-8deg);flex-shrink:0}.game-tile span{font-size:30px}.about-card{display:flex;align-items:center;gap:24px}.about-card img{width:86px;height:108px;object-fit:cover;object-position:50% 30%;border-radius:5px;filter:saturate(.8)}.about-card p{max-width:260px;font-size:12px;color:var(--muted);margin-bottom:12px}.site-footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;padding-block:24px;color:var(--muted);font:10px var(--mono)}.site-footer p{margin:0}.site-footer a{text-decoration:none}
.demo-detail-value{font-size:14px;font-weight:550;line-height:1.5;margin-bottom:16px}.demo-card>.demo-metric{margin-bottom:20px}.demo-row .demo-value{font-size:12px;letter-spacing:0;line-height:1.6}.evidence-step .demo-value{font-size:17px;letter-spacing:-.2px;line-height:1.6}.transcript-line{grid-template-columns:55px 46px minmax(0,1fr)}.map-marker circle:first-child{fill:#007c78;stroke:#fffdf8;stroke-width:4}.map-marker circle:last-child{fill:#fffdf8;pointer-events:none}.map-marker:focus-visible circle:first-child{stroke:#18292d;stroke-width:5}.map-marker:hover circle:first-child{fill:#004f4d}.map-building path:nth-child(3n+1){fill:#97b6a3}.map-building path:nth-child(3n+2){fill:#659088}.map-building path:nth-child(3n){fill:#507d73}#demo-status{margin:0;border-radius:0;padding:10px 28px;border-top:1px solid #d3dfcf;min-height:39px}#demo-status:empty{padding:10px 28px}.demo-card .demo-toolbar{padding:12px 0;background:transparent;border-bottom:0}.demo-card .demo-metric:last-child{margin-bottom:0}
@media(min-width:1001px){#demo-stage:has(.demo-map) .demo-columns{grid-template-columns:minmax(0,2fr) minmax(175px,1fr)}#demo-stage:has(.demo-map) .demo-value{font-size:23px}.demo-map svg{min-height:300px}.demo-columns:has([data-zone]){grid-template-columns:repeat(3,minmax(0,1fr))}}
.map-contours{fill:none;stroke:#afc0aa;stroke-width:1.5;opacity:.65}.map-marker[aria-pressed="true"] circle:first-child{stroke:#ffc770;stroke-width:5}
.demo-map{min-height:0;background:#183e43}.demo-map svg{min-height:0;max-height:none}.map-routes path{fill:none;stroke-linecap:round;stroke-linejoin:round}.route-shadow{stroke:#17332f;stroke-width:7;opacity:.7}.route-line{stroke:#fff1c9;stroke-width:3;stroke-dasharray:8 5}.map-facilities rect{fill:#f5f2eb;fill-opacity:.25;stroke:#fff6d4;stroke-width:2}.site-label{font:700 12px "Segoe UI",sans-serif;fill:white;paint-order:stroke;stroke:#163f39;stroke-width:3}.map-marker circle:first-child{stroke-width:4}.demo-map .map-marker:hover circle:first-child{fill:#f1b959}
@media(max-width:760px){.demo-tabs{grid-template-columns:repeat(6,minmax(0,1fr))}.demo-tabs button{grid-column:span 2}.demo-tabs button:nth-child(4),.demo-tabs button:nth-child(5){grid-column:span 3}.demo-map{min-height:0}}
@media(min-width:1450px){.hero{padding-block:76px 66px}}
@media(max-width:1000px){.nav-links{gap:17px}.nav-about{display:none}.lab{grid-template-columns:208px minmax(0,1fr)}.demo-tabs button{gap:8px;padding-inline:8px}.demo-tabs button>svg{width:19px}.demo-tabs strong{font-size:11px}.preview-stamp{display:none}.workspace-footer{align-items:start;gap:12px}.workspace-footer a{font-size:10px}.demo-columns{grid-template-columns:1fr}.project-row{grid-template-columns:210px minmax(0,1fr) 76px;gap:16px}.bottom-section{gap:30px}.games-card{gap:20px;padding:22px}}
@media(max-width:760px){.shell{width:calc(100% - 32px)}.nav{min-height:72px;flex-wrap:wrap;gap:3px 18px;padding-block:13px}.brand{font-size:15px;gap:10px}.nav-links{gap:15px;font-size:11px}.nav-links>a:first-child,.nav-links>a:nth-child(2){display:none}.games-link img{width:69px;height:23px}.nav-links .login-link{padding:6px 8px}.hero{grid-template-columns:1fr;gap:21px;padding-block:39px 35px}h1{font-size:43px;letter-spacing:-1.8px}.hero-aside{max-width:390px}.hero-aside p{font-size:14px;margin-bottom:8px}.section-heading{align-items:start}.section-heading h2{font-size:20px}.sample-label{font-size:8px;max-width:120px;align-items:start}.sample-label>span{margin-top:3px;flex-shrink:0}.lab{display:block}.lab-sidebar{padding:10px;border-right:0;border-bottom:1px solid var(--line)}.sidebar-label,.sidebar-note{display:none}.demo-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.demo-tabs button{min-height:62px;flex-direction:column;gap:5px;justify-content:center;text-align:center;padding:8px 3px}.demo-tabs button>svg{width:18px;height:18px}.demo-tabs button>span:not(.tab-arrow){flex:0}.demo-tabs strong{font-size:9px;line-height:1.4}.demo-tabs small,.demo-tabs .tab-arrow{display:none}.workspace-heading{padding:19px 17px 15px}.workspace-heading h3{font-size:18px}.demo-toolbar{padding:12px 15px;gap:10px}.demo-body{padding:16px}.demo-card{padding:14px}.workspace-footer{padding:14px 17px;flex-direction:column}.demo-table{font-size:10px}.demo-table td,.demo-table th{padding:9px 3px}.demo-map{min-height:200px}#demo-stage{min-height:370px}.demo-stats{gap:13px}.demo-metric{min-width:70px}.demo-metric strong{font-size:21px}.project-section{padding-top:45px}.project-section .section-heading>.text-link{font-size:10px}.project-row{grid-template-columns:minmax(0,1fr) 72px;gap:3px 12px;padding-block:17px}.project-name{font-size:13px}.project-description{grid-column:1;grid-row:2;font-size:11px}.project-access{grid-column:2;grid-row:1/3}.bottom-section{grid-template-columns:1fr;gap:30px;padding-block:35px}.about-card{padding:0 10px}.site-footer{flex-wrap:wrap;font-size:9px;gap:15px}.site-footer p:nth-child(2){display:none}}
@media(max-width:380px){.nav-links{gap:8px}.signal-mark{display:none}.brand{font-size:14px}h1{font-size:37px}.games-link img{width:60px;height:20px}.section-heading{gap:10px}.demo-tabs strong{font-size:8px}.demo-toolbar .control-group{gap:4px}.chip{padding:5px 7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media(forced-colors:active){.demo-tabs button[aria-selected="true"],.chip[aria-pressed="true"]{border:2px solid Highlight}.bed.occupied,.bed.new{background:Highlight}.game-tile{border:1px solid CanvasText}}
.demo-map svg{min-height:0;max-height:none}
@media(max-width:760px){.demo-tabs{grid-template-columns:repeat(6,minmax(0,1fr))}.demo-tabs button{grid-column:span 2}.demo-tabs button:nth-child(4),.demo-tabs button:nth-child(5){grid-column:span 3}.demo-map{min-height:0}}
