.project-picker-trigger[data-v-c16db90d]{width:100%;height:40px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 11px;border-radius:6px;background:#f4f4f5;color:#242427;font-size:14px;font-weight:500;text-align:left}.project-picker-trigger>span[data-v-c16db90d]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-picker-trigger>svg[data-v-c16db90d]{color:#71717a}.project-picker-dialog[data-v-c16db90d]{position:fixed;inset:auto 0 0;width:100%;max-width:560px;max-height:min(82dvh,720px);margin:0 auto;padding:0;border:0;border-radius:14px 14px 0 0;background:#fff;color:#242427;overflow:hidden}.project-picker-dialog[open][data-v-c16db90d]{display:flex;flex-direction:column;animation:picker-open-c16db90d .18s ease-out}.project-picker-dialog[data-v-c16db90d]::backdrop{background:#14141666}.picker-header[data-v-c16db90d]{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;min-height:58px;padding:4px 10px 4px 20px;border-bottom:1px solid #eeeeef}.picker-header h2[data-v-c16db90d]{font-size:16px;font-weight:600}.picker-close[data-v-c16db90d]{display:grid;place-items:center;width:44px;height:44px;color:#71717a}.picker-list[data-v-c16db90d]{overflow-y:auto;min-height:0;padding:5px 8px;overscroll-behavior:contain;scrollbar-width:thin}.picker-project[data-v-c16db90d]{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;width:100%;padding:12px;font-size:14px;line-height:1.5;text-align:left;border-radius:4px}.picker-project[aria-current=page][data-v-c16db90d]{background:#f2f2f4;font-weight:600}.picker-project[data-v-c16db90d]:active{background:#f2f2f4}.picker-footer[data-v-c16db90d]{flex-shrink:0;padding:0 20px max(8px,env(safe-area-inset-bottom));border-top:1px solid #eeeeef}.picker-footer button[data-v-c16db90d]{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;padding:0;font-size:13px;color:#71717a}@keyframes picker-open-c16db90d{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media(max-height:500px){.project-picker-dialog[data-v-c16db90d]{max-height:calc(100dvh - 20px)}.picker-header[data-v-c16db90d]{min-height:50px}}@media(prefers-reduced-motion:reduce){.project-picker-dialog[open][data-v-c16db90d]{animation:none}}.intro-page{height:100svh;min-height:440px;display:flex;flex-direction:column;overflow:hidden;background:#18191b;color:#f4f4f5}.intro-header{flex:0 0 72px;display:flex;align-items:center;margin:0 24px;border-bottom:1px solid #ffffff0d}.intro-main{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:30px 20px}.folder-scene{position:relative;width:320px;height:400px;margin-right:18px;perspective:2000px;transform-style:preserve-3d}.folder-back,.folder-cover{position:absolute;inset:0;border-radius:20px;background:#2c2d30}.folder-back{z-index:1;box-shadow:0 0 0 1px #ffffff14,0 24px 48px -12px #0008;transform:translateZ(0)}.folder-cover{z-index:10;padding:0;overflow:hidden;text-align:left;color:#f4f4f5;box-shadow:inset 0 1px #ffffff0e;transform:translateZ(8px);-webkit-mask-image:radial-gradient(circle 18px at 100% 50%,transparent 16.5px,#000 17.5px);mask-image:radial-gradient(circle 18px at 100% 50%,transparent 16.5px,#000 17.5px);transition:background .18s}.folder-cover:hover{background:#333438}.folder-orbit{position:absolute;inset:24px 0 auto;width:100%;height:286px;color:#9c9da25f}.folder-cover-bottom{position:absolute;bottom:30px;left:28px;right:28px;display:flex;align-items:center;justify-content:space-between}.folder-cover-bottom strong{font-size:23px;font-weight:500}.folder-cover-bottom svg{color:#a1a1aa}.folder-letter{position:absolute;z-index:3;width:88.125%;height:88.5%;left:5.9375%;top:5.75%;border-radius:15px;background:#fafafa;box-shadow:0 1px 6px #0003;transform-style:preserve-3d;transition:transform .4s cubic-bezier(.2,.85,.35,1.15)}.letter-in-front .folder-letter{z-index:20;box-shadow:0 20px 42px -12px #0007}.folder-letter.phase-revealed{transition:transform .68s cubic-bezier(.34,1.35,.64,1)}.folder-letter.phase-unflipping{transition:transform .52s cubic-bezier(.34,1.25,.64,1)}.letter-face{position:absolute;inset:0;display:flex;flex-direction:column;overflow:hidden;border-radius:15px;padding:22px;background:#fafafa;color:#242427;backface-visibility:hidden;-webkit-backface-visibility:hidden}.letter-front{transform:rotateY(0) translateZ(1px)}.letter-front>p{font-size:10px;color:#71717a}.letter-rules{height:50px;margin:25px 0;background:repeating-linear-gradient(transparent 0 15px,#d4d4d8 15px 16px)}.letter-front>span{font-size:20px;line-height:1.8}.letter-reverse{transform:rotateY(180deg) translateZ(1px)}.letter-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e4e4e7;padding-bottom:11px;color:#71717a;font-size:10px}.letter-top button{padding:2px}.letter-content{padding-top:17px}.letter-content h1{margin:8px 0 20px;font-size:21px;font-weight:500;line-height:1.55;letter-spacing:-.03em}.letter-content p{font-size:13px;line-height:1.85;color:#52525b}.letter-enter{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:39px;margin-top:auto;padding:13px 0 0;border-top:1px solid #d4d4d8;text-align:left;font-size:12px;font-weight:500}.letter-enter:hover{color:#000}@media(min-width:1500px){.folder-scene{width:352px;height:440px}.folder-orbit{height:310px}.letter-face{padding:25px}.letter-content h1{font-size:24px}}@media(max-width:700px){.intro-header{margin:0 16px;flex-basis:64px}.intro-header .wordmark{font-size:14px}.intro-main{padding:24px 20px}.folder-scene{width:300px;height:375px;margin-right:12px}.folder-orbit{height:260px}.letter-face{padding:18px 20px}.letter-content{padding-top:12px}.letter-content h1{font-size:20px;margin:8px 0 14px}.letter-content p{font-size:12px}.letter-enter{font-size:11px}}@media(max-width:360px){.folder-scene{width:275px;height:344px}.folder-orbit{height:240px}.folder-cover-bottom strong{font-size:20px}.letter-face{padding:15px 18px}.letter-content h1{font-size:18px}}@media(max-height:560px){.intro-page{min-height:360px}.intro-header{flex-basis:56px}.intro-main{padding:12px 20px}.folder-scene{width:236px;height:295px}.folder-orbit{height:200px}.folder-cover-bottom{left:22px;right:22px;bottom:22px}.folder-cover-bottom strong{font-size:18px}.letter-face{padding:13px 16px}.letter-top{padding-bottom:7px}.letter-content{padding-top:10px}.letter-content h1{font-size:16px;margin:5px 0 11px}.letter-content p{font-size:11px}.letter-enter{min-height:32px;padding-top:9px;font-size:10px}}:root{font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#242427;background:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--accent: #242427}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{border:0;color:inherit;background:none;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}svg{display:block;flex-shrink:0}button:focus-visible,a:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid #71717a;outline-offset:3px}button:focus:not(:focus-visible){outline:none}::selection{background:#e4e4e7}.wordmark{font-size:15px;font-weight:500;letter-spacing:.02em}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.workbench{position:fixed;inset:0;display:grid;grid-template-columns:196px minmax(0,1fr);height:min(100%,var(--workspace-height,100dvh));overflow:hidden}.project-rail{min-height:0;display:flex;flex-direction:column;border-right:1px solid #e4e4e7;background:#fafafa}.rail-header{display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:44px;flex-shrink:0;font-size:12px;font-weight:500;border-bottom:1px solid #e4e4e7}.project-list{flex:1;min-height:0;overflow-y:auto;padding:10px 8px;scrollbar-width:thin}.project-row{margin-bottom:2px;border-radius:3px}.project-row.selected{background:transparent}.project-select{display:flex;align-items:center;gap:8px;width:100%;padding:10px 8px;text-align:left;font-size:12px;line-height:1.5}.project-row:not(.selected) .project-select:hover{background:#f0f0f2;border-radius:5px}.project-toggle{color:#8b8b93;transition:transform .18s ease}.selected .project-toggle{transform:rotate(45deg);color:#242427}.selected .project-select{font-weight:600;background:#eeeef0;border-radius:3px}.project-summary{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .18s ease,opacity .18s ease}.project-summary>div{min-height:0;overflow:hidden}.project-summary p{margin:7px 8px 10px 30px;font-size:11px;line-height:1.7;color:#71717a}.selected .project-summary{grid-template-rows:1fr;opacity:1}.rail-about{height:42px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:0 16px;font-size:11px;color:#71717a}.rail-about:hover{color:#18181b}.workspace-main{display:flex;flex-direction:column;min-width:0;min-height:0;background:#fff}.workspace-main.is-expanded{position:fixed;inset:0;z-index:100}.workspace-main:fullscreen{width:100vw;height:100dvh}.workspace-toolbar{height:44px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0;border-bottom:1px solid #e4e4e7;background:#fff}.workspace-toolbar h1{font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.icon-button{width:36px;height:36px;padding:0;display:grid;place-items:center;border-radius:4px;color:#71717a}.icon-button:hover{background:#f0f0f2;color:#242427}.view-switch{display:flex;align-items:center;gap:2px;margin-right:9px}.view-switch button{display:flex;align-items:center;gap:6px;height:30px;padding:0 8px;font-size:11px;color:#71717a;border-radius:4px}.view-switch button.active{color:#242427;background:#ededf0}.view-switch button:hover{color:#242427}.info-toggle{padding:10px;font-size:12px;color:#52525b;border-radius:4px}.info-toggle[aria-pressed=true],.info-toggle:hover{background:#ededf0;color:#242427}.mobile-project-picker{display:none}.project-entry{display:flex;flex-wrap:wrap;gap:8px}.project-entry a{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:0 10px;border:1px solid #dedee2;border-radius:4px;font-size:12px;white-space:nowrap}.project-entry a:hover{background:#f0f0f2;border-color:#b4b4bc}.workspace-actions .project-entry a{min-height:30px}.project-details>.project-entry{margin:-10px 0 22px}.live-project{position:relative;flex:1;min-height:0;overflow:hidden}.project-stream{height:100%;overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:none;overscroll-behavior-y:contain}.project-stream::-webkit-scrollbar{display:none}.project-slide{height:100%;width:100%;scroll-snap-align:start;scroll-snap-stop:always}.project-placeholder{height:100%;display:grid;place-items:center;background:#f7f7f8;font-size:15px;color:#71717a}.project-viewport,.project-viewport.desktop .app-viewport{width:100%;height:100%}.app-viewport{position:relative;overflow:hidden;background:#fff}.app-viewport iframe{display:block;width:100%;height:100%;border:0}.project-viewport.mobile{display:flex;align-items:center;justify-content:center;padding:18px;background:#f7f7f8}.project-viewport.mobile .app-viewport{width:375px;max-width:100%;height:100%;max-height:812px;border:1px solid #dedee2;border-radius:14px}.app-loading{position:absolute;inset:0;z-index:1;display:grid;place-items:center;background:#fafafa;color:#71717a;font-size:13px;pointer-events:none}.project-sheet{position:absolute;inset:0 0 0 auto;z-index:5;width:min(480px,100%);overflow-y:auto;overscroll-behavior:contain;background:#fff;border-left:1px solid #e4e4e7;box-shadow:-10px 0 28px -25px #18181b55;scrollbar-width:thin}.sheet-header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 22px 9px;background:#fff}.sheet-header h2{font-size:16px;font-weight:500}.project-details{padding:0 23px 28px}.project-platform{color:#71717a;font-size:11px;line-height:1.8;margin-bottom:22px}.detail-tabs{display:flex;gap:24px;border-bottom:1px solid #e4e4e7;margin-bottom:22px}.detail-tabs button{position:relative;font-size:12px;color:#71717a;padding:0 0 13px}.detail-tabs button.active{color:#18181b}.detail-tabs button.active:after{content:"";position:absolute;inset:auto 0 -1px;height:2px;background:#18181b}.detail-content{font-size:14px;line-height:1.9;color:#52525b}.detail-purpose{margin-bottom:25px}.explanation-list{display:grid;gap:24px}.explanation-list h3,.architecture-list h3{font-size:13px;font-weight:600;color:#242427;margin-bottom:7px}.project-tech{color:#71717a;font-size:11px;margin-bottom:22px}.architecture-list section{padding:0 0 21px;margin-bottom:21px;border-bottom:1px solid #e4e4e7}.architecture-tech{color:#71717a;font-size:11px;margin-bottom:8px}.sheet-enter-active,.sheet-leave-active{transition:transform .18s ease}.sheet-enter-from,.sheet-leave-to{transform:translate(100%)}.native-project{height:100%;min-height:0;padding:10px 12px 12px;display:flex;flex-direction:column;gap:9px;background:#fff}.native-screenshot{flex:1;min-height:0;width:100%;padding:0;overflow:hidden;cursor:zoom-in}.native-screenshot img{display:block;width:100%;height:100%;object-fit:contain}.screenshot-tabs{display:flex;justify-content:center;gap:4px;flex-shrink:0}.screenshot-tabs button{padding:6px 12px;font-size:11px;color:#71717a;border-radius:3px}.screenshot-tabs button[aria-selected=true]{color:#18181b;background:#eeeef0}.native-download{display:flex;flex-direction:column;align-items:center;gap:5px;padding-top:9px;border-top:1px solid #e4e4e7;flex-shrink:0}.native-download a{display:flex;align-items:center;gap:8px;font-size:12px;padding:4px 8px}.native-download small{font-size:10px;color:#71717a;line-height:1.5}.screenshot-viewer{width:calc(100vw - 32px);height:calc(100dvh - 32px);max-width:1100px;max-height:none;margin:auto;padding:0;border:0;border-radius:6px;background:#161719;color:#fafafa}.screenshot-viewer::backdrop{background:#000b}.screenshot-viewer-inner{height:100%;display:flex;flex-direction:column}.screenshot-viewer header{display:flex;align-items:center;justify-content:space-between;height:46px;padding:0 10px 0 16px;font-size:12px;flex-shrink:0}.screenshot-viewer .icon-button{color:#d4d4d8}.screenshot-viewer .icon-button:hover{color:#fff;background:#ffffff15}.screenshot-viewer-image{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;flex:1;min-height:0;align-items:center;gap:8px;padding:0 8px 12px}.screenshot-viewer-image img{display:block;width:100%;height:100%;min-height:0;object-fit:contain}@media(max-width:1100px){.workbench{grid-template-columns:184px minmax(0,1fr)}.project-select{font-size:12px;gap:9px}.workspace-toolbar{padding:0 12px;gap:8px}.workspace-actions{gap:3px}.view-switch{margin-right:4px}.view-switch button span{display:none}}@media(max-width:700px),(max-width:1000px)and (max-height:500px){.workbench{display:block}.project-rail{display:none}.workspace-main{width:100%;height:100%}.workspace-toolbar{height:52px;padding:0 10px;gap:6px}.workspace-toolbar h1{display:none}.mobile-project-picker{display:flex;align-items:center;min-width:0;flex:1}.workspace-actions{gap:1px}.workspace-actions .project-entry a{width:36px;min-height:44px;padding:0;border:0}.workspace-actions .project-entry span,.view-switch{display:none}.view-switch button{width:28px;padding:0;justify-content:center}.info-toggle{min-height:44px;padding:10px 8px;font-size:12px}.workspace-actions>.icon-button{width:40px;height:44px}.fullscreen-button{display:none}.project-viewport.mobile{padding:0;background:#fff}.project-viewport.mobile .app-viewport{width:100%;max-width:430px;height:100%;max-height:none;border:0;border-radius:0;box-shadow:none}.project-sheet{width:100%;border-left:0;box-shadow:none}.sheet-header{height:56px;padding:8px 16px}.project-details{padding:0 18px 24px}.detail-tabs{position:sticky;top:56px;z-index:1;gap:22px;padding-top:10px;background:#fff}.detail-tabs button{min-height:40px;font-size:13px}.project-platform{margin-bottom:12px}.screenshot-tabs button{min-height:36px;font-size:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;animation-iteration-count:1!important}}
