.overlay-root[data-v-ab1a5376]{display:contents}.modal-wrap[data-v-ab1a5376]{position:fixed;inset:0;z-index:200;display:flex;align-items:flex-start;justify-content:center;padding:60px 16px 40px;overflow-y:auto}.modal-backdrop[data-v-ab1a5376]{position:fixed;inset:0;background:rgba(0,0,0,.75);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-dialog[data-v-ab1a5376]{position:relative;z-index:1;width:100%;max-width:900px;border-radius:var(--radius);overflow:hidden;background:var(--bg-surface);border:1px solid var(--border);box-shadow:0 40px 100px -20px rgba(0,0,0,.8)}.modal-header[data-v-ab1a5376]{padding:28px 32px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;position:relative;min-height:200px;background-size:cover;background-position:50%}.modal-header-overlay[data-v-ab1a5376]{position:absolute;inset:0;pointer-events:none}.modal-title[data-v-ab1a5376]{font-family:Space Grotesk,sans-serif;font-size:1.5rem;font-weight:700;color:#fff;letter-spacing:-.01em;position:relative;z-index:1}.modal-close[data-v-ab1a5376]{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:hsla(0,0%,100%,.15);border:none;color:#fff;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease;position:relative;z-index:1;align-self:flex-start}.modal-close[data-v-ab1a5376]:hover{background:hsla(0,0%,100%,.3)}.modal-body[data-v-ab1a5376]{padding:0;background:var(--bg-surface)}.modal-content[data-v-ab1a5376]{padding:32px;color:var(--text-muted);font-size:.95rem;line-height:1.75}.modal-actions[data-v-ab1a5376]{padding:0 32px 28px;display:flex;justify-content:flex-start}.modal-enter-active[data-v-ab1a5376],.modal-leave-active[data-v-ab1a5376]{transition:opacity .25s ease}.modal-enter-active .modal-dialog[data-v-ab1a5376],.modal-leave-active .modal-dialog[data-v-ab1a5376]{transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .25s ease}.modal-enter[data-v-ab1a5376],.modal-leave-active[data-v-ab1a5376]{opacity:0}.modal-enter .modal-dialog[data-v-ab1a5376]{transform:translateY(20px) scale(.97);opacity:0}.modal-leave-active .modal-dialog[data-v-ab1a5376]{transform:translateY(10px);opacity:0}.modal-content .paragraph{margin:16px 0}.modal-content .center{text-align:center}.modal-content iframe.youtube{width:100%;min-height:300px;border-radius:8px}.modal-content .pc-screenshot,.modal-content .phone-screenshot{width:100%;border-radius:8px}.modal-content a{color:var(--accent);text-decoration:underline;opacity:1}.modal-content a:hover{opacity:.75}.modal-content ul{padding-left:20px}.modal-content li{margin:6px 0}.modal-content img[src*="badge-color.svg"]{height:40px}.modal-content img[src*="github.png"]{height:48px}@media (min-width:640px){.modal-content iframe.youtube{height:400px}.modal-content .phone-screenshot{margin:8px;width:260px}.modal-content .pc-screenshot{margin:8px;width:calc(50% - 16px);max-width:520px}}.modal-content .pc-screenshot,.modal-content .phone-screenshot{cursor:zoom-in;transition:transform .2s ease,box-shadow .2s ease}.modal-content .pc-screenshot:hover,.modal-content .phone-screenshot:hover{transform:scale(1.02);box-shadow:0 8px 32px rgba(0,0,0,.5)}.lightbox{position:fixed;inset:0;z-index:500;background:rgba(0,0,0,.92);display:flex;align-items:center;justify-content:center;padding:24px;cursor:zoom-out}.lightbox-img{max-width:100%;max-height:90vh;border-radius:8px;box-shadow:0 24px 80px rgba(0,0,0,.8);-o-object-fit:contain;object-fit:contain}.lightbox-close{position:absolute;top:20px;right:20px;width:40px;height:40px;border-radius:50%;background:hsla(0,0%,100%,.15);border:none;color:#fff;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.lightbox-close:hover{background:hsla(0,0%,100%,.3)}.lightbox-enter-active,.lightbox-leave-active{transition:opacity .2s ease}.lightbox-enter,.lightbox-leave-active{opacity:0}.featured-card[data-v-d2fd2f1a]{display:grid;grid-template-columns:1fr;border-radius:var(--radius);overflow:hidden;cursor:pointer;background:var(--bg-card);border:1px solid var(--border);margin-bottom:40px;transition:box-shadow .3s ease,transform .3s ease;min-height:380px;position:relative;-webkit-mask-image:-webkit-radial-gradient(#fff,#000)}.featured-card[data-v-d2fd2f1a]:hover{box-shadow:0 24px 64px -12px var(--accent-glow);transform:translateY(-3px)}.featured-image[data-v-d2fd2f1a]{position:absolute;inset:0;background-size:cover;background-position:50%;transition:transform .5s ease}.featured-card:hover .featured-image[data-v-d2fd2f1a]{transform:scale(1.03)}.featured-overlay[data-v-d2fd2f1a]{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,9,15,.95) 40%,rgba(7,9,15,.4))}.featured-content[data-v-d2fd2f1a]{position:relative;z-index:2;padding:48px 40px;display:flex;flex-direction:column;gap:16px;justify-content:center;max-width:480px}.featured-title[data-v-d2fd2f1a]{font-size:clamp(1.8rem,4vw,2.5rem);font-weight:700;color:var(--text);letter-spacing:-.02em}.featured-tags[data-v-d2fd2f1a]{display:flex;flex-wrap:wrap;gap:8px}.featured-cta[data-v-d2fd2f1a]{margin-top:8px;align-self:flex-start}.projects-grid[data-v-d2fd2f1a]{display:grid;grid-template-columns:1fr;gap:20px}.project-card[data-v-d2fd2f1a]{height:280px;border-radius:var(--radius);overflow:hidden;cursor:pointer;position:relative;background:var(--bg-card);border:1px solid var(--border);transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease}.project-card[data-v-d2fd2f1a]:hover{border-color:var(--border-accent);box-shadow:0 16px 48px -8px rgba(0,0,0,.5);transform:translateY(-4px)}.card-image[data-v-d2fd2f1a]{position:absolute;inset:0;background-size:cover;background-position:50%;transition:transform .5s cubic-bezier(.16,1,.3,1)}.project-card:hover .card-image[data-v-d2fd2f1a]{transform:scale(1.06)}.card-overlay[data-v-d2fd2f1a]{position:absolute;inset:0;background:rgba(7,9,15,0);display:flex;align-items:center;justify-content:center;transition:background .3s ease}.project-card:hover .card-overlay[data-v-d2fd2f1a]{background:rgba(7,9,15,.5)}.card-overlay-inner[data-v-d2fd2f1a]{display:flex;flex-direction:column;align-items:center;gap:8px;color:#fff;font-family:Space Grotesk,sans-serif;font-weight:600;font-size:.95rem;opacity:0;transform:translateY(8px);transition:opacity .3s ease,transform .3s ease}.card-overlay-inner i[data-v-d2fd2f1a]{font-size:1.4rem}.project-card:hover .card-overlay-inner[data-v-d2fd2f1a]{opacity:1;transform:translateY(0)}.card-footer[data-v-d2fd2f1a]{position:absolute;bottom:0;left:0;right:0;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:8px}.card-title[data-v-d2fd2f1a]{font-family:Space Grotesk,sans-serif;font-weight:600;font-size:.95rem;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-tags[data-v-d2fd2f1a]{display:flex;gap:6px;flex-shrink:0}.card-tag[data-v-d2fd2f1a]{font-size:.7rem;font-weight:500;padding:2px 8px;border-radius:99px;background:rgba(0,0,0,.35);color:hsla(0,0%,100%,.85);border:1px solid hsla(0,0%,100%,.15)}@media (min-width:640px){.projects-grid[data-v-d2fd2f1a]{grid-template-columns:repeat(2,1fr)}}@media (min-width:960px){.featured-card[data-v-d2fd2f1a]{grid-template-columns:1fr;min-height:440px}.projects-grid[data-v-d2fd2f1a]{grid-template-columns:repeat(3,1fr);grid-auto-rows:280px}.project-card.wide[data-v-d2fd2f1a]{grid-column:span 2}.project-card.high[data-v-d2fd2f1a]{grid-row:span 2}}.game-projects[data-v-da80cfa0]{padding-bottom:80px}