@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@500;600;700;800&family=Archivo:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400&family=IBM+Plex+Mono:wght@400;500;600;700&family=Nanum+Gothic:wght@400;700;800&display=swap";@font-face{font-family:MaruBuri;font-weight:400;font-display:swap;src:url(https://hangeul.pstatic.net/hangeul_static/webfont/MaruBuri/MaruBuri-Regular.woff2) format("woff2"),url(https://hangeul.pstatic.net/hangeul_static/webfont/MaruBuri/MaruBuri-Regular.woff) format("woff")}@font-face{font-family:MaruBuri;font-weight:600;font-display:swap;src:url(https://hangeul.pstatic.net/hangeul_static/webfont/MaruBuri/MaruBuri-SemiBold.woff2) format("woff2"),url(https://hangeul.pstatic.net/hangeul_static/webfont/MaruBuri/MaruBuri-SemiBold.woff) format("woff")}@font-face{font-family:MaruBuri;font-weight:700;font-display:swap;src:url(https://hangeul.pstatic.net/hangeul_static/webfont/MaruBuri/MaruBuri-Bold.woff2) format("woff2"),url(https://hangeul.pstatic.net/hangeul_static/webfont/MaruBuri/MaruBuri-Bold.woff) format("woff")}:root{--bg: #0a0b0d;--surface: #131416;--surface-raised: #17181b;--card: #1b1d20;--card-hover: #222428;--accent: #03c75a;--accent-deep: #02b04f;--accent-bright: #21e878;--accent-soft: rgba(3, 199, 90, .12);--accent-wash: rgba(3, 199, 90, .06);--glitch-alt: #ff2e63;--text: #f2f4f3;--text-secondary: #c8cdcb;--muted: #8e9793;--border: #2c2f32;--border-light: #202326;--danger: #ff5c72;--shadow-sm: 0 2px 10px rgba(0, 0, 0, .35);--shadow-md: 0 10px 34px rgba(0, 0, 0, .45);--shadow-lg: 0 24px 60px rgba(0, 0, 0, .55);--shadow-accent: 0 6px 26px rgba(3, 199, 90, .28);--max-width: 1100px;--header-height: 72px;--radius-sm: 10px;--radius-md: 16px;--radius-lg: 22px;--font-display: "Plus Jakarta Sans", "MaruBuri", "Nanum Gothic", "Archivo", system-ui, sans-serif;--font-body: "Archivo", "MaruBuri", "Nanum Gothic", "Segoe UI", system-ui, sans-serif;--font-mono: "IBM Plex Mono", "MaruBuri", "Nanum Gothic", "SFMono-Regular", Consolas, monospace;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1)}:root[data-theme=light]{--bg: #f4f6f5;--surface: #eef1ef;--surface-raised: #ffffff;--card: #ffffff;--card-hover: #f4faf6;--accent: #02b04f;--accent-deep: #029a46;--accent-bright: #03c75a;--accent-soft: rgba(3, 199, 90, .14);--accent-wash: rgba(3, 199, 90, .07);--text: #101613;--text-secondary: #333d38;--muted: #5f6a64;--border: #d5dcd8;--border-light: #e5eae7;--danger: #d6314a;--shadow-sm: 0 2px 10px rgba(16, 22, 19, .05);--shadow-md: 0 10px 34px rgba(16, 22, 19, .09);--shadow-lg: 0 24px 60px rgba(16, 22, 19, .12);--shadow-accent: 0 6px 26px rgba(3, 199, 90, .25)}:root[data-theme=light] body:before{opacity:.25}:root[data-theme=light] .app-root:before{background:radial-gradient(52rem 30rem at 82% -8%,rgba(3,199,90,.07),transparent 62%),radial-gradient(40rem 26rem at -12% 30%,rgba(3,199,90,.04),transparent 60%)}:root[data-theme=light] .app-root:after{background-image:linear-gradient(rgba(16,22,19,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(16,22,19,.03) 1px,transparent 1px)}:root[data-theme=light] ::selection{background:var(--accent);color:#fff}:root[data-theme=light] ::-webkit-scrollbar-track{background:var(--bg)}:root[data-theme=light] ::-webkit-scrollbar-thumb{background:#c3ccc7;border-color:var(--bg)}:root[data-theme=light] .site-header{background:rgba(255,255,255,.85)}:root[data-theme=light] .award-modal-overlay,:root[data-theme=light] .modal-overlay{background:rgba(23,30,26,.45)}:root[data-theme=light] .award-modal-close,:root[data-theme=light] .award-modal-nav{background:rgba(255,255,255,.92)}:root[data-theme=light] .award-modal-nav{color:var(--accent-deep);text-shadow:none}:root[data-theme=light] .award-modal-nav:before{background:rgba(255,255,255,.95)}:root[data-theme=light] .award-modal-stage{background:var(--surface)}:root[data-theme=light] input[type=date]{color-scheme:light}:root[data-theme=light] .timeline-logo,:root[data-theme=light] .experience-logo,:root[data-theme=light] .admin-experience-company-logo{background:#ffffff}:root[data-theme=light] .hero-photo{border-color:#03c75a73;box-shadow:var(--shadow-lg),0 0 40px #03c75a1a}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");background-size:200px;opacity:.5;mix-blend-mode:overlay}::selection{background:var(--accent);color:#04120a}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:#2e3134;border-radius:8px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--accent-deep)}a{color:inherit;text-decoration:none}.app-root{min-height:100svh;display:flex;flex-direction:column;position:relative}.app-root:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(52rem 30rem at 82% -8%,rgba(3,199,90,.09),transparent 62%),radial-gradient(40rem 26rem at -12% 30%,rgba(3,199,90,.05),transparent 60%),radial-gradient(46rem 30rem at 50% 118%,rgba(3,199,90,.06),transparent 65%)}.app-root:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(120rem 80rem at 50% 0%,#000 30%,transparent 78%);-webkit-mask-image:radial-gradient(120rem 80rem at 50% 0%,#000 30%,transparent 78%)}.page-shell{width:min(var(--max-width),calc(100% - 2.4rem));margin:0 auto;padding-top:calc(var(--header-height) + 2.4rem);padding-bottom:2rem;position:relative;z-index:1}.glitch-text{position:relative;display:inline-block}.glitch-text:before,.glitch-text:after{content:attr(data-text);position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;opacity:0;pointer-events:none}.glitch-text:before{color:var(--accent);text-shadow:0 0 8px rgba(3,199,90,.6);animation:glitch-slice-a 3s infinite steps(1)}.glitch-text:after{color:var(--glitch-alt);text-shadow:0 0 8px rgba(255,46,99,.5);animation:glitch-slice-b 3s infinite steps(1)}.glitch-text:hover:before,.glitch-text:hover:after{animation-duration:1s}@keyframes glitch-slice-a{0%,13.6%,to{opacity:0;transform:none;clip-path:none}0.5%{opacity:1;transform:translate(-6px,-2px);clip-path:inset(8% 0 60% 0)}2.5%{opacity:1;transform:translate(6px,2px);clip-path:inset(58% 0 10% 0)}4.5%{opacity:1;transform:translate(-7px,1px);clip-path:inset(30% 0 42% 0)}6.5%{opacity:1;transform:translate(7px,-2px);clip-path:inset(2% 0 78% 0)}8.5%{opacity:1;transform:translate(-5px,2px);clip-path:inset(68% 0 4% 0)}10.5%{opacity:1;transform:translate(4px,-1px);clip-path:inset(40% 0 35% 0)}12.5%{opacity:1;transform:translate(-3px,1px);clip-path:inset(15% 0 70% 0)}}@keyframes glitch-slice-b{0%,13.6%,to{opacity:0;transform:none;clip-path:none}1.5%{opacity:1;transform:translate(6px,2px);clip-path:inset(64% 0 8% 0)}3.5%{opacity:1;transform:translate(-6px,-1px);clip-path:inset(12% 0 64% 0)}5.5%{opacity:1;transform:translate(5px,2px);clip-path:inset(44% 0 28% 0)}7.5%{opacity:1;transform:translate(-7px,-2px);clip-path:inset(78% 0 2% 0)}9.5%{opacity:1;transform:translate(6px,1px);clip-path:inset(22% 0 58% 0)}11.5%{opacity:1;transform:translate(-4px,2px);clip-path:inset(52% 0 20% 0)}}@media (prefers-reduced-motion: reduce){.glitch-text:before,.glitch-text:after{animation:none;opacity:0}}.site-header{position:fixed;top:0;width:100%;z-index:20;background:rgba(10,11,13,.82);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);border-bottom:1px solid var(--border-light)}.site-header:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(3,199,90,.5) 50%,transparent);opacity:.55}.site-nav{width:min(var(--max-width),calc(100% - 2.4rem));margin:0 auto;height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:1.2rem}.brand{display:inline-flex;align-items:center;gap:.7rem;font-family:var(--font-display);font-size:1.35rem;font-weight:700;letter-spacing:.02em;color:var(--text);text-transform:lowercase}.brand-menu{position:relative;display:inline-flex;align-items:center}.brand-toggle{border:none;background:transparent;color:inherit;cursor:pointer;padding:0;touch-action:manipulation}.brand-dropdown{position:absolute;top:calc(100% + .55rem);left:0;min-width:150px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow-lg);padding:.35rem;opacity:1;transform:translateY(0);pointer-events:auto;z-index:25}.brand-dropdown a{display:block;padding:.5rem .7rem;border-radius:var(--radius-sm);font-weight:600;font-size:.88rem;color:var(--muted);transition:all .18s ease}.brand-dropdown a:hover{background:var(--accent-soft);color:var(--accent)}.brand-lockup{height:34px;width:auto;flex-shrink:0;display:block}.nav-links{display:flex;align-items:center;gap:.2rem;flex-wrap:wrap}.nav-links a,.ghost-button,.primary-button,.text-link,.danger-button,.icon-button{transition:all .2s var(--ease-out)}.nav-links a{color:var(--muted);padding:.42rem .75rem;border-radius:999px;font-weight:600;font-size:.88rem;letter-spacing:.01em}.nav-links a.active{color:var(--accent);background:var(--accent-soft);text-shadow:0 0 12px rgba(3,199,90,.35)}.nav-links a:hover{color:var(--text)}.mode-toggle{display:inline-flex;align-items:center;gap:.4rem;margin-left:.35rem;padding:.38rem .8rem;border-radius:999px;border:1px solid rgba(3,199,90,.45);background:var(--accent-wash);color:var(--accent);font-family:var(--font-mono);font-size:.78rem;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:all .2s var(--ease-out)}.mode-toggle:hover{background:var(--accent);border-color:var(--accent);color:#06130b;box-shadow:0 0 18px #03c75a59}:root[data-theme=light] .mode-toggle:hover{color:#fff}.mode-toggle-icon{font-size:.85rem;line-height:1}.hero{min-height:min(82svh,740px);display:grid;align-items:center;grid-template-columns:1.3fr 1fr;gap:3rem;padding:1rem 0 2rem}.hero-copy h1{margin:.7rem 0 1.2rem;font-size:clamp(3rem,6vw,4.6rem);line-height:1;letter-spacing:-.02em;font-family:var(--font-display);font-weight:800;text-transform:uppercase;color:var(--text)}.hero-copy p{max-width:52ch;color:var(--muted);font-size:1rem;line-height:1.7}.eyebrow{margin:0;color:var(--accent);text-transform:uppercase;letter-spacing:.16em;font-weight:600;font-size:.72rem;font-family:var(--font-mono);display:inline-flex;align-items:center;gap:.55rem}.eyebrow:before{content:"//";font-weight:700;opacity:.7;letter-spacing:0}.hero-actions{display:flex;align-items:center;gap:.85rem;margin-top:2rem}.primary-button,.ghost-button,.danger-button,.text-link{border-radius:999px;font-weight:700;border:1.5px solid transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:.72rem 1.35rem;font-size:.88rem;letter-spacing:.02em;font-family:var(--font-body)}.primary-button{background:var(--accent);color:#06130b;box-shadow:var(--shadow-accent);position:relative;overflow:hidden}.primary-button:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.22),transparent 55%);pointer-events:none}.primary-button:hover{transform:translateY(-2px);box-shadow:0 10px 34px #03c75a6b;background:var(--accent-bright)}.primary-button-stacked{flex-direction:column;gap:.12rem;padding:.55rem 1.5rem .6rem;line-height:1.15}.cta-main{display:inline-flex;align-items:center;gap:.25rem}.cta-sub{font-family:var(--font-mono);font-size:.6rem;font-weight:500;letter-spacing:.06em;opacity:.72}.ghost-button{background:transparent;color:var(--text);border-color:var(--border)}.ghost-button:hover{background:var(--accent-wash);border-color:#03c75a66;color:var(--accent);transform:translateY(-1px)}.danger-button{background:transparent;color:var(--danger);border-color:#ff5c7259}.danger-button:hover{background:rgba(255,92,114,.1);border-color:#ff5c728c}.text-link{color:var(--text);border-color:var(--border);background:var(--card)}.text-link:hover{background:var(--accent-wash);border-color:#03c75a66;color:var(--accent);transform:translateY(-1px)}.text-link-disabled,.text-link-disabled:hover{cursor:not-allowed;color:var(--muted);background:var(--surface);border-color:var(--border-light);transform:none;box-shadow:none;opacity:.55}.hero-photo{border-radius:var(--radius-lg);min-height:420px;padding:0;background:linear-gradient(180deg,#ffffff 0%,#f0f7f3 55%,#e2f3ea 100%);border:1px solid rgba(3,199,90,.35);box-shadow:var(--shadow-lg),0 0 40px #03c75a1f;display:flex;justify-content:flex-end;position:relative;overflow:hidden;transition:border-color .4s ease,box-shadow .4s ease}.hero-photo:before{content:"";position:absolute;top:-45%;right:-25%;width:95%;height:95%;border-radius:50%;background:radial-gradient(circle,rgba(3,199,90,.2) 0%,transparent 68%);pointer-events:none;z-index:0}.hero-photo:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:repeating-linear-gradient(180deg,rgba(9,40,24,.018) 0 1px,transparent 1px 4px)}.hero-photo:hover{border-color:#03c75ab3;box-shadow:var(--shadow-lg),0 0 60px #03c75a47}.hero-photo-image{width:100%;height:100%;object-fit:contain;object-position:center bottom;border-radius:var(--radius-lg);filter:saturate(.94) contrast(1.05);transition:transform .5s var(--ease-out),filter .5s var(--ease-out);position:relative;z-index:1}.hero-photo:hover .hero-photo-image{transform:scale(1.02);filter:saturate(1) contrast(1.06)}.section-block{background:var(--surface-raised);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin:1.8rem 0;padding:clamp(1.4rem,3vw,2.4rem);position:relative;overflow:hidden}.section-block:before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,var(--accent) 0%,rgba(3,199,90,.05) 42%,transparent 70%);opacity:.8}.section-heading h2,h1,h2,h3{margin:.2rem 0 .5rem;line-height:1.15;letter-spacing:-.01em}.section-heading h2{font-size:clamp(1.5rem,2.8vw,2.2rem);font-family:var(--font-display);font-weight:700;color:var(--text)}.section-description{margin:0;color:var(--muted);font-size:.95rem}.page-section>.section-heading{margin-bottom:1.4rem}.stats-grid{margin-top:1.4rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.stat-item{border-radius:var(--radius-md);border:1px solid var(--border-light);background:var(--card);padding:1.2rem 1.2rem 1.2rem 1.4rem;position:relative;overflow:hidden;transition:transform .25s var(--ease-out),box-shadow .25s var(--ease-out),border-color .25s ease}.stat-item:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:var(--accent);border-radius:0 2px 2px 0;box-shadow:0 0 12px #03c75a8c}.stat-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-md),0 0 24px #03c75a14;border-color:#03c75a4d}.stat-item h3{margin-bottom:.25rem;color:var(--accent);font-size:2rem;font-family:var(--font-mono);font-weight:700;letter-spacing:-.02em;text-shadow:0 0 18px rgba(3,199,90,.45)}.stat-item p{color:var(--muted);font-size:.88rem;font-weight:500;margin:0}.split-content{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.split-content>div{padding:.4rem 0}.split-content h3{font-family:var(--font-display);font-size:1.2rem;font-weight:700;margin:0 0 .4rem}.split-content h3:before{content:"▸ ";color:var(--accent)}.split-content p{color:var(--muted);font-size:.93rem}.page-section{min-height:60vh}.timeline-list,.experience-list,.publication-list{display:grid;gap:.85rem}.timeline-item,.experience-item,.publication-item{border:1px solid var(--border-light);border-radius:var(--radius-md);padding:1.1rem;background:var(--card);transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out),border-color .2s ease,background .2s ease}.timeline-item:hover,.experience-item:hover,.publication-item:hover{box-shadow:var(--shadow-md);border-color:#03c75a52;background:var(--card-hover)}.timeline-item{display:grid;grid-template-columns:minmax(128px,164px) 1fr;gap:1.1rem;align-items:start}.timeline-rail{display:grid;gap:.85rem;align-content:start}.timeline-year{font-weight:600;color:var(--accent);line-height:1.2;font-size:.85rem;letter-spacing:.02em;font-family:var(--font-mono)}.timeline-logo{width:80px;height:80px;border-radius:var(--radius-md);border:1px solid var(--border);background:#f4f6f5;object-fit:contain;object-position:center;padding:.45rem;display:inline-flex;align-items:center;justify-content:center;color:var(--accent-deep);font-weight:700;font-family:var(--font-display)}.timeline-logo-fallback{font-size:1.4rem;background:var(--surface);color:var(--accent)}.meta-line{margin:0;color:var(--text-secondary);font-weight:600;font-size:.92rem}.meta-subline{margin:.1rem 0 0;color:var(--muted);font-weight:500;font-size:.9rem}.record-title-button{border:none;background:transparent;color:var(--text);font:inherit;font-weight:inherit;padding:0;text-align:left;cursor:pointer;transition:color .2s ease,text-shadow .2s ease}.record-title-button:hover,.record-title-button:focus-visible{color:var(--accent);text-shadow:0 0 16px rgba(3,199,90,.3)}.record-title-button:focus-visible{outline:2px solid rgba(3,199,90,.45);outline-offset:4px;border-radius:4px}.record-title-text{transition:color .2s ease}.award-card:hover .record-title-text,.record-title-text:hover{color:var(--accent)}.experience-item{display:grid;grid-template-columns:74px 1fr;gap:1rem;align-items:start;min-width:0}.experience-company-list{display:grid;gap:.9rem}.experience-company-card{border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--card);padding:1.1rem;transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out),border-color .2s ease,background .2s ease}.experience-company-card:hover{box-shadow:var(--shadow-md);border-color:#03c75a52;background:var(--card-hover)}.experience-company-head{display:grid;grid-template-columns:74px 1fr auto;align-items:center;gap:.85rem}.experience-company-meta h3{margin:0;font-family:var(--font-display);font-weight:700}.experience-company-date{margin:0;color:var(--accent);font-weight:600;white-space:nowrap;font-size:.82rem;letter-spacing:.01em;font-family:var(--font-mono)}.experience-role-list{margin-top:.95rem;display:grid;gap:.7rem}.experience-role-item{display:grid;grid-template-columns:18px 1fr;gap:.65rem;align-items:start}.experience-role-marker{display:grid;justify-items:center;gap:.1rem;height:100%;padding-top:.28rem}.experience-role-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);border:3px solid rgba(3,199,90,.18);box-sizing:content-box;box-shadow:0 0 10px #03c75a80}.experience-role-line{width:1.5px;flex:1;min-height:48px;background:linear-gradient(180deg,rgba(3,199,90,.5),rgba(3,199,90,.04))}.experience-body h4{margin:0;font-size:.95rem;line-height:1.25;font-weight:700}.experience-role-empty{margin-left:1.6rem}.experience-logo{width:74px;height:74px;border-radius:var(--radius-md);border:1px solid var(--border);background:#f4f6f5;object-fit:contain;object-position:center;padding:.45rem}.experience-logo-fallback{display:flex;align-items:center;justify-content:center;color:var(--accent);font-weight:700;font-family:var(--font-display);font-size:1.25rem;background:var(--surface)}.experience-body{display:grid;gap:.4rem;min-width:0}.experience-body h3,.experience-body .meta-line,.experience-date,.experience-description-list li{overflow-wrap:anywhere;word-break:break-word}.entry-main h3,.experience-title-row h3{margin:0;font-family:var(--font-display);font-weight:700}.experience-title-row{display:flex;justify-content:space-between;gap:.8rem;align-items:baseline;flex-wrap:wrap}.experience-date{margin:0;color:var(--muted);font-weight:600;font-size:.82rem;font-family:var(--font-mono)}.experience-item ul{margin:.7rem 0 0;padding-left:1.1rem}.experience-description-list{margin:.6rem 0 0;padding-left:1.1rem;color:var(--text-secondary);font-size:.93rem}.experience-description-list li{margin-bottom:.2rem}.experience-description-list li::marker{color:var(--accent)}.entry-main ul{margin:.7rem 0 0;padding-left:1.1rem}.entry-main ul li::marker{color:var(--accent)}.entry-main h3{font-family:var(--font-display)}.publication-pin-star{width:15px;height:15px;fill:var(--accent);margin-right:.45rem;vertical-align:-.12em;filter:drop-shadow(0 0 6px rgba(3,199,90,.6));flex-shrink:0}.publication-item-pinned{border-color:#03c75a4d}.publication-item-pinned:hover{border-color:#03c75a80}.filters-row{display:grid;grid-template-columns:1fr 160px;gap:.8rem;margin-bottom:1.2rem}.awards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.award-card{border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--card);padding:0;overflow:hidden;text-align:left;cursor:pointer;box-shadow:var(--shadow-sm);color:var(--text);transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out),border-color .3s ease}.award-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg),0 0 30px #03c75a1a;border-color:#03c75a66}.award-card-image{width:100%;aspect-ratio:16 / 10;object-fit:cover;object-position:center;background:var(--surface);transition:transform .4s var(--ease-out)}.award-card:hover .award-card-image{transform:scale(1.03)}.award-card-fallback{display:flex;align-items:center;justify-content:center;color:var(--accent);font-size:2rem;font-weight:700;font-family:var(--font-display);overflow:hidden}.award-card-body{padding:.9rem 1rem 1rem;border-top:1px solid var(--border-light)}.award-card-body h3{margin:0;font-family:var(--font-display);font-size:1.02rem;font-weight:600}.award-card-cta{display:inline-flex;align-items:center;gap:.35rem;margin-top:.55rem;font-family:var(--font-mono);font-size:.8rem;font-weight:500;letter-spacing:.02em;color:var(--accent);opacity:.85;transition:opacity .2s ease,text-shadow .2s ease}.award-card-cta-arrow{font-size:.95rem;line-height:1;transition:transform .25s var(--ease-out)}.award-card:hover .award-card-cta{opacity:1;text-shadow:0 0 12px rgba(3,199,90,.45)}.award-card:hover .award-card-cta-arrow{transform:translate(4px)}.award-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;padding:1.1rem;background:rgba(4,5,6,.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:grid;place-items:center}.award-modal-card{position:relative;width:min(840px,100%);max-height:90vh;max-height:90dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface-raised);padding:1.1rem;box-shadow:0 30px 90px #000000b3,0 0 60px #03c75a0f}.award-modal-close{position:absolute;top:.7rem;right:.7rem;width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:rgba(27,29,32,.95);color:var(--text);font-size:1.4rem;line-height:1;cursor:pointer;z-index:6;display:inline-flex;align-items:center;justify-content:center;transition:all .18s ease}.award-modal-close:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.award-modal-stage{position:relative;width:100%;aspect-ratio:16 / 9;min-height:260px;border-radius:var(--radius-md);border:none;background:var(--bg);display:flex;align-items:center;justify-content:center;overflow:hidden}.award-modal-image{width:100%;height:100%;object-fit:contain;background:transparent}.award-modal-nav{position:absolute;top:50%;left:.9rem;transform:translateY(-50%);display:inline-flex;align-items:center;gap:.45rem;height:44px;padding:0 1.05rem;border:none;background:linear-gradient(160deg,rgba(3,199,90,.95),rgba(3,199,90,.4));color:var(--accent-bright);font-family:var(--font-mono);font-weight:700;font-size:1.2rem;line-height:1;cursor:pointer;z-index:2;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);text-shadow:0 0 10px rgba(3,199,90,.55);transition:all .22s var(--ease-out)}.award-modal-nav:before{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;z-index:-1;background:rgba(13,15,17,.94);clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);transition:opacity .2s ease}.award-modal-nav-next:before{clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,9px 100%,0 calc(100% - 9px))}.award-modal-nav:hover:before,.award-modal-nav:focus-visible:before{opacity:0}.award-modal-nav:after{content:"PREV";font-size:.66rem;font-weight:600;letter-spacing:.14em;max-width:0;overflow:hidden;opacity:0;white-space:nowrap;transition:max-width .28s var(--ease-out),opacity .2s ease}.award-modal-nav:hover:after,.award-modal-nav:focus-visible:after{max-width:3.4rem;opacity:1}.award-modal-nav:hover,.award-modal-nav:focus-visible{background:var(--accent);border-color:var(--accent);color:#04120a;text-shadow:none;box-shadow:0 0 28px #03c75a80}.award-modal-nav:hover{transform:translateY(-50%) translate(-2px)}.award-modal-nav:focus-visible{outline:none}.award-modal-nav-next{left:auto;right:.9rem;flex-direction:row-reverse;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px))}.award-modal-nav-next:after{content:"NEXT"}.award-modal-nav-next:hover{transform:translateY(-50%) translate(2px)}.award-modal-thumbs{margin-top:.8rem;margin-bottom:1rem;display:flex;gap:.48rem;flex-wrap:wrap;justify-content:center}.award-modal-thumbs button{border:1px solid var(--border);border-radius:var(--radius-sm);padding:0;overflow:hidden;width:74px;height:54px;background:var(--card);cursor:pointer;opacity:.7;transition:all .18s ease}.award-modal-thumbs button:hover{opacity:1}.award-modal-thumbs button.active{border-color:var(--accent);box-shadow:0 0 0 2px #03c75a4d,0 0 14px #03c75a40;opacity:1}.award-modal-thumbs img{width:100%;height:100%;object-fit:cover;object-position:center}.award-description-list{margin:.5rem 0 0;padding-left:1.1rem}.award-description-list li::marker{color:var(--accent)}input,textarea,select{width:100%;border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:.65rem .85rem;font:inherit;font-size:.92rem;background:var(--surface);color:var(--text);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent);background:var(--card);box-shadow:0 0 0 3px #03c75a29}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.65}select option{background:var(--card);color:var(--text)}input[type=date]{color-scheme:dark}.auth-wrap{min-height:62vh;display:grid;place-items:center}.auth-form{width:min(460px,100%);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg),0 0 60px #03c75a0d;padding:2rem;display:grid;gap:.9rem;position:relative;overflow:hidden}.auth-form:before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,var(--accent),transparent 70%)}.auth-form label,.admin-form label{display:grid;gap:.35rem;font-weight:600;font-size:.9rem;color:var(--text-secondary)}.status-message{color:var(--muted);margin:.4rem 0;font-size:.92rem}.status-message a{color:var(--accent)}.status-message.error{color:var(--danger)}.admin-grid{display:grid;gap:1rem}.admin-cv-section{margin-bottom:1rem}.admin-experience-section{display:grid;gap:.9rem}.admin-experience-groups{display:grid;gap:.85rem}.admin-experience-group{border:1px solid var(--border-light);border-radius:14px;background:var(--surface);padding:.82rem;display:grid;gap:.7rem}.admin-experience-group-head{display:flex;justify-content:space-between;gap:.7rem;align-items:center}.admin-experience-company-name{display:flex;align-items:center;gap:.62rem}.admin-experience-company-name h4{margin:0}.admin-experience-company-logo{width:42px;height:42px;border-radius:11px;border:1px solid var(--border);object-fit:contain;object-position:center;background:#f4f6f5;padding:.24rem;flex-shrink:0}.admin-experience-company-logo-fallback{display:inline-flex;align-items:center;justify-content:center;color:var(--accent);font-weight:700;background:var(--card)}.admin-experience-role-list{display:grid;gap:.55rem}.admin-experience-role-item{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;border:1px solid var(--border-light);border-radius:12px;background:var(--card);padding:.68rem .72rem}.admin-experience-role-main{min-width:0}.admin-experience-role-main h5{margin:0;font-size:1rem}.admin-role-description{margin:.35rem 0 0;color:var(--muted);white-space:pre-line;font-size:.9rem}.role-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.role-date-stack{display:grid;gap:.55rem}.role-present-row{display:inline-flex;align-items:center;gap:.45rem;color:var(--muted);font-weight:600;font-size:.9rem}.role-present-row input{width:auto}.admin-cv-controls{display:grid;gap:.75rem}.admin-cv-actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.admin-section{border:1px solid var(--border-light);border-radius:var(--radius-md);padding:1rem;background:var(--card)}.admin-section-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:760px}.admin-table{table-layout:fixed}th,td{text-align:left;padding:.68rem .56rem;border-bottom:1px solid var(--border-light);vertical-align:top;overflow-wrap:anywhere;word-break:break-word}th{font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:600;font-family:var(--font-mono)}.row-actions{display:flex;gap:.5rem;align-items:center}.icon-action-button{width:36px;height:36px;border-radius:999px;border:1px solid var(--border);background:var(--card);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text);transition:all .2s var(--ease-out)}.icon-action-button svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.icon-action-button:hover{transform:translateY(-1px)}.icon-action-button-edit:hover{color:var(--accent);border-color:#03c75a73;background:var(--accent-soft)}.icon-action-button-delete{color:var(--danger);border-color:#ff5c7259}.icon-action-button-delete:hover{color:#ff7b8d;border-color:#ff5c728c;background:rgba(255,92,114,.1)}.table-cell-ellipsis{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(4,5,6,.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:40;padding:1.2rem;display:grid;place-items:center}.modal-card{width:min(740px,100%);max-height:90vh;overflow-y:auto;background:var(--surface-raised);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:0 30px 90px #000000b3;padding:1.2rem}.modal-head{display:flex;justify-content:space-between;align-items:center}.icon-button{border:1px solid var(--border);border-radius:50%;width:34px;height:34px;cursor:pointer;background:var(--card);color:var(--text);transition:all .18s ease}.icon-button:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.admin-form{display:grid;gap:.7rem}.profile-text-groups{display:grid;gap:.9rem;margin-top:.8rem}.profile-text-group{border:1px solid var(--border-light);border-radius:14px;background:var(--surface);padding:.85rem;display:grid;gap:.6rem}.profile-text-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.profile-text-grid label{display:grid;gap:.35rem;font-weight:600;font-size:.86rem;color:var(--text-secondary)}@media (max-width: 760px){.profile-text-grid{grid-template-columns:1fr}}.admin-checkbox-row{display:inline-flex;align-items:center;gap:.5rem;font-weight:500;color:var(--muted)}.admin-checkbox-row input[type=checkbox]{width:auto;accent-color:var(--accent)}.admin-pin-flag{color:var(--accent);text-shadow:0 0 10px rgba(3,199,90,.5);font-size:1rem}.upload-input-row{display:grid;grid-template-columns:1fr auto;gap:.55rem;align-items:center}.upload-trigger{position:relative;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-weight:700;font-size:.88rem;padding:.6rem .9rem;cursor:pointer;white-space:nowrap;overflow:hidden;transition:all .18s ease}.upload-trigger:hover{background:var(--accent-soft);border-color:#03c75a66;color:var(--accent)}.upload-trigger input{position:absolute;top:0;right:0;bottom:0;left:0;display:block;opacity:0;cursor:pointer}.upload-trigger-wide{width:fit-content}.admin-award-media{border:1px solid var(--border-light);border-radius:14px;background:var(--surface);padding:.8rem;display:grid;gap:.7rem}.admin-award-media-label{margin:0;font-weight:700;font-size:.9rem}.admin-award-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:.65rem}.admin-award-media-card{margin:0;border:1px solid var(--border-light);border-radius:12px;background:var(--card);overflow:hidden;cursor:grab;-webkit-user-select:none;user-select:none;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.admin-award-media-card:hover{box-shadow:var(--shadow-md);border-color:#03c75a4d}.admin-award-media-card.dragging{opacity:.6;transform:scale(.98)}.admin-award-media-card img{width:100%;aspect-ratio:4 / 3;object-fit:cover;object-position:center;border-bottom:1px solid var(--border-light)}.admin-award-media-card figcaption{padding:.5rem;display:grid;gap:.45rem}.admin-media-delete{width:100%;border-radius:var(--radius-sm);font-size:.82rem;padding:.45rem .55rem}.modal-actions{display:flex;justify-content:flex-end;gap:.6rem}.notfound-code{margin:0;font-family:var(--font-display);font-size:clamp(4.5rem,12vw,8rem);font-weight:700;color:var(--accent);line-height:1;text-shadow:0 0 40px rgba(3,199,90,.4)}.site-footer{width:min(var(--max-width),calc(100% - 2.4rem));margin:auto auto 0;border-top:1px solid var(--border-light);padding:1.4rem 0 1.6rem;display:flex;align-items:center;flex-wrap:nowrap;justify-content:space-between;gap:.8rem;color:var(--muted);font-size:.82rem;position:relative;z-index:1}.site-footer p{margin:0;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.01em}.footer-links{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.footer-links a{font-weight:600;transition:color .2s ease,text-shadow .2s ease}.footer-links a:hover,.publication-item a:hover{color:var(--accent);text-shadow:0 0 14px rgba(3,199,90,.35)}.publication-item a{color:var(--accent);font-weight:600;font-size:.9rem}.centered{text-align:center}@media (max-width: 980px){.hero{grid-template-columns:1fr;min-height:auto;padding-top:.8rem}.hero-photo{min-height:280px}.stats-grid,.split-content,.timeline-item,.experience-item{grid-template-columns:1fr}.experience-company-head{grid-template-columns:64px 1fr}.experience-company-date{grid-column:2 / 3}}@media (max-width: 760px){:root{--header-height: 104px}.eyebrow{font-size:.6rem}.site-nav{padding:.55rem 0;align-items:flex-start;flex-direction:column;height:auto}.nav-links{width:100%}.filters-row,.awards-grid{grid-template-columns:1fr}.hero-actions{flex-wrap:wrap}.hero{padding-top:1.85rem}.timeline-logo,.experience-logo{width:64px;height:64px;padding:.4rem}.experience-item{overflow-x:clip}.admin-experience-group-head,.admin-experience-role-item{flex-direction:column;align-items:flex-start}.role-date-grid{grid-template-columns:1fr}.site-footer{flex-wrap:wrap;align-items:flex-start}.award-modal-overlay{padding:.65rem}.award-modal-card{max-height:calc(100vh - 1.3rem);max-height:calc(100dvh - 1.3rem);padding:.85rem}.award-modal-stage{aspect-ratio:4 / 3;min-height:200px}.award-modal-nav{height:36px;padding:0 .75rem;font-size:1rem;left:.55rem}.award-modal-nav-next{left:auto;right:.55rem}.award-modal-nav:after{display:none}.award-modal-thumbs button{width:60px;height:44px}}
