*{margin:0;padding:0;box-sizing:border-box}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#000;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) transparent}html::-webkit-scrollbar{width:6px}html::-webkit-scrollbar-track{background:transparent}html::-webkit-scrollbar-thumb{background-color:#0003;border-radius:3px;transition:background-color .3s ease}html::-webkit-scrollbar-thumb:hover{background-color:#0000004d}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}.app{min-height:100vh;background-color:#fff;color:#000;--box-border-color: rgba(59, 130, 246, .42);--box-border-hover-color: rgba(37, 99, 235, .72);--box-border-dark-color: rgba(96, 165, 250, .45);--box-border-dark-hover-color: rgba(147, 197, 253, .72);transition:background-color .3s ease,color .3s ease;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) transparent}html{scroll-behavior:smooth}.app.dark-mode{scrollbar-color:rgba(255,255,255,.2) transparent}.app::-webkit-scrollbar{width:6px}.app::-webkit-scrollbar-track{background:transparent}.app::-webkit-scrollbar-thumb{background-color:#0003;border-radius:3px;transition:background-color .3s ease}.app::-webkit-scrollbar-thumb:hover{background-color:#0000004d}.app.dark-mode::-webkit-scrollbar-thumb{background-color:#fff3}.app.dark-mode::-webkit-scrollbar-thumb:hover{background-color:#ffffff4d}.app.dark-mode{background-color:#0a0a0a;color:#fff}.header{position:sticky;top:0;background-color:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.1);z-index:100;padding:1rem 0;transition:background-color .3s ease,border-color .3s ease}.app.dark-mode .header{background-color:#0a0a0af2;border-bottom:1px solid rgba(255,255,255,.1)}.nav{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:flex-end;align-items:center}.dark-mode-toggle{background:none;border:1px solid rgba(0,0,0,.2);border-radius:8px;padding:.5rem 1rem;font-size:1.2rem;cursor:pointer;transition:border-color .3s ease,background-color .3s ease}.app.dark-mode .dark-mode-toggle{border-color:#fff3}.dark-mode-toggle:hover{background-color:#0000000d}.app.dark-mode .dark-mode-toggle:hover{background-color:#ffffff0d}.main-content{max-width:1400px;margin:0 auto;padding:4rem 2rem}.content-wrapper{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);gap:3.5rem;align-items:start}.left-section{text-align:left;position:sticky;top:100px;align-self:start}.right-content{display:flex;flex-direction:column;gap:3rem}.content-section{margin-bottom:2rem;scroll-margin-top:5.5rem;transition:background-color .35s ease,box-shadow .35s ease}.content-section:target{animation:section-focus .9s ease}.app.dark-mode .content-section:target{animation:section-focus-dark .9s ease}@keyframes section-focus{0%{background-color:#0000000f;box-shadow:0 0 0 .35rem #0000000f}to{background-color:transparent;box-shadow:none}}@keyframes section-focus-dark{0%{background-color:#ffffff12;box-shadow:0 0 0 .35rem #ffffff14}to{background-color:transparent;box-shadow:none}}.experience-item,.education-item{margin-bottom:1.75rem}.content-section:not(:last-child){margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid rgba(0,0,0,.1)}.app.dark-mode .content-section:not(:last-child){border-bottom:1px solid rgba(255,255,255,.1)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem}.projects-list{display:flex;flex-direction:column;gap:1.75rem}.project-page-links{margin-top:1.25rem;display:flex;flex-wrap:wrap;gap:.75rem}.project-pages-copy{margin:0;color:#000000b8;font-size:.98rem}.app.dark-mode .project-pages-copy{color:#ffffffbf}.project-link-btn{border-width:2px;font-weight:600;padding:.7rem 1.1rem}.project-link-btn:hover{transform:translateY(-2px)}.project-item--interactive{cursor:pointer}.project-item--interactive:focus-visible{outline:3px solid rgba(59,130,246,.45);outline-offset:4px}.thesis-page{animation:thesis-page-enter .32s cubic-bezier(.22,1,.36,1)}.thesis-page--exit{animation:thesis-page-exit .26s cubic-bezier(.4,0,.2,1) forwards}@keyframes thesis-page-enter{0%{opacity:0;transform:translateY(18px) scale(.985);filter:blur(3px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes thesis-page-exit{0%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}to{opacity:0;transform:translateY(14px) scale(.985);filter:blur(3px)}}.page-detail-content{max-width:1200px}.project-detail-hero{display:grid;gap:1rem;margin-bottom:2rem;padding:2rem;border:1px solid var(--box-border-color);border-radius:20px;background:linear-gradient(135deg,#3b82f614,#ffffffeb)}.app.dark-mode .project-detail-hero{border-color:var(--box-border-dark-color);background:linear-gradient(135deg,#2563eb29,#0a0a0af5)}.project-detail-kicker{margin:0;color:#2563ebe6;font-size:.82rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.app.dark-mode .project-detail-kicker{color:#93c5fdf2}.project-detail-title{margin:0;font-size:clamp(2rem,4vw,3.5rem);line-height:1.08}.project-detail-summary{margin:0;max-width:900px;font-size:1.08rem;line-height:1.8;color:#000000c7}.app.dark-mode .project-detail-summary{color:#ffffffd1}.project-detail-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.detail-metric{padding:1rem 1.1rem;border-radius:14px;border:1px solid var(--box-border-color);background:#ffffffb3;display:grid;gap:.35rem}.app.dark-mode .detail-metric{border-color:var(--box-border-dark-color);background:#ffffff08}.detail-metric-label{font-size:.82rem;text-transform:uppercase;letter-spacing:.12em;color:#2563ebe6;font-weight:700}.app.dark-mode .detail-metric-label{color:#93c5fdf2}.detail-metric-value{font-size:1rem;font-weight:600}.project-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.project-detail-card{padding:1.5rem;border-radius:18px;border:1px solid var(--box-border-color);background:#ffffffb8}.app.dark-mode .project-detail-card{border-color:var(--box-border-dark-color);background:#ffffff08}.project-detail-section-title{margin:0 0 .9rem;font-size:1.15rem;color:#000}.app.dark-mode .project-detail-section-title{color:#fff}.project-detail-text{margin:0 0 .9rem;line-height:1.75;color:#000000c7}.project-detail-text:last-child{margin-bottom:0}.app.dark-mode .project-detail-text{color:#ffffffd1}.project-detail-list{margin:0;padding-left:1.2rem;display:grid;gap:.75rem;line-height:1.7;color:#000000c7}.app.dark-mode .project-detail-list{color:#ffffffd1}.project-visual-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.project-visual-card{margin:0;padding:.9rem;border-radius:18px;border:1px solid var(--box-border-color);background:#ffffffc7;display:grid;gap:.8rem}.app.dark-mode .project-visual-card{border-color:var(--box-border-dark-color);background:#ffffff08}.project-visual-image{width:100%;border-radius:14px;display:block}.project-visual-card figcaption{display:grid;gap:.25rem}.project-visual-card strong{font-size:1rem}.project-visual-card span{font-size:.95rem;line-height:1.55;color:#000000b8}.app.dark-mode .project-visual-card span{color:#ffffffb8}.page-nav{justify-content:space-between}.page-back-btn{padding:.5rem 1rem}.page-section{max-width:1000px}.projects-list .experience-item{margin-bottom:0;padding:1.5rem;border:1px solid var(--box-border-color);border-radius:8px;background-color:#00000003;transition:transform .18s ease-out,box-shadow .18s ease-out,border-color .18s ease-out,background-color .18s ease-out;cursor:default}.projects-list .experience-item:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 14px 30px #0000001f;border-color:var(--box-border-hover-color);background-color:#fff}.projects-list .experience-item:last-child{border-bottom:1px solid var(--box-border-color);padding-bottom:1.5rem}.project-item-header{margin-bottom:.35rem}.project-item-copy{display:flex;flex-direction:column;gap:.2rem}.project-preview-trigger{margin-top:.95rem;width:fit-content;padding:0;border:none;background:transparent;cursor:zoom-in}.project-preview-trigger:focus-visible{outline:3px solid rgba(59,130,246,.45);outline-offset:4px;border-radius:14px}.project-preview-row{display:flex;flex-wrap:nowrap;gap:.65rem;margin-top:.35rem;overflow-x:auto;scrollbar-width:thin}.project-preview-row .project-preview-trigger{margin-top:0}.project-preview-image{width:220px;max-width:100%;border-radius:12px;border:1px solid var(--box-border-color);display:block;transition:transform .2s ease}.project-preview-trigger:hover .project-preview-image{transform:scale(1.03)}.app.dark-mode .project-preview-image{border-color:var(--box-border-dark-color)}.project-view-link{display:block;width:fit-content;margin-left:auto;margin-top:.9rem;color:#2563eb;text-decoration:none;font-weight:600;border-bottom:1px solid rgba(37,99,235,.35);padding-bottom:.1rem}.project-view-link:hover{border-bottom-color:#2563ebcc}.app.dark-mode .project-view-link{color:#93c5fd;border-bottom-color:#93c5fd73}.project-view-link--button{border:1px solid var(--box-border-color);border-radius:999px;background:#3b82f614;padding:.72rem 1rem;line-height:1;cursor:pointer}.project-view-link--button:hover{border-bottom-color:var(--box-border-hover-color)}.app.dark-mode .project-view-link--button{border-color:var(--box-border-dark-color);background:#60a5fa1f}.photo-booth-page{animation:photo-booth-page-enter .32s cubic-bezier(.22,1,.36,1)}.photo-booth-page--exit{animation:thesis-page-exit .26s cubic-bezier(.4,0,.2,1) forwards}.photo-booth-layout{display:grid;gap:1.25rem}.photo-booth-hero{border-color:var(--box-border-color)}.photo-booth-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.photo-booth-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:1rem;align-items:start}.photo-booth-stage,.photo-booth-strip-card,.photo-booth-instructions{display:grid;gap:1rem}.photo-booth-stage-header,.photo-booth-strip-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.photo-booth-status,.photo-booth-picker-copy{margin:.35rem 0 0;color:#000000b8;line-height:1.55}.app.dark-mode .photo-booth-status,.app.dark-mode .photo-booth-picker-copy{color:#ffffffbd}.photo-booth-stage-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.photo-booth-action-btn{min-width:160px}.photo-booth-preview-shell{position:relative;border-radius:26px;padding:.85rem;background:radial-gradient(circle at top,rgba(59,130,246,.18),transparent 48%),#020617f5;border:1px solid rgba(255,255,255,.08);overflow:hidden}.app.dark-mode .photo-booth-preview-shell{background:radial-gradient(circle at top,rgba(96,165,250,.14),transparent 48%),#010510f5}.photo-booth-video{width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:18px;display:block;transform:scaleX(-1);background:#020617}.photo-booth-overlay{position:absolute;inset:.85rem;border-radius:18px;border:2px solid rgba(255,255,255,.16);display:grid;place-content:center;gap:.45rem;text-align:center;pointer-events:none;color:#fff;background:linear-gradient(180deg,#0f172a0f,#0f172a61)}.photo-booth-overlay--active{border-color:var(--booth-accent);box-shadow:inset 0 0 0 2px #ffffff0f}.photo-booth-overlay-label{font-size:.8rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.photo-booth-overlay-countdown{font-size:clamp(2.4rem,6vw,4.8rem);font-weight:800;line-height:1}.photo-booth-overlay-subtitle{font-size:.95rem;letter-spacing:.08em;text-transform:uppercase}.photo-booth-frame-picker{display:grid;gap:1rem;margin-top:1rem}.photo-booth-picker-title{margin:0;font-size:1.05rem}.photo-booth-frame-options{display:flex;flex-wrap:wrap;gap:.7rem}.photo-booth-frame-option{display:inline-flex;align-items:center;gap:.7rem;border:1px solid var(--box-border-color);border-radius:999px;background:#ffffffb8;color:#0f172a;padding:.68rem .9rem;font-weight:600;cursor:pointer;transition:transform .2s ease,border-color .2s ease,background-color .2s ease}.photo-booth-frame-option:hover{transform:translateY(-2px)}.photo-booth-frame-option--selected{border-color:var(--swatch-color);background:#ffffffeb;box-shadow:0 10px 24px #0f172a1a}.app.dark-mode .photo-booth-frame-option{border-color:var(--box-border-dark-color);background:#ffffff0d;color:#fff}.app.dark-mode .photo-booth-frame-option--selected{background:#ffffff14}.photo-booth-frame-swatch{width:.95rem;height:.95rem;border-radius:999px;background:var(--swatch-color);box-shadow:0 0 0 3px #ffffff80}.photo-booth-sidebar{display:grid;gap:1rem}.photo-booth-instruction-list{gap:.85rem}.photo-booth-strip-preview{width:100%;border-radius:18px;border:1px solid var(--box-border-color);background:#ffffffb3;display:block}.app.dark-mode .photo-booth-strip-preview{border-color:var(--box-border-dark-color);background:#ffffff08}.photo-booth-strip-placeholder{min-height:340px;border-radius:18px;border:1px dashed var(--box-border-color);display:grid;place-content:center;gap:.5rem;text-align:center;padding:1.25rem;color:#000000ad;background:#ffffff7a}.app.dark-mode .photo-booth-strip-placeholder{border-color:var(--box-border-dark-color);color:#ffffffc2;background:#ffffff08}.photo-booth-strip-placeholder-label{font-size:.82rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.photo-booth-thumbnail-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.photo-booth-thumbnail{width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:14px;border:1px solid var(--box-border-color)}.app.dark-mode .photo-booth-thumbnail{border-color:var(--box-border-dark-color)}.photo-booth-hidden-canvas{display:none}@keyframes photo-booth-page-enter{0%{opacity:0;transform:translateY(18px) scale(.985);filter:blur(3px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.image-lightbox{position:fixed;inset:0;background:#000000c7;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:1200}.image-lightbox-content{max-width:min(92vw,980px);max-height:88vh;width:auto;height:auto;border-radius:14px;border:1px solid rgba(255,255,255,.28);box-shadow:0 20px 55px #00000073}.image-lightbox-close{position:absolute;top:1rem;right:1rem;width:2.3rem;height:2.3rem;border-radius:999px;border:1px solid rgba(255,255,255,.4);background:#00000073;color:#fff;font-size:1.2rem;line-height:1;cursor:pointer}.project-item .item-title{padding-top:0}.project-item-rule{display:block;width:100%;height:1px;margin:.35rem 0 1rem;background:#3b82f657}.app.dark-mode .projects-list .experience-item{border-color:var(--box-border-dark-color);background-color:#ffffff05}.app.dark-mode .projects-list .experience-item:hover{box-shadow:0 16px 40px #000000b3;border-color:var(--box-border-dark-hover-color);background-color:#ffffff08}.app.dark-mode .projects-list .experience-item:last-child{border-bottom:1px solid var(--box-border-dark-color)}.app.dark-mode .project-item-rule{background:#60a5fa73}.certifications-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem}.cert-item{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.9rem 1.1rem;border:1px solid var(--box-border-color);border-radius:8px;background-color:#00000003;transition:transform .18s ease-out,box-shadow .18s ease-out,border-color .18s ease-out,background-color .18s ease-out}.cert-item:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 14px 30px #0000001f;border-color:var(--box-border-hover-color);background-color:#fff}.cert-thumb{width:6.5rem;aspect-ratio:103 / 63;height:auto;object-fit:contain;border-radius:6px;display:block;flex-shrink:0}.cert-body{display:flex;flex-direction:column;gap:.25rem;flex:1}.cert-link{align-self:center;margin-left:.5rem;color:#00000080;text-decoration:none;font-size:1rem;transition:color .2s ease}.cert-item:hover .cert-link{color:#000000b3}.app.dark-mode .cert-item{border-color:var(--box-border-dark-color);background-color:#ffffff05}.app.dark-mode .cert-item:hover{box-shadow:0 16px 40px #000000b3;border-color:var(--box-border-dark-hover-color);background-color:#ffffff08}.app.dark-mode .cert-thumb{background:linear-gradient(135deg,#333,#444)}.cert-item-highlighted{background-color:#3b82f61f!important;border-color:#3b82f699!important}.cert-item-highlighted:hover{background-color:#3b82f62e!important;border-color:#3b82f6cc!important}.app.dark-mode .cert-item-highlighted{background-color:#3b82f626!important;border-color:#3b82f680!important}.app.dark-mode .cert-item-highlighted:hover{background-color:#3b82f638!important;border-color:#3b82f6b3!important}.card-box{padding:1.1rem 1.25rem;border-radius:10px;border:1px solid var(--box-border-color);background-color:#00000003;transition:transform .18s ease-out,box-shadow .18s ease-out,border-color .18s ease-out,background-color .18s ease-out;cursor:default}.card-box:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 14px 30px #0000001f;border-color:var(--box-border-hover-color);background-color:#fff}.app.dark-mode .card-box{border-color:var(--box-border-dark-color);background-color:#ffffff05}.app.dark-mode .card-box:hover{box-shadow:0 16px 40px #000000b3;border-color:var(--box-border-dark-hover-color);background-color:#ffffff08}.experience-item:last-child,.education-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.item-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:.5rem;flex-wrap:nowrap}.item-logo-placeholder{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,#e5e5e5,#f7f7f7);flex-shrink:0}.item-logo{width:40px;height:40px;border-radius:8px;object-fit:contain;flex-shrink:0}.app.dark-mode .item-logo-placeholder{background:linear-gradient(135deg,#333,#444)}.item-title{font-size:1.25rem;font-weight:600;margin:0;color:#000}.app.dark-mode .item-title{color:#fff}.item-company{font-size:1rem;font-weight:400;color:#0009}.app.dark-mode .item-company{color:#fff9}.item-date{font-size:.9rem;color:#00000080;margin:0 0 .75rem}.app.dark-mode .item-date{color:#ffffff80}.item-description{font-size:1rem;line-height:1.6;color:#000c;margin:0}.app.dark-mode .item-description{color:#fffc}.list{list-style:disc;margin:0;padding-left:1.25rem;display:grid;gap:.6rem;color:#000c}.app.dark-mode .list{color:#fffc}.card-box .item-title{font-size:1rem}.contact-block{display:flex;flex-direction:column;gap:.75rem}.contact-card{border:1px solid var(--box-border-color);border-radius:12px;padding:1.25rem;background:#00000004;display:grid;gap:1rem}.app.dark-mode .contact-card{border-color:var(--box-border-dark-color);background:#ffffff08}.contact-intro{margin:0;font-size:1rem;line-height:1.6;color:#000c}.app.dark-mode .contact-intro{color:#ffffffd1}.skills-grid{display:flex;flex-direction:column;gap:1.25rem}.skill-category{margin-bottom:0}.skill-category-title{font-size:1.1rem;font-weight:600;margin:0 0 1rem;color:#000}.app.dark-mode .skill-category-title{color:#fff}.skill-tags{display:flex;flex-wrap:wrap;gap:.5rem}.skill-tag{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem 1rem;background-color:#0000000d;color:#000;border-radius:4px;font-size:.9rem;font-weight:400}.skill-icon{display:inline-flex;align-items:center;justify-content:center;font-size:1rem;line-height:1}.app.dark-mode .skill-tag{background-color:#ffffff0d;color:#fff}.profile-container{text-align:left}.profile-header{margin-bottom:2rem}.profile-header-content{display:flex;align-items:center;gap:2rem}.profile-photo{flex-shrink:0}.profile-photo-image{width:120px;height:120px;border-radius:10px;object-fit:cover;display:block;border:1px solid rgba(0,0,0,.12)}.app.dark-mode .profile-photo-image{border-color:#fff3}.photo-placeholder{width:120px;height:120px;background-color:#e0e0e0;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.app.dark-mode .photo-placeholder{background-color:#2a2a2a}.photo-placeholder:before{content:"👤";font-size:3rem;opacity:.3}.app.dark-mode .photo-placeholder:before{opacity:.5}.profile-text{flex:1}.profile-title{font-size:3.5rem;font-weight:700;line-height:1.2;margin:0 0 .5rem;letter-spacing:-.02em;color:#000}.app.dark-mode .profile-title{color:#fff}.name-highlight{color:#2563eb}.app.dark-mode .name-highlight{color:#93c5fd}.profile-subtitle{font-size:1.5rem;font-weight:400;margin:0;color:#000;display:inline-flex;align-items:center}.app.dark-mode .profile-subtitle{color:#fff}.role-text{display:inline-block;white-space:nowrap}.cursor{animation:blink 1s infinite;margin-left:2px}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.action-buttons{display:flex;gap:1rem;margin-bottom:3rem;flex-wrap:wrap;align-items:flex-start}.contact-info{display:flex;flex-direction:column;gap:.35rem;margin-bottom:2rem;color:#000c}.contact-line{font-size:.95rem;display:flex;align-items:center;gap:.6rem;color:#000000d1}.app.dark-mode .contact-line{color:#ffffffd1}.contact-icon{width:1.55rem;height:1.55rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.9rem;background:#0000000f;flex-shrink:0}.app.dark-mode .contact-icon{background:#ffffff1a}.contact-line a{color:inherit;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s ease}.contact-line a:hover{border-color:currentColor}.app.dark-mode .contact-info{color:#fffc}.contact-actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center}.contact-pill{text-decoration:none;color:#000;border:1px solid rgba(0,0,0,.16);border-radius:999px;padding:.45rem .9rem;font-size:.9rem;font-weight:500;transition:transform .18s ease-out,background-color .18s ease-out,border-color .18s ease-out}.contact-pill:hover{transform:translateY(-1px);background:#0000000d;border-color:#0000004d}.app.dark-mode .contact-pill{color:#fff;border-color:#ffffff38}.app.dark-mode .contact-pill:hover{background:#ffffff14;border-color:#ffffff59}.btn-primary{display:inline-block;padding:.875rem 2rem;background-color:#2563eb;color:#fff;text-decoration:none;border-radius:4px;font-weight:500;font-size:1rem;transition:background-color .3s ease;border:none;cursor:pointer}.app.dark-mode .btn-primary{background-color:#1d4ed8;color:#fff}.btn-primary:hover{background-color:#1d4ed8}.app.dark-mode .btn-primary:hover{background-color:#2563eb}.btn-secondary{display:inline-block;padding:.875rem 2rem;background-color:transparent;color:#2563eb;text-decoration:none;border-radius:4px;font-weight:500;font-size:1rem;transition:background-color .3s ease,color .3s ease;border:1px solid var(--box-border-color);cursor:pointer}.app.dark-mode .btn-secondary{color:#93c5fd;border-color:var(--box-border-dark-color)}.btn-secondary:hover{background-color:#3b82f614}.app.dark-mode .btn-secondary:hover{background-color:#60a5fa1f}.profile-info{max-width:800px;margin:0 0 3rem}.section-title{font-size:.9rem;font-weight:600;margin-bottom:1.5rem;color:#000;letter-spacing:.1em;text-transform:uppercase;border:2px solid var(--box-border-color);padding:.5rem 1rem;border-radius:4px;display:inline-block}.app.dark-mode .section-title{color:#fff;border-color:var(--box-border-dark-color)}.about-text{font-size:1.1rem;line-height:1.8;color:#000c;margin:0}.app.dark-mode .about-text{color:#fffc}.quick-links{display:flex;flex-direction:column;gap:.5rem;margin-top:2rem}.quick-link{display:flex;align-items:center;text-decoration:none;gap:.75rem;transition:opacity .3s ease}.quick-link:hover{opacity:1}.quick-link:hover .link-text{font-weight:700}.gradient-line{flex:1;height:1px;background:linear-gradient(to right,#3b82f652,#3b82f60f)}.app.dark-mode .gradient-line{background:linear-gradient(to right,#60a5fa5c,#60a5fa14)}.link-text{color:#1a45a2;font-size:1rem;font-weight:400;font-family:monospace;white-space:nowrap;transition:font-weight .3s ease}.app.dark-mode .link-text{color:#fff}@media(max-width:968px){.content-wrapper{grid-template-columns:1fr;gap:2rem}.project-detail-metrics,.project-detail-grid,.project-visual-grid{grid-template-columns:1fr}.left-section{position:relative;top:0}.right-section{min-height:auto}.item-header{flex-wrap:wrap}.photo-booth-metrics,.photo-booth-grid{grid-template-columns:1fr}}@media(max-width:768px){.profile-title{font-size:2.5rem}.profile-header-content{flex-direction:column;align-items:flex-start;gap:1.5rem}.photo-placeholder,.profile-photo-image{width:100px;height:100px}.main-content{padding:2rem 1rem}.action-buttons{flex-direction:column}.btn-primary,.btn-secondary{width:100%;text-align:center}.photo-booth-stage-header,.photo-booth-strip-header{flex-direction:column}.photo-booth-stage-actions{width:100%;justify-content:stretch}.photo-booth-action-btn{width:100%}.photo-booth-thumbnail-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
