@font-face {
    font-family: 'Montserrat';
    src: url('../assets/fonts/montserrat/font.woff2') format('woff2');
    font-weight: 100 900; /* range of supported weights */
    font-style: normal;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../assets/fonts/montserrat/italic.woff2') format('woff2');
    font-weight: 100 900; /* range of supported weights */
    font-style: italic;
}

@font-face {
    font-family: 'Unbounded';
    src: url('../assets/fonts/unbounded/font.woff2') format('woff2');
    font-weight: 100 900; /* range of supported weights */
    font-style: normal;
}


:root {
/* Light Pink Theme Variables */
--bg-primary: rgba(252, 248, 251, 1);
--bg-glass: rgba(255, 255, 255, 0.7);
--bg-glass-hover: rgba(255, 255, 255, 0.85);
--text-primary: rgba(60, 60, 67, 1);
--text-secondary: rgba(99, 99, 102, 0.85);
--accent-pink: rgba(255, 45, 141, 1);
--accent-pink-light: rgba(255, 45, 141, 0.1);
--accent-soft-pink: rgba(255, 182, 214, 1);
--accent-rose: rgba(237, 106, 149, 1);
--shadow-sm: 0 2px 8px rgba(255, 45, 141, 0.08);
--shadow-md: 0 8px 25px rgba(255, 45, 141, 0.12);
--shadow-lg: 0 16px 40px rgba(255, 45, 141, 0.15);
--border-light: 1px solid rgba(255, 45, 141, 0.15);
--textarea-bg: rgba(255, 255, 255, 0.8);
--gauge-bg: rgba(255, 255, 255, 0.6);
--analysis-bg: rgba(255, 255, 255, 0.6);
--analyze-btn-shadow: 0 4px 15px rgba(255, 45, 141, 0.25);
--analyze-btn-shadowhov: 0 8px 25px rgba(255, 45, 141, 0.35);
--gauge-visbg: rgba(255, 45, 141, 0.1);
--border-radius-sm: 12px;
--border-radius-md: 18px;
--border-radius-lg: 30px;
--space-1: 0.5rem;
--space-2: 1rem;
--space-3: 1rem;
--space-4: 1.5rem;
--space-5: 2rem;
--anim-fast: 0.2s;
--anim-medium: 0.4s;
--anim-slow: 0.8s;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-family: 'Unbounded', sans-serif;
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
  }
  
p, a, input, textarea, h5, h6 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
 }

body {
background: linear-gradient(135deg, rgba(252, 248, 251, 1) 0%, rgba(255, 250, 254, 1) 100%);
color: var(--text-primary);
line-height: 1.6;
min-height: 100vh;
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
overflow-x: hidden;
margin: 0;
padding: 0;
position: relative;
}

/* Optimized background with better contrast */
body::before {
content: '';
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image:
radial-gradient(circle at 25% 25%, color-mix(in srgb, var(--accent-pink) 6%, transparent) 0%, transparent 30%),
radial-gradient(circle at 75% 75%, color-mix(in srgb, var(--accent-soft-pink) 8%, transparent) 0%, transparent 35%);
z-index: -2;
pointer-events: none;
}

.main-container {
width: 100%;
max-width: 720px;
padding: 0 var(--space-2);
margin: var(--space-2) auto;
gap: var(--space-3);
display: flex;
flex-direction: column;
animation: fadeInUp 0.8s ease-out;
}

@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}

header {
text-align: center;
padding: var(--space-2) 0 var(--space-3);
}

.logo {
font-size: 2.5rem;
font-weight: 700;
background: linear-gradient(135deg, var(--accent-pink) 0%, var(--accent-rose) 100%);
background-size: 200% 100%;
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
margin-left: 0;
margin-bottom: 0;
}

.tagline {
color: var(--text-secondary);
font-size: 1rem;
animation: fadeIn 1s ease-out 0.3s backwards;
}

@keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}

.glass-card {
background: var(--bg-glass);
backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px);
border-radius: var(--border-radius-lg);
border: var(--border-light);
box-shadow: var(--shadow-md);
overflow: hidden;
transition: transform var(--anim-medium) cubic-bezier(0.34, 1.56, 0.64, 1),
box-shadow var(--anim-medium) cubic-bezier(0.34, 1.56, 0.64, 1);
animation: cardAppear var(--anim-slow) cubic-bezier(0.34, 1.56, 0.64, 1) backwards;
will-change: transform, box-shadow;
}

@keyframes cardAppear {
from {
opacity: 0;
transform: scale(0.95);
}
to {
opacity: 1;
transform: scale(1);
}
}

.glass-card:hover {
transform: translateY(-6px) scale(1.01);
box-shadow: var(--shadow-lg);
}

h3, p {
font-size: 1rem;
}

.input-section {
padding: var(--space-3);
display: flex;
flex-direction: column;
}

.result-section {
background: none;
display: none;
padding: var(--space-3);
}

.input-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: var(--space-3);
}

.result-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: var(--space-1);
}

.input-title, .result-title {
font-size: 1.5rem;
font-weight: 600;
color: var(--text-primary);
}

.input-icon path {
fill: var(--accent-pink);
}

.result-icon path {
fill: var(--accent-pink);
}

textarea {
margin: 0;
width: 100%;
min-height: 220px;
padding: var(--space-3);
background: var(--textarea-bg);
border: var(--border-light);
border-radius: var(--border-radius-md);
font-size: 1rem;
color: var(--text-primary);
resize: vertical;
transition: border-color var(--anim-fast) ease,
box-shadow var(--anim-fast) ease,
transform var(--anim-fast) ease;
box-shadow: var(--shadow-sm);
line-height: 1.6;
text-overflow: ellipsis;
}

textarea:focus {
outline: none;
border-color: var(--accent-pink);
box-shadow: 0 0 0 3px var(--accent-pink-light);
transform: translateY(-2px);
}

.button-container {
display: flex;
justify-content: center;
margin-top: var(--space-3);
}

.analyze-btn {
background: linear-gradient(135deg, var(--accent-pink) 0%, var(--accent-rose) 100%);
color: white;
border: none;
border-radius: 30px;
font-weight: 600;
cursor: pointer;
transition: transform var(--anim-medium) cubic-bezier(0.34, 1.56, 0.64, 1),
box-shadow var(--anim-medium) cubic-bezier(0.34, 1.56, 0.64, 1);
box-shadow: var(--analyze-btn-shadow);
display: flex;
align-items: center;
justify-content: center;
gap: var(--space-1);
position: relative;
overflow: hidden;
padding: var(--space-2) var(--space-3);
font-size: 1rem;
width: 100%;
will-change: transform, box-shadow;
}

.analyze-btn::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
transition: left var(--anim-slow) ease;
}

.analyze-btn:hover {
transform: translateY(-4px) scale(1.03);
box-shadow: var(--analyze-btn-shadowhov);
}

.analyze-btn:hover::before {
left: 100%;
}

.analyze-btn:active {
transform: translateY(0) scale(0.98);
box-shadow: var(--analyze-btn-shadow);
}

.loading {
display: none;
text-align: center;
margin: var(--space-3) 0;
margin-top: 1.5rem;
margin-bottom: 0;
color: var(--text-secondary);
font-size: 1rem;
margin-bottom: -0.5rem;
padding: 0;
}

.loading-spinner {
display: inline-block;
width: 3.25rem;
height: 3.25rem;
border: 3px solid var(--bg-glass);
border-radius: 50%;
border-top-color: var(--accent-pink);
animation: spin 1s linear infinite;
margin-bottom: var(--space-2);
}

@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}

.gauge-container {
display: flex;
justify-content: space-between;
flex-direction: column;
gap: var(--space-1);
margin-bottom: 0;
}

.gauge {
transition: transform var(--anim-medium) cubic-bezier(0.34, 1.56, 0.64, 1),
filter var(--anim-medium) ease;
padding: 0;
margin: 0;
will-change: transform, box-shadow;
}

.gauge:hover {
transform: translateY(-5px) scale(1.03);
filter: drop-shadow(var(--shadow-md));
z-index: 2;
}

.gauge-header {
display: flex;
justify-content: flex-start;
align-items: center;
margin-bottom: var(--space-1);
}

.gauge-title {
font-weight: 600;
font-size: 1rem;
color: var(--text-primary);
display: flex;
align-items: center;
gap: var(--space-1);
}

.gauge-icon {
width: 20px;
height: 20px;
transition: transform var(--anim-fast) ease;
}

.gauge:hover .gauge-icon {
transform: scale(1.2);
}

.human-icon {
fill: var(--accent-pink);
}

.ai-icon {
fill: var(--accent-rose);
}

.gauge-visual {
height: 10px;
background-color: var(--gauge-visbg);
border-radius: 10px;
overflow: hidden;
margin: var(--space-1) 0;
position: relative;
box-shadow: var(--shadow-sm);
transition: box-shadow var(--anim-fast) ease;
}

.gauge:hover .gauge-visual {
box-shadow: var(--shadow-md);
}

.gauge-fill {
height: 100%;
border-radius: 10px;
transition: width 1.5s cubic-bezier(0.34, 1.56, 0.64, 1);
width: 0%;
position: relative;
overflow: hidden;
}

.gauge-fill.human-fill {
background-color: var(--accent-pink) !important;
}

.gauge-fill.ai-fill {
background-color: var(--accent-rose) !important;
}

.gauge-percentage {
font-size: 1.5rem;
font-weight: 600;
letter-spacing: -0.03em;
margin: 0;
padding: 0;
margin-top: var(--space-1);
align-self: center;
transition: color var(--anim-medium) ease;
}

.human-percentage {
color: var(--accent-pink);
}

.ai-percentage {
color: var(--accent-rose);
}

.analysis-details {
background: var(--analysis-bg);
border-radius: var(--border-radius-md);
border: var(--border-light);
margin-top: var(--space-3);
transition: transform var(--anim-medium) ease,
box-shadow var(--anim-medium) ease;
padding: var(--space-3);
font-size: 1rem;
will-change: transform, box-shadow;
}

.analysis-details:hover {
transform: translateY(-3px);
box-shadow: var(--shadow-md);
}

.analysis-title {
font-size: 1rem;
font-weight: 600;
margin-bottom: var(--space-1);
color: var(--text-primary);
}

.analysis-text {
color: var(--text-secondary);
font-size: 1rem;
line-height: 1.7;
padding: 0;
margin: 0;
}

footer {
text-align: center;
margin: var(--space-3) 0;
color: var(--text-secondary);
font-size: 1rem;
opacity: 0.8;
width: 100%;
padding: 0 var(--space-3);
animation: fadeInFooter 1.2s ease-out 0.8s backwards;
position: relative;
z-index: 1;
}

@keyframes fadeInFooter {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 0.8;
transform: translateY(0);
}
}

.footer-note {
font-style: italic;
margin-bottom: var(--space-1);
margin-left: auto;
margin-right: auto;
font-size: 1rem;
}

.blob {
position: fixed;
border-radius: 50%;
filter: blur(80px);
z-index: -1;
opacity: 0.3;
pointer-events: none;
}

.blob-1 {
width: 600px;
height: 600px;
background: color-mix(in srgb, var(--accent-pink) 8%, transparent);
top: -300px;
right: -200px;
animation: blobFloat1 20s infinite ease-in-out alternate;
}

.blob-2 {
width: 500px;
height: 500px;
background: color-mix(in srgb, var(--accent-soft-pink) 12%, transparent);
bottom: -250px;
left: -150px;
animation: blobFloat2 15s infinite ease-in-out alternate-reverse;
}

@keyframes blobFloat1 {
0% {
transform: translate(0, 0) scale(1);
}
33% {
transform: translate(50px, -30px) scale(1.05);
}
66% {
transform: translate(-20px, 40px) scale(0.95);
}
100% {
transform: translate(30px, 10px) scale(1.02);
}
}

@keyframes blobFloat2 {
0% {
transform: translate(0, 0) scale(1);
}
25% {
transform: translate(-30px, 20px) scale(1.03);
}
50% {
transform: translate(40px, -25px) scale(0.97);
}
75% {
transform: translate(-15px, 35px) scale(1.01);
}
100% {
transform: translate(25px, -10px) scale(0.99);
}
}

a {
color: var(--accent-pink);
text-decoration: none;
transition: color var(--anim-fast) ease,
text-decoration var(--anim-fast) ease;
font-size: 1rem;
}

a:hover {
color: var(--accent-rose);
text-decoration: underline;
}

footer img {
  width: 2.5rem;
  height: 2.5rem;
  margin: var(--space-2) auto;
  margin-top: var(--space-1);
  display: block;
  filter: drop-shadow(0 4px 10px rgba(255, 45, 141, 0.15));
}

@media screen and (max-width: 768px) {
html {
    font-size: 90%;
    }
}