.gate-layer{z-index:80;pointer-events:none;position:fixed;inset:0}.gate-layer.open{pointer-events:auto}.gate-backdrop{opacity:0;transition:opacity .25s var(--ease);background:#0000008c;position:absolute;inset:0}.gate-layer.open .gate-backdrop{opacity:1}.gate{width:min(100%,560px);max-height:92%;padding:6px 16px calc(20px + env(safe-area-inset-bottom));background:var(--surface);transition:transform .32s var(--ease);border-radius:14px 14px 0 0;position:absolute;bottom:0;left:50%;overflow-y:auto;transform:translate(-50%,100%)}.gate-layer.open .gate{transform:translate(-50%)}.gate-layer:not(.open) .gate{visibility:hidden;transition:transform .32s var(--ease), visibility 0s .32s}.gate-head{justify-content:space-between;align-items:center;padding:6px 0 4px;display:flex}.gate-head h2{font-size:17px}.gate-lead{color:var(--text-2);margin-bottom:16px;line-height:1.45}.gate-label{color:var(--text-3);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.gate-input{border:1px solid var(--surface-3);background:var(--surface-2);width:100%;height:48px;color:var(--text);font:inherit;border-radius:8px;padding:0 14px;font-size:16px}.gate-input:focus{border-color:var(--text-2);outline:none}.gate-input[aria-invalid=true]{border-color:var(--red)}.gate-hp{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.gate-error{color:var(--red-2);margin-top:8px;font-size:14px;line-height:1.4}.gate-submit{width:100%;margin-top:16px}.gate-submit[disabled]{opacity:.6;cursor:progress}.gate-note{color:var(--text-3);margin-top:12px;font-size:13px;line-height:1.45}.gate-note a{color:var(--text);text-underline-offset:2px;font-weight:600;text-decoration:underline}.gate-done{text-align:center;flex-direction:column;align-items:center;padding:12px 4px 8px;display:flex}.gate-done[hidden]{display:none}.gate-check{background:var(--red);border-radius:50%;place-items:center;width:56px;height:56px;margin-bottom:12px;display:grid}.gate-done h3{margin-bottom:6px;font-size:20px}.gate-done p{color:var(--text-2);line-height:1.45}.gate-done b{color:var(--text);word-break:break-all}.gate-dev{height:40px;margin-top:16px;padding:0 16px;font-size:14px}@media (prefers-reduced-motion:reduce){.gate,.gate-backdrop{transition:none}}
.about-page{background:var(--surface);max-width:560px;min-height:100dvh;margin:0 auto;padding-bottom:40px}.about-page .page-top{z-index:2;padding:calc(env(safe-area-inset-top) + 6px) 8px 6px;background:var(--surface);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.about-page .page-title{font-weight:700}.about-page .hero{text-align:center;flex-direction:column;align-items:center;padding:8px 20px 22px;display:flex}.about-page .photo-slot{background:var(--surface-2);width:104px;height:104px;color:var(--text-3);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:10px;display:flex}.about-page .photo-slot .logo{width:104px;height:104px}.about-page h1{margin-top:12px;font-size:22px}.about-page .role{font-family:var(--mono);color:var(--text-3);margin-top:2px;font-size:13px}.about-page .stats{gap:28px;margin-top:16px;display:flex}.about-page .stats div{flex-direction:column;display:flex}.about-page .stats b{font-size:18px}.about-page .stats span{color:var(--text-3);font-size:12px}.about-page .btns{gap:8px;margin-top:16px;display:flex}.about-page .btns .btn{height:40px;font-size:14px}.about-page .pitch{color:var(--text-2);max-width:34ch;margin-top:14px;line-height:1.5}.about-page .sec{border-top:8px solid #121212;padding:18px 16px}.about-page .sec h2{margin-bottom:14px;font-size:17px}.about-page .gate-card{background:var(--surface-2);border-radius:8px;flex-direction:column;align-items:flex-start;gap:12px;padding:14px;display:flex}.about-page .gate-card p{color:var(--text-2);font-size:14px;line-height:1.45}.about-page .gate-card .btn{height:40px;padding:0 16px;font-size:14px}.about-page .spec{border-collapse:collapse;width:100%;font-size:14px}.about-page .spec th{text-align:left;vertical-align:top;width:38%;color:var(--text-3);border-top:1px solid var(--line);padding:10px 10px 10px 0;font-weight:600}.about-page .spec td{color:var(--text-2);border-top:1px solid var(--line);padding:10px 0;line-height:1.45}.about-page .pgrid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.about-page .pgrid a{background:var(--surface-2);border-radius:8px;flex-direction:column;gap:3px;min-width:0;padding:0 0 10px;display:flex;overflow:hidden}.about-page .pgrid img,.about-page .pgrid svg{aspect-ratio:1;object-fit:cover;width:100%;margin-bottom:5px;display:block}.about-page .pgrid .pg-name{padding:0 9px;font-size:13.5px;font-weight:600}.about-page .pgrid .pg-metric{color:var(--text-3);padding:0 9px;font-size:11.5px;line-height:1.3}.about-page .pgrid .pg-metric b{color:var(--red-2);font-size:14px}
.projects-page{background:var(--surface);max-width:560px;min-height:100dvh;margin:0 auto;padding-bottom:40px}.projects-page .page-top{z-index:2;padding:calc(env(safe-area-inset-top) + 6px) 8px 6px;background:var(--surface);align-items:center;gap:8px;display:flex;position:sticky;top:0}.projects-page .page-tabs{color:var(--text-3);flex:1;gap:18px;font-weight:600;display:flex}.projects-page .page-tabs .cur{color:#fff}.projects-page .store{align-items:center;gap:12px;padding:10px 16px;display:flex}.projects-page .store svg{border-radius:50%}.projects-page .store-main{flex:1;min-width:0}.projects-page .store-main h1{font-size:19px}.projects-page .store-main p{color:var(--text-3);font-size:13px}.projects-page .store-follow{height:34px;font-size:14px}.projects-page .store-chips{flex-wrap:wrap;gap:6px;padding:0 16px 12px;display:flex}.projects-page .store-chips span{background:var(--surface-2);color:var(--text-2);border-radius:4px;padding:4px 8px;font-size:12px}.projects-page .store-chips b{color:#fff}.projects-page .filters{scrollbar-width:none;border-top:8px solid #121212;gap:8px;padding:10px 16px;display:flex;overflow-x:auto}.projects-page .filter{background:var(--surface-2);color:var(--text-2);border-radius:999px;flex:none;padding:6px 12px;font-size:13.5px;font-weight:600}.projects-page .filter.on{color:#000;background:#fff}.projects-page .plist{display:grid}.projects-page .prow{border-top:1px solid var(--line);gap:12px;padding:12px 16px;display:flex}.projects-page .prow-img{border-radius:6px;flex:none;width:112px;height:112px;overflow:hidden}.projects-page .prow-img svg{width:100%;height:100%}.projects-page .prow-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.projects-page .prow-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:15px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.projects-page .prow-meta{color:var(--text-3);font-size:12.5px}.projects-page .prow-ship{color:var(--teal);align-items:center;gap:4px;font-size:12.5px;font-weight:600;display:flex}.projects-page .prow-foot{justify-content:space-between;align-items:flex-end;gap:8px;margin-top:auto;display:flex}.projects-page .prow-price b{font-size:20px}.projects-page .prow-price s{color:var(--text-3);font-size:12.5px}.projects-page .prow-price span{color:var(--red-2);font-size:12px;display:block}.projects-page .prow-buy{background:var(--surface-3);border-radius:999px;padding:6px 16px;font-size:14px;font-weight:700}
