:root { --kq-primary: #D8017E;  --kq-success: #10b981; --kq-error: #ef4444;  --kq-bg: #f8fafc;
--kq-card: #ffffff;
--kq-text: #1e293b;
}
.kq-app-container {
font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
max-width: 650px;
margin: 40px auto;
width: 100%;
box-sizing: border-box;
}
.kq-card {
background: var(--kq-card);
border-radius: 16px;
box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
padding: 0;
overflow: hidden;
position: relative;
border: 1px solid #e2e8f0;
} .kq-header-logo {
height: 32px !important;
width: auto;
display: block;
}
.kq-meta-row {
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: nowrap; gap: 20px;
}
.kq-header-right {
display: flex;
align-items: center;
gap: 15px;
} .kq-header {
padding: 20px 25px;
background: #fff;
border-bottom: 1px solid #f1f5f9;
}
.kq-progress-container {
height: 6px;
background: #e2e8f0;
border-radius: 3px;
margin-bottom: 15px;
overflow: hidden;
}
.kq-progress-bar {
height: 100%;
background: var(--kq-primary);
transition: width 0.3s ease;
}
.kq-meta-row {
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
gap: 10px;
}
.kq-topic-badge {
font-size: 0.9rem;
text-transform: uppercase;
letter-spacing: 1px;
color: #64748b;
font-weight: 700;
text-align: right; 
white-space: nowrap; 
}
.kq-level-select {
width: auto !important;
min-width: 110px;
margin: 0 !important;
padding: 6px 15px;
border-radius: 50px;
border: 1px solid #e2e8f0;
font-size: 0.85rem;
color: var(--kq-text);
cursor: pointer;
background-color: #fff;
outline: none;
transition: all 0.2s;
}
.kq-level-select:hover {
border-color: var(--kq-primary);
}
.kq-level-select:focus {
border-color: var(--kq-primary);
} .kq-content-area {
padding: 40px 25px;
min-height: 180px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
text-align: center;
}
.kq-sentence-wrapper {
display: block;
width: 100%;
text-align: center;
}
.kq-sentence-text { display: inline !important; 
font-size: 1.5rem;
line-height: 2.2 !important; color: var(--kq-text);
} .kq-app-container input.kq-input { display: inline-block !important; 
width: auto !important; 
min-width: 80px !important;
max-width: 200px !important;
vertical-align: baseline !important; margin: 0 6px !important; 
padding: 0 5px !important;
height: auto !important; background: transparent !important; 
border: none !important;
border-bottom: 2px solid #cbd5e1 !important;
border-radius: 0 !important;
box-shadow: none !important; font-size: 1.5rem !important; 
font-weight: 600 !important;
color: var(--kq-primary) !important;
text-align: center !important;
font-family: inherit !important;
}
.kq-app-container input.kq-input:focus {
border-bottom-color: var(--kq-primary) !important;
background: rgba(216, 1, 126, 0.05) !important;
outline: none !important;
}
.kq-app-container input.kq-input.correct {
border-bottom-color: var(--kq-success) !important;
color: var(--kq-success) !important;
}
.kq-app-container input.kq-input.incorrect {
border-bottom-color: var(--kq-error) !important;
color: var(--kq-error) !important;
animation: kq-shake 0.4s cubic-bezier(.36,.07,.19,.97) both;
}
.kq-verb-hint {
font-size: 1rem;
color: #94a3b8;
margin-left: 8px;
font-style: italic;
white-space: nowrap;
} .kq-feedback {
margin-top: 25px;
padding: 15px;
border-radius: 8px;
width: 100%;
font-size: 1rem;
opacity: 0;
transform: translateY(10px);
transition: all 0.3s ease;
box-sizing: border-box;
}
.kq-feedback.visible { opacity: 1; transform: translateY(0); }
.kq-feedback.is-correct { background: #dcfce7; color: #166534; }
.kq-feedback.is-incorrect { background: #fee2e2; color: #991b1b; }
.kq-explanation {
margin-top: 5px;
font-size: 0.9rem;
opacity: 0.9;
font-style: italic;
} .kq-footer {
padding: 20px 25px;
background: #f8fafc;
border-top: 1px solid #f1f5f9;
display: flex;
justify-content: flex-end;
align-items: center;
gap: 15px;
}
.kq-hint-text {
font-size: 0.85rem;
color: #94a3b8;
}
.kq-action-btn {
background: var(--kq-primary);
color: white;
border: none;
margin-bottom: 0px !important;
padding: 12px 30px;
border-radius: 10px !important;
font-weight: 600;
font-size: 14px;
cursor: pointer;
transition: all 0.2s;
box-shadow: 0 4px 6px -1px rgba(216, 1, 126, 0.2) !important;
}
.kq-action-btn:hover {
filter: brightness(110%);
transform: translateY(-1px);
}
.kq-action-btn.secondary {
background: var(--kq-text);
box-shadow: none;
} .kq-result-screen {
position: relative !important;
padding: 50px 30px !important;
text-align: center !important;
display: block !important;
height: auto !important; 
background: transparent !important;
}
.kq-result-logo {
position: absolute !important;
top: 20px !important;
right: 20px !important;
width: 45px !important;
height: auto !important;
opacity: 1 !important;
z-index: 10 !important;
margin: 0 !important; }
.kq-result-screen > *:not(.kq-result-logo) {
position: relative !important;
z-index: 2 !important;
}
.kq-result-screen { padding: 50px 30px; text-align: center; }
.kq-final-score {
display: block !important;
font-size: 3.5rem !important;
line-height: 1.2 !important;  
height: auto !important;     
font-weight: 700 !important;
color: var(--kq-primary) !important;
margin-top: 10px !important;
margin-bottom: 30px !important;
margin-left: 0 !important;
margin-right: 0 !important;
padding: 0 !important;
width: 100% !important;
}
.hidden { display: none !important; }
.kq-result-screen a.kq-action-btn {
color: #ffffff !important;
text-decoration: none !important;
display: inline-block !important;
margin-bottom: 15px !important; 
line-height: 1.5 !important;    
}
.kq-result-screen a.kq-action-btn:hover {
color: #ffffff !important;
opacity: 0.95;
transform: translateY(-2px);
} @keyframes kq-shake {
10%, 90% { transform: translate3d(-1px, 0, 0); }
20%, 80% { transform: translate3d(2px, 0, 0); }
30%, 50%, 70% { transform: translate3d(-4px, 0, 0); }
40%, 60% { transform: translate3d(4px, 0, 0); }
}
@media (max-width: 480px) {
.kq-sentence-text { font-size: 1.2rem; }
.kq-input { font-size: 1.2rem !important; min-width: 60px !important; }
} @media (max-width: 480px) {
.kq-header {
padding: 15px !important;
}
.kq-meta-row {
flex-wrap: wrap !important;
gap: 10px !important;
}
.kq-header-logo {
height: 28px !important; 
margin-bottom: 0 !important;
}
.kq-header-right {
width: 100% !important; 
display: flex !important;
justify-content: space-between !important; 
align-items: center !important;
margin-top: 5px !important;
padding-top: 10px !important;
border-top: 1px solid #f1f5f9 !important;
}
.kq-topic-badge {
font-size: 0.8rem !important;
text-align: left !important;
white-space: normal !important; 
max-width: 55% !important; 
line-height: 1.2 !important;
}
.kq-level-select {
width: auto !important;
max-width: 40% !important; 
min-width: unset !important; 
font-size: 0.8rem !important;
padding: 5px 10px !important;
}
.kq-sentence-text { 
font-size: 1.3rem !important; 
line-height: 2 !important;
}
.kq-input { 
font-size: 1.3rem !important; 
min-width: 60px !important;
}
}