@import"https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400;1,600&family=Inter:wght@100..900&display=swap";#theme-toggle[data-astro-cid-s3yo65wo]{background:transparent;border:none;padding:0;cursor:pointer;outline:none}html.theme-dark .sun-icon[data-astro-cid-s3yo65wo]{display:block!important}html.theme-dark .moon-icon[data-astro-cid-s3yo65wo]{display:none!important}:root{--color-bg-light: #fafafa;--color-surface-light: #ffffff;--color-hover-light: rgba(0, 0, 0, .04);--color-text-primary-light: #111111;--color-text-secondary-light: #555555;--color-border-subtle-light: rgba(0, 0, 0, .08);--color-dock-bg-light: rgba(255, 255, 255, .85);--color-dock-button-light: rgb(245, 245, 245);--color-dock-tooltip-bg-light: rgb(255, 255, 255);--color-dot-light: #888888;--color-card-text-light: #ffffff;--color-bg-dark: #000000;--color-surface-dark: #111111;--color-hover-dark: rgb(35, 35, 35);--color-text-primary-dark: #ffffff;--color-text-secondary-dark: #999999;--color-border-subtle-dark: rgba(255, 255, 255, .1);--color-dock-bg-dark: rgba(255, 255, 255, .1);--color-dock-button-dark: rgb(20, 20, 20);--color-dock-tooltip-bg-dark: rgb(8, 8, 8);--color-dot-dark: #7d7d7d;--color-card-text-dark: #ffffff;--color-bg: var(--color-bg-dark);--color-surface: var(--color-surface-dark);--color-hover: var(--color-hover-dark);--color-text-primary: var(--color-text-primary-dark);--color-text-secondary: var(--color-text-secondary-dark);--color-border-subtle: var(--color-border-subtle-dark);--color-dock-bg: var(--color-dock-bg-dark);--color-dock-button: var(--color-dock-button-dark);--color-dock-tooltip-bg: var(--color-dock-tooltip-bg-dark);--color-dot: var(--color-dot-dark);--color-card-text: var(--color-card-text-dark);--font-primary: "EB Garamond", serif;--content-max-width: 800px;--project-grid-max-width: 1088px;--section-gap: 96px;--subsection-gap: 48px;--paragraph-gap: 12px;--grid-gap: 24px;--radius-card: 16px;--radius-pill: 60px;--radius-button: 200px;--radius-tooltip: 5px;--card-shadow: 0 8px 32px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--card-shadow-hover: 0 0 0 4px rgba(0,0,0,.03), 0 12px 48px rgba(0, 0, 0, .12);--ease-spring: cubic-bezier(.22, 1, .36, 1)}html.theme-light{--color-bg: var(--color-bg-light);--color-surface: var(--color-surface-light);--color-hover: var(--color-hover-light);--color-text-primary: var(--color-text-primary-light);--color-text-secondary: var(--color-text-secondary-light);--color-border-subtle: var(--color-border-subtle-light);--color-dock-bg: var(--color-dock-bg-light);--color-dock-button: var(--color-dock-button-light);--color-dock-tooltip-bg: var(--color-dock-tooltip-bg-light);--color-dot: var(--color-dot-light);--color-card-text: var(--color-card-text-light)}html{transition:background-color .3s ease,color .3s ease}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scrollbar-width:none}html::-webkit-scrollbar{display:none}body{background-color:var(--color-bg);color:var(--color-text-secondary);font-family:var(--font-primary);font-size:18px;font-weight:400;line-height:1.2em;letter-spacing:0;min-height:100vh}html.theme-light body{background-image:radial-gradient(circle at 15% 50%,rgba(180,200,255,.15),transparent 40%),radial-gradient(circle at 85% 30%,rgba(200,180,255,.1),transparent 40%)}body:after{content:"";position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9998;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");opacity:.15;mix-blend-mode:overlay}html.theme-dark body:after{opacity:.12;mix-blend-mode:overlay}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}h1,h2,h3,h4,h5,h6,p,figure{margin:0}.highlight{color:var(--color-text-primary)}.content-wrapper{width:calc(100% - 48px);max-width:var(--content-max-width);margin:0 auto;padding-bottom:120px;display:flex;flex-direction:column;gap:var(--section-gap)}.hero{position:relative;width:100%;height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#000;transition:opacity .4s ease}.hero.text-hero{height:90vh;padding:0 24px;justify-content:center;max-width:var(--content-max-width);margin:0 auto}.hero.illustration-hero{max-width:none;padding:0}.hero.illustration-hero .text-hero-inner{max-width:var(--content-max-width);margin:0 auto;padding:0 24px}.hero-bg-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;overflow:hidden;opacity:.25;mask-image:linear-gradient(to bottom,black 50%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,black 50%,transparent 100%)}.hero-bg-image{width:100%;height:100%;object-fit:cover;object-position:center 20%}.hero-inner{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;width:100%;height:100%;position:relative;text-align:center;padding:0 24px}.hero-inner video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0;filter:brightness(.35)}.hero-inner:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,transparent 0%,transparent 60%,#000000 100%);pointer-events:none}.hero-title{position:relative;z-index:2;font-family:var(--font-primary);font-size:56px;font-weight:500;color:#fff;line-height:1.1em;letter-spacing:-.02em}.hero-subtitle{position:relative;z-index:2;font-family:var(--font-primary);font-size:28px;font-weight:400;font-style:italic;color:#ffffffb3;line-height:1.3em}.hero-subtitle .highlight{color:#fff}.hero-tagline{position:relative;z-index:2;width:100%;max-width:600px;text-align:center;font-family:var(--font-primary);font-size:18px;font-weight:400;line-height:1.5em;color:#ffffff8c}.section-heading{font-family:var(--font-primary);font-size:36px;font-weight:400;font-style:normal;color:var(--color-text-primary);line-height:1.3em;letter-spacing:0}.about{padding:120px 24px var(--section-gap);display:flex;flex-direction:column;align-items:center;gap:var(--subsection-gap);position:relative;width:100%}.about-container{position:relative;z-index:2;padding:60px 0;max-width:var(--content-max-width);margin:0 auto}.about-header{display:flex;flex-direction:column;align-items:flex-start;gap:24px;width:100%;margin-bottom:48px}.about-penrose{width:240px;height:auto;filter:invert(1)}html.theme-dark .about-penrose{filter:none}.about-body{display:flex;flex-direction:column;gap:20px}.about-body p{font-family:var(--font-primary);font-size:20px;font-weight:400;line-height:1.6em;color:var(--color-text-secondary)}.section-header{display:flex;align-items:center;justify-content:space-between;width:100%}.section-link{font-family:var(--font-primary);font-size:16px;font-weight:400;color:var(--color-text-secondary);border-radius:var(--radius-card);transition:color .6s var(--ease-spring);white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.section-link:hover{color:var(--color-text-primary)}.section-link-icon{width:14px;height:14px;flex-shrink:0;transform:rotate(-45deg);transition:color .6s var(--ease-spring),transform .6s var(--ease-spring)}.section-link:hover .section-link-icon{color:var(--color-text-primary);transform:rotate(0)}.featured-work{display:flex;flex-direction:column;gap:var(--subsection-gap);overflow:hidden;padding:0}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(100px,1fr));gap:var(--grid-gap);width:100%;max-width:var(--project-grid-max-width)}.project-card{position:relative;display:block;background:var(--color-surface);border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--card-shadow);transition:box-shadow .4s var(--ease-spring),transform .4s var(--ease-spring)}@supports (-webkit-backdrop-filter: none) or (backdrop-filter: none){.project-card{background:linear-gradient(135deg,#ffffffb3,#ffffff4d);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.8)}html.theme-dark .project-card{background:linear-gradient(135deg,#ffffff14,#ffffff05);border:1px solid rgba(255,255,255,.05)}}.project-card:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-2px)}.project-card-image{width:100%;aspect-ratio:1.349;border-radius:var(--radius-card);border-bottom-left-radius:0;border-bottom-right-radius:0;overflow:hidden;filter:brightness(.5);transition:filter .4s var(--ease-spring)}.project-card-image img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transform:scale(1.05);transition:transform .4s var(--ease-spring)}.project-card:hover .project-card-image{filter:brightness(1)}.project-card:hover .project-card-image img{transform:scale(1)}.project-card-type{position:absolute;top:10px;right:10px;z-index:2;font-family:var(--font-primary);font-size:10px;font-weight:400;letter-spacing:.05em;text-transform:uppercase;color:#ffffff80;padding:0}.project-card-info{position:absolute;bottom:12px;left:50%;transform:translate(-50%);width:95%;display:flex;flex-direction:column;gap:12px;transition:opacity .4s var(--ease-spring);z-index:1}.project-card:hover .project-card-info{opacity:0}.project-card-date{font-family:var(--font-primary);font-size:16px;font-weight:400;font-style:normal;color:var(--color-card-text);opacity:.8;text-align:left;width:100%;white-space:pre;letter-spacing:-.01em}.project-card-title{font-family:var(--font-primary);font-size:24px;font-weight:400;font-style:italic;color:var(--color-card-text);line-height:1.2em}.featured-writing{display:flex;flex-direction:column;gap:var(--subsection-gap);overflow:visible;padding:0}.writing-list{display:flex;flex-direction:column;gap:var(--paragraph-gap)}.writing-entry{display:flex;align-items:center;width:calc(100% + 20px);margin-left:-20px;background:var(--color-surface);border-radius:var(--radius-card);padding:16px 20px;transition:box-shadow .35s ease-out,transform .35s ease-out;box-shadow:var(--card-shadow);border:1px solid var(--color-border-subtle)}@supports (-webkit-backdrop-filter: none) or (backdrop-filter: none){.writing-entry{background:linear-gradient(135deg,#fffc,#fff6);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.8)}html.theme-dark .writing-entry{background:linear-gradient(135deg,#ffffff14,#ffffff05);border:1px solid rgba(255,255,255,.05)}}.writing-entry:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-1px)}.writing-entry-left{flex-shrink:0}.writing-entry-tags{font-family:var(--font-primary);font-size:18px;font-weight:400;color:var(--color-text-primary)}.writing-entry-line{flex:1 0 0px;height:1px;width:1px;background:var(--color-text-secondary);margin:0 16px}.writing-entry-right{flex-shrink:0;display:flex;align-items:center;position:relative;overflow:hidden;max-width:var(--date-width, 120px);transition:max-width .6s ease-out}.writing-entry-date{font-family:var(--font-primary);font-size:18px;font-weight:400;color:var(--color-text-primary);text-align:right;white-space:nowrap;opacity:1;transition:opacity .15s ease}.writing-entry .hover-arrow{position:absolute;left:0;width:24px;height:24px;color:var(--color-text-primary);opacity:0;transition:opacity .15s ease}.writing-entry:hover .writing-entry-right{max-width:24px}.writing-entry:hover .writing-entry-date{opacity:0}.writing-entry:hover .hover-arrow{opacity:1}.writing-entry.coming-soon-entry{opacity:.4;pointer-events:none}.experience{display:flex;flex-direction:column;gap:var(--subsection-gap);overflow:visible;padding:0}.experience-list{display:flex;flex-direction:column;gap:var(--paragraph-gap)}.experience-entry{display:flex;align-items:center;width:calc(100% + 16px);margin-left:-16px;border-radius:var(--radius-card);padding:12px 16px;gap:16px;transition:background-color .35s ease-out}.experience-entry:hover{background:var(--color-hover)}.experience-logo{width:60px;height:60px;border-radius:var(--radius-card);overflow:hidden;flex-shrink:0}.experience-logo img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.experience-info{display:flex;flex-direction:column;gap:2px;flex-shrink:0}.experience-role{font-family:var(--font-primary);font-size:18px;font-weight:700;color:var(--color-text-primary);line-height:1.2em}.experience-company{font-family:var(--font-primary);font-size:18px;font-weight:400;color:var(--color-text-secondary);line-height:1.2em}.experience-line{flex:1 0 0px;height:1px;width:1px;background:var(--color-text-secondary)}.experience-dates{flex-shrink:0;display:flex;align-items:center;position:relative;overflow:hidden;max-width:var(--date-width, 120px);transition:max-width .6s ease-out}.experience-dates p{font-family:var(--font-primary);font-size:18px;font-weight:400;color:var(--color-text-primary);text-align:right;white-space:nowrap;opacity:1;transition:opacity .15s ease}.experience-dates .hover-arrow{position:absolute;left:0;width:24px;height:24px;color:var(--color-text-primary);opacity:0;transition:opacity .15s ease}.experience-entry:hover .experience-dates{max-width:24px}.experience-entry:hover .experience-dates p{opacity:0}.experience-entry:hover .experience-dates .hover-arrow{opacity:1}.dock{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:9999}.dock-pill{backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);background:var(--color-dock-bg);border-radius:var(--radius-pill);box-shadow:0 0 0 1px var(--color-border-subtle)}.dock-buttons{display:flex;align-items:flex-end;padding:10px 12px;gap:12px;height:70px}.dock-button{position:relative;display:flex;align-items:flex-end;text-decoration:none;flex-shrink:0}.dock-button-content{width:50px;height:50px;background:var(--color-dock-button);border-radius:var(--radius-button);box-shadow:inset 0 1px 0 0 var(--color-border-subtle);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:width .45s ease-out,height .45s ease-out}.dock-button:hover .dock-button-content{width:68px;height:68px;transition:width .35s ease-out,height .35s ease-out}.dock-button:active .dock-button-content{width:60px;height:60px;transition:width .2s ease-out,height .2s ease-out}.dock-button-icon{width:22px;height:22px;filter:brightness(.6);color:var(--color-text-primary);transition:width .45s ease-out,height .45s ease-out}.dock-button:hover .dock-button-icon{width:30px;height:30px;transition:width .35s ease-out,height .35s ease-out}.dock-button:active .dock-button-icon{width:26px;height:26px}.dock-button-icon svg,.dock-button-icon img{width:100%;height:100%}.dock-button-icon img{object-fit:cover}.dock-icon-invert{filter:invert(1) drop-shadow(0 0 .3px #000)}html.theme-dark .dock-icon-invert{filter:drop-shadow(0 0 .3px #fff)}.dock-dot{position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:4px;height:4px;background:var(--color-dot);border-radius:10px;opacity:0;transition:opacity .15s ease}.dock-button:hover .dock-dot{opacity:1}.dock-tooltip{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:var(--color-dock-tooltip-bg);border-radius:var(--radius-tooltip);box-shadow:0 0 0 1px var(--color-border-subtle);padding:3px 7px 2px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s ease,top .3s var(--ease-spring);font-family:var(--font-primary);font-size:13px;font-weight:400;color:var(--color-text-secondary);line-height:1.2em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dock-button:hover .dock-tooltip{opacity:1;top:-30px}.animate-section{filter:blur(5px);transition:filter .5s ease-out}.animate-section.visible{filter:blur(0px)}.animate-logo{opacity:0;transform:scale(.5);transition:opacity .4s ease-out,transform .4s ease-out}.experience-entry.visible .animate-logo{opacity:1;transform:scale(1)}.animate-line{opacity:0;transform:translate(-150px);transition:opacity 2s var(--ease-spring),transform 2s var(--ease-spring)}.experience-entry.visible .animate-line,.writing-entry.visible .animate-line{opacity:1;transform:translate(0)}.animate-word{display:inline-block;opacity:.001;transform:translateY(10px);transition:opacity .4s ease-out,transform .4s ease-out}.experience-entry.visible .animate-word,.writing-entry.visible .animate-word{opacity:1;transform:translateY(0)}@media(max-width:1279px){:root{--content-max-width: 810px}body{font-size:16px}.section-heading{font-size:30px;line-height:1.3em}.project-card-title{font-size:20px}.experience-role,.experience-company,.experience-dates p,.writing-entry-tags,.writing-entry-date,.about-body p,.hero-tagline{font-size:16px}}@media(max-width:809px){:root{--content-max-width: 390px}.content-wrapper{width:calc(100% - 24px)}body{font-size:16px}.section-heading{font-size:24px;line-height:1.2em}.about-penrose{width:80px}.project-grid{grid-template-columns:1fr}.project-card-title{font-size:16px}.project-card-info{padding:16px}.experience-role,.experience-company,.experience-dates p{font-size:12px}.experience-logo{width:44px;height:44px}.experience-entry{padding:10px 12px;gap:12px}.writing-entry-tags,.writing-entry-date{font-size:12px}.section-link{font-size:14px}.dock{bottom:16px}.dock-pill{max-width:calc(100vw - 32px);overflow-x:auto;-webkit-overflow-scrolling:touch}.dock-buttons{padding:8px 10px;gap:8px;height:72px}.dock-button-content{width:56px;height:56px}.dock-button:hover .dock-button-content{width:60px;height:60px}.dock-button-icon{width:24px;height:24px}.dock-button:hover .dock-button-icon{width:26px;height:26px}.hero-title{font-size:32px}.hero-subtitle{font-size:18px}.hero-tagline{font-size:14px}.about-header{gap:16px;margin-bottom:32px}.about-body p{font-size:16px}}.work-hero{width:100%;padding:200px 24px 0;margin-bottom:var(--section-gap);display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px}.work-hero .section-heading{font-size:64px}.work-subtitle{font-family:var(--font-primary);font-size:18px;font-weight:400;color:var(--color-text-secondary);max-width:480px}.work-featured{width:100%;max-width:var(--project-grid-max-width);margin:0 auto;padding:0 24px 120px;display:flex;flex-direction:column;gap:var(--subsection-gap)}.work-project-grid{grid-template-columns:repeat(3,minmax(100px,1fr))}.work-project-grid .project-card-image{background:var(--color-surface)}.work-project-grid .project-card{transition:opacity .25s ease,transform .35s var(--ease-spring);transition-delay:0s}.work-project-grid .project-card.hidden{display:none}.work-project-grid .project-card.filtering-out,.work-project-grid .project-card.filtering-in{opacity:0;transform:scale(.95)}.work-filters{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.work-filter{font-family:var(--font-primary);font-size:16px;font-weight:400;background:transparent;border:1px solid var(--color-border-subtle);color:var(--color-text-secondary);padding:8px 20px;border-radius:var(--radius-pill);cursor:pointer;transition:color .3s ease,background-color .3s ease,border-color .3s ease}.work-filter:hover{color:var(--color-text-primary);border-color:var(--color-text-secondary)}.work-filter.active{color:var(--color-text-primary);background:var(--color-hover);border-color:var(--color-border-subtle)}@media(max-width:1279px){.work-hero .section-heading{font-size:48px}.work-subtitle{font-size:16px}}@media(max-width:809px){.work-hero{padding-top:120px}.work-hero .section-heading{font-size:36px}.work-featured{padding:0 12px 100px}.work-project-grid{grid-template-columns:1fr}.work-filter{font-size:14px;padding:6px 16px}}.project-page{width:100%;max-width:var(--content-max-width);margin:0 auto;padding:0 24px 120px}.project-page-header{padding-top:160px;padding-bottom:var(--section-gap);display:flex;flex-direction:column;gap:16px}.project-back-link{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-primary);font-size:16px;color:var(--color-text-secondary);transition:color .3s ease;margin-bottom:24px}.project-back-link:hover{color:var(--color-text-primary)}.project-back-link svg{flex-shrink:0}.project-page-title{font-family:var(--font-primary);font-size:48px;font-weight:400;font-style:italic;color:var(--color-text-primary);line-height:1.2em}.project-page-tagline{font-family:var(--font-primary);font-size:20px;font-weight:400;color:var(--color-text-secondary);line-height:1.4em}.project-page-meta{display:flex;align-items:center;gap:8px;font-family:var(--font-primary);font-size:16px;color:var(--color-text-secondary);flex-wrap:wrap}.project-page-meta-sep{opacity:.4}.project-page-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.project-page-tag{font-family:var(--font-primary);font-size:14px;color:var(--color-text-secondary);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-pill);padding:4px 14px}.project-page-banner{width:100%;border-radius:var(--radius-card);overflow:hidden;margin-bottom:var(--subsection-gap)}.project-page-banner img{width:100%;height:auto;display:block}.project-page-content{display:flex;flex-direction:column;gap:24px}.project-page-content h1,.project-page-content h2,.project-page-content h3{font-family:var(--font-primary);font-weight:400;font-style:italic;color:var(--color-text-primary);line-height:1.3em}.project-page-content h1{font-size:32px}.project-page-content h2{font-size:26px}.project-page-content h3{font-size:22px}.project-page-content p{font-family:var(--font-primary);font-size:18px;font-weight:400;color:var(--color-text-secondary);line-height:1.6em}.project-page-content img{width:100%;height:auto;border-radius:var(--radius-card)}.project-page-content ul,.project-page-content ol{font-family:var(--font-primary);font-size:18px;color:var(--color-text-secondary);line-height:1.6em;padding-left:24px;display:flex;flex-direction:column;gap:8px}.project-page-content a{color:var(--color-text-primary);text-decoration:underline;text-underline-offset:3px;transition:opacity .2s ease}.project-page-content a:hover{opacity:.7}.project-page-content blockquote{border-left:2px solid var(--color-border-subtle);padding-left:20px;font-style:italic;color:var(--color-text-secondary)}.project-page-content video,.project-page-content iframe{width:100%;aspect-ratio:16 / 9;border-radius:var(--radius-card)}@media(max-width:1279px){.project-page-title{font-size:36px}.project-page-tagline{font-size:18px}}@media(max-width:809px){.project-page-header{padding-top:120px}.project-page-title{font-size:28px}.project-page-tagline{font-size:16px}.project-page-content h1{font-size:24px}.project-page-content h2{font-size:20px}.project-page-content h3{font-size:18px}.project-page-content p,.project-page-content ul,.project-page-content ol{font-size:16px}}.star-map-container{position:relative;width:100%;max-width:1000px;margin:0 auto;padding:0 24px 120px}.star-map-fullscreen{position:fixed;inset:0;max-width:none;padding:0;z-index:1}.star-map-fullscreen .star-map-3d-wrapper{aspect-ratio:unset;border:none;border-radius:0}.star-map-3d-wrapper{position:relative;width:100%;height:100%;aspect-ratio:16 / 10;background:#050810;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-card);overflow:hidden}.observatory-bottom-bar{position:absolute;bottom:80px;left:50%;transform:translate(-50%);z-index:10;display:flex;justify-content:center}.observatory-filters{display:flex;gap:6px;background:#050810a6;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-pill);padding:6px}.obs-filter{font-family:var(--font-primary);font-size:14px;font-weight:400;background:transparent;border:none;color:#ffffff73;padding:7px 18px;border-radius:var(--radius-pill);cursor:pointer;transition:color .25s ease,background-color .25s ease;display:flex;align-items:center;gap:6px}.obs-filter svg{flex-shrink:0;opacity:.7;transition:opacity .25s ease}.obs-filter:hover svg,.obs-filter.active svg{opacity:1}.obs-filter:hover{color:#fffc}.obs-filter.active{color:#fff;background:#ffffff1f}#threejs-container{width:100%;height:100%}#threejs-container canvas{display:block;cursor:grab}#threejs-container canvas:active{cursor:grabbing}.axis-labels-3d{position:absolute;inset:0;pointer-events:none;z-index:5}.axis-label-3d{position:absolute;font-family:var(--font-primary);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#ffffff59;background:#050810b3;padding:4px 8px;border-radius:3px;backdrop-filter:blur(4px)}.axis-x-label{bottom:16px;left:50%;transform:translate(-50%)}.axis-y-label{top:50%;left:16px;transform:translateY(-50%) rotate(-90deg);transform-origin:left center}.axis-z-label{top:16px;right:16px}.star-map-tooltip{position:absolute;width:160px;height:160px;border-radius:50%;pointer-events:none;opacity:0;transform:scale(.8);transition:opacity .25s cubic-bezier(.16,1,.3,1),transform .25s cubic-bezier(.16,1,.3,1);z-index:10}.star-map-tooltip.visible{opacity:1;transform:scale(1)}.tooltip-ring{position:absolute;inset:-4px;border-radius:50%;background:linear-gradient(135deg,#ffffff26,#ffffff08,#5aa3ff1f 60%,#ffffff14);z-index:0}.tooltip-ring:before{content:"";position:absolute;inset:2px;border-radius:50%;border:1px solid rgba(255,255,255,.15)}.tooltip-ring:after{content:"";position:absolute;inset:4px;border-radius:50%;border:1px solid rgba(255,255,255,.05)}.tooltip-inner{position:relative;width:100%;height:100%;border-radius:50%;overflow:hidden;background:#050810;border:1px solid rgba(255,255,255,.15);z-index:1}.tooltip-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}.tooltip-vignette{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at center,transparent 20%,rgba(2,4,10,.4) 60%,rgba(2,4,10,.85) 100%),linear-gradient(to bottom,transparent 40%,rgba(2,4,10,.7) 80%,rgba(2,4,10,.9) 100%);pointer-events:none;z-index:2}.tooltip-content{position:absolute;bottom:15%;left:50%;transform:translate(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;text-align:center;width:85%}.star-map-tooltip-title{font-family:var(--font-primary);font-size:13px;font-weight:400;color:var(--color-text-primary);line-height:1.2}.star-map-tooltip:before{content:"";position:absolute;inset:-15px;border-radius:50%;background:radial-gradient(circle at center,rgba(90,163,255,.08) 0%,transparent 70%);z-index:-1;pointer-events:none}.tooltip-dial{position:absolute;inset:-20px;width:calc(100% + 40px);height:calc(100% + 40px);pointer-events:none;z-index:0}.dial-label{font-family:var(--font-primary);font-size:7px;letter-spacing:.1em;text-transform:uppercase;fill:#ffffff80}.dial-label-right{transform:rotate(90deg);transform-origin:195px 103px}.dial-label-left{transform:rotate(-90deg);transform-origin:5px 103px}@media(max-width:809px){.observatory-bottom-bar{bottom:72px}.obs-filter{font-size:13px;padding:6px 14px}}
