wa2k.com-Website/www/style.css

260 lines
6.4 KiB
CSS

* { margin: 0; padding: 0; box-sizing: border-box; } /* Remove default browser spacing; include padding/border in element size */
body {
min-height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-start;
background: #0a0e1a url('background.png') center/cover no-repeat;
overflow-x: hidden;
}
.banner {
position: relative;
width: 99%;
max-height: 280px;
overflow: hidden;
margin: 5px 5px 10px 5px;
border-radius: 25px;
display: flex;
border: 4px solid rgba(196, 214, 226, 0.9); /* eww .box border */
align-items: center; /* Vertically centre the image within the container */
}
.banner img {
width: 100%;
object-fit: cover;
object-position: center center;
display: block;
}
.card {
width: min(880px, 88%);
height: 320px; /* scaled from 540px proportionally for 480px monitor */
padding: 28px; /* scaled from 40px */
border-radius: 25px; /* matches eww .box border-radius */
text-align: center;
background: rgba(242, 242, 243, 0.6); /* eww .box background-color */
border: 4px solid rgba(196, 214, 226, 0.9); /* eww .box border */
backdrop-filter: blur(8px) saturate(1.4) brightness(1.02);
-webkit-backdrop-filter: blur(8px) saturate(1.4) brightness(1.02);
box-shadow:
0 2px 8px rgba(0, 0, 0, 0.15), /* eww notification box-shadow */
inset 0 0 2px rgba(0, 0, 0, 0.2); /* eww .box inset shadow */
position: relative;
overflow: hidden;
}
/* ── Main specular: top-left corner catch ── */
.card::before {
content: '';
position: absolute;
inset: 0;
border-radius: inherit;
background:
radial-gradient(
ellipse 60% 30% at 10% -5%,
rgba(255, 255, 255, 0.35) 0%, /* brighter on light bg */
transparent 55%
),
linear-gradient(
128deg,
rgba(255, 255, 255, 0.20) 0%,
rgba(255, 255, 255, 0.08) 30%,
transparent 55%
);
pointer-events: none;
}
/* ── Glass rim: inset edge highlights — matches eww border colour ── */
.card::after {
content: '';
position: absolute;
inset: 0;
border-radius: inherit;
background: transparent;
border: 1px solid transparent;
border-image: none;
box-shadow:
inset 1px 1px 0 rgba(196, 214, 226, 0.8), /* eww border colour as rim light */
inset -1px -1px 0 rgba(0, 0, 0, 0.08);
pointer-events: none;
}
h1 {
font-size: clamp(24px, 5vw, 38px); /* scaled down for smaller monitor */
font-weight: 300;
line-height: 1.1;
color: rgba(35, 38, 41, 0.92); /* eww $text-color #232629 */
text-shadow: 0 0 2px rgba(0, 0, 0, 0.3); /* eww label.time text-shadow */
}
h1 em {
font-style: italic;
color: rgba(137, 180, 250, 0.9); /* eww $primary-neon #89b4fa */
}
.divider {
width: 40px;
height: 0.5px;
background: rgba(196, 214, 226, 0.8); /* eww border colour */
margin: 16px auto; /* scaled from 22px */
}
p {
font-size: 14px; /* scaled from 15px */
font-weight: 300;
line-height: 1.75;
color: rgba(35, 38, 41, 0.52); /* eww $text-color at reduced opacity */
}
/* ── Nav pill wrapper ── */
.nav-wrap {
position: absolute;
top: -50%;
left: 50%;
transform: translate(-50%, -50%);
display: flex;
justify-content: center;
align-items: flex-start;
padding: 6px 0;
z-index: 10;
}
.nav-wrap > a {
display: flex;
align-items: flex-end;
line-height: 0;
height: 65px; /* match .nav-pill-bar height */
overflow: hidden;
}
.nav-wrap > a img {
height: 67px; /* whatever size looks right */
width: auto;
}
.nav-wrap.pinned {
position: fixed;
top: 0;
left: 50%;
transform: translateX(-50%);
z-index: 100;
padding: 6px 0;
}
.nav-pill-bar img,
.nav-pill-bar svg {
height: 20px; /* adjust to taste */
width: auto;
flex-shrink: 0;
}
.nav-pill-bar a {
display: flex;
align-items: center;
line-height: 0; /* collapses inline whitespace that can add phantom height */
}
/* ── The pill itself ── */
.nav-pill {
margin-top: 7px;
width: 160px;
border-radius: 999px;
background: rgba(242, 242, 243, 0.6); /* eww .box background */
border: 4px solid rgba(196, 214, 226, 0.9); /* eww .box border */
backdrop-filter: blur(8px) saturate(1.4) brightness(1.02);
-webkit-backdrop-filter: blur(8px) saturate(1.4) brightness(1.02);
box-shadow:
0 2px 8px rgba(0, 0, 0, 0.15),
inset 0 0 2px rgba(0, 0, 0, 0.2); /* eww inset shadow */
overflow: hidden;
transition: width 0.25s cubic-bezier(0.4, 0, 0.2, 1),
border-radius 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.nav-pill-bar {
display: flex;
align-items: center;
justify-content: space-between;
height: 40px; /* scaled from 44px */
padding: 0 16px;
cursor: pointer;
user-select: none;
}
.nav-dropdown {
max-height: 0;
opacity: 0;
overflow: hidden;
transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1) 0.22s,
opacity 0.25s ease 0.22s;
}
.nav-pill.open {
border-radius: 22px;
width: 200px;
}
.nav-logo {
font-size: 13px;
font-weight: 400;
color: rgba(35, 38, 41, 0.88); /* eww $text-color */
letter-spacing: 0.06em;
}
.nav-chevron {
width: 14px;
height: 14px;
flex-shrink: 0;
transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
/* Restyle chevron stroke to dark to match eww theme */
.nav-chevron polyline {
stroke: rgba(35, 38, 41, 0.7); /* eww $text-color */
}
.nav-pill.open .nav-chevron {
transform: rotate(180deg);
}
.nav-pill.open .nav-dropdown {
max-height: 300px;
opacity: 1;
}
.nav-pill:not(.open) .nav-dropdown {
transition: max-height 0.2s cubic-bezier(0.4, 0, 0.2, 1),
opacity 0.15s ease;
}
.nav-pill:not(.open) {
transition: width 0.25s cubic-bezier(0.4, 0, 0.2, 1) 0.2s,
border-radius 0.25s cubic-bezier(0.4, 0, 0.2, 1) 0.2s;
}
.nav-divider {
height: 1px;
background: rgba(196, 214, 226, 0.8); /* eww .spacer border colour */
margin: 0 12px;
}
.nav-link {
display: block;
padding: 10px 16px;
font-size: 13px;
font-weight: 300;
text-align: center;
color: rgba(35, 38, 41, 0.75); /* eww $text-color */
text-decoration: none;
transition: color 0.15s ease, background 0.15s ease;
}
.nav-link:hover {
color: rgba(137, 180, 250, 1); /* eww $primary-neon on hover */
background: rgba(196, 214, 226, 0.25); /* soft eww border colour tint */
}