:root{color-scheme:dark;--bg:#141218;--surface:#201c28;--surface-raised:#2a2435;--text:#f5f2fc;--text-muted:#b4abca;--text-dim:#a49ab9;--accent:#aa98f5;--accent-ink:#1c142d;--accent-soft:#302644;--button:#7660c7;--line:#3b324a;--font-sans:"Be Vietnam Pro",system-ui,sans-serif;--font-display:"Space Grotesk","Be Vietnam Pro",sans-serif;--font-mono:ui-monospace,Consolas,monospace;--glass-border:var(--line);--glass-border-strong:#6b568b;--bg-card:var(--surface);--bg-card-hover:var(--surface-raised);--glass:var(--surface);--accent2:var(--accent);--divider:var(--line);--detail-bg:var(--surface);--danger-soft:var(--surface);--success-soft:var(--surface);--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-card:14px;--radius-pill:8px;--surface-03:var(--surface);--surface-05:var(--surface);--surface-06:var(--surface);--surface-09:var(--surface-raised);--surface-10:var(--surface-raised);--surface-15:var(--surface-raised);--panel-rgb:32,28,40;--neutral-rgb:245,242,252;--moon-gold:var(--accent);--moon-cyan:var(--accent);--ease:cubic-bezier(.2,.75,.25,1);--transition:transform .28s var(--ease),opacity .18s var(--ease)}html[data-theme=light]{color-scheme:light;--bg:#f7f5fb;--surface:#eeebf5;--surface-raised:#e1dceb;--text:#20192b;--text-muted:#5e536d;--text-dim:#685c78;--accent:#7052b5;--accent-ink:#fcfaff;--accent-soft:#e8dff7;--button:#7052b5;--line:#d5cbe2;--glass-border-strong:#a394b6;--neutral-rgb:32,25,43;--panel-rgb:238,235,245}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:28px}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:14px;line-height:1.7}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}button{color:inherit}button:disabled{opacity:.35;cursor:default}button:active,.primary-link:active{transform:scale(.97)}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}[hidden],.lang-en .content-vi,.lang-vi .content-en{display:none!important}::selection{background:var(--accent);color:var(--accent-ink)}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:var(--font-display);line-height:1.12;text-wrap:balance}h1{font-size:clamp(48px,6vw,84px);letter-spacing:-.055em;font-weight:600}h2{font-size:clamp(28px,3vw,40px);letter-spacing:-.045em;font-weight:600}h3{font-size:20px;letter-spacing:-.025em;font-weight:600}p{text-wrap:pretty}img,video{max-width:100%;height:auto}iframe{max-width:100%;border:0}video{display:block;border-radius:10px}ul,ol{padding-left:20px}li+li{margin-top:8px}.skip-link{position:absolute;top:-90px;left:20px;z-index:5;padding:12px 18px;background:var(--accent);color:var(--accent-ink)}.skip-link:focus{top:10px}.system-nav{width:min(1240px,90%);margin:0 auto;height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;z-index:3}.brand-identity{display:inline-flex;align-items:center;gap:13px;font-family:var(--font-display);font-size:20px;font-weight:600}.brand-identity img{display:block;border-radius:6px;width:42px;height:42px}.nav-links{display:flex;gap:28px;margin-left:auto;font-size:12px;transition:opacity .4s var(--ease),transform .4s var(--ease)}.nav-links a{position:relative;padding:7px 0;color:var(--text-muted)}.nav-links a:after{content:"";position:absolute;height:2px;left:0;right:0;bottom:0;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}.nav-links a:hover{color:var(--text)}.nav-links a:hover:after{transform:scaleX(1)}.nav-controls{display:flex;align-items:center;gap:10px;margin-left:28px}.nav-controls button{border:0;background:transparent;padding:8px;border-radius:6px;font-size:11px}.nav-controls button:hover{background:var(--surface)}#lang-toggle>span{color:var(--text-muted)}#theme-toggle{width:35px;font-size:24px;padding:0;line-height:1;height:35px}#nav-menu{display:none;width:36px;height:36px}.portfolio,.terminal-container{width:min(1240px,90%);margin:0 auto;position:relative;z-index:2}.intro{position:relative;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:50px;min-height:580px;padding:34px 0 56px}#hero-field{position:fixed;inset:0;width:100vw;height:100vh;z-index:0;pointer-events:none;opacity:.85;transition:opacity .35s ease}.intro-copy{position:relative;z-index:1;max-width:680px}.intro-role{color:var(--accent);font-size:12px;margin-bottom:22px}.intro h1{line-height:1.05;font-size:clamp(45px,6.2vw,85px);letter-spacing:-.06em}.headline-line{display:block}.name-period{color:var(--accent)}.intro-alias{color:var(--text);font-size:18px;margin-top:24px}.intro-description{color:var(--text-muted);max-width:46ch;font-size:13px;margin-top:12px}.intro-links{display:flex;align-items:center;gap:26px;margin-top:28px}.primary-link,.launch-btn{display:inline-flex;align-items:center;gap:25px;padding:11px 18px;border:0;border-radius:7px;color:#fff;background:var(--button);font-weight:500;font-size:12px;transition:var(--transition);white-space:nowrap}.primary-link:hover,.launch-btn:hover{transform:translateY(-3px)}.plain-link{display:inline-flex;align-items:center;gap:10px;color:var(--text);font-size:12px;background:none;border:0;padding:0}.plain-link:hover{color:var(--accent)}.intro-visual{position:relative;height:450px;display:flex;justify-content:center;align-items:center}.portrait-card{position:relative;width:310px;aspect-ratio:4/5;padding:6px;background:var(--surface-raised);border-radius:14px;transform:rotate(3deg)}.portrait-card>img{width:100%;height:100%;object-fit:cover;border-radius:9px;display:block}.portrait-signature{position:absolute;left:24px;bottom:20px;font-family:var(--font-display);font-size:20px;color:#fff;text-shadow:0 2px 12px #141218}.studio-card{position:absolute;bottom:0;left:-10px;width:210px;padding:5px;border-radius:10px;transform:rotate(-7deg);background:#29242f;box-shadow:0 15px 35px #0d0a1326}.studio-card-image{overflow:hidden;border-radius:6px}.studio-card img{display:block;width:100%;border-radius:6px;transform:scale(1.7)}.home-section{padding:56px 0}.section-top{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:25px}.section-note{font-size:11px;color:var(--text-muted)}.games-section{border-top:1px solid var(--line)}.games-grid{display:grid;grid-template-columns:1.55fr 1fr;grid-template-rows:1fr 1fr;gap:18px 22px;grid-auto-flow:dense}.game-featured{grid-row:span 2}.game-card{min-width:0;display:block}.game-visual{position:relative;height:130px;overflow:hidden;border-radius:10px;background:var(--surface)}.game-featured .game-visual{height:335px}.game-visual img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s var(--ease)}.game-card:hover .game-visual img{transform:scale(1.045)}.light-visual img{object-fit:cover}.ball-visual img{object-position:center 48%}.game-feature-label{position:absolute;left:16px;top:16px;padding:7px 11px;background:var(--accent);color:var(--accent-ink);border:1px solid #ffffff66;border-radius:6px;box-shadow:0 5px 16px #0008;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.game-caption{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 0 0}.game-caption p{font-size:11px;color:var(--text-muted);margin-top:6px}.game-featured h3{font-size:27px}.game-secondary h3{font-size:18px}.game-platform{color:var(--text-muted);font-size:10px;display:flex;align-items:center;gap:18px;white-space:nowrap}.artwork-note{margin-top:8px;font-size:9px;color:var(--text-dim)}.game-tech{display:block;margin-top:4px;font-size:9px;color:var(--accent)}.project-browser{min-width:0}.project-filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}.explorer-cat{padding:8px 13px;border:1px solid transparent;background:transparent;border-radius:6px;color:var(--text-muted);font-size:11px;transition:var(--transition)}.explorer-cat:hover{background:var(--surface);color:var(--text)}.explorer-cat.active{background:var(--accent-soft);color:var(--accent);border-color:var(--line)}.project-results{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;min-height:220px}.project-card{min-width:0;position:relative;border-radius:10px;background:var(--surface);overflow:hidden;transition:var(--transition)}.project-card:hover{transform:translateY(-4px)}.project-media{aspect-ratio:16/10;overflow:hidden;background:var(--surface-raised)}.project-media>img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--ease)}.project-card:hover .project-media>img{transform:scale(1.055)}.project-card-info{display:grid;grid-template-columns:28px minmax(0,1fr) 14px;align-items:center;gap:10px;padding:15px 13px}.project-icon{width:28px;height:28px;object-fit:contain;border-radius:4px}.project-card h3{font-size:15px;line-height:1.25}.project-card p{font-size:9px;line-height:1.5;color:var(--text-muted);margin-top:5px}.card-arrow{color:var(--accent);font-size:17px}.project-award{position:absolute;top:10px;left:10px;background:var(--accent);color:var(--accent-ink);border:1px solid #ffffff66;border-radius:6px;padding:6px 9px;box-shadow:0 5px 16px #0008;font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.project-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:18px;font-size:10px;color:var(--text-muted)}.project-pagination>div{display:flex;gap:14px;align-items:center}.project-pagination button{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--text)}.achievements-section{border-top:1px solid var(--line)}.achievements-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:35px}.achievement-tabs{display:grid;align-content:start;gap:5px}.achievement-tab{width:100%;padding:13px 11px;display:grid;grid-template-columns:32px minmax(0,1fr) 15px;gap:12px;align-items:center;text-align:left;border:0;border-radius:7px;background:transparent;color:var(--text)}.achievement-tab>img{width:32px;height:32px;object-fit:contain;border-radius:4px}.achievement-tab>span>strong{display:block;font-size:11px;font-weight:500}.achievement-tab>span>span{display:block;font-size:9px;color:var(--text-muted);margin-top:3px}.achievement-tab.active{background:var(--accent-soft)}.achievement-tab.active>span>strong{color:var(--accent)}.achievement-tab:hover{background:var(--surface)}.achievement-view{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;min-height:260px}.achievement-event{color:var(--text-muted);font-size:10px;margin-bottom:14px}.achievement-copy h3{font-size:clamp(22px,2.6vw,34px);margin-bottom:15px;color:var(--accent)}.achievement-description{font-size:11px;color:var(--text-muted);line-height:1.85}.achievement-actions{display:flex;flex-wrap:wrap;gap:16px 20px;margin-top:23px}.achievement-actions .plain-link{font-size:10px;padding:5px 0}.achievement-photo{min-width:0;position:relative;aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:var(--surface)}.achievement-photo img{width:100%;height:100%;display:block;object-fit:cover}.achievement-photo>span{position:absolute;bottom:10px;left:10px;background:var(--surface);padding:4px 8px;font-size:9px;border-radius:4px}.about-section{display:grid;grid-template-columns:1fr 1fr;gap:20px 55px}.about-head h2{margin-bottom:24px}.about-head p{color:var(--text-muted);max-width:50ch;font-size:12px;line-height:1.9}.skills-list{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;align-content:start}.skill-detail{border-bottom:1px solid var(--line)}.skill-detail summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:17px 0;gap:10px;font-size:11px;list-style:none}.skill-detail summary::-webkit-details-marker{display:none}.skill-detail summary>span[aria-hidden]{color:var(--accent);font-size:18px;transition:transform .2s var(--ease)}.skill-detail[open] summary>span[aria-hidden]{transform:rotate(45deg)}.skill-detail p{padding:0 0 18px;font-size:10px;color:var(--text-muted)}.personal-note{grid-column:1/-1;font-size:10px;color:var(--text-muted)}.personal-note summary{cursor:pointer}.personal-note p{margin-top:10px}.contact-section{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:50px;padding:42px 0;align-items:center}.contact-section h2{font-size:26px;margin-bottom:13px}.contact-email{color:var(--accent);display:inline-flex;align-items:center;gap:15px;font-size:15px;overflow-wrap:anywhere}.contact-available{color:var(--text-muted);font-size:10px;margin-top:9px}.contact-socials{display:grid;grid-template-columns:1fr 1fr;gap:14px 25px}.contact-socials>a{display:flex;align-items:center;gap:10px;font-size:10px}.contact-socials img{width:20px;height:20px}.contact-socials>a:hover{color:var(--accent)}.contact-socials .all-socials{grid-column:1/-1;color:var(--text-muted)}.system-footer{width:min(1240px,90%);margin:0 auto;padding:20px 0 28px;display:flex;justify-content:space-between;align-items:center;gap:20px;color:var(--text-muted);font-size:9px;border-top:1px solid var(--line)}.award-dialog{max-width:1000px;width:90%;max-height:88dvh;border:1px solid var(--line);border-radius:14px;background:var(--bg);color:var(--text);padding:30px}.award-dialog::backdrop{background:#09060ed9}.dialog-open{overflow:hidden}.dialog-top{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:30px}.dialog-top h2{font-size:24px}.dialog-top button{width:36px;height:36px;border:1px solid var(--line);border-radius:6px;background:var(--surface);font-size:24px}.award-detail>div{display:grid;grid-template-columns:1fr 1fr;gap:35px}.award-detail h2{font-size:24px;margin:12px 0 18px}.award-detail p{font-size:12px;color:var(--text-muted)}.achievement-kicker{font-size:10px;color:var(--text-muted)}.achv-metrics{display:flex;gap:20px;margin:25px 0}.achv-metric{flex:1;font-size:10px}.achv-metric-value{display:block;font-size:23px;color:var(--accent)}.achv-metric-label{display:block;color:var(--text-muted);font-size:10px}.achv-actions{margin-top:25px}.award-dialog .proof-cover{display:none}.proof-gallery summary{cursor:pointer;font-size:12px;margin-bottom:18px}.proof-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.proof-grid img,.proof-grid iframe{width:100%;aspect-ratio:4/3;background:var(--surface);border-radius:6px}.proof-grid img{object-fit:cover}.achv-proof-caption{margin-top:18px;font-size:10px!important}.media-placeholder{min-height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--surface);color:var(--text-muted);padding:20px;border-radius:8px;font-size:12px}.project-page .terminal-container,.academic-page .terminal-container{max-width:1120px}.project-hero{padding:65px 0 55px}.project-hero h1{margin-bottom:25px;font-size:clamp(3.5rem,8vw,7rem)}.project-hero p{color:var(--text-muted);font-size:1.25rem;max-width:65ch;margin-bottom:28px}.hero-action-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.project-hero .launch-btn{font-size:.86rem;padding:10px 17px}.project-page .page-section,.academic-page .page-section{padding:48px 0;border-top:1px solid var(--line)}.project-page .page-section>h2{margin-bottom:30px;font-size:2.1rem}.project-page .page-section>h3{margin-bottom:25px}.project-page .page-section>div>h3{margin:26px 0 15px}.project-page p,.academic-page p{color:var(--text-muted);max-width:75ch}.project-page p+p{margin-top:15px}.project-page h3+p{margin-top:13px}.case-index{display:flex;flex-wrap:wrap;gap:8px 24px;padding:0 0 32px;font-size:.8rem;color:var(--text-muted)}.case-index a:hover{color:var(--accent)}.contact-terminal{display:grid;gap:18px}.contact-row{display:grid;grid-template-columns:140px 1fr;gap:24px;align-items:baseline}.label{color:var(--text-dim);font-size:.78rem}.value{min-width:0;color:var(--text);overflow-wrap:anywhere}.content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.content-flex{display:flex;gap:15px;flex-wrap:wrap;align-items:center}.project-body{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.project-header{font-size:1rem;margin-bottom:20px}.project-img-wrapper img{border-radius:16px;width:100%}.project-img-wrapper>span{display:block;font-size:.75rem;color:var(--text-muted);margin-top:12px}.feature-list{margin-top:25px}.feature-list ul{padding-left:20px;color:var(--text-muted)}.cmd-line{font-size:1.8rem;letter-spacing:-.025em;margin-bottom:25px}.award-showcase{padding:32px;background:var(--surface);border-radius:24px;display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:start}.award-summary h2{margin-bottom:20px}.award-metrics{margin:25px 0}.award-metric strong,.drone-metric-card strong,.moon-metric-card strong{display:block;font-size:2rem;font-weight:500;letter-spacing:-.055em;color:var(--accent);margin-bottom:8px}.award-metric>span,.drone-metric-card>span,.moon-metric-card>span{display:block;font-size:.8rem;color:var(--text-muted)}.drone-summary-grid,.moon-summary-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.drone-summary-copy,.moon-summary-copy{padding:28px;border-radius:24px;background:var(--surface)}.drone-summary-copy h2,.moon-summary-copy h2{font-size:2rem;margin:15px 0 20px}.drone-summary-metrics,.moon-summary-metrics,.moon-features-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.award-title{grid-area:title}.award-showcase h2{font-size:2.2rem}.award-desc{grid-area:desc}.award-metrics{grid-area:metrics;display:flex;flex-wrap:wrap;gap:25px}.award-metric{flex:1 1 80px}.award-actions{grid-area:actions;display:flex;gap:12px;flex-wrap:wrap}.award-slideshow{grid-area:slideshow;min-width:0}.award-slideshow-container,.achv-slideshow-container{position:relative;overflow:hidden;border-radius:16px;background:var(--surface-raised)}.award-slide{width:100%;aspect-ratio:16/10;object-fit:cover}.award-nav-btn{position:absolute;top:50%;transform:translateY(-50%);border:0;width:36px;height:36px;border-radius:50%;background:var(--bg);color:var(--text)}.award-nav-btn.prev{left:10px}.award-nav-btn.next{right:10px}.award-indicators{display:flex;justify-content:center;gap:6px;margin-top:15px}.award-dot{width:24px;height:24px;padding:0;border:7px solid var(--surface);border-radius:50%;background:var(--line);cursor:pointer}.product-preview-stage{position:relative;padding:0 55px}.product-preview-frame{padding:7px;border-radius:24px;background:var(--surface-raised)}.product-preview-media{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:var(--surface)}.product-preview-image,.product-preview-video{width:100%;height:100%;object-fit:contain}.product-preview-media>.media-placeholder{height:100%;min-height:0;aspect-ratio:auto;border-radius:0}.product-preview-nav{position:absolute;top:50%;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;color:var(--text);background:var(--surface);transform:translateY(-50%)}.product-preview-nav-prev{left:0}.product-preview-nav-next{right:0}.product-preview-nav:active{transform:translateY(-50%) scale(.96)}.product-preview-dots{display:flex;justify-content:center;gap:6px;margin-top:22px}.product-preview-dot{width:24px;height:24px;border-radius:50%;background:var(--line);border:7px solid var(--bg);padding:0}.product-preview-dot.is-active{background:var(--accent)}.product-preview-caption{padding:18px 55px 0;font-size:.9rem}.product-preview-media img{opacity:1;transition:opacity .2s var(--ease)}.is-transitioning .product-preview-media img{opacity:.8}.table-wrap{overflow-x:auto;border-radius:16px;background:var(--surface)}table{width:100%;border-collapse:collapse;text-align:left;font-size:.88rem}th{color:var(--text);font-weight:500;background:var(--surface-raised)}th,td{padding:18px 22px;vertical-align:top}td{color:var(--text-muted);border-bottom:1px solid var(--line)}td a{text-decoration:underline;text-underline-offset:3px}.drone-snapshot-grid,.moon-snapshot-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.drone-snapshot-main,.moon-snapshot-main{padding:28px;border-radius:24px;background:var(--surface)}.drone-metric-grid,.moon-metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.drone-metric-card,.moon-metric-card{border-radius:16px;padding:25px;background:var(--surface)}.drone-metric-value,.moon-metric-value{color:var(--accent);font-size:2rem;line-height:1.2;font-variant-numeric:tabular-nums}.drone-metric-label,.moon-metric-label,.drone-eyebrow,.moon-eyebrow{color:var(--text-muted);font-size:.8rem;margin-top:10px}.drone-pill-row,.moon-pill-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}.drone-eco-grid,.drone-note-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.drone-eco-card,.drone-note-panel,.moon-card{border-radius:16px;padding:26px;background:var(--surface)}.drone-notes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.award-proof-caption{color:var(--text-muted);font-size:.8rem;margin-top:15px}.award-summary{min-width:0}.drone-parts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.drone-part-card{display:grid;grid-template-columns:100px 1fr;align-items:start;gap:20px;padding:24px;border-radius:16px;background:var(--surface)}.drone-part-card img{grid-row:span 4;width:100px;height:100px;object-fit:contain;border-radius:12px;background:#f4f4ed}.drone-part-code,.drone-part-spec,.moon-tag-code{color:var(--text-muted);font-size:.75rem}.drone-part-card h3{font-size:1.1rem}.drone-part-card p{font-size:.88rem}.drone-part-card>*{min-width:0}.drone-timeline{display:grid;gap:18px}.drone-timeline-step{display:flex;gap:22px;border-radius:16px;background:var(--surface);padding:26px}.drone-timeline-badge{color:var(--accent);font-size:1.4rem}.drone-timeline-step h3{margin-bottom:12px}.moon-subsystem-grid,.moon-impact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}pre{max-width:100%;overflow-x:auto;border-radius:16px;padding:28px;background:var(--surface);color:var(--text);font:.83rem/1.8 var(--font-mono);tab-size:4}code{font-family:var(--font-mono)}.kw,.fn{color:var(--accent)}.cm{color:var(--text-muted)}.num{color:var(--text)}.log-header,.log-entry{display:grid;grid-template-columns:120px 80px 1fr;gap:20px;padding:20px 0}.log-header{font-size:.76rem;color:var(--text-muted)}.log-entry{border-top:1px solid var(--line);font-size:.9rem}.tag-new{font-size:.75rem;color:var(--accent)}.social-page .project-hero{padding-bottom:35px}.social-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:30px 0 55px}.social-node{display:grid;grid-template-columns:50px 1fr auto;align-items:center;gap:24px;padding:28px;border-radius:16px;background:var(--surface);transition:var(--transition)}.social-node:hover{transform:translateY(-4px);background:var(--surface-raised)}.node-icon{color:var(--accent);font-size:1.6rem;font-weight:500;font-style:normal;letter-spacing:-.06em}.node-name{display:block;font-size:1.1rem}.node-handle{display:block;color:var(--text-muted);font-size:.85rem;overflow-wrap:anywhere}.node-arrow{color:var(--text-muted);font-size:1.4rem}.dead-notice{font-size:.7rem;color:var(--text-muted);display:block;margin-top:7px}.back-link{display:inline-block;margin:10px 0 35px;color:var(--text-muted)}.academic-page .page-section h3{margin:25px 0 15px}.report-header,.report-row{display:grid;grid-template-columns:2fr 1fr 1fr 25px;gap:15px;padding:18px 20px}.report-header{font-size:.8rem;color:var(--text-muted)}.report-row{border-top:1px solid var(--line);cursor:pointer}.report-row:hover{background:var(--surface)}.report-row.active{color:var(--accent)}.detail-row{max-height:0;overflow:hidden}.detail-grid{padding:22px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;background:var(--surface)}.d-item{font-size:.85rem;color:var(--text-muted)}.d-item strong{color:var(--text)}.note-box{padding:25px;background:var(--surface);border-radius:16px;margin-top:18px}.text-highlight{color:var(--accent)}.report-private-note{margin:30px 0;color:var(--text-muted)}.reveal.is-visible{animation:arrive .7s var(--ease) both}@keyframes arrive{0%{opacity:.2;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.project-page .project-hero,.social-page .project-hero{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center;padding:40px 0}.project-page .project-hero h1,.social-page .project-hero h1{font-size:clamp(38px,4.5vw,62px);margin-bottom:20px}.project-page .project-hero p,.social-page .project-hero p{font-size:13px;margin:0 0 22px;line-height:1.8}.case-visual{aspect-ratio:16/10;border-radius:12px;overflow:hidden;background:var(--surface);min-width:0}.case-visual img{width:100%;height:100%;object-fit:cover;display:block}.case-visual.case-studio img{object-fit:contain;background:#18181a}.case-intro .hero-action-row{display:flex;gap:10px;flex-wrap:wrap}.project-page .page-section{padding:35px 0}.project-page .page-section>h2{font-size:26px;margin-bottom:25px}.project-page .page-section p{font-size:13px;line-height:1.85}.project-page .page-section h3{font-size:18px}.case-index{gap:8px 19px;padding-bottom:25px;font-size:11px}.launch-btn{border-radius:7px;background:var(--button);color:#fff;font-size:11px!important;padding:10px 15px!important}.technical-disclosure{background:var(--surface);border-radius:10px;padding:18px 22px}.technical-disclosure>summary{cursor:pointer;display:flex;justify-content:space-between;gap:15px;align-items:center;font-size:13px;list-style:none}.technical-disclosure>summary::-webkit-details-marker{display:none}.technical-disclosure>summary:after{content:"+";font-size:23px;color:var(--accent)}.technical-disclosure[open]>summary:after{content:"\2212"}.technical-disclosure[open]>summary{margin-bottom:25px}.social-grid{gap:0 35px;padding:0 0 35px}.social-node{background:none;border-radius:0;border-bottom:1px solid var(--line);padding:21px 0;grid-template-columns:40px 1fr auto;gap:18px}.social-node:hover{background:none;transform:translate(5px)}.node-icon{width:32px;height:32px;object-fit:contain}.node-name{font-size:15px}.node-handle{font-size:11px}.node-arrow{font-size:20px}.dead-notice{font-size:9px;margin-top:3px}.social-page .project-hero h1{font-size:45px}.social-page .project-hero{padding:35px 0}html[data-theme=light] .contact-socials img,html[data-theme=light] .plain-link>img,html[data-theme=light] .node-icon{filter:brightness(.65)}.game-caption p{font-size:12px}.project-card p{font-size:10px}.section-note{font-size:12px}.nav-links{font-size:13px}.intro-description{font-size:14px}@media (min-width:1500px){.intro{min-height:610px}.intro-visual{height:460px}}@media (max-width:1050px){.intro{gap:25px;min-height:540px}.intro h1{font-size:65px}.intro-visual{height:400px}.portrait-card{width:265px}.studio-card{width:170px;left:-10px}.nav-links{gap:20px;font-size:12px}.nav-controls{margin-left:10px}.project-results{grid-template-columns:repeat(2,minmax(0,1fr))}.project-media{aspect-ratio:2.3}.achievements-layout{grid-template-columns:230px minmax(0,1fr);gap:22px}.achievement-view{gap:20px}.achievement-copy h3{font-size:27px}.achievement-description{font-size:10px}.achievement-photo{aspect-ratio:1}.about-section{gap:30px}.award-detail>div{gap:25px}.drone-eco-grid,.drone-note-grid,.drone-notes-grid{grid-template-columns:1fr}}@media (max-width:767px){body{font-size:14px}.system-nav{height:74px;width:90%;gap:14px}.brand-identity{gap:10px;font-size:17px}.brand-identity img{width:34px;height:34px}.nav-controls{gap:7px;margin-left:auto}.nav-controls button{font-size:10px;padding:5px}#nav-menu{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px}#nav-menu span{display:block;width:18px;height:1px;background:var(--text);transition:transform .2s var(--ease)}.nav-links{display:flex;flex-direction:column;gap:13px;position:absolute;right:0;top:66px;padding:22px 26px;min-width:210px;background:var(--surface);border:1px solid var(--line);border-radius:10px;visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .2s var(--ease),transform .2s var(--ease)}.nav-open .nav-links{visibility:visible;opacity:1;transform:none}.nav-open #nav-menu span:first-child{transform:translateY(3px) rotate(45deg)}.nav-open #nav-menu span:last-child{transform:translateY(-3px) rotate(-45deg)}.intro{display:grid;grid-template-columns:1.08fr 1fr;gap:15px 10px;min-height:auto;padding:25px 0 38px}.intro-copy{display:contents}.intro-role{grid-column:1/-1;margin-bottom:5px;font-size:11px}.intro h1{grid-column:1;grid-row:2;font-size:clamp(35px,9.7vw,55px);align-self:end;line-height:1.1}.intro-alias{grid-column:1;grid-row:3;font-size:13px;margin:0;align-self:start}.intro-description{grid-column:1/-1;grid-row:4;margin:18px 0 0;font-size:12px;max-width:none}.intro-links{grid-column:1/-1;grid-row:5;margin:8px 0 0;gap:20px}.intro-visual{grid-column:2;grid-row:2/span 2;width:100%;height:215px}.portrait-card{width:148px;border-radius:10px;padding:4px}.portrait-card>img{border-radius:6px}.portrait-signature{font-size:15px;left:15px;bottom:14px}.studio-card{width:108px;left:0;bottom:0;padding:3px;border-radius:7px}.studio-card img{border-radius:4px}#hero-field{opacity:.62}.home-section{padding:36px 0}.section-top{gap:15px;margin-bottom:20px}.section-top h2{font-size:29px}.section-note{font-size:9px;max-width:18ch;text-align:right}.games-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:22px 15px}.game-featured{grid-column:1/-1;grid-row:auto}.game-featured .game-visual{height:210px}.game-secondary .game-visual{height:115px}.game-caption{gap:10px;padding-top:12px;align-items:start}.game-featured h3{font-size:23px}.game-secondary h3{font-size:16px}.game-caption p{font-size:10px;margin-top:6px}.game-secondary .game-caption>span{display:none}.game-platform{font-size:9px;gap:10px;margin-top:6px}.artwork-note{font-size:8px}.project-filters{gap:4px}.explorer-cat{padding:7px 10px;font-size:10px}.project-results{grid-template-columns:1fr 1fr;gap:12px;min-height:180px}.project-media{aspect-ratio:1.6}.project-card-info{grid-template-columns:22px minmax(0,1fr);gap:8px;padding:12px 9px}.project-icon{width:22px;height:22px}.project-card h3{font-size:13px}.project-card p{font-size:9px;line-height:1.55}.project-card .card-arrow{display:none}.project-award{font-size:8px;top:7px;left:7px}.achievements-layout{grid-template-columns:1fr;gap:24px}.achievement-tabs{grid-template-columns:1fr 1fr;gap:5px}.achievement-tab{grid-template-columns:24px 1fr;gap:9px;padding:11px 9px}.achievement-tab>img{width:24px;height:24px}.achievement-tab>span>strong{font-size:9px}.achievement-tab>span>span{font-size:8px}.achievement-tab>span:last-child{display:none}.achievement-view{grid-template-columns:1fr 1fr;gap:18px;min-height:220px;align-items:start}.achievement-event{font-size:8px;margin:0 0 10px}.achievement-copy h3{font-size:21px;margin-bottom:10px}.achievement-description{font-size:9px}.achievement-photo{aspect-ratio:4/5}.achievement-photo>span{font-size:8px;bottom:5px;left:5px;padding:3px 5px}.achievement-actions{gap:12px;margin-top:14px}.achievement-actions .plain-link{font-size:9px}.about-section{grid-template-columns:1fr;gap:25px}.about-head h2{font-size:29px;margin-bottom:18px}.about-head p{font-size:12px;max-width:none}.skills-list{gap:0 20px}.skill-detail summary{font-size:11px;padding:13px 0}.skill-detail p{font-size:10px}.contact-section{display:block;padding:30px 0}.contact-section h2{font-size:24px}.contact-email{font-size:14px;gap:8px}.contact-socials{margin-top:25px;grid-template-columns:1fr 1fr;gap:15px 20px}.system-footer{font-size:8px;gap:20px;padding:18px 0 25px}.award-dialog{padding:22px;width:94%;max-height:92dvh}.dialog-top h2{font-size:19px}.award-detail>div{grid-template-columns:1fr;gap:25px}.award-detail h2{font-size:22px}.proof-grid{grid-template-columns:1fr}.proof-grid img{aspect-ratio:auto;max-height:600px}.achv-metric-value{font-size:19px}.achv-metric-label{font-size:9px}.project-page .project-hero,.social-page .project-hero{grid-template-columns:1fr;gap:25px;padding:25px 0 30px}.project-page .project-hero h1,.social-page .project-hero h1{font-size:38px}.project-page .project-hero p,.social-page .project-hero p{font-size:12px}.case-visual{max-height:230px}.project-page .page-section,.academic-page .page-section{padding:28px 0}.project-page .page-section>h2{font-size:24px}.project-page .page-section p{font-size:12px}.case-index{font-size:10px;gap:7px 17px}.content-grid,.project-body,.drone-summary-grid,.moon-summary-grid,.drone-parts-grid,.moon-features-grid,.moon-subsystem-grid,.moon-impact-grid{grid-template-columns:1fr}.contact-row{grid-template-columns:80px 1fr;gap:13px;font-size:11px}.label{font-size:9px}.contact-terminal{gap:14px}.award-showcase{grid-template-columns:1fr;padding:20px;gap:25px}.award-showcase h2{font-size:23px}.award-summary>p{font-size:12px}.award-actions .launch-btn{white-space:normal;font-size:10px}.product-preview-stage{padding:0}.product-preview-nav{top:auto;bottom:-54px;transform:none}.product-preview-nav:active{transform:scale(.96)}.product-preview-dots{padding:0 48px;gap:4px;flex-wrap:wrap;min-height:24px}.product-preview-caption{padding:20px 0 0;font-size:11px}.drone-part-card{grid-template-columns:75px 1fr;gap:13px;padding:18px}.drone-part-card img{width:75px;height:75px}.drone-part-card h3{font-size:15px}.drone-summary-copy h2,.moon-summary-copy h2{font-size:24px}.drone-metric-card strong,.moon-metric-card strong{font-size:23px}.drone-metric-card>span,.moon-metric-card>span{font-size:10px}.drone-metric-card,.moon-metric-card{padding:20px}th,td{padding:12px}table{font-size:11px}.technical-disclosure{padding:16px}.technical-disclosure>summary{font-size:12px}pre{padding:18px;font-size:11px}.social-grid{grid-template-columns:1fr;gap:0}.social-node{padding:18px 0}.node-name{font-size:14px}.node-handle{font-size:11px}.social-page .case-visual{max-height:150px}.report-header,.report-row{grid-template-columns:1.5fr .7fr .7fr 20px;padding:15px 8px;font-size:11px}.detail-grid{grid-template-columns:1fr 1fr}.log-header,.log-entry{grid-template-columns:85px 50px 1fr;gap:10px;font-size:11px}}.display-prefs{position:relative}.display-prefs>summary{display:grid;place-items:center;width:28px;height:35px;font-size:20px;cursor:pointer;list-style:none}.display-prefs>summary::-webkit-details-marker{display:none}.display-prefs>label{position:absolute;right:0;top:43px;display:flex;gap:15px;align-items:center;padding:15px;background:var(--surface);border:1px solid var(--line);border-radius:8px;font-size:11px;white-space:nowrap}.display-prefs select{background:var(--bg);color:var(--text);padding:7px;border:1px solid var(--line);border-radius:5px;font:inherit}@media (max-width:767px){.project-card p,.achievement-description{font-size:11px}.achievement-actions .plain-link{font-size:10px}.achievement-tab>span>strong{font-size:10px}.skill-detail p{font-size:11px}}html[data-motion=reduced]{scroll-behavior:auto}html[data-motion=reduced] *,html[data-motion=reduced] *:before,html[data-motion=reduced] *:after{animation:none!important;transition:none!important}@media (prefers-reduced-motion:reduce){html:not([data-motion=full]){scroll-behavior:auto}html:not([data-motion=full]) *,html:not([data-motion=full]) *:before,html:not([data-motion=full]) *:after{animation:none!important;transition:none!important}}#cosmos-toggle{display:inline-flex;align-items:center;gap:6px;font-weight:500;cursor:pointer;transition:var(--transition)}.portfolio,.system-footer{opacity:1;visibility:visible;transition:opacity .45s var(--ease),visibility .45s}body.cosmos-active{overflow:hidden}body.cosmos-active .system-nav{position:relative;z-index:30}body.cosmos-active .nav-links{opacity:0;pointer-events:none;transform:translateY(-8px)}body.cosmos-active #cosmos-toggle{background:var(--accent);color:var(--accent-ink);border-radius:8px;padding:6px 12px}body.cosmos-active .portfolio,body.cosmos-active .system-footer{opacity:0;pointer-events:none;visibility:hidden;transition:opacity .35s var(--ease),visibility .35s}body.cosmos-active #hero-field{position:fixed;inset:0;width:100vw;height:100vh;z-index:10;pointer-events:auto;opacity:1;cursor:grab}body.cosmos-active #hero-field:active{cursor:grabbing}.cosmos-overlay{position:fixed;inset:0;z-index:20;pointer-events:none;display:flex;flex-direction:column;justify-content:flex-end;padding:22px;opacity:0;visibility:hidden;transition:opacity .35s var(--ease),visibility .35s}.cosmos-overlay[hidden]{display:none!important}body.cosmos-active .cosmos-overlay{opacity:1;visibility:visible}.cosmos-card{position:absolute;right:35px;top:50%;transform:translateY(-50%);width:min(390px,90vw);border-radius:14px;background:#161220eb;border:1px solid rgba(170,152,245,.35);box-shadow:0 20px 50px #000000a6,inset 0 1px #ffffff1a;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);padding:22px;pointer-events:auto;z-index:25;animation:cosmosCardIn .35s var(--ease)}.cosmos-card[hidden]{display:none!important}@keyframes cosmosCardIn{0%{opacity:0;transform:translateY(calc(-50% + 15px)) scale(.96)}to{opacity:1;transform:translateY(-50%) scale(1)}}.cosmos-card-close{position:absolute;top:12px;right:12px;width:28px;height:28px;border-radius:6px;border:1px solid var(--line);background:var(--surface);color:var(--text);display:grid;place-items:center;cursor:pointer}.cosmos-card-thumb{aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:var(--surface-raised);margin-bottom:14px}.cosmos-card-thumb img{width:100%;height:100%;object-fit:cover;display:block}.cosmos-card-meta{display:flex;align-items:center;gap:8px}.cosmos-card-tag{font-size:9px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.cosmos-card-badge{font-size:9px;font-weight:700;padding:2px 7px;border-radius:4px;background:var(--accent);color:var(--accent-ink)}.cosmos-card h3{font-size:20px;margin:6px 0 8px}.cosmos-card p{font-size:12px;color:var(--text-muted);line-height:1.6;margin-bottom:18px}.cosmos-card-actions{display:flex;gap:14px;align-items:center}.cosmos-dock{position:fixed;left:24px;bottom:calc(24px + env(safe-area-inset-bottom));z-index:25;pointer-events:auto}.cosmos-dock-trigger{display:flex;align-items:center;gap:14px;min-height:44px;padding:0 16px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--text);font-size:13px;cursor:pointer}.cosmos-dock-count{color:var(--text-muted);font-size:11px}.cosmos-dock-trigger-arrow{margin-left:6px;transition:transform .22s var(--ease)}.cosmos-dock.is-expanded .cosmos-dock-trigger-arrow{transform:rotate(180deg)}.cosmos-dock-drawer{position:absolute;left:0;bottom:calc(100% + 12px);width:min(960px,calc(100vw - 48px));padding:16px 20px 20px;border:1px solid var(--line);border-radius:8px;background:var(--bg);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .18s ease,transform .22s var(--ease),visibility .22s}.cosmos-dock.is-expanded .cosmos-dock-drawer{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.cosmos-dock-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.cosmos-dock-status{font-family:var(--font-display);font-size:16px;color:var(--text)}.cosmos-dock-actions{display:flex;gap:4px}.cosmos-dock-close,.cosmos-dock-step{width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:4px;background:transparent;color:var(--text-muted);font-size:20px;cursor:pointer}.cosmos-dock-close{margin-left:12px}.cosmos-dock-close:hover,.cosmos-dock-step:hover{background:var(--surface);color:var(--text)}.cosmos-dock-scroll{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/3);gap:24px;overflow-x:auto;overscroll-behavior:contain;scroll-snap-type:x mandatory;scrollbar-width:none}.cosmos-dock-scroll::-webkit-scrollbar{display:none}.cosmos-chip{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:0 0 10px;border:0;border-radius:0;background:transparent;text-align:left;color:var(--text);scroll-snap-align:start;cursor:pointer}.cosmos-project-preview{width:100%;height:112px;object-fit:cover;border-radius:3px;opacity:.85;transition:opacity .15s ease}.cosmos-project-copy{display:flex;flex-direction:column;gap:7px}.cosmos-chip-name{font-family:var(--font-display);font-size:17px;font-weight:500;line-height:1.3}.cosmos-project-description{font-size:12px;color:var(--text-muted);line-height:1.6}.cosmos-chip:hover .cosmos-project-preview,.cosmos-chip.is-hovered .cosmos-project-preview{opacity:1}.cosmos-chip.active:after{content:"";position:absolute;bottom:0;left:0;width:32px;height:2px;background:var(--chip-accent)}.cosmos-chip:focus-visible{outline:2px solid var(--text-muted);outline-offset:-2px}@media (max-width:767px){.cosmos-overlay{padding:12px}.cosmos-card{right:50%;top:auto;bottom:calc(90px + env(safe-area-inset-bottom));transform:translate(50%);width:calc(100vw - 24px);padding:16px;max-height:calc(100dvh - 190px);overflow-y:auto}@keyframes cosmosCardIn{0%{opacity:0;transform:translate(50%) translateY(12px)}to{opacity:1;transform:translate(50%) translateY(0)}}.cosmos-dock{left:12px;bottom:calc(12px + env(safe-area-inset-bottom))}.cosmos-dock-drawer{width:calc(100vw - 24px);padding:12px 16px 16px}.cosmos-dock-status{font-size:14px}.cosmos-dock-close{margin-left:0}.cosmos-dock-scroll{grid-auto-columns:85%;gap:20px}.cosmos-project-preview{height:112px}}
