@font-face{font-family:Inter;src:url(../assets/fonts/inter-latin-var.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap;size-adjust:96%}:root{--c-bg: #ebeae6;--c-surface: #f5f4f1;--c-tile: #e4e3df;--c-tile-hover: #d9d8d3;--c-ink: #17181a;--c-ink-muted: #5c5e63;--c-line: #d6d5d0;--c-accent: #17181a;--c-accent-hover: #2d2f33;--c-on-accent: #ffffff;--c-glass: rgb(245 244 241 / .92);--c-bar: #111214;--c-bar-2: #222428;--c-bar-3: #2e3035;--c-bar-ink: #eeeff0;--c-bar-muted: #a2a5ab;--c-yellow: #f5b300;--c-focus: #17181a;--zone-about: #be185d;--zone-experience: #c2410c;--zone-education: #6d28d9;--zone-contact: #0e7490;--fw-light: 310;--fw-regular: 430;--fw-medium: 600;--fw-semibold: 690;--font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--fs-xs: .75rem;--fs-sm: .875rem;--fs-base: 1rem;--fs-lead: clamp(1.075rem, 1rem + .35vw, 1.2rem);--fs-h2: clamp(1.75rem, 1.45rem + 1.2vw, 2.25rem);--fs-h1: clamp(2.75rem, 1.8rem + 5vw, 5.25rem);--radius-sm: 8px;--radius: 12px;--radius-lg: 18px;--radius-pill: 999px;--shadow-1: 0 1px 2px rgb(17 18 20 / .08), 0 4px 12px rgb(17 18 20 / .08);--shadow-2: 0 2px 6px rgb(17 18 20 / .1), 0 18px 44px rgb(17 18 20 / .22);--ease: cubic-bezier(.2, .8, .2, 1);--dur: .2s;--dur-slow: .45s;--gutter: 16px;--header-h: 60px;--bar-inset: 10px;--control-h: 72px;--measure: 65ch;--tap: 44px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;font-family:var(--font-sans);font-size:var(--fs-base);line-height:1.6;color:var(--c-ink);background:var(--c-bg);font-weight:var(--fw-regular);letter-spacing:-.012em;-webkit-font-smoothing:antialiased}img,svg{display:block;max-width:100%}img{height:auto}h1,h2,h3{margin:0 0 .5em;line-height:1.15;letter-spacing:-.015em;font-weight:var(--fw-medium);text-wrap:balance}h2{font-size:var(--fs-h2)}h3{font-size:1.1rem;font-weight:var(--fw-semibold)}p{margin:0 0 1em}p,li,.lead{max-width:var(--measure)}kbd{display:inline-grid;place-items:center;min-width:1.75em;height:1.75em;padding:0 .4em;font:var(--fw-medium) .75rem/1 var(--font-sans);color:var(--c-ink);background:var(--c-tile);border-radius:6px}[hidden]{display:none!important}.ico{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.ico--sm{width:18px;height:18px}.ico--fill{fill:currentColor;stroke:none}.visually-hidden{position:absolute!important;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;z-index:100;left:var(--gutter);top:-80px;padding:.6rem 1rem;border-radius:var(--radius-sm);background:var(--c-accent);color:var(--c-on-accent);font-weight:var(--fw-medium);text-decoration:none;transition:top var(--dur) var(--ease)}.skip-link:focus{top:12px}.eyebrow{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:.4rem;font-size:var(--fs-sm);font-weight:var(--fw-regular);color:var(--c-ink-muted)}.eyebrow__dot{width:8px;height:8px;border-radius:50%;background:var(--zone, var(--c-ink))}.btn,.tile-btn,.tile,.nav-link,.icon-btn,.text-link,.brand,.card,.touch-btn,.mode-switch__btn,.dock__btn,.dock__action{transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease),opacity var(--dur) var(--ease)}:is(.btn,.tile-btn,.tile,.nav-link,.icon-btn,.text-link,.brand,.touch-btn,.nav-toggle,.mode-switch__btn,.dock__btn,.dock__action,canvas):focus{outline:none}:is(.btn,.tile-btn,.tile,.nav-link,.icon-btn,.text-link,.brand,.touch-btn,.nav-toggle,.mode-switch__btn,.dock__btn,.dock__action):focus-visible{outline:2px solid var(--c-focus);outline-offset:3px}.bar{--c-focus: var(--c-yellow)}:is(.btn,.tile-btn,.tile,.nav-link,.icon-btn,.brand,.touch-btn,.nav-toggle,.mode-switch__btn,.dock__btn,.dock__action):active{transform:scale(.97)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:var(--tap);padding:0 1.15rem;font:var(--fw-medium) .95rem/1 var(--font-sans);text-decoration:none;white-space:nowrap;color:var(--c-on-accent);background:var(--c-accent);border:0;border-radius:var(--radius-sm);cursor:pointer}.btn:hover{background:var(--c-accent-hover)}.btn:disabled{opacity:.5;cursor:progress}.btn--lg{min-height:52px;padding:0 1.75rem;font-size:1rem}.btn--sm{min-height:38px;padding:0 .95rem;font-size:var(--fs-sm)}.btn--ghost{color:var(--c-ink);background:var(--c-tile)}.btn--ghost:hover{background:var(--c-tile-hover)}.btn--zone{background:var(--c-accent)}.btn--zone:hover{background:var(--c-accent-hover)}.tile-btn{display:inline-flex;align-items:center;gap:.35rem;min-height:38px;padding:0 .6rem 0 .85rem;white-space:nowrap;cursor:pointer;font:var(--fw-medium) var(--fs-sm)/1 var(--font-sans);color:var(--c-ink);background:var(--c-tile);border:0;border-radius:var(--radius-sm)}.tile-btn:hover{background:var(--c-tile-hover)}.icon-btn{display:inline-grid;place-items:center;width:var(--tap);height:var(--tap);padding:0;color:var(--c-ink);background:var(--c-tile);border:0;border-radius:var(--radius-sm);cursor:pointer}.icon-btn:hover{background:var(--c-tile-hover)}.text-link{display:inline-flex;align-items:center;gap:.35em;padding:0;border:0;background:none;cursor:pointer;font:inherit;font-weight:var(--fw-medium);color:var(--c-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.25em;text-decoration-color:#17181a59;border-radius:4px}.text-link:hover{text-decoration-color:currentColor}.text-link:active{opacity:.75}.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:.75rem;height:var(--header-h);padding:0 max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left));color:var(--c-bar-ink);background:var(--c-bar)}.brand{display:inline-flex;align-items:center;gap:.55rem;flex:none;min-height:40px;padding:0 .7rem 0 .45rem;color:var(--c-bar-ink);text-decoration:none;font-weight:var(--fw-medium);font-size:1rem;border-radius:var(--radius-sm)}.brand:hover{background:var(--c-bar-2)}.brand__mark{display:grid;place-items:center;color:var(--c-bar-ink)}.site-nav{margin-left:auto}.site-nav ul{display:flex;align-items:center;gap:4px;margin:0;padding:0;list-style:none}.site-nav li{max-width:none}.nav-link{display:inline-flex;align-items:center;gap:.45rem;min-height:40px;padding:0 .8rem;font:var(--fw-regular) .95rem/1 var(--font-sans);color:var(--c-bar-ink);text-decoration:none;white-space:nowrap;background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer}.nav-link .ico{width:20px;height:20px;color:var(--c-bar-muted)}.nav-link:hover{background:var(--c-bar-2)}.nav-link[aria-current=true]{color:var(--c-ink);background:#e9e8e4}.nav-link[aria-current=true] .ico{color:var(--c-ink)}.nav-link--text{color:var(--c-bar-muted)}.statusbar{display:none}.nav-toggle{display:none;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:var(--tap);height:var(--tap);padding:0;margin-left:auto;flex:none;background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--dur) var(--ease),transform var(--dur) var(--ease)}.nav-toggle:hover{background:var(--c-bar-2)}.nav-toggle__bar{display:block;width:18px;height:1.5px;border-radius:2px;background:var(--c-bar-ink);transition:transform var(--dur) var(--ease),opacity var(--dur) var(--ease)}.nav-open .nav-toggle__bar:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.nav-open .nav-toggle__bar:nth-child(2){opacity:0}.nav-open .nav-toggle__bar:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}@media(max-width:61.99rem){.nav-toggle{display:inline-flex}.site-nav{position:absolute;top:calc(100% + 8px);left:var(--gutter);right:var(--gutter);padding:6px;background:var(--c-bar);border-radius:var(--radius);box-shadow:var(--shadow-2);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease),visibility 0s linear var(--dur)}.nav-open .site-nav{opacity:1;visibility:visible;transform:none;transition-delay:0s}.site-nav ul{flex-direction:column;align-items:stretch}.nav-link{width:100%;justify-content:flex-start;min-height:48px}}.intro{max-width:72rem;margin:0 auto;padding:clamp(3rem,10vw,7rem) var(--gutter) clamp(2rem,6vw,4rem)}.intro__card{display:flex;align-items:center;gap:clamp(1.5rem,5vw,4rem)}.intro__body{flex:1;min-width:0}.intro__logo{display:block;width:104px;aspect-ratio:328 / 177;margin-bottom:1.25rem;background:var(--c-ink);opacity:.3;-webkit-mask:url(../assets/logo.png) center / contain no-repeat;mask:url(../assets/logo.png) center / contain no-repeat}.is-3d .intro__logo{background:#fff;opacity:.4}.intro__title{font-size:var(--fs-h1);font-weight:var(--fw-medium);letter-spacing:-.035em;margin-bottom:.25em}.intro__photo{flex:none;width:clamp(160px,26vw,320px);height:auto;aspect-ratio:1;object-fit:cover;border-radius:var(--radius-lg);background:var(--c-tile)}@media(max-width:36rem){.intro__card{flex-direction:column-reverse;align-items:flex-start;gap:1.5rem}.intro__photo{width:min(220px,60vw)}}.is-3d .intro__photo{display:none}html:not(.is-3d) .about-intro .avatar{display:none}.intro__role{margin-bottom:.9rem;max-width:none;font-size:clamp(1.05rem,.95rem + .5vw,1.3rem)}.intro__role-sep{margin-inline:.2em;opacity:.5}@media(max-width:48rem){.intro__role span:not(.intro__role-sep){display:block}.intro__role-sep{display:none}}.intro__lede{font-size:var(--fs-lead);color:var(--c-ink-muted);max-width:52ch}.intro__pills{display:grid;gap:8px;margin:1.25rem 0}.pills{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.pills li{padding:.35rem .8rem;max-width:none;font-size:var(--fs-sm);line-height:1.3;white-space:nowrap;color:var(--c-ink-muted);background:var(--c-tile);border:1px solid var(--c-line);border-radius:999px}@media(max-width:36rem){.intro__pills,.pills{gap:6px}.pills li{padding:.25rem .65rem;font-size:.8rem}}html:not(.is-3d) .intro__lede,html:not(.is-3d) .intro__pills{display:none}.intro__actions-3d{display:none}.intro__note{color:var(--c-ink-muted);font-size:var(--fs-sm)}.intro__hint{margin:0;font-size:var(--fs-sm);color:var(--c-ink-muted)}.stage{display:none}.panel{max-width:72rem;margin:0 auto;padding:clamp(2.5rem,6vw,4rem) var(--gutter);border-top:1px solid var(--c-line);scroll-margin-top:var(--header-h)}.panel__header{position:relative;margin-bottom:1.5rem}.panel__header h2{margin-bottom:0}.panel__close{display:none}.lead{font-size:var(--fs-lead)}.about-intro{display:flex;align-items:center;gap:clamp(1rem,4vw,1.75rem);margin-bottom:1.5rem}.about-intro__text{flex:1;min-width:0}.about-intro__text p:last-child{margin-bottom:0}.avatar{flex:none;width:15rem;height:auto;aspect-ratio:599 / 899;object-fit:cover;border-radius:var(--radius-lg);background:var(--c-tile)}@media(min-width:62rem){.is-3d #about,.is-3d #experience{width:min(46rem,calc(100% - var(--bar-inset) * 2))}.is-3d #about .about-intro{align-items:flex-start}.is-3d #experience .timeline__item>:not(h3,.timeline__date){grid-column:1 / -1}.is-3d #experience .timeline__item p:not(.role__head),.is-3d #experience .job__points li{max-width:54ch}}@media(max-width:61.99rem){.about-intro{flex-direction:column-reverse;align-items:stretch}.avatar{width:100%;aspect-ratio:4 / 5;object-position:50% 12%}}@media(max-width:47.99rem){.is-3d .about-intro{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.9rem 1rem}.is-3d .about-intro__text{display:contents}.is-3d .about-intro .avatar{grid-area:1 / 1;width:6.5rem}.is-3d .about-intro .lead{grid-area:1 / 2;margin:0}.is-3d .about-intro__text p:not(.lead){grid-column:1 / -1}}.tag-list{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 1.25rem;padding:0;list-style:none}.tag-list li{padding:.35rem .7rem;font-size:var(--fs-sm);font-weight:var(--fw-regular);background:var(--c-tile);border-radius:var(--radius-sm)}.timeline{margin:0;padding:0;list-style:none;display:grid}.timeline>li{max-width:none}.timeline__item{display:grid;grid-template-columns:1fr auto;column-gap:1rem;padding:1rem .75rem;margin:0 -.75rem;border-bottom:1px solid var(--c-line);border-radius:var(--radius-sm)}.timeline>li:first-child .timeline__item{border-top:1px solid var(--c-line)}.timeline__item>*{grid-column:1}.timeline__date{grid-column:2;grid-row:1;margin:0;padding-top:.1rem;font-size:var(--fs-sm);color:var(--c-ink-muted);white-space:nowrap;font-variant-numeric:tabular-nums}@media(max-width:47.99rem){.timeline__item>:not(h3,.timeline__date){grid-column:1 / -1}}.timeline__item h3{margin-bottom:.1rem}.timeline__meta{color:var(--c-ink-muted);margin-bottom:.5rem}.timeline__item p:last-child{margin-bottom:0}.role+.role{margin-top:1rem;padding-top:1rem;border-top:1px dashed var(--c-line)}.role p{margin-bottom:.5rem}.role__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.25rem 1rem;margin:.35rem 0 .15rem}.role__title{font-weight:var(--fw-medium)}.role__dates,.role__meta{font-size:var(--fs-sm);color:var(--c-ink-muted);font-variant-numeric:tabular-nums}.job__points{margin:0 0 .75rem;padding-left:1.1rem}.job__points li{margin-bottom:.3rem;padding-left:.2rem}.job__points li::marker{color:var(--c-ink-muted)}.job__note{margin:.1rem 0 .25rem;font-size:var(--fs-sm);color:var(--c-ink-muted)}.tag-group{margin:1rem 0 .4rem;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--c-ink-muted)}.tag-group+.tag-list{margin-bottom:0}.tag-list--sm{gap:4px;margin-bottom:.25rem}.tag-list--sm li{padding:.2rem .55rem;font-size:.8rem;border-radius:6px}.job.is-highlighted .tag-list li{background:var(--c-surface)}.job{scroll-margin:1.5rem;transition:background-color var(--dur-slow) var(--ease),box-shadow var(--dur-slow) var(--ease)}.job:focus{outline:none}.job.is-highlighted{background:var(--c-tile);box-shadow:inset 3px 0 0 var(--c-yellow)}.panel__next{display:none;margin:1.75rem 0 0}.is-3d.drive-assist .panel__next{display:block}.panel__next .btn{width:100%;min-height:52px;justify-content:space-between;padding:0 1.1rem}.panel__next .btn[hidden]{display:none}.contact-list{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.contact-list li{max-width:none}.site-footer{max-width:72rem;margin:0 auto;padding:2rem var(--gutter) 3rem;border-top:1px solid var(--c-line);color:var(--c-ink-muted);font-size:var(--fs-sm)}.is-3d,.is-3d body{height:100%;overflow:hidden;overscroll-behavior:none}.is-3d body{background:var(--c-bar)}.is-3d .site-footer{display:none}.is-3d .site-header{position:fixed;top:max(var(--bar-inset),env(safe-area-inset-top));left:var(--bar-inset);right:var(--bar-inset);padding:0 8px;border-radius:var(--radius-lg);box-shadow:var(--shadow-2)}.is-3d .site-nav{margin-left:.5rem}.is-3d .nav-toggle{margin-left:0}@media(min-width:62rem)and (max-width:74rem){.nav-link .ico{display:none}.nav-link{padding:0 .65rem}}.is-3d .statusbar{display:flex;align-items:center;gap:4px;margin-left:auto;flex:none;color:var(--c-bar-ink)}.statusbar .icon-btn{width:40px;height:40px;color:var(--c-bar-ink);background:transparent}.statusbar .icon-btn:hover{background:var(--c-bar-2)}.statusbar__sep{width:1px;height:22px;margin:0 8px;background:var(--c-bar-3)}.statusbar__battery,.statusbar__clock{display:inline-flex;align-items:center;gap:4px;padding:0 6px;font-size:.95rem;font-variant-numeric:tabular-nums;white-space:nowrap}.statusbar__battery .ico{width:24px;height:24px}.battery-fill{fill:currentColor;stroke:none;transform-origin:4.5px 12px;transform:scaleX(var(--level, .72));transition:transform .6s var(--ease)}.statusbar__battery.is-charging{color:var(--c-yellow)}.statusbar__clock{min-width:4.6em;justify-content:flex-end}.sound-btn[aria-pressed=false] .sound-btn__on,.sound-btn[aria-pressed=true] .sound-btn__off{display:none}.statusbar .sound-btn[aria-pressed=false]{color:var(--c-bar-muted)}.is-3d .intro{position:fixed;inset:0;z-index:60;max-width:none;margin:0;display:grid;place-items:center;padding:var(--gutter);overflow-y:auto;color:var(--c-bar-ink);background:radial-gradient(60rem 36rem at 50% 120%,rgb(245 179 0 / .12),transparent 60%),var(--c-bar);transition:opacity .6s var(--ease),visibility 0s linear .6s}.is-3d .intro.is-hidden{opacity:0;visibility:hidden}.is-3d .intro__card{text-align:center;display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;width:100%;max-width:60rem}.is-3d .intro__body{--intro-gap: clamp(.75rem, 3.2vh, 1.5rem);display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;width:100%;gap:var(--intro-gap)}.is-3d .intro__body>*{margin:0}.is-3d .intro__lede{margin-inline:auto;color:var(--c-bar-muted)}.is-3d .intro__role{color:var(--c-bar-ink)}.is-3d .pills{justify-content:center}.is-3d .pills li{color:var(--c-bar-ink);background:#ffffff0a;border-color:#ffffff29}.is-3d .intro__hint{color:var(--c-bar-muted)}.is-3d .intro .text-link{color:var(--c-bar-ink);text-decoration-color:#eeeff066}.is-3d .intro{--c-focus: var(--c-yellow)}.is-3d .intro__actions-3d{position:relative;display:grid;justify-items:center;gap:var(--intro-gap)}.is-3d .progress{position:absolute;bottom:100%;left:50%;margin-bottom:calc(var(--intro-gap) / 2 - 1.5px);transform:translate(-50%)}.is-3d .intro .btn{color:var(--c-ink);background:#e9e8e4}.is-3d .intro .btn:hover{background:#fff}.progress{width:min(16rem,70vw);height:3px;overflow:hidden;background:var(--c-bar-3);border-radius:var(--radius-pill)}.progress__bar{display:block;width:100%;height:100%;background:var(--c-yellow);transform-origin:left;transform:scaleX(var(--p, 0));transition:transform .35s var(--ease)}.is-ready .progress{opacity:0;transition:opacity var(--dur) var(--ease)}.is-3d .stage{display:block;position:fixed;inset:0}#scene{display:block;width:100%;height:100%;touch-action:none}#scene:focus-visible{box-shadow:inset 0 0 0 3px var(--c-yellow)}.is-3d .panel{position:fixed;z-index:40;top:calc(var(--header-h) + var(--bar-inset) * 2);right:var(--bar-inset);bottom:auto;max-height:calc(100vh - var(--header-h) - var(--control-h) - var(--bar-inset) * 4);max-height:calc(100dvh - var(--header-h) - var(--control-h) - var(--bar-inset) * 4);width:min(34rem,calc(100% - var(--bar-inset) * 2));max-width:none;margin:0;padding:0;overflow-y:auto;overscroll-behavior:contain;background:var(--c-surface);border:0;border-radius:var(--radius-lg);box-shadow:var(--shadow-2);opacity:0;visibility:hidden;transform:translate(calc(100% + 24px));transition:transform var(--dur-slow) var(--ease),opacity .3s var(--ease),visibility 0s linear var(--dur-slow)}.is-3d .panel.is-open{opacity:1;visibility:visible;transform:none;transition-delay:0s}.is-3d .panel__inner{padding:1.4rem clamp(1.1rem,3vw,1.6rem) 1.6rem}.is-3d .panel__header{padding:0 3.5rem 1.1rem 0;margin-bottom:1.25rem;border-bottom:1px solid var(--c-line)}.is-3d .panel__close{display:inline-grid;position:absolute;top:-.2rem;right:0}.hud{position:absolute;inset:0;overflow:hidden;pointer-events:none}.hud-marker{position:absolute;top:0;left:0;display:flex;align-items:center;gap:6px;opacity:0;will-change:transform;transition:opacity .3s var(--ease),gap .3s var(--ease)}.hud-marker.is-visible{opacity:1}.hud-marker.is-docked{gap:0}.hud-marker.is-here{opacity:.35}.hud-marker__arrow{display:grid;place-items:center;width:32px;height:32px;flex:none;overflow:hidden;color:var(--c-yellow);background:var(--c-bar);border-radius:50%;box-shadow:var(--shadow-1);transition:width .3s var(--ease),opacity .2s var(--ease)}.hud-marker__arrow svg{width:16px;height:16px}.is-docked .hud-marker__arrow{width:0;opacity:0}.hud-marker__label{position:relative;display:inline-flex;align-items:center;gap:7px;padding:5px 11px;white-space:nowrap;font-size:.8rem;font-weight:var(--fw-medium);color:var(--c-bar-ink);background:var(--c-bar);border-radius:var(--radius-sm);box-shadow:var(--shadow-1);transition:background-color .3s var(--ease),color .3s var(--ease)}.hud-marker__dot{display:block;width:8px;height:8px;flex:none;border-radius:50%;background:var(--zone)}.is-docked .hud-marker__label{color:var(--c-ink);background:var(--c-glass)}.is-docked .hud-marker__dist{display:none}.hud-marker__label:after{content:"";position:absolute;left:50%;bottom:-4px;width:8px;height:8px;margin-left:-4px;background:inherit;transform:rotate(45deg);opacity:0;transition:opacity .3s var(--ease)}.is-docked .hud-marker__label:after{opacity:1}.hud-marker__dist{color:var(--c-bar-muted);font-variant-numeric:tabular-nums}.zone-prompt{position:absolute;left:50%;bottom:calc(var(--control-h) + var(--bar-inset) * 2 + env(safe-area-inset-bottom));display:flex;align-items:center;gap:.75rem;max-width:calc(100% - 2 * var(--gutter));padding:6px 6px 6px 1rem;color:var(--c-bar-ink);background:var(--c-bar);border-radius:var(--radius);box-shadow:var(--shadow-2);opacity:0;visibility:hidden;transform:translate(-50%,12px);transition:opacity var(--dur) var(--ease),transform .3s var(--ease),visibility 0s linear .3s;--c-focus: var(--c-yellow)}.zone-prompt.is-visible{opacity:1;visibility:visible;transform:translate(-50%);transition-delay:0s}.zone-prompt__dot{width:8px;height:8px;flex:none;border-radius:50%;background:var(--zone)}.zone-prompt__text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zone-prompt .tile-btn{padding-right:.85rem;background:#e9e8e4}.zone-prompt .tile-btn:hover{background:#fff}.controlbar{position:absolute;left:var(--bar-inset);right:var(--bar-inset);bottom:max(var(--bar-inset),env(safe-area-inset-bottom));display:flex;align-items:center;gap:10px;width:fit-content;max-width:calc(100% - var(--bar-inset) * 2);height:var(--control-h);margin-inline:auto;padding:0 10px;color:var(--c-bar-ink);background:var(--c-bar);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);transition:opacity var(--dur) var(--ease),visibility 0s}.is-3d:not(.is-started) .controlbar{opacity:0;visibility:hidden}.mode-switch{display:flex;align-items:center;gap:2px;height:52px;padding:4px;background:var(--c-bar-2);border-radius:var(--radius)}.mode-switch__btn{display:inline-flex;align-items:center;gap:.45rem;height:100%;padding:0 .85rem;white-space:nowrap;font:var(--fw-medium) .875rem/1 var(--font-sans);color:var(--c-bar-muted);background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer}.mode-switch__btn .ico{width:20px;height:20px}.mode-switch__btn:hover{color:var(--c-bar-ink);background:var(--c-bar-3)}.mode-switch__btn[aria-pressed=true]{color:var(--c-ink);background:#e9e8e4}.dock__list{display:flex;align-items:center;gap:2px;margin:0;padding:0;list-style:none}.dock__list li{max-width:none}.dock__btn{position:relative;display:grid;justify-items:center;align-content:start;gap:5px;min-width:78px;height:60px;padding:7px 8px 0;font:var(--fw-regular) .75rem/1 var(--font-sans);color:var(--c-bar-muted);white-space:nowrap;background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer}.dock__btn:hover{color:var(--c-bar-ink);background:var(--c-bar-2)}.dock__btn:after{content:"";position:absolute;left:50%;bottom:4px;width:24px;height:3px;margin-left:-12px;border-radius:2px;background:var(--c-yellow);transform:scaleX(0);transition:transform var(--dur) var(--ease)}.dock__btn[aria-current=step]{color:var(--c-bar-ink)}.dock__btn[aria-current=step]:after{transform:scaleX(1)}.dock__btn[data-done]:before{content:"";position:absolute;top:5px;left:calc(50% + 7px);width:13px;height:13px;border-radius:50%;background:var(--zone) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.8 6.2l2.1 2.1 4.3-4.6' fill='none' stroke='%23fff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 9px no-repeat;box-shadow:0 0 0 2px var(--c-bar)}.tourctl{display:flex;align-items:center;gap:4px;height:52px;padding:4px;background:var(--c-bar-2);border-radius:var(--radius)}.dock__status{flex:1 1 auto;min-width:0;margin:0;padding:0 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;line-height:1;font-size:var(--fs-sm);color:var(--c-bar-muted)}.controlbar>*,.tourctl>.dock__action{flex-shrink:0}.controlbar>.tourctl{flex-shrink:1;min-width:0}.dock__status-short,[data-action-short]{display:none}.controlbar:not([data-fit="0"]) .mode-switch__btn span{display:none}.controlbar:is([data-fit="2"],[data-fit="3"],[data-fit="4"],[data-fit="5"]) .dock__status-short{display:inline}.controlbar:is([data-fit="2"],[data-fit="3"],[data-fit="4"],[data-fit="5"]) .dock__status-long{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.controlbar:is([data-fit="3"],[data-fit="4"],[data-fit="5"]) [data-action-label]{display:none}.controlbar:is([data-fit="3"],[data-fit="4"]) [data-action-short]{display:inline}.controlbar:is([data-fit="4"],[data-fit="5"]) .dock__label{display:none}.controlbar[data-fit="5"] .dock__action>span{display:none}.controlbar[data-fit="5"] .dock__action{padding:0 .85rem}.controlbar:is([data-fit="4"],[data-fit="5"]) .dock__btn{min-width:48px;height:52px;padding-top:9px}.dock__action{display:inline-flex;align-items:center;gap:.45rem;height:100%;padding:0 1rem 0 .8rem;white-space:nowrap;cursor:pointer;font:var(--fw-medium) .9rem/1 var(--font-sans);color:var(--c-ink);background:#e9e8e4;border:0;border-radius:var(--radius-sm)}.dock__action:hover{background:#fff}.dock__action .ico{width:18px;height:18px}.dock__pause{display:none}.dock__action[data-state=driving]{color:var(--c-bar-ink);background:var(--c-bar-3)}.dock__action[data-state=driving]:hover{background:#3a3d43}.dock__action[data-state=driving] .dock__pause{display:block}.dock__action[data-state=driving] .dock__play{display:none}.speed-chip{display:grid;justify-items:center;align-content:center;gap:2px;min-width:64px;height:52px;margin:0;padding:0 10px;background:var(--c-bar-2);border-radius:var(--radius)}.speed-chip [data-speed]{font-size:1.35rem;font-weight:var(--fw-light);line-height:1;font-variant-numeric:tabular-nums}.speed-chip__unit{font-size:.7rem;line-height:1;color:var(--c-bar-muted)}.drive-free .dock,.drive-free .tourctl,.drive-assist .touch-controls,.drive-assist .zone-prompt{display:none}.checkpoint{position:absolute;left:var(--bar-inset);top:calc(var(--header-h) + var(--bar-inset) * 2 + env(safe-area-inset-top));display:grid;gap:.2rem;width:min(22rem,calc(100% - var(--bar-inset) * 2));padding:1rem 1rem .9rem;background:var(--c-glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);opacity:0;visibility:hidden;transform:translate(-16px);transition:opacity var(--dur) var(--ease),transform .3s var(--ease),visibility 0s linear .3s}.checkpoint.is-visible{opacity:1;visibility:visible;transform:none;transition-delay:0s}.checkpoint p{margin:0;max-width:none}.checkpoint__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.35rem}.checkpoint__eyebrow{font-size:var(--fs-sm);color:var(--c-ink-muted)}.checkpoint__steps{display:flex;gap:3px}.checkpoint__steps i{width:16px;height:3px;border-radius:2px;background:var(--c-line)}.checkpoint__steps i.is-on{background:var(--c-ink)}.checkpoint__company{font-size:1.3rem;font-weight:var(--fw-medium);line-height:1.25}.checkpoint__role{color:var(--c-ink-muted)}.checkpoint__foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.7rem;padding-top:.7rem;border-top:1px solid var(--c-line)}.checkpoint__period{font-size:var(--fs-sm);color:var(--c-ink-muted);font-variant-numeric:tabular-nums}.panel-open .checkpoint{opacity:0;visibility:hidden}.finish{width:min(26rem,calc(100% - 2 * var(--gutter)));padding:0;margin:auto;color:var(--c-ink);background:var(--c-surface);border:0;border-radius:var(--radius-lg);box-shadow:var(--shadow-2)}.finish::backdrop{background:#11121473;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.finish[open]{animation:finish-in var(--dur-slow) var(--ease)}@keyframes finish-in{0%{opacity:0;transform:translateY(16px) scale(.98)}}.finish__inner{padding:1.4rem}.finish h2{margin:.1rem 0 .4rem;font-size:clamp(1.5rem,1.3rem + 1vw,1.8rem)}.finish p{color:var(--c-ink-muted)}.finish .eyebrow{--zone: var(--c-yellow)}.finish__tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:1.1rem}.tile{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:1.5rem;min-height:108px;padding:.9rem;text-align:left;cursor:pointer;font:var(--fw-medium) .95rem/1.25 var(--font-sans);color:var(--c-ink);background:var(--c-tile);border:0;border-radius:var(--radius)}.tile:hover{background:var(--c-tile-hover)}.tile.is-selected{color:var(--c-on-accent);background:var(--c-accent);--c-focus: var(--c-ink)}.tile.is-selected:hover{background:var(--c-accent-hover)}@media(max-width:47.99rem){:root{--bar-inset: 8px;--control-h: 136px}.is-3d .site-header{padding:0 8px 0 4px}.is-3d .nav-toggle{width:40px;height:40px}.is-3d .site-nav{margin-left:0}.statusbar .icon-btn{width:36px;height:36px}.statusbar__sep{margin:0 4px}.statusbar__battery,.statusbar__clock{padding:0 3px;font-size:.85rem}.is-3d .panel{inset:auto 0 0;width:100%;max-height:min(80vh,80dvh);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding-bottom:env(safe-area-inset-bottom);transform:translateY(100%)}.controlbar{width:auto;max-width:none;height:auto;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:8px}.drive-assist .controlbar{height:var(--control-h)}.panel-open .controlbar{opacity:0;visibility:hidden}.dock{order:-1;flex:1 0 100%}.dock__list{justify-content:space-between}.dock__list li{flex:1}.dock__btn{width:100%;min-width:0;height:58px;padding-top:6px}.mode-switch{height:48px}.mode-switch__btn{padding:0 .65rem;font-size:.8rem}.tourctl{flex:1;min-width:0;height:48px}.dock__status{font-size:.8rem}.drive-assist .speed-chip{display:none}.drive-free .controlbar{width:fit-content;flex-wrap:nowrap}.checkpoint{left:50%;transform:translate(-50%,-12px)}.checkpoint.is-visible{transform:translate(-50%)}.hud-marker{gap:4px}.hud-marker__arrow{width:28px;height:28px}.hud-marker__label{padding:4px 9px;font-size:.75rem}}.site-header[data-fit]:not([data-fit="0"]) .statusbar__clock{display:none}.site-header:is([data-fit="2"],[data-fit="3"],[data-fit="4"]) :is(.statusbar__sep,.statusbar__battery .ico){display:none}.site-header:is([data-fit="3"],[data-fit="4"]) .statusbar .icon-btn{width:34px}.site-header:is([data-fit="3"],[data-fit="4"]){gap:.25rem}.site-header:is([data-fit="3"],[data-fit="4"]) .statusbar{gap:0}.site-header[data-fit="4"] .brand__mark{display:none}.site-header[data-fit="4"] .brand{padding-left:.6rem}@media(pointer:coarse){.touch-controls{position:absolute;left:0;right:0;bottom:calc(var(--bar-inset) * 2 + 68px + env(safe-area-inset-bottom));display:flex;align-items:flex-end;justify-content:space-between;padding:0 18px;pointer-events:none;transition:opacity var(--dur) var(--ease),visibility 0s}.touch-controls>*{pointer-events:auto}.panel-open .touch-controls{opacity:0;visibility:hidden}.drive-free .zone-prompt{bottom:calc(var(--bar-inset) * 2 + 68px + 150px + env(safe-area-inset-bottom))}}.joystick{position:relative;width:128px;height:128px;flex:none;touch-action:none;background:#11121473;border:1.5px solid rgb(238 239 240 / .5);border-radius:50%;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.joystick__knob{position:absolute;left:50%;top:50%;width:54px;height:54px;margin:-27px 0 0 -27px;background:#e9e8e4;border-radius:50%;box-shadow:var(--shadow-2);transition:transform .18s var(--ease)}.joystick.is-active .joystick__knob{transition:none}.touch-buttons{display:flex;gap:12px;align-items:flex-end}.touch-btn{display:grid;place-items:center;width:64px;height:64px;padding:0;touch-action:none;color:var(--c-bar-ink);background:var(--c-bar);border:0;border-radius:50%;box-shadow:var(--shadow-2);cursor:pointer;user-select:none;-webkit-user-select:none}.touch-btn--boost{width:76px;height:76px;color:var(--c-yellow)}.touch-btn.is-pressed{transform:scale(.92)}.is-3d:not(.is-started) .statusbar,.is-3d:not(.is-started) .touch-controls{opacity:0;visibility:hidden}.panel-open .zone-prompt,.panel-open .hud{opacity:0;visibility:hidden}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important}}
