diff --git a/style.css b/style.css index bf92989..1c2b3b7 100644 --- a/style.css +++ b/style.css @@ -1,95 +1,564 @@ -*{ - margin:0; - padding:0; - box-sizing:border-box; -} - -:root{ - --bg:#081018; - --card-bg:rgba(255,255,255,0.04); - --glass:rgba(255,255,255,0.06); - --accent:#00f5ff; - --accent2:#7b61ff; - --text:#e6eef8; - --muted:#b9c6d8; - --radius:14px; -} - -body{ - font-family:Inter,system-ui,sans-serif; - background:var(--bg); - color:var(--text); - min-height:100vh; - overflow-x:hidden; - -webkit-font-smoothing:antialiased; - background: - radial-gradient(circle at top left,rgba(123,97,255,.15),transparent 30%), - radial-gradient(circle at bottom right,rgba(0,245,255,.1),transparent 30%), - var(--bg); -} - -#star-bg{ - position:fixed; - inset:0; - z-index:-1; -} - -.hero-header{ - text-align:center; - padding:60px 20px 20px; -} - -.profile-pic{ - width:130px; - height:130px; - border-radius:50%; - object-fit:cover; - border:3px solid var(--accent); - margin-bottom:18px; - box-shadow:0 0 30px rgba(0,245,255,.25); -} - -.hero-header h1{ - font-size:2.2rem; - margin-bottom:10px; -} - -.social-row{ - display:flex; - justify-content:center; - align-items:center; - gap:14px; - flex-wrap:wrap; - margin:28px auto; -} - -.social{ - width:52px; - height:52px; - display:flex; - align-items:center; - justify-content:center; - border-radius:14px; - background:rgba(255,255,255,0.05); - border:1px solid rgba(255,255,255,0.08); - text-decoration:none; - transition:0.25s ease; - backdrop-filter:blur(10px); -} - -.social svg{ - width:24px; - height:24px; -} - -.social:hover{ - transform:translateY(-5px) scale(1.05); - box-shadow:0 10px 25px rgba(0,0,0,0.35); -} - -.github{color:#ffffff;} -.youtube{color:#ff0000;} -.instagram{color:#e1306c;} -.twitter{color:#1da1f2;} -.telegram{color:#0088cc;} -.discord{color:#5865f2;} +@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Poppins:wght@400;500;600;700;800&display=swap'); + +/* ===== GLOBAL VARIABLES & THEME ===== */ +:root { + --bg: #050811; + --card-bg: rgba(255, 255, 255, 0.03); + --glass: rgba(255, 255, 255, 0.04); + --glass-border: rgba(255, 255, 255, 0.07); + --accent1: #00f5ff; + --accent2: #7b61ff; + --accent3: #ff4da6; + --text: #e6eef8; + --muted: #94a3b8; + --radius: 16px; + --font-primary: 'Inter', sans-serif; + --font-hero: 'Poppins', sans-serif; +} + +/* ===== RESET & SCROLL ===== */ +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +html { + scroll-behavior: smooth; +} + +body { + font-family: var(--font-primary); + background: radial-gradient(circle at 10% 10%, rgba(123, 97, 255, 0.12), transparent 40%), + radial-gradient(circle at 90% 90%, rgba(0, 245, 255, 0.08), transparent 40%), + var(--bg); + color: var(--text); + min-height: 100vh; + overflow-x: hidden; + -webkit-font-smoothing: antialiased; + display: flex; + flex-direction: column; + align-items: center; +} + +/* Skip Link (Accessibility) */ +.skip-link { + position: absolute; + top: -60px; + left: 20px; + background: linear-gradient(135deg, var(--accent2), var(--accent1)); + color: #050811; + padding: 12px 20px; + text-decoration: none; + z-index: 100000; + font-weight: 700; + border-radius: 0 0 10px 10px; + transition: top 0.3s ease; + box-shadow: 0 10px 25px rgba(0, 245, 255, 0.3); +} + +.skip-link:focus { + top: 0; + outline: none; +} + +/* Star Background */ +#star-bg { + position: fixed; + inset: 0; + z-index: -1; + pointer-events: none; +} + +/* ===== LAYOUT & CONTAINERS ===== */ +.container { + width: 100%; + max-width: 900px; + margin: 0 auto; + padding: 0 20px; +} + +/* ===== HERO HEADER ===== */ +.hero-header { + text-align: center; + padding: 60px 20px 20px; + display: flex; + flex-direction: column; + align-items: center; +} + +.profile-pic-container { + position: relative; + margin-bottom: 24px; +} + +.profile-pic { + width: 140px; + height: 140px; + border-radius: 50%; + object-fit: cover; + border: 3px solid transparent; + background: linear-gradient(var(--bg), var(--bg)) padding-box, + linear-gradient(135deg, var(--accent1), var(--accent2), var(--accent3)) border-box; + box-shadow: 0 10px 30px rgba(0, 245, 255, 0.15); + transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.4s; +} + +.profile-pic:hover { + transform: scale(1.08) rotate(3deg); + box-shadow: 0 15px 40px rgba(0, 245, 255, 0.35); +} + +.hero-header h1 { + font-family: var(--font-hero); + font-size: 2.5rem; + font-weight: 800; + margin-bottom: 12px; + background: linear-gradient(135deg, #fff 30%, var(--muted) 100%); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + letter-spacing: -0.5px; +} + +.subtitle { + font-size: 1.05rem; + color: var(--muted); + max-width: 600px; + line-height: 1.6; + margin: 0 auto; +} + +.subtitle br { + display: block; + margin-bottom: 6px; +} + +/* ===== SOCIAL ICONS ROW ===== */ +.social-row { + display: flex; + justify-content: center; + align-items: center; + gap: 12px; + flex-wrap: wrap; + margin: 24px auto; + max-width: 600px; + padding: 0 10px; +} + +.social { + width: 50px; + height: 50px; + display: flex; + align-items: center; + justify-content: center; + border-radius: 12px; + background: var(--glass); + border: 1px solid var(--glass-border); + text-decoration: none; + transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); + backdrop-filter: blur(12px); + -webkit-backdrop-filter: blur(12px); + position: relative; + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2); +} + +.social svg { + width: 22px; + height: 22px; + fill: currentColor; + transition: transform 0.3s ease; +} + +.social:hover, +.social:focus { + transform: translateY(-5px); + outline: none; + background: rgba(255, 255, 255, 0.08); + border-color: rgba(255, 255, 255, 0.2); + box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4); +} + +.social:hover svg { + transform: scale(1.1); +} + +/* Tooltip on Hover */ +.social[data-name]:hover::after, +.social[data-name]:focus::after { + content: attr(data-name); + position: absolute; + bottom: 60px; + left: 50%; + transform: translateX(-50%); + background: rgba(10, 15, 26, 0.95); + color: #fff; + font-size: 11px; + font-weight: 600; + padding: 5px 10px; + border-radius: 6px; + white-space: nowrap; + pointer-events: none; + border: 1px solid var(--glass-border); + box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3); +} + +/* Social Icon Brand Colors on Hover */ +.social.github { color: #fff; } +.social.github:hover { box-shadow: 0 0 20px rgba(255, 255, 255, 0.15); } +.social.youtube { color: #ff0000; } +.social.youtube:hover { box-shadow: 0 0 20px rgba(255, 0, 0, 0.25); } +.social.instagram { color: #e1306c; } +.social.instagram:hover { box-shadow: 0 0 20px rgba(225, 48, 108, 0.25); } +.social.twitter { color: #1da1f2; } +.social.twitter:hover { box-shadow: 0 0 20px rgba(29, 161, 242, 0.25); } +.social.telegram { color: #0088cc; } +.social.telegram:hover { box-shadow: 0 0 20px rgba(0, 136, 204, 0.25); } +.social.discord { color: #5865f2; } +.social.discord:hover { box-shadow: 0 0 20px rgba(88, 101, 242, 0.25); } + +/* ===== LINKS GRID ===== */ +.links { + display: grid; + grid-template-columns: 1fr; + gap: 24px; + margin: 32px 0 60px; +} + +@media (min-width: 680px) { + .links { + grid-template-columns: repeat(2, 1fr); + } +} + +/* Card Styling */ +.link-item { + position: relative; + border-radius: var(--radius); + background: linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.01)); + padding: 24px; + backdrop-filter: blur(12px) saturate(120%); + -webkit-backdrop-filter: blur(12px) saturate(120%); + border: 1px solid var(--glass-border); + box-shadow: 0 8px 32px rgba(2, 6, 23, 0.4); + transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.4s; + overflow: hidden; + display: flex; + flex-direction: column; + justify-content: space-between; + min-height: 200px; + opacity: 0; + transform: translateY(20px); +} + +.link-item.in { + opacity: 1; + transform: translateY(0); +} + +.link-item:hover { + transform: translateY(-8px); + box-shadow: 0 16px 40px rgba(2, 6, 23, 0.6), 0 0 3px rgba(0, 245, 255, 0.2); +} + +/* Accent Side/Top Bar for Card */ +.accent-bar { + position: absolute; + top: 0; + left: 0; + width: 4px; + height: 100%; + background: linear-gradient(180deg, var(--accent1), var(--accent2), var(--accent3)); + border-radius: var(--radius) 0 0 var(--radius); +} + +.link-head { + display: flex; + gap: 16px; + align-items: flex-start; + margin-bottom: 16px; +} + +.link-icon { + width: 48px; + height: 48px; + border-radius: 12px; + background: rgba(255, 255, 255, 0.03); + display: flex; + align-items: center; + justify-content: center; + border: 1px solid var(--glass-border); + flex-shrink: 0; + box-shadow: inset 0 2px 4px rgba(255, 255, 255, 0.05); +} + +.link-icon img { + width: 28px; + height: 28px; + object-fit: contain; +} + +.link-meta { + display: flex; + flex-direction: column; + gap: 8px; + flex-grow: 1; +} + +.link-btn { + font-family: var(--font-hero); + font-size: 1.15rem; + font-weight: 700; + color: #fff; + text-decoration: none; + transition: color 0.3s; +} + +.link-btn:hover { + color: var(--accent1); +} + +/* Call To Action Buttons inside Card */ +.link-cta { + display: inline-flex; + align-items: center; + gap: 6px; + background: linear-gradient(90deg, var(--accent2), var(--accent1)); + color: #050811; + font-weight: 700; + font-size: 0.85rem; + text-transform: uppercase; + letter-spacing: 0.5px; + padding: 8px 16px; + border-radius: 8px; + text-decoration: none; + align-self: flex-start; + transition: transform 0.2s, box-shadow 0.2s; + box-shadow: 0 4px 15px rgba(123, 97, 255, 0.2); +} + +.link-cta:hover { + transform: translateY(-1px); + box-shadow: 0 6px 20px rgba(123, 97, 255, 0.35); +} + +.link-cta:active { + transform: translateY(1px); +} + +.link-cta .arrow { + font-size: 1rem; + transition: transform 0.2s; +} + +.link-cta:hover .arrow { + transform: translateX(3px); +} + +.link-desc { + font-size: 0.92rem; + line-height: 1.5; + color: var(--muted); + margin-top: auto; +} + +/* ===== COOKIE BAR & PLAYER OVERLAY ===== */ +.cookie-bar { + position: fixed; + bottom: 24px; + left: 50%; + transform: translateX(-50%); + background: rgba(10, 15, 26, 0.9); + border: 1px solid var(--glass-border); + border-radius: 16px; + backdrop-filter: blur(20px); + -webkit-backdrop-filter: blur(20px); + padding: 16px 24px; + display: flex; + flex-direction: column; + gap: 16px; + align-items: center; + width: 90%; + max-width: 500px; + box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5); + z-index: 99999; + text-align: center; +} + +@media (min-width: 600px) { + .cookie-bar { + flex-direction: row; + justify-content: space-between; + align-items: center; + max-width: 650px; + text-align: left; + } +} + +.cookie-bar p { + font-size: 0.9rem; + line-height: 1.4; + color: var(--text); +} + +.cookie-controls { + display: flex; + gap: 8px; +} + +.cookie-controls button { + padding: 8px 16px; + border-radius: 8px; + border: none; + font-weight: 600; + font-size: 0.85rem; + cursor: pointer; + transition: all 0.2s; +} + +.cookie-controls button.accept { + background: linear-gradient(135deg, var(--accent2), var(--accent1)); + color: #050811; +} + +.cookie-controls button.accept:hover { + transform: scale(1.03); + box-shadow: 0 4px 12px rgba(0, 245, 255, 0.2); +} + +.cookie-controls button.reject { + background: rgba(255, 255, 255, 0.06); + color: var(--muted); + border: 1px solid var(--glass-border); +} + +.cookie-controls button.reject:hover { + background: rgba(255, 255, 255, 0.1); + color: #fff; +} + +/* Audio Player Overlay */ +.player-overlay { + background: rgba(10, 15, 26, 0.9); + border: 1px solid var(--glass-border); + border-radius: 12px; + padding: 16px; + margin: 16px auto; + max-width: 500px; + text-align: center; + backdrop-filter: blur(12px); + -webkit-backdrop-filter: blur(12px); +} + +.player-overlay p { + font-size: 0.9rem; + margin-bottom: 8px; +} + +.player-overlay button { + padding: 8px 16px; + border-radius: 8px; + border: none; + font-weight: 600; + cursor: pointer; +} + +.player-overlay button.btn-play { + background: linear-gradient(135deg, var(--accent2), var(--accent1)); + color: #050811; +} + +.player-overlay button.btn-aux { + background: transparent; + color: var(--muted); + border: 1px solid var(--glass-border); + margin-left: 8px; +} + +/* ===== MUSIC TOGGLE BUTTON ===== */ +#music-toggle { + position: fixed; + right: 24px; + bottom: 24px; + z-index: 9999; + background: linear-gradient(135deg, var(--accent2), var(--accent1)); + color: #050811; + border: none; + border-radius: 50px; + padding: 12px 24px; + font-weight: 700; + font-size: 0.9rem; + cursor: pointer; + box-shadow: 0 8px 24px rgba(0, 245, 255, 0.25); + transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); + display: none; +} + +#music-toggle:hover { + transform: translateY(-3px) scale(1.03); + box-shadow: 0 12px 30px rgba(0, 245, 255, 0.4); +} + +#music-toggle:active { + transform: translateY(1px); +} + +/* ===== SITE FOOTER ===== */ +.site-footer { + width: 100%; + background: rgba(3, 5, 10, 0.85); + backdrop-filter: blur(16px); + -webkit-backdrop-filter: blur(16px); + border-top: 1px solid var(--glass-border); + padding: 40px 0; + margin-top: auto; + text-align: center; +} + +.footer-content { + display: flex; + flex-direction: column; + align-items: center; + gap: 24px; +} + +.footer-content p { + font-size: 0.92rem; + color: var(--muted); +} + +.footer-contact strong { + color: #fff; + font-size: 0.95rem; + text-transform: uppercase; + letter-spacing: 1px; +} + +.contact-list { + list-style: none; + display: flex; + flex-wrap: wrap; + justify-content: center; + gap: 16px; + margin-top: 16px; + padding: 0 20px; +} + +.contact-list a { + color: var(--muted); + text-decoration: none; + font-size: 0.9rem; + transition: all 0.3s; + padding: 6px 12px; + border-radius: 8px; + background: rgba(255, 255, 255, 0.02); + border: 1px solid var(--glass-border); +} + +.contact-list a:hover, +.contact-list a:focus { + color: var(--accent1); + background: rgba(0, 245, 255, 0.05); + border-color: rgba(0, 245, 255, 0.2); + outline: none; + box-shadow: 0 4px 12px rgba(0, 245, 255, 0.1); +}