body.decode-page-body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:linear-gradient(135deg,#0a0a0a 0%,#1a0a0f 100%);color:#e0e0e0;min-height:100vh;padding:0;margin:0;overflow-x:hidden;}
body.decode-page-body header,body.decode-page-body main{font-family:inherit;}
.decode-page * {
margin: 0;
padding: 0;
box-sizing: border-box;
}

.decode-page {
font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
background: linear-gradient(135deg, #0a0a0a 0%, #1a0a0f 100%);
color: #e0e0e0;
min-height: 100vh;
padding: 120px 20px 20px;
overflow-x: hidden;
scroll-padding-top: 120px;
}

.decode-page header,
.decode-page .hero,
.decode-page .tile {
scroll-margin-top: 120px;
}

.decode-page .container {
max-width: 1400px;
margin: 0 auto;
}

.decode-page header {
text-align: center;
margin-bottom: 20px;
padding: 20px 20px 10px;
}

.decode-page h1 {
font-size: 4rem;
font-weight: 800;
background: linear-gradient(135deg, #ff0040 0%, #ff4060 50%, #ff0040 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
margin-bottom: 10px;
letter-spacing: -2px;
text-shadow: 0 0 40px rgba(255, 0, 64, 0.3);
}

.decode-page .subtitle {
font-size: 1.2rem;
color: #999;
font-weight: 300;
}

/* Hero Section */
.decode-page .hero {
background: linear-gradient(135deg, #cc0033 0%, #ff0040 50%, #cc0033 100%);
border: 2px solid rgba(255, 255, 255, 0.1);
border-radius: 24px;
padding: 48px 32px;
margin-bottom: 40px;
position: relative;
overflow: hidden;
box-shadow: 0 20px 60px rgba(255, 0, 64, 0.4);
margin-top: 0;
}

.decode-page .hero::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: url('data:image/svg+xml,<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"><defs><pattern id="grid" width="20" height="20" patternUnits="userSpaceOnUse"><path d="M 20 0 L 0 0 0 20" fill="none" stroke="rgba(255,255,255,0.05)" stroke-width="1"/></pattern></defs><rect width="100" height="100" fill="url(%23grid)"/></svg>');
opacity: 0.3;
}

.decode-page .hero-content {
position: relative;
z-index: 1;
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
align-items: center;
gap: 32px;
padding: 6px;
}

.decode-page .hero-copy {
flex: 1 1 0;
display: flex;
flex-direction: column;
gap: 18px;
justify-content: center;
}

.decode-page .hero-eyebrow {
color: rgba(255, 255, 255, 0.85);
font-size: 0.85rem;
letter-spacing: 0.12em;
text-transform: uppercase;
}

.decode-page .hero-heading {
font-size: 2.6rem;
line-height: 1.1;
font-weight: 800;
color: #fff;
text-shadow: 0 12px 30px rgba(0, 0, 0, 0.3);
margin: 0;
}

.decode-page .hero-lede {
color: rgba(255, 245, 245, 0.9);
line-height: 1.7;
font-size: 1.05rem;
}

.decode-page .hero-media {
display: flex;
align-items: center;
justify-content: center;
max-width: 420px;
width: 100%;
}

.decode-page .hero-media-card {
width: 100%;
background: rgba(0, 0, 0, 0.32);
border: 1px solid rgba(255, 255, 255, 0.18);
border-radius: 24px;
padding: 16px;
box-shadow: 0 20px 50px rgba(0, 0, 0, 0.45), 0 10px 25px rgba(255, 0, 64, 0.22);
backdrop-filter: blur(10px);
display: flex;
flex-direction: column;
gap: 10px;
}

.decode-page .hero-media-card-inner {
border-radius: 18px;
overflow: hidden;
background: linear-gradient(135deg, rgba(255, 255, 255, 0.06), rgba(0, 0, 0, 0.6));
border: 1px solid rgba(255, 255, 255, 0.12);
padding: 6px;
}

.decode-page .hero-video {
position: relative;
border-radius: 20px;
overflow: hidden;
border: 2px solid rgba(255, 255, 255, 0.2);
background: rgba(0, 0, 0, 0.35);
box-shadow: 0 18px 50px rgba(0, 0, 0, 0.4), 0 12px 30px rgba(255, 0, 64, 0.35);
width: 100%;
max-width: 380px;
margin: 0 auto;
}

.decode-page .hero-video::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(135deg, rgba(255, 0, 64, 0.15), rgba(0, 0, 0, 0.35));
pointer-events: none;
mix-blend-mode: screen;
}

.decode-page .hero-video-player {
width: 100%;
aspect-ratio: 9 / 16;
max-height: 560px;
height: auto;
object-fit: cover;
display: block;
position: relative;
z-index: 1;
border-radius: 16px;
}

.decode-page .hero-buttons {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 16px;
max-width: 900px;
margin-top: 8px;
}

.decode-page .hero-note {
color: rgba(255, 255, 255, 0.78);
font-size: 0.95rem;
line-height: 1.5;
}

.decode-page .decode-intro {
background: linear-gradient(135deg, rgba(30, 10, 20, 0.85), rgba(0, 0, 0, 0.65));
border: 1px solid rgba(255, 0, 64, 0.35);
border-radius: 24px;
padding: 28px 32px;
margin-bottom: 36px;
box-shadow: 0 16px 40px rgba(255, 0, 64, 0.16), 0 12px 34px rgba(0, 0, 0, 0.4);
display: grid;
gap: 18px;
}

.decode-page .decode-intro p {
color: #f0e8ef;
line-height: 1.7;
font-size: 1.05rem;
}

.decode-page .decode-intro h3 {
color: #fff;
font-size: 1.6rem;
margin-top: 6px;
}

.decode-page .decode-intro-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 12px;
}

.decode-page .intro-pill {
padding: 12px 14px;
border-radius: 14px;
border: 1px solid rgba(255, 255, 255, 0.1);
background: rgba(255, 255, 255, 0.05);
color: #f7dfe8;
font-size: 0.95rem;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.decode-page .decode-intro-top .eyebrow {
color: rgba(255, 255, 255, 0.8);
}

.decode-page .hero-button {
background: rgba(0, 0, 0, 0.4);
border: 2px solid rgba(255, 255, 255, 0.3);
color: #ffffff;
padding: 16px 24px;
border-radius: 12px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 1px;
cursor: pointer;
transition: all 0.3s ease;
backdrop-filter: blur(5px);
font-size: 0.85rem;
white-space: normal;
word-break: break-word;
text-align: center;
}

.decode-page .hero-button:hover {
background: rgba(0, 0, 0, 0.6);
border-color: rgba(255, 255, 255, 0.6);
transform: translateY(-3px);
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
}

.decode-page .hero-button:active {
transform: translateY(-1px);
}

.decode-page button::before,
.decode-page button::after,
.decode-page .hero-button::before,
.decode-page .hero-button::after,
.decode-page .decode-nav-btn::before,
.decode-page .decode-nav-btn::after {
display: none !important;
content: none !important;
}

.decode-page .grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 24px;
margin-bottom: 40px;
}

.decode-page .tile {
background: rgba(30, 10, 15, 0.6);
border: 1px solid rgba(255, 0, 64, 0.2);
border-radius: 20px;
padding: 32px;
backdrop-filter: blur(10px);
transition: all 0.3s ease;
position: relative;
overflow: hidden;
}

.decode-page .tile::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(135deg, rgba(255, 0, 64, 0.1) 0%, transparent 50%);
opacity: 0;
transition: opacity 0.3s ease;
pointer-events: none;
}

.decode-page .tile:hover {
border-color: rgba(255, 0, 64, 0.5);
transform: translateY(-4px);
box-shadow: 0 20px 60px rgba(255, 0, 64, 0.2);
}

.decode-page .tile:hover::before {
opacity: 1;
}

.decode-page .tile h2 {
font-size: 1.8rem;
color: #ff0040;
margin-bottom: 16px;
font-weight: 700;
}

.decode-page .tile p {
color: #b0b0b0;
line-height: 1.6;
margin-bottom: 20px;
}

.decode-page .decode-card-hero {
display: flex;
align-items: center;
gap: 20px;
margin-bottom: 24px;
}

.decode-page .decode-card-icon {
width: 72px;
height: 72px;
border-radius: 50%;
background: rgba(255, 255, 255, 0.08);
border: 1px solid rgba(255, 255, 255, 0.2);
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.45);
overflow: hidden;
}

.decode-page .decode-card-icon img {
width: 60px;
height: 60px;
object-fit: cover;
border-radius: 50%;
}

.decode-page .decode-card-hero .eyebrow {
margin-bottom: 4px;
display: block;
}

.decode-page .card-lede {
color: rgba(255, 255, 255, 0.85);
line-height: 1.6;
margin-top: 6px;
}

.decode-page .tile select,
.decode-page .tile button {
width: 100%;
padding: 18px 20px;
min-height: 64px;
background: rgba(20, 10, 15, 0.8);
border: 1px solid rgba(255, 0, 64, 0.3);
border-radius: 12px;
color: #e0e0e0;
font-size: 1rem;
margin-bottom: 12px;
cursor: pointer;
transition: all 0.2s ease;
}

.decode-page .tile select:hover,
.decode-page .tile select:focus {
border-color: rgba(255, 0, 64, 0.6);
outline: none;
}

.decode-page .tile button {
background: linear-gradient(135deg, #ff0040 0%, #cc0033 100%);
border: none;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 1px;
cursor: pointer;
margin-top: 8px;
}

.decode-page .tile button:hover {
background: linear-gradient(135deg, #ff1a50 0%, #dd0044 100%);
box-shadow: 0 8px 24px rgba(255, 0, 64, 0.4);
transform: translateY(-2px);
}

.decode-page .tile button:active {
transform: translateY(0);
}

.decode-page .result {
margin-top: 24px;
padding: 24px;
background: rgba(255, 0, 64, 0.1);
border: 1px solid rgba(255, 0, 64, 0.3);
border-radius: 12px;
display: none;
animation: decodeFadeIn 0.4s ease;
}

.decode-page .result.show {
display: block;
}

@keyframes decodeFadeIn {
.decode-page from {
opacity: 0;
transform: translateY(10px);
}
.decode-page to {
opacity: 1;
transform: translateY(0);
}
}

.decode-page .result h3 {
color: #ff0040;
margin-bottom: 12px;
font-size: 1.3rem;
}

.decode-page .score {
font-size: 3rem;
font-weight: 800;
background: linear-gradient(135deg, #ff0040 0%, #ff6080 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
margin: 16px 0;
}

.decode-page .result-section {
margin: 16px 0;
padding: 16px;
background: rgba(0, 0, 0, 0.3);
border-radius: 8px;
}

.decode-page .result-section h4 {
color: #ff4060;
margin-bottom: 8px;
font-size: 1.1rem;
}

.decode-page .result-section p {
color: #c0c0c0;
line-height: 1.6;
}

.decode-page .result-error {
margin-top: 10px;
font-size: 0.85rem;
color: #ff9aa5;
display: none;
}

.decode-page .result-error.show {
display: block;
}

.decode-page .archetype-tags {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 12px;
margin-top: 12px;
}

.decode-page .archetype-tag {
padding: 6px 18px;
background: rgba(255, 0, 64, 0.15);
border: 1px solid rgba(255, 0, 64, 0.35);
border-radius: 999px;
font-size: 0.85rem;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
cursor: pointer;
transition: all 0.2s ease;
line-height: 1.6;
text-align: center;
}

.decode-page .archetype-tag:hover {
background: rgba(255, 0, 64, 0.3);
border-color: rgba(255, 0, 64, 0.7);
transform: translateY(-2px);
}

.decode-page .archetype-meaning-card {
margin-top: 24px;
padding: 32px;
border-radius: 28px;
border: 1px solid rgba(255, 0, 64, 0.35);
background: linear-gradient(135deg, rgba(255, 0, 64, 0.15), rgba(10, 0, 5, 0.9));
box-shadow: 0 25px 60px rgba(0, 0, 0, 0.4);
position: relative;
overflow: hidden;
transition: transform 0.25s ease, border-color 0.25s ease;
}

.decode-page .archetype-meaning-card::before {
content: '';
position: absolute;
inset: -60% 20% auto;
width: 320px;
height: 320px;
background: radial-gradient(circle, rgba(255, 64, 120, 0.35), transparent 70%);
opacity: 0.7;
pointer-events: none;
}

.decode-page .archetype-meaning-card:hover {
border-color: rgba(255, 0, 64, 0.65);
transform: translateY(-4px);
}

.decode-page .archetype-meaning-card h3 {
position: relative;
margin-bottom: 12px;
font-size: 1.4rem;
color: #fff;
letter-spacing: 0.08em;
text-transform: uppercase;
}

.decode-page .archetype-meaning-card p {
position: relative;
color: #f8f8ff;
line-height: 1.7;
font-size: 1rem;
opacity: 0.92;
}

.decode-page .label {
display: block;
margin-bottom: 8px;
color: #999;
font-size: 0.9rem;
font-weight: 500;
text-transform: uppercase;
letter-spacing: 0.5px;
}

/* Tablet styles */
@media (max-width: 1024px) and (min-width: 768px) {
.decode-page h1 {
font-size: 3rem;
}

.decode-page .hero {
padding: 40px 28px;
}

.decode-page .hero-content {
flex-direction: column;
}

.decode-page .hero-media {
width: 100%;
max-width: 100%;
}

.decode-page .hero-video-player {
height: auto;
}

.decode-page .hero-buttons {
grid-template-columns: repeat(2, 1fr);
gap: 14px;
}

.decode-page .grid {
gap: 20px;
}

.decode-page .tile {
padding: 28px;
}

.decode-page .tile h2 {
font-size: 1.6rem;
}

.decode-page header {
margin-bottom: 30px;
padding: 20px;
}
}

/* Mobile styles */
@media (max-width: 767px) {
.decode-page {
padding: 96px 16px 16px;
}

.decode-page header {
margin-bottom: 24px;
padding: 20px 10px;
}

.decode-page h1 {
font-size: 2.5rem;
letter-spacing: -1px;
}

.decode-page .subtitle {
font-size: 1rem;
}

.decode-page .hero {
padding: 32px 20px;
margin-bottom: 24px;
}

.decode-page .hero-content {
flex-direction: column;
}

.decode-page .hero-media {
width: 100%;
}

.decode-page .hero-video-player {
height: auto;
}

.decode-page .hero-buttons {
grid-template-columns: repeat(2, 1fr);
gap: 12px;
}

.decode-page .decode-intro {
padding: 18px 16px;
margin-bottom: 20px;
}

.decode-page .decode-intro-grid {
grid-template-columns: 1fr;
}

.decode-page .decode-intro p {
font-size: 0.98rem;
}

.decode-page .hero-button {
padding: 14px 18px;
font-size: 0.8rem;
letter-spacing: 0.5px;
}

.decode-page .grid {
grid-template-columns: 1fr;
gap: 16px;
}

.decode-page .tile {
padding: 24px;
}

.decode-page .tile h2 {
font-size: 1.5rem;
}

.decode-page .tile p {
font-size: 0.95rem;
}

.decode-page .tile select,
.decode-page .tile button {
padding: 12px 16px;
font-size: 0.9rem;
}

.decode-page .score {
font-size: 2.5rem;
}

.decode-page .archetype-tags {
gap: 8px;
}

.decode-page .archetype-tag {
padding: 8px 14px;
font-size: 0.85rem;
}

.decode-page .result-section {
padding: 12px;
}

}

/* Desktop large screen enhancements */
@media (min-width: 1400px) {
.decode-page h1 {
font-size: 5rem;
}

.decode-page .tile {
padding: 40px;
}

.decode-page .tile h2 {
font-size: 2rem;
}
}

/* Floating Navigation Bar */
.decode-page .decode-floating-nav {
position: fixed !important;
bottom: 20px;
left: 50%;
transform: translateX(-50%);
display: flex !important;
align-items: center;
gap: 12px;
background: rgba(20, 10, 15, 0.95);
backdrop-filter: blur(20px);
border: 1px solid rgba(255, 0, 64, 0.4);
border-radius: 50px;
padding: 12px 24px;
box-shadow: 0 10px 40px rgba(255, 0, 64, 0.3), 0 0 80px rgba(255, 0, 64, 0.1);
z-index: 1000;
animation: decodeFloatIn 0.6s ease-out;
}

@keyframes decodeFloatIn {
from {
opacity: 0;
transform: translateX(-50%) translateY(100px);
}
to {
opacity: 1;
transform: translateX(-50%) translateY(0);
}
}

.decode-page .decode-nav-btn {
width: 72px;
height: 72px;
border-radius: 50%;
background-color: rgba(255, 0, 64, 0.15);
background-size: cover;
background-position: center;
background-repeat: no-repeat;
border: 2px solid rgba(255, 0, 64, 0.4);
color: transparent;
font-size: 0;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition: all 0.3s ease;
position: relative;
flex: 0 0 72px;
aspect-ratio: 1 / 1;
box-sizing: border-box;
}

.decode-page .decode-nav-btn:hover {
border-color: rgba(255, 0, 64, 0.8);
transform: translateY(-4px) scale(1.1);
box-shadow: 0 8px 20px rgba(255, 0, 64, 0.4);
}

.decode-page .decode-nav-btn:active {
transform: translateY(-2px) scale(1.05);
}

.decode-page .decode-nav-btn-center {
width: 80px;
height: 80px;
border-radius: 50%;
background: transparent;
background-image: url('/images/floating-nav-to-top.png');
background-size: cover;
background-position: center;
border: 2px solid rgba(255, 255, 255, 0.35);
box-shadow: 0 10px 28px rgba(255, 255, 255, 0.25);
aspect-ratio: 1 / 1;
flex: 0 0 80px;
position: relative;
transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.decode-page .decode-nav-btn-center::after {
content: '';
position: absolute;
inset: -10px;
border-radius: 50%;
background: radial-gradient(circle, rgba(255, 238, 200, 0.85), rgba(255, 255, 255, 0));
opacity: 0;
transition: opacity 0.3s ease;
z-index: -1;
}

.decode-page .decode-nav-btn-center:hover {
transform: translateY(-6px) scale(1.08);
box-shadow: 0 20px 45px rgba(255, 235, 190, 0.7);
}

.decode-page .decode-nav-btn-center:hover::after {
opacity: 1;
}

.decode-page .decode-nav-divider {
width: 1px;
height: 32px;
background: rgba(255, 0, 64, 0.2);
}

.decode-page .decode-nav-btn-tooltip {
position: absolute;
bottom: 100%;
left: 50%;
transform: translateX(-50%) translateY(-8px);
background: rgba(255, 0, 64, 0.95);
color: #fff;
padding: 6px 12px;
border-radius: 8px;
font-size: 0.75rem;
white-space: nowrap;
opacity: 0;
pointer-events: none;
transition: opacity 0.3s ease;
}

.decode-page .decode-nav-btn:hover .decode-nav-btn-tooltip {
opacity: 1;
}

/* Mobile responsive for floating nav */
@media (max-width: 767px) {
.decode-page .decode-floating-nav {
bottom: 16px;
padding: 14px 18px;
gap: 14px;
width: 80vw;
max-width: 420px;
justify-content: space-between;
}

.decode-page .decode-nav-btn {
width: 58px;
height: 58px;
flex: 0 0 58px;
}

.decode-page .decode-nav-btn-center {
width: 68px;
height: 68px;
flex: 0 0 68px;
}

.decode-page .decode-nav-btn-tooltip {
font-size: 0.7rem;
padding: 4px 8px;
}
}

/* Tablet responsive for floating nav */
@media (max-width: 1024px) and (min-width: 768px) {
.decode-page .decode-floating-nav {
bottom: 18px;
padding: 11px 20px;
gap: 10px;
}

.decode-page .decode-nav-btn {
width: 64px;
height: 64px;
flex: 0 0 64px;
}

.decode-page .decode-nav-btn-center {
width: 74px;
height: 74px;
flex: 0 0 74px;
}
}
.decode-page .decode-nav-btn--match {
background-image: url('/images/floating-nav-gaymbti.png');
}

.decode-page .decode-nav-btn--archetype {
background-image: url('/images/floating-nav-queermbti.png');
}

.decode-page .decode-nav-btn--profile {
background-image: url('/images/floating-nav-16p.png');
}

.decode-page .decode-nav-btn--explore {
background-image: url('/images/floating-nav-kink.png');
}
.decode-page .decoder-inputs {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 24px;
margin-bottom: 24px;
}

.decode-page .decoder-column {
background: rgba(0, 0, 0, 0.25);
border: 1px solid rgba(255, 255, 255, 0.08);
border-radius: 18px;
padding: 20px;
}

.decode-page .decoder-column h3 {
margin-bottom: 12px;
font-size: 1rem;
letter-spacing: 0.08em;
text-transform: uppercase;
color: rgba(255, 255, 255, 0.9);
}

.decode-page .decoder-field-group {
display: flex;
flex-direction: column;
gap: 4px;
margin-bottom: 16px;
}

.decode-page .decoder-field-group label {
font-size: 0.85rem;
letter-spacing: 0.06em;
text-transform: uppercase;
color: rgba(255, 255, 255, 0.7);
}
.decode-page .profile-controls {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
gap: 20px;
margin-bottom: 20px;
}

.decode-page .profile-results {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 20px;
margin-top: 20px;
}

.decode-page .profile-card {
background: rgba(0, 0, 0, 0.25);
border: 1px solid rgba(255, 255, 255, 0.08);
border-radius: 20px;
padding: 20px;
display: flex;
flex-direction: column;
gap: 12px;
min-height: 200px;
}

.decode-page .profile-card-body {
background: rgba(255, 255, 255, 0.02);
border: 1px solid rgba(255, 255, 255, 0.05);
border-radius: 14px;
padding: 12px 14px;
}

.decode-page .profile-card h4 {
margin-bottom: 6px;
font-size: 0.95rem;
color: #ff4d6d;
letter-spacing: 0.08em;
text-transform: uppercase;
}

.decode-page .profile-card p {
color: #d8d8d8;
line-height: 1.6;
font-size: 0.95rem;
}

.decode-page .profile-card-header {
display: flex;
flex-direction: column;
gap: 4px;
}

.decode-page .profile-card-code {
font-size: 0.85rem;
letter-spacing: 0.1em;
text-transform: uppercase;
color: rgba(255, 255, 255, 0.7);
}

.decode-page .profile-card-name {
font-size: 1.2rem;
font-weight: 600;
color: #fff;
}

.decode-page .profile-error {
color: #ff9aa5;
font-size: 0.9rem;
margin-top: 8px;
display: none;
}

.decode-page .profile-error.show {
display: block;
}
