:root{font-family:Figtree,Segoe UI,sans-serif;font-size:16px;font-weight:400;line-height:1.6;font-synthesis:none;color:var(--ink);background:var(--bg);color-scheme:light;--bg: #f4e5c7;--sand-speck: #c98237;--paper: #ffffff;--ink: #293f43;--muted: #5b6e70;--accent: #216653;--accent-hover: #174d3e;--coral: #ce654e;--line: #dce5df;--chrome: #edf2ee;--ocean: #a7dce4;--display: "Bricolage Grotesque", sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace;--window-shadow: 0 12px 36px #18382c20}[data-theme=night]{color-scheme:dark;--bg: #1d3037;--paper: #263d43;--ink: #f0f6f1;--muted: #bfd0ca;--accent: #a7d8bb;--accent-hover: #d2ebda;--coral: #f3aa92;--line: #49615f;--chrome: #334b50;--ocean: #315866;--window-shadow: 0 14px 38px #081c2860}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.5}button{border:0;background:transparent}a{color:var(--accent);text-underline-offset:4px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}button,a,input,summary{outline-offset:4px}:focus-visible{outline:3px solid var(--coral)}::selection{color:#293f43;background:#c7e5d5}input{caret-color:var(--accent)}*{scrollbar-width:thin;scrollbar-color:#a1b4a9 var(--paper)}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:#a1b4a9;border:2px solid var(--paper);border-radius:10px}::-webkit-scrollbar-track{background:var(--paper)}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{font-family:Figtree,Segoe UI,sans-serif;text-wrap:balance}strong{font-weight:750}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;left:16px;top:-80px;z-index:30000;padding:10px 16px;background:var(--paper)}.skip-link:focus{top:10px}.portfolio{height:100svh;min-height:600px;overflow:hidden;position:relative;isolation:isolate;background:var(--bg)}.site-header{height:88px;padding:0 40px;display:flex;align-items:center;gap:30px;position:relative;z-index:20000}.wordmark{display:inline-flex;align-items:center;gap:10px;padding:0;font-size:23px;letter-spacing:-.02em;font-weight:800;white-space:nowrap}.crab-claw,.brand-dot{color:var(--coral)}.main-nav{margin-left:auto;display:flex;gap:25px}.main-nav button{padding:8px 0;font-size:16px;font-weight:650;border-bottom:2px solid transparent}.main-nav button:hover,.main-nav button[aria-current]{color:var(--accent);border-bottom-color:var(--accent)}.header-controls{display:flex;align-items:center;gap:10px}.icon-button,.language-toggle,.preferences summary{min-width:40px;min-height:40px;padding:8px;display:inline-flex;align-items:center;justify-content:center;border-radius:5px}.icon-button:hover,.language-toggle:hover,.preferences summary:hover{background:var(--chrome)}.language-toggle{font-size:14px;font-weight:750}.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:10px 17px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);font-size:16px;font-weight:700;line-height:1.3;text-decoration:none;transition:background .18s ease-out,transform .18s ease-out}.button:hover{background:var(--chrome);transform:translateY(-1px);text-decoration:none}.button.primary{background:var(--accent);border-color:transparent;color:var(--paper)}.button.primary:hover{background:var(--accent-hover)}[data-theme=night] .button.primary{color:#1d3037}.header-contact{margin-left:5px}.all-shortcuts{position:absolute;right:40px;top:76px;width:280px;padding:18px;background:var(--paper);box-shadow:var(--window-shadow);border-radius:8px;display:grid;gap:4px}.all-shortcuts>strong{padding:5px 10px 10px}.all-shortcuts button{text-align:left;padding:10px;border-radius:4px;display:flex;align-items:center;gap:9px}.all-shortcuts button svg:last-child{margin-left:auto}.all-shortcuts button:hover{background:var(--chrome)}.home-world{position:absolute;inset:88px 0 58px}.scene-view{position:absolute;inset:0 -1% 0 34%}.pico-canvas,.pico-canvas>div{height:100%;width:100%}.pico-canvas canvas{image-rendering:pixelated;touch-action:none}.home-intro{position:absolute;left:5.5%;top:50%;transform:translateY(-49%);width:350px;z-index:15}.home-intro h1{font-size:clamp(36px,3.4vw,48px);font-weight:800;line-height:1.1;letter-spacing:-.02em;white-space:nowrap;margin-bottom:17px}.home-intro h1 em{font-style:normal;color:var(--accent)}.home-intro>p{font-size:17px;line-height:1.65;color:var(--muted);max-width:34ch}.home-intro strong{color:var(--ink)}.home-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 10px;margin:25px -8px 27px;max-width:330px}.home-shortcuts button{display:flex;flex-direction:column;align-items:center;gap:7px;padding:10px 4px;border-radius:7px;font-size:15px;line-height:1.3;font-weight:650}.home-shortcuts button svg{color:var(--accent);transition:transform .18s ease-out}.home-shortcuts button:hover{background:var(--chrome)}.home-shortcuts button:hover svg{transform:translateY(-3px)}.scene-caption{position:absolute;left:40%;right:25px;bottom:91px;z-index:14;display:flex;align-items:center;justify-content:center;gap:7px;font-size:14px;color:var(--muted);pointer-events:none}.scene-caption span{max-width:50ch}.scene-loading,.scene-error{position:absolute;top:45%;left:55%;right:10%;z-index:12;color:var(--ink);font-size:16px;background:var(--paper);padding:18px;border-radius:6px}.scene-error{left:15%;right:15%}.desktop-bottom{position:absolute;bottom:0;left:0;right:0;height:58px;padding:0 30px;display:flex;align-items:center;gap:25px;z-index:20000;background:var(--bg)}.outside-links{display:flex;align-items:center;gap:20px;flex:0 0 auto}.outside-links a,.outside-links button{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:14px;text-decoration:none;padding:8px 0}.outside-links a:hover,.outside-links button:hover{color:var(--accent)}.open-windows{display:flex;align-items:center;gap:7px;overflow-x:auto;min-width:0}.open-windows button{font-size:13px;line-height:1.3;white-space:nowrap;padding:8px 12px;border-radius:4px;border:1px solid var(--line)}.open-windows button.is-current{background:var(--chrome);color:var(--accent);border-color:var(--accent)}.preferences{position:relative;margin-left:auto;flex:0 0 auto}.preferences summary{list-style:none;cursor:pointer}.preferences summary::-webkit-details-marker{display:none}.preferences-menu{position:absolute;right:0;bottom:48px;width:235px;background:var(--paper);padding:9px;border-radius:7px;box-shadow:var(--window-shadow)}.preferences-menu button{display:flex;gap:9px;align-items:center;width:100%;padding:10px;border-radius:4px;text-align:left;font-size:15px}.preferences-menu button:hover{background:var(--chrome)}.desktop-windows{position:absolute;inset:0;pointer-events:none}.desktop-window{pointer-events:auto;position:absolute;left:var(--window-x);top:var(--window-y);width:min(690px,calc(100vw - 48px));max-height:calc(100svh - var(--window-y) - 74px);display:flex;flex-direction:column;background:var(--paper);border-radius:6px;box-shadow:var(--window-shadow);overflow:hidden;outline:none}.desktop-window[hidden]{display:none}.desktop-window.is-maximized{left:24px;top:98px;width:calc(100% - 48px);height:calc(100svh - 172px);max-height:none}.window-titlebar{min-height:44px;display:flex;align-items:center;gap:12px;padding:0 6px 0 15px;background:var(--chrome);border-bottom:1px solid var(--line);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;flex:0 0 auto}.window-titlebar:active{cursor:grabbing}.window-handle{display:flex;align-items:center;gap:10px;min-width:0}.window-handle>svg{color:var(--muted);flex-shrink:0}.window-titlebar h2{font:500 14px/1.3 var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drag-hint{font-size:13px;color:var(--muted);margin-left:auto;white-space:nowrap}.window-controls{display:flex;gap:3px;margin-left:auto}.window-controls button{width:31px;height:31px;display:grid;place-items:center;border-radius:3px}.window-controls button:hover{background:var(--line)}.window-controls .window-close:hover{color:#fff;background:#bc4c41}.window-content{overflow:auto;overscroll-behavior:contain;min-height:0}.page-body,.gallery-page,.case-page,.contact-page{padding:30px}.page-body h3,.case-page h3,.contact-page h3{font-size:26px;font-weight:800;line-height:1.25;margin-bottom:15px;letter-spacing:-.015em}.page-body p,.case-page p,.contact-page p{font-size:16px;line-height:1.65;max-width:62ch;color:var(--muted);margin-bottom:18px}.page-body strong,.case-page strong,.contact-page strong{color:var(--ink)}.page-body h4,.case-page h4{font-size:18px;font-weight:750;line-height:1.35;margin-bottom:8px}.prose-section{margin-top:32px}.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--accent);font-size:16px;font-weight:700;text-decoration:underline;text-underline-offset:4px;padding:4px 0}.text-link:hover{text-decoration-thickness:2px}.personal-portrait{display:block;object-fit:contain;width:124px;height:150px}.home-intro.has-portrait .personal-portrait{height:135px;width:110px;margin-bottom:12px}.about-intro.has-portrait{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:22px;margin-bottom:22px}.about-intro.has-portrait p{margin-bottom:0}.disclosure{margin-top:25px;border-top:1px solid var(--line)}.disclosure summary{cursor:pointer;padding:17px 0;font-weight:700;font-size:16px}.disclosure summary svg{float:right;margin-top:6px}.disclosure ul,.about-page ul{padding-left:21px;color:var(--muted)}.disclosure li,.about-page li{margin-bottom:11px;font-size:16px;line-height:1.65}.experience-list{list-style:none;padding:0}.experience-list li{padding:0 0 15px;margin-bottom:15px;border-bottom:1px solid var(--line)}.experience-list span,.content-meta{font-size:14px;line-height:1.5;color:var(--muted)}.experience-list h4{margin-top:5px}.experience-list p{margin-bottom:0}.gallery-tools{margin-bottom:25px;display:grid;gap:14px}.project-filters{display:flex;flex-wrap:wrap;gap:5px}.project-filters button{font-size:15px;padding:7px 10px;border-radius:4px}.project-filters button:hover,.project-filters button[aria-pressed=true]{background:var(--chrome);color:var(--accent)}input[type=search]{width:100%;min-width:0;font-size:16px;padding:10px 13px;border:1px solid var(--line);color:var(--ink);border-radius:5px;background:var(--paper)}input::placeholder{color:var(--muted);opacity:1}.project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:29px 22px}.project-card{padding:0;text-align:left;min-width:0}.project-preview{width:100%;aspect-ratio:1.7;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--chrome);overflow:hidden;border-radius:5px}.project-preview img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease-out}.preview-minddrop img{image-rendering:pixelated}.preview-azul-crm img{object-position:center top}.project-card:hover img{transform:scale(1.035)}.preview-icon{display:flex}.preview-name{font-size:18px;font-weight:750}.preview-nexum{background:#e9edfa;color:#354c83}.preview-pet-cuidar{background:#edf3e7;color:#42653c}[data-theme=night] .preview-nexum{background:#35415e;color:#d2daf3}[data-theme=night] .preview-pet-cuidar{background:#385344;color:#d4e9ca}.project-card-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px}.project-card-title strong{font-size:18px;font-weight:750;line-height:1.3}.project-card-title svg{color:var(--muted);flex:0 0 auto;transition:transform .18s ease-out}.project-card:hover .project-card-title svg{transform:translate(2px,-2px)}.project-summary{display:block;margin-top:7px;font-size:16px;line-height:1.5;color:var(--muted)}.show-all{margin-top:28px}.empty-state{padding:30px 0}.case-page h3{margin-top:17px}.case-links{display:flex;flex-wrap:wrap;gap:9px;margin:21px 0 24px}.case-media{margin:24px 0}.case-media video{width:100%;height:auto;background:#17242c;display:block;border-radius:4px}.photo-open{width:100%;aspect-ratio:16/9;padding:0;display:block;position:relative;background:var(--chrome);border-radius:4px;overflow:hidden}.photo-open img{width:100%;height:100%;display:block;object-fit:contain}.screenshot-viewport{max-height:min(420px,56svh);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;background:var(--chrome);border-radius:4px}.screenshot-viewport .photo-open{aspect-ratio:auto;margin-inline:auto}.screenshot-viewport img{height:auto}.case-page .screenshot-help{display:flex;align-items:center;gap:6px;margin:8px 0 0;font-size:13px}.screenshot-help svg{flex:none}.photo-open>span{position:absolute;bottom:9px;right:9px;background:var(--paper);width:32px;height:32px;display:grid;place-items:center;border-radius:4px}.rotated-photo{position:relative;aspect-ratio:16/9}.rotated-photo img{position:absolute;width:56.25%;height:177.7778%;left:21.875%;top:-38.8889%;transform:rotate(-90deg);object-fit:contain;max-height:none}.media-switch{display:flex;gap:6px;margin-top:10px}.media-switch button{padding:8px 12px;font-size:15px;border-radius:4px}.media-switch button:hover,.media-switch button[aria-pressed=true]{background:var(--chrome);color:var(--accent)}.contribution{margin-top:27px}.tech-list{display:flex;gap:6px;flex-wrap:wrap;margin:20px 0 4px}.tech-list span,.project-status{padding:4px 8px;background:var(--chrome);border-radius:4px;font-size:13px;color:var(--ink)}.project-status{display:inline-block;margin:-5px 0 15px}.photo-dialog{border:0;padding:0;background:transparent;color:var(--ink);overflow:visible;max-width:94vw;max-height:86svh}.photo-dialog::backdrop{background:#14252bda}.lightbox-image{display:grid;place-items:center;width:min(90vw,1200px);max-height:84svh}.lightbox-image img{display:block;max-width:100%;max-height:84svh;object-fit:contain}.lightbox-image--screenshot{display:block;height:78svh;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;background:var(--paper);border-radius:4px}.lightbox-image--screenshot img{width:100%;height:auto;max-height:none}.lightbox-image.rotated-photo{width:min(90vw,1200px)}.lightbox-image.rotated-photo img{max-height:none}.dialog-close{position:absolute;right:0;top:-46px;color:var(--ink);background:var(--paper)}.work-note{display:flex;align-items:flex-start;gap:12px;padding:17px 19px;background:var(--chrome);margin-bottom:28px;border-radius:6px}.work-note>svg{color:var(--accent);flex-shrink:0;margin-top:2px}.work-note p{margin-bottom:0}.skill-groups{display:grid;gap:27px;margin-top:27px}.skill-groups p{margin-bottom:10px}.skill-keys{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}.skill-keys li{font-size:16px;font-weight:650;line-height:1.4;border:1px solid var(--line);padding:7px 12px;border-radius:5px;box-shadow:0 2px 2px #203c3410}.related-links{display:grid;margin:15px 0}.related-links button,.link-directory a{display:flex;width:100%;align-items:center;gap:16px;text-align:left;padding:16px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}.related-links button>svg:first-child,.link-directory>a>svg:first-child{color:var(--accent);flex-shrink:0}.related-links button>svg:last-child,.link-directory a>svg:last-child{margin-left:auto;flex-shrink:0}.related-links strong,.link-directory strong{display:block;font-size:18px;line-height:1.3}.related-links small,.link-directory small{display:block;font-size:15px;line-height:1.5;color:var(--muted);margin-top:3px}.related-links button:hover,.link-directory a:hover{color:var(--accent)}.research-feature{display:flex;gap:18px;padding:25px 0 0}.research-feature>svg{color:var(--accent);flex-shrink:0;margin-top:4px}.research-feature h4{margin-top:8px}.course-list{padding:0;margin:25px 0;list-style:none}.course-list li{display:grid;grid-template-columns:23px 1fr auto;align-items:start;gap:13px;padding:17px 0;border-bottom:1px solid var(--line)}.course-list li>svg{color:var(--accent);margin-top:2px}.course-list h4{font-size:16px;margin:0 0 4px}.course-list p{font-size:15px;margin:0}.course-list li>span{font-size:13px;padding:3px 8px;background:var(--chrome);border-radius:4px}.link-directory{margin:20px 0 26px}.contact-symbol{color:var(--coral);margin:0 0 18px}.contact-page h3{max-width:20ch}.email-address{display:inline-block;font-size:19px;font-weight:750;margin:10px 0 23px;overflow-wrap:anywhere}.email-address svg{margin-left:9px;vertical-align:middle}.contact-actions{display:flex;gap:10px;flex-wrap:wrap}.copy-feedback{min-height:23px;margin:9px 0 17px!important;font-size:14px!important}.contact-socials{display:flex;gap:25px;flex-wrap:wrap;padding-top:20px;border-top:1px solid var(--line)}.contact-socials a{display:inline-flex;align-items:center;gap:8px;font-size:16px}.is-exploring{background:var(--ocean)}.is-exploring .site-header,.is-exploring .desktop-bottom{background:var(--bg)}.is-exploring .scene-view{left:0;right:0}.explore-toolbar{position:absolute;bottom:78px;left:30px;right:30px;display:flex;align-items:center;gap:18px;pointer-events:none;z-index:17}.explore-toolbar button{pointer-events:auto}.explore-toolbar p{font-size:14px;background:var(--paper);padding:7px 12px;border-radius:4px;color:var(--ink)}.explore-toolbar>.icon-button{background:var(--paper);margin-left:auto}@media(min-width:1600px){.home-intro{left:max(70px,calc((100vw - 1500px)/2))}}@media(max-width:1150px)and (min-width:901px){.site-header{padding:0 25px;gap:20px}.main-nav{gap:17px}.header-controls{gap:6px}.home-intro{left:35px;width:310px}.home-intro h1{font-size:38px}.home-shortcuts{max-width:290px}.scene-view{left:32%;right:-7%}.header-contact{padding:10px 12px}}@media(max-width:900px){.portfolio{min-height:560px}.site-header{height:68px;padding:0 23px;gap:12px}.wordmark{font-size:23px;gap:7px}.wordmark .crab-claw{width:31px;height:31px}.wordmark-last,.main-nav{display:none}.header-controls{margin-left:auto;gap:4px}.header-contact{min-width:39px;min-height:39px;padding:8px;margin-left:2px}.header-contact span{display:none}.icon-button,.language-toggle{min-width:36px;min-height:39px;padding:7px}.all-shortcuts{right:15px;top:62px;max-height:calc(100svh - 138px);overflow-y:auto}.home-world{inset:68px 0 54px}.scene-view{inset:0 0 auto;height:calc(100svh - 365px);min-height:195px}.home-intro{inset:auto 24px 83px;transform:none;width:auto;max-width:560px}.home-intro h1{font-size:36px;margin-bottom:10px}.home-intro>p{font-size:16px;line-height:1.55;max-width:55ch}.home-shortcuts{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;max-width:425px;margin:16px -5px 17px}.home-shortcuts [data-open=about]{display:none}.home-shortcuts button{font-size:14px;padding:6px 0;gap:5px}.home-shortcuts button svg{width:27px;height:27px}.home-intro>.button{min-height:43px}.scene-caption{display:none}.desktop-bottom{height:54px;padding:0 20px;gap:15px}.outside-links{gap:16px}.outside-links span{display:none}.outside-links a,.outside-links button{padding:8px 0}.open-windows{gap:5px}.open-windows button{max-width:115px;text-overflow:ellipsis;overflow:hidden;font-size:12px;padding:8px}.desktop-window,.desktop-window.is-maximized{left:15px;top:83px;width:calc(100% - 30px);max-height:calc(100svh - 152px);height:auto}.desktop-window.is-maximized{height:calc(100svh - 152px)}.window-titlebar{padding-left:13px;gap:7px;cursor:default}.window-titlebar h2{font-size:13px}.window-handle>svg,.drag-hint,.window-maximize{display:none!important}.page-body,.gallery-page,.case-page,.contact-page{padding:25px}.scene-loading{left:20%;right:20%;top:25%}.is-exploring .scene-view{height:100%}.explore-toolbar{left:18px;right:18px;bottom:70px;gap:8px;flex-wrap:wrap}.explore-toolbar .button{font-size:14px;padding:9px 12px}.explore-toolbar p{order:3;font-size:13px;padding:6px 9px}}@media(max-width:540px){.project-gallery{grid-template-columns:1fr;gap:28px}.project-preview{aspect-ratio:1.8}.page-body,.gallery-page,.case-page,.contact-page{padding:23px 21px}.page-body h3,.case-page h3,.contact-page h3{font-size:25px}.project-filters{gap:2px}.project-filters button{font-size:14px;padding:7px}.email-address{font-size:17px}.course-list li{grid-template-columns:21px 1fr;gap:8px 12px}.course-list li>span{grid-column:2;justify-self:start}.research-feature{gap:12px}.research-feature>svg{width:23px}.about-intro.has-portrait{grid-template-columns:90px 1fr;gap:15px}.about-intro .personal-portrait{width:90px;height:120px}}@media(max-width:360px){.site-header{padding:0 16px}.header-controls{gap:1px}.home-intro{left:20px;right:20px;bottom:77px}.home-intro h1{font-size:32px}.home-shortcuts button{font-size:13px}.home-shortcuts{margin-top:12px;margin-bottom:13px}.desktop-window,.desktop-window.is-maximized{left:10px;width:calc(100% - 20px)}.window-titlebar{padding-left:11px}.page-body,.gallery-page,.case-page,.contact-page{padding:22px 18px}.window-controls{gap:0}.window-controls button{width:29px}.desktop-bottom{padding:0 16px;gap:10px}.outside-links{gap:12px}}@media(max-height:650px)and (max-width:900px){.home-intro h1{margin-bottom:7px}.home-intro>p{line-height:1.45}.home-shortcuts{margin-top:9px;margin-bottom:10px}.home-shortcuts button{padding:4px 0}.scene-view{height:calc(100svh - 365px);min-height:175px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.project-card:hover img,.home-shortcuts button:hover svg,.button:hover{transform:none}}:root{--ocean: #80cfdf}[data-theme=night]{--ocean: #244d63}.home-intro{transition:transform .55s cubic-bezier(.16,1,.3,1),opacity .3s ease-out}.home-intro h1{font-family:var(--display);font-size:clamp(48px,4.6vw,66px);font-weight:450;letter-spacing:-.025em;line-height:1.06}.home-intro>p{font-size:17px;font-weight:400}.wordmark{font-weight:600}.page-body h3,.case-page h3,.contact-page h3{font-family:var(--display);font-weight:600}.home-shortcuts button,.button{font-weight:600}.intro-actions{display:flex;align-items:center;gap:12px}.intro-actions .button{font-size:14px;padding-left:12px;padding-right:12px}.explore-label-short{display:none}.has-windows .home-intro,.is-exploring .home-intro{opacity:0;transform:translate(-145%,-49%);pointer-events:none}.scene-view{transition:transform .6s cubic-bezier(.16,1,.3,1)}.has-windows:not(.is-exploring) .scene-view{transform:translate(10%)}.desktop-window{animation:open-window .35s cubic-bezier(.16,1,.3,1)}.desktop-window.is-maximized{left:96px;width:calc(100% - 120px)}.project-overview{margin-top:25px}.project-overview ul,.career-feature ul{color:var(--muted);padding-left:20px}.project-overview li,.career-feature li{font-size:16px;line-height:1.65;margin-bottom:10px}.contribution{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0;margin:23px 0}.contribution p{color:var(--ink);margin-bottom:0}.career-feature{margin-top:26px}.career-feature>h4{color:var(--accent);font-size:20px}.career-feature>p:first-of-type{margin:12px 0 16px}.explore-sidebar{position:absolute;left:17px;top:50%;transform:translateY(-50%);z-index:1000;padding:7px;border-radius:12px;background:var(--paper);box-shadow:0 8px 22px #1b3c3925;display:grid;gap:4px;animation:show-sidebar .5s .2s cubic-bezier(.16,1,.3,1) both}.explore-sidebar button{width:43px;height:46px;display:grid;place-items:center;position:relative;border-radius:6px}.explore-sidebar button:hover,.explore-sidebar button[aria-current]{background:var(--chrome)}.explore-sidebar [data-section=about],.explore-sidebar [data-section=contact]{color:#b44d42}.explore-sidebar [data-section=projects]{color:#305ca3}.explore-sidebar [data-section=skills]{color:#8c591e}.explore-sidebar [data-section=research]{color:#7650a1}.explore-sidebar [data-section=certificates]{color:#216653}.explore-sidebar [data-section=links]{color:#a33e7b}[data-theme=night] .explore-sidebar button{color:var(--ink)}.explore-sidebar button>span{position:absolute;left:57px;white-space:nowrap;background:var(--paper);color:var(--ink);padding:5px 10px;border-radius:5px;box-shadow:0 3px 10px #142b3220;font-size:14px;opacity:0;pointer-events:none;transform:translate(-4px);transition:opacity .15s ease-out,transform .15s ease-out}.explore-sidebar button:hover>span,.explore-sidebar button:focus-visible>span{opacity:1;transform:none}.is-exploring{background:var(--bg)}.is-exploring .home-world{background:var(--ocean);animation:island-reveal .85s cubic-bezier(.16,1,.3,1) both}@keyframes open-window{0%{transform:translate(28px);opacity:.3}to{transform:none;opacity:1}}@keyframes show-sidebar{0%{opacity:0;translate:-25px 0}to{opacity:1;translate:0 0}}@keyframes island-reveal{0%{clip-path:circle(0% at var(--reveal-x,25%) var(--reveal-y,65%))}to{clip-path:circle(150% at var(--reveal-x,25%) var(--reveal-y,65%))}}@media(max-width:1150px)and (min-width:901px){.home-intro h1{font-size:50px}.intro-actions{gap:8px}.intro-actions .button{font-size:13px;padding:10px}}@media(max-width:900px){.home-intro h1{font-size:36px}.home-intro h1 br{display:none}.home-intro em:before{content:" "}.home-intro>p{font-size:16px}.has-windows .home-intro,.is-exploring .home-intro{transform:translate(-130%)}.has-windows:not(.is-exploring) .scene-view{transform:none}.explore-label-full{display:none}.explore-label-short{display:inline}.intro-actions .button{min-height:43px}.desktop-window.is-maximized{left:15px;width:calc(100% - 30px)}.explore-sidebar{left:9px;padding:5px}.explore-sidebar button{width:36px;height:41px}.has-windows .explore-sidebar{display:none}.explore-toolbar{left:76px;right:12px}}@media(max-width:360px){.home-intro h1{font-size:32px}.desktop-window.is-maximized{left:10px;width:calc(100% - 20px)}}:root{--lavender: #76549c;--learning-ground: #f0ecf7;--data-ink: #296b72;--security-ink: #72539c}[data-theme=night]{--lavender: #d1b7f6;--learning-ground: #354653;--data-ink: #9bddd8;--security-ink: #d1b7f6}button,a,summary{transition:color .25s ease-out,background-color .25s ease-out,border-color .25s ease-out,box-shadow .25s ease-out,transform .3s cubic-bezier(.16,1,.3,1),text-underline-offset .25s ease-out}.button{transition:color .25s ease-out,background-color .25s ease-out,border-color .25s ease-out,transform .35s cubic-bezier(.16,1,.3,1)}a:hover,.text-link:hover{text-decoration-thickness:1px;text-underline-offset:5px}.home-shortcuts button svg,.project-card img,.project-card-title svg{transition:transform .35s cubic-bezier(.16,1,.3,1),color .25s ease-out}.site-header,.desktop-bottom{transition:background-color .3s ease-out}.inline-link{display:inline;color:var(--accent);text-decoration:underline;text-underline-offset:4px;padding:0;font-weight:600;text-align:left}.inline-link:hover{color:var(--accent-hover);text-underline-offset:5px}.project-stack-label{display:block;color:var(--accent);font-size:13px;margin-top:6px;font-weight:600}.profile-header{display:grid;grid-template-columns:132px minmax(0,1fr);gap:25px;align-items:center;padding-bottom:27px;border-bottom:1px solid var(--line);margin-bottom:26px}.profile-avatar{display:block;width:132px;height:132px;object-fit:cover;border-radius:12px}.profile-header h3{margin-bottom:6px}.profile-header p{margin-bottom:9px}.profile-header a{font-size:14px}.profile-header a svg{display:inline;vertical-align:middle;margin-left:4px}.about-hello>h4{font-size:22px;margin-bottom:12px}.profile-section{border-top:1px solid var(--line);padding-top:25px;margin-top:26px}.profile-section>h4{margin-bottom:15px}.profile-section p:last-child{margin-bottom:0}.interest-list{display:grid;gap:15px}.interest-list>div{display:flex;align-items:flex-start;gap:13px}.interest-list svg{color:var(--lavender);flex-shrink:0;margin-top:3px}.interest-list>div:nth-child(2) svg{color:var(--coral)}.interest-list>div:nth-child(3) svg{color:var(--data-ink)}.interest-list p{margin:0}.work-tools{padding:22px 0;margin:6px 0 0;border-bottom:1px solid var(--line)}.work-tools h4{margin-bottom:13px}.stack-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:27px;margin:27px 0}.stack-groups h4{margin-bottom:13px}.stack-groups .skill-keys{gap:6px}.stack-groups .skill-keys li{padding:5px 9px;font-size:14px}.stack-groups [data-stack=data] h4{color:var(--data-ink)}.stack-projects{list-style:none;margin:13px 0 0;padding:0}.stack-projects li{display:flex;align-items:center;gap:8px;min-height:39px}.stack-projects button{display:flex;align-items:center;gap:8px;padding:7px 0;text-align:left;font-size:15px;color:var(--accent);text-decoration:underline;text-underline-offset:4px}.stack-projects button svg{flex-shrink:0;transition:transform .3s ease-out}.stack-projects button:hover svg{transform:translate(3px)}.stack-projects a{margin-left:auto;display:grid;place-items:center;min-width:36px;min-height:36px;border-radius:5px}.stack-projects a:hover{background:var(--chrome)}.learning-title{display:flex;align-items:flex-start;gap:18px;margin-bottom:24px}.learning-title>svg{flex-shrink:0;color:var(--lavender);margin-top:3px}.learning-title h3{margin-bottom:9px}.learning-title p{margin:0}.learning-highlight{background:var(--learning-ground);border-radius:10px;padding:21px;margin-bottom:25px}.learning-highlight h4{font-size:17px;margin-bottom:15px}.completed-course{display:flex;align-items:flex-start;gap:11px;margin-top:15px}.completed-course>svg{flex-shrink:0;margin-top:4px;color:var(--accent)}.completed-course p{margin:0;font-size:15px}.completed-course p>span{display:block;font-size:14px;margin-top:3px}.course-filters{display:flex;flex-wrap:wrap;gap:6px}.course-filters button{font-size:14px;min-height:36px;padding:6px 10px;border-radius:5px}.course-filters button:hover,.course-filters button[aria-pressed=true]{background:var(--chrome);color:var(--accent)}.course-list{margin-top:16px}.course-list li{transition:background-color .25s ease-out}.course-list li>svg{transition:transform .35s cubic-bezier(.16,1,.3,1)}.course-list li:hover>svg{transform:translateY(-2px) rotate(-7deg)}.course-list li[data-area=data]>svg{color:var(--data-ink)}.course-list li[data-area=security]>svg{color:var(--security-ink)}.course-list li[data-area=dev]>svg{color:var(--coral)}.course-complete{display:inline-flex;align-items:center;gap:4px;margin-left:9px;color:var(--accent);font-size:12px}.social-icons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;justify-items:center;gap:20px;max-width:430px;min-height:185px;margin:auto}.social-icons a{position:relative;display:grid;place-items:center;color:var(--ink);width:66px;height:66px;border-radius:9px}.social-icons a:hover{color:var(--accent);background:var(--chrome);transform:translateY(-3px)}.social-tooltip{position:absolute;top:calc(100% + 9px);left:50%;transform:translate(-50%,-3px);color:var(--ink);white-space:nowrap;font-size:13px;opacity:0;pointer-events:none;transition:opacity .25s ease-out,transform .3s ease-out}.social-icons a:hover .social-tooltip,.social-icons a:focus-visible .social-tooltip{opacity:1;transform:translate(-50%)}.mobile-window-nav{display:none}@media(min-width:901px){.portfolio,.is-exploring,.home-world{background:var(--ocean)}.site-header,.desktop-bottom,.is-exploring .site-header,.is-exploring .desktop-bottom{background:transparent}.home-intro>p,.scene-caption,.outside-links a,.outside-links button{color:var(--ink)}}@media(max-width:900px){.has-windows .desktop-bottom{height:68px;padding:0 6px}.has-windows .desktop-bottom>.outside-links,.has-windows .desktop-bottom>.open-windows,.has-windows .desktop-bottom>.preferences{display:none}.mobile-window-nav{width:100%;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px}.mobile-window-nav button{min-width:0;min-height:56px;padding:5px 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border-radius:6px;font-size:10px;line-height:1.2}.mobile-window-nav button[aria-current],.mobile-window-nav button:hover{background:var(--chrome);color:var(--accent)}.desktop-window,.desktop-window.is-maximized{max-height:calc(100svh - 166px)}.stack-groups{grid-template-columns:1fr}}@media(max-width:540px){.profile-header{grid-template-columns:76px minmax(0,1fr);gap:15px;align-items:start}.profile-avatar{width:76px;height:76px;border-radius:8px}.profile-header h3{font-size:24px}.profile-header p{font-size:14px}.profile-header a{font-size:13px}.social-icons{gap:8px;min-height:150px}.social-icons a{width:48px;height:55px}.social-icons a>svg{width:34px}.learning-title{gap:12px}.learning-title>svg{width:30px}.learning-title h3{font-size:25px}.learning-highlight{padding:17px}.course-complete{display:flex;margin-left:0;margin-top:4px}}.portfolio,.is-exploring{background:var(--bg);cursor:default}.home-world,.is-exploring .home-world{background:transparent}.site-header,.desktop-bottom,.is-exploring .site-header,.is-exploring .desktop-bottom{background:var(--bg)}.home-intro>p,.scene-caption,.outside-links a,.outside-links button{color:var(--muted)}button,a,summary{cursor:pointer}input,textarea{cursor:text}.software-filters{display:flex;flex-wrap:wrap;gap:6px;padding-top:10px;border-top:1px solid var(--line)}.software-filters button{font-size:13px;min-height:32px;padding:5px 9px;border-radius:4px;color:var(--muted)}.software-filters button:hover,.software-filters button[aria-pressed=true]{background:var(--chrome);color:var(--accent)}.compact-profile .profile-header{grid-template-columns:100px minmax(0,1fr);gap:24px;padding-bottom:18px;margin-bottom:18px}.compact-profile .profile-avatar{width:100px;height:100px;border-radius:50%;border:2px solid var(--line);transition:transform .4s cubic-bezier(.16,1,.3,1),border-color .3s ease-out,box-shadow .3s ease-out}.compact-profile .profile-avatar:hover{transform:rotate(-4deg) scale(1.04);border-color:var(--coral);box-shadow:0 7px 18px #102b3425}.compact-profile .profile-header h3{font-size:36px;line-height:1.08;margin-bottom:9px}.compact-profile .profile-header p{margin:0;font-size:16px;line-height:1.5}.compact-profile .profile-role{color:var(--ink);font-weight:600}.profile-fact{margin-top:21px}.profile-fact h4{display:flex;align-items:center;gap:6px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:9px}.profile-fact h4 svg{color:var(--coral);flex-shrink:0}.profile-fact p{font-size:15px;line-height:1.5;margin-bottom:8px}.profile-link{display:inline-flex;align-items:center;gap:7px;margin-top:17px;font-size:14px}.academic-entry{display:flex;gap:15px;margin-top:23px}.academic-entry>svg{color:var(--accent);flex-shrink:0;margin-top:2px}.academic-entry p{margin:0}.skill-tabs{display:flex;flex-wrap:wrap;gap:5px;padding-bottom:17px;border-bottom:1px solid var(--line)}.skill-tabs button{padding:6px 10px;min-height:35px;border-radius:4px;font-size:14px}.skill-tabs button:hover,.skill-tabs button[aria-pressed=true]{background:var(--chrome);color:var(--accent)}.skill-selection{margin-top:22px}.hardware-preview{height:154px;position:relative;margin:0 0 18px;background:var(--chrome);border-radius:6px;overflow:hidden}.hardware-preview canvas{image-rendering:pixelated}.hardware-preview figcaption{position:absolute;left:12px;bottom:10px;font-size:12px;color:var(--muted);pointer-events:none}.preview-pause{position:absolute;bottom:8px;right:8px;width:36px;height:36px;display:grid;place-items:center;border-radius:4px;background:var(--chrome)}.preview-pause:hover{color:var(--accent);background:var(--bg)}.preview-unavailable{margin:0;padding:25px;font-size:14px}.compact-skills .skill-keys{gap:7px}.compact-skills .skill-keys li{font-size:15px;padding:6px 10px;box-shadow:none}.skill-examples{list-style:none;padding:0;margin:21px 0 0}.skill-examples li{display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--line)}.skill-examples button{display:flex;flex:1;align-items:center;gap:9px;text-align:left;padding:11px 0;font-size:15px}.skill-examples button:hover{color:var(--accent)}.skill-examples a{display:grid;place-items:center;width:36px;height:36px;border-radius:4px}.skill-examples a:hover{background:var(--chrome)}.study-header{display:flex;gap:12px;align-items:flex-start}.study-header>svg{color:var(--lavender);flex-shrink:0;margin-top:3px}.study-header h3{flex:1;margin:0}.study-reset{min-height:31px;padding:4px 8px;font-size:13px;border-radius:4px;color:var(--muted)}.study-reset:hover,.study-reset[aria-pressed=true]{color:var(--accent);background:var(--chrome)}.course-chart{margin:21px 0 14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 17px}.course-chart button{text-align:left;min-width:0;padding:7px;border-radius:4px}.course-chart button:hover,.course-chart button[aria-pressed=true]{background:var(--chrome)}.course-chart-label{display:flex;align-items:center;gap:6px;font-size:13px;line-height:1.3;margin-bottom:7px}.course-chart-label svg{display:none}.course-chart-label strong{margin-left:auto;font-variant-numeric:tabular-nums}.course-chart-track{display:block;height:5px;background:var(--line);border-radius:3px;overflow:hidden}.course-chart-track>span{display:block;height:100%;background:var(--accent);border-radius:inherit}.course-chart [data-area=data] .course-chart-track>span{background:var(--data-ink)}.course-chart [data-area=security] .course-chart-track>span{background:var(--security-ink)}.course-chart [data-area=dev] .course-chart-track>span{background:var(--coral)}.course-list li{padding-top:13px;padding-bottom:13px}@media(max-width:540px){.compact-profile .profile-header{grid-template-columns:72px minmax(0,1fr);gap:15px;align-items:center}.compact-profile .profile-avatar{width:72px;height:72px}.compact-profile .profile-header h3{font-size:29px;margin-bottom:7px}.compact-profile .profile-header p{font-size:14px}.profile-fact{margin-top:17px}.profile-fact p{font-size:14px}.course-chart{gap:5px 10px}.course-chart-label{font-size:12px}.study-header{gap:9px}.study-header>svg{width:24px}.study-header h3{font-size:24px}}.is-exploring .scene-view{left:80px;right:20px}.desktop-window{animation:none}.desktop-window.is-active .window-titlebar{border-bottom-color:var(--accent)}.window-titlebar,.window-titlebar *{user-select:none!important;-webkit-user-select:none!important;-webkit-user-drag:none}.is-dragging-window,.is-dragging-window *{user-select:none!important;-webkit-user-select:none!important;cursor:grabbing!important}.window-page,.skill-selection{animation:change-page .28s cubic-bezier(.16,1,.3,1)}@keyframes change-page{0%{opacity:.25;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.explore-sidebar button[data-open=true]{color:var(--accent);background:var(--chrome)}.explore-sidebar button[data-open=true]:after{content:"";position:absolute;left:2px;top:50%;width:3px;height:13px;border-radius:2px;background:var(--accent);transform:translateY(-50%)}.explore-sidebar button[aria-current]{outline:1px solid var(--accent);outline-offset:-2px}.profile-links{display:flex;align-items:center;gap:24px}.skill-keys li{transition:transform .28s cubic-bezier(.16,1,.3,1),background-color .25s ease-out,color .25s ease-out;transform-origin:center}.skill-keys li:hover{transform:translateY(-2px) scale(1.06);color:var(--accent);background:var(--chrome)}.initial-loading{position:fixed;inset:0;z-index:60000;display:grid;place-items:center;background:var(--bg);color:var(--ink);transition:opacity .28s ease-out}.initial-loading>div{width:min(270px,75vw);text-align:center}.initial-loading svg{color:var(--coral);margin-bottom:19px}.initial-loading p{font-size:18px;margin-bottom:23px}.initial-loading-track{width:100%;height:5px;background:var(--line);border-radius:4px;overflow:hidden}.initial-loading-track>span{display:block;height:100%;background:var(--accent);transition:width .2s ease-out}.initial-loading.is-complete{opacity:0;pointer-events:none}.home-intro .intro-actions{margin-top:28px;flex-wrap:wrap}.island-invitation{display:flex;align-items:center;gap:13px;margin-top:23px;max-width:350px;color:var(--accent)}.island-invitation>svg{flex:none}.island-invitation p{margin:0;font-size:14px;line-height:1.45;color:var(--muted)}.island-invitation strong{display:block;margin-bottom:3px;font-size:16px;color:var(--ink)}.island-invitation span{display:block}.explore-from-projects{display:flex;align-items:center;gap:13px;padding:14px 16px;margin-bottom:22px;background:var(--chrome);border-radius:6px}.explore-from-projects>svg{flex:none;color:var(--accent)}.explore-from-projects p{margin:0;flex:1;min-width:0;line-height:1.45}.explore-from-projects strong{display:block;color:var(--ink);font-size:15px}.explore-from-projects p>span{display:block;color:var(--muted);font-size:13px;margin-top:3px}.explore-from-projects>button{flex:none;font-size:13px;padding:9px 11px}.skill-keys li{touch-action:manipulation}@media(max-width:540px){.explore-from-projects{display:grid;grid-template-columns:23px minmax(0,1fr);align-items:start;gap:8px 11px;padding:13px;margin-bottom:18px}.explore-from-projects>button{grid-column:2;justify-self:start}}.island-guide{position:absolute;z-index:18;top:116px;left:50%;transform:translate(-50%);width:max-content;max-width:calc(100% - 180px);display:flex;align-items:center;gap:16px;padding:16px 18px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink)}.island-guide strong{font-size:17px;line-height:1.3}.island-guide p{margin:4px 0 0;color:var(--muted);font-size:14px;line-height:1.45}.island-guide>button{flex:none;align-self:flex-start;margin:-6px -8px 0 0}.guide-gesture{display:flex;align-items:center;gap:3px;color:var(--accent);flex:none}.guide-gesture .lucide-hand{animation:guide-drag 1.6s cubic-bezier(.16,1,.3,1) 3}.explore-toolbar>.camera-reset{margin-left:auto}@keyframes guide-drag{0%,to{transform:translate(-4px) rotate(-8deg)}50%{transform:translate(4px) rotate(8deg)}}@media(max-width:900px){.island-invitation{margin-top:16px;max-width:440px}.island-invitation p{font-size:13px}.island-invitation strong{font-size:15px}.island-guide{top:86px;left:77px;right:13px;transform:none;width:auto;max-width:none;gap:10px;padding:13px}.island-guide strong{font-size:15px}.island-guide p{font-size:13px}.guide-gesture{width:35px;justify-content:center}.guide-gesture>.lucide-arrow-left,.guide-gesture>.lucide-arrow-right{display:none}.explore-toolbar{gap:8px}.explore-toolbar>.button:first-child{font-size:13px;padding:9px;gap:5px}}@media(max-width:360px){.island-guide .guide-gesture{display:none}.explore-toolbar>.button:first-child{font-size:12px;padding:7px;gap:3px}.explore-toolbar>.button:first-child>svg{width:14px}.explore-toolbar>.icon-button{min-width:36px;width:36px;padding:7px}}.portfolio:has(.island-guide) .explore-toolbar>p{display:none}@media(max-height:650px)and (max-width:900px){.island-invitation{margin-top:9px}.island-invitation>svg{width:23px}}@media(prefers-reduced-motion:reduce){.guide-gesture .lucide-hand{animation:none}}@media(max-width:900px){.is-exploring .scene-view{left:64px;right:0}}@media(prefers-reduced-motion:reduce){.window-page,.skill-selection{animation:none}.initial-loading,.initial-loading-track>span,.skill-keys li{transition:none}}.audio-retry{position:absolute;z-index:1201;right:20px;bottom:78px;background:var(--paper);border:1px solid var(--accent);font-size:13px}@media(max-width:900px){.audio-retry{right:12px;bottom:94px}}.contact-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px 24px;margin-bottom:18px}.contact-heading h3{flex:1 1 220px;max-width:20ch;margin:0}.contact-heading .contact-socials{display:flex;flex-wrap:wrap;gap:8px;padding:0;border:0}.contact-heading .contact-socials a{min-height:44px;padding:9px 11px;font-size:14px;gap:7px}@media(max-width:540px){.contact-heading{gap:13px}.contact-heading h3{flex-basis:100%}}.night-sky,.sand-grains{position:absolute;left:40%;right:7%;top:105px;height:145px;pointer-events:none;color:var(--ink)}.night-sky i,.sand-grains i{position:absolute;display:block;background:currentColor;border-radius:50%}.is-exploring .night-sky,.is-exploring .sand-grains{left:18%;right:10%}@media(max-width:900px){.night-sky,.sand-grains,.is-exploring .night-sky,.is-exploring .sand-grains{left:15%;right:10%;top:80px;height:90px}}.sand-grains{color:var(--sand-speck)}.sand-grains i{border-radius:0;transform:rotate(24deg)}.object-hint{display:grid;justify-items:center;width:min(304px,calc(100vw - 38px));pointer-events:none;-webkit-user-select:none;user-select:none;color:var(--paper)}[data-theme=night] .object-hint{color:var(--bg)}.object-hint-bubble{display:flex;width:100%;border-radius:8px;background:var(--accent);box-shadow:var(--window-shadow);pointer-events:auto;animation:hint-arrive .25s ease-out both}.object-hint-message{display:flex;align-items:center;text-align:left;gap:10px;padding:12px 4px 12px 14px;flex:1;min-width:0;color:inherit;font-size:14px;font-weight:650;line-height:1.35;border-radius:8px}.object-hint-message svg{flex:none}.object-hint-message:hover{text-decoration:underline;text-underline-offset:3px}.object-hint-close{display:grid;place-items:center;flex:0 0 42px;min-height:44px;color:inherit;border-radius:8px;transition:opacity .2s ease-out}.object-hint-close:hover{opacity:.65}.object-hint-tail{width:14px;height:10px;background:var(--accent);clip-path:polygon(0 0,100% 0,50% 100%)}.object-hint-mark{margin-top:10px;width:22px;height:22px;border:2px solid var(--accent);border-radius:50%;animation:object-beacon 1.8s ease-out 3}@keyframes hint-arrive{0%{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes object-beacon{0%,to{transform:scale(.85);opacity:.4}45%{transform:scale(1.35);opacity:.85}}@media(max-width:900px){.object-hint{width:min(290px,calc(100vw - 30px))}.is-exploring .object-hint{width:min(290px,calc(100vw - 96px))}.object-hint-message{font-size:13px;padding:11px 0 11px 12px;gap:8px}}@media(prefers-reduced-motion:reduce){.object-hint-bubble,.object-hint-mark{animation:none}}
