@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");:root{--bg-grad-1:#3a3f46;--bg-grad-2:#2b3036;--text:#f1f5f9;--muted:#cbd5e1;--accent:#38bdf8;--accent-2:#a855f7;--surface:hsla(0,0%,100%,.04);--surface-hover:hsla(0,0%,100%,.08);--surface-strong:hsla(0,0%,100%,.12);--surface-glass:hsla(0,0%,100%,.12);--surface-glass-border:hsla(0,0%,100%,.2);--indicator:hsla(0,0%,100%,.14);--border:hsla(0,0%,100%,.12);--border-strong:hsla(0,0%,100%,.2);--th-bg:hsla(0,0%,100%,.06);--shadow-sm:0 8px 24px rgba(0,0,0,.25);--shadow-md:0 14px 36px rgba(0,0,0,.28);--shadow-lg:0 18px 45px rgba(0,0,0,.35);--font:"Inter","Space Grotesk","Segoe UI",system-ui,-apple-system,sans-serif;--mono:"Roboto Mono","JetBrains Mono","Source Code Pro",Consolas,Menlo,Monaco,monospace}@media (prefers-color-scheme:light){:root{--bg-grad-1:#fbfcfe;--bg-grad-2:#eef1f6;--text:#1e293b;--muted:#475569;--accent:#0284c7;--accent-2:#9333ea;--surface:rgba(15,23,42,.035);--surface-hover:rgba(15,23,42,.06);--surface-strong:rgba(15,23,42,.1);--surface-glass:hsla(0,0%,100%,.65);--surface-glass-border:rgba(15,23,42,.12);--indicator:rgba(15,23,42,.1);--border:rgba(15,23,42,.12);--border-strong:rgba(15,23,42,.18);--th-bg:rgba(15,23,42,.05);--shadow-sm:0 8px 24px rgba(15,23,42,.1);--shadow-md:0 14px 36px rgba(15,23,42,.12);--shadow-lg:0 18px 45px rgba(15,23,42,.16)}}*{box-sizing:border-box}body,html{margin:0;padding:0;font-family:var(--font);background:linear-gradient(180deg,var(--bg-grad-1) 0,var(--bg-grad-2) 100%);background-attachment:fixed;color:var(--text);min-height:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:var(--mono)}a{color:var(--text);text-decoration:none}a:hover{color:var(--accent)}.App{min-height:100vh}.App-header{position:fixed;top:1rem;left:0;right:0;display:flex;justify-content:center;z-index:1000}.App-content{max-width:1200px;margin:0 auto;padding:7rem 1.5rem 3rem;line-height:1.7}h1,h2,h3,h4{color:var(--text);margin:0 0 .6rem;letter-spacing:.01em}h1{font-size:clamp(2.4rem,4vw,3.2rem)}h2{font-size:clamp(1.6rem,3vw,2.2rem);text-transform:uppercase}h3{font-size:clamp(1.25rem,2.4vw,1.6rem)}h4{font-size:1.1rem}p{margin:0 0 1rem;font-size:1rem}li,p{color:var(--muted)}li{line-height:1.6}.pagetitle{text-align:left;letter-spacing:.08em}.about-me-container{display:flex;flex-direction:column;gap:1.5rem;align-items:flex-start;max-width:880px;margin:0 auto}.AboutMeIMG{width:100%;max-height:520px;object-fit:cover;border-radius:18px;border:1px solid var(--border);box-shadow:var(--shadow-lg)}.about-me-text{padding:0}.download-resume{display:flex;justify-content:center;margin-top:.25rem;width:100%}button{font-family:var(--font);border:1px solid var(--border-strong);padding:.8rem 1.4rem;border-radius:12px;background:var(--surface-hover);color:var(--text);font-size:1rem;font-weight:700;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease;width:auto}button:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--accent)}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tabsContainer{width:auto;background:var(--surface-glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--surface-glass-border);border-radius:12px;padding:.25rem .35rem;box-shadow:var(--shadow-md)}.tabsNav{display:flex;justify-content:center}.tabsList{position:relative;display:flex;align-items:center;list-style:none;padding:.15rem;margin:0;gap:.45rem}.tabIndicator{position:absolute;top:.1rem;bottom:.1rem;left:0;border-radius:8px;background:var(--indicator);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.12);transition:transform .2s ease,width .2s ease;pointer-events:none}.tabItem{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;font-weight:700;letter-spacing:.08em;font-size:clamp(.85rem,1.6vh,1rem);font-family:var(--font);color:#fff;mix-blend-mode:difference;text-decoration:none;padding:.55rem 1rem;border-radius:8px;background:transparent;transition:color .12s ease}.tabItem:focus-visible,.tabItem:hover{color:#fff;outline:none}.tabItem.isSelected{color:#fff}.menubar a{font-size:.95rem;color:var(--muted)}.markdown-body{color:var(--text);line-height:1.75}.layout-wrapper{display:flex;flex-direction:column;gap:.75rem}.layout-title-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.back-link{display:inline-flex;align-items:center;color:var(--text);padding:.2rem 0;transition:color .12s ease,transform .12s ease}.back-link:hover{color:var(--accent);transform:translateY(-1px)}.back-link__icon{width:28px;height:28px}.markdown-body h1{font-size:clamp(2rem,3vw,2.8rem)}.markdown-body h2{font-size:clamp(1.5rem,2.5vw,2rem);margin-top:1.5rem}.markdown-body h4{font-size:1.15rem;margin-top:1rem}.markdown-body p{font-size:1rem;text-align:justify;color:var(--muted)}.markdown-body img{display:block;max-width:100%;height:auto;border-radius:12px}.markdown-body figure{margin:1rem 0}.markdown-body figure.left{float:left;margin:0 1rem 1rem 0}.markdown-body figure.left,.markdown-body figure.right{text-align:center;width:min(48%,420px);shape-outside:margin-box}.markdown-body figure.right{float:right;margin:0 0 1rem 1rem}.markdown-body figure.figure-offset{margin-top:2.25rem!important}.markdown-body figure.center{display:block;text-align:center;margin:1rem auto}.markdown-body figure.left img,.markdown-body figure.right img{width:100%;height:auto;object-fit:contain;border-radius:12px}.markdown-body figure figcaption{color:var(--muted);font-size:.95rem;margin-top:.5rem}.markdown-body .fig-row{display:flex;gap:1rem;width:100%;align-items:flex-start}.markdown-body .fig-row figure{flex:1 1}.markdown-body .split-container{display:flex;flex-wrap:nowrap;gap:1rem;align-items:flex-start;max-width:1100px;width:100%;margin:2rem auto}.markdown-body .split-container figure{flex:1 1;min-width:0;display:flex;flex-direction:column;align-items:center}.markdown-body .split-container figure img{width:100%;max-width:100%;height:24rem;object-fit:contain}.markdown-body .fig-row img{width:100%;height:45vh;object-fit:contain}.markdown-body figure.photo_album img{max-width:60%;margin:0 auto}.markdown-body .layout-grid,.markdown-detailed .layout-grid{display:grid;grid-template-columns:repeat(var(--grid-cols,auto-fit),minmax(var(--grid-min,240px),1fr));grid-gap:var(--grid-gap,1rem);gap:var(--grid-gap,1rem);align-items:var(--grid-align,start);justify-items:var(--grid-justify,stretch);margin:1.25rem 0}.markdown-body .layout-col,.markdown-detailed .layout-col{display:flex;flex-direction:column;gap:.75rem}.markdown-body .layout-figure,.markdown-detailed .layout-figure{display:flex;flex-direction:column;gap:.5rem;align-items:center;margin:1rem 0;text-align:center}.markdown-body .layout-figure img,.markdown-detailed .layout-figure img{width:100%;height:auto;border-radius:12px;box-shadow:var(--shadow-sm)}.markdown-body .layout-figure.align-left,.markdown-detailed .layout-figure.align-left{float:left;margin:0 1rem 1rem 0;max-width:min(48%,420px);shape-outside:margin-box}.markdown-body .layout-figure.align-right,.markdown-detailed .layout-figure.align-right{float:right;margin:0 0 1rem 1rem;max-width:min(48%,420px);shape-outside:margin-box}.markdown-body .layout-figure figcaption,.markdown-detailed .layout-figure figcaption{color:var(--muted);font-size:.95rem}.markdown-body .table-wrapper,.markdown-detailed .table-wrapper{width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:10px;margin:1rem 0}.markdown-body table{width:100%;border-collapse:collapse;margin:1.5rem 0}.markdown-body td,.markdown-body th{border:1px solid var(--border-strong);padding:.6rem;text-align:left}.markdown-body th{background:var(--th-bg);color:var(--text)}.markdown-detailed{color:var(--text);width:100%}.detailed-layout{display:grid;grid-template-columns:230px 1fr;grid-gap:1.75rem;gap:1.75rem;align-items:flex-start}.detail-aside{position:-webkit-sticky;position:sticky;top:6.5rem;align-self:start;padding:1rem;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-md)}.detail-nav{display:flex;flex-direction:column;gap:.75rem}.detail-nav a{color:var(--text);font-weight:600;padding:.35rem .4rem;border-radius:8px}.detail-nav a:hover{color:var(--accent)}.detail-main{width:100%;max-width:900px;margin:0 auto}.detail-hero{width:100%;height:50vh;object-fit:contain;border-radius:16px;border:1px solid var(--border);box-shadow:var(--shadow-lg);cursor:pointer;margin-bottom:1rem}.detail-hero:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.detail-section{margin-bottom:2rem;scroll-margin-top:7rem}.detail-accordion{border:1px solid var(--border);border-radius:12px;background:var(--surface)}.detail-accordion summary{cursor:pointer;font-size:1.2rem;font-weight:700;padding:.8rem 1rem}.detail-accordion>div{padding:.5rem 1rem 1rem}.post-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1.35rem 1.5rem;margin:0 0 1rem;box-shadow:0 1px 2px rgba(15,23,42,.05),0 4px 10px rgba(15,23,42,.04)}.post-card-toggle{display:flow-root;cursor:pointer;border-radius:10px}.post-card-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.post-card h3{margin-bottom:.3rem}.post-card small{display:block;margin-bottom:.85rem;color:var(--muted)}.post-card .markdown-body{margin-top:.25rem}.read-more-link{display:inline-block;margin-top:.75rem;color:var(--accent);font-weight:700}.post-thumbnail{display:block;float:right;width:15rem;max-width:40%;height:auto;margin:.25rem 0 1rem 1.75rem;border-radius:10px;box-shadow:var(--shadow-sm)}.detail-photos-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap}.detail-photos-head h2{margin-bottom:0}.detail-photos-viewall{padding:.4rem .9rem;font-size:.85rem;font-weight:700;letter-spacing:.02em;color:var(--accent);background:var(--surface);border:1px solid var(--border);border-radius:999px;box-shadow:none}.detail-photos-viewall:hover{border-color:var(--accent);transform:none;box-shadow:var(--shadow-sm)}.detail-photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:.75rem;gap:.75rem;margin-top:1rem}.detail-photo-tile{position:relative;display:block;width:100%;padding:0;border:none;background:none;box-shadow:none;border-radius:12px;cursor:pointer}.detail-photo-tile:hover{transform:none;box-shadow:none}.detail-photo-tile:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.detail-photo-thumb{display:block;width:100%;aspect-ratio:1/1;object-fit:contain;border-radius:12px;border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:transform .12s ease,box-shadow .12s ease;max-height:50vh}.detail-photo-tile:hover .detail-photo-thumb{transform:translateY(-2px);box-shadow:var(--shadow-md)}.detail-photo-more{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:12px;background:rgba(15,23,42,.62);color:#fff;font-size:1.6rem;font-weight:700;letter-spacing:.02em}.card-item{background:var(--surface);border-radius:8px;box-shadow:var(--shadow-sm);overflow:hidden;outline:none;display:flex;flex-direction:column;border:1px solid var(--border);height:auto;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background-color .15s ease}.card-item:focus-visible,.card-item:hover{background:var(--surface-hover);box-shadow:var(--shadow-md);transform:translateY(-4px)}.card-item.featured{height:100%}.card-item__img{width:100%;height:auto;object-fit:cover}.card-item.featured .card-item__img{height:23vh}.card-item__content{padding:16px;display:flex;flex-direction:column;flex:1 1}.card-item__title{margin:0 0 8px;font-size:1.15rem;color:var(--text);letter-spacing:.02em}.card-item.featured .card-item__title{font-size:1.6rem}.card-item__desc{margin:0 0 auto;color:var(--muted);font-size:1rem}.card-item__date{margin-top:12px;font-size:.85rem;color:var(--muted)}.card-item.featured .card-item__date{font-size:.95rem}.pinned-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:1rem;gap:1rem;margin-bottom:2rem;align-items:stretch}.rmc-grid{display:flex;margin-left:-16px;width:auto}.rmc-grid_column{padding-left:16px;background-clip:padding-box}.rmc-grid_column>div{margin-bottom:16px}.image-modal{position:fixed;inset:0;width:100vw;height:100vh;background-color:rgba(0,0,0,.8);display:flex;justify-content:center;align-items:center;z-index:2000}.image-modal img{max-width:90%;max-height:90%;object-fit:contain}.image-modal__close{top:1rem;right:1rem;width:2.75rem;height:2.75rem;font-size:1.6rem}.image-modal__close,.image-modal__nav{position:absolute;padding:0;display:flex;align-items:center;justify-content:center;line-height:1;border-radius:50%;background:hsla(0,0%,100%,.9);color:#111;border:none;box-shadow:var(--shadow-md);z-index:1}.image-modal__nav{top:50%;transform:translateY(-50%);width:3rem;height:3rem;font-size:2rem}.image-modal__nav:hover{transform:translateY(-50%) scale(1.05)}.image-modal__nav--prev{left:1rem}.image-modal__nav--next{right:1rem}.image-modal__counter{position:absolute;bottom:1.25rem;left:50%;transform:translateX(-50%);padding:.3rem .9rem;border-radius:999px;background:rgba(15,23,42,.7);color:#fff;font-size:.85rem;font-weight:600;letter-spacing:.04em}@media (max-width:960px){.detailed-layout{grid-template-columns:1fr}.detail-aside{position:static;display:flex;justify-content:flex-start}.detail-aside,.detail-nav{flex-direction:row;flex-wrap:wrap;gap:.5rem}.detail-main{max-width:100%}}@media (max-width:900px){.App-content{padding-top:6.5rem}.AboutMeIMG{max-height:320px}.markdown-body figure.left,.markdown-body figure.right{float:none;margin:1rem auto}.markdown-body .fig-row,.markdown-body .split-container{flex-direction:column;align-items:center}.markdown-body .fig-row figure,.markdown-body .split-container figure{width:100%;max-width:520px;text-align:center}.markdown-body .fig-row img,.markdown-body .split-container figure img{height:auto;max-height:70vh}.markdown-body figure.left,.markdown-body figure.right{width:min(100%,480px)}.markdown-body .layout-figure.align-left,.markdown-body .layout-figure.align-right,.markdown-detailed .layout-figure.align-left,.markdown-detailed .layout-figure.align-right{float:none;margin:1rem auto;max-width:100%}}@media (max-width:600px){.detail-hero{height:40vh}.post-card{padding:1.1rem}.post-thumbnail{float:none;width:100%;max-width:100%;margin:0 0 1rem}.detail-aside{padding:.75rem}}