@font-face{font-family:Inter;src:url(../assets/inter.woff2) format("woff2");font-style:normal;font-weight:400 700;font-display:swap}@font-face{font-family:Sora;src:url(../assets/sora.woff2) format("woff2");font-style:normal;font-weight:600 700;font-display:swap}:root{--primary: #0b3c5d;--primary-hover: #0e5075;--accent: #12a19a;--accent-ink: #0e7f7a;--cta: #f5a524;--ink: #0f172a;--muted-ink: #475569;--border: #e2e8f0;--surface: #f6f9fc;--background: #fff;--warning: #d97706;--navy-deep: #082d46;--on-primary: #e1edf5;--teal-wash: #effaf9;--teal-light: #9be1dd;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-pill: 999px;--shadow-xs: 0 1px 2px rgb(11 60 93 / 6%);--shadow-md: 0 4px 16px rgb(11 60 93 / 8%);--shadow-lg: 0 12px 32px rgb(11 60 93 / 12%);--display: Sora, system-ui, sans-serif;--body: Inter, system-ui, sans-serif;--gutter: max(24px, calc((100% - 1200px)/2) );--motion: cubic-bezier(.2,.8,.2,1);font-family:var(--body);color:var(--ink);background:var(--background)}*{box-sizing:border-box}body,h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display)}a{color:inherit;text-underline-offset:3px}button,input{font:inherit}button{background:none;border:0;color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.45}button,a{touch-action:manipulation}button,a,input,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}svg{width:20px;height:20px;flex:none}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:8px;left:8px;z-index:10;background:var(--background);color:var(--primary);padding:12px;transform:translateY(-160%)}.skip-link:focus{transform:none}.eyebrow{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;line-height:1.4;letter-spacing:.06em}.eyebrow i,.header-edition i,.map-index i{width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none}.icon-button{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:var(--radius-sm)}.icon-button:hover:not(:disabled){background:#12a19a1f}.primary,.start-button,.tour-next{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 16px;border-radius:var(--radius-md);background:var(--cta);color:var(--ink);font-size:14px;font-weight:600;transition:background .15s var(--motion),box-shadow .15s var(--motion)}.primary:hover,.start-button:hover,.tour-next:hover{background:#ffb63c;box-shadow:var(--shadow-md)}.header{min-height:72px;padding:8px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--background);border-bottom:1px solid var(--border);color:var(--primary)}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font:600 24px/1.3 var(--display);letter-spacing:-.04em;white-space:nowrap}.brand-symbol{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--radius-md);background:var(--primary);color:#fff;font:700 30px/1 var(--display)}.brand b{margin-left:3px;font-weight:700}.header-edition{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--muted-ink)}.header>.icon-button{border:1px solid var(--border)}.workspace{min-height:calc(100dvh - 72px);display:flex;flex-direction:column}.map-shell{flex:1;display:flex;flex-direction:column}.stage{isolation:isolate;position:relative;flex:1;min-height:500px;overflow:hidden;color:#fff;background:radial-gradient(ellipse at 68% 47%,rgb(14 80 117 / 50%),transparent 64%),repeating-linear-gradient(0deg,transparent 0 39px,rgb(255 255 255 / 7%) 39px 40px),repeating-linear-gradient(90deg,transparent 0 39px,rgb(255 255 255 / 7%) 39px 40px),linear-gradient(145deg,var(--primary),var(--navy-deep))}.world{position:absolute;inset:0 0 0 15%;z-index:1}.world canvas{width:100%;height:100%;display:block;touch-action:none}.stage-heading{position:absolute;top:48px;left:var(--gutter);z-index:2;pointer-events:none}.stage-heading .eyebrow{color:var(--teal-light)}.stage-heading h1{margin:12px 0 16px;font-size:clamp(40px,5vw,56px);line-height:1.05;letter-spacing:-.02em;font-weight:700}.stage-heading h1 em{font-style:normal}.stage-heading p{max-width:25ch;font-size:18px;line-height:1.65;color:var(--on-primary)}.start-button{pointer-events:auto;margin-top:16px}.mode-switch{position:absolute;z-index:3;top:24px;right:var(--gutter);display:flex;gap:4px;padding:4px;border:1px solid var(--border);background:var(--background);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.mode-switch button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:var(--radius-sm);padding:8px 12px;font-size:14px;color:var(--primary);font-weight:600;white-space:nowrap}.mode-switch button:hover{background:var(--surface)}.mode-switch button[aria-pressed=true]{color:#fff;background:var(--accent-ink)}.orientation{position:absolute;top:96px;right:var(--gutter);z-index:2;display:grid;justify-items:center;gap:4px;color:var(--on-primary);font-size:12px;font-weight:600;pointer-events:none}.orientation svg{width:36px;height:36px;transform:rotate(-28deg)}.map-tools{position:absolute;right:var(--gutter);top:46%;z-index:2;display:grid;padding:4px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--background);color:var(--primary);box-shadow:var(--shadow-md)}.map-tools>span{height:1px;margin:4px 8px;background:var(--border)}.map-caption{position:absolute;z-index:2;bottom:16px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;gap:8px;color:var(--on-primary);font-size:12px;line-height:1.4;pointer-events:none}.map-index{display:flex;align-items:center;gap:8px;letter-spacing:.06em;white-space:nowrap}.map-index i{width:4px;height:4px}.marker{position:absolute;left:-22px;top:-44px;width:44px;height:44px;padding:0;color:var(--primary)}.marker>span:first-child{position:absolute;display:grid;place-items:center;left:4px;bottom:8px;width:36px;height:36px;border-radius:var(--radius-sm);background:var(--background);border:1px solid var(--border);font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;box-shadow:var(--shadow-md);transition:transform .15s var(--motion),background .15s var(--motion)}.marker i{position:absolute;left:21px;height:calc(10px + var(--leader,0px));bottom:calc(1px - var(--leader,0px));width:1px;background:#fff;pointer-events:none}.marker:after{content:"";position:absolute;left:19px;bottom:calc(-2px - var(--leader,0px));width:5px;height:5px;border-radius:50%;background:#fff;pointer-events:none}.marker.selected>span:first-child,.marker:hover>span:first-child,.marker:focus-visible>span:first-child{background:var(--accent-ink);color:#fff;border-color:#fff;transform:translateY(-2px)}.marker:hover,.marker:focus-visible{z-index:40!important}.marker-label{position:absolute;left:44px;bottom:8px;padding:8px 12px;background:var(--primary);color:#fff;border:1px solid var(--on-primary);border-radius:var(--radius-sm);font-size:12px;font-weight:600;white-space:nowrap;opacity:0;pointer-events:none}.marker:hover .marker-label,.marker:focus-visible .marker-label{opacity:1}.loading,.fallback{position:absolute;inset:0;z-index:2;display:flex;justify-content:center;align-items:center;gap:12px}.loading{pointer-events:none;font-size:14px}.loading-ring{border:2px solid #9be1dd55;border-top-color:var(--teal-light);width:20px;height:20px;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.fallback{flex-direction:column;text-align:center;padding:24px}.fallback>svg{width:32px;height:32px;color:var(--teal-light)}.fallback p{color:var(--on-primary);font-size:16px}.without-map .mode-switch,.without-map .map-tools,.without-map .orientation,.without-map .map-caption{display:none}.fallback-points{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}.fallback-points button{min-width:44px;background:var(--background);color:var(--primary)}.fallback-points button:hover{background:var(--teal-wash)}.stage.framed .stage-heading,.stage[data-mode=walk] .stage-heading{display:none}.stage.framed .world{left:0}.stage.framed .map-caption>span{padding:4px 8px;border-radius:var(--radius-sm);background:var(--primary)}.stage[data-mode=walk]{background:linear-gradient(#eef6fc,#c6dfea 72%,#a4c8db)}.stage[data-mode=walk] .world{inset:0}.stage[data-mode=walk] .map-tools,.stage[data-mode=walk] .map-caption,.stage[data-mode=walk] .orientation{display:none}.stage[data-mode=walk] canvas{cursor:grab}.stage[data-mode=walk] canvas:active{cursor:grabbing}.walk-panel{position:absolute;left:var(--gutter);bottom:16px;z-index:3;display:flex;gap:16px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--background);color:var(--primary);box-shadow:var(--shadow-md)}.walk-caption strong{font-size:14px;font-weight:600}.walk-caption p{color:var(--muted-ink);font-size:12px;line-height:1.4}.walk-controls{display:flex;gap:4px}.walk-controls button{width:44px;height:44px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);font-size:22px;touch-action:none}.walk-controls button:hover,.walk-controls button:active{background:var(--teal-wash);border-color:var(--accent-ink)}.directory{padding:16px var(--gutter) 24px;background:var(--surface);border-top:1px solid var(--border)}.dock-header,.dock-title,.filters{display:flex;align-items:center;gap:12px}.dock-header{justify-content:space-between;margin-bottom:12px}.dock-title h2{font-size:20px;font-weight:600;color:var(--primary);white-space:nowrap}#progress{color:var(--muted-ink);font-size:12px;font-variant-numeric:tabular-nums}.filters{gap:4px}.filters button{min-height:44px;padding:8px 12px;border-radius:var(--radius-pill);color:var(--muted-ink);font-size:14px;font-weight:600}.filters button:hover{background:var(--teal-wash);color:var(--accent-ink)}.filters button[aria-pressed=true]{background:var(--primary);color:#fff}#product-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.product-row{display:flex;align-items:center;gap:8px;min-width:0;min-height:52px;padding:8px 12px;border:1px solid var(--border);background:var(--background);border-radius:var(--radius-md);text-align:left;box-shadow:var(--shadow-xs);transition:background .15s var(--motion),border-color .15s var(--motion)}.product-row:hover,.product-row:focus-visible{background:var(--teal-wash)}.product-row[aria-current=true]{background:var(--teal-wash);border-color:var(--accent-ink)}.product-number{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:var(--radius-sm);color:var(--accent-ink);background:var(--teal-wash);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.product-title{flex:1;min-width:0;font-size:14px;line-height:1.45;font-weight:600;color:var(--primary);overflow-wrap:anywhere}.row-arrow{display:flex;color:var(--accent-ink)}dialog{border:1px solid var(--border);border-radius:var(--radius-lg);padding:0;background:var(--background);color:var(--ink);box-shadow:var(--shadow-lg)}dialog::backdrop{background:#0b3c5da6;backdrop-filter:blur(3px)}.dialog-close{position:absolute;right:16px;top:16px}.detail-dialog{width:min(760px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);overflow:hidden}.detail-dialog[open]{display:grid;grid-template-rows:minmax(0,1fr)}#detail{overflow-y:auto;overscroll-behavior:contain}.detail-hero{position:relative;overflow:hidden;background:var(--primary);color:#fff;padding:24px 72px 24px 32px}.detail-hero .dialog-close{z-index:1;border:1px solid var(--on-primary)}.detail-hero .eyebrow{color:var(--teal-light);position:relative;flex-wrap:wrap}.detail-hero .new{background:var(--teal-wash);color:var(--accent-ink);border-radius:var(--radius-pill);padding:4px 8px;font-size:12px}.detail-hero h2{position:relative;margin:8px 0;font-size:32px;font-weight:700;line-height:1.2;letter-spacing:-.02em}.detail-hero h2:focus{outline:none}.detail-hero p{position:relative;font-size:16px;line-height:1.6;color:var(--on-primary)}.detail-index{position:absolute;right:64px;bottom:-32px;color:#9be1dd29;font:700 144px/.9 var(--body);letter-spacing:-.1em;font-variant-numeric:tabular-nums;pointer-events:none}.detail-body{padding:24px 32px 32px}.detail-description{max-width:68ch;font-size:16px;line-height:1.6}.detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}.detail-columns section{background:var(--surface);padding:16px;border:1px solid var(--border);border-radius:var(--radius-md)}.detail-columns h3{font-size:16px;font-weight:600;color:var(--primary);margin-bottom:12px}.detail-columns ul,.detail-columns ol{margin:0;padding:0;list-style:none;display:grid;gap:8px}.detail-columns li{display:flex;gap:8px;align-items:flex-start;font-size:14px;line-height:1.5;color:var(--muted-ink)}.detail-features svg{width:20px;height:20px;color:var(--accent-ink)}.journey{counter-reset:journey}.journey li:before{counter-increment:journey;content:counter(journey);flex:none;width:20px;line-height:20px;text-align:center;border-radius:var(--radius-pill);background:var(--teal-wash);color:var(--accent-ink);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.regulatory{margin-top:16px;border:1px solid #edcc9e;border-inline-start:3px solid var(--warning);background:#fff9ef;border-radius:var(--radius-sm);padding:0 12px 12px}.regulatory summary{min-height:44px;align-content:center;font-size:14px;font-weight:600;cursor:pointer}.regulatory p{font-size:14px;line-height:1.5}.regulatory a{display:inline-flex;gap:4px;align-items:center;min-height:44px;font-size:14px;font-weight:600;color:var(--accent-ink)}.regulatory svg{width:16px;height:16px}.tour-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px var(--gutter);border-bottom:1px solid var(--border);background:var(--background);color:var(--primary)}.tour-status,.tour-controls{display:flex;align-items:center;gap:12px}.tour-status strong{font-size:14px}.tour-controls{gap:4px;flex:none}#tour-counter{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--accent-ink)}.tour-hint{color:var(--muted-ink);font-size:12px}.help-dialog{width:560px;max-width:calc(100vw - 32px);padding:32px;max-height:calc(100dvh - 32px)}.help-dialog .eyebrow{color:var(--accent-ink);padding-right:48px}.help-dialog h2{font-size:32px;line-height:1.2;letter-spacing:-.02em;margin:12px 0;color:var(--primary)}.help-dialog h2 em{font-style:normal}.help-dialog p,.help-dialog details{font-size:16px;line-height:1.6;margin:12px 0}.help-dialog .primary{margin-top:8px}@media(max-width:960px){.header-edition{display:none}.world{left:8%}#product-list{grid-template-columns:repeat(2,minmax(0,1fr))}.tour-status{align-items:flex-start;flex-direction:column;gap:4px}.tour-hint{display:none}}@media(max-width:620px){:root{--gutter: 16px}.header{min-height:60px;gap:8px}.brand{font-size:20px;gap:8px}.brand-symbol{width:36px;height:36px;font-size:26px}.workspace{min-height:calc(100dvh - 60px)}.stage{min-height:680px}.world{inset:296px 0 32px}.stage.framed,.stage[data-mode=walk]{min-height:480px}.stage-heading{top:76px;right:var(--gutter)}.stage-heading h1{font-size:36px;margin:8px 0}.stage-heading h1 br{display:none}.stage-heading p{max-width:28ch;font-size:16px;line-height:1.45}.start-button{margin-top:8px}.mode-switch{top:12px;left:var(--gutter)}.mode-switch button{flex:1;gap:4px;font-size:12px;padding:8px 4px}.mode-switch svg{width:16px;height:16px}.orientation,.map-index{display:none}.map-tools{right:12px;top:auto;bottom:12px;display:flex}.map-tools>span{width:1px;height:auto;margin:4px 0}.map-caption{left:16px;bottom:20px;max-width:106px}.marker-label{display:none}.dock-title{flex-wrap:wrap;gap:4px 8px}.dock-header{flex-wrap:wrap;gap:4px}.filters button{font-size:12px;padding:8px}.product-row{padding:8px}.product-title{font-size:14px}.product-number{width:24px;height:24px}.row-arrow{display:none}.detail-hero{padding:16px 64px 16px 16px}.detail-hero h2,.help-dialog h2{font-size:26px}.detail-index{font-size:104px;bottom:-24px}.detail-body,.help-dialog{padding:16px}.detail-columns{grid-template-columns:1fr;gap:8px;margin-top:16px}.detail-columns section{padding:12px}.tour-bar{gap:8px}.tour-controls{gap:0}.tour-next{font-size:12px;padding-inline:8px}.tour-next svg{display:none}.stage.framed .world{top:64px}.walk-panel{right:var(--gutter);align-items:flex-start;flex-direction:column;gap:8px;padding:8px 12px}.walk-keys{display:none}}@media(max-width:360px){.stage{min-height:660px}.mode-switch svg{display:none}#product-list{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
