:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f5f7fb;background:#090b0f;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg: #090b0f;--bg-soft: #0d1016;--surface: #101521;--surface-soft: #171d2a;--surface-elevated: #1a2232;--border: #263042;--text: #f5f7fb;--muted: #a2afc2;--accent: #80bfff;--accent-soft: rgba(128, 191, 255, .14);--accent-strong: #6ad5c1;--accent-warm: #f0c674;--danger-soft: rgba(255, 120, 120, .12);--shadow: 0 28px 70px rgba(0, 0, 0, .32)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;color:var(--text);background:radial-gradient(circle at top left,rgba(128,191,255,.12),transparent 0,transparent 28%),radial-gradient(circle at top right,rgba(106,213,193,.08),transparent 0,transparent 24%),linear-gradient(180deg,#090b0f,#0b1017)}a{color:inherit;text-decoration:none}button,select,a{font:inherit}button{color:inherit}#root{min-height:100vh}.anchor-top{position:absolute;inset:0 auto auto 0}.page-shell{position:relative;width:min(1180px,calc(100% - 2rem));margin:0 auto;padding:1rem 0 4rem}.floating-navbar{position:sticky;top:1rem;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.9rem 1.1rem;border:1px solid rgba(128,191,255,.16);border-radius:18px;background:#0a0e14d1;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow);opacity:0;transform:translateY(-12px);pointer-events:none;transition:opacity .18s ease,transform .18s ease}.floating-navbar.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}.floating-navbar-name{font-weight:700;letter-spacing:-.03em}.floating-navbar-links{display:flex;align-items:center;gap:.65rem}.floating-navbar-links a,.repository-link,.back-to-top,.language-pill{transition:transform .16s ease,border-color .16s ease,background-color .16s ease,color .16s ease,opacity .16s ease}.floating-navbar-links a{padding:.55rem .9rem;border:1px solid transparent;border-radius:999px;color:var(--muted)}.floating-navbar-links a:hover,.floating-navbar-links a:focus-visible{border-color:#80bfff38;background:var(--accent-soft);color:var(--text)}.topbar{display:flex;justify-content:space-between;gap:1.5rem;align-items:flex-start;padding:1.75rem 0 2rem;border-bottom:1px solid var(--border)}.topbar-copy{display:grid;gap:.8rem;max-width:780px}.page-kicker,.section-header span,.timeline-period{display:inline-block;color:var(--accent-strong);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;margin-top:9px}.topbar h1,.section-header h2,.timeline-trigger h3,.study-item h3,.project-card h3{margin:0;letter-spacing:-.04em}.topbar h1{font-size:clamp(2.8rem,7vw,5rem);line-height:.95}.topbar-description,.section-header p,.language-slider-header p,.timeline-role,.timeline-panel p,.timeline-panel li,.study-item p,.project-card p,.certificate-copy span,.feedback-state p,.certificate-copy time{color:var(--muted)}.topbar-description,.section-header p,.project-card p,.timeline-panel p,.feedback-state p,.language-slider-header p{line-height:1.65}.language-slider-shell{display:grid;gap:1rem;margin-top:.25rem;padding:1.1rem;border:1px solid rgba(128,191,255,.12);border-radius:22px;background:linear-gradient(180deg,#80bfff0d,#ffffff05);box-shadow:var(--shadow)}.language-slider-header{display:grid;gap:.4rem}.language-slider-header p{margin:0}.language-slider{display:flex;gap:.8rem;overflow-x:auto;padding-bottom:.2rem;scrollbar-width:thin}.language-pill{display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.12rem;min-width:140px;min-height:66px;padding:.8rem 1rem;border:1px solid var(--border);border-radius:18px;background:var(--surface);cursor:pointer}.language-pill:hover,.language-pill:focus-visible,.repository-link:hover,.repository-link:focus-visible,.back-to-top:hover,.back-to-top:focus-visible{transform:translateY(-1px)}.language-pill.is-active{border-color:#80bfff57;background:linear-gradient(180deg,#80bfff29,#6ad5c114);box-shadow:inset 0 0 0 1px #80bfff14}.language-pill:disabled{cursor:default;opacity:.95}.language-pill-name{font-weight:700}.language-pill-code{color:var(--muted);font-size:.76rem;letter-spacing:.12em}.surface-card,.timeline-body{border:1px solid var(--border);background:linear-gradient(180deg,#ffffff06,#ffffff04);box-shadow:var(--shadow);border-radius:22px}.content-stack{display:grid;gap:3.5rem;padding-top:2rem}.content-section{display:grid;gap:1.4rem}.stack-section-wide{width:100%}.section-header{display:grid;gap:.65rem}.section-header h2{font-size:clamp(1.7rem,4vw,2.6rem)}.section-header p{max-width:72ch;margin:0}.job-timeline,.study-timeline,.project-grid,.technology-matrix,.certificate-grid{display:grid;gap:1rem}.project-grid,.certificate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.horizontal-stack-layout{grid-template-columns:1fr}.timeline-item{display:grid;grid-template-columns:22px minmax(0,1fr);gap:1rem}.timeline-rail{display:flex;justify-content:center;position:relative}.timeline-rail:before{content:"";position:absolute;top:0;bottom:-1rem;width:1px;background:linear-gradient(180deg,rgba(128,191,255,.6),var(--border))}.timeline-item:last-child .timeline-rail:before{bottom:0}.timeline-dot{position:relative;z-index:1;width:12px;height:12px;margin-top:1.1rem;border-radius:999px;background:var(--accent);box-shadow:0 0 0 7px #80bfff1f}.timeline-trigger{width:100%;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.35rem;border:0;background:transparent;text-align:left;cursor:pointer}.timeline-copy{flex:1;min-width:0}.timeline-heading-row,.study-heading-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-top:-9px}.timeline-heading-main,.study-copy{display:grid;gap:.3rem;min-width:0}.timeline-trigger h3,.study-item h3,.project-card h3{font-size:1.25rem}.timeline-role{margin:0}.timeline-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;border-radius:50%;border:1px solid rgba(128,191,255,.18);background:var(--surface-soft);color:var(--accent);font-size:1.4rem;line-height:1;flex-shrink:0}.timeline-toggle>span{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;transform:translateY(-3px)}.timeline-panel-wrap{max-height:var(--panel-height, 0);opacity:0;overflow:hidden;transition:max-height .26s ease,opacity .18s ease;will-change:max-height}.timeline-panel-wrap.is-open{opacity:1}.timeline-panel{padding:0 1.35rem 1.35rem;border-top:1px solid var(--border);transform:translateY(-4px);transition:transform .22s ease}.timeline-panel-wrap.is-open .timeline-panel{transform:translateY(0)}.timeline-panel p{margin:1rem 0 0}.timeline-panel ul{margin:1rem 0 0;padding-left:1.1rem}.timeline-panel li+li{margin-top:.6rem}.tag-row{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.stack-wide-row{margin-top:0}.technology-tag{display:inline-flex;align-items:center;min-height:34px;padding:.4rem .85rem;border:1px solid rgba(128,191,255,.12);border-radius:999px;background:linear-gradient(180deg,#ffffff08,#80bfff0d);font-size:.93rem}.project-card,.study-item,.technology-group,.certificate-card{padding:1.3rem}.inline-category-group h3{margin:0 0 .95rem;padding-bottom:.15rem;color:var(--accent-warm);font-size:.95rem;letter-spacing:.06em;text-transform:uppercase}.project-header-row,.certificate-card,.certificate-main{display:flex;justify-content:space-between;align-items:center;gap:1rem}.project-card p{margin:.9rem 0 0}.repository-link{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:42px;padding:.65rem .95rem;border:1px solid rgba(128,191,255,.24);border-radius:999px;background:#80bfff14;color:var(--text);white-space:nowrap;font-weight:600}.repository-link:hover,.repository-link:focus-visible{border-color:#80bfff66;background:#80bfff1f}.study-item p{margin:0}.study-item .timeline-period{margin-top:.2rem;white-space:nowrap}.technology-group h3{margin-bottom:10px;font-size:1rem}.certificate-logo{display:grid;place-items:center;flex-shrink:0;width:46px;height:46px;border-radius:14px;background:var(--accent-soft);color:var(--accent);font-weight:700}.certificate-copy{display:grid;gap:.22rem;flex:1}.feedback-state{display:grid;place-items:center;gap:.8rem;min-height:240px}.feedback-error{justify-items:start;min-height:auto;margin-top:1.5rem;padding:1rem 1.1rem;border:1px solid rgba(255,120,120,.2);border-radius:18px;background:var(--danger-soft)}.spinner{width:34px;height:34px;border:3px solid rgba(255,255,255,.12);border-top-color:var(--accent);border-radius:50%;animation:spin .85s linear infinite}.action-button{min-height:46px;padding:.75rem .95rem;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.back-to-top{position:fixed;right:1.4rem;bottom:1.4rem;z-index:18;display:grid;place-items:center;width:52px;height:52px;border-radius:999px;border:1px solid rgba(128,191,255,.22);background:#0c1118e6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--text);box-shadow:var(--shadow);font-size:1.35rem;opacity:0;pointer-events:none;transform:translateY(10px)}.back-to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.language-dropdown{display:flex;align-items:center}.language-dropdown select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding:.6rem 2.2rem .6rem .9rem;border-radius:12px;border:1px solid rgba(128,191,255,.18);background:linear-gradient(180deg,#ffffff0a,#ffffff05);color:var(--text);font-size:.9rem;font-weight:500;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .18s ease;position:relative}.language-dropdown select:hover{border-color:#80bfff59;background:#80bfff14}.language-dropdown select:focus{outline:none;border-color:var(--accent)}.language-dropdown{position:relative}.language-dropdown:after{content:"▾";position:absolute;right:.75rem;pointer-events:none;color:var(--muted);font-size:.8rem}.language-dropdown select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding:.6rem 2.2rem .6rem .9rem;border-radius:12px;border:1px solid rgba(128,191,255,.18);background:linear-gradient(180deg,#ffffff0a,#ffffff05);color:var(--text);font-size:.9rem;font-weight:500;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .18s ease}.language-dropdown select option{background:var(--surface);color:var(--text)}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 900px){.topbar,.project-grid,.certificate-grid{grid-template-columns:1fr;flex-direction:column}.topbar{align-items:stretch}}@media (max-width: 720px){.timeline-heading-row,.study-heading-row,.project-header-row,.certificate-card,.certificate-main,.floating-navbar{flex-direction:column;align-items:flex-start}.timeline-trigger{align-items:flex-start}.timeline-period,.study-item .timeline-period{white-space:normal}}@media (max-width: 640px){.page-shell{width:min(100% - 1rem,1180px)}.topbar h1{font-size:2.6rem}.timeline-item{grid-template-columns:14px minmax(0,1fr);gap:.8rem}.floating-navbar{align-items:stretch}.floating-navbar-links{justify-content:space-between}.back-to-top{right:1rem;bottom:1rem}}
