/* ===== AI RAP & SHAYARI GENERATOR ===== */

/* Header — dark music vibe */
.ars-header { background: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%) !important; }

/* Layout */
.ars-layout { display: grid; grid-template-columns: 340px 1fr; gap: 22px; align-items: start; margin-bottom: 28px; }

/* Controls */
.ars-controls { background: #fff; border: 2px solid #e5e7eb; border-radius: 20px; padding: 20px; position: sticky; top: 80px; max-height: 92vh; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #e5e7eb #fff; }
.ars-controls::-webkit-scrollbar { width: 4px; }
.ars-controls::-webkit-scrollbar-thumb { background: #e5e7eb; border-radius: 3px; }

.ars-section { margin-bottom: 16px; padding-bottom: 16px; border-bottom: 2px solid #f3f4f6; }
.ars-section:last-of-type { border-bottom: none; margin-bottom: 0; }
.ars-section-title { font-size: 12px; font-weight: 800; color: #1f2937; margin-bottom: 10px; letter-spacing: .3px; }
.ars-req { color: #ef4444; }
.ars-hint { font-size: 11px; color: #9ca3af; margin-top: 4px; }

/* Input */
.ars-input { width: 100%; border: 2px solid #e5e7eb; border-radius: 10px; padding: 10px 13px; font-size: 13px; font-family: inherit; outline: none; transition: border-color .2s; box-sizing: border-box; color: #1f2937; }
.ars-input:focus { border-color: #7c3aed; }

/* Style Grid */
.ars-style-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 5px; }
.ars-style-btn { background: #faf5ff; border: 1.5px solid #e9d5ff; border-radius: 9px; padding: 9px 6px; font-size: 11px; font-weight: 700; color: #6d28d9; cursor: pointer; transition: all .2s; text-align: center; }
.ars-style-btn:hover { border-color: #7c3aed; background: #f3e8ff; }
.ars-style-btn.active { background: linear-gradient(135deg, #302b63, #7c3aed); border-color: #7c3aed; color: #fff; }

/* Mood Grid */
.ars-mood-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; }
.ars-mood-btn { background: #faf5ff; border: 1.5px solid #e9d5ff; border-radius: 9px; padding: 8px 5px; font-size: 11px; font-weight: 700; color: #6d28d9; cursor: pointer; transition: all .2s; text-align: center; }
.ars-mood-btn:hover { border-color: #7c3aed; }
.ars-mood-btn.active { background: linear-gradient(135deg, #302b63, #7c3aed); border-color: #7c3aed; color: #fff; }

/* Lang Btns */
.ars-lang-btns { display: flex; gap: 6px; }
.ars-lang-btn { flex: 1; background: #faf5ff; border: 1.5px solid #e9d5ff; border-radius: 9px; padding: 9px 5px; font-size: 12px; font-weight: 700; color: #6d28d9; cursor: pointer; transition: all .2s; text-align: center; }
.ars-lang-btn:hover { border-color: #7c3aed; }
.ars-lang-btn.active { background: linear-gradient(135deg, #302b63, #7c3aed); border-color: #7c3aed; color: #fff; }

/* Length Btns */
.ars-length-btns { display: flex; gap: 6px; }
.ars-length-btn { flex: 1; background: #faf5ff; border: 1.5px solid #e9d5ff; border-radius: 10px; padding: 9px 6px; font-size: 11px; font-weight: 700; color: #6d28d9; cursor: pointer; transition: all .2s; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 2px; }
.ars-length-btn small { font-size: 10px; font-weight: 400; color: #9ca3af; }
.ars-length-btn:hover { border-color: #7c3aed; }
.ars-length-btn.active { background: linear-gradient(135deg, #302b63, #7c3aed); border-color: #7c3aed; color: #fff; }
.ars-length-btn.active small { color: #ddd6fe; }

/* Examples */
.ars-examples { display: flex; flex-wrap: wrap; gap: 6px; }
.ars-ex-btn { background: #faf5ff; border: 1.5px solid #e9d5ff; border-radius: 20px; padding: 6px 12px; font-size: 11px; font-weight: 700; color: #6d28d9; cursor: pointer; transition: all .2s; white-space: nowrap; }
.ars-ex-btn:hover { background: #7c3aed; color: #fff; border-color: #7c3aed; }

/* Generate Button */
.ars-generate-btn { width: 100%; background: linear-gradient(135deg, #0f0c29, #302b63, #7c3aed); color: #fff; border: none; border-radius: 14px; padding: 16px; font-size: 17px; font-weight: 900; cursor: pointer; transition: all .3s; box-shadow: 0 4px 20px rgba(124,58,237,.5); display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 4px; }
.ars-generate-btn:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(124,58,237,.6); }
.ars-generate-btn:disabled { opacity: .7; cursor: not-allowed; }

/* Output */
.ars-output { display: flex; flex-direction: column; gap: 14px; min-height: 500px; }

/* Placeholder */
.ars-placeholder { background: linear-gradient(135deg, #0f0c29, #302b63); border-radius: 20px; padding: 50px 30px; display: flex; flex-direction: column; align-items: center; gap: 16px; text-align: center; justify-content: center; min-height: 400px; }
.ars-ph-icon { font-size: 64px; animation: ars-float 2s ease-in-out infinite; }
@keyframes ars-float { 0%,100% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-10px) rotate(3deg); } }
.ars-placeholder h3 { font-size: 22px; font-weight: 800; color: #fff; margin: 0; }
.ars-placeholder p { font-size: 14px; color: #c4b5fd; max-width: 360px; margin: 0; line-height: 1.6; }
.ars-ph-tags { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.ars-ph-tags span { background: rgba(124,58,237,.3); border: 1px solid rgba(167,139,250,.4); color: #c4b5fd; border-radius: 20px; padding: 6px 12px; font-size: 12px; font-weight: 600; }

/* Loading */
.ars-loading { background: linear-gradient(135deg, #0f0c29, #302b63); border-radius: 20px; padding: 60px 30px; display: flex; flex-direction: column; align-items: center; gap: 16px; text-align: center; min-height: 300px; justify-content: center; }
.ars-loading-icon { font-size: 52px; animation: ars-beat .5s ease-in-out infinite alternate; }
@keyframes ars-beat { from { transform: scale(0.9); } to { transform: scale(1.1); } }
.ars-loading-title { font-size: 18px; font-weight: 800; color: #fff; }
.ars-loading-sub { font-size: 13px; color: #c4b5fd; margin: 0; }
.ars-loading-dots { display: flex; gap: 8px; }
.ars-loading-dots span { width: 10px; height: 10px; background: #a78bfa; border-radius: 50%; animation: ars-dot 1s ease-in-out infinite; }
.ars-loading-dots span:nth-child(2) { animation-delay: .2s; }
.ars-loading-dots span:nth-child(3) { animation-delay: .4s; }
@keyframes ars-dot { 0%,100% { transform: scale(.6); opacity: .4; } 50% { transform: scale(1.2); opacity: 1; } }

/* Error */
.ars-error { display: flex; align-items: center; gap: 10px; padding: 20px; background: #fef2f2; border: 2px solid #fecaca; border-radius: 14px; color: #dc2626; font-size: 14px; font-weight: 600; }

/* Results */
.ars-results { display: flex; flex-direction: column; gap: 14px; }
.ars-results-header { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; }
.ars-results-header h3 { font-size: 16px; font-weight: 800; color: #1f2937; margin: 0; }
.ars-results-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.ars-copy-btn { background: #7c3aed; color: #fff; border: none; border-radius: 9px; padding: 8px 14px; font-size: 12px; font-weight: 700; cursor: pointer; transition: all .2s; }
.ars-copy-btn:hover { background: #6d28d9; }
.ars-share-btn { background: #25d366; color: #fff; border: none; border-radius: 9px; padding: 8px 14px; font-size: 12px; font-weight: 700; cursor: pointer; transition: all .2s; }
.ars-share-btn:hover { background: #1fa855; }
.ars-regen-btn { background: #fff; border: 2px solid #e9d5ff; border-radius: 9px; padding: 8px 14px; font-size: 12px; font-weight: 700; color: #7c3aed; cursor: pointer; transition: all .2s; }
.ars-regen-btn:hover { border-color: #7c3aed; background: #faf5ff; }

/* Content Box */
.ars-content-box { background: linear-gradient(135deg, #0f0c29, #1a1040); border-radius: 16px; padding: 28px 24px; font-size: 15px; line-height: 2; color: #e9d5ff; white-space: pre-wrap; font-family: 'Georgia', serif; min-height: 200px; border: 2px solid rgba(167,139,250,.3); position: relative; }
.ars-content-box::before { content: '"'; position: absolute; top: 10px; left: 16px; font-size: 60px; color: rgba(167,139,250,.15); font-family: Georgia, serif; line-height: 1; }

.ars-content-footer { display: flex; justify-content: space-between; align-items: center; padding: 10px 4px; }
.ars-line-count { font-size: 12px; color: #9ca3af; }
.ars-watermark { font-size: 11px; color: #c4b5fd; font-style: italic; }

/* Use Cases */
.ars-usecases { background: linear-gradient(135deg, #faf5ff, #f3e8ff); border-radius: 20px; padding: 28px; border: 2px solid #e9d5ff; margin-bottom: 28px; }
.ars-usecases h3 { font-size: 18px; font-weight: 800; color: #4c1d95; margin: 0 0 18px; }
.ars-usecases-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.ars-usecase { background: #fff; border-radius: 12px; padding: 18px; border: 2px solid #e9d5ff; text-align: center; }
.ars-uc-icon { font-size: 28px; margin-bottom: 8px; }
.ars-usecase h4 { font-size: 13px; font-weight: 800; color: #4c1d95; margin: 0 0 6px; }
.ars-usecase p { font-size: 12px; color: #7c3aed; margin: 0; line-height: 1.5; }

/* Responsive */
@media (max-width: 1000px) { .ars-layout { grid-template-columns: 1fr; } .ars-controls { position: static; max-height: none; } .ars-usecases-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .ars-style-grid { grid-template-columns: repeat(2, 1fr); } .ars-mood-grid { grid-template-columns: repeat(3, 1fr); } .ars-usecases-grid { grid-template-columns: 1fr 1fr; } .ars-results-header { flex-direction: column; align-items: flex-start; } }
@media (max-width: 420px) { .ars-lang-btns { flex-direction: column; } .ars-length-btns { flex-direction: column; } .ars-usecases-grid { grid-template-columns: 1fr; } }
