.cs-idea-editor {
    position: relative;
}

.cs-idea-editor textarea {
    display: block;
    padding-bottom: 57px !important;
}

.cs-idea-assistant-bar {
    position: absolute;
    right: 9px;
    bottom: 9px;
    left: 9px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding-top: 8px;
    border-top: 1px solid #e8e3f0;
    background: linear-gradient(to bottom, rgba(255,255,255,.78), #fff 30%);
}

.cs-idea-assistant-bar small {
    color: #7a8190;
    font-size: .58rem;
}

.cs-idea-assistant-bar small i {
    margin-left: 4px;
    color: #6c47c4;
}

.cs-idea-assistant-bar .cs-ai-improve {
    min-height: 34px;
    padding: 7px 11px;
    border-radius: 9px;
    font-size: .68rem;
}

.cs-improve-status {
    display: grid;
    grid-template-columns: 38px minmax(0,1fr) auto;
    align-items: center;
    gap: 11px;
    margin-top: 11px;
    padding: 11px 13px;
    border: 1px solid #d7cef2;
    border-radius: 13px;
    background: linear-gradient(135deg,#fbfaff,#f5f1ff);
    box-shadow: 0 7px 20px rgba(67,40,137,.06);
}

.cs-improve-status__icon {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    color: #fff;
    background: linear-gradient(145deg,#8a63ef,#6335d4);
    font-size: .78rem;
}

.cs-improve-status.is-working .cs-improve-status__icon i {
    animation: cs-improve-spin 1.5s ease-in-out infinite;
}

.cs-improve-status > div {
    display: grid;
    min-width: 0;
}

.cs-improve-status small {
    color: #8167be;
    font-size: .58rem;
    font-weight: 900;
}

.cs-improve-status small em {
    margin-right: 5px;
    color: #9a91aa;
    font-style: normal;
    font-variant-numeric: tabular-nums;
    direction: ltr;
}

.cs-improve-status strong {
    margin-top: 1px;
    color: #352653;
    font-size: .76rem;
}

.cs-improve-status p {
    margin: 2px 0 0;
    color: #72788a;
    font-size: .62rem;
    line-height: 1.55;
}

.cs-improve-status__pulse {
    display: flex;
    align-items: center;
    gap: 3px;
    padding: 0 3px;
}

.cs-improve-status__pulse i {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #8060d3;
    animation: cs-improve-dot 1.1s infinite ease-in-out;
}

.cs-improve-status__pulse i:nth-child(2) { animation-delay: .14s; }
.cs-improve-status__pulse i:nth-child(3) { animation-delay: .28s; }

.cs-improve-status.is-success {
    border-color: #bde8df;
    background: #f4fffc;
}

.cs-improve-status.is-success .cs-improve-status__icon { background: #0b8b79; }
.cs-improve-status.is-success small { color: #08796b; }
.cs-improve-status.is-success .cs-improve-status__pulse,
.cs-improve-status.is-warning .cs-improve-status__pulse,
.cs-improve-status.is-error .cs-improve-status__pulse { display: none; }

.cs-improve-status.is-warning {
    border-color: #d8ccff;
    background: #f2edff;
}

.cs-improve-status.is-warning .cs-improve-status__icon { background: #4b28b8; }
.cs-improve-status.is-warning small { color: #4b28b8; }

.cs-improve-status.is-error {
    border-color: #efc2c2;
    background: #fff6f6;
}

.cs-improve-status.is-error .cs-improve-status__icon { background: #b73535; }
.cs-improve-status.is-error small { color: #a12a2a; }

.cs-ai-improve:disabled {
    cursor: not-allowed;
    opacity: .78;
}

.cs-ai-improve.is-loading {
    color: #fff;
    border-color: #6334d4;
    background: #6334d4;
    box-shadow: 0 6px 16px rgba(99,52,212,.17);
}

.cs-ai-improve.is-ready {
    color: #08796b;
    border-color: #9edbd0;
    background: #f2fffb;
}

.cs-improved-idea {
    margin-top: 9px !important;
    padding: 13px !important;
    border-radius: 13px !important;
    box-shadow: 0 8px 22px rgba(64,38,128,.055);
}

.cs-improved-idea p {
    max-height: 190px;
    margin: 8px 0 !important;
    padding: 9px 11px;
    overflow: auto;
    border: 1px solid #e2dcf0;
    border-radius: 9px;
    background: #fff;
    font-size: .74rem !important;
    line-height: 1.75 !important;
}

.cs-improved-idea footer button {
    min-height: 34px;
    padding: 7px 11px !important;
}

@keyframes cs-improve-spin {
    0% { transform: rotate(0deg); }
    45% { transform: rotate(18deg); }
    100% { transform: rotate(360deg); }
}

@keyframes cs-improve-dot {
    0%,70%,100% { opacity: .3; transform: translateY(0); }
    35% { opacity: 1; transform: translateY(-3px); }
}

@media (max-width:640px) {
    .cs-idea-editor textarea { padding-bottom: 55px !important; }
    .cs-idea-assistant-bar { right: 7px; bottom: 7px; left: 7px; }
    .cs-idea-assistant-bar .cs-ai-improve {
        width: auto;
        min-height: 36px;
        flex: 0 1 auto;
        justify-content: center;
        padding: 7px 10px !important;
    }
    .cs-idea-assistant-bar small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .cs-improve-status { grid-template-columns: 34px minmax(0,1fr); gap: 9px; padding: 10px; }
    .cs-improve-status__icon { width: 34px; height: 34px; }
    .cs-improve-status__pulse { grid-column: 2; justify-self: start; margin-top: -2px; }
    .cs-improve-status p { font-size: .59rem; }
    .cs-improved-idea > div { align-items: flex-start; flex-direction: column; gap: 2px !important; }
    .cs-improved-idea p { max-height: 165px; }
    .cs-improved-idea footer { display: grid !important; grid-template-columns: 1fr 1fr; }
    .cs-improved-idea footer button { padding-inline: 6px !important; font-size: .62rem !important; }
}

@media (max-width:360px) {
    .cs-idea-assistant-bar small { display: none; }
    .cs-idea-assistant-bar .cs-ai-improve { width: 100%; }
    .cs-improve-status p { display: none; }
    .cs-improved-idea footer { grid-template-columns: 1fr; }
    .cs-improved-idea p { font-size: .68rem !important; }
}

@media (prefers-reduced-motion:reduce) {
    .cs-improve-status__icon i,
    .cs-improve-status__pulse i { animation: none !important; }
}
