:root{font-family:Arial,Helvetica,sans-serif;color:#ecf4f4;background:#101823;color-scheme:dark;--mint:#a5f4ca;--muted:#acbac8;--line:#30404c}*{box-sizing:border-box}body{margin:0;min-width:300px}button,a,summary{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--mint);outline-offset:4px}a:hover,button:hover{color:var(--mint)}.skip{position:fixed;top:-90px;left:20px;background:var(--mint);color:#10231b;z-index:100;padding:10px}.skip:focus{top:15px}.studio-header{height:100px;position:absolute;inset:0 0 auto;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:0 36px;gap:20px;pointer-events:none}.identity,nav{pointer-events:auto}.identity{display:flex;align-items:baseline;gap:22px}h1,p,h2,h3{margin:0}h1{font-size:31px;letter-spacing:-1px;line-height:1.2}h1 span,h2 span{color:var(--mint)}.identity p{font-size:14px;color:var(--muted)}.studio-header nav{display:flex;gap:12px;align-items:center}.studio-header a,.primary{display:inline-block;font-size:14px;padding:12px 18px;border:1px solid #4a5d6a;border-radius:7px;background:#101823d9}.primary{background:var(--mint)!important;color:#10271e!important;border-color:var(--mint)!important;font-weight:600}.studio{height:calc(100dvh - 135px);min-height:590px;position:relative;background:radial-gradient(ellipse at 50% 57%,#233849 0%,#142331 36%,#101823 73%)}.location{position:absolute;top:95px;left:36px;z-index:4;font-size:12px;color:#c0cedb;border:1px solid #344d60;background:#152431b8;border-radius:5px;padding:8px 12px;pointer-events:none}.location span{padding:0 7px;color:var(--mint)}#room{position:absolute;inset:0;overflow:hidden;touch-action:none;outline-offset:-5px}#room-canvas{width:100%;height:100%;display:block;cursor:grab;touch-action:none}#room-canvas:active{cursor:grabbing}#hotspots{position:absolute;inset:0;pointer-events:none}.hotspot{position:absolute;left:-300px;top:-300px;transform:translate(-50%,-100%);border:0;background:none;padding:0;pointer-events:auto;text-align:center;white-space:nowrap;color:#ecf4f4;filter:drop-shadow(0 3px 5px #0006)}.hotspot span{display:block;padding:8px 12px;background:#101f25e8;border:1px solid #a5f4ca99;border-radius:7px;font-size:13px;font-weight:500;line-height:1.2}.hotspot i{display:block;width:14px;height:14px;background:var(--mint);border:3px solid #305b51;border-radius:100%;box-shadow:0 0 0 1px var(--mint);margin:7px auto 0}.hotspot:hover span,.hotspot:focus-visible span{color:#0b2017;background:var(--mint);border-color:var(--mint)}#loading,#webgl-fallback{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:16px;background:#101823;z-index:6;color:var(--muted);padding:30px}#loading[hidden],#webgl-fallback[hidden]{display:none}.loader{width:35px;height:35px;border-radius:50%;border:2px solid #34554b;border-top-color:var(--mint);animation:spin 1s linear infinite}#webgl-fallback p{max-width:420px;font-size:16px;line-height:1.6}#webgl-fallback h2{color:#ecf4f4;font-size:28px}.room-caption{position:absolute;left:36px;bottom:15px;pointer-events:none}.room-caption>span{font-size:12px;color:#879cae;letter-spacing:.1em;text-transform:uppercase}.room-caption p{font-size:14px;color:#c8d5de;margin-top:4px}.controls{height:135px;display:grid;grid-template-columns:1fr auto 1fr;gap:13px 20px;align-items:center;padding:8px 36px 18px;position:relative;z-index:5;background:linear-gradient(#10182355,#101823)}.camera-controls,.zoom-controls{display:flex;gap:10px;align-items:center}.zoom-controls{justify-content:flex-end}.camera-controls button,.zoom-controls button{border:1px solid #506271;background:#111d29;border-radius:50%;width:44px;height:44px;font-size:24px}.camera-controls #reset-camera,.zoom-controls #motion-toggle{border-radius:5px;font-size:12px;width:auto;padding:0 12px;height:36px}.room-nav{display:flex;padding:8px;background:#162330e6;border:1px solid #4d6173;border-radius:12px;gap:3px;box-shadow:0 12px 25px #0003}.room-nav button{border:0;background:transparent;border-radius:6px;padding:14px 22px;font-size:14px;font-weight:500;white-space:nowrap}.room-nav button:hover,.room-nav button.active{background:var(--mint);color:#10291e}.room-nav button span{font:11px monospace;margin-right:7px;opacity:.65}.instructions{grid-column:1/-1;font-size:12px;color:var(--muted);text-align:center;line-height:1.8}.instructions span{margin:0 12px;color:#5a758a}dialog{position:fixed;right:22px;left:auto;top:20px;bottom:20px;max-height:none;height:calc(100dvh - 40px);width:min(660px,calc(100vw - 44px));max-width:none;margin:0;padding:0;border:1px solid #456171;background:#12212df7;color:#eef4f6;border-radius:14px;box-shadow:0 30px 100px #0008;overflow:hidden}dialog::backdrop{background:#07121b44;backdrop-filter:blur(2px)}.panel-top{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--line)}.panel-top>p{font-size:14px;color:var(--mint)}.panel-top button{font-size:20px;line-height:1;width:34px;height:34px;border:1px solid #425762;border-radius:6px;background:#1b303e}.panel-content{padding:28px;max-height:calc(100% - 72px);overflow:auto;scrollbar-width:thin;scrollbar-color:#587567 #12212d}.panel-kicker,.project-context,.credential-label{font:12px monospace;letter-spacing:1px;color:var(--mint);margin-bottom:17px}.panel-content h2{font-size:38px;line-height:1.12;letter-spacing:-1.4px;font-weight:500}.about-role{font-size:18px;color:#d6e5e8;line-height:1.5;margin-top:16px}.about-text{font-size:16px;color:var(--muted);line-height:1.75;margin-top:23px}.facts{margin:26px 0}.facts>div{border-top:1px solid var(--line);padding:13px 0}.facts dt{font-size:12px;color:#8097aa}.facts dd{font-size:16px;margin:4px 0 0}.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:14px;font-size:16px}.contact-links a:not(.primary){border-bottom:1px solid #476b5d}.avatar-note{font-size:12px;color:#8097aa;line-height:1.5;margin-top:30px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.section-heading h2{font-size:32px}.section-no{font:12px monospace;color:var(--muted)}.section-intro{font-size:16px;color:var(--muted);line-height:1.5;margin-top:12px}.job{padding:26px 0;border-bottom:1px solid var(--line)}.job-date{font-size:12px;color:var(--mint);margin-bottom:10px}.job h3{font-size:21px;font-weight:500;line-height:1.3}.job-heading p{font-size:16px;margin-top:7px}.job-heading small{font-size:12px;color:#88a0b3;display:block;margin-top:5px;line-height:1.6}.job-detail>p{font-size:16px;color:var(--muted);line-height:1.65;margin-top:16px}details{font-size:14px;color:var(--muted);margin-top:15px;line-height:1.7}summary{font-size:14px;cursor:pointer;color:var(--mint)}details ul{padding-left:20px}details li{margin-block:8px}.work-layout{margin-top:25px}.project-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:26px}.project-list button{border:1px solid #354e5b;background:#142c38;border-radius:5px;text-align:left;padding:12px;display:flex;gap:9px}.project-list button[aria-selected=true]{border-color:var(--mint);color:var(--mint);background:#234436}.project-num{font:12px monospace}.project-list strong{font-size:14px;font-weight:500;display:block;line-height:1.4}.project-list small{font-size:12px;color:var(--muted);display:block;line-height:1.5;margin-top:5px}#project-title{font-size:26px;font-weight:400;line-height:1.3}#project-description{font-size:16px;line-height:1.7;margin:14px 0;color:#d0dfe5}#project-bullets{padding-left:20px;font-size:16px;line-height:1.7;color:var(--muted)}#project-bullets li{margin-bottom:10px}.tech-tags{display:flex;flex-wrap:wrap;gap:8px}.tech-tags span{font-size:12px;padding:4px 8px;border:1px solid #34574f;border-radius:3px;color:#c5e6d7}.text-link{display:inline-block;margin-top:18px;border-bottom:1px solid var(--mint);color:var(--mint)}[hidden]{display:none!important}.project-visual{margin-top:26px;border-top:1px solid var(--line);padding-top:25px;display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:center}.diagram{text-align:center;font-size:12px}.diagram-input,.diagram-output,.diagram-agents span{display:block;border:1px solid #496e63;padding:10px;background:#193329;border-radius:3px}.diagram-agents{display:flex;gap:6px}.diagram-agents span{flex:1;font-size:12px}.diagram-spine{height:17px;width:1px;background:#6baf94;margin:auto}.diagram-caption{font-size:12px;color:var(--muted);display:block;margin-top:12px;line-height:1.5}.outcome strong{font-size:30px;color:var(--mint);line-height:1.3;display:block;font-weight:400}.outcome span{font-size:14px;line-height:1.5;color:var(--muted);display:block;margin-top:10px}.expertise-grid{margin-top:25px}.expertise-grid>div{border-bottom:1px solid var(--line);padding:20px 0}.skill-index{font:12px monospace;color:var(--mint)}.expertise-grid h3{font-size:24px;margin:6px 0 15px;font-weight:400}.expertise-grid p{font-size:16px;line-height:1.9;color:#cad9df}.expertise-grid small{font-size:12px;line-height:1.8;display:block;margin-top:12px;color:#91abba}.credentials>div{margin-top:25px}.credentials h3{font-size:22px;font-weight:400;margin-bottom:10px}.credentials p{font-size:16px;color:var(--muted);line-height:1.8}.credentials .credential-label{font-size:12px;color:var(--mint)}.credentials small{font-size:12px;color:#91abba}.noscript-message{position:fixed;inset:30%;padding:30px;background:#233d42;font-size:18px;z-index:20}.noscript-message a{color:var(--mint);text-decoration:underline}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1100px){.identity{display:block}.identity p{margin-top:5px;font-size:12px}.room-nav button{padding:12px 15px}.controls{padding-inline:24px;gap:12px}.camera-controls,.zoom-controls{gap:6px}.camera-controls button,.zoom-controls button{width:36px;height:36px}.zoom-controls #motion-toggle{max-width:72px;line-height:1.2;height:36px;font-size:11px}.room-nav button span{display:none}.camera-controls #reset-camera{padding:0 8px}}@media(max-width:750px){.studio-header{height:95px;padding:15px 20px;align-items:flex-start}.identity h1{font-size:25px}.identity p{max-width:190px;line-height:1.5;font-size:12px}.studio-header nav{gap:7px;flex-direction:column;align-items:stretch}.studio-header a{font-size:12px;padding:8px 12px;text-align:center}.location{top:110px;left:20px;font-size:11px;padding:7px 9px}.studio{height:calc(100dvh - 170px);min-height:520px}.controls{height:170px;grid-template-columns:1fr 1fr;padding:8px 20px 12px;gap:10px}.room-nav{grid-row:1;grid-column:1/-1;justify-content:space-around;padding:6px;border-radius:9px}.room-nav button{padding:11px 12px;font-size:14px}.camera-controls{grid-row:2}.zoom-controls{grid-row:2}.zoom-controls #motion-toggle{max-width:none;font-size:12px}.instructions{font-size:10px;line-height:1.6;grid-row:3}.instructions span{margin:0 4px}.instructions span:last-of-type{display:none}.room-caption{left:20px;bottom:12px}.room-caption>span{font-size:10px}.room-caption p{font-size:12px;max-width:300px}.hotspot span{font-size:12px;padding:7px 9px}.hotspot i{width:11px;height:11px;margin-top:5px}.hotspot{filter:drop-shadow(0 2px 3px #0006)}dialog{inset:12px;height:calc(100dvh - 24px);width:calc(100vw - 24px);border-radius:10px}.panel-top{padding:14px 20px}.panel-content{padding:24px 20px;max-height:calc(100% - 63px)}.panel-content h2{font-size:34px}.section-heading h2{font-size:28px}.project-list strong{font-size:13px}.project-list small{font-size:11px}.project-list button{padding:10px 8px;gap:6px}.project-visual{grid-template-columns:1fr;gap:20px}.diagram{max-width:280px}.outcome strong{font-size:28px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}}@media(max-width:360px){.identity p{max-width:160px}.studio-header a{padding:8px;font-size:11px}.location{font-size:10px}.room-nav button{font-size:12px}.controls{padding-inline:14px}.zoom-controls #motion-toggle{font-size:11px;padding-inline:7px}.hotspot span{font-size:11px}}
