@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--color-background: #0f1419;--color-surface: #1a1f2e;--color-surface-elevated: #252b3d;--color-text: #e4e6eb;--color-text-secondary: #8b92a8;--color-text-muted: #6b7280;--color-accent: #3b82f6;--color-accent-hover: #2563eb;--color-commercial: #10b981;--color-tag-ai: rgba(124, 107, 184, .87);--color-tag-ai-bg: rgba(139, 92, 246, .08);--color-tag-frontend: rgba(199, 122, 77, .84);--color-tag-frontend-bg: rgba(249, 115, 22, .08);--color-tag-backend: rgba(107, 114, 196, .87);--color-tag-backend-bg: rgba(99, 102, 241, .08);--color-tag-fullstack: rgba(61, 138, 154, .87);--color-tag-fullstack-bg: rgba(6, 182, 212, .1);--color-tag-saas: rgba(45, 138, 103, .88);--color-tag-saas-bg: rgba(16, 185, 129, .1);--color-tag-payments: rgba(196, 131, 43, .87);--color-tag-payments-bg: rgba(245, 158, 11, .1);--color-tag-realtime: rgba(184, 81, 110, .82);--color-tag-realtime-bg: rgba(236, 72, 153, .1);--color-tag-api: rgba(111, 76, 194, .83);--color-tag-api-bg: rgba(139, 92, 246, .1);--color-tag-tools: rgba(90, 100, 117, .87);--color-tag-tools-bg: rgba(100, 116, 139, .1);--color-tag-game: rgba(128, 26, 26, .87);--color-tag-game-bg: rgba(97, 5, 12, .1);--color-border: #2d3748;--color-border-light: #374151;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--spacing-xs: .5rem;--spacing-sm: .75rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--spacing-4xl: 6rem;--spacing-5xl: 8rem;--spacing-6xl: 10rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 5rem;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .6);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.75;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--delay: .3s;--container-max-width: 1280px;--container-padding: var(--spacing-xl);--grid-columns: 12;--grid-gap: var(--spacing-lg);--grid-gap-mobile: var(--spacing-md);--card-height-small: 200px;--card-height-medium: 300px;--card-height-large: 400px;--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans),sans-serif;font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background-color:var(--color-background);min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:var(--leading-tight);color:var(--color-text)}h1{font-size:var(--text-5xl);font-weight:700}h2{font-size:var(--text-4xl)}h3{font-size:var(--text-3xl)}h4{font-size:var(--text-2xl)}h5{font-size:var(--text-xl)}h6{font-size:var(--text-lg)}p{margin-bottom:var(--spacing-md);color:var(--color-text-secondary)}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-base)}a:hover{color:var(--color-accent-hover)}ul,ol{list-style:none}img{max-width:100%;height:auto;display:block}button{font-family:inherit;cursor:pointer;border:none;background:none;transition:all var(--transition-base)}button:disabled{cursor:not-allowed;opacity:.5}.container{max-width:var(--container-max-width);margin:0 auto;padding:0 var(--container-padding)}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.text-accent{color:var(--color-accent)}.bento-grid{display:grid;grid-template-columns:repeat(var(--grid-columns),1fr);gap:var(--grid-gap);width:100%}.bento-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-xl);transition:all var(--transition-base);position:relative;overflow:hidden}.bento-card:hover{background:var(--color-surface-elevated);border-color:var(--color-border-light);transform:translateY(-4px);box-shadow:var(--shadow-lg)}.card-small{grid-column:span 3;min-height:var(--card-height-small)}.card-medium{grid-column:span 4;min-height:var(--card-height-medium)}.card-large{grid-column:span 6;min-height:var(--card-height-large)}.card-full{grid-column:1 / -1}.card-title{font-size:var(--text-xl);font-weight:600;margin-bottom:var(--spacing-sm);color:var(--color-text)}.card-description{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.card-image{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-lg)}.card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(15,20,25,.9) 0%,rgba(15,20,25,.4) 50%,transparent 100%);padding:var(--spacing-xl);display:flex;flex-direction:column;justify-content:flex-end;opacity:0;transition:opacity var(--transition-base)}.bento-card:hover .card-overlay{opacity:1}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.fade-in{animation:fadeIn var(--transition-slow)}.slide-up{animation:slideUp var(--transition-slow)}.scale-in{animation:scaleIn var(--transition-base)}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-background)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-md)}::-webkit-scrollbar-thumb:hover{background:var(--color-border-light)}@media(max-width:1024px){.card-small,.card-medium{grid-column:span 6}.card-large{grid-column:span 12}.bento-grid{gap:var(--grid-gap-mobile)}}@media(max-width:768px){:root{--container-padding: var(--spacing-lg)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}.bento-card{padding:var(--spacing-lg)}.card-small,.card-medium,.card-large{grid-column:span 12;min-height:auto}}@media(max-width:480px){:root{--container-padding: var(--spacing-md)}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}.bento-card{padding:var(--spacing-md)}.bento-grid{gap:var(--spacing-sm)}}.debug-grid{outline:1px solid rgba(255,0,0,.3)}.debug-card{outline:1px solid rgba(0,255,0,.3)}.navigation[data-v-197521fe]{position:sticky;top:0;z-index:100;background:transparent;border-bottom:1px solid transparent;transition:all var(--transition-base)}.navigation.is-scrolled[data-v-197521fe]{background:#0f1419cc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom-color:var(--color-border);box-shadow:var(--shadow-sm)}.nav-container[data-v-197521fe]{max-width:var(--container-max-width);margin:0 auto;padding:var(--spacing-lg) var(--container-padding);display:flex;align-items:center;justify-content:space-between}.nav-logo[data-v-197521fe]{font-size:var(--text-2xl);font-weight:700;color:var(--color-text);text-decoration:none;transition:opacity var(--transition-base);position:relative;z-index:1002}.nav-logo[data-v-197521fe]:hover{opacity:.8}.logo-dot[data-v-197521fe]{color:var(--color-accent)}.nav-menu[data-v-197521fe]{display:flex;gap:var(--spacing-xl);list-style:none;margin:0;padding:0}.nav-link[data-v-197521fe]{font-size:var(--text-base);color:var(--color-text-secondary);text-decoration:none;transition:color var(--transition-base);cursor:pointer}.nav-link[data-v-197521fe]:hover,.nav-link.router-link-active[data-v-197521fe]{color:var(--color-accent)}.nav-toggle[data-v-197521fe]{display:none;background:none;border:none;cursor:pointer;padding:var(--spacing-sm);position:relative;width:40px;height:40px;z-index:10001}.nav-toggle-icon[data-v-197521fe]{position:relative;display:block;width:24px;height:2px;background:var(--color-text);transition:all var(--transition-base)}.nav-toggle-icon[data-v-197521fe]:before,.nav-toggle-icon[data-v-197521fe]:after{content:"";position:absolute;left:0;width:24px;height:2px;background:var(--color-text);transition:all var(--transition-base)}.nav-toggle-icon[data-v-197521fe]:before{top:-8px}.nav-toggle-icon[data-v-197521fe]:after{bottom:-8px}.nav-toggle-icon.is-open[data-v-197521fe]{background:transparent}.nav-toggle-icon.is-open[data-v-197521fe]:before{top:0;transform:rotate(45deg)}.nav-toggle-icon.is-open[data-v-197521fe]:after{bottom:0;transform:rotate(-45deg)}.mobile-menu-overlay[data-v-197521fe]{position:fixed;inset:0;width:100vw;height:100vh;background:#0f1419fa;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10000;display:flex;align-items:center;justify-content:center}.mobile-menu-content[data-v-197521fe]{position:relative;width:100%;max-width:600px;padding:var(--spacing-2xl);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-3xl)}.mobile-menu-list[data-v-197521fe]{display:flex;flex-direction:column;gap:var(--spacing-xl);list-style:none;margin:0;padding:0;text-align:center;width:100%}.mobile-menu-link[data-v-197521fe]{display:block;font-size:var(--text-3xl);font-weight:600;color:var(--color-text);text-decoration:none;padding:var(--spacing-md) 0;transition:all var(--transition-base);position:relative}.mobile-menu-link[data-v-197521fe]:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%) scaleX(0);width:60%;height:2px;background:var(--color-accent);transition:transform var(--transition-base)}.mobile-menu-link[data-v-197521fe]:hover{color:var(--color-accent)}.mobile-menu-link[data-v-197521fe]:hover:after{transform:translate(-50%) scaleX(1)}.mobile-menu-enter-active[data-v-197521fe],.mobile-menu-leave-active[data-v-197521fe]{transition:opacity var(--transition-base)}.mobile-menu-enter-active .mobile-menu-content[data-v-197521fe],.mobile-menu-leave-active .mobile-menu-content[data-v-197521fe]{transition:transform var(--transition-base)}.mobile-menu-enter-from[data-v-197521fe],.mobile-menu-leave-to[data-v-197521fe]{opacity:0}.mobile-menu-enter-from .mobile-menu-content[data-v-197521fe],.mobile-menu-leave-to .mobile-menu-content[data-v-197521fe]{transform:scale(.95)}@media(max-width:768px){.nav-menu[data-v-197521fe]{display:none}.nav-toggle[data-v-197521fe]{display:block}.nav-container[data-v-197521fe]{padding:var(--spacing-md) var(--spacing-lg)}}@media(max-width:480px){.nav-logo[data-v-197521fe]{font-size:var(--text-xl)}.mobile-menu-link[data-v-197521fe]{font-size:var(--text-2xl)}.mobile-menu-content[data-v-197521fe]{padding:var(--spacing-xl)}}#app{min-height:100vh;display:flex;flex-direction:column;background:var(--color-background)}.main-content{flex:1;width:100%;max-width:var(--container-max-width);margin:0 auto;padding:var(--spacing-2xl) var(--container-padding);position:relative}.slide-down-enter-active{animation:slideDownIn .4s cubic-bezier(.25,.46,.45,.94)}.slide-down-leave-active{animation:slideDownOut .3s cubic-bezier(.55,.055,.675,.19)}@keyframes slideDownIn{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes slideDownOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20%)}}.slide-up-enter-active{animation:slideUpIn .4s cubic-bezier(.25,.46,.45,.94)}.slide-up-leave-active{animation:slideUpOut .3s cubic-bezier(.55,.055,.675,.19)}@keyframes slideUpIn{0%{opacity:0;transform:translateY(20%)}to{opacity:1;transform:translateY(0)}}@keyframes slideUpOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}@media(max-width:768px){.main-content{padding:var(--spacing-xl) var(--spacing-md)}.slide-down-enter-active,.slide-up-enter-active{animation-duration:.3s}.slide-down-leave-active,.slide-up-leave-active{animation-duration:.2s}}@media(max-width:480px){.main-content{padding:var(--spacing-lg) var(--spacing-sm)}}@media(prefers-reduced-motion:reduce){.slide-down-enter-active,.slide-down-leave-active,.slide-up-enter-active,.slide-up-leave-active,.page-enter-active,.page-leave-active{animation:none;transition:none}}.hero-card-content[data-v-e0edb5cd]{display:flex;flex-direction:column;gap:var(--spacing-2xl);height:100%}.hero-avatar[data-v-e0edb5cd]{width:96px;height:96px;flex-shrink:0}.avatar-image[data-v-e0edb5cd]{width:100%;height:100%;border-radius:var(--radius-lg);object-fit:cover;border:2px solid var(--color-border);transition:all var(--transition-base);user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.hero-card-content:hover .avatar-image[data-v-e0edb5cd]{border-color:var(--color-accent)}.hero-info[data-v-e0edb5cd]{display:flex;flex-direction:column;gap:var(--spacing-md);flex:1}.hero-title[data-v-e0edb5cd]{font-size:var(--text-4xl);font-weight:700;color:var(--color-text);line-height:var(--leading-tight);margin:0}.hero-role[data-v-e0edb5cd]{font-size:var(--text-lg);color:var(--color-accent);font-weight:600;margin:0;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.hero-description[data-v-e0edb5cd]{font-size:var(--text-base);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin:0;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.hero-social[data-v-e0edb5cd]{display:flex;gap:var(--spacing-sm);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.social-link[data-v-e0edb5cd]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);background:transparent;border:1px solid var(--color-border);color:var(--color-text-secondary);transition:all var(--transition-base);cursor:pointer;padding:0}.social-link[data-v-e0edb5cd]:hover{background:var(--color-surface-elevated);border-color:var(--color-accent);color:var(--color-accent);transform:translateY(-2px)}.social-link svg[data-v-e0edb5cd]{transition:transform var(--transition-fast)}.social-link:hover svg[data-v-e0edb5cd]{transform:scale(1.1)}@media(max-width:1024px){.hero-title[data-v-e0edb5cd]{font-size:var(--text-3xl)}}@media(max-width:768px){.hero-card-content[data-v-e0edb5cd]{gap:var(--spacing-xl)}.hero-avatar[data-v-e0edb5cd]{width:80px;height:80px}.hero-title[data-v-e0edb5cd]{font-size:var(--text-2xl)}.hero-role[data-v-e0edb5cd]{font-size:var(--text-base)}.hero-description[data-v-e0edb5cd]{font-size:var(--text-sm)}}@media(max-width:640px){.hero-avatar[data-v-e0edb5cd]{width:72px;height:72px}.hero-title[data-v-e0edb5cd]{font-size:var(--text-xl)}}@media(max-width:480px){.hero-avatar[data-v-e0edb5cd]{width:64px;height:64px}}.marquee-container[data-v-fdd50463]{position:relative;padding-left:1px;width:100%;height:120px;overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,transparent,black 20%,black 80%,transparent);mask-image:linear-gradient(to bottom,transparent,black 20%,black 80%,transparent)}.marquee-track[data-v-fdd50463]{display:flex;flex-direction:column;gap:var(--spacing-xs);will-change:transform}.marquee-up[data-v-fdd50463]{animation:marquee-up-fdd50463 25s linear infinite}.marquee-down[data-v-fdd50463]{animation:marquee-down-fdd50463 25s linear infinite}@keyframes marquee-up-fdd50463{0%{transform:translateY(0)}to{transform:translateY(-70%)}}@keyframes marquee-down-fdd50463{0%{transform:translateY(-70%)}to{transform:translateY(0)}}.tech-badge[data-v-fdd50463]{flex-shrink:0;padding:var(--spacing-xs) var(--spacing-sm);background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:500;color:var(--color-text);white-space:nowrap;transition:all var(--transition-base);-webkit-user-select:none;user-select:none;backface-visibility:hidden}.tech-badge[data-v-fdd50463]:hover{background:#ffffff1a;border-color:var(--color-accent);box-shadow:0 0 12px var(--color-surface)}.tech-badge span[data-v-fdd50463]{display:block}.fact-card[data-v-146fdb62]{display:flex;flex-direction:row;align-items:stretch;gap:var(--spacing-md);padding:var(--spacing-xl);animation:fadeInScale-146fdb62 var(--transition-slow) ease-out;animation-delay:var(--delay);animation-fill-mode:both;transition:all var(--transition-base);overflow:hidden;min-height:0}.fact-card.has-marquee[data-v-146fdb62]{padding-right:var(--spacing-md)}@keyframes fadeInScale-146fdb62{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.fact-card[data-v-146fdb62]:hover{transform:translateY(-4px)}.fact-main[data-v-146fdb62]{display:flex;flex-direction:column;gap:var(--spacing-md);flex:1;min-width:0}.fact-icon[data-v-146fdb62]{color:var(--color-accent);display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#3b82f61a;border-radius:var(--radius-md);flex-shrink:0;-webkit-user-select:none;user-select:none}.fact-content[data-v-146fdb62]{display:flex;flex-direction:column;gap:var(--spacing-xs)}.fact-value[data-v-146fdb62]{font-size:var(--text-2xl);font-weight:700;color:var(--color-text);line-height:var(--leading-tight);-webkit-user-select:none;user-select:none}.fact-label[data-v-146fdb62]{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-tight);-webkit-user-select:none;user-select:none}.tech-marquees[data-v-146fdb62]{display:flex;gap:var(--spacing-sm);flex-shrink:0;width:85%;height:100%;min-width:100px}.fact-1[data-v-146fdb62]{grid-column:3 / 4;grid-row:1 / 2}.fact-2[data-v-146fdb62]{grid-column:4 / 5;grid-row:1 / 2}.fact-3[data-v-146fdb62]{grid-column:3 / 4;grid-row:2 / 3}.fact-4[data-v-146fdb62]{grid-column:4 / 5;grid-row:2 / 3}.fact-5[data-v-146fdb62]{grid-column:3 / 4;grid-row:3 / 4}.fact-6[data-v-146fdb62]{grid-column:4 / 5;grid-row:3 / 4}@media(max-width:1200px){.fact-1[data-v-146fdb62]{grid-column:3 / 4;grid-row:1 / 2}.fact-2[data-v-146fdb62]{grid-column:3 / 4;grid-row:2 / 3}.fact-3[data-v-146fdb62]{grid-column:1 / 2;grid-row:3 / 4}.fact-4[data-v-146fdb62]{grid-column:2 / 3;grid-row:3 / 4}.fact-5[data-v-146fdb62]{grid-column:1 / 2;grid-row:4 / 5}.fact-6[data-v-146fdb62]{grid-column:2 / 3;grid-row:4 / 5}.tech-marquees[data-v-146fdb62]{width:85%;min-width:90px}}@media(max-width:900px){.fact-1[data-v-146fdb62],.fact-2[data-v-146fdb62],.fact-3[data-v-146fdb62],.fact-4[data-v-146fdb62],.fact-5[data-v-146fdb62],.fact-6[data-v-146fdb62]{grid-column:span 1;grid-row:auto}.tech-marquees[data-v-146fdb62]{width:85%;min-width:80px}}@media(max-width:640px){.fact-card[data-v-146fdb62]{padding:var(--spacing-lg);gap:var(--spacing-sm)}.fact-icon[data-v-146fdb62]{width:40px;height:40px}.fact-value[data-v-146fdb62]{font-size:var(--text-xl)}.fact-label[data-v-146fdb62]{font-size:var(--text-xs)}.tech-marquees[data-v-146fdb62]{width:85%;min-width:60px}}@media(max-width:480px){.fact-card[data-v-146fdb62]{padding:var(--spacing-md)}.tech-marquees[data-v-146fdb62]{width:85%;min-width:50px}}.project-card[data-v-05d78e98]{display:flex;flex-direction:column;cursor:pointer;position:relative;overflow:hidden;transition:all var(--transition-base)}.project-card.is-commercial[data-v-05d78e98]:hover{border-color:var(--color-commercial);box-shadow:0 8px 30px #10b98126}.card-image-wrapper[data-v-05d78e98]{position:absolute;inset:0;z-index:0}.card-image[data-v-05d78e98]{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.project-card:hover .card-image[data-v-05d78e98]{transform:scale(1.05)}.card-overlay[data-v-05d78e98]{position:absolute;inset:0;background:linear-gradient(to bottom,#0f1419b3,#0f1419d9,#0f1419f2)}.card-content[data-v-05d78e98]{position:relative;z-index:1;display:flex;flex-direction:column;gap:var(--spacing-md);height:100%}.card-meta[data-v-05d78e98]{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.card-type-badge[data-v-05d78e98]{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.card-type-badge.type-commercial[data-v-05d78e98]{background:#10b98126;color:var(--color-commercial);border:1px solid var(--color-commercial)}.card-type-badge.type-personal[data-v-05d78e98]{background:#3b82f626;color:var(--color-accent);border:1px solid var(--color-accent)}.card-text[data-v-05d78e98]{display:flex;flex-direction:column;gap:var(--spacing-sm)}.card-title[data-v-05d78e98]{font-size:var(--text-xl);font-weight:600;color:var(--color-text);line-height:var(--leading-tight);margin:0}.card-description[data-v-05d78e98]{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0}.card-preview[data-v-05d78e98]{flex:1;border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface-elevated);border:1px solid var(--color-border);min-height:200px;display:flex;align-items:center;justify-content:center}.preview-image[data-v-05d78e98]{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-base)}.project-card:hover .preview-image[data-v-05d78e98]{transform:scale(1.02)}.card-tags[data-v-05d78e98]{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.tag-badge[data-v-05d78e98]{padding:4px var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;transition:all var(--transition-fast)}.tag-badge.tag-frontend[data-v-05d78e98]{background:var(--color-tag-frontend-bg);color:var(--color-tag-frontend);border:1px solid var(--color-tag-frontend)}.tag-badge.tag-backend[data-v-05d78e98]{background:var(--color-tag-backend-bg);color:var(--color-tag-backend);border:1px solid var(--color-tag-backend)}.tag-badge.tag-ai[data-v-05d78e98]{background:var(--color-tag-ai-bg);color:var(--color-tag-ai);border:1px solid var(--color-tag-ai)}.tag-badge.tag-fullstack[data-v-05d78e98]{background:var(--color-tag-fullstack-bg);color:var(--color-tag-fullstack);border:1px solid var(--color-tag-fullstack)}.tag-badge.tag-saas[data-v-05d78e98]{background:var(--color-tag-saas-bg);color:var(--color-tag-saas);border:1px solid var(--color-tag-saas)}.tag-badge.tag-payments[data-v-05d78e98]{background:var(--color-tag-payments-bg);color:var(--color-tag-payments);border:1px solid var(--color-tag-payments)}.tag-badge.tag-realtime[data-v-05d78e98]{background:var(--color-tag-realtime-bg);color:var(--color-tag-realtime);border:1px solid var(--color-tag-realtime)}.tag-badge.tag-api[data-v-05d78e98]{background:var(--color-tag-api-bg);color:var(--color-tag-api);border:1px solid var(--color-tag-api)}.tag-badge.tag-tools[data-v-05d78e98]{background:var(--color-tag-tools-bg);color:var(--color-tag-tools);border:1px solid var(--color-tag-tools)}.tag-badge.tag-game[data-v-05d78e98]{background:var(--color-tag-game-bg);color:var(--color-tag-game);border:1px solid var(--color-tag-game)}.card-technologies[data-v-05d78e98]{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.tech-tag[data-v-05d78e98]{padding:4px var(--spacing-sm);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-xs);font-family:var(--font-mono),sans-serif;color:var(--color-text-secondary);white-space:nowrap;transition:all var(--transition-fast)}.tech-tag[data-v-05d78e98]:hover{background:var(--color-border);color:var(--color-text)}.tech-tag.tech-frontend[data-v-05d78e98]{border-color:#3b82f64d}.tech-tag.tech-backend[data-v-05d78e98]{border-color:#10b9814d}.tech-tag.tech-database[data-v-05d78e98]{border-color:#f59e0b4d}.tech-tag.tech-devops[data-v-05d78e98]{border-color:#8b5cf64d}.tech-tag.tech-tools[data-v-05d78e98]{border-color:#ec48994d}.tech-more[data-v-05d78e98]{background:transparent;border-style:dashed;color:var(--color-text-muted)}.card-actions[data-v-05d78e98]{display:flex;gap:var(--spacing-sm);margin-top:auto}.action-button[data-v-05d78e98]{height:40px;padding:0 var(--spacing-md);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;transition:all var(--transition-base);cursor:pointer;border:none;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);flex-shrink:0}.action-button.primary[data-v-05d78e98]{flex:1;background:var(--color-accent);color:#fff;min-width:120px}.action-button.primary[data-v-05d78e98]:hover{background:var(--color-accent-hover);transform:translateY(-2px)}.action-button.primary .action-arrow[data-v-05d78e98]{transition:transform var(--transition-fast)}.action-button.primary:hover .action-arrow[data-v-05d78e98]{transform:translate(4px)}.action-button.secondary[data-v-05d78e98]{width:40px;height:40px;padding:0;background:var(--color-surface-elevated);border:1px solid var(--color-border);color:var(--color-text-secondary)}.action-button.secondary[data-v-05d78e98]:hover{background:var(--color-border);border-color:var(--color-accent);color:var(--color-accent)}.action-button.secondary svg[data-v-05d78e98]{transition:transform var(--transition-fast)}.action-button.secondary:hover svg[data-v-05d78e98]{transform:scale(1.1)}.card-small .card-title[data-v-05d78e98]{font-size:var(--text-lg)}.card-small .card-description[data-v-05d78e98]{-webkit-line-clamp:1;font-size:var(--text-xs)}.card-large .card-title[data-v-05d78e98]{font-size:var(--text-2xl)}.card-large .card-description[data-v-05d78e98]{-webkit-line-clamp:3;font-size:var(--text-base)}@media(max-width:900px){.card-content[data-v-05d78e98]{gap:var(--spacing-sm)}.card-title[data-v-05d78e98]{font-size:var(--text-lg)}.card-description[data-v-05d78e98]{font-size:var(--text-sm)}.action-button[data-v-05d78e98]{height:38px;font-size:var(--text-sm)}.action-button.secondary[data-v-05d78e98]{width:38px;height:38px}}@media(max-width:640px){.card-content[data-v-05d78e98]{gap:var(--spacing-sm)}.card-meta[data-v-05d78e98]{gap:var(--spacing-xs)}.card-type-badge[data-v-05d78e98]{font-size:10px;padding:4px 8px}.card-title[data-v-05d78e98]{font-size:var(--text-base);line-height:1.3}.card-description[data-v-05d78e98]{font-size:var(--text-xs);-webkit-line-clamp:2;line-height:1.5}.card-technologies[data-v-05d78e98]{gap:4px}.tech-tag[data-v-05d78e98]{font-size:10px;padding:3px 6px}.card-actions[data-v-05d78e98]{flex-wrap:nowrap;gap:var(--spacing-xs)}.action-button[data-v-05d78e98]{height:36px;font-size:var(--text-xs);padding:0 var(--spacing-sm)}.action-button.primary[data-v-05d78e98]{min-width:100px}.action-button.primary span[data-v-05d78e98]{white-space:nowrap}.action-button.secondary[data-v-05d78e98]{width:36px;height:36px;flex-shrink:0}.action-button.secondary svg[data-v-05d78e98]{width:16px;height:16px}.card-small .card-title[data-v-05d78e98]{font-size:var(--text-sm)}.card-small .card-description[data-v-05d78e98]{display:none}.card-small .action-button[data-v-05d78e98]{height:32px;font-size:10px}.card-small .action-button.secondary[data-v-05d78e98]{width:32px;height:32px}}@media(max-width:480px){.card-title[data-v-05d78e98]{font-size:var(--text-sm)}.card-description[data-v-05d78e98]{font-size:11px}.action-button[data-v-05d78e98]{height:34px;font-size:11px}.action-button.primary[data-v-05d78e98]{min-width:90px;padding:0 10px}.action-button.secondary[data-v-05d78e98]{width:34px;height:34px}}.project-grid-wrapper[data-v-36039fe8]{width:100%}.bento-grid[data-v-36039fe8]{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-lg);grid-auto-rows:minmax(280px,auto)}.bento-grid[data-v-36039fe8] .card-large{grid-column:span 2;grid-row:span 2}.bento-grid[data-v-36039fe8] .card-medium{grid-column:span 2;grid-row:span 1}.bento-grid[data-v-36039fe8] .card-small{grid-column:span 1;grid-row:span 1}@media(max-width:1200px){.bento-grid[data-v-36039fe8]{grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);margin:0 auto}.bento-grid[data-v-36039fe8] .card-large,.bento-grid[data-v-36039fe8] .card-medium{grid-column:span 2;grid-row:span 1}.bento-grid[data-v-36039fe8] .card-small{grid-column:span 1;grid-row:span 1}}@media(max-width:900px){.bento-grid[data-v-36039fe8]{grid-template-columns:repeat(2,1fr)}.bento-grid[data-v-36039fe8] .card-large,.bento-grid[data-v-36039fe8] .card-medium{grid-column:span 2;grid-row:span 1}.bento-grid[data-v-36039fe8] .card-small{grid-column:span 1;grid-row:span 1}}@media(max-width:640px){.bento-grid[data-v-36039fe8]{grid-template-columns:1fr;gap:var(--spacing-sm);grid-auto-rows:minmax(320px,auto)}.bento-grid[data-v-36039fe8] .card-large,.bento-grid[data-v-36039fe8] .card-medium,.bento-grid[data-v-36039fe8] .card-small{grid-column:span 1;grid-row:span 1}}.contact-links[data-v-a9d81e8a]{display:flex;gap:var(--spacing-lg);flex-wrap:wrap;justify-content:center}.contact-link[data-v-a9d81e8a]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);text-decoration:none;font-size:var(--text-sm);font-weight:500;transition:all var(--transition-base)}.contact-link[data-v-a9d81e8a]:hover{background:var(--color-surface);border-color:var(--color-accent);color:var(--color-text);transform:translateY(-2px)}.contact-icon[data-v-a9d81e8a]{display:flex;align-items:center;justify-content:center;color:var(--color-accent)}.contact-icon[data-v-a9d81e8a] svg{width:20px;height:20px}.contact-name[data-v-a9d81e8a]{font-size:var(--text-sm);font-weight:500}@media(max-width:768px){.contact-links[data-v-a9d81e8a]{gap:var(--spacing-md)}.contact-link[data-v-a9d81e8a]{padding:var(--spacing-sm) var(--spacing-md)}.contact-name[data-v-a9d81e8a]{font-size:var(--text-xs)}}@media(max-width:480px){.contact-links[data-v-a9d81e8a]{flex-direction:column;width:100%;gap:var(--spacing-sm)}.contact-link[data-v-a9d81e8a]{justify-content:center}}.footer[data-v-584d82ab]{padding:var(--spacing-5xl) 0 var(--spacing-3xl) 0;border-top:1px solid var(--color-border)}.footer-container[data-v-584d82ab]{max-width:1200px;margin:0 auto;padding:0 var(--spacing-xl)}.footer-contacts[data-v-584d82ab]{text-align:center}.footer-title[data-v-584d82ab]{margin:0 0 var(--spacing-2xl) 0;font-size:var(--text-2xl);font-weight:600;color:var(--color-text)}@media(max-width:768px){.footer[data-v-584d82ab]{padding:var(--spacing-3xl) 0 var(--spacing-2xl) 0}.footer-title[data-v-584d82ab]{font-size:var(--text-xl);margin-bottom:var(--spacing-xl)}}@media(max-width:480px){.footer[data-v-584d82ab]{padding:var(--spacing-2xl) 0}.footer-container[data-v-584d82ab]{padding:0 var(--spacing-md)}}.home-view[data-v-7f8b2205]{padding:var(--spacing-3xl) 0 0 0}.hero-bento-grid[data-v-7f8b2205]{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,minmax(160px,auto));gap:var(--spacing-lg);margin-bottom:var(--spacing-5xl)}.hero-main[data-v-7f8b2205]{grid-column:1 / 3;grid-row:1 / 4;padding:var(--spacing-2xl)}.section-header[data-v-7f8b2205]{text-align:center;margin-bottom:var(--spacing-3xl)}.section-header h2[data-v-7f8b2205]{font-size:var(--text-4xl);font-weight:700;margin-bottom:var(--spacing-md);background:linear-gradient(135deg,var(--color-text),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-header p[data-v-7f8b2205]{color:var(--color-text-secondary);font-size:var(--text-lg)}.projects-section[data-v-7f8b2205]{margin-bottom:var(--spacing-5xl)}@media(max-width:1200px){.hero-bento-grid[data-v-7f8b2205]{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,minmax(150px,auto))}.hero-main[data-v-7f8b2205]{grid-column:1 / 3;grid-row:1 / 3}}@media(max-width:900px){.hero-bento-grid[data-v-7f8b2205]{grid-template-columns:repeat(2,1fr);grid-template-rows:auto;gap:var(--spacing-md)}.hero-main[data-v-7f8b2205]{grid-column:1 / 3;grid-row:1 / 2;min-height:400px}}@media(max-width:640px){.home-view[data-v-7f8b2205]{padding:var(--spacing-2xl) 0 0 0}.hero-bento-grid[data-v-7f8b2205]{grid-template-columns:1fr;gap:var(--spacing-sm);margin-bottom:var(--spacing-3xl)}.hero-main[data-v-7f8b2205]{grid-column:1;grid-row:auto;min-height:auto;padding:var(--spacing-xl)}.section-header h2[data-v-7f8b2205]{font-size:var(--text-2xl)}.section-header p[data-v-7f8b2205]{font-size:var(--text-base)}.projects-section[data-v-7f8b2205]{margin-bottom:var(--spacing-3xl)}}@media(max-width:480px){.home-view[data-v-7f8b2205]{padding:var(--spacing-xl) 0 0 0}.hero-main[data-v-7f8b2205]{padding:var(--spacing-lg)}.section-header h2[data-v-7f8b2205]{font-size:var(--text-xl)}}.btn[data-v-cf954f37]{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);font-weight:500;border-radius:var(--radius-md);transition:all var(--transition-base);cursor:pointer;border:none;font-family:inherit;white-space:nowrap}.btn[data-v-cf954f37]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn-primary[data-v-cf954f37]{background:var(--color-accent);color:#fff}.btn-primary[data-v-cf954f37]:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary[data-v-cf954f37]{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary[data-v-cf954f37]:hover:not(:disabled){background:var(--color-surface-elevated);border-color:var(--color-border-light)}.btn-ghost[data-v-cf954f37]{background:transparent;color:var(--color-text-secondary)}.btn-ghost[data-v-cf954f37]:hover:not(:disabled){background:var(--color-surface);color:var(--color-text)}.btn-outline[data-v-cf954f37]{background:transparent;color:var(--color-accent);border:1px solid var(--color-accent)}.btn-outline[data-v-cf954f37]:hover:not(:disabled){background:var(--color-accent-hover);color:#fff;border-color:var(--color-accent-hover)}.btn-sm[data-v-cf954f37]{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--text-sm)}.btn-md[data-v-cf954f37]{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--text-base)}.btn-lg[data-v-cf954f37]{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--text-lg)}.btn-block[data-v-cf954f37]{width:100%}.btn[data-v-cf954f37]:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.image-gallery[data-v-d7bfb0e0]{width:100%}.main-image-container[data-v-d7bfb0e0]{position:relative;width:100%;border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface);aspect-ratio:16 / 9;touch-action:pan-y pinch-zoom}.image-wrapper[data-v-d7bfb0e0]{width:100%;height:100%;transition:transform .3s cubic-bezier(.4,0,.2,1)}.image-wrapper.is-dragging[data-v-d7bfb0e0]{transition:none}.main-image[data-v-d7bfb0e0]{width:100%;height:100%;object-fit:cover;display:block;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.gallery-nav[data-v-d7bfb0e0]{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);display:flex;justify-content:space-between;padding:0 var(--spacing-md);pointer-events:none}.nav-btn[data-v-d7bfb0e0]{pointer-events:all;width:40px;height:40px;border-radius:50%;background:#111827cc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-base);opacity:0}.main-image-container:hover .nav-btn[data-v-d7bfb0e0]{opacity:1}.nav-btn[data-v-d7bfb0e0]:hover:not(:disabled){background:#111827f2;transform:scale(1.1)}.nav-btn[data-v-d7bfb0e0]:disabled{opacity:.3;cursor:not-allowed}.page-indicator[data-v-d7bfb0e0]{position:absolute;bottom:var(--spacing-md);left:50%;transform:translate(-50%);padding:var(--spacing-xs) var(--spacing-md);background:#111827cc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-full);color:#fff;font-size:var(--text-sm);font-weight:500;pointer-events:none;border:1px solid rgba(255,255,255,.1)}.thumbnails[data-v-d7bfb0e0]{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--spacing-sm);margin-top:var(--spacing-md)}.thumbnail[data-v-d7bfb0e0]{position:relative;aspect-ratio:16 / 9;border-radius:var(--radius-md);overflow:hidden;cursor:pointer;border:2px solid transparent;transition:all var(--transition-base);background:var(--color-surface)}.thumbnail img[data-v-d7bfb0e0]{width:100%;height:100%;object-fit:cover;display:block}.thumbnail[data-v-d7bfb0e0]:hover{border-color:var(--color-accent);transform:translateY(-2px)}.thumbnail.active[data-v-d7bfb0e0]{border-color:var(--color-accent);box-shadow:0 0 0 2px #3b82f633}@media(max-width:768px){.thumbnails[data-v-d7bfb0e0]{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.nav-btn[data-v-d7bfb0e0]{width:36px;height:36px;opacity:.6}.gallery-nav[data-v-d7bfb0e0]{padding:0 var(--spacing-sm)}.page-indicator[data-v-d7bfb0e0]{font-size:var(--text-xs);padding:6px var(--spacing-sm)}}@media(hover:hover)and (pointer:fine){.nav-btn[data-v-d7bfb0e0]{opacity:0}.main-image-container:hover .nav-btn[data-v-d7bfb0e0]{opacity:1}}.feature-list[data-v-10fa274d]{padding:var(--spacing-xl);background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.feature-list-title[data-v-10fa274d]{margin:0 0 var(--spacing-lg) 0;font-size:var(--text-xl);font-weight:600;color:var(--color-text)}.features[data-v-10fa274d]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-md)}.feature-item[data-v-10fa274d]{display:flex;align-items:flex-start;gap:var(--spacing-sm)}.feature-item-detailed[data-v-10fa274d]{gap:var(--spacing-md)}.feature-icon[data-v-10fa274d]{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:#3b82f61a;display:flex;align-items:center;justify-content:center;color:var(--color-accent);margin-top:2px}.feature-text[data-v-10fa274d]{flex:1;font-size:var(--text-base);color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.feature-content[data-v-10fa274d]{flex:1}.feature-title[data-v-10fa274d]{margin:0 0 var(--spacing-xs) 0;font-size:var(--text-base);font-weight:600;color:var(--color-text);line-height:var(--leading-normal)}.feature-description[data-v-10fa274d]{margin:0;font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed)}@media(max-width:768px){.feature-list[data-v-10fa274d]{padding:var(--spacing-lg)}.feature-title[data-v-10fa274d]{font-size:var(--text-sm)}.feature-description[data-v-10fa274d]{font-size:var(--text-xs)}}.project-links[data-v-02f51704]{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.project-link[data-v-02f51704]{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;text-decoration:none;transition:all var(--transition-base);border:1px solid var(--color-border)}.project-link-github[data-v-02f51704]{background:var(--color-surface);color:var(--color-text)}.project-link-github[data-v-02f51704]:hover{background:#24292e;color:#fff;border-color:#24292e;transform:translateY(-2px)}.project-link-demo[data-v-02f51704]{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.project-link-demo[data-v-02f51704]:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.project-link-website[data-v-02f51704]{background:var(--color-surface);color:var(--color-text)}.project-link-website[data-v-02f51704]:hover{background:var(--color-accent);color:#fff;border-color:var(--color-accent);transform:translateY(-2px)}@media(max-width:480px){.project-links[data-v-02f51704]{flex-direction:column}.project-link[data-v-02f51704]{width:100%;justify-content:center}}.tech-stack[data-v-f45554ac]{padding:var(--spacing-xl);background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.tech-stack-title[data-v-f45554ac]{margin:0 0 var(--spacing-lg) 0;font-size:var(--text-xl);font-weight:600;color:var(--color-text)}.tech-category[data-v-f45554ac]{margin-bottom:var(--spacing-lg)}.tech-category[data-v-f45554ac]:last-child{margin-bottom:0}.category-title[data-v-f45554ac]{margin:0 0 var(--spacing-sm) 0;font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.tech-list[data-v-f45554ac]{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.tech-tag[data-v-f45554ac]{padding:var(--spacing-xs) var(--spacing-md);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);transition:all var(--transition-base)}.tech-tag[data-v-f45554ac]:hover{background:var(--color-accent);color:#fff;border-color:var(--color-accent);transform:translateY(-2px)}@media(max-width:768px){.tech-stack[data-v-f45554ac]{padding:var(--spacing-lg)}.tech-tag[data-v-f45554ac]{font-size:var(--text-xs);padding:6px var(--spacing-sm)}.category-title[data-v-f45554ac]{font-size:var(--text-xs)}}.project-detail-wrapper[data-v-08e859e5]{padding:var(--spacing-3xl) 0;min-height:100vh}.loading-state[data-v-08e859e5],.error-state[data-v-08e859e5]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-lg);min-height:400px;text-align:center}.spinner[data-v-08e859e5]{width:48px;height:48px;border:4px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin-08e859e5 1s linear infinite}@keyframes spin-08e859e5{to{transform:rotate(360deg)}}.project-header[data-v-08e859e5]{margin-bottom:var(--spacing-3xl)}.project-meta[data-v-08e859e5]{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-wrap:wrap}.project-type[data-v-08e859e5],.project-tag[data-v-08e859e5]{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:500;border:1px solid var(--color-border)}.project-type.type-commercial[data-v-08e859e5]{background:#10b9811a;border-color:var(--color-commercial);color:var(--color-commercial)}.project-type.type-pet[data-v-08e859e5]{background:#3b82f61a;border-color:var(--color-accent);color:var(--color-accent)}.project-tag.tag-ai[data-v-08e859e5]{background:#8b5cf61a;border-color:var(--color-tag-ai);color:var(--color-tag-ai)}.project-tag.tag-frontend[data-v-08e859e5]{background:#f9781e1a;border-color:var(--color-tag-frontend);color:var(--color-tag-frontend)}.project-tag.tag-backend[data-v-08e859e5]{background:#6366f11a;border-color:var(--color-tag-backend);color:var(--color-tag-backend)}.project-tag.tag-game[data-v-08e859e5]{background:var(--color-tag-game-bg);color:var(--color-tag-game);border:1px solid var(--color-tag-game)}.project-title[data-v-08e859e5]{margin:0 0 var(--spacing-lg) 0;font-size:var(--text-5xl);font-weight:700;color:var(--color-text)}.project-description[data-v-08e859e5]{font-size:var(--text-xl);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--spacing-xl)}.project-content[data-v-08e859e5]{display:flex;flex-direction:column;gap:var(--spacing-3xl)}.content-section[data-v-08e859e5]{width:100%}.section-title[data-v-08e859e5]{font-size:var(--text-3xl);font-weight:600;margin-bottom:var(--spacing-xl);color:var(--color-text)}.subsection-title[data-v-08e859e5]{font-size:var(--text-xl);font-weight:600;margin-bottom:var(--spacing-md);color:var(--color-text)}.results-container[data-v-08e859e5]{padding:var(--spacing-xl);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.results-grid[data-v-08e859e5]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-lg)}.result-card[data-v-08e859e5]{padding:var(--spacing-lg);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:center}.result-value[data-v-08e859e5]{font-size:var(--text-4xl);font-weight:700;color:var(--color-accent);margin-bottom:var(--spacing-sm)}.result-label[data-v-08e859e5]{color:var(--color-text-secondary);font-size:var(--text-sm)}.process-container[data-v-08e859e5]{padding:var(--spacing-xl);background:var(--color-surface);border-radius:var(--radius-md)}.process-text[data-v-08e859e5]{color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin-top:var(--spacing-md)}.audience-container[data-v-08e859e5]{padding:var(--spacing-xl);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.audience-text[data-v-08e859e5]{color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.project-navigation[data-v-08e859e5]{display:flex;justify-content:space-between;gap:var(--spacing-md);margin-top:var(--spacing-4xl);padding-top:var(--spacing-3xl);border-top:1px solid var(--color-border)}@media(max-width:768px){.project-detail-wrapper[data-v-08e859e5]{padding:var(--spacing-2xl) 0}.project-title[data-v-08e859e5]{font-size:var(--text-3xl)}.project-description[data-v-08e859e5]{font-size:var(--text-lg)}.section-title[data-v-08e859e5]{font-size:var(--text-2xl)}.project-navigation[data-v-08e859e5]{flex-direction:column}.results-grid[data-v-08e859e5]{grid-template-columns:1fr}}@media(max-width:480px){.project-title[data-v-08e859e5]{font-size:var(--text-2xl)}.result-value[data-v-08e859e5]{font-size:var(--text-3xl)}}
