@import"https://fonts.googleapis.com/css2?family=Inter:wght@100..900&family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&display=swap";@font-face{font-family:Inter;src:url(/assets/Inter-Regular-DYjygwQm.ttf) format("truetype");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:MiSans;src:url(/assets/MiSans-Light-BIclQgSi.ttf) format("truetype");font-display:swap;font-weight:300;font-style:normal}@font-face{font-family:MiSans;src:url(/assets/MiSans-Regular-CuI0HTx2.ttf) format("truetype");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:MiSans;src:url(/assets/MiSans-Medium-BQ94bo3t.ttf) format("truetype");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:Alibaba PuHuiTi;src:url(/assets/AlibabaPuHuiTi-2-55-Regular-v0Jvxhj3.ttf) format("truetype");font-display:swap;font-weight:400;font-style:normal}*{box-sizing:border-box}html,body,#app{min-height:100%}body{margin:0;background:#f5f5f5;color:#0b0b0f;font-family:Inter,MiSans,Alibaba PuHuiTi,PingFang SC,Microsoft YaHei,sans-serif;overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit}.site-shell{min-height:100vh}.site-content{min-height:calc(100vh - 126px)}.site-shell-enter-active,.site-shell-leave-active{transition:opacity .32s ease,transform .32s ease}.site-shell-enter-from{opacity:0;transform:translateY(14px)}.site-shell-leave-to{opacity:0;transform:translateY(-8px)}.page-view-enter-active,.page-view-leave-active{transition:opacity .22s ease}.page-view-enter-from,.page-view-leave-to{opacity:0}:is(.project-browser,.about-page,.contact-page,.project-detail) :is(.filter-button,.project-empty,.identity h1,.identity p,.identity span,.about-section,.contact-list p,.project-kicker,.project-copy h1,.project-copy p,.download-link,.code-panel__header,.code-mobile-note,.embed-panel h2,.embed-note,.project-detail--empty h1,.project-detail--empty .text-link){animation:text-rise-up .72s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--reveal-delay, 70ms);transform-origin:50% 100%;will-change:opacity,transform,clip-path}.filter-button:nth-child(1),.identity h1,.project-kicker,.project-detail--empty h1{--reveal-delay: 70ms}.filter-button:nth-child(2),.identity p,.project-copy h1,.project-detail--empty .text-link{--reveal-delay: .12s}.filter-button:nth-child(3),.identity span,.project-copy p{--reveal-delay: .17s}.filter-button:nth-child(4),.about-section:nth-child(1),.contact-list p:nth-child(1),.download-link:nth-child(1),.embed-panel:nth-child(1) h2{--reveal-delay: .22s}.filter-button:nth-child(5),.about-section:nth-child(2),.contact-list p:nth-child(2),.download-link:nth-child(2),.embed-panel:nth-child(2) h2{--reveal-delay: .27s}.filter-button:nth-child(6),.about-section:nth-child(3),.contact-list p:nth-child(3),.download-link:nth-child(3),.embed-panel:nth-child(3) h2{--reveal-delay: .32s}.filter-button:nth-child(7),.about-section:nth-child(n+4),.contact-list p:nth-child(n+4),.download-link:nth-child(n+4),.embed-panel:nth-child(n+4) h2{--reveal-delay: .37s}@keyframes text-rise-up{0%{opacity:0;clip-path:inset(100% 0 0 0);transform:translateY(42px)}18%{opacity:1}to{opacity:1;clip-path:inset(0 0 0 0);transform:translateY(0)}}.language-home{position:relative;min-height:100vh;overflow:hidden}.home-logo{position:absolute;left:50%;top:4vh;z-index:2;width:min(30vw,360px);transform:translate(-50%);mix-blend-mode:difference}.language-panels{display:flex;min-height:100vh;font-family:JetBrains Mono,MiSans,Alibaba PuHuiTi,monospace;font-size:clamp(18px,2vw,24px)}.language-panel{display:flex;flex:1 1 50%;flex-direction:column;align-items:center;justify-content:center;min-width:0;padding:32px;text-decoration:none;transition:flex-basis .8s ease,color .45s ease}.language-panel:hover{flex-basis:72%}.language-panel--dark{background:#111;color:#fff}.language-panel--light{background:#f5f5f5;color:#111}.language-label{text-decoration-thickness:1px;text-underline-offset:4px}.language-panel:hover .language-label{text-decoration:underline}.language-line{width:min(520px,80%);margin-top:18px;color:transparent;text-align:center;transition:color .45s ease}.language-panel--dark:hover .language-line{color:#ffffffeb}.language-panel--light:hover .language-line{color:#171717}.site-header{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:148px 1fr;align-items:start;min-height:126px;padding:26px clamp(20px,5vw,64px) 18px;background:#f5f5f5eb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.site-header--compact{grid-template-columns:148px 1fr auto;min-height:96px}.phone-logo{display:none;width:44px}.logo-mark{display:inline-flex;align-items:center;width:max-content;min-height:36px;font-family:JetBrains Mono,MiSans,Alibaba PuHuiTi,monospace;font-size:17px;font-weight:500;line-height:1;text-decoration:none;text-transform:uppercase;white-space:nowrap}.logo-mark span{padding-bottom:3px;border-bottom:1px solid transparent}.logo-mark:hover span{border-bottom-color:currentColor}.top-nav{display:flex;align-items:flex-start;justify-content:flex-end;gap:28px;font-family:JetBrains Mono,MiSans,Alibaba PuHuiTi,monospace;font-size:16px}.nav-link,.text-link{text-decoration:none;text-underline-offset:4px}.nav-link:hover,.nav-link.active,.text-link:hover{text-decoration:underline}.nav-group{display:grid;gap:8px;text-align:center}.sub-nav{display:flex;justify-content:center;gap:18px;font-size:14px}.return-button{display:inline-flex;align-items:center;gap:8px;justify-self:end;min-width:92px;min-height:42px;padding:9px 13px;border:1px solid rgba(11,11,15,.55);background:#f5f5f5c7;font-family:JetBrains Mono,MiSans,Alibaba PuHuiTi,monospace;font-size:14px;text-decoration:none;transition:background .2s ease,color .2s ease,border-color .2s ease}.return-button:hover{border-color:#0b0b0f;background:#0b0b0f;color:#fff}.return-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.project-browser{width:min(1380px,calc(100% - 40px));margin:26px auto 80px}.project-filterbar{position:relative;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;margin:0 0 22px;font-family:JetBrains Mono,MiSans,Alibaba PuHuiTi,monospace}.project-filterbar__indicator{position:absolute;left:0;top:0;z-index:0;width:var(--filter-indicator-width, 0);height:var(--filter-indicator-height, 0);background:#0b0b0f;opacity:0;pointer-events:none;transform:translate3d(var(--filter-indicator-x, 0),var(--filter-indicator-y, 0),0);transition:transform .46s cubic-bezier(.16,1,.3,1),width .42s cubic-bezier(.16,1,.3,1),height .42s cubic-bezier(.16,1,.3,1),opacity .18s ease}.project-filterbar--ready .project-filterbar__indicator{opacity:1}.filter-button{position:relative;z-index:1;display:inline-flex;align-items:center;min-height:34px;padding:8px 12px;border:1px solid rgba(11,11,15,.34);background:transparent;color:#0b0b0fb8;font-size:13px;line-height:1;text-decoration:none;transition:border-color .2s ease,color .2s ease}.filter-button:hover{border-color:#0b0b0f;color:#0b0b0f}.filter-button.active{border-color:transparent;color:#fff}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(16px,3vw,36px)}.project-card{position:relative;aspect-ratio:1;overflow:hidden;background:#e8e8e8}.project-card__link{display:block;width:100%;height:100%}.project-card__image{width:100%;height:100%;object-fit:cover;filter:saturate(0);transition:filter .35s ease,transform .35s ease}.project-card__title{position:absolute;inset:auto 0 0;padding:18px;background:#0b0b0fc7;color:#fff;font-family:JetBrains Mono,MiSans,Alibaba PuHuiTi,monospace;font-size:15px;line-height:1.45;opacity:0;transform:translateY(10px);transition:opacity .25s ease,transform .25s ease}.project-card:hover .project-card__image{filter:saturate(1);transform:scale(1.02)}.project-card:hover .project-card__title{opacity:1;transform:translateY(0)}.project-card--closed .project-card__image{filter:blur(12px) saturate(.8) contrast(1.1);opacity:.7;transform:scale(1.04)}.project-card--closed:hover .project-card__image{filter:blur(12px) saturate(.8) contrast(1.1);transform:scale(1.04)}.project-card--closed .project-card__link{cursor:default}.project-empty{margin:72px 0 0;color:#0b0b0f8a;font-family:JetBrains Mono,MiSans,Alibaba PuHuiTi,monospace;font-size:14px}.about-page{display:grid;grid-template-columns:minmax(220px,300px) minmax(360px,1fr);gap:clamp(42px,8vw,112px);align-items:start;width:min(1040px,calc(100% - 56px));margin:38px auto 90px}.about-left,.about-right{display:grid;gap:22px;align-content:start}.portrait{width:min(240px,100%);aspect-ratio:1;border-radius:50%;object-fit:cover;object-position:center}.identity h1{margin:0;font-size:clamp(32px,4.6vw,52px);line-height:.95;font-weight:600}.identity p,.identity span{display:block;margin:10px 0 0;font-family:JetBrains Mono,MiSans,Alibaba PuHuiTi,monospace;line-height:1.45}.about-section h2{margin:0 0 14px;font-family:JetBrains Mono,MiSans,Alibaba PuHuiTi,monospace;font-size:clamp(21px,2.5vw,30px);font-weight:500}.about-section{padding-top:22px;border-top:1px solid rgba(11,11,15,.16)}.about-section:first-child{padding-top:0;border-top:0}.about-section p{margin:0;white-space:pre-line;max-width:560px;line-height:1.72}.contact-page{position:relative;display:grid;place-items:center;width:min(1040px,calc(100% - 40px));min-height:calc(100vh - 126px);margin:0 auto 70px;padding:clamp(24px,4vw,54px) 0 clamp(128px,13vh,176px);isolation:isolate}.contact-portrait{--spotlight-x: 50%;--spotlight-y: 50%;position:relative;z-index:0;width:min(760px,74vw);margin:0;overflow:hidden;aspect-ratio:1476 / 1236;border:1px solid rgba(11,11,15,.12);background:#d9d8d3}.contact-portrait:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;background:radial-gradient(circle 180px at var(--spotlight-x) var(--spotlight-y),rgba(255,255,255,.28),rgba(255,255,255,.12) 34%,transparent 66%);mix-blend-mode:screen;opacity:0;pointer-events:none;transition:opacity .24s ease}.contact-portrait--active:after{opacity:1}.contact-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none;-webkit-user-select:none;user-select:none}.contact-image--dim{z-index:0;filter:brightness(.34) grayscale(.08) contrast(1.08)}.contact-image--lit{z-index:1;opacity:0;filter:brightness(1.08) contrast(1.04);-webkit-mask-image:radial-gradient(circle 168px at var(--spotlight-x) var(--spotlight-y),#000 0%,rgba(0,0,0,.96) 34%,rgba(0,0,0,.46) 58%,transparent 74%);mask-image:radial-gradient(circle 168px at var(--spotlight-x) var(--spotlight-y),#000 0%,rgba(0,0,0,.96) 34%,rgba(0,0,0,.46) 58%,transparent 74%);transition:opacity .22s ease}.contact-portrait--active .contact-image--lit{opacity:1}.contact-list{position:absolute;z-index:1;right:clamp(0px,5vw,94px);bottom:clamp(42px,8vw,112px);display:grid;gap:16px;min-width:280px;padding:24px 28px;background:#f5f5f5e0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.contact-list p{margin:0}.contact-list strong{margin-right:12px;font-weight:650}@media (max-height: 760px) and (min-width: 781px){.contact-page{padding-top:18px;padding-bottom:96px}.contact-portrait{width:min(580px,64vw)}.contact-list{bottom:28px}}.project-detail{width:min(1180px,calc(100% - 40px));margin:34px auto 90px}.project-hero{display:grid;grid-template-columns:minmax(280px,.95fr) minmax(300px,.7fr);gap:clamp(28px,5vw,72px);align-items:center}.project-hero img{width:100%;max-height:720px;object-fit:contain;background:#ececec}.project-kicker{margin:0 0 14px;font-family:JetBrains Mono,MiSans,Alibaba PuHuiTi,monospace;text-transform:uppercase}.project-copy h1{margin:0;font-size:clamp(34px,5vw,68px);line-height:1}.title-separator{display:inline-block;margin:0 .18em;color:#0b0b0f70;font-weight:300}.project-copy p{line-height:1.8}.download-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}.download-link{padding:10px 14px;border:1px solid #0b0b0f;font-family:JetBrains Mono,MiSans,Alibaba PuHuiTi,monospace;text-decoration:none}.download-link:hover{background:#0b0b0f;color:#fff}.output-gallery{display:grid;gap:28px;margin-top:56px}.output-gallery__item{display:grid;place-items:center;min-width:0;margin:0;overflow:hidden;background:#ececec}.output-gallery__image{width:100%;max-height:1200px;object-fit:contain;background:#ececec;transition:filter .45s ease,transform .45s cubic-bezier(.16,1,.3,1)}.output-gallery__button{display:grid;place-items:center;width:100%;height:100%;min-width:0;padding:0;border:0;background:transparent;color:inherit;cursor:zoom-in;font:inherit;overflow:hidden}.output-gallery__item--zoomable .output-gallery__image{background:transparent}.output-gallery__item--zoomable:hover .output-gallery__image,.output-gallery__button:focus-visible .output-gallery__image{filter:contrast(1.04);transform:scale(1.035)}.output-gallery__button:focus-visible{outline:1px solid #0b0b0f;outline-offset:-6px}.project-detail:not(.project-detail--takeaway-logo) .output-gallery__item{min-height:min(72vh,860px);padding:clamp(12px,2vw,24px);border:1px solid rgba(11,11,15,.12);background:#f1f1f1}.project-detail:not(.project-detail--takeaway-logo) .output-gallery__button{height:min(72vh,860px)}.project-detail:not(.project-detail--takeaway-logo) .output-gallery__image{width:auto;height:auto;max-width:100%;max-height:100%;background:transparent}.task-map-demo{margin-top:70px;border-top:1px solid rgba(11,11,15,.18);padding-top:44px}.task-map-demo:focus{outline:0}.task-map-demo__intro{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(300px,1fr);gap:clamp(24px,5vw,70px);align-items:end;margin-bottom:28px}.task-map-demo__kicker{grid-column:1 / -1;margin:0;font-family:JetBrains Mono,monospace;font-size:13px;text-transform:uppercase}.task-map-demo__intro h2{margin:0;font-size:clamp(34px,5vw,62px);line-height:.98;font-weight:600}.task-map-demo__intro p:not(.task-map-demo__kicker){margin:0;color:#0b0b0fad;line-height:1.78}.task-map-demo__actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-family:JetBrains Mono,monospace;font-size:12px}.task-map-demo button,.task-map-demo input,.task-map-demo select,.task-map-demo textarea{border-radius:0;font:inherit}.task-map-demo button{border:1px solid rgba(11,11,15,.42);background:#f5f5f5;color:#0b0b0f;cursor:pointer}.task-map-demo button:hover{border-color:#0b0b0f;background:#0b0b0f;color:#fff}.task-map-demo__actions button{min-height:38px;padding:9px 12px}.task-map-demo__actions span{color:#0b0b0f99}.task-map-shell{display:grid;grid-template-columns:1fr;min-height:720px;border:1px solid rgba(11,11,15,.24);background:#f7f7f4}.task-map-shell--diagram{min-height:0}.task-map-panel{min-width:0;padding:22px}.task-map-panel+.task-map-panel{border-top:1px solid rgba(11,11,15,.16)}.task-map-panel__header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.task-map-panel__header span{display:block;margin-bottom:7px;color:#0b0b0f75;font-family:JetBrains Mono,monospace;font-size:12px}.task-map-panel__header h3{margin:0;font-size:24px;font-weight:550}.task-map-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.task-map-toolbar button{min-height:32px;padding:7px 9px;font-family:JetBrains Mono,monospace;font-size:11px}.task-progress{display:grid;gap:8px;margin-bottom:18px;color:#0b0b0f9e;font-family:JetBrains Mono,monospace;font-size:12px}.task-progress em{color:#0b0b0f7a;font-style:normal;line-height:1.5}.task-progress div{height:7px;background:#0b0b0f1f}.task-progress i{display:block;height:100%;background:#0b0b0f}.task-ai-panel{display:grid;gap:10px;margin-bottom:18px;padding:14px;border:1px solid rgba(11,11,15,.18);background:#0b0b0f;color:#f5f5f5}.task-ai-panel--wide{grid-template-columns:minmax(220px,.6fr) minmax(280px,1fr) auto;align-items:start;margin-bottom:18px}.task-ai-panel span{display:block;margin-bottom:6px;font-family:JetBrains Mono,MiSans,Alibaba PuHuiTi,monospace;font-size:12px;text-transform:uppercase}.task-ai-panel p{margin:0;color:#f5f5f5a3;font-size:12px;line-height:1.55}.task-ai-panel textarea{width:100%;min-height:64px;padding:10px;border:1px solid rgba(245,245,245,.22);background:#18191c;color:#f5f5f5;line-height:1.55;resize:vertical}.task-ai-panel button{width:fit-content;min-height:34px;padding:8px 11px;border-color:#f5f5f55c;background:transparent;color:#f5f5f5;font-family:JetBrains Mono,MiSans,Alibaba PuHuiTi,monospace;font-size:12px}.task-ai-panel button:hover{background:#f5f5f5;color:#0b0b0f}.task-ai-panel__message{font-family:JetBrains Mono,MiSans,Alibaba PuHuiTi,monospace}.task-ai-panel--wide .task-ai-panel__message{grid-column:2 / -1}.task-ai-panel__controls{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end;min-width:180px}.task-ai-panel__controls span{width:100%;margin:4px 0 0;color:#f5f5f594;text-align:right;text-transform:none}.task-outline{display:grid;gap:7px}.task-node{display:grid;grid-template-columns:26px minmax(0,1fr) minmax(74px,auto);gap:10px;align-items:start;margin-left:calc(var(--depth) * 24px);padding:12px;border:1px solid rgba(11,11,15,.14);background:#fff;transition:border-color .18s ease,background .18s ease,transform .18s ease}.task-node:hover,.task-node.active{border-color:#0b0b0f}.task-node.active{background:#f0f0ed}.task-node.hover-related:not(.active){background:#fafafa}.task-node.conflict{border-color:#c7472f}.task-node.done{color:#0b0b0f7a}.task-node.done input{text-decoration:line-through}.task-complete{width:24px;height:24px;padding:0;background:#fff;font-family:JetBrains Mono,monospace;line-height:1}.task-node.done .task-complete{background:#0b0b0f;color:#fff}.task-node__side{display:grid;gap:8px;justify-items:end}.task-node__actions{display:grid;grid-template-columns:repeat(4,24px);gap:4px;opacity:0;pointer-events:none;transform:translateY(-2px);transition:opacity .16s ease,transform .16s ease}.task-node:hover .task-node__actions,.task-node.active .task-node__actions{opacity:1;pointer-events:auto;transform:translateY(0)}.task-node__actions button{width:24px;height:24px;padding:0;border-color:#0b0b0f47;background:transparent;color:#0b0b0f;font-family:JetBrains Mono,MiSans,Alibaba PuHuiTi,monospace;font-size:11px;line-height:1}.task-node__actions button:disabled{border-color:#0b0b0f1f;color:#0b0b0f3d;cursor:not-allowed}.task-node__actions button:disabled:hover{background:transparent;color:#0b0b0f3d}.task-node__main input,.task-inspector input,.task-inspector select,.task-inspector textarea{width:100%;border:1px solid rgba(11,11,15,.18);background:#fff;color:#0b0b0f}.task-node__main input{border:0;padding:0;background:transparent;font-size:15px;font-weight:550}.task-node__main input:focus{outline:0}.task-node__main p{margin:6px 0 0;color:#0b0b0f94;font-size:12px;line-height:1.5}.task-node__mode{align-self:center;padding-top:2px;color:#0b0b0f75;font-family:JetBrains Mono,monospace;font-size:11px;white-space:nowrap}.task-inspector{display:grid;gap:12px;margin-bottom:16px;padding:16px;border:1px solid rgba(11,11,15,.14);background:#fff}.task-map-panel--gantt{position:relative}.task-detail-popover{position:absolute;z-index:4;width:min(360px,calc(100% - 36px));margin:0;box-shadow:0 18px 42px #0b0b0f29;transform:translate(0)}.task-detail-popover__header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border-bottom:1px solid rgba(11,11,15,.12);padding-bottom:10px}.task-detail-popover__header p{margin-bottom:4px}.task-detail-popover__header strong{font-size:16px;font-weight:600}.task-detail-popover__header button{min-height:30px;padding:6px 9px;border:1px solid rgba(11,11,15,.32);background:#fff;font-family:JetBrains Mono,MiSans,Alibaba PuHuiTi,monospace;font-size:12px;cursor:pointer}.task-detail-popover__header button:hover{background:#0b0b0f;color:#fff}.task-detail-popover-enter-active,.task-detail-popover-leave-active{transition:opacity .16s ease,transform .16s ease}.task-detail-popover-enter-from,.task-detail-popover-leave-to{opacity:0;transform:translateY(-6px)}.mind-map-canvas{margin-bottom:16px;border:1px solid rgba(11,11,15,.14);background:radial-gradient(circle,rgba(11,11,15,.18) 1px,transparent 1.35px),#fff;background-size:22px 22px}.mind-map-canvas>p{margin:0;padding:12px 14px;border-bottom:1px solid rgba(11,11,15,.12);color:#0b0b0f8f;font-family:JetBrains Mono,MiSans,Alibaba PuHuiTi,monospace;font-size:12px;line-height:1.55}.mind-map-canvas svg{display:block;width:100%;height:min(68vh,720px);min-height:520px}.mind-map-canvas path{fill:none;stroke:#0b0b0f47;stroke-width:1.5}.mind-map-link.active{stroke:#0b0b0f;stroke-width:2.4}.mind-map-node{cursor:pointer}.mind-map-node.dragging{opacity:.46}.mind-map-node rect{fill:#f8f8f6;stroke:#0b0b0f52;stroke-width:1}.mind-map-node text{fill:#0b0b0f;font-family:JetBrains Mono,MiSans,Alibaba PuHuiTi,monospace;font-size:12px;pointer-events:none}.mind-map-node.active rect{fill:#0b0b0f;stroke:#0b0b0f}.mind-map-node.hover-related:not(.active) rect{fill:#ededeb;stroke:#0b0b0f}.mind-map-node:hover rect{fill:#ededeb;stroke:#0b0b0f;stroke-width:2}.mind-map-node.drop-target rect{fill:#0b0b0f;stroke:#0b0b0f;stroke-width:2.4}.mind-map-node.drop-target text{fill:#fff}.mind-map-node .mind-map-ai-button-border{fill:#fff;stroke:url(#task-ai-button-gradient);stroke-width:2;filter:drop-shadow(0 7px 12px rgba(124,58,237,.18))}.mind-map-ai-button{position:relative;width:80px;min-height:26px;padding:4px 7px;border:0;border-radius:5px;background:transparent;box-shadow:none;color:#3f2f8f;font-family:JetBrains Mono,MiSans,Alibaba PuHuiTi,monospace;font-size:11px;font-weight:600;cursor:pointer;transition:background .18s ease,box-shadow .18s ease,color .18s ease,transform .18s ease}.mind-map-ai-button:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;z-index:-1;border-radius:7px;background:linear-gradient(135deg,#4f8cff,#7c3aed 52%,#d946ef)}.mind-map-ai-button:hover{background:linear-gradient(135deg,#4f8cff,#7c3aed 52%,#d946ef);box-shadow:0 0 0 1px #7c3aed1f,0 10px 22px #7c3aed3d;color:#fff;transform:translateY(-1px)}.task-child-preview{display:grid;gap:10px;padding:12px 14px 14px;border-top:1px solid rgba(11,11,15,.12);background:#f5f5f5b8}.task-child-preview span{color:#0b0b0f8a;font-family:JetBrains Mono,MiSans,Alibaba PuHuiTi,monospace;font-size:12px}.task-child-preview div{display:flex;flex-wrap:wrap;gap:7px}.task-child-preview__actions{padding-bottom:10px;border-bottom:1px solid rgba(11,11,15,.12)}.task-child-preview button{display:inline-flex;gap:7px;align-items:center;min-height:30px;padding:6px 9px;background:#fff;font-family:JetBrains Mono,MiSans,Alibaba PuHuiTi,monospace;font-size:12px}.task-shortcut{display:inline-flex;align-items:center;min-height:18px;padding:2px 5px;border:1px solid rgba(11,11,15,.2);background:#ffffffb8;color:#0b0b0f94;font-family:JetBrains Mono,monospace;font-size:10px;line-height:1}.task-child-preview__actions button{background:#f6f6f3}.task-child-preview__actions button:disabled{border-color:#0b0b0f1f;color:#0b0b0f47;cursor:not-allowed}.task-child-preview__actions button:disabled:hover{background:#f6f6f3;color:#0b0b0f47}.task-child-preview p,.task-gantt-hint{margin:0;color:#0b0b0f8a;font-family:JetBrains Mono,MiSans,Alibaba PuHuiTi,monospace;font-size:12px;line-height:1.6}.task-gantt-hint{margin:-6px 0 14px}.task-keyboard-hint{margin:-8px 0 16px;color:#0b0b0f70;font-family:JetBrains Mono,MiSans,Alibaba PuHuiTi,monospace;font-size:11px;line-height:1.6}.mind-map-node.active text{fill:#fff}.mind-map-node.done rect{fill:#e4e4e0}.mind-map-node.conflict rect{stroke:#c7472f;stroke-width:2}.task-inspector__label,.task-inspector label span{margin:0 0 6px;color:#0b0b0f85;font-family:JetBrains Mono,monospace;font-size:11px;text-transform:uppercase}.task-inspector__title{padding:10px;font-size:18px;font-weight:600}.task-inspector label{display:grid;gap:6px}.task-inspector input,.task-inspector select,.task-inspector textarea{padding:9px 10px}.task-inspector textarea{resize:vertical;line-height:1.55}.task-inspector__grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.task-time-details{display:grid;gap:10px;border-top:1px solid rgba(11,11,15,.12);padding-top:10px}.task-time-details summary{width:fit-content;color:#0b0b0fa3;font-family:JetBrains Mono,MiSans,Alibaba PuHuiTi,monospace;font-size:12px;cursor:pointer}.task-time-details p{margin:0;color:#0b0b0f85;font-size:12px;line-height:1.6}.task-timeline-details{border-top:1px solid rgba(11,11,15,.12);padding-top:12px}.task-timeline-details summary{width:fit-content;margin-bottom:10px;color:#0b0b0f80;font-family:JetBrains Mono,MiSans,Alibaba PuHuiTi,monospace;font-size:12px;cursor:pointer}.task-warning{margin:0;padding:10px;border:1px solid #c7472f;color:#9c2f1e;font-family:JetBrains Mono,monospace;font-size:12px}.task-overview{display:grid;gap:10px;margin:2px 0 14px;padding:12px;border:1px solid rgba(11,11,15,.14);background:#fff}.task-overview__header{display:flex;align-items:center;justify-content:space-between;gap:14px;color:#0b0b0f8a;font-family:JetBrains Mono,MiSans,Alibaba PuHuiTi,monospace;font-size:12px}.task-overview__header strong{color:#0b0b0f;font-weight:500}.task-overview__rail{position:relative;height:36px;border:1px solid rgba(11,11,15,.16);background:repeating-linear-gradient(90deg,rgba(11,11,15,.08) 0,rgba(11,11,15,.08) 1px,transparent 1px,transparent 24px),#f7f7f4}.task-overview__window{position:absolute;top:6px;bottom:6px;min-width:56px;border:1px solid #0b0b0f;background:#0b0b0f;color:#fff;cursor:grab}.task-overview__window:active{cursor:grabbing}.task-overview__window span{position:absolute;left:50%;top:50%;width:max-content;max-width:min(460px,78vw);transform:translate(-50%,-50%);font-family:JetBrains Mono,MiSans,Alibaba PuHuiTi,monospace;font-size:10px;opacity:.78;pointer-events:none}.task-overview__handle{position:absolute;top:1px;width:18px;height:34px;border:1px solid rgba(11,11,15,.36);background:#fff;cursor:ew-resize;transform:translate(-50%)}.task-overview__handle:before{content:"";position:absolute;top:8px;right:7px;bottom:8px;left:7px;border-left:1px solid rgba(11,11,15,.48);border-right:1px solid rgba(11,11,15,.48)}.task-timeline{display:grid;gap:0;max-height:min(72vh,760px);overflow-x:auto;overflow-y:auto;border:1px solid rgba(11,11,15,.14);background:#fff;opacity:1}.task-timeline__dates{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:repeat(var(--day-count, 10),minmax(48px,1fr));min-width:var(--timeline-width, 920px);padding:10px 12px;border-bottom:1px solid rgba(11,11,15,.18);background:#f6f6f3;color:#0b0b0f80;font-family:JetBrains Mono,monospace;font-size:11px}.task-timeline__row{position:relative;display:block;min-width:var(--timeline-width, 920px);min-height:50px;border-bottom:1px solid rgba(11,11,15,.08);cursor:pointer}.task-timeline__row:hover,.task-timeline__row.active{z-index:3;background:#f0f0ed}.task-timeline__row.focus-child{background:#fafafa}.task-timeline__row.hover-related:not(.active){background:#f6f6f3}.task-timeline__track{position:relative;height:100%;min-height:50px;background-image:linear-gradient(to right,rgba(11,11,15,.07) 1px,transparent 1px);background-size:calc(100% / var(--day-count, 10)) 100%}.task-timeline__bar{position:absolute;top:14px;bottom:12px;min-width:28px;overflow:visible;border:0;background:#0b0b0f;color:#fff;cursor:grab;font-family:JetBrains Mono,MiSans,Alibaba PuHuiTi,monospace}.task-timeline__bar:before{content:"";position:absolute;left:12px;right:12px;top:-7px;height:4px;border-top:1px solid rgba(11,11,15,.42);border-bottom:1px solid rgba(11,11,15,.22);opacity:0;pointer-events:none;transition:opacity .16s ease}.task-timeline__bar:hover:before,.task-timeline__bar:focus:before,.task-timeline__bar:focus-visible:before{opacity:1}.task-timeline__bar:active{cursor:grabbing}.task-timeline__bar-title{position:absolute;top:0;right:8px;bottom:0;left:8px;display:flex;align-items:center;justify-content:center;overflow:hidden;color:inherit;font-size:11px;line-height:1;text-align:center;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.task-bar-children{position:absolute;left:50%;top:calc(100% + 8px);z-index:6;display:none;min-width:180px;max-width:280px;transform:translate(-50%);padding:8px;border:1px solid rgba(11,11,15,.18);background:#fff;box-shadow:0 12px 28px #0b0b0f1f;color:#0b0b0f;pointer-events:none}.task-bar-children>span{display:block;padding:5px 0;overflow:hidden;border-bottom:1px solid rgba(11,11,15,.08);font-size:11px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.task-bar-children>span:last-child{border-bottom:0}.task-timeline__bar:hover .task-bar-children,.task-timeline__bar:focus .task-bar-children,.task-timeline__bar:focus-visible .task-bar-children,.task-timeline__row.active .task-bar-children{display:block}.task-timeline__row.active .task-timeline__bar,.task-timeline__row.hover-related .task-timeline__bar{outline:2px solid rgba(11,11,15,.18);outline-offset:2px}.task-timeline__row.focus-child .task-timeline__bar{background:#4a4a4a}.task-timeline__row.done .task-timeline__bar{background:#0b0b0f6b}.task-timeline__row.conflict .task-timeline__bar{background:#c7472f}.code-stack{display:grid;gap:30px;margin-top:56px}.code-panel{border:1px solid rgba(11,11,15,.16);background:#101114;color:#f5f5f5}.code-panel__header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.14);font-family:JetBrains Mono,MiSans,Alibaba PuHuiTi,monospace}.code-panel__header h2{margin:0;font-size:15px;font-weight:500}.code-panel__header span{display:block;margin-top:6px;color:#f5f5f594;font-size:12px}.code-copy{flex:0 0 auto;min-height:34px;padding:8px 12px;border:1px solid rgba(245,245,245,.36);background:transparent;color:inherit;font-family:JetBrains Mono,MiSans,Alibaba PuHuiTi,monospace;font-size:12px;cursor:pointer}.code-copy:hover{background:#f5f5f5;color:#101114}.code-mobile-note{display:none;margin:0;padding:18px;color:#f5f5f5b8;font-family:JetBrains Mono,MiSans,Alibaba PuHuiTi,monospace;font-size:13px;line-height:1.6}.code-panel__body{max-height:620px;margin:0;padding:18px;overflow:auto;font-family:JetBrains Mono,MiSans,Alibaba PuHuiTi,monospace;font-size:13px;line-height:1.62;-moz-tab-size:2;tab-size:2}.code-panel__body code{display:block;min-width:max-content;white-space:pre}.embed-stack{display:grid;gap:42px;margin-top:70px}.embed-panel{position:relative}.embed-panel h2{margin:0 0 14px;font-family:JetBrains Mono,MiSans,Alibaba PuHuiTi,monospace;font-weight:500}.embed-panel iframe{width:100%;height:min(78vh,900px);border:1px solid rgba(0,0,0,.12);background:#fff}.figma-loader{position:absolute;top:42px;right:0;bottom:0;left:0;z-index:1;display:grid;align-items:center;justify-content:center;min-height:320px;border:1px solid rgba(0,0,0,.12);background:#f5f5f5f5;color:#0b0b0f;font-family:JetBrains Mono,MiSans,Alibaba PuHuiTi,monospace;pointer-events:none}.figma-loader__message{min-width:12ch;font-size:clamp(15px,1.6vw,22px);line-height:1;text-align:left;animation:figma-loader-message .72s cubic-bezier(.16,1,.3,1) both}.figma-loader__rule{position:absolute;top:calc(50% + 28px);left:50%;width:min(220px,42vw);height:1px;overflow:hidden;background:#0b0b0f29;transform:translate(-50%)}.figma-loader__rule:after{content:"";display:block;width:42%;height:100%;background:#0b0b0f;animation:figma-loader-rule 1.1s cubic-bezier(.16,1,.3,1) infinite}@keyframes figma-loader-message{0%{opacity:0;clip-path:inset(100% 0 0 0);transform:translateY(16px)}to{opacity:1;clip-path:inset(0 0 0 0);transform:translateY(0)}}@keyframes figma-loader-rule{0%{transform:translate(-110%)}to{transform:translate(250%)}}.embed-link{display:block;width:fit-content;margin:12px auto 0;font-family:JetBrains Mono,MiSans,Alibaba PuHuiTi,monospace;font-size:13px;text-align:center;text-decoration:underline;text-underline-offset:4px}.embed-note{margin:10px auto 0;color:#0b0b0fad;font-family:JetBrains Mono,MiSans,Alibaba PuHuiTi,monospace;font-size:13px;text-align:center}.project-detail--empty{min-height:50vh}.project-detail--takeaway-logo .output-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,24px);align-items:start}.project-detail--takeaway-logo .output-gallery__item{border:1px solid rgba(11,11,15,.12);background:#fff}.project-detail--takeaway-logo .output-gallery__item--logo{aspect-ratio:1;padding:clamp(12px,2vw,22px)}.project-detail--takeaway-logo .output-gallery__item--logo .output-gallery__image{width:100%;height:100%;max-height:none;background:transparent;object-fit:contain}.project-detail--takeaway-logo .output-gallery__item--logo:hover .output-gallery__image,.project-detail--takeaway-logo .output-gallery__item--logo .output-gallery__button:focus-visible .output-gallery__image{transform:scale(1.055)}.project-detail--takeaway-logo .output-gallery__item--interface{grid-column:1 / -1;justify-self:center;width:min(615px,100%);background:#f1f1f1}.project-detail--takeaway-logo .output-gallery__item--interface .output-gallery__image{width:100%;max-height:none;background:transparent;object-fit:contain}.image-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:clamp(54px,8vh,86px) clamp(16px,5vw,64px) clamp(24px,6vh,56px);background:#f5f5f5f7;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.image-lightbox__image{width:auto;max-width:min(100%,1280px);max-height:86vh;object-fit:contain;background:#fff}.image-lightbox__close{position:fixed;right:clamp(16px,4vw,42px);top:clamp(14px,4vh,34px);z-index:41;min-height:36px;padding:8px 13px;border:1px solid #0b0b0f;background:#0b0b0f;color:#fff;font-family:JetBrains Mono,MiSans,Alibaba PuHuiTi,monospace;font-size:13px;cursor:pointer;transition:background .2s ease,color .2s ease}.image-lightbox__close:hover,.image-lightbox__close:focus-visible{background:#f5f5f5;color:#0b0b0f}.image-lightbox-enter-active,.image-lightbox-leave-active{transition:opacity .24s ease}.image-lightbox-enter-active .image-lightbox__image,.image-lightbox-leave-active .image-lightbox__image{transition:transform .3s cubic-bezier(.16,1,.3,1)}.image-lightbox-enter-from,.image-lightbox-leave-to{opacity:0}.image-lightbox-enter-from .image-lightbox__image,.image-lightbox-leave-to .image-lightbox__image{transform:scale(.985)}@media (max-width: 780px){body{min-width:320px}.language-panels{flex-direction:column}.language-panel{min-height:50vh;padding:24px 22px}.language-panel:hover{flex-basis:50%}.home-logo{top:50%;width:min(55vw,260px);transform:translate(-50%,-50%)}.language-line{width:min(320px,88%);color:currentColor;font-size:13px;line-height:1.55;opacity:.72}.site-header,.site-header--compact{grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;min-height:auto;padding:12px 16px 11px}.site-content{min-height:calc(100vh - 64px)}.phone-logo{display:block;width:42px}.phone-logo img{width:42px;height:42px}.logo-mark{display:none}.return-button{grid-column:2;min-width:82px;min-height:38px;padding:8px 10px;font-size:13px}.top-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px 12px;min-width:0;font-size:12px;line-height:1.2}.nav-separator{display:none}.nav-group{display:contents}.nav-label{display:none}.sub-nav{display:contents;font-size:12px}.project-browser{width:calc(100% - 32px);margin-top:14px;margin-bottom:54px}.project-filterbar{flex-wrap:nowrap;gap:7px;margin-bottom:14px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.project-filterbar::-webkit-scrollbar{display:none}.filter-button{flex:0 0 auto;min-height:32px;padding:8px 10px;font-size:12px;white-space:nowrap}.filter-button--unpublished,.filter-button--vibe-coding{display:none}.project-grid{grid-template-columns:1fr;gap:14px}.project-card__title{padding:13px 14px;font-size:13px;opacity:1;transform:none}.project-card__image{filter:saturate(.2)}.about-page,.project-hero{grid-template-columns:1fr}.about-page{width:min(100% - 36px,560px);gap:30px;margin-top:28px;margin-bottom:64px}.about-left{grid-template-columns:132px minmax(0,1fr);align-items:end;gap:18px}.portrait{width:132px}.identity h1{font-size:34px}.identity span{font-size:12px}.about-section p{font-size:15px}.contact-page{width:calc(100% - 32px);min-height:auto;margin:18px auto 56px;padding:0;place-items:stretch;gap:16px}.contact-portrait{width:100%}.contact-image{width:100%;height:100%;max-height:none;object-fit:cover}.contact-image--dim{filter:brightness(.9) contrast(1.02)}.contact-image--lit,.contact-portrait:after{display:none}.contact-list{position:static;width:100%;min-width:0;margin-top:0;padding:18px 0 0;border-top:1px solid rgba(11,11,15,.16);background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.contact-list p{display:grid;grid-template-columns:84px minmax(0,1fr);gap:10px;align-items:baseline}.contact-list strong{margin-right:0}.contact-list span{overflow-wrap:anywhere}.project-detail{width:calc(100% - 32px);margin:22px auto 64px}.project-hero{gap:24px}.project-hero img{max-height:58vh}.project-kicker{margin-bottom:10px;font-size:12px}.project-copy h1{font-size:clamp(30px,11vw,42px);line-height:1.02}.project-copy p{font-size:15px;line-height:1.72}.download-row{margin-top:24px}.download-link{width:100%;padding:12px 14px;text-align:center}.output-gallery{gap:18px;margin-top:34px}.output-gallery__image{max-height:none}.project-detail:not(.project-detail--takeaway-logo) .output-gallery__item{min-height:min(62vh,560px);padding:12px}.project-detail:not(.project-detail--takeaway-logo) .output-gallery__button{height:min(62vh,560px)}.project-detail--takeaway-logo .output-gallery{grid-template-columns:1fr;gap:14px}.project-detail--takeaway-logo .output-gallery__item--logo{width:100%;aspect-ratio:1;padding:14px}.project-detail--takeaway-logo .output-gallery__item--interface{width:min(100%,520px)}.code-stack{gap:22px;margin-top:34px}.code-panel__header{align-items:flex-start;padding:14px}.code-panel__header h2{font-size:13px;line-height:1.35}.code-copy,.code-panel__body{display:none}.code-mobile-note{display:block}.embed-stack{gap:30px;margin-top:42px}.embed-panel h2{font-size:18px}.embed-note{font-size:12px}.embed-panel iframe{height:min(68vh,620px);min-height:420px}}@media (max-width: 420px){.site-header,.site-header--compact{padding-inline:14px}.top-nav{gap:7px 10px;font-size:11px}.about-left{grid-template-columns:104px minmax(0,1fr);gap:16px}.portrait{width:104px}.identity h1{font-size:30px}.identity p{font-size:12px}.project-browser,.project-detail{width:calc(100% - 28px)}.project-card__title{font-size:12px}.embed-panel iframe{min-height:360px}}@media (max-width: 360px){.top-nav{font-size:10px;gap:6px 8px}.phone-logo,.phone-logo img{width:38px;height:38px}.site-header,.site-header--compact{grid-template-columns:40px minmax(0,1fr)}.about-left{grid-template-columns:1fr}.portrait{width:118px}.contact-list p{grid-template-columns:1fr;gap:3px}}@media (prefers-reduced-motion: reduce){.site-shell-enter-active,.site-shell-leave-active,.page-view-enter-active,.page-view-leave-active{transition:none}.site-shell-enter-from,.site-shell-leave-to,.page-view-enter-from,.page-view-leave-to{opacity:1;filter:none;transform:none}:is(.project-browser,.about-page,.contact-page,.project-detail) *{animation:none!important;will-change:auto}.output-gallery__image,.image-lightbox,.image-lightbox__image{transition:none}.output-gallery__item--zoomable:hover .output-gallery__image,.output-gallery__button:focus-visible .output-gallery__image{transform:none}}
