diff --git a/interests/synthwave.png b/interests/synthwave.png deleted file mode 100644 index 2535077..0000000 Binary files a/interests/synthwave.png and /dev/null differ diff --git a/style.css b/style.css index 835815b..f93fdd2 100644 --- a/style.css +++ b/style.css @@ -7,42 +7,18 @@ --mono-font: 'SFMono-Regular', Consolas, Menlo, monospace; } - -@keyframes pulse-trace { +@keyframes avatar-color-shift { 0%, 100% { - opacity: 0.3; + filter: grayscale(100%) sepia(100%) hue-rotate(230deg) saturate(1.4) brightness(1.0); } - 50% { - opacity: 1; + 45% { + filter: grayscale(100%) sepia(100%) hue-rotate(160deg) saturate(1.1) brightness(1.0); } } - -@keyframes scan-line { - 0% { - transform: translateX(-150%) skewX(-45deg); - opacity: 0; - } - - 10% { - opacity: 0.5; - } - - 20% { - transform: translateX(150%) skewX(-45deg); - opacity: 0; - } - - 100% { - transform: translateX(150%) skewX(-45deg); - opacity: 0; - } -} - - @keyframes grow-reveal { from { opacity: 0; @@ -53,15 +29,11 @@ to { opacity: 1; max-height: 1000px; - /* Reduced to match content better and speed up animation */ transform: scale(1); } } - @keyframes shrink-fade-away { - - /* New animation for shrinking */ from { opacity: 1; max-height: 1000px; @@ -75,22 +47,6 @@ } } - -@keyframes avatar-color-shift { - - /* Cyan phase */ - 0%, - 100% { - filter: grayscale(100%) sepia(100%) hue-rotate(230deg) saturate(1.4) brightness(1.0); - } - - /* Light Blue phase */ - 45% { - filter: grayscale(100%) sepia(100%) hue-rotate(160deg) saturate(1.1) brightness(1.0); - } -} - - * { box-sizing: border-box; } @@ -100,7 +56,6 @@ body { font-family: var(--mono-font); background-color: var(--bg-color); background-image: radial-gradient(rgba(0, 243, 255, 0.15) 1px, transparent 1px); - /* Grid background */ background-size: 24px 24px; color: var(--text-color); display: flex; @@ -112,6 +67,28 @@ body { overflow-x: hidden; } +h1 { + margin: 0; + font-size: clamp(1.5rem, 5vw, 2.2rem); + color: #fff; + text-shadow: 1px 1px var(--accent-color), -1px -1px var(--text-color), 0 0 15px rgba(255, 255, 255, 0.3); + letter-spacing: 1px; +} + +h2 { + font-size: 0.75rem; + text-transform: uppercase; + color: var(--accent-color); + text-shadow: 0 0 8px var(--accent-color); + margin-bottom: 16px; + margin-top: 0; + letter-spacing: 2px; +} + +a { + color: var(--link-color); + text-decoration: none; +} .bento-grid { display: grid; @@ -120,7 +97,6 @@ body { grid-template-columns: repeat(3, 1fr); } - .card { background: var(--card-bg); padding: 24px; @@ -130,148 +106,20 @@ body { position: relative; transition: all 0.3s ease; backface-visibility: hidden; - /* Fixes potential text blur on rotated cards */ - clip-path: polygon(0 15px, 15px 0, - 100% 0, - 100% calc(100% - 15px), calc(100% - 15px) 100%, - 0 100%); + clip-path: polygon(0 15px, 15px 0, 100% 0, 100% calc(100% - 15px), calc(100% - 15px) 100%, 0 100%); } - -/* Desktop-only effects: Shuffle and Gradient Borders */ -@media (min-width: 769px) { - .card { - background: linear-gradient(var(--card-bg), var(--card-bg)) padding-box, - linear-gradient(135deg, rgba(0, 243, 255, 0.4), rgba(255, 0, 255, 0.4)) border-box; - } - - .card:hover { - filter: drop-shadow(0 0 15px rgba(0, 243, 255, 0.5)) drop-shadow(0 0 50px rgba(0, 243, 255, 0.3)); - background: linear-gradient(var(--card-bg), var(--card-bg)) padding-box, - linear-gradient(135deg, rgba(0, 243, 255, 0.8), rgba(255, 0, 255, 0.8)) border-box; - } - - /* Desktop Grid Spans */ - .avatar { - display: block !important; - max-width: 80px !important; - max-height: 100px !important; - object-fit: cover !important; - border: 2px solid #ccc !important; - border-radius: 4px !important; - margin-right: 16px !important; - } - - .hero { - grid-column: span 3; - transform: none; - } - - .interests-showcase { - grid-column: span 3; - transform: none; - } - - .hiring-toggle { - grid-column: span 3; - transform: none; - } - - .selected-work { - grid-column: span 3; - transform: none; - } - - body:not(.cv-mode) .personal { - grid-column: span 3; - transform: none; - } - - .cv-mode .personal { - grid-column: span 1; - transform: none; - } - - .first-experience { - grid-column: span 3; - transform: none; - } - - .experience { - grid-column: span 3; - transform: none; - } - - .skills { - grid-column: span 3; - transform: none; - } - - .education { - grid-column: span 2; - transform: none; - } - - /* Shuffle Logic */ - .avatar { - display: block !important; - max-width: 80px !important; - max-height: 100px !important; - object-fit: cover !important; - border: 2px solid #ccc !important; - border-radius: 4px !important; - margin-right: 16px !important; - } - - .hero { - transform: none; - } - - .selected-work { - transform: translate(2px, -2px); - } - - .personal { - transform: translate(1px, -1px); - } - - .hiring-toggle { - transform: translate(-2px, 3px); - } - - .first-experience { - transform: translate(3px, -2px); - } - - .experience { - transform: translate(3px, -2px); - } - - .skills { - transform: translate(-3px, 4px); - } - - .education { - transform: translate(2px, 3px); - } +.avatar { + width: 120px; + height: 160px; + object-fit: cover; + border: 1px solid var(--text-color); + animation: avatar-color-shift 20s infinite linear; } - -@media (max-width: 768px) { - .card { - border-color: rgba(0, 243, 255, 0.3); - } - - .card:hover { - border-color: rgba(0, 243, 255, 0.6); - } -} - - -.profile { - display: flex; - align-items: center; - gap: 32px; +body.cv-mode .avatar { + animation: none; + filter: none; } .hero { @@ -309,6 +157,16 @@ body { opacity: 0.7; } +.hero-description { + margin: 0; + flex: 1 1 100%; +} + +.hero-description p { + margin: 0; + line-height: 1.5; +} + .print-button { position: absolute; top: 1.25rem; @@ -329,74 +187,6 @@ body { transition: all 0.2s ease; } -.hero-description { - margin: 0; - flex: 1 1 100%; -} - -.hero-description p { - margin: 0; - line-height: 1.5; -} - - -.highlight-item { - border-bottom: 1px solid rgba(0, 243, 255, 0.08); - border-left: 2px solid rgba(0, 243, 255, 0.15); - padding: 0 0 16px 16px; -} - -.highlight-item h3 { - display: flex; - align-items: baseline; - justify-content: space-between; - gap: 8px; - color: #fff; - font-size: 1.05rem; - margin: 0 0 10px 0; -} - -.highlight-date { - font-size: 0.85em; - color: rgba(0, 243, 255, 0.5); - font-weight: normal; - white-space: nowrap; -} - -.selected-work { - display: grid; - grid-template-columns: 1fr 1fr; - gap: 20px 28px; -} - -.cv-mode .selected-work h2 { - grid-column: 1 / -1; - margin-bottom: 0; -} - -.selected-work .philosophy { - grid-column: 1 / -1; -} - -.highlight-descriptions { - column-count: 1; -} - -.highlight-description { - margin: 0 0 8px 0; - font-size: 0.85rem; - line-height: 1.5; - opacity: 0.85; - break-inside: avoid; -} - -.highlight-description:last-child { - margin-bottom: 0; -} - -/** - * Link pills – shared base - */ .pill { display: inline-flex; align-items: center; @@ -431,8 +221,108 @@ body { display: none; } -.cv-container .pill-cv { - display: none; +.hero-contacts { + display: inline-flex; + flex-wrap: wrap; + justify-content: center; + gap: 10px; +} + +.contact-pill { + color: var(--link-color); + background: rgba(255, 215, 0, 0.06); + border-color: rgba(255, 215, 0, 0.2); +} + +.contact-pill:hover { + background: rgba(255, 215, 0, 0.12); + border-color: rgba(255, 215, 0, 0.5); + box-shadow: 0 0 12px rgba(255, 215, 0, 0.15); +} + +.contact-pill .pill-url { + color: var(--link-color); +} + +.hero-nav { + display: inline-flex; + flex-wrap: wrap; + justify-content: center; + gap: 10px; + padding-top: 0; + border-top: none; + border-left: 1px solid rgba(0, 243, 255, 0.15); + padding-left: 16px; +} + +.nav-pill { + color: var(--text-color); + background: rgba(0, 243, 255, 0.04); + border-color: rgba(0, 243, 255, 0.15); +} + +.nav-pill:hover { + background: rgba(0, 243, 255, 0.1); + border-color: rgba(0, 243, 255, 0.4); + box-shadow: 0 0 12px rgba(0, 243, 255, 0.15); +} + +.nav-pill .pill-url { + color: var(--text-color); +} + +.selected-work { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 20px 28px; +} + +.cv-mode .selected-work h2 { + grid-column: 1 / -1; + margin-bottom: 0; +} + +.selected-work .philosophy { + grid-column: 1 / -1; +} + +.highlight-item { + border-bottom: 1px solid rgba(0, 243, 255, 0.08); + border-left: 2px solid rgba(0, 243, 255, 0.15); + padding: 0 0 16px 16px; +} + +.highlight-item h3 { + display: flex; + align-items: baseline; + justify-content: space-between; + gap: 8px; + color: #fff; + font-size: 1.05rem; + margin: 0 0 10px 0; +} + +.highlight-date { + font-size: 0.85em; + color: rgba(0, 243, 255, 0.5); + font-weight: normal; + white-space: nowrap; +} + +.highlight-descriptions { + column-count: 1; +} + +.highlight-description { + margin: 0 0 8px 0; + font-size: 0.85rem; + line-height: 1.5; + opacity: 0.85; + break-inside: avoid; +} + +.highlight-description:last-child { + margin-bottom: 0; } .card blockquote.philosophy { @@ -447,73 +337,99 @@ body { border-radius: 0 6px 6px 0; } - -/** - * Contact pills – gold accent - */ -.hero-contacts { - display: inline-flex; - flex-wrap: wrap; - justify-content: center; - gap: 10px; +.cv-section { + background: rgba(0, 243, 255, 0.03); + border: 1px solid rgba(0, 243, 255, 0.15); + padding: 20px; + margin-top: 15px; + clip-path: polygon(0 10px, 10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%); + transition: all 0.3s ease; } -.contact-pill { - color: var(--link-color); - background: rgba(255, 215, 0, 0.06); - border-color: rgba(255, 215, 0, 0.2); +.cv-section:hover { + border-color: rgba(0, 243, 255, 0.3); } - -.contact-pill:hover { - background: rgba(255, 215, 0, 0.12); - border-color: rgba(255, 215, 0, 0.5); - box-shadow: 0 0 12px rgba(255, 215, 0, 0.15); +.cv-item { + margin-bottom: 20px; + border-left: 2px solid rgba(0, 243, 255, 0.2); + padding-left: 15px; } +.cv-item:last-child { + margin-bottom: 0; +} -.contact-pill .pill-url { +.cv-item-header { + display: flex; + justify-content: space-between; + align-items: baseline; + margin-bottom: 4px; +} + +.cv-title { + margin: 0; + font-weight: bold; + color: #fff; + font-size: 1rem; +} + +.cv-date { + font-size: 0.7rem; + color: var(--accent-color); +} + +.cv-org { + margin: 0 0 8px 0; + font-size: 0.8rem; color: var(--link-color); } +.cv-desc { + margin: 0; + font-size: 0.85rem; + line-height: 1.4; + opacity: 0.9; +} -/** - * Nav pills – cyan accent - */ -.hero-nav { - display: inline-flex; +.skill-categories { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); + gap: 1.5rem; + padding: 0; +} + +.skill-group h3 { + font-size: 0.6rem; + text-transform: uppercase; + opacity: 0.4; + letter-spacing: 3px; + margin-top: 0; + margin-bottom: 0.5rem; + text-align: left; + color: var(--text-color); +} + +.skill-tags { + display: flex; flex-wrap: wrap; - justify-content: center; - gap: 10px; - padding-top: 0; - border-top: none; - border-left: 1px solid rgba(0, 243, 255, 0.15); - padding-left: 16px; + gap: 0.4rem 0.8rem; + justify-content: flex-start; + align-items: center; } - -.nav-pill { - color: var(--text-color); - background: rgba(0, 243, 255, 0.04); - border-color: rgba(0, 243, 255, 0.15); +.tag { + display: inline-block; + opacity: 0; + transform: translateX(-5px); + transition: opacity 0.4s ease, transform 0.4s ease; } - -.nav-pill:hover { - background: rgba(0, 243, 255, 0.1); - border-color: rgba(0, 243, 255, 0.4); - box-shadow: 0 0 12px rgba(0, 243, 255, 0.15); +.reveal .tag { + opacity: 1; + transform: translateX(0); } - -.nav-pill .pill-url { - color: var(--text-color); -} - - -/** - * Personal interests – tag cloud - */ .personal-tags { display: flex; flex-wrap: wrap; @@ -532,11 +448,9 @@ body { } .personal-tag:hover { - /*background: rgba(0, 243, 255, 0.15);*/ border-color: rgba(0, 243, 255, 0.4); } -/* Varying shades for tag cloud */ .personal-tag:nth-child(3n+1) { opacity: 0.6; } @@ -553,7 +467,6 @@ body { display: none !important; } - .reveal { display: block !important; pointer-events: auto; @@ -563,344 +476,24 @@ body { backface-visibility: hidden; } - .fade-out { display: block !important; - /* This class will be applied when content is being hidden */ animation: shrink-fade-away 0.3s cubic-bezier(0.16, 1, 0.3, 1) both; transition: none !important; will-change: opacity, max-height, transform; backface-visibility: hidden; } - -/* CV Specific Content Styles */ -.cv-section { - background: rgba(0, 243, 255, 0.03); - border: 1px solid rgba(0, 243, 255, 0.15); - padding: 20px; - margin-top: 15px; - clip-path: polygon(0 10px, 10px 0, - 100% 0, - 100% calc(100% - 10px), calc(100% - 10px) 100%, - 0 100%); - transition: all 0.3s ease; -} - - -.cv-section:hover { - /*background: rgba(0, 243, 255, 0.07);*/ - border-color: rgba(0, 243, 255, 0.3); -} - - -.cv-item { - margin-bottom: 20px; - border-left: 2px solid rgba(0, 243, 255, 0.2); - padding-left: 15px; -} - - -.cv-item:last-child { - margin-bottom: 0; -} - -.cv-item-header, -.cv-header { - display: flex; - justify-content: space-between; - align-items: baseline; - margin-bottom: 4px; -} - - -address.mono-addr { - font-style: normal; - margin-bottom: 15px; - padding-top: 5px; -} - -address.mono-addr span { - display: block; -} - - -.cv-title { - margin: 0; - font-weight: bold; - color: #fff; - font-size: 1rem; -} - - -.cv-date { - font-size: 0.7rem; - color: var(--accent-color); -} - - -.cv-org { - margin: 0 0 8px 0; - font-size: 0.8rem; - color: var(--link-color); -} - - -.cv-desc { - margin: 0; - font-size: 0.85rem; - line-height: 1.4; - opacity: 0.9; -} - - -.cv-modified { - text-align: right; - font-size: 0.7rem; - opacity: 0.5; - margin-top: 0px; - margin-bottom: 1rem; - font-family: var(--mono-font); -} - - -.skill-categories { - display: grid; - grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); - gap: 1.5rem; - padding: 0; -} - - -.skill-group h3 { - font-size: 0.6rem; - text-transform: uppercase; - opacity: 0.4; - letter-spacing: 3px; - margin-top: 0; - margin-bottom: 0.5rem; - text-align: left; - color: var(--text-color); -} - - -.skill-tags { - display: flex; - flex-wrap: wrap; - gap: 0.4rem 0.8rem; - justify-content: flex-start; - align-items: center; -} - - -.tag { - display: inline-block; - opacity: 0; - transform: translateX(-5px); - transition: opacity 0.4s ease, transform 0.4s ease; -} - - -.reveal .tag { - opacity: 1; - transform: translateX(0); -} - - -.profile::before { - content: ""; - position: absolute; - top: 0; - left: 0; - width: 60px; - height: 100%; - background: linear-gradient(90deg, transparent, rgba(0, 243, 255, 0.2), transparent); - animation: scan-line 4s infinite linear; - pointer-events: none; -} - - -.link-grid { - list-style: none; - padding: 0; - display: grid; - gap: 10px; -} - - - -.link-grid a { - font-size: 0.75rem; - display: block; - padding: 8px; - border-left: 3px solid var(--text-color); - color: var(--link-color); - background: rgba(0, 243, 255, 0.15); - /* Increased alpha for better visibility */ - text-align: center; - transition: all 0.2s ease; - border: 1px solid rgba(0, 243, 255, 0.3); - border-left: 3px solid var(--text-color); - text-shadow: 0 0 5px rgba(255, 215, 0, 0.3); -} - - -.link-grid a:hover { - background: rgba(0, 243, 255, 0.25); - border-left-color: var(--accent-color); - box-shadow: 0 0 15px var(--accent-color); - transform: translateY(-2px); -} - - -/* Specific styling for the small contact buttons */ -.contact .link-grid { - grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); - margin-top: 15px; -} - - -.links::after { - content: ""; - position: absolute; - top: 10px; - right: 10px; - width: 10px; - height: 10px; - background: var(--link-color); - box-shadow: 0 0 15px 2px var(--link-color); - border-radius: 50%; - animation: pulse-trace 1s infinite; -} - - -/* Cyberpunk Toggle Switch */ -.cv-toggle-container { - display: flex; - align-items: center; - justify-content: space-between; - width: 100%; - font-size: 0.85rem; - color: var(--accent-color); - text-shadow: 0 0 10px var(--accent-color); - text-transform: uppercase; - letter-spacing: 4px; - font-weight: bold; -} - - -.cv-mode .cv-toggle-container span { - color: #fff; -} - - -.switch { - position: relative; - display: inline-block; - width: 40px; - height: 20px; -} - - -.switch input { - opacity: 0; - width: 0; - height: 0; -} - -.slider { - position: absolute; - cursor: pointer; - top: 0; - left: 0; - right: 0; - bottom: 0; - background-color: rgba(255, 0, 255, 0.2); - transition: .4s; - border: 1px solid var(--accent-color); -} - - -.slider:before { - position: absolute; - content: ""; - height: 12px; - width: 12px; - left: 4px; - bottom: 3px; - background-color: var(--accent-color); - transition: .4s; - box-shadow: 0 0 10px var(--accent-color); -} - - -input:checked+.slider { - background-color: rgba(0, 243, 255, 0.2); - border-color: var(--text-color); -} - -input:checked+.slider:before { - transform: translateX(20px); - background-color: var(--text-color); - box-shadow: 0 0 10px var(--text-color); -} - - -.avatar { - width: 120px; - height: 160px; - /* Explicit height for aspect ratio 3:4 */ - object-fit: cover; - border: 1px solid var(--text-color); - animation: avatar-color-shift 20s infinite linear; -} - -body.cv-mode .avatar { - animation: none; - filter: none; -} - - -h1 { - margin: 0; - font-size: clamp(1.5rem, 5vw, 2.2rem); - color: #fff; - text-shadow: 1px 1px var(--accent-color), -1px -1px var(--text-color), 0 0 15px rgba(255, 255, 255, 0.3); - letter-spacing: 1px; -} - - -h2 { - font-size: 0.75rem; - text-transform: uppercase; - color: var(--accent-color); - text-shadow: 0 0 8px var(--accent-color); - margin-bottom: 16px; - margin-top: 0; - letter-spacing: 2px; -} - - -a { - color: var(--link-color); - text-decoration: none; -} - -@media (max-width: 768px) { - .bento-grid { - grid-template-columns: 1fr; +@media (min-width: 769px) { + .card { + background: linear-gradient(var(--card-bg), var(--card-bg)) padding-box, + linear-gradient(135deg, rgba(0, 243, 255, 0.4), rgba(255, 0, 255, 0.4)) border-box; } - .profile, - .about, - .interests, - .links, - .contact, - .first-experience, - .experience, - .skills, - .education { - grid-column: span 1; + .card:hover { + filter: drop-shadow(0 0 15px rgba(0, 243, 255, 0.5)) drop-shadow(0 0 50px rgba(0, 243, 255, 0.3)); + background: linear-gradient(var(--card-bg), var(--card-bg)) padding-box, + linear-gradient(135deg, rgba(0, 243, 255, 0.8), rgba(255, 0, 255, 0.8)) border-box; } .avatar { @@ -913,9 +506,94 @@ a { margin-right: 16px !important; } - .profile { - flex-direction: column; - text-align: center; + .hero { + grid-column: span 3; + } + + .interests-showcase { + grid-column: span 3; + } + + .hiring-toggle { + grid-column: span 3; + } + + .selected-work { + grid-column: span 3; + } + + body:not(.cv-mode) .personal { + grid-column: span 3; + } + + .cv-mode .personal { + grid-column: span 1; + } + + .first-experience { + grid-column: span 3; + } + + .experience { + grid-column: span 3; + } + + .skills { + grid-column: span 3; + } + + .education { + grid-column: span 2; + } + + .hero { + transform: none; + } + + .selected-work { + transform: translate(2px, -2px); + } + + .personal { + transform: translate(1px, -1px); + } + + .hiring-toggle { + transform: translate(-2px, 3px); + } + + .first-experience { + transform: translate(3px, -2px); + } + + .experience { + transform: translate(3px, -2px); + } + + .skills { + transform: translate(-3px, 4px); + } + + .education { + transform: translate(2px, 3px); + } +} + +@media (max-width: 768px) { + .bento-grid { + grid-template-columns: 1fr; + } + + .card { + border-color: rgba(0, 243, 255, 0.3); + } + + .card:hover { + border-color: rgba(0, 243, 255, 0.6); + } + + .card blockquote.philosophy { + display: none; } .hero { @@ -951,19 +629,22 @@ a { display: inline; } - .card blockquote.philosophy { - display: none; + .avatar { + display: block !important; + max-width: 80px !important; + max-height: 100px !important; + object-fit: cover !important; + border: 2px solid #ccc !important; + border-radius: 4px !important; + margin-right: 16px !important; } } -/* Tamed Cyberpunk Overrides for CV Mode */ body.cv-mode { --bg-color: #0d0e12; --text-color: #cbd5e1; - /* slaty blue-gray */ --accent-color: #00d2ff; --secondary-accent: #f472b6; - /* modern pink/magenta */ --card-bg: #15171e; background-image: linear-gradient(rgba(255, 255, 255, 0.015) 1px, transparent 1px), @@ -972,6 +653,10 @@ body.cv-mode { font-family: system-ui, -apple-system, sans-serif; } +.cv-mode .pill-cv { + display: none; +} + .cv-mode .print-button { display: block; border-color: var(--accent-color); @@ -1069,14 +754,20 @@ body.cv-mode { color: var(--text-color); } -/* Print mode */ -/* Condensed Print Mode - White Background */ +.page-footer { + text-align: center; + font-size: 0.75rem; + color: #666; + margin: 24px 0 0; + padding: 0; + opacity: 0.6; +} + @media print { .print-button { display: none !important; } - /* Ensure hidden elements stay hidden in print */ .hidden { display: none !important; } @@ -1085,20 +776,8 @@ body.cv-mode { display: none !important; } - /* Hide CV content unless CV mode is active */ - .cv-container, - .cv-section { - display: none !important; - } - - .cv-mode .cv-container, - .cv-mode .cv-section { - display: block !important; - } - - /* Hide navigation card in print */ - .card.links { - display: none !important; + .pill-cv { + display: inline-flex !important; } * { @@ -1140,166 +819,6 @@ body.cv-mode { filter: none !important; } - /* Hide interactive elements */ - .cv-toggle-container, - .hiring-toggle, - .switch, - .link-grid, - .links::after, - .profile::before, - .hiring-cta, - .hiring-btn, - .cv-section::after { - display: none !important; - } - - /* Re‑enable and layout the contact link grid horizontally */ - .link-grid { - display: flex !important; - flex-wrap: wrap; - gap: 8px; - width: 100% !important; - } - - .contact .link-grid a { - flex: 1 1 0 !important; - min-width: 80px; - text-align: center; - } - - /* Make mono-addr display horizontally in print */ - address.mono-addr { - display: flex !important; - flex-wrap: wrap; - gap: 4px; - } - - address.mono-addr span { - display: inline-block !important; - margin-right: 8px; - } - - /* Make contact links span more horizontally in print */ - .contact { - /* Span more columns in the grid for a wider layout */ - grid-column: span 3 !important; - } - - /* Removed duplicate flex layout for .contact .link-grid */ - - /* Pill links in print – show label + URL clearly */ - .hero-contacts, - .hero-nav { - display: flex !important; - flex-wrap: wrap !important; - gap: 3px !important; - } - - .pill { - display: inline-flex !important; - align-items: center !important; - gap: 2px !important; - padding: 1px 4px !important; - border: none !important; - background: none !important; - color: #000 !important; - text-decoration: none !important; - font-size: 0.65rem !important; - } - - .pill .pill-icon { - display: none !important; - } - - .pill .pill-url { - display: inline !important; - opacity: 1 !important; - color: #333 !important; - font-size: 0.6rem !important; - margin-left: 2px !important; - } - - .pill-cv { - display: inline-flex !important; - } - - /* CV Container – hidden unless CV mode */ - - /* Reset animations */ - .reveal, - .fade-out, - .tag, - img { - animation: none !important; - transition: none !important; - filter: grayscale(100%) !important; - opacity: 1 !important; - } - - /* Show content */ - .experience, - .skills, - .education { - display: block !important; - opacity: 1 !important; - max-height: none !important; - overflow: visible !important; - pointer-events: auto !important; - margin: 4px 0 !important; - } - - /* Condensed CV content */ - .cv-section { - padding: 10px !important; - margin-top: 6px !important; - clip-path: none !important; - } - - .cv-item { - margin-bottom: 8px !important; - padding-left: 8px !important; - border-left: 1px solid #727272 !important; - } - - .cv-title { - font-size: 0.8rem !important; - } - - .cv-org { - font-size: 0.7rem !important; - margin: 0 0 3px 0 !important; - } - - .cv-desc { - font-size: 0.75rem !important; - line-height: 1.25 !important; - } - - .cv-item-header { - margin-bottom: 2px !important; - } - - /* Profile layout */ - .avatar { - display: block !important; - max-width: 60px !important; - max-height: 75px !important; - object-fit: cover !important; - border: 1px solid #ccc !important; - border-radius: 3px !important; - filter: none !important; - margin-right: 12px !important; - } - - .profile { - display: flex !important; - align-items: center !important; - gap: 12px !important; - padding: 4px !important; - flex-wrap: wrap !important; - } - - /* Hero layout – keep photo left, name right (like desktop) */ .hero { display: flex !important; flex-direction: row !important; @@ -1327,8 +846,30 @@ body.cv-mode { gap: 2px !important; } + .pill { + display: inline-flex !important; + align-items: center !important; + gap: 2px !important; + padding: 1px 4px !important; + border: none !important; + background: none !important; + color: #000 !important; + text-decoration: none !important; + font-size: 0.65rem !important; + } + + .pill .pill-icon { + display: none !important; + } + + .pill .pill-url { + display: inline !important; + opacity: 1 !important; + color: #333 !important; + font-size: 0.6rem !important; + margin-left: 2px !important; + } - /* Selected Work highlights – give titles and items room */ .selected-work { gap: 8px 16px !important; } @@ -1365,18 +906,95 @@ body.cv-mode { line-height: 1.3 !important; } - /* Links grid */ - .link-grid a { - color: #000 !important; + .cv-section { + padding: 10px !important; + margin-top: 6px !important; + clip-path: none !important; + } + + .cv-item { + margin-bottom: 8px !important; + padding-left: 8px !important; + border-left: 1px solid #727272 !important; + } + + .cv-title { + font-size: 0.8rem !important; + } + + .cv-org { + font-size: 0.7rem !important; + margin: 0 0 3px 0 !important; + } + + .cv-desc { + font-size: 0.75rem !important; + line-height: 1.25 !important; + } + + .cv-item-header { + margin-bottom: 2px !important; + } + + .avatar { + display: block !important; + max-width: 60px !important; + max-height: 75px !important; + object-fit: cover !important; + border: 1px solid #ccc !important; + border-radius: 3px !important; + filter: none !important; + margin-right: 12px !important; + } + + .experience, + .skills, + .education { + display: block !important; + opacity: 1 !important; + max-height: none !important; + overflow: visible !important; + pointer-events: auto !important; + margin: 4px 0 !important; + } + + .skill-categories { + gap: 0.75rem !important; + } + + .skill-group h3 { + font-size: 0.55rem !important; + margin-bottom: 0.2rem !important; + letter-spacing: 1px !important; + opacity: 0.6 !important; + } + + .skill-tags { + gap: 0.15rem 0.4rem !important; + } + + .tag { + opacity: 1 !important; background: none !important; - padding: 3px 6px !important; border: none !important; - display: inline-block !important; - margin: 1px !important; + padding: 0 4px !important; font-size: 0.75em !important; } - /* Typography */ + .personal-tags { + flex-direction: row !important; + flex-wrap: wrap !important; + gap: 4px !important; + } + + .personal-tag { + display: inline-flex !important; + align-items: center !important; + padding: 1px 6px !important; + border: none !important; + background: none !important; + } + h1 { font-size: 16px !important; margin: 2px 0 4px 0 !important; @@ -1410,31 +1028,6 @@ body.cv-mode { text-decoration: underline !important; } - /* Remove neon effects */ - .tag { - opacity: 1 !important; - background: none !important; - border: none !important; - padding: 0 4px !important; - font-size: 0.75em !important; - } - - .skill-categories { - gap: 0.75rem !important; - } - - .skill-group h3 { - font-size: 0.55rem !important; - margin-bottom: 0.2rem !important; - letter-spacing: 1px !important; - opacity: 0.6 !important; - } - - .skill-tags { - gap: 0.15rem 0.4rem !important; - } - - /* Condensed spacing */ .card h1 { margin: 0 0 2px 0 !important; } @@ -1453,12 +1046,6 @@ body.cv-mode { font-size: 0.8em !important; } - /* Remove gradients and shadows */ - .profile .links { - display: none !important; - } - - /* Ensure images don't take too much space */ img { max-width: 60px !important; max-height: 80px !important; @@ -1466,171 +1053,28 @@ body.cv-mode { filter: grayscale(100%) !important; } - /* Better column layout for print */ @page { margin: 1cm; } - /* Reduce page breaks */ .card { page-break-inside: avoid !important; } - /* Ensure hidden elements stay hidden in print */ - .hidden { - display: none !important; - } - - .cv-mode .hidden { - display: none !important; - } - - /* Render interests as horizontal pills in print */ - .personal-tags { - flex-direction: row !important; - flex-wrap: wrap !important; - gap: 4px !important; - } - - .personal-tag { - display: inline-flex !important; - align-items: center !important; - padding: 1px 6px !important; - border: none !important; - background: none !important; - } - .page-footer { font-size: 0.6rem !important; color: #888 !important; margin: 16px 0 0 !important; opacity: 0.5 !important; } -} - -.page-footer { - text-align: center; - font-size: 0.75rem; - color: #666; - margin: 24px 0 0; - padding: 0; - opacity: 0.6; -} - -/* Interests Showcase Styles */ -.interests-showcase { - display: flex; - flex-direction: column; - padding: 24px !important; - min-height: 400px; - overflow: hidden; -} - -.interests-nav { - margin-bottom: 24px; -} - -.interests-nav h2 { - margin-top: 0; - font-size: 0.75rem; - margin-bottom: 16px; -} - -.interests-nav ul { - list-style: none; - padding: 0; - margin: 0; - display: flex; - flex-wrap: wrap; - gap: 10px; -} - -.interests-nav li { - padding: 8px 16px; - border-radius: 20px; - background: rgba(0, 243, 255, 0.05); - border: 1px solid rgba(0, 243, 255, 0.15); - cursor: pointer; - transition: all 0.2s ease; - font-size: 0.9rem; - color: var(--text-color); -} - -.interests-nav li:hover { - background: rgba(0, 243, 255, 0.15); - border-color: rgba(0, 243, 255, 0.4); -} - -.interests-nav li.active { - background: var(--accent-color); - color: #000; - border-color: var(--accent-color); - font-weight: bold; - box-shadow: 0 0 15px var(--accent-color); -} - -.interests-display { - flex: 1; - position: relative; - min-height: 250px; - border-radius: 12px; - overflow: hidden; - display: flex; - background: #000; -} - -.interest-slide { - display: none; - width: 100%; - height: 100%; - flex-direction: column; - align-items: center; - justify-content: center; - position: absolute; - inset: 0; - padding: 30px; - color: #fff; - /* Changed to white for dark backgrounds */ -} - -.interest-slide.active { - display: flex; - animation: interestFadeIn 0.4s ease-out; -} - -.interest-slide img { - position: absolute; - inset: 0; - width: 100%; - height: 100%; - object-fit: cover; - z-index: 1; -} - -.interest-slide .caption { - position: relative; - z-index: 2; - font-size: 1.0rem; - line-height: 2.0; - color: inherit; - font-weight: bold; - text-shadow: 0 1px 2px rgba(255, 255, 255, 0.5); -} - -.interest-slide img+.caption { - color: #fff; - text-shadow: 0 0 10px #000, 0 0 20px #000; -} - -@keyframes interestFadeIn { - from { - opacity: 0; - transform: translateY(5px); - } - - to { - opacity: 1; - transform: translateY(0); + .reveal, + .fade-out, + .tag, + img { + animation: none !important; + transition: none !important; + filter: grayscale(100%) !important; + opacity: 1 !important; } } \ No newline at end of file