*{box-sizing:border-box}:root{font-family:Inter,SF Pro Text,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:var(--text, #cccac2);background-color:var(--bg-page, #1f2430);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-height:100vh;color:var(--text, #cccac2);background-color:var(--bg-page, #1f2430)}a{color:inherit;text-decoration:none}#root{min-height:100vh}:root,:root[data-theme=dark]{--text: #e6edf3;--bg-page: #0a0f1e;--app-page-text: #e6edf3;--app-page-bg: radial-gradient(circle at top left, #1b2540 0%, #0a0f1e 45%);--app-sidebar-bg: rgba(6, 12, 26, .85);--app-sidebar-border: rgba(255, 255, 255, .08);--app-image-border: rgba(255, 255, 255, .2);--app-image-bg: rgba(255, 255, 255, .04);--app-text-heading: #d2d9ff;--app-text-muted: rgba(230, 237, 243, .75);--app-text-soft: rgba(230, 237, 243, .7);--app-text-faint: rgba(230, 237, 243, .6);--app-text-subtle: rgba(148, 163, 184, .8);--app-text-subtle-strong: rgba(148, 163, 184, .85);--app-link: #8ab4ff;--app-panel-bg: rgba(15, 23, 42, .9);--app-panel-border: rgba(148, 163, 184, .2);--app-terminal-bg: rgba(10, 15, 30, .9);--app-command-bg: rgba(15, 23, 42, .7);--app-card-bg: rgba(30, 41, 59, .6);--app-card-bg-strong: rgba(30, 41, 59, .7);--app-card-border: rgba(148, 163, 184, .15);--app-overlay-bg: rgba(2, 6, 23, .7);--app-modal-bg: rgba(15, 23, 42, .95);--app-command-text: #f8fafc;--app-title-text: #e2e8f0;--app-accent: #5eead4;--app-hover-border: rgba(94, 234, 212, .5);--app-pill-bg: rgba(14, 165, 233, .2);--app-pill-text: #bae6fd;--app-pill-border: rgba(14, 165, 233, .4);--app-tag-bg: rgba(59, 130, 246, .25);--app-tag-text: #bfdbfe;--app-button-bg: #2563eb;--app-button-text: #fff;--app-placeholder-bg: rgba(148, 163, 184, .2);--app-placeholder-text: rgba(226, 232, 240, .65);--app-shadow-text: rgba(15, 23, 42, .7)}:root[data-theme=light]{--text: #1f2937;--bg-page: #edf4ff;--app-page-text: #1f2937;--app-page-bg: radial-gradient(circle at top left, #ffffff 0%, #dbeafe 48%, #e0e7ff 100%);--app-sidebar-bg: rgba(255, 255, 255, .82);--app-sidebar-border: rgba(148, 163, 184, .25);--app-image-border: rgba(59, 130, 246, .22);--app-image-bg: rgba(255, 255, 255, .72);--app-text-heading: #1d4ed8;--app-text-muted: rgba(31, 41, 55, .8);--app-text-soft: rgba(31, 41, 55, .72);--app-text-faint: rgba(31, 41, 55, .58);--app-text-subtle: rgba(71, 85, 105, .82);--app-text-subtle-strong: rgba(51, 65, 85, .88);--app-link: #2563eb;--app-panel-bg: rgba(255, 255, 255, .82);--app-panel-border: rgba(148, 163, 184, .28);--app-terminal-bg: rgba(248, 250, 252, .9);--app-command-bg: rgba(255, 255, 255, .72);--app-card-bg: rgba(255, 255, 255, .72);--app-card-bg-strong: rgba(255, 255, 255, .84);--app-card-border: rgba(148, 163, 184, .24);--app-overlay-bg: rgba(226, 232, 240, .7);--app-modal-bg: rgba(255, 255, 255, .95);--app-command-text: #111827;--app-title-text: #0f172a;--app-accent: #0f766e;--app-hover-border: rgba(13, 148, 136, .42);--app-pill-bg: rgba(37, 99, 235, .12);--app-pill-text: #1d4ed8;--app-pill-border: rgba(37, 99, 235, .24);--app-tag-bg: rgba(99, 102, 241, .12);--app-tag-text: #4338ca;--app-button-bg: #2563eb;--app-button-text: #fff;--app-placeholder-bg: rgba(148, 163, 184, .18);--app-placeholder-text: rgba(51, 65, 85, .68);--app-shadow-text: rgba(255, 255, 255, .65)}:root[data-theme=purple]{--text: #f3e8ff;--bg-page: #1a1035;--app-page-text: #f3e8ff;--app-page-bg: radial-gradient(circle at top left, #4c1d95 0%, #1a1035 52%);--app-sidebar-bg: rgba(24, 10, 48, .84);--app-sidebar-border: rgba(216, 180, 254, .14);--app-image-border: rgba(216, 180, 254, .25);--app-image-bg: rgba(255, 255, 255, .06);--app-text-heading: #e9d5ff;--app-text-muted: rgba(243, 232, 255, .78);--app-text-soft: rgba(243, 232, 255, .72);--app-text-faint: rgba(243, 232, 255, .62);--app-text-subtle: rgba(196, 181, 253, .82);--app-text-subtle-strong: rgba(221, 214, 254, .88);--app-link: #c084fc;--app-panel-bg: rgba(36, 14, 68, .88);--app-panel-border: rgba(216, 180, 254, .2);--app-terminal-bg: rgba(26, 16, 53, .9);--app-command-bg: rgba(43, 19, 78, .78);--app-card-bg: rgba(76, 29, 149, .24);--app-card-bg-strong: rgba(91, 33, 182, .28);--app-card-border: rgba(216, 180, 254, .2);--app-overlay-bg: rgba(26, 16, 53, .72);--app-modal-bg: rgba(36, 14, 68, .95);--app-command-text: #faf5ff;--app-title-text: #faf5ff;--app-accent: #f0abfc;--app-hover-border: rgba(240, 171, 252, .45);--app-pill-bg: rgba(192, 132, 252, .18);--app-pill-text: #f3e8ff;--app-pill-border: rgba(216, 180, 254, .38);--app-tag-bg: rgba(147, 51, 234, .25);--app-tag-text: #e9d5ff;--app-button-bg: #9333ea;--app-button-text: #fff;--app-placeholder-bg: rgba(196, 181, 253, .18);--app-placeholder-text: rgba(243, 232, 255, .68);--app-shadow-text: rgba(26, 16, 53, .72)}:root[data-theme=red]{--text: #fee2e2;--bg-page: #1a0c0f;--app-page-text: #fee2e2;--app-page-bg: radial-gradient(circle at top left, #7f1d1d 0%, #1a0c0f 52%);--app-sidebar-bg: rgba(38, 11, 15, .84);--app-sidebar-border: rgba(252, 165, 165, .14);--app-image-border: rgba(252, 165, 165, .24);--app-image-bg: rgba(255, 255, 255, .05);--app-text-heading: #fecaca;--app-text-muted: rgba(254, 226, 226, .78);--app-text-soft: rgba(254, 226, 226, .72);--app-text-faint: rgba(254, 226, 226, .62);--app-text-subtle: rgba(252, 165, 165, .82);--app-text-subtle-strong: rgba(254, 202, 202, .88);--app-link: #fca5a5;--app-panel-bg: rgba(60, 16, 24, .88);--app-panel-border: rgba(252, 165, 165, .2);--app-terminal-bg: rgba(26, 12, 15, .9);--app-command-bg: rgba(69, 18, 29, .78);--app-card-bg: rgba(127, 29, 29, .24);--app-card-bg-strong: rgba(153, 27, 27, .28);--app-card-border: rgba(252, 165, 165, .2);--app-overlay-bg: rgba(26, 12, 15, .72);--app-modal-bg: rgba(60, 16, 24, .95);--app-command-text: #fff1f2;--app-title-text: #fff1f2;--app-accent: #fda4af;--app-hover-border: rgba(253, 164, 175, .42);--app-pill-bg: rgba(251, 113, 133, .18);--app-pill-text: #ffe4e6;--app-pill-border: rgba(251, 113, 133, .35);--app-tag-bg: rgba(239, 68, 68, .25);--app-tag-text: #fecaca;--app-button-bg: #dc2626;--app-button-text: #fff;--app-placeholder-bg: rgba(252, 165, 165, .18);--app-placeholder-text: rgba(254, 226, 226, .68);--app-shadow-text: rgba(26, 12, 15, .72)}:root[data-theme=blue]{--text: #dbeafe;--bg-page: #081524;--app-page-text: #dbeafe;--app-page-bg: radial-gradient(circle at top left, #0f3a73 0%, #081524 52%);--app-sidebar-bg: rgba(6, 18, 43, .84);--app-sidebar-border: rgba(125, 211, 252, .14);--app-image-border: rgba(147, 197, 253, .24);--app-image-bg: rgba(255, 255, 255, .05);--app-text-heading: #bfdbfe;--app-text-muted: rgba(219, 234, 254, .78);--app-text-soft: rgba(219, 234, 254, .72);--app-text-faint: rgba(219, 234, 254, .62);--app-text-subtle: rgba(147, 197, 253, .82);--app-text-subtle-strong: rgba(191, 219, 254, .88);--app-link: #93c5fd;--app-panel-bg: rgba(10, 31, 66, .88);--app-panel-border: rgba(125, 211, 252, .2);--app-terminal-bg: rgba(8, 21, 36, .9);--app-command-bg: rgba(13, 43, 89, .78);--app-card-bg: rgba(15, 58, 115, .24);--app-card-bg-strong: rgba(29, 78, 216, .22);--app-card-border: rgba(125, 211, 252, .2);--app-overlay-bg: rgba(8, 21, 36, .72);--app-modal-bg: rgba(10, 31, 66, .95);--app-command-text: #eff6ff;--app-title-text: #eff6ff;--app-accent: #67e8f9;--app-hover-border: rgba(103, 232, 249, .42);--app-pill-bg: rgba(56, 189, 248, .18);--app-pill-text: #e0f2fe;--app-pill-border: rgba(125, 211, 252, .34);--app-tag-bg: rgba(37, 99, 235, .24);--app-tag-text: #dbeafe;--app-button-bg: #2563eb;--app-button-text: #fff;--app-placeholder-bg: rgba(147, 197, 253, .18);--app-placeholder-text: rgba(219, 234, 254, .68);--app-shadow-text: rgba(8, 21, 36, .72)}:root[data-theme=green]{--text: #d1fae5;--bg-page: #071c14;--app-page-text: #d1fae5;--app-page-bg: radial-gradient(circle at top left, #065f46 0%, #071c14 52%);--app-sidebar-bg: rgba(4, 27, 19, .84);--app-sidebar-border: rgba(110, 231, 183, .14);--app-image-border: rgba(134, 239, 172, .24);--app-image-bg: rgba(255, 255, 255, .05);--app-text-heading: #bbf7d0;--app-text-muted: rgba(209, 250, 229, .78);--app-text-soft: rgba(209, 250, 229, .72);--app-text-faint: rgba(209, 250, 229, .62);--app-text-subtle: rgba(110, 231, 183, .82);--app-text-subtle-strong: rgba(187, 247, 208, .88);--app-link: #86efac;--app-panel-bg: rgba(8, 39, 28, .88);--app-panel-border: rgba(110, 231, 183, .2);--app-terminal-bg: rgba(7, 28, 20, .9);--app-command-bg: rgba(8, 59, 42, .78);--app-card-bg: rgba(6, 95, 70, .22);--app-card-bg-strong: rgba(21, 128, 61, .24);--app-card-border: rgba(110, 231, 183, .2);--app-overlay-bg: rgba(7, 28, 20, .72);--app-modal-bg: rgba(8, 39, 28, .95);--app-command-text: #ecfdf5;--app-title-text: #ecfdf5;--app-accent: #6ee7b7;--app-hover-border: rgba(110, 231, 183, .42);--app-pill-bg: rgba(16, 185, 129, .18);--app-pill-text: #d1fae5;--app-pill-border: rgba(110, 231, 183, .35);--app-tag-bg: rgba(34, 197, 94, .22);--app-tag-text: #dcfce7;--app-button-bg: #16a34a;--app-button-text: #fff;--app-placeholder-bg: rgba(110, 231, 183, .18);--app-placeholder-text: rgba(209, 250, 229, .68);--app-shadow-text: rgba(7, 28, 20, .72)}.expanded-meme-content{animation:popout .25s cubic-bezier(.5,1.8,.5,1)}@keyframes popout{0%{transform:scale(.7);opacity:.2}80%{transform:scale(1.05);opacity:1}to{transform:scale(1);opacity:1}}.page{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);min-height:100vh;color:var(--app-page-text);background:var(--app-page-bg)}.sidebar{padding:2.5rem 2rem;background:var(--app-sidebar-bg);border-right:1px solid var(--app-sidebar-border);display:flex;flex-direction:column;gap:2rem}.profile{display:flex;flex-direction:column;gap:.75rem;align-items:flex-start}.profile-image-wrapper{width:120px;height:120px;border-radius:20px;overflow:hidden;border:2px solid var(--app-image-border);background:var(--app-image-bg)}.profile-image{width:100%;height:100%;object-fit:cover}.profile-name{font-size:1.8rem;margin:0}.profile-education{margin:0;color:var(--app-text-soft);display:grid;gap:.35rem}.profile-education p{margin:0}.profile-education ul{margin:0;padding-left:1.1rem;display:grid;gap:.2rem}.profile-education li{margin:0}.sidebar-section h2{margin-bottom:.5rem;font-size:1.1rem;color:var(--app-text-heading)}.sidebar-section p{margin:0;color:var(--app-text-muted);line-height:1.6}.location-lines{margin-top:.75rem;display:grid;gap:.4rem;color:var(--app-text-soft);font-size:.95rem}.skills-list{list-style:none;margin:0;padding:0;display:grid;gap:.4rem;color:var(--app-text-muted);font-size:.95rem}.skills-list li{padding-left:.75rem;position:relative}.skills-list li:before{content:"•";position:absolute;left:0;color:var(--app-link)}.contact-list{list-style:none;padding:0;margin:0;display:grid;gap:.6rem}.contact-list li{display:grid;gap:.2rem;font-size:.95rem}.contact-list a{color:var(--app-link);word-break:break-all}.contact-note{margin-top:.75rem;font-size:.8rem;color:var(--app-text-faint)}.terminal-panel{display:flex;flex-direction:column;padding:2.5rem;gap:1.5rem}.terminal-header{display:flex;align-items:center;gap:1rem;background:var(--app-panel-bg);padding:.6rem 1rem;border-radius:12px;border:1px solid var(--app-panel-border)}.terminal-dots{display:flex;gap:.4rem}.dot{width:10px;height:10px;border-radius:50%}.dot.red{background:#ff5f56}.dot.yellow{background:#ffbd2e}.dot.green{background:#27c93f}.terminal-title{font-size:.95rem;color:var(--app-text-subtle)}.terminal-body{background:var(--app-terminal-bg);border-radius:16px;padding:2rem;border:1px solid var(--app-panel-border);display:flex;flex-direction:column;gap:1.5rem;min-height:600px;max-height:70vh;overflow-y:auto}.terminal-output{display:grid;gap:1.5rem;padding-right:.5rem}.terminal-entry{display:grid;gap:.8rem}.prompt-line{font-family:Fira Code,SFMono-Regular,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;color:var(--app-link);display:flex;flex-wrap:wrap;gap:.4rem}.prompt{color:var(--app-link)}.prompt-symbol{color:var(--app-accent)}.prompt-command{color:var(--app-command-text)}.command-output{background:var(--app-command-bg);border-radius:12px;padding:1.25rem;border:1px solid var(--app-card-border);display:grid;gap:1rem}.command-title{margin:0;font-weight:600;color:var(--app-title-text)}.project-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:stretch}.project-card{padding:1rem;border-radius:12px;background:var(--app-card-bg-strong);border:1px solid var(--app-card-border);display:flex;flex-direction:column;gap:.6rem}.project-card h3{margin:0}.project-card p{margin:0;color:var(--app-text-muted)}.project-details{flex:1;margin:0;color:var(--app-text-muted)}.tag-list{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.project-links{display:flex;flex-wrap:wrap;gap:.5rem;max-height:68px;overflow:hidden;margin-top:auto}.project-links a{padding:.3rem .7rem;border-radius:999px;font-size:.78rem;background:var(--app-pill-bg);color:var(--app-pill-text);border:1px solid var(--app-pill-border)}.tag{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;background:var(--app-tag-bg);color:var(--app-tag-text);white-space:nowrap}.resume-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.download-button{padding:.4rem .9rem;border-radius:999px;background:var(--app-button-bg);color:var(--app-button-text);font-size:.85rem;text-decoration:none}.resume-viewer{width:100%;height:480px;border-radius:12px;overflow:hidden;border:1px solid var(--app-card-border);background:var(--app-overlay-bg)}.resume-viewer object{width:100%;height:100%;border:none}.hobby-grid{display:grid;gap:1rem}.hobby-card{display:grid;grid-template-columns:120px 1fr;gap:1rem;align-items:center;padding:1rem;background:var(--app-card-bg);border-radius:12px;border:1px solid var(--app-card-border);cursor:pointer;transition:transform .2s ease,border-color .2s ease}.hobby-card:focus,.hobby-card:hover{border-color:var(--app-hover-border);transform:translateY(-2px);outline:none}.hobby-image{width:100%;height:90px;border-radius:10px;background:var(--app-placeholder-bg);display:grid;place-items:center;color:var(--app-placeholder-text);font-size:.8rem}.hobby-modal{position:fixed;inset:0;display:grid;place-items:center;z-index:10}.hobby-modal-backdrop{position:absolute;inset:0;background:var(--app-overlay-bg)}.hobby-modal-content{position:relative;z-index:1;background:var(--app-modal-bg);border-radius:16px;padding:1.5rem;width:min(680px,92vw);border:1px solid var(--app-panel-border);display:grid;gap:.75rem;max-height:70vh;overflow:hidden}.hobby-modal-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.hobby-modal-header h3{margin:0}.hobby-modal-header button{background:var(--app-card-bg-strong);color:var(--app-title-text);border:1px solid var(--app-panel-border);border-radius:999px;padding:.3rem .8rem;font-size:.85rem}.hobby-modal-content ul{margin:0;padding-left:1.2rem;display:grid;gap:.3rem;max-height:40vh;overflow-y:auto;grid-template-columns:repeat(2,minmax(220px,1fr));gap:2rem}@media(max-width:640px){.hobby-modal-content ul{grid-template-columns:1fr}}.hobby-item-detail{color:var(--app-text-subtle);font-weight:400;display:block;margin-top:.15rem}.work-list{display:grid;gap:1rem}.work-list article{padding:1rem;border-radius:12px;background:var(--app-card-bg);border:1px solid var(--app-card-border);display:grid;gap:.6rem}.work-heading{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:space-between}.work-heading h3{margin:0}.work-heading span{color:var(--app-text-soft);font-size:.9rem}.work-period{margin:0;color:var(--app-text-subtle);font-size:.85rem}.work-list ul{margin:0;padding-left:1rem;color:var(--app-text-muted)}.awards-list{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:stretch}.awards-list article{padding:1rem;border-radius:12px;background:var(--app-card-bg);border:1px solid var(--app-card-border);display:flex;flex-direction:column;gap:.5rem}.awards-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}.awards-heading h3{margin:0}.awards-heading span{color:var(--app-text-soft);font-size:.9rem}.awards-org{margin:0;color:var(--app-text-subtle-strong);font-size:.9rem}.awards-details{flex:1;margin:0;color:var(--app-text-muted)}.awards-links{display:flex;flex-wrap:wrap;gap:.5rem;max-height:68px;overflow:hidden;margin-top:auto}.awards-links a{padding:.3rem .7rem;border-radius:999px;font-size:.78rem;background:var(--app-pill-bg);color:var(--app-pill-text);border:1px solid var(--app-pill-border)}.classes-list{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.classes-section{display:grid;gap:.75rem}.classes-section h3{margin:0;font-size:1rem;color:var(--app-title-text)}.classes-list article{padding:1rem;border-radius:12px;background:var(--app-card-bg);border:1px solid var(--app-card-border);display:grid;gap:.5rem}.classes-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}.classes-heading h3{margin:0;font-size:.95rem}.classes-heading span{color:var(--app-text-soft);font-size:.82rem}.classes-name{margin:0;color:var(--app-text-subtle-strong);font-size:.9rem}.terminal-input{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--app-command-bg);border-radius:10px;border:1px solid var(--app-panel-border)}.terminal-input input{flex:1;background:transparent;border:none;color:var(--app-command-text);font-family:Fira Code,SFMono-Regular,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.95rem;min-width:340px;width:100%;max-width:100vw;box-sizing:border-box;transition:min-width .2s}@media(max-width:600px){.terminal-input input{min-width:220px;font-size:.98rem}}.terminal-input input:focus{outline:none}.terminal-helper{margin:0;font-size:.85rem;color:var(--app-text-subtle);text-shadow:0 0 10px var(--app-shadow-text)}@media(max-width:900px){.page{grid-template-columns:1fr}.terminal-panel{padding:2rem 1.5rem 2.5rem}.terminal-body{min-height:auto}}
