@import"https://fonts.googleapis.com/css2?family=Cascadia+Code:wght@300;400;500&display=swap";@import"https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@300;700&display=swap";@import"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css";@import"https://fonts.googleapis.com/css2?family=Cascadia+Code:wght@400;700&display=swap";:root{--color-bg-light: #fefefe;--color-bg-dark: #050505;--color-navbar-light: #f9f9f9;--color-navbar-dark: #0d0d0d;--color-text-light: #111827;--color-text-dark: #f9fafb;--color-border-light: #d4d4d4;--color-border-dark: #333333;--color-hover: #FF6347;--bg-color: #000;--text-color: #fff;--accent-color: #2196f3}[data-theme=light]{--bg-color: var(--color-bg-light);--text-color: var(--color-text-light);--navbar-color: var(--color-navbar-light);--footer-color: var(--color-navbar-light);--border-color: var(--color-border-light)}[data-theme=dark]{--bg-color: var(--color-bg-dark);--text-color: var(--color-text-dark);--navbar-color: var(--color-navbar-dark);--footer-color: var(--color-navbar-dark);--border-color: var(--color-border-dark)}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0;font-family:Cascadia Code,monospace;color:var(--text-color);background-color:#000;background-image:radial-gradient(circle,rgba(255,255,255,.08) 1px,transparent 1px);background-size:20px 20px;background-repeat:repeat}a{color:var(--text-color);text-decoration:none;transition:color .3s ease}a:hover{color:var(--color-hover)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 16px}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-center{display:flex;justify-content:center;align-items:center}.navbar{width:100%;background-color:var(--navbar-color);border-bottom:2px dashed var(--border-color);padding:2rem 0}.navbar a{margin:0 1rem;font-weight:700}.footer{width:100%;background-color:var(--footer-color);color:var(--text-color);text-align:center;border-top:2px dashed var(--border-color);padding:2rem 1rem;font-size:13px}@media (max-width: 768px){html{font-size:13px}.container{padding:0 12px}.navbar a{margin:0 .5rem;font-size:13px}}@media (max-width: 480px){html{font-size:12px}.navbar{flex-direction:column;align-items:flex-start}.footer{font-size:12px}}.dashed-border{border:2px dashed var(--border-color)}#app{min-height:100vh;display:flex;flex-direction:column;background:none}.main-content{flex:1;width:100%;display:flex;justify-content:center;padding:40px 0}.content-wrapper{width:100%;max-width:1200px;padding:0 24px;box-sizing:border-box}footer,.footer{width:100%;padding:32px 0 16px;text-align:center}.navbar{width:100%;padding:24px 0 16px}.navbar[data-v-06d3be08]{width:100%;color:var(--text-color);font-family:Cascadia Code,monospace;position:sticky;top:0;z-index:10;background:none;border:none}.navbar-content[data-v-06d3be08]{max-width:1200px;margin:0 auto;padding:.5rem 1.5rem;display:flex;align-items:center;justify-content:space-between}.navbar-logo[data-v-06d3be08]{font-size:1.15rem;font-weight:600;color:var(--text-color);text-decoration:none;letter-spacing:.04em;display:flex;align-items:center;gap:.14em;position:relative;cursor:pointer;-webkit-user-select:none;user-select:none}.terminal-icon[data-v-06d3be08]{font-size:1em;margin-right:.13em;color:var(--text-color);filter:drop-shadow(0 0 6px #fff8) drop-shadow(0 0 2px #fff4);transition:filter .4s cubic-bezier(.4,0,.2,1)}.navbar-logo:hover .terminal-icon[data-v-06d3be08]{filter:drop-shadow(0 0 12px #fff) drop-shadow(0 0 4px #fff8)}.logo-text[data-v-06d3be08]{font-family:inherit;font-weight:600;letter-spacing:.04em}.logo-cursor[data-v-06d3be08]{display:inline-block;width:1ch;color:var(--text-color);opacity:1;animation:blink-cursor-06d3be08 1.1s steps(1) infinite;font-weight:400;font-size:1em;margin-left:.03em;position:relative;top:1px}@keyframes blink-cursor-06d3be08{0%,60%{opacity:1}61%,to{opacity:0}}.navbar-links[data-v-06d3be08]{display:flex;align-items:center;gap:1.2rem;list-style:none;margin:0;padding:0}.navbar-links li a[data-v-06d3be08]{color:var(--text-color);text-decoration:none;font-size:.97rem;font-weight:400;position:relative;padding-bottom:2px;transition:color .2s;display:flex;align-items:center;gap:.4em}.navbar-links li a[data-v-06d3be08]:after{content:"";display:block;position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--text-color);transform:scaleX(0);transition:transform .4s cubic-bezier(.4,0,.2,1);transform-origin:left;border-radius:2px}.navbar-links li a[data-v-06d3be08]:hover:after{transform:scaleX(1)}.navbar-links li a[data-v-06d3be08]:hover{color:var(--text-color)}.nav-icon[data-v-06d3be08]{font-size:1em;transition:transform .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1);color:#fff}.navbar-links li a:hover .nav-icon[data-v-06d3be08]{transform:scale(1.18) rotate(-8deg);color:#e0e0e0}.footer[data-v-67175082]{width:100%;color:var(--text-color);font-family:Cascadia Code,monospace;background:none;border:none;padding:1.5rem 0 1rem}.footer-content[data-v-67175082]{max-width:1200px;margin:0 auto;padding:0 1.5rem;display:flex;flex-direction:column;align-items:center;gap:.7rem;animation:fadeInFooter-67175082 1.1s cubic-bezier(.4,0,.2,1)}@keyframes fadeInFooter-67175082{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.footer-days[data-v-67175082]{font-size:1.08em;color:#b0bec5;letter-spacing:.01em;margin-bottom:2px}.footer-links[data-v-67175082]{display:flex;gap:1.1rem;margin-bottom:.5rem}.footer-links a[data-v-67175082]{color:#b0bec5;text-decoration:none;font-weight:400;font-size:1.18em;margin:0;transition:color .22s,transform .22s cubic-bezier(.4,0,.2,1);opacity:.85;will-change:color,transform;display:flex;flex-direction:column;align-items:center;gap:.04em}.footer-links a[data-v-67175082]:hover{color:var(--accent-color, #90caf9);transform:scale(1.12) translateY(-1px);opacity:1}.footer-links i[data-v-67175082]{vertical-align:middle}.footer-label[data-v-67175082]{font-size:.82em;color:#b0bec5;opacity:.8;font-weight:400;letter-spacing:.01em;margin-top:0;transition:color .22s}.footer-links a:hover .footer-label[data-v-67175082]{color:var(--accent-color, #90caf9);opacity:1}@media (max-width: 600px){.footer-content[data-v-67175082]{padding:0 .5rem;gap:.5rem}.footer-links[data-v-67175082]{gap:.7rem;flex-wrap:wrap;justify-content:center}.footer-links a[data-v-67175082]{font-size:1em;gap:.02em}.footer-label[data-v-67175082]{font-size:.9em}}.app-root{min-height:100vh;position:relative;font-family:Cascadia Code,monospace;background:none;overflow-x:hidden}.home[data-v-ae46d5d4]{background:none;color:var(--text-color);font-family:Cascadia Code,monospace;min-height:80vh;padding:60px 20px 20px}.intro[data-v-ae46d5d4]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;margin-bottom:30px;text-align:center}.profile-pic[data-v-ae46d5d4]{width:120px;height:120px;border-radius:50%;border:2px solid var(--text-color);margin-bottom:10px}.floating[data-v-ae46d5d4]{animation:float-ae46d5d4 3.5s ease-in-out infinite}@keyframes float-ae46d5d4{0%{transform:translateY(0)}50%{transform:translateY(-18px)}to{transform:translateY(0)}}.intro-text[data-v-ae46d5d4]{font-size:16px;color:#ffffffb3}.tagline[data-v-ae46d5d4]{font-size:18px;margin-bottom:20px;text-align:center;color:#ffffffb3}.skills[data-v-ae46d5d4]{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px;justify-content:center}.skill-pill[data-v-ae46d5d4]{display:inline-flex;align-items:center;gap:4px;padding:5px 14px;border-radius:999px;background:#ffffff12;font-size:13px;font-weight:400;color:var(--text-color);box-shadow:0 1px 6px #00000012;cursor:pointer;transition:background .2s,transform .22s cubic-bezier(.4,0,.2,1),box-shadow .22s cubic-bezier(.4,0,.2,1);will-change:transform,box-shadow;justify-content:center;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-pill[data-v-ae46d5d4]:hover,.skill-pill[data-v-ae46d5d4]:focus{background:#ffffff2e;transform:scale(1.09);box-shadow:0 2px 16px #ffffff21}.skill-pill i[data-v-ae46d5d4]{font-size:1em}.timeline[data-v-ae46d5d4]{display:flex;justify-content:center;align-items:flex-start;margin:40px 0;position:relative;min-height:340px}.timeline-container[data-v-ae46d5d4]{position:relative;padding-left:52px;margin:0 auto;width:100%;max-width:400px;z-index:1}.timeline-container[data-v-ae46d5d4]:before{content:"";position:absolute;left:36px;top:0;width:4px;height:100%;background:linear-gradient(to bottom,#fff2,#fff);border-radius:2px}.timeline-item[data-v-ae46d5d4]{position:relative;margin-bottom:36px;min-height:32px;display:flex;align-items:center;cursor:pointer;z-index:2;transition:background .35s cubic-bezier(.4,0,.2,1),box-shadow .35s cubic-bezier(.4,0,.2,1);will-change:background,box-shadow}.timeline-dot[data-v-ae46d5d4]{position:absolute;left:28px;width:16px;height:16px;background:radial-gradient(circle at 60% 40%,#fffbe6,#ffe082 60%,#ffd54f);border:2px solid #fffbe6;border-radius:50%;box-shadow:0 0 0 2px #ffffff1a;z-index:2;transition:background .35s cubic-bezier(.4,0,.2,1),border-color .35s cubic-bezier(.4,0,.2,1),box-shadow .35s cubic-bezier(.4,0,.2,1),transform .35s cubic-bezier(.4,0,.2,1);will-change:background,border-color,box-shadow,transform}.timeline-item.active .timeline-dot[data-v-ae46d5d4],.timeline-item:hover .timeline-dot[data-v-ae46d5d4]{background:radial-gradient(circle at 60% 40%,#fffde4,#ffe082 60%,#ffd54f);border-color:#fff;box-shadow:0 0 12px 4px #ffe08288,0 0 20px 8px #ffd54f44,0 0 0 4px #ffffff1a;transform:scale(1.13)}.timeline-content[data-v-ae46d5d4]{margin-left:52px;padding:8px 16px;background:#ffffff12;border-radius:8px;color:var(--text-color);font-size:15px;font-family:inherit;transition:background .35s cubic-bezier(.4,0,.2,1),color .35s cubic-bezier(.4,0,.2,1),transform .35s cubic-bezier(.4,0,.2,1),opacity .35s cubic-bezier(.4,0,.2,1);will-change:background,color,transform,opacity;opacity:.93}.timeline-item.active .timeline-content[data-v-ae46d5d4],.timeline-item:hover .timeline-content[data-v-ae46d5d4]{background:#ffffff26;transform:scale(1.04);opacity:1}.timeline-desc[data-v-ae46d5d4]{margin-left:52px;margin-top:8px;background:#ffffff1f;color:#fff;border-radius:8px;font-size:14px;padding:10px 16px;box-shadow:0 2px 12px #00000014;animation:fadeInDesc-ae46d5d4 .45s cubic-bezier(.4,0,.2,1);opacity:0;transform:translateY(16px) scale(.98);transition:opacity .45s cubic-bezier(.4,0,.2,1),transform .45s cubic-bezier(.4,0,.2,1);will-change:opacity,transform}.timeline-desc.minimal-desc[data-v-ae46d5d4]{margin-left:52px;margin-top:14px;background:#ffffff21;color:#e3e3e3;border-radius:12px;font-size:15px;padding:18px 28px 18px 24px;box-shadow:0 4px 18px #0000001a;font-family:Cascadia Code,monospace;font-weight:400;line-height:2.1;letter-spacing:.01em;min-height:38px;opacity:1;border:1.5px solid rgba(255,255,255,.13);-webkit-backdrop-filter:blur(2.5px);backdrop-filter:blur(2.5px);transition:background .45s cubic-bezier(.4,0,.2,1),color .45s cubic-bezier(.4,0,.2,1),padding .45s cubic-bezier(.4,0,.2,1),margin .45s cubic-bezier(.4,0,.2,1),box-shadow .45s cubic-bezier(.4,0,.2,1)}.timeline-fade-slide-enter-active[data-v-ae46d5d4],.timeline-fade-slide-leave-active[data-v-ae46d5d4]{transition:opacity .55s cubic-bezier(.4,0,.2,1),transform .55s cubic-bezier(.4,0,.2,1)}.timeline-fade-slide-enter-from[data-v-ae46d5d4],.timeline-fade-slide-leave-to[data-v-ae46d5d4]{opacity:0;transform:translateY(28px) scale(.97)}.timeline-fade-slide-enter-to[data-v-ae46d5d4],.timeline-fade-slide-leave-from[data-v-ae46d5d4]{opacity:1;transform:translateY(0) scale(1)}@keyframes fadeInDesc-ae46d5d4{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.meteor-bg[data-v-ae46d5d4]{position:absolute;left:0;right:0;top:0;bottom:0;pointer-events:none;z-index:0;overflow:visible;width:100%;height:100%}.meteor[data-v-ae46d5d4]{position:absolute;width:2px;height:60px;background:linear-gradient(180deg,#fff,#fff0);opacity:.7;border-radius:2px;animation:meteor-move-vertical-ae46d5d4 linear forwards;animation-iteration-count:infinite}@keyframes meteor-move-vertical-ae46d5d4{0%{transform:translateY(0) scaleY(.7);opacity:.7}10%{opacity:1}to{transform:translateY(90vh) scaleY(1);opacity:0}}@media (max-width: 600px){.timeline[data-v-ae46d5d4]{margin:24px 0;min-height:220px;width:100%;overflow-x:visible}.timeline-container[data-v-ae46d5d4]{width:100%;padding-left:14px;box-sizing:border-box}.timeline-content[data-v-ae46d5d4],.timeline-desc[data-v-ae46d5d4]{margin-left:14px;font-size:12px;padding:6px 8px;word-break:break-word}.timeline-dot[data-v-ae46d5d4]{left:0;width:12px;height:12px}.timeline-container[data-v-ae46d5d4]:before{left:4px;width:2px}.meteor-bg[data-v-ae46d5d4]{overflow:visible}}.current-focus[data-v-ae46d5d4]{margin:40px 0}.focus-cards[data-v-ae46d5d4]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.focus-card[data-v-ae46d5d4]{background:#ffffff12;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px;transition:transform .3s,box-shadow .3s;cursor:pointer}.focus-card[data-v-ae46d5d4]:hover{transform:translateY(-4px);box-shadow:0 4px 12px #00000026}.focus-title[data-v-ae46d5d4]{font-size:16px;font-weight:500;color:var(--text-color)}.focus-desc[data-v-ae46d5d4]{font-size:14px;color:#fffc}.contact-pitch[data-v-ae46d5d4]{text-align:center;margin:36px 0 18px;font-size:16px;color:#ffffffbf;letter-spacing:.01em;opacity:0;transform:translateY(24px);animation:contact-fade-in-ae46d5d4 1.1s cubic-bezier(.4,0,.2,1) .3s forwards}@keyframes contact-fade-in-ae46d5d4{to{opacity:1;transform:translateY(0)}}.contact-link[data-v-ae46d5d4]{color:#ffe082;text-decoration:none;position:relative;transition:color .2s}.contact-link[data-v-ae46d5d4]:after{content:"";display:block;position:absolute;left:0;right:0;bottom:-2px;height:2px;background:#ffd54f;border-radius:2px;transform:scaleX(0);transition:transform .4s cubic-bezier(.4,0,.2,1);transform-origin:left}.contact-link[data-v-ae46d5d4]:hover{color:#ffd54f}.contact-link[data-v-ae46d5d4]:hover:after{transform:scaleX(1)}.content[data-v-00993d92]{flex:1;padding:40px 20px;font-family:Source Code Pro,monospace}.main-title[data-v-00993d92]{color:var(--text-color)}.loading[data-v-00993d92]{color:var(--border-color);text-align:center;font-size:1.2rem;margin-top:40px}.blog-post[data-v-00993d92]{border-bottom:2px dashed var(--border-color);padding:20px 0}.blog-title[data-v-00993d92]{color:var(--hover-color);font-weight:700;font-size:1.5rem;transition:color .2s;text-decoration:none}.blog-title[data-v-00993d92]:hover{color:var(--hover-color);text-decoration:underline}.blog-date[data-v-00993d92]{color:var(--border-color);font-size:.9rem;margin-bottom:8px}.blog-excerpt[data-v-00993d92]{color:var(--text-color);font-size:1.1rem}.blogs[data-v-dd6b55ff]{text-align:center;padding:48px 12px 12px;color:var(--text-color);font-family:Cascadia Code,monospace}.blog-info[data-v-dd6b55ff]{max-width:700px;margin:0 auto 20px;text-align:left;font-size:15px;color:#b0bec5;letter-spacing:.01em;font-family:Cascadia Code,monospace;font-weight:400}.info-line[data-v-dd6b55ff]{margin-bottom:7px;line-height:1.6;font-size:15px;font-family:Cascadia Code,monospace;font-weight:400;display:flex;align-items:center;gap:4px}.hashnode-link[data-v-dd6b55ff]{color:#2962ff;text-decoration:none;font-weight:500;display:inline-flex;align-items:center;gap:3px;font-size:15px;font-family:Cascadia Code,monospace;transition:color .2s}.hashnode-link i[data-v-dd6b55ff]{margin-right:1px}.hashnode-link[data-v-dd6b55ff]:hover{color:#0039cb;text-decoration:underline}.loading-section[data-v-dd6b55ff]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:40px;margin:14px 0 8px;animation:fadeInLoading-dd6b55ff .8s cubic-bezier(.4,0,.2,1)}@keyframes fadeInLoading-dd6b55ff{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.loading-spinner[data-v-dd6b55ff]{width:14px;height:14px;border:2px solid #2962ff;border-top:2px solid #222;border-radius:50%;animation:spin-dd6b55ff 1.1s linear infinite;margin-bottom:6px}@keyframes spin-dd6b55ff{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-text[data-v-dd6b55ff]{font-size:13px;color:#2962ff;letter-spacing:.01em;opacity:.85;font-family:Cascadia Code,monospace;font-weight:400}.blog-list-container[data-v-dd6b55ff]{max-width:800px;margin:0 auto;animation:fadeInBlogs-dd6b55ff .7s cubic-bezier(.4,0,.2,1)}@keyframes fadeInBlogs-dd6b55ff{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 600px){.blogs[data-v-dd6b55ff]{padding:18px 2vw 4px}.blog-info[data-v-dd6b55ff]{font-size:12px;padding-left:2px;padding-right:2px;max-width:98vw}.info-line[data-v-dd6b55ff],.hashnode-link[data-v-dd6b55ff]{font-size:12px;gap:2px;flex-wrap:wrap;word-break:break-word}.info-line[data-v-dd6b55ff]{margin-bottom:5px}.blog-list-container[data-v-dd6b55ff]{max-width:99vw;padding-left:0;padding-right:0}.loading-section[data-v-dd6b55ff]{min-height:22px;margin:6px 0 2px}.loading-spinner[data-v-dd6b55ff]{width:8px;height:8px;margin-bottom:2px}.loading-text[data-v-dd6b55ff]{font-size:9.5px}}.blog-detail-container[data-v-17749462]{max-width:900px;margin:50px auto;padding:20px;font-family:Source Code Pro,monospace;color:var(--text-color);background-color:var(--bg-color);transition:background-color .3s ease}.blog-title[data-v-17749462]{font-size:2rem;font-weight:700;margin-bottom:15px;color:var(--text-color)}.blog-meta[data-v-17749462]{display:flex;gap:20px;font-size:1.1rem;color:var(--border-color)}.meta-item[data-v-17749462]{display:inline-flex;align-items:center;padding:8px 16px;border:1px dashed var(--border-color)}.meta-item strong[data-v-17749462]{font-weight:800;margin-right:5px}.blog-content[data-v-17749462]{font-size:1.3rem;line-height:1.8;margin-top:20px;color:var(--text-color)}.blog-footer[data-v-17749462]{text-align:center}.blog-footer .blog-link[data-v-17749462]{margin-top:20px}.read-more[data-v-17749462]{font-size:1rem;text-decoration:none;color:var(--hover-color);font-weight:600;padding:10px 20px;background-color:var(--bg-color);border:1px dashed var(--hover-color);display:inline-block;text-align:center;transition:background-color .3s,color .3s;border-radius:0}.read-more[data-v-17749462]:hover{background-color:var(--hover-color);color:var(--bg-color)}.blog-img[data-v-17749462]{max-width:100%;height:auto;margin-top:30px}.loading[data-v-17749462]{text-align:center;font-size:1.2rem;color:var(--border-color);margin-top:50px}@media (max-width: 768px){.blog-detail-container[data-v-17749462]{padding:15px}.blog-title[data-v-17749462]{font-size:1.6rem}.blog-meta[data-v-17749462]{font-size:1rem;flex-direction:column}}.detail-view[data-v-f7fef1c8]{min-height:70vh;display:flex;align-items:flex-start;justify-content:center;padding:40px 0 20px}.content[data-v-fd86733a]{flex:1;padding:40px 20px;font-family:Source Code Pro,monospace}.main-title[data-v-fd86733a]{color:var(--text-color)}.loading[data-v-fd86733a]{color:var(--border-color);text-align:center;font-size:1.2rem;margin-top:40px}.project-item[data-v-fd86733a]{border-bottom:2px dashed var(--border-color);padding:20px 0}.project-title[data-v-fd86733a]{color:var(--hover-color);font-weight:700;font-size:1.5rem;transition:color .2s;text-decoration:none}.project-title[data-v-fd86733a]:hover{color:var(--hover-color);text-decoration:underline}.project-date[data-v-fd86733a]{color:var(--border-color);font-size:.9rem;margin-bottom:8px}.project-excerpt[data-v-fd86733a]{color:var(--text-color);font-size:1.1rem}.projects[data-v-490a78f5]{text-align:center;padding:48px 12px 12px;color:var(--text-color);font-family:Cascadia Code,monospace}.project-info[data-v-490a78f5]{max-width:700px;margin:0 auto 20px;text-align:left;font-size:15px;color:#b0bec5;letter-spacing:.01em;font-family:Cascadia Code,monospace;font-weight:400}.info-line[data-v-490a78f5]{margin-bottom:7px;line-height:1.6;font-size:15px;font-family:Cascadia Code,monospace;font-weight:400;display:flex;align-items:center;gap:4px}.github-link[data-v-490a78f5]{color:#90caf9;text-decoration:none;font-weight:500;display:inline-flex;align-items:center;gap:3px;font-size:15px;font-family:Cascadia Code,monospace;transition:color .2s}.github-link i[data-v-490a78f5]{margin-right:1px}.github-link[data-v-490a78f5]:hover{color:#64b5f6;text-decoration:underline}.loading-section[data-v-490a78f5]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:40px;margin:14px 0 8px;animation:fadeInLoading-490a78f5 .8s cubic-bezier(.4,0,.2,1)}@keyframes fadeInLoading-490a78f5{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.loading-spinner[data-v-490a78f5]{width:14px;height:14px;border:2px solid #90caf9;border-top:2px solid #222;border-radius:50%;animation:spin-490a78f5 1.1s linear infinite;margin-bottom:6px}@keyframes spin-490a78f5{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-text[data-v-490a78f5]{font-size:13px;color:#90caf9;letter-spacing:.01em;opacity:.85;font-family:Cascadia Code,monospace;font-weight:400}.project-list-container[data-v-490a78f5]{max-width:800px;margin:0 auto;animation:fadeInProjects-490a78f5 .7s cubic-bezier(.4,0,.2,1)}@keyframes fadeInProjects-490a78f5{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.projects[data-v-490a78f5]{padding:24px 2px 4px}.project-info[data-v-490a78f5],.info-line[data-v-490a78f5],.github-link[data-v-490a78f5]{font-size:13px}.project-list-container[data-v-490a78f5]{max-width:99vw}.loading-section[data-v-490a78f5]{min-height:28px;margin:8px 0 2px}.loading-spinner[data-v-490a78f5]{width:10px;height:10px;margin-bottom:3px}.loading-text[data-v-490a78f5]{font-size:11px}}@media (max-width: 600px){.projects[data-v-490a78f5]{padding:18px 2vw 4px}.project-info[data-v-490a78f5]{font-size:12px;padding-left:2px;padding-right:2px;max-width:98vw}.info-line[data-v-490a78f5],.github-link[data-v-490a78f5]{font-size:12px;gap:2px;flex-wrap:wrap;word-break:break-word}.info-line[data-v-490a78f5]{margin-bottom:5px}.project-list-container[data-v-490a78f5]{max-width:99vw;padding-left:0;padding-right:0}.loading-section[data-v-490a78f5]{min-height:22px;margin:6px 0 2px}.loading-spinner[data-v-490a78f5]{width:8px;height:8px;margin-bottom:2px}.loading-text[data-v-490a78f5]{font-size:9.5px}}.project-detail-container[data-v-eb2fe97a]{max-width:900px;margin:50px auto;padding:20px;font-family:Source Code Pro,monospace;color:var(--text-color);background-color:var(--bg-color);transition:background-color .3s ease}.project-title[data-v-eb2fe97a]{font-size:2rem;font-weight:700;margin-bottom:15px;color:var(--text-color)}.project-meta[data-v-eb2fe97a]{display:flex;gap:20px;font-size:1.1rem;color:var(--border-color)}.meta-item[data-v-eb2fe97a]{display:inline-flex;align-items:center;padding:8px 16px;border:1px dashed var(--border-color)}.meta-item strong[data-v-eb2fe97a]{font-weight:800;margin-right:5px}.project-content[data-v-eb2fe97a]{font-size:1.3rem;line-height:1.8;margin-top:20px;color:var(--text-color)}.project-footer[data-v-eb2fe97a]{text-align:center;margin-top:30px}.project-link[data-v-eb2fe97a]{font-size:1rem;text-decoration:none;color:var(--hover-color);font-weight:600;padding:10px 20px;background-color:var(--bg-color);border:1px dashed var(--hover-color);display:inline-block;text-align:center;transition:background-color .3s,color .3s;border-radius:0}.project-link[data-v-eb2fe97a]:hover{background-color:var(--hover-color);color:var(--bg-color)}.loading[data-v-eb2fe97a]{text-align:center;font-size:1.2rem;color:var(--border-color);margin-top:50px}@media (max-width: 768px){.project-detail-container[data-v-eb2fe97a]{padding:15px}.project-title[data-v-eb2fe97a]{font-size:1.6rem}.project-meta[data-v-eb2fe97a]{font-size:1rem;flex-direction:column}}.detail-view[data-v-e11a47b4]{min-height:70vh;display:flex;align-items:flex-start;justify-content:center;padding:40px 0 20px}
