diff --git a/public/css/style.css b/public/css/style.css index c4be7d7..d734692 100755 --- a/public/css/style.css +++ b/public/css/style.css @@ -1,103 +1,140 @@ @import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap"); :root { - --theme: #1d1e20; - --primary: #d8d8d9; - --secondary: #eb5234; - --accent: #ff005a; - --panel: rgba(216, 216, 217, 0.08); - --panel-text: #303030; - --menu-text-bg: #303030; - --not-found: #030005; - --border: rgba(216, 216, 217, 0.12); - --muted: rgba(216, 216, 217, 0.72); - --shadow: 0 16px 44px rgba(0, 0, 0, 0.18); - --hero-glow-x: 50%; - --hero-glow-y: 20%; - --hero-glow-alt-x: 50%; - --hero-glow-alt-y: 28%; - --hero-glow-rotate: 0deg; - --hero-glow-shift-x: 0px; - --hero-glow-shift-y: 0px; + --theme: #1d1e20; + --primary: #d8d8d9; + --secondary: #eb5234; + --accent: #ff005a; + --panel: rgba(216, 216, 217, 0.08); + --panel-text: #303030; + --menu-text-bg: #303030; + --not-found: #030005; + --border: rgba(216, 216, 217, 0.12); + --muted: rgba(216, 216, 217, 0.72); + --shadow: 0 16px 44px rgba(0, 0, 0, 0.18); + --hero-glow-x: 50%; + --hero-glow-y: 20%; + --hero-glow-alt-x: 50%; + --hero-glow-alt-y: 28%; + --hero-glow-rotate: 0deg; + --hero-glow-shift-x: 0px; + --hero-glow-shift-y: 0px; } .light { - --theme: #d8d8d9; - --primary: rgba(0, 0, 0, 0.88); - --secondary: #eb5234; - --accent: #ff005a; - --panel: rgba(0, 0, 0, 0.06); - --panel-text: rgba(216, 216, 217); - --menu-text-bg: #b7b7b7; - --not-found: #303030; - --border: rgba(0, 0, 0, 0.08); - --muted: rgba(0, 0, 0, 0.68); - --shadow: 0 16px 40px rgba(0, 0, 0, 0.08); - --hero-glow-x: 50%; - --hero-glow-y: 20%; - --hero-glow-alt-x: 50%; - --hero-glow-alt-y: 28%; - --hero-glow-rotate: 0deg; - --hero-glow-shift-x: 0px; - --hero-glow-shift-y: 0px; + --theme: #d8d8d9; + --primary: rgba(0, 0, 0, 0.88); + --secondary: #eb5234; + --accent: #ff005a; + --panel: rgba(0, 0, 0, 0.06); + --panel-text: rgba(216, 216, 217); + --menu-text-bg: #b7b7b7; + --not-found: #303030; + --border: rgba(0, 0, 0, 0.08); + --muted: rgba(0, 0, 0, 0.68); + --shadow: 0 16px 40px rgba(0, 0, 0, 0.08); + --hero-glow-x: 50%; + --hero-glow-y: 20%; + --hero-glow-alt-x: 50%; + --hero-glow-alt-y: 28%; + --hero-glow-rotate: 0deg; + --hero-glow-shift-x: 0px; + --hero-glow-shift-y: 0px; } * { - box-sizing: border-box; + box-sizing: border-box; } html { - scroll-behavior: smooth; + scroll-behavior: smooth; } body { - transition: 0.8s; - font-size: 18px; - line-height: 1.6; - word-break: break-word; - background: var(--theme); - font-family: "Poppins", -apple-system, BlinkMacSystemFont, segoe ui, Roboto, Oxygen, Ubuntu, Cantarell, open sans, - helvetica neue, sans-serif; - min-height: 100vh; - position: relative; - overflow-x: hidden; + transition: 0.8s; + font-size: 18px; + line-height: 1.6; + word-break: break-word; + background: var(--theme); + font-family: + "Poppins", + -apple-system, + BlinkMacSystemFont, + segoe ui, + Roboto, + Oxygen, + Ubuntu, + Cantarell, + open sans, + helvetica neue, + sans-serif; + min-height: 100vh; + position: relative; + overflow-x: hidden; } body::before, body::after { - content: ""; - position: fixed; - inset: -20%; - pointer-events: none; - z-index: 0; - transition: transform 0.18s ease-out, opacity 0.25s ease-out; + content: ""; + position: fixed; + inset: -20%; + pointer-events: none; + z-index: 0; + transition: + transform 0.18s ease-out, + opacity 0.25s ease-out; } body::before { - background: - radial-gradient(circle at var(--hero-glow-x) var(--hero-glow-y), rgba(235, 82, 52, 0.24), transparent 18%), - radial-gradient(circle at var(--hero-glow-alt-x) var(--hero-glow-alt-y), rgba(255, 0, 90, 0.14), transparent 20%); - filter: blur(48px); - opacity: 0.9; - transform: translate3d(var(--hero-glow-shift-x), var(--hero-glow-shift-y), 0) rotate(var(--hero-glow-rotate)); + background: + radial-gradient( + circle at var(--hero-glow-x) var(--hero-glow-y), + rgba(235, 82, 52, 0.24), + transparent 18% + ), + radial-gradient( + circle at var(--hero-glow-alt-x) var(--hero-glow-alt-y), + rgba(255, 0, 90, 0.14), + transparent 20% + ); + filter: blur(48px); + opacity: 0.9; + transform: translate3d( + var(--hero-glow-shift-x), + var(--hero-glow-shift-y), + 0 + ) + rotate(var(--hero-glow-rotate)); } body::after { - background: - radial-gradient(circle at 20% 20%, rgba(235, 82, 52, 0.08), transparent 20%), - radial-gradient(circle at 80% 18%, rgba(255, 0, 90, 0.05), transparent 18%); - filter: blur(90px); - opacity: 0.55; - transform: translate3d(calc(var(--hero-glow-shift-x) * -0.35), calc(var(--hero-glow-shift-y) * -0.35), 0) - rotate(calc(var(--hero-glow-rotate) * -0.45)); + background: + radial-gradient( + circle at 20% 20%, + rgba(235, 82, 52, 0.08), + transparent 20% + ), + radial-gradient( + circle at 80% 18%, + rgba(255, 0, 90, 0.05), + transparent 18% + ); + filter: blur(90px); + opacity: 0.55; + transform: translate3d( + calc(var(--hero-glow-shift-x) * -0.35), + calc(var(--hero-glow-shift-y) * -0.35), + 0 + ) + rotate(calc(var(--hero-glow-rotate) * -0.45)); } body.js-stop-transition * { - transition: none !important; + transition: none !important; } a:hover { - cursor: pointer; + cursor: pointer; } a, @@ -110,428 +147,434 @@ p, li, dd, dt { - color: var(--primary); + color: var(--primary); } header, nav { - display: block; + display: block; } header, main, .page-shell { - position: relative; - z-index: 1; + position: relative; + z-index: 1; } .header { - position: relative; - z-index: 1000; + position: relative; + z-index: 1000; } ul { - padding: 0; + padding: 0; } ul li::before { - content: ''; - position: absolute; - margin-top: 42pt; - width: 0; - background-color: var(--secondary); - z-index: 9999; - height: 3pt; - transition: 0.8s all; + content: ""; + position: absolute; + margin-top: 42pt; + width: 0; + background-color: var(--secondary); + z-index: 9999; + height: 3pt; + transition: 0.8s all; } ul li#home-link:hover::before, ul li#about-link:hover::before { - width: 45pt; + width: 45pt; } ul li#projects-link:hover::before { - width: 58pt; + width: 58pt; } a { - transition: 0.8s; - text-decoration: none; + transition: 0.8s; + text-decoration: none; } a:hover { - color: var(--secondary); + color: var(--secondary); } body, ul { - margin: 0; + margin: 0; } .nav { - color: var(--primary); - display: flex; - flex-wrap: wrap; - justify-content: space-between; - max-width: calc(1024pt + 24pt * 2); - margin-inline-start: auto; - margin-inline-end: auto; - line-height: 60pt; + color: var(--primary); + display: flex; + flex-wrap: wrap; + justify-content: space-between; + max-width: calc(1024pt + 24pt * 2); + margin-inline-start: auto; + margin-inline-end: auto; + line-height: 60pt; } .nav a { - display: block; + display: block; } .logo, #menu { - display: flex; - margin: auto 24pt; + display: flex; + margin: auto 24pt; } .logo { - flex-wrap: inherit; - align-items: center; - gap: 4px; + flex-wrap: inherit; + align-items: center; + gap: 4px; } .logo a { - font-size: 24px; - font-weight: 700; - display: inline-flex; - align-items: center; + font-size: 24px; + font-weight: 700; + display: inline-flex; + align-items: center; } .logo a img { - display: block; - pointer-events: none; - border-radius: 6pt; - margin-inline-end: 8pt; + display: block; + pointer-events: none; + border-radius: 6pt; + margin-inline-end: 8pt; } #menu { - list-style: none; - word-break: keep-all; - overflow-x: auto; - white-space: nowrap; + list-style: none; + word-break: keep-all; + overflow-x: auto; + white-space: nowrap; } #menu li + li { - margin-inline-start: 24pt; + margin-inline-start: 24pt; } #menu a { - font-size: 16px; + font-size: 16px; } #menu .active { - font-weight: 500; + font-weight: 500; } .page-shell { - width: min(1120px, calc(100% - 32px)); - margin: 0 auto; - padding-bottom: 32px; + width: min(1120px, calc(100% - 32px)); + margin: 0 auto; + padding-bottom: 32px; } .main { - text-align: center; - position: absolute; - top: 52%; - left: 50%; - transform: translate(-50%, -50%); - width: min(760px, calc(100% - 32px)); - padding: 24px 12px 12px; - color: var(--primary); + text-align: center; + position: absolute; + top: 52%; + left: 50%; + transform: translate(-50%, -50%); + width: min(760px, calc(100% - 32px)); + padding: 24px 12px 12px; + color: var(--primary); } .hero-main { - position: absolute; -} - -.hero-nameplate { - position: relative; - width: 320pt; - height: 64pt; - margin: 0 auto; + position: absolute; } .svg-wrapper { - margin: 0 auto; - width: 320pt; - position: absolute; - inset: 0; - height: 64pt; - overflow-y: hidden; + margin: 0 auto; + width: 320pt; + position: relative; + + height: 64pt; + overflow-y: hidden; } .shape { - z-index: 9999; - stroke-dasharray: 140 540; - stroke-dashoffset: -474; - stroke-width: 8pt; - fill: transparent; - stroke: var(--secondary); - transition: stroke-width 1s, stroke-dashoffset 1s, stroke-dasharray 1s; + z-index: 9999; + stroke-dasharray: 140 540; + stroke-dashoffset: -474; + stroke-width: 8pt; + fill: transparent; + stroke: var(--secondary); + transition: + stroke-width 1s, + stroke-dashoffset 1s, + stroke-dasharray 1s; } .svg-wrapper:hover .shape { - stroke-width: 2pt; - stroke-dashoffset: 0; - stroke-dasharray: 760; + stroke-width: 2pt; + stroke-dashoffset: 0; + stroke-dasharray: 760; } .name { - transition: 0.8s; - font-size: 30px; - font-weight: 900; - margin: 0; - position: absolute; - inset: 0; - display: flex; - align-items: center; - justify-content: center; + transition: 0.8s; + font-size: 30px; + font-weight: 900; + margin-bottom: 10pt; + transform: translate(0, -64pt); } .name:hover, -.des:hover { - color: var(--secondary); - cursor: default; +.des:hover, +.mobile-name:hover { + color: var(--secondary); + cursor: default; } .des { - transition: 0.8s; - font-size: 1.06rem; - display: block; + transition: 0.8s; + font-size: 1.06rem; + display: block; } .hero-description { - margin: 0; + margin: 0; } .hero-description-secondary { - margin-top: 6px; - color: var(--muted); + margin-top: 6px; + color: var(--muted); } .profile { - width: 190pt; - height: 190pt; - border-radius: 50%; - transition: 0.8s; - object-fit: cover; - border: 4px solid rgba(235, 82, 52, 0.18); - box-shadow: var(--shadow); + width: 190pt; + height: 190pt; + border-radius: 50%; + transition: 0.8s; + object-fit: cover; + border: 4px solid rgba(235, 82, 52, 0.18); + box-shadow: var(--shadow); } .hero-badges { - display: flex; - justify-content: center; - gap: 10px; - flex-wrap: wrap; - margin-top: 18px; + display: flex; + justify-content: center; + gap: 10px; + flex-wrap: wrap; + margin-top: 18px; } .badge { - border: 1px solid var(--border); - background: var(--panel); - color: var(--primary); - border-radius: 999px; - padding: 8px 14px; - font-size: 0.88rem; + border: 1px solid var(--border); + background: var(--panel); + color: var(--primary); + border-radius: 999px; + padding: 8px 14px; + font-size: 0.88rem; } .hero-actions { - display: flex; - gap: 12px; - justify-content: center; - flex-wrap: wrap; - margin-top: 20px; + display: flex; + gap: 12px; + justify-content: center; + flex-wrap: wrap; + margin-top: 20px; } .button { - display: inline-flex; - align-items: center; - justify-content: center; - min-width: 148px; - border-radius: 12px; - padding: 12px 18px; - font-weight: 600; - border: 1px solid transparent; + display: inline-flex; + align-items: center; + justify-content: center; + min-width: 148px; + border-radius: 12px; + padding: 12px 18px; + font-weight: 600; + border: 1px solid transparent; } .button-primary { - background: var(--secondary); - color: #fff; + background: var(--secondary); + color: #fff; } .button-primary:hover { - color: #fff; - filter: brightness(1.04); + color: #fff; + filter: brightness(1.04); } .button-secondary { - background: transparent; - border-color: var(--border); + background: transparent; + border-color: var(--border); } .social-icons { - padding: 12pt 0; + padding: 12pt 0; } .social-icons a:not(:last-of-type) { - margin-inline-end: 12pt; + margin-inline-end: 12pt; } .social-icons a svg { - height: 26pt; - width: 26pt; + height: 26pt; + width: 26pt; } .social-icons a { - color: var(--primary); + color: var(--primary); } .icon { - transition: 0.8s; + transition: 0.8s; } .icon:hover { - color: var(--secondary); + color: var(--secondary); } .logo-switches { - flex-wrap: inherit; - display: inline-flex; - align-items: center; + flex-wrap: inherit; + display: inline-flex; + align-items: center; } #theme-toggle svg { - height: 18pt; + height: 18pt; } button#theme-toggle { - background-color: transparent; - border: none; - color: var(--primary); - font-size: 26px; - margin: 0 0 0 4pt; - transition: 0.8s; - display: inline-flex; - align-items: center; - justify-content: center; - line-height: 1; - padding: 0; - height: 32px; + background-color: transparent; + border: none; + color: var(--primary); + font-size: 26px; + margin: 0 0 0 4pt; + transition: 0.8s; + display: inline-flex; + align-items: center; + justify-content: center; + line-height: 1; + padding: 0; + height: 32px; } button#theme-toggle:hover { - cursor: pointer; - color: var(--secondary); + cursor: pointer; + color: var(--secondary); } body.light #moon { - vertical-align: middle; - display: none; + vertical-align: middle; + display: none; } body:not(.light) #sun { - display: none; + display: none; } .cta { - cursor: pointer; - font-weight: 600; - transition: 0.8s; - position: absolute; - right: 14%; + cursor: pointer; + font-weight: 600; + transition: 0.8s; + position: absolute; + right: 14%; } .menu { - display: none; - color: var(--primary); - size: 125%; + display: none; + color: var(--primary); + size: 125%; } .overlay { - position: fixed; - inset: 0; - z-index: 2147483647; - isolation: isolate; - background: rgba(20, 20, 24, 0.86); - backdrop-filter: blur(14px) saturate(135%); - -webkit-backdrop-filter: blur(14px) saturate(135%); - overflow: hidden; - opacity: 0; - visibility: hidden; - pointer-events: none; - transition: opacity 0.28s ease, visibility 0.28s ease; + position: fixed; + inset: 0; + z-index: 2147483647; + isolation: isolate; + background: rgba(20, 20, 24, 0.86); + backdrop-filter: blur(14px) saturate(135%); + -webkit-backdrop-filter: blur(14px) saturate(135%); + overflow: hidden; + opacity: 0; + visibility: hidden; + pointer-events: none; + transition: + opacity 0.28s ease, + visibility 0.28s ease; } .overlay--active { - opacity: 1; - visibility: visible; - pointer-events: auto; + opacity: 1; + visibility: visible; + pointer-events: auto; } .overlay__content { - position: relative; - z-index: 2; - display: flex; - min-height: 100%; - width: 100%; - flex-direction: column; - align-items: center; - justify-content: center; - opacity: 0; - transform: translateY(12px) scale(0.985); - transition: opacity 0.24s ease, transform 0.24s ease; + position: relative; + z-index: 2; + display: flex; + min-height: 100%; + width: 100%; + flex-direction: column; + align-items: center; + justify-content: center; + opacity: 0; + transform: translateY(12px) scale(0.985); + transition: + opacity 0.24s ease, + transform 0.24s ease; } .overlay--active .overlay__content { - opacity: 1; - transform: translateY(0) scale(1); + opacity: 1; + transform: translateY(0) scale(1); } .overlay a { - color: white; - text-decoration: none; - padding: 15pt; - font-size: clamp(1.9rem, 5vw, 2.35rem); - line-height: 1.1; - display: block; - text-align: center; - transition: color 0.24s ease, transform 0.24s ease; + color: white; + text-decoration: none; + padding: 15pt; + font-size: clamp(1.9rem, 5vw, 2.35rem); + line-height: 1.1; + display: block; + text-align: center; + transition: + color 0.24s ease, + transform 0.24s ease; } .overlay__content a { - width: 100%; - max-width: 320px; + width: 100%; + max-width: 320px; } .overlay a:hover, .overlay a:focus { - color: var(--secondary); - transform: translateY(-1px); + color: var(--secondary); + transform: translateY(-1px); } .overlay .close { - position: absolute; - z-index: 3; - top: 20pt; - right: 45pt; - font-size: 60px; - line-height: 1; - color: #edf0f1; - cursor: pointer; - border: 0; - background: transparent; - padding: 0; - appearance: none; + position: absolute; + z-index: 3; + top: 20pt; + right: 45pt; + font-size: 60px; + line-height: 1; + color: #edf0f1; + cursor: pointer; + border: 0; + background: transparent; + padding: 0; + appearance: none; +} + +.mobile-name { + display: none; + transition: 0.8s; + font-size: 30px; + font-weight: 900; } body.menu-open { - overflow: hidden; + overflow: hidden; } body.menu-open main, @@ -540,317 +583,359 @@ body.menu-open .container, body.menu-open .projects-page, body.menu-open .entry-page, body.menu-open .footer { - pointer-events: none; + pointer-events: none; } body.menu-open .header, body.menu-open .overlay, body.menu-open .overlay * { - pointer-events: auto; + pointer-events: auto; } .footer { - display: flex; - justify-content: space-between; - align-items: center; - gap: 16px; - transition: 0.8s; - padding: 12pt 18pt; - background-color: var(--menu-text-bg); - border-radius: 18px; + display: flex; + justify-content: space-between; + align-items: center; + gap: 16px; + transition: 0.8s; + padding: 12pt 18pt; + background-color: var(--menu-text-bg); + border-radius: 18px; } .footer p { - margin: 0; + margin: 0; } .loading-state { - color: var(--muted); + color: var(--muted); } @media screen and (max-width: 768pt) { - .profile { - width: 128pt; - height: 128pt; - } + .profile { + width: 128pt; + height: 128pt; + } - .footer { - padding: 16px; - } + .footer { + padding: 16px; + } } @media only screen and (max-width: 740pt) { - .nav__links li a, - .svg-wrapper#main-wrapper { - display: none; - } + .nav__links li a, + .svg-wrapper#main-wrapper { + display: none; + } - .menu { - display: block; - } + .menu, + .mobile-name { + display: block; + } - .hero-nameplate { - width: auto; - height: auto; - margin-top: 2pt; - } + .logo { + margin-top: 12pt; + } - .name { - position: static; - display: block; - } + .logo-switches { + margin-top: 4pt; + } - .logo { - margin-top: 12pt; - } + .main { + position: static; + transform: none; + width: min(760px, calc(100% - 24px)); + margin: 44px auto 0; + padding-bottom: 40px; + } - .logo-switches { - margin-top: 4pt; - } + .hero-main { + position: static; + } - .main { - position: static; - transform: none; - width: min(760px, calc(100% - 24px)); - margin: 44px auto 0; - padding-bottom: 40px; - } + .page-shell { + width: min(1120px, calc(100% - 20px)); + } - .hero-main { - position: static; - } + .footer { + display: block; + text-align: center; + } - .page-shell { - width: min(1120px, calc(100% - 20px)); - } + .social-icons { + margin-top: 6pt; + } - .footer { - display: block; - text-align: center; - } - - .social-icons { - margin-top: 6pt; - } - - .overlay .close { - right: 20px; - top: 16px; - } + .overlay .close { + right: 20px; + top: 16px; + } } - @media (prefers-reduced-motion: reduce) { - body::before, - body::after { - transition: none; - transform: none !important; - } + body::before, + body::after { + transition: none; + transform: none !important; + } - .hero-main .profile, - .hero-main .svg-wrapper, - .hero-main .hero-description, - .hero-main .hero-badges, - .hero-main .hero-actions, - .hero-main .social-icons { - transition: none; - transform: none !important; - } + .hero-main .profile, + .hero-main .svg-wrapper, + .hero-main .hero-description, + .hero-main .hero-badges, + .hero-main .hero-actions, + .hero-main .social-icons { + transition: none; + transform: none !important; + } } /* Glassy premium hero refinements */ :root { - --hero-shell-spot-x: 50%; - --hero-shell-spot-y: 28%; + --hero-shell-spot-x: 50%; + --hero-shell-spot-y: 28%; } body { - background: - linear-gradient(180deg, rgba(255, 255, 255, 0.015), transparent 28%), - linear-gradient(140deg, rgba(235, 82, 52, 0.045), transparent 34%), - linear-gradient(220deg, rgba(255, 0, 90, 0.03), transparent 30%), - var(--theme); + background: + linear-gradient(180deg, rgba(255, 255, 255, 0.015), transparent 28%), + linear-gradient(140deg, rgba(235, 82, 52, 0.045), transparent 34%), + linear-gradient(220deg, rgba(255, 0, 90, 0.03), transparent 30%), + var(--theme); } body::before { - background: - radial-gradient(circle at var(--hero-glow-x) var(--hero-glow-y), rgba(255, 255, 255, 0.08), transparent 12%), - radial-gradient(circle at var(--hero-glow-x) var(--hero-glow-y), rgba(235, 82, 52, 0.3), transparent 24%), - radial-gradient(circle at var(--hero-glow-alt-x) var(--hero-glow-alt-y), rgba(255, 0, 90, 0.18), transparent 24%); - filter: blur(78px); - opacity: 1; + background: + radial-gradient( + circle at var(--hero-glow-x) var(--hero-glow-y), + rgba(255, 255, 255, 0.08), + transparent 12% + ), + radial-gradient( + circle at var(--hero-glow-x) var(--hero-glow-y), + rgba(235, 82, 52, 0.3), + transparent 24% + ), + radial-gradient( + circle at var(--hero-glow-alt-x) var(--hero-glow-alt-y), + rgba(255, 0, 90, 0.18), + transparent 24% + ); + filter: blur(78px); + opacity: 1; } body::after { - background: - radial-gradient(circle at 18% 18%, rgba(255, 255, 255, 0.055), transparent 15%), - radial-gradient(circle at 82% 14%, rgba(235, 82, 52, 0.08), transparent 18%), - radial-gradient(circle at 70% 76%, rgba(255, 255, 255, 0.03), transparent 20%); - filter: blur(110px); - opacity: 0.82; + background: + radial-gradient( + circle at 18% 18%, + rgba(255, 255, 255, 0.055), + transparent 15% + ), + radial-gradient( + circle at 82% 14%, + rgba(235, 82, 52, 0.08), + transparent 18% + ), + radial-gradient( + circle at 70% 76%, + rgba(255, 255, 255, 0.03), + transparent 20% + ); + filter: blur(110px); + opacity: 0.82; } .logo { - align-items: center; + align-items: center; } .logo-switches { - align-items: center; - min-height: 32px; + align-items: center; + min-height: 32px; } button#theme-toggle { - margin-top: 1px; + margin-top: 1px; } .hero-main { - width: min(820px, calc(100% - 32px)); + width: min(820px, calc(100% - 32px)); } .hero-shell { - position: relative; - overflow: hidden; - border-radius: 30px; - padding: 34px 28px 18px; - border: 1px solid rgba(255, 255, 255, 0.13); - background: - linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.02)), - linear-gradient(135deg, rgba(235, 82, 52, 0.09), transparent 42%), - linear-gradient(225deg, rgba(255, 0, 90, 0.05), transparent 34%), - rgba(20, 21, 24, 0.44); - box-shadow: - 0 24px 80px rgba(0, 0, 0, 0.22), - inset 0 1px 0 rgba(255, 255, 255, 0.18), - inset 0 -1px 0 rgba(255, 255, 255, 0.04); - backdrop-filter: blur(22px) saturate(135%); - -webkit-backdrop-filter: blur(22px) saturate(135%); - isolation: isolate; - transform: none; - transition: transform 0.18s ease-out, border-color 0.25s ease-out, box-shadow 0.25s ease-out; + position: relative; + overflow: hidden; + border-radius: 30px; + padding: 34px 28px 18px; + border: 1px solid rgba(255, 255, 255, 0.13); + background: + linear-gradient( + 180deg, + rgba(255, 255, 255, 0.12), + rgba(255, 255, 255, 0.02) + ), + linear-gradient(135deg, rgba(235, 82, 52, 0.09), transparent 42%), + linear-gradient(225deg, rgba(255, 0, 90, 0.05), transparent 34%), + rgba(20, 21, 24, 0.44); + box-shadow: + 0 24px 80px rgba(0, 0, 0, 0.22), + inset 0 1px 0 rgba(255, 255, 255, 0.18), + inset 0 -1px 0 rgba(255, 255, 255, 0.04); + backdrop-filter: blur(22px) saturate(135%); + -webkit-backdrop-filter: blur(22px) saturate(135%); + isolation: isolate; + transform: none; + transition: + transform 0.18s ease-out, + border-color 0.25s ease-out, + box-shadow 0.25s ease-out; } body.light .hero-shell { - background: - linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0.4)), - linear-gradient(135deg, rgba(235, 82, 52, 0.08), transparent 42%), - linear-gradient(225deg, rgba(255, 0, 90, 0.04), transparent 34%), - rgba(255, 255, 255, 0.42); - border-color: rgba(255, 255, 255, 0.55); - box-shadow: - 0 24px 60px rgba(0, 0, 0, 0.08), - inset 0 1px 0 rgba(255, 255, 255, 0.75), - inset 0 -1px 0 rgba(255, 255, 255, 0.35); + background: + linear-gradient( + 180deg, + rgba(255, 255, 255, 0.72), + rgba(255, 255, 255, 0.4) + ), + linear-gradient(135deg, rgba(235, 82, 52, 0.08), transparent 42%), + linear-gradient(225deg, rgba(255, 0, 90, 0.04), transparent 34%), + rgba(255, 255, 255, 0.42); + border-color: rgba(255, 255, 255, 0.55); + box-shadow: + 0 24px 60px rgba(0, 0, 0, 0.08), + inset 0 1px 0 rgba(255, 255, 255, 0.75), + inset 0 -1px 0 rgba(255, 255, 255, 0.35); } .hero-shell::before, .hero-shell::after, .hero-shell__shine { - content: ""; - position: absolute; - inset: 0; - pointer-events: none; + content: ""; + position: absolute; + inset: 0; + pointer-events: none; } .hero-shell::before { - background: radial-gradient(circle at var(--hero-shell-spot-x) var(--hero-shell-spot-y), rgba(255, 255, 255, 0.14), transparent 26%); - opacity: 0.85; - z-index: 0; + background: radial-gradient( + circle at var(--hero-shell-spot-x) var(--hero-shell-spot-y), + rgba(255, 255, 255, 0.14), + transparent 26% + ); + opacity: 0.85; + z-index: 0; } .hero-shell::after { - inset: 1px; - border-radius: 29px; - border: 1px solid rgba(255, 255, 255, 0.07); - z-index: 1; + inset: 1px; + border-radius: 29px; + border: 1px solid rgba(255, 255, 255, 0.07); + z-index: 1; } .hero-shell__shine { - background: linear-gradient(115deg, transparent 18%, rgba(255, 255, 255, 0.085) 42%, transparent 68%); - transform: translate3d(calc(var(--hero-glow-shift-x) * 0.18), calc(var(--hero-glow-shift-y) * 0.16), 0) rotate(0deg); - opacity: 0.9; - z-index: 0; + background: linear-gradient( + 115deg, + transparent 18%, + rgba(255, 255, 255, 0.085) 42%, + transparent 68% + ); + transform: translate3d( + calc(var(--hero-glow-shift-x) * 0.18), + calc(var(--hero-glow-shift-y) * 0.16), + 0 + ) + rotate(0deg); + opacity: 0.9; + z-index: 0; } .hero-shell > * { - position: relative; - z-index: 2; + position: relative; + z-index: 2; } .profile { - border: 4px solid rgba(255, 255, 255, 0.14); - box-shadow: - 0 16px 42px rgba(0, 0, 0, 0.22), - 0 0 0 1px rgba(255, 255, 255, 0.05); + border: 4px solid rgba(255, 255, 255, 0.14); + box-shadow: + 0 16px 42px rgba(0, 0, 0, 0.22), + 0 0 0 1px rgba(255, 255, 255, 0.05); } .shape { - stroke: rgba(235, 82, 52, 0.95); - filter: drop-shadow(0 6px 18px rgba(235, 82, 52, 0.18)); + stroke: rgba(235, 82, 52, 0.95); + filter: drop-shadow(0 6px 18px rgba(235, 82, 52, 0.18)); } .hero-description-secondary { - max-width: 640px; - margin-left: auto; - margin-right: auto; + max-width: 640px; + margin-left: auto; + margin-right: auto; } .badge { - background: rgba(255, 255, 255, 0.07); - border-color: rgba(255, 255, 255, 0.12); - backdrop-filter: blur(10px); - -webkit-backdrop-filter: blur(10px); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08); + background: rgba(255, 255, 255, 0.07); + border-color: rgba(255, 255, 255, 0.12); + backdrop-filter: blur(10px); + -webkit-backdrop-filter: blur(10px); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08); } body.light .badge { - background: rgba(255, 255, 255, 0.55); - border-color: rgba(255, 255, 255, 0.6); + background: rgba(255, 255, 255, 0.55); + border-color: rgba(255, 255, 255, 0.6); } .button { - backdrop-filter: blur(10px); - -webkit-backdrop-filter: blur(10px); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08); + backdrop-filter: blur(10px); + -webkit-backdrop-filter: blur(10px); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08); } .button-primary { - background: linear-gradient(135deg, rgba(255, 108, 74, 0.96), rgba(235, 82, 52, 0.9)); - box-shadow: - 0 10px 24px rgba(235, 82, 52, 0.2), - inset 0 1px 0 rgba(255, 255, 255, 0.14); + background: linear-gradient( + 135deg, + rgba(255, 108, 74, 0.96), + rgba(235, 82, 52, 0.9) + ); + box-shadow: + 0 10px 24px rgba(235, 82, 52, 0.2), + inset 0 1px 0 rgba(255, 255, 255, 0.14); } .button-secondary { - background: rgba(255, 255, 255, 0.05); - border-color: rgba(255, 255, 255, 0.12); + background: rgba(255, 255, 255, 0.05); + border-color: rgba(255, 255, 255, 0.12); } body.light .button-secondary { - background: rgba(255, 255, 255, 0.55); - border-color: rgba(255, 255, 255, 0.65); + background: rgba(255, 255, 255, 0.55); + border-color: rgba(255, 255, 255, 0.65); } .social-icons { - padding-top: 16px; + padding-top: 16px; } @media only screen and (max-width: 740pt) { - .hero-main { - width: min(760px, calc(100% - 24px)); - } + .hero-main { + width: min(760px, calc(100% - 24px)); + } - .hero-shell { - padding: 26px 18px 12px; - border-radius: 24px; - } + .hero-shell { + padding: 26px 18px 12px; + border-radius: 24px; + } } @media (prefers-reduced-motion: reduce) { - .hero-shell { - transform: none !important; - } + .hero-shell { + transform: none !important; + } - .hero-shell__shine { - transform: none !important; - } + .hero-shell__shine { + transform: none !important; + } }