.project-card[data-v-c5412759]{background:color-mix(in oklab,var(--panel) 92%,transparent);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;display:flex;flex-direction:column;height:100%;overflow:hidden;transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out),border-color .4s var(--ease-out)}.project-card[data-v-c5412759]:hover{border-color:color-mix(in oklab,var(--pop) 55%,var(--line));box-shadow:var(--shadow-md);transform:translateY(-4px)}.card-nda-cover[data-v-c5412759]{background:repeating-linear-gradient(45deg,transparent,transparent 12px,color-mix(in oklab,var(--ink) 4%,transparent) 12px,color-mix(in oklab,var(--ink) 4%,transparent) 24px),color-mix(in oklab,var(--panel-soft) 85%,transparent);display:flex;flex-direction:column;gap:.35rem;inset:0;padding:1rem;position:absolute;text-align:center}.card-nda-cover[data-v-c5412759],.nda-glyph[data-v-c5412759]{align-items:center;justify-content:center}.nda-glyph[data-v-c5412759]{background:var(--pop);color:var(--pop-ink);display:inline-flex;height:3rem;margin-bottom:.35rem;width:3rem}.nda-title[data-v-c5412759]{color:var(--ink);font-family:Bricolage Grotesque,sans-serif;font-size:1rem;font-weight:700;margin:0}.nda-sub[data-v-c5412759]{color:var(--ink-soft);font-size:.74rem;margin:0;max-width:22ch}.nda-code[data-v-c5412759]{color:var(--pop);font-size:.6rem;font-weight:700;letter-spacing:.18em;margin-top:.4rem;text-transform:uppercase}.card-nda-badge[data-v-c5412759]{align-items:center;background:var(--ink);color:var(--pop-ink);display:inline-flex;font-size:.66rem;font-weight:700;gap:.25rem;letter-spacing:.08em;padding:.28rem .55rem;position:absolute;right:.75rem;top:.75rem;z-index:4}.meta-role[data-v-c5412759]{color:var(--pop);font-weight:700}.card-image-wrapper[data-v-c5412759]{background:color-mix(in oklab,var(--panel-soft) 70%,transparent);overflow:hidden;padding-bottom:66.67%;position:relative;width:100%}.card-image-wrapper[data-v-c5412759]:before{background:linear-gradient(135deg,transparent,rgba(0,0,0,.05));content:"";inset:0;pointer-events:none;position:absolute;z-index:1}.card-image[data-v-c5412759]{height:100%;inset:0;-o-object-fit:cover;object-fit:cover;position:absolute;transition:transform .4s ease;width:100%}.project-card:hover .card-image[data-v-c5412759]{transform:scale(1.05)}.card-overlay[data-v-c5412759]{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;display:flex;inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity .3s ease;z-index:5}.project-card:hover .card-overlay[data-v-c5412759]{opacity:1}.action-bar[data-v-c5412759]{flex-wrap:wrap;gap:.75rem}.action-bar[data-v-c5412759],.quick-action[data-v-c5412759]{align-items:center;display:flex;justify-content:center}.quick-action[data-v-c5412759]{background:#ffffff26;border:1px solid hsla(0,0%,100%,.25);border-radius:50%;color:#fff;cursor:pointer;height:40px;text-decoration:none;transition:all .2s ease;width:40px}.quick-action[data-v-c5412759]:hover{background:#ffffff40;transform:scale(1.1)}.card-status[data-v-c5412759]{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid hsla(0,0%,100%,.2);border-radius:999px;font-size:.7rem;font-weight:600;left:.75rem;padding:.35rem .7rem;position:absolute;top:.75rem;z-index:4}.card-status.status-completed[data-v-c5412759]{background:#22c55ecc;color:#fff}.card-status.status-progress[data-v-c5412759]{background:#f59e0bcc;color:#fff}.card-status.status-planning[data-v-c5412759]{background:#3b82f6cc;color:#fff}.card-status.status-idle[data-v-c5412759]{background:#6b7280cc;color:#fff}.card-content[data-v-c5412759]{display:flex;flex:1;flex-direction:column;gap:.875rem;padding:1rem}.card-header[data-v-c5412759]{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.card-header>div[data-v-c5412759]{flex:1;min-width:0}.card-title[data-v-c5412759]{color:var(--ink);font-size:1rem;font-weight:700;line-height:1.3;margin:0;transition:color .2s ease}.project-card:hover .card-title[data-v-c5412759]{color:var(--brand)}.card-subtitle[data-v-c5412759]{color:var(--ink-soft);font-size:.8rem;line-height:1.4;margin:.25rem 0 0}.card-badge-category[data-v-c5412759]{align-items:center;background:color-mix(in oklab,var(--brand) 12%,transparent);border-radius:.5rem;color:var(--brand-strong);display:inline-flex;flex-shrink:0;font-size:.7rem;font-weight:600;padding:.3rem .6rem}.card-meta[data-v-c5412759]{align-items:center;color:var(--ink-soft);display:flex;font-size:.8rem;gap:.5rem}.meta-dot[data-v-c5412759]{opacity:.3}.meta-item[data-v-c5412759]{align-items:center;display:flex}.card-technologies[data-v-c5412759]{display:flex;flex-wrap:wrap;gap:.5rem}.tech-tag[data-v-c5412759]{align-items:center;background:color-mix(in oklab,var(--brand) 8%,transparent);border:1px solid color-mix(in oklab,var(--brand) 20%,var(--line));border-radius:.4rem;color:var(--brand-strong);display:inline-flex;font-size:.75rem;font-weight:500;padding:.3rem .6rem}.tech-tag.tech-more[data-v-c5412759]{background:color-mix(in oklab,var(--panel-soft) 85%,transparent);border-color:var(--line);color:var(--ink-soft)}.card-cta[data-v-c5412759]{align-items:center;background:transparent;border:1px solid var(--brand);border-radius:.5rem;color:var(--brand);cursor:pointer;display:flex;font-size:.8rem;font-weight:600;gap:.5rem;justify-content:center;margin-top:auto;padding:.5rem .75rem;transition:all .2s ease}.card-cta[data-v-c5412759]:hover{background:color-mix(in oklab,var(--brand) 8%,transparent);border-color:var(--brand-strong)}.card-cta svg[data-v-c5412759]{transition:transform .2s ease}.project-card:hover .card-cta svg[data-v-c5412759]{transform:translate(2px)}@media(max-width:640px){.card-content[data-v-c5412759]{gap:.75rem;padding:.875rem}.card-title[data-v-c5412759]{font-size:.95rem}.card-subtitle[data-v-c5412759]{font-size:.75rem}}.spotlight-shell[data-v-cbc35f2b]{display:flex;flex-direction:column;gap:0;width:100%}.spotlight-header[data-v-cbc35f2b]{background:transparent;padding-bottom:.5rem;position:sticky;top:clamp(78px,10vh,96px);z-index:22}.back-btn[data-v-cbc35f2b]{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:color-mix(in oklab,var(--panel) 94%,transparent);border:1px solid var(--line);border-radius:999px;color:var(--ink);cursor:pointer;display:inline-flex;font-size:.8rem;font-weight:600;gap:.5rem;padding:.5rem .875rem;transition:all .2s ease}.back-btn[data-v-cbc35f2b]:hover{background:color-mix(in oklab,var(--panel) 96%,transparent);border-color:var(--brand);transform:translateY(-1px)}.project-intro[data-v-cbc35f2b]{display:flex;flex-direction:column;gap:1.25rem;margin:0 auto;max-width:900px;padding:3rem 2rem 2.5rem;width:100%}.badges-group[data-v-cbc35f2b]{display:flex;flex-wrap:wrap;gap:.5rem}.badge[data-v-cbc35f2b]{align-items:center;border:1px solid transparent;border-radius:999px;display:inline-flex;font-size:.8rem;font-weight:600;padding:.4rem .85rem}.badge.category[data-v-cbc35f2b]{background:color-mix(in oklab,var(--brand) 14%,transparent);color:var(--brand-strong)}.badge.status[data-v-cbc35f2b]{border:1px solid}.badge.status-completed[data-v-cbc35f2b]{background:#22c55e1a;color:#16a34a}.badge.status-progress[data-v-cbc35f2b]{background:#f59e0b1a;color:#d97706}.badge.status-planning[data-v-cbc35f2b]{background:#3b82f61a;color:#2563eb}.project-title[data-v-cbc35f2b]{color:var(--ink);font-size:clamp(2rem,4vw,3.5rem);font-weight:800;line-height:1.15;margin:0}.project-meta[data-v-cbc35f2b]{align-items:center;color:var(--ink-soft);display:flex;font-size:.95rem;font-weight:500;gap:.75rem}.meta-item[data-v-cbc35f2b]{align-items:center;display:inline-flex;gap:.35rem}.meta-separator[data-v-cbc35f2b]{opacity:.3}.project-description[data-v-cbc35f2b]{color:var(--ink-soft);font-size:1rem;line-height:1.7;margin:0;max-width:700px}.actions-group[data-v-cbc35f2b]{display:flex;flex-wrap:wrap;gap:.875rem}.action-btn[data-v-cbc35f2b]{align-items:center;border:1px solid transparent;border-radius:999px;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.625rem 1.25rem;text-decoration:none;transition:all .2s ease}.action-btn.primary[data-v-cbc35f2b]{background:linear-gradient(120deg,var(--brand),var(--brand-strong));color:#fff}.action-btn.primary[data-v-cbc35f2b]:hover{box-shadow:0 8px 16px #0d7a7333;transform:translateY(-2px)}.action-btn.secondary[data-v-cbc35f2b]{background:var(--panel);border-color:var(--line);color:var(--ink)}.action-btn.secondary[data-v-cbc35f2b]:hover{background:color-mix(in oklab,var(--panel) 96%,transparent);border-color:var(--brand)}.tech-stack-section[data-v-cbc35f2b]{display:flex;flex-direction:column;gap:.875rem}.tech-stack-title[data-v-cbc35f2b]{color:var(--ink-soft);font-size:.9rem;font-weight:700;letter-spacing:.08em;margin:0;text-transform:uppercase}.tech-list[data-v-cbc35f2b]{display:flex;flex-wrap:wrap;gap:.625rem}.tech-tag[data-v-cbc35f2b]{align-items:center;background:color-mix(in oklab,var(--brand) 10%,transparent);border:1px solid color-mix(in oklab,var(--brand) 25%,var(--line));border-radius:.5rem;color:var(--brand-strong);display:inline-flex;font-size:.8rem;font-weight:500;padding:.45rem .875rem}.media-carousel-section[data-v-cbc35f2b]{background:linear-gradient(180deg,transparent 0,color-mix(in oklab,var(--panel) 50%,transparent) 100%);border-bottom:1px solid var(--line);border-top:1px solid var(--line);padding:2rem 0;width:100%}.carousel-wrapper[data-v-cbc35f2b]{--carousel-step:76%;display:flex;flex-direction:column;gap:1.5rem;margin:0 auto;max-width:900px;padding:0 2rem}.carousel-container[data-v-cbc35f2b]{align-items:center;aspect-ratio:auto;background:transparent;border:none;border-radius:0;display:flex;justify-content:center;min-height:300px;overflow:hidden;width:100%}.carousel-track[data-v-cbc35f2b]{display:flex;gap:2%;height:100%;transition:transform .72s cubic-bezier(.22,1,.36,1);width:100%;will-change:transform}.carousel-slide[data-v-cbc35f2b]{flex-shrink:0;padding:1.25rem .5rem;width:74%}.carousel-slide[data-v-cbc35f2b],.device-frame-container[data-v-cbc35f2b]{align-items:center;display:flex;height:100%;justify-content:center}.device-frame-container[data-v-cbc35f2b]{width:100%}.device-frame-container.device-mobile[data-v-cbc35f2b]{max-width:230px}.device-frame-container.device-tablet[data-v-cbc35f2b]{max-width:420px}.device-frame-container.device-web[data-v-cbc35f2b]{max-width:760px}.device-frame[data-v-cbc35f2b]{background:#000;border-radius:.75rem;box-shadow:0 22px 56px #00000038;display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative;width:100%}.device-frame.frame-mobile[data-v-cbc35f2b]{aspect-ratio:9/19;border:10px solid #1a1a1a;border-radius:2.5rem;max-width:230px}.device-frame.frame-mobile[data-v-cbc35f2b]:before{border-radius:0 0 1.5rem 1.5rem;height:24px;top:0;width:140px}.device-frame.frame-mobile[data-v-cbc35f2b]:after,.device-frame.frame-mobile[data-v-cbc35f2b]:before{background:#000;content:"";left:50%;position:absolute;transform:translate(-50%);z-index:10}.device-frame.frame-mobile[data-v-cbc35f2b]:after{border-radius:2px;bottom:8px;height:4px;width:110px}.device-frame.frame-tablet[data-v-cbc35f2b]{aspect-ratio:4/3;border:12px solid #1a1a1a;border-radius:1rem;max-width:420px}.device-frame.frame-web[data-v-cbc35f2b]{aspect-ratio:16/10;border:1px solid rgba(0,0,0,.1);border-radius:.75rem;max-width:760px}.device-frame.frame-web[data-v-cbc35f2b]:before{background:color-mix(in oklab,var(--panel-soft) 85%,#000 15%);border-bottom:1px solid color-mix(in oklab,var(--line) 80%,#000 20%);content:"";height:36px;left:0;position:absolute;right:0;top:0;z-index:5}.device-home-bar[data-v-cbc35f2b],.device-notch[data-v-cbc35f2b]{flex-shrink:0}.frame-screen[data-v-cbc35f2b]{align-items:center;background:color-mix(in oklab,var(--panel-soft) 80%,#000 20%);display:flex;flex:1;justify-content:center;overflow:hidden;padding-top:var(--web-header-height,0);position:relative}.device-frame.frame-web .frame-screen[data-v-cbc35f2b]{padding-top:36px}.frame-image[data-v-cbc35f2b]{background:transparent;height:100%;-o-object-fit:contain;object-fit:contain;width:100%}.carousel-controls[data-v-cbc35f2b]{gap:1.5rem}.carousel-btn[data-v-cbc35f2b],.carousel-controls[data-v-cbc35f2b]{align-items:center;display:flex;justify-content:center}.carousel-btn[data-v-cbc35f2b]{background:var(--panel);border:1px solid var(--line);border-radius:50%;color:var(--ink);cursor:pointer;height:44px;transition:all .2s ease;width:44px}.carousel-btn[data-v-cbc35f2b]:hover:not(:disabled){background:var(--brand);border-color:var(--brand);color:#fff;transform:scale(1.1)}.carousel-btn[data-v-cbc35f2b]:disabled{cursor:not-allowed;opacity:.4}.carousel-dots[data-v-cbc35f2b]{align-items:center;display:flex;gap:.5rem}.dot[data-v-cbc35f2b]{background:var(--line);border:none;border-radius:50%;cursor:pointer;height:8px;transition:all .2s ease;width:8px}.dot.active[data-v-cbc35f2b]{border-radius:999px;width:24px}.dot.active[data-v-cbc35f2b],.dot[data-v-cbc35f2b]:hover{background:var(--brand)}.carousel-hint[data-v-cbc35f2b]{align-items:center;animation:bounce-cbc35f2b 2s ease-in-out infinite;color:var(--ink-soft);display:inline-flex;font-size:.85rem;gap:.35rem;justify-content:center;min-height:1.25rem;text-align:center}.carousel-hint.is-hidden[data-v-cbc35f2b]{visibility:hidden}@keyframes bounce-cbc35f2b{0%,to{opacity:.5;transform:translateY(0)}50%{opacity:1;transform:translateY(4px)}}.detail-card[data-v-cbc35f2b]{border-top:1px solid var(--line);display:flex;flex-direction:column;gap:1.25rem;margin:0 auto;max-width:900px;padding:2rem;width:100%}.challenges-section[data-v-cbc35f2b]{padding-top:2.5rem}.features-section[data-v-cbc35f2b]{padding-bottom:2.5rem}.detail-grid[data-v-cbc35f2b]{display:grid;gap:2rem;grid-template-columns:1fr}@media(min-width:768px){.detail-grid[data-v-cbc35f2b]{grid-template-columns:1fr 1fr}}.detail-block[data-v-cbc35f2b]{display:flex;flex-direction:column;gap:.75rem}.detail-title[data-v-cbc35f2b]{align-items:center;color:var(--ink);display:inline-flex;font-size:1rem;font-weight:700;gap:.5rem;letter-spacing:.05em;margin:0;text-transform:uppercase}.detail-text[data-v-cbc35f2b]{color:var(--ink-soft);font-size:.95rem;line-height:1.65;margin:0}.features-list[data-v-cbc35f2b]{display:grid;gap:.875rem;grid-template-columns:1fr;list-style:none;margin:0;padding:0}@media(min-width:768px){.features-list[data-v-cbc35f2b]{gap:1.25rem;grid-template-columns:1fr 1fr}}.features-list li[data-v-cbc35f2b]{align-items:flex-start;color:var(--ink-soft);display:flex;font-size:.95rem;gap:1rem;line-height:1.6}.features-list li[data-v-cbc35f2b] svg{color:var(--brand);flex-shrink:0;margin-top:.2rem}@media(max-width:768px){.carousel-wrapper[data-v-cbc35f2b]{--carousel-step:86%}.project-intro[data-v-cbc35f2b]{gap:1rem;padding:2rem 1.5rem}.project-title[data-v-cbc35f2b]{font-size:1.75rem}.project-description[data-v-cbc35f2b]{font-size:.95rem}.media-carousel-section[data-v-cbc35f2b]{padding:1.5rem 0}.carousel-wrapper[data-v-cbc35f2b]{gap:1rem;padding:0 1rem}.carousel-slide[data-v-cbc35f2b]{padding:1rem .25rem;width:84%}.detail-card[data-v-cbc35f2b]{padding:1.5rem}.carousel-btn[data-v-cbc35f2b],.dot[data-v-cbc35f2b]{transform:scale(.9)}}@media(max-width:480px){.carousel-wrapper[data-v-cbc35f2b]{--carousel-step:90%}.project-intro[data-v-cbc35f2b]{padding:1.5rem 1rem}.project-title[data-v-cbc35f2b]{font-size:1.4rem}.project-meta[data-v-cbc35f2b]{font-size:.85rem}.actions-group[data-v-cbc35f2b]{flex-direction:column}.action-btn[data-v-cbc35f2b]{justify-content:center;width:100%}.tech-list[data-v-cbc35f2b]{gap:.5rem}.tech-tag[data-v-cbc35f2b]{font-size:.75rem;padding:.35rem .65rem}.carousel-wrapper[data-v-cbc35f2b]{padding:0 .75rem}.carousel-slide[data-v-cbc35f2b]{width:88%}.device-frame-container.device-mobile[data-v-cbc35f2b]{max-width:190px}.carousel-controls[data-v-cbc35f2b]{gap:1rem}.detail-card[data-v-cbc35f2b]{padding:1rem}}.meta-role[data-v-cbc35f2b]{color:var(--pop);font-weight:700}.nda-notice[data-v-cbc35f2b]{align-items:flex-start;background:color-mix(in oklab,var(--pop) 6%,transparent);border:1px dashed color-mix(in oklab,var(--pop) 45%,var(--line));border-radius:var(--radius);display:flex;gap:1.1rem;margin:0 auto;max-width:900px;padding:1.5rem 2rem;width:100%}.nda-notice-glyph[data-v-cbc35f2b]{align-items:center;background:var(--pop);color:var(--pop-ink);display:inline-flex;flex:0 0 auto;height:3rem;justify-content:center;width:3rem}.nda-notice-title[data-v-cbc35f2b]{color:var(--ink);font-family:Bricolage Grotesque,sans-serif;font-size:1.05rem;font-weight:700;margin:0 0 .35rem}.nda-notice-text[data-v-cbc35f2b]{color:var(--ink-soft);font-size:.9rem;line-height:1.55;margin:0}.filter-btn[data-v-0771bec6]{align-items:center;border-radius:9999px;border-width:1px;display:inline-flex;font-size:.875rem;font-weight:600;line-height:1.25rem;padding:.5rem 1rem;transition-duration:.3s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.filter-btn-active[data-v-0771bec6]{--tw-text-opacity:1;background:linear-gradient(120deg,var(--brand),var(--brand-strong));border-color:transparent;color:rgb(255 255 255/var(--tw-text-opacity,1))}.filter-btn-inactive[data-v-0771bec6]{background:color-mix(in oklab,var(--panel) 95%,transparent);border-color:var(--line);color:var(--ink-soft)}.filter-btn-inactive[data-v-0771bec6]:hover{border-color:color-mix(in oklab,var(--brand) 45%,var(--line));color:var(--ink)}.focus-chip[data-v-0771bec6]{background:color-mix(in oklab,var(--brand) 10%,transparent);border-color:color-mix(in oklab,var(--brand) 42%,var(--line));border-radius:9999px;border-width:1px;color:var(--brand-strong)}.focus-chip[data-v-0771bec6],.focus-clear-btn[data-v-0771bec6]{align-items:center;display:inline-flex;font-size:.875rem;font-weight:600;line-height:1.25rem;padding:.5rem 1rem}.focus-clear-btn[data-v-0771bec6]{background:color-mix(in oklab,var(--panel) 94%,transparent);border-color:var(--line);border-radius:9999px;border-width:1px;color:var(--ink-soft);transition-duration:.2s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.focus-clear-btn[data-v-0771bec6]:hover{border-color:color-mix(in oklab,var(--brand) 45%,var(--line));color:var(--ink)}.project-detail-stage[data-v-0771bec6]{padding-top:.2rem}.projects-view-enter-active[data-v-0771bec6],.projects-view-leave-active[data-v-0771bec6]{transition:opacity .42s cubic-bezier(.2,.75,.28,1),transform .42s cubic-bezier(.2,.75,.28,1),filter .42s cubic-bezier(.2,.75,.28,1)}.projects-view-enter-from[data-v-0771bec6]{filter:blur(8px) saturate(.9);opacity:0;transform:translateY(24px) scale(.988)}.projects-view-leave-to[data-v-0771bec6]{filter:blur(6px) saturate(.92);opacity:0;transform:translateY(-18px) scale(.992)}
