/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   🎨 CSS Variables
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
:root {
    --color-pink: #fffef0;
    --color-yellow: #FFE66D;
    --color-mint: #B5EAD7;
    --color-orange: #FFB347;
    --color-pastel-pink: #FFB6C1;
    --color-cream: #FFFEF0;
    --color-light-pink: #FFF5F7;
    --color-light-mint: #F5F3E8;
    --color-bg: #FAFAFA;
    --color-text: #2D2D2D;
    --color-border: #2D2D2D;
    --color-gray: #999999;
    --spacing-xs: 8px;
    --spacing-sm: 12px;
    --spacing-md: 16px;
    --spacing-lg: 24px;
    --spacing-xl: 32px;
    --spacing-2xl: 48px;
    --radius-md: 12px;
    --radius-lg: 20px;
    --radius-xl: 24px;
    --radius-round: 100px;
    --font-main: 'Jua', sans-serif;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   🎯 Reset & Base
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: var(--font-main);
    background: var(--color-bg);
    color: var(--color-text);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    margin: 0 auto;
    padding: 0;
    max-width: 100vw;
    overflow-x: hidden;
}

.container {
    max-width: 100%;
    min-height: 100vh;
    padding-bottom: var(--spacing-2xl);
    margin: 0 auto;
    display: flex;
    flex-direction: column;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   🎪 Hero Section
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.hero {
    background: #FAFAFA;
    padding: var(--spacing-2xl) var(--spacing-lg);
    text-align: center;
    border-bottom: 4px solid var(--color-text);
    margin: 0 auto;
    width: 100%;
}

.hero-title {
    font-size: 32px;
    margin-bottom: var(--spacing-md);
    color: var(--color-text);
}

.hero-subtitle {
    font-size: 16px;
    color: var(--color-text);
    line-height: 1.8;
}

.highlight-mint {
    background: var(--color-mint);
    color: var(--color-text);
    padding: 2px 10px;
    border-radius: 6px;
}

.highlight-pink {
    background: var(--color-pastel-pink);
    color: var(--color-text);
    padding: 2px 10px;
    border-radius: 6px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   🎯 Button Section
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.button-section {
    padding: var(--spacing-xl) var(--spacing-lg);
    max-width: 600px;
    margin: 0 auto;
    width: 100%;
}

.section-title {
    font-size: 20px;
    text-align: center;
    margin-bottom: var(--spacing-xl);
}

.button-grid {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
    align-items: center;
    justify-content: center;
    width: 100%;
}

.phrase-btn {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    padding: var(--spacing-lg);
    border: 3px solid var(--color-border);
    border-radius: var(--radius-lg);
    font-family: var(--font-main);
    cursor: pointer;
    transition: opacity 0.2s;
    min-height: 88px;
    width: 100%;
    max-width: 500px;
}

.phrase-btn:hover {
    opacity: 0.8;
}

.phrase-btn:active {
    opacity: 0.6;
}

.btn-workplace {
    background: var(--color-mint);
}

.btn-maknae {
    background: var(--color-pastel-pink);
}

.btn-icon {
    font-size: 40px;
    line-height: 1;
    flex-shrink: 0;
}

.btn-content {
    flex: 1;
    text-align: left;
}

.btn-title {
    font-size: 20px;
    margin-bottom: 4px;
    color: var(--color-text);
}

.btn-desc {
    font-size: 13px;
    color: var(--color-text);
    opacity: 0.7;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   💌 Card Section
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.card-section {
    padding: var(--spacing-xl) var(--spacing-lg);
    max-width: 600px;
    margin: 0 auto;
    width: 100%;
}

.card-wrapper {
    margin-bottom: var(--spacing-lg);
    display: flex;
    justify-content: center;
}

.phrase-card {
    width: 100%;
    max-width: 500px;
    aspect-ratio: 1 / 1;
    padding: 60px 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    position: relative;
    border-radius: var(--radius-lg);
}

/* 직장인 카드 */
.phrase-card.type-workplace {
    background: var(--color-light-mint);
    border: 2px dashed var(--color-mint);
}

.phrase-card.type-workplace .card-text {
    font-family: var(--font-main);
    font-size: 64px;
    line-height: 1.4;
    color: var(--color-text);
    word-break: keep-all;
    margin: auto 0;
    text-align: center;
    width: 100%;
}

/* 막내 카드 */
.phrase-card.type-maknae {
    background: var(--color-light-pink);
    border: 2px dashed var(--color-pastel-pink);
}

.phrase-card.type-maknae .card-text {
    font-family: var(--font-main);
    font-size: 64px;
    line-height: 1.4;
    color: var(--color-text);
    word-break: keep-all;
    margin: auto 0;
    text-align: center;
    width: 100%;
}

.card-credit {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 12px;
    color: var(--color-gray);
    white-space: nowrap;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   🎬 Action Bar
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.action-bar {
    display: flex;
    gap: var(--spacing-sm);
    margin-bottom: var(--spacing-lg);
}

.action-btn {
    flex: 1;
    padding: var(--spacing-md);
    border: 3px dashed var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-cream);
    font-family: var(--font-main);
    font-size: 14px;
    cursor: pointer;
    transition: opacity 0.2s;
    min-height: 48px;
}

.action-btn:hover {
    opacity: 0.7;
}

.action-btn:active {
    opacity: 0.5;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   📤 Share Section
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.share-section {
    display: flex;
    justify-content: center;
}

.share-btn-single {
    width: 100%;
    max-width: 300px;
    padding: var(--spacing-md);
    border: 3px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-cream);
    font-family: var(--font-main);
    font-size: 16px;
    cursor: pointer;
    transition: opacity 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-sm);
    min-height: 56px;
}

.share-btn-single:hover {
    opacity: 0.7;
}

.share-icon {
    font-size: 24px;
}

.share-text {
    font-size: 16px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   📝 Feedback Section
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.feedback-section {
    max-width: 600px;
    margin: var(--spacing-2xl) auto 0;
    padding: 0 var(--spacing-lg);
    width: 100%;
}

.feedback-toggle {
    width: 100%;
    padding: var(--spacing-md);
    background: white;
    border: 3px dashed var(--color-border);
    border-radius: var(--radius-md);
    font-family: var(--font-main);
    font-size: 15px;
    cursor: pointer;
    transition: opacity 0.2s;
}

.feedback-toggle:hover {
    opacity: 0.7;
}

.feedback-form {
    margin-top: var(--spacing-md);
    padding: var(--spacing-lg);
    background: white;
    border-radius: var(--radius-lg);
    border: 3px solid var(--color-border);
}

.feedback-title {
    font-size: 16px;
    margin-bottom: var(--spacing-md);
}

#feedbackText {
    width: 100%;
    min-height: 100px;
    padding: var(--spacing-md);
    border: 2px solid #E0E0E0;
    border-radius: var(--radius-md);
    font-family: var(--font-main);
    font-size: 14px;
    resize: vertical;
}

.feedback-actions {
    display: flex;
    gap: var(--spacing-sm);
    margin-top: var(--spacing-md);
}

.btn-submit,
.btn-cancel {
    flex: 1;
    padding: var(--spacing-md);
    border: 3px solid var(--color-border);
    border-radius: var(--radius-md);
    font-family: var(--font-main);
    font-size: 14px;
    cursor: pointer;
}

.btn-submit {
    background: var(--color-mint);
}

.btn-cancel {
    background: var(--color-pastel-pink);
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   🦶 Footer
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.footer-info {
    text-align: center;
    padding: var(--spacing-xl) var(--spacing-lg);
    font-size: 13px;
    color: var(--color-gray);
    margin: 0 auto;
    width: 100%;
}

.footer-info p {
    margin: var(--spacing-xs) 0;
}

.footer-ai {
    font-size: 11px;
    opacity: 0.8;
}

.footer-copyright {
    opacity: 0.6;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   📱 반응형
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 480px) {
    .hero-title {
        font-size: 24px;
    }
    
    .phrase-card.type-workplace .card-text,
    .phrase-card.type-maknae .card-text {
        font-size: 48px;
    }
}

@media (min-width: 768px) {
    .button-grid {
        flex-direction: row;
        justify-content: center;
        gap: var(--spacing-lg);
    }
    
    .phrase-btn {
        flex: 1;
        max-width: 280px;
    }
}
