.App{text-align:center;width:100%;background:var(--site-bg);color:var(--site-ink);font-family:var(--site-sans);box-sizing:border-box}h1{--bs-heading-color:var(--site-ink)}p{color:var(--site-ink-soft)}a{color:var(--site-accent)}a:hover{color:var(--site-ink)}.container{display:flex;max-width:max-content;max-height:max-content}.container-fluid>.row{min-height:100vh}.rtf{box-sizing:border-box;margin:25px;position:fixed;white-space:nowrap;z-index:9998;padding-left:0;list-style:none}.rtf.open .rtf--mb>*{transform-origin:center center;transform:rotate(315deg);transition:transform .2s ease-in-out}.rtf.open .rtf--mb>ul{list-style:none;margin:0;padding:0}.rtf.open .rtf--ab__c:hover>span,.rtf.open .rtf--ab__c>span.always-show{transition:opacity .2s ease-in-out;opacity:.9}.rtf.open .rtf--ab__c:first-child{transform:translateY(-60px) scale(1);transition-delay:.03s}.rtf.open .rtf--ab__c:first-child.top{transform:translateY(60px) scale(1)}.rtf.open .rtf--ab__c:nth-child(2){transform:translateY(-120px) scale(1);transition-delay:.09s}.rtf.open .rtf--ab__c:nth-child(2).top{transform:translateY(120px) scale(1)}.rtf.open .rtf--ab__c:nth-child(3){transform:translateY(-180px) scale(1);transition-delay:.12s}.rtf.open .rtf--ab__c:nth-child(3).top{transform:translateY(180px) scale(1)}.rtf.open .rtf--ab__c:nth-child(4){transform:translateY(-240px) scale(1);transition-delay:.15s}.rtf.open .rtf--ab__c:nth-child(4).top{transform:translateY(240px) scale(1)}.rtf.open .rtf--ab__c:nth-child(5){transform:translateY(-300px) scale(1);transition-delay:.18s}.rtf.open .rtf--ab__c:nth-child(5).top{transform:translateY(300px) scale(1)}.rtf.open .rtf--ab__c:nth-child(6){transform:translateY(-360px) scale(1);transition-delay:.21s}.rtf.open .rtf--ab__c:nth-child(6).top{transform:translateY(360px) scale(1)}.rtf--mb__c{padding:25px;margin:-25px}.rtf--mb__c :last-child{margin-bottom:0}.rtf--mb__c:hover>span,.rtf--mb__c>span.always-show{transition:opacity .2s ease-in-out;opacity:.9}.rtf--mb__c>span{opacity:0;transition:opacity .2s ease-in-out;position:absolute;top:50%;transform:translateY(-50%);margin-right:6px;margin-left:4px;background:#000000bf;padding:2px 4px;border-radius:2px;color:#fff;font-size:13px;box-shadow:0 0 4px #00000024,0 4px 8px #00000047}.rtf--mb__c>span.right{right:100%}.rtf--mb{height:56px;width:56px;z-index:9999;background-color:#666;display:inline-flex;justify-content:center;align-items:center;position:relative;border:none;border-radius:50%;box-shadow:0 0 4px #00000024,0 4px 8px #00000047;cursor:pointer;outline:none;padding:0;-webkit-user-drag:none;font-weight:700;color:#f1f1f1;font-size:18px}.rtf--ab__c,.rtf--mb>*{transition:transform .2s ease-in-out}.rtf--ab__c{display:block;position:absolute;top:0;right:1px;padding:10px 0;margin:-10px 0}.rtf--ab__c>span{opacity:0;transition:opacity .2s ease-in-out;position:absolute;top:50%;transform:translateY(-50%);margin-right:6px;background:#000000bf;padding:2px 4px;border-radius:2px;color:#fff;font-size:13px;box-shadow:0 0 4px #00000024,0 4px 8px #00000047}.rtf--ab__c>span.right{right:100%}.rtf--ab__c:first-child{transform:translateY(-60px) scale(0);transition-delay:.21s}.rtf--ab__c:first-child.top{transform:translateY(60px) scale(0)}.rtf--ab__c:nth-child(2){transform:translateY(-120px) scale(0);transition-delay:.18s}.rtf--ab__c:nth-child(2).top{transform:translateY(120px) scale(0)}.rtf--ab__c:nth-child(3){transform:translateY(-180px) scale(0);transition-delay:.15s}.rtf--ab__c:nth-child(3).top{transform:translateY(180px) scale(0)}.rtf--ab__c:nth-child(4){transform:translateY(-240px) scale(0);transition-delay:.12s}.rtf--ab__c:nth-child(4).top{transform:translateY(240px) scale(0)}.rtf--ab__c:nth-child(5){transform:translateY(-300px) scale(0);transition-delay:.09s}.rtf--ab__c:nth-child(5).top{transform:translateY(300px) scale(0)}.rtf--ab__c:nth-child(6){transform:translateY(-360px) scale(0);transition-delay:.03s}.rtf--ab__c:nth-child(6).top{transform:translateY(360px) scale(0)}.rtf--ab{height:48px;width:48px;background-color:#aaa;display:inline-flex;justify-content:center;align-items:center;position:relative;border:none;border-radius:50%;box-shadow:0 0 4px #00000024,0 4px 8px #00000047;cursor:pointer;outline:none;padding:0;-webkit-user-drag:none;font-weight:700;color:#f1f1f1;margin-right:4px;font-size:16px;z-index:10000}.navbar{z-index:20;top:0;left:0;background:color-mix(in oklab,var(--site-bg) 88%,#0000);border-right:1px solid var(--site-rule);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.navItem{position:relative;color:#fff!important;width:100%;height:3rem}.navItem.active .navItemText{color:#36f;transition:color 50ms}.navItemText:hover *{color:var(--site-accent)}.navItemText{cursor:pointer;margin-bottom:.75rem;border:1px solid #0000;border-radius:999px;transition:border-color .2s ease,background .2s ease,transform .2s ease}.navItemText:hover{border-color:var(--site-rule);background:var(--site-bg-elev);transform:translateX(2px)}.navItemText *{font-size:clamp(.64rem,.85vw,.78rem);color:var(--site-ink-soft);cursor:pointer;font-family:var(--site-mono)}.bm-burger-button{position:fixed;width:36px;height:30px;left:36px;top:36px}.bm-burger-bars{background:#373a47}.bm-burger-bars-hover{background:#a90000}.bm-cross-button{height:24px;width:24px}.bm-cross{background:#bdc3c7}.bm-menu-wrap{position:fixed;height:100%}.bm-menu{background:#373a47;padding:2.5em 1.5em 0;font-size:1.15em}.bm-morph-shape{fill:#373a47}.bm-item-list{color:#b8b7ad;padding:.8em}.bm-item{display:inline-block}.bm-overlay{background:#0000004d}.mobile-menu-item{font-size:large}.icon-bar{position:fixed;top:50%;right:18px;transform:translateY(-50%);z-index:15;display:flex;flex-direction:column;gap:8px}.icon-bar div{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:999px;border:1px solid var(--site-rule);background:var(--site-bg-elev);transition:transform .2s ease,border-color .2s ease;color:var(--site-ink-soft);font-size:15px;cursor:pointer;z-index:10}.icon-bar div:hover{border-color:var(--site-accent);transform:translateX(-2px)}.github,.linkedin,.resume{background:var(--site-bg-elev)}body{margin:0;font-family:var(--site-sans);background:var(--site-bg);color:var(--site-ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}