.resume-page{background:#0c0f14;min-height:100vh;padding:24px 0}.resume-page.dark{background:#0c0f14 url(/assets/img/resume-page-dark.png) center/auto repeat}.resume-page.light{background:#f7fafc url(/assets/img/resume-page-light.png) center/auto repeat}.resume-toolbar{max-width:980px;margin:0 auto 12px;display:flex;align-items:center;justify-content:space-between}.resume-toolbar .toolbar-left{display:flex;align-items:center;gap:8px}.resume-toolbar .toolbar-right{display:flex;align-items:center;justify-content:flex-end}.resume-container{background:#0f131a;max-width:980px;margin:0 auto;padding:40px;box-shadow:0 20px 60px rgba(0,0,0,.45);border-radius:16px;position:relative;overflow:hidden}.resume-container.light{background:#fff;box-shadow:0 14px 38px rgba(0,0,0,.1)}.resume-container.light{background:#fff}.resume-page.light .resume-container{background:#fff;box-shadow:0 10px 28px rgba(0,0,0,.08)}.resume-paper-dark{background:url(/assets/img/resume_paper_dark.png) center/auto repeat;padding:24px;border-radius:12px;position:relative;z-index:1}.resume-paper-light{background:url(/assets/img/resume_paper_light.png) center/auto repeat;padding:24px;border-radius:12px;position:relative;z-index:1}.resume-container.light .resume-divider{background:linear-gradient(90deg,transparent,#e5e7eb,transparent)}.resume-container.light .resume-subtitle{color:#475569}.resume-container.resume-theme:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;background:radial-gradient(800px 300px at -5% -10%,rgba(73,129,255,.12),transparent 60%),radial-gradient(700px 300px at 110% -15%,rgba(180,116,255,.1),transparent 60%),radial-gradient(900px 500px at 10% 120%,rgba(100,200,255,.06),transparent 60%);-webkit-mask-image:radial-gradient(1200px 800px at 50% 0%,black 65%,transparent 100%);mask-image:radial-gradient(1200px 800px at 50% 0%,black 65%,transparent 100%);pointer-events:none;z-index:0}.resume-container.resume-theme:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(600px 280px at 2% 2%,rgba(255,255,255,.06),transparent 55%),radial-gradient(600px 280px at 98% 0%,rgba(255,255,255,.05),transparent 55%);opacity:.2;pointer-events:none;z-index:0}.resume-header h1{font-size:28px;margin:0;letter-spacing:.3px;color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.6)}.resume-container.light .resume-header h1{color:#0e1a2b}.resume-meta{color:#c8d6f6;margin-top:4px}.resume-container.light .resume-meta{color:#334155}.resume-divider{border:0;height:1px;background:linear-gradient(90deg,transparent,rgba(203,213,225,.65),transparent);margin:20px 0}.resume-section h2{font-size:18px;margin-bottom:6px;color:#fff;letter-spacing:.2px;text-shadow:0 1px 0 rgba(0,0,0,.6)}.resume-section h3{font-size:16px;margin:10px 0 6px;color:#fff;letter-spacing:.15px}.resume-container.light .resume-section h2,.resume-container.light .resume-section h3{color:#0f172a}.resume-subtitle{font-size:15px;color:#cbd5e1;margin-top:4px}.resume-container:not(.light) .resume-role h4{color:#e6ecff}.resume-container:not(.light) a{color:#cfe1ff}.resume-container a{text-decoration:underline}.resume-container:not(.light) a{color:#60a5fa}.resume-container.light a{color:#1d4ed8}.resume-bullets{margin:8px 0 0;padding-left:18px;color:#d6e2ff}.resume-container.light .resume-bullets{color:#1f2937}.resume-bullets li{margin:4px 0}.resume-links-breaks a{display:inline-block;margin-bottom:6px}.resume-container:not(.light) .resume-section p{color:#c8d6f6}.resume-container.light .resume-section p{color:#1f2937}.resume-role header{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.resume-role h4{font-size:16px;margin:0}.resume-dates{color:#b7c9ff;font-size:14px;white-space:nowrap}.resume-container.light .resume-dates{color:#334155}.resume-bullets.two-col{-moz-columns:2;columns:2;-moz-column-gap:24px;column-gap:24px}@media (max-width: 900px){.resume-bullets.two-col{-moz-columns:1;columns:1}}.resume-header-grid{display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:center}.resume-avatar-wrap{position:relative}.resume-avatar{display:block;width:120px;height:120px;-o-object-fit:cover;object-fit:cover;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.1)}.resume-container.light .resume-avatar{box-shadow:0 8px 22px rgba(0,0,0,.18);border:1px solid rgba(15,23,42,.08)}.resume-heading{display:flex;flex-direction:column;gap:6px}@media print{.break-before-print{-moz-column-break-before:page;break-before:page;page-break-before:always}}@media print{.no-print,.print-only{display:inline!important}:root{color-scheme:light}@page{size:A4;margin:12mm}body{background:#fff}.no-print{display:none!important}.resume-page{padding:0;background:#fff!important}.resume-container{max-width:none;margin:0;padding:0;box-shadow:none;border-radius:0}.resume-paper-dark,.resume-paper-light{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:url(/assets/img/resume_paper_light.png) top left/auto repeat!important;position:static;padding:12mm!important;border-radius:0!important}.resume-header h1,.resume-section h2,.resume-section h3{color:#111827!important;text-shadow:none!important}.resume-meta,.resume-dates{color:#374151!important}.resume-bullets,.resume-section p{color:#111827!important}.resume-divider{background:#e5e7eb!important}.resume-bullets.two-col{-moz-columns:1!important;columns:1!important}.resume-container.resume-theme:before,.resume-container.resume-theme:after{display:none}.resume-header h1{font-size:22px}.resume-section h2{font-size:15px}.resume-role h4{font-size:14px}.resume-meta,.resume-dates{font-size:12px}.resume-bullets li{margin:2px 0}}.affect-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;pointer-events:none;opacity:1;transition:opacity 8s ease;will-change:opacity}.affect-overlay.is-fading{opacity:0}.valence-wave{background-image:linear-gradient(var(--affect-angle, 120deg),var(--affect-tone-a, rgba(255, 120, 200, .18)) 0%,var(--affect-tone-c, rgba(180, 200, 255, .14)) 50%,var(--affect-tone-b1, rgba(120, 180, 255, .12)) 85%,var(--affect-tone-b2, rgba(120, 160, 255, .12)) 100%);background-repeat:no-repeat;background-size:240% 240%;background-position:0% 50%;mix-blend-mode:hue;animation:rainbow-flow 20s ease-in-out infinite alternate,valence-breathe 12s ease-in-out infinite;will-change:background-position,opacity}.valence-wave:before,.valence-wave:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none}.valence-wave:before{background-image:radial-gradient(1px 1px at 10% 20%,rgba(255,255,255,.18),transparent 45%),radial-gradient(1px 1px at 22% 65%,rgba(255,255,255,.16),transparent 45%),radial-gradient(1.5px 1.5px at 38% 28%,rgba(255,255,255,.14),transparent 50%),radial-gradient(1px 1px at 55% 72%,rgba(255,255,255,.16),transparent 45%),radial-gradient(1px 1px at 72% 38%,rgba(255,255,255,.14),transparent 45%),radial-gradient(1.5px 1.5px at 86% 18%,rgba(255,255,255,.12),transparent 50%),radial-gradient(1px 1px at 82% 82%,rgba(255,255,255,.14),transparent 45%),radial-gradient(1px 1px at 18% 84%,rgba(255,255,255,.12),transparent 45%);mix-blend-mode:screen;opacity:.1;animation:star-twinkle-a 6s ease-in-out infinite}.valence-wave:after{background-image:radial-gradient(1px 1px at 14% 34%,rgba(255,255,255,.12),transparent 45%),radial-gradient(1px 1px at 30% 76%,rgba(255,255,255,.1),transparent 45%),radial-gradient(1px 1px at 66% 24%,rgba(255,255,255,.1),transparent 45%),radial-gradient(1px 1px at 79% 57%,rgba(255,255,255,.1),transparent 45%),radial-gradient(1px 1px at 93% 22%,rgba(255,255,255,.1),transparent 45%),radial-gradient(1px 1px at 6% 48%,rgba(255,255,255,.08),transparent 45%);mix-blend-mode:screen;opacity:.08;animation:star-twinkle-b 9s ease-in-out infinite}@keyframes rainbow-flow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes star-twinkle-a{0%,to{opacity:.08}50%{opacity:.14}}@keyframes star-twinkle-b{0%,to{opacity:.05}50%{opacity:.1}}@keyframes valence-breathe{0%{filter:saturate(100%)}50%{filter:saturate(120%)}to{filter:saturate(100%)}}.terminal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(10,12,16,.55);backdrop-filter:blur(6px) saturate(115%);-webkit-backdrop-filter:blur(6px) saturate(115%);display:flex;align-items:center;justify-content:center;z-index:1050}.terminal-window{position:relative;width:min(760px,92vw);max-height:min(70vh,680px);background:radial-gradient(1200px 400px at 10% 10%,rgba(255,255,255,.06),rgba(255,255,255,.01)),rgba(10,10,12,.85);border:1px solid rgba(255,255,255,.12);border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.45),inset 0 1px rgba(255,255,255,.05);overflow:hidden}.terminal-body{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:14px;line-height:1.6;color:#cfe7ff;padding:18px 18px 56px;overflow:auto;max-height:calc(min(70vh,680px) - 56px)}.term-line{opacity:.95}.term-user{color:#e2f3ff}.term-agent{color:#9ad1ff}.term-system{color:#b6c4d6}.terminal-input-row{position:absolute;left:14px;right:42px;bottom:10px;display:flex;align-items:center;gap:8px}.prompt{color:#77c3ff;opacity:.9}.terminal-input{background:transparent;border:none;outline:none;color:#e6f2ff;width:100%}.terminal-close{position:absolute;right:8px;top:8px;background:transparent;border:none;color:#d7e9ff;font-size:22px;line-height:1;opacity:.7}.terminal-close:hover{opacity:1}
