.no-scrollbar::-webkit-scrollbar{display:none}
.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}

.glass-panel{
    background:rgba(22,27,38,.75);
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
    border:1px solid rgba(255,255,255,.08);
}

.prose pre{
    background-color:#111827!important;
    padding:2.65rem 1rem 1rem 1rem;
    border-radius:.5rem;
    margin:.75rem 0;
    position:relative;
    overflow-x:auto;
    max-width:100%;
}

.prose code{
    font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
    background-color:rgba(255,255,255,.1);
    padding:.2rem .4rem;
    border-radius:.25rem;
    font-size:.875em;
}

.prose pre code{
    background-color:transparent;
    padding:0;
    white-space:pre;
}

.prose p{margin-bottom:.5rem}
.prose p:last-child{margin-bottom:0}

.code-collapsed{
    max-height:360px;
    overflow:hidden!important;
}

.code-fade-mask{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:80px;
    pointer-events:none;
    background:linear-gradient(to top,#111827 20%,rgba(17,24,39,0));
}

.copy-code-btn,
.toggle-code-btn{
    position:absolute;
    top:8px;
    z-index:40;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.06);
    color:#d1d5db;
    border-radius:.45rem;
    font-size:11px;
    line-height:1;
    transition:.2s;
    display:flex;
    align-items:center;
    gap:4px;
}

.copy-code-btn:hover,
.toggle-code-btn:hover{
    background:rgba(255,255,255,.14);
    color:white;
}

.copy-code-btn{
    right:8px;
    padding:6px;
}

.toggle-code-btn{
    left:8px;
    padding:7px 10px;
}

.code-live-progress{
    position:absolute;
    top:8px;
    left:8px;
    right:46px;
    z-index:35;
    height:28px;
    border:1px solid rgba(168,85,247,.25);
    background:rgba(17,24,39,.92);
    backdrop-filter:blur(10px);
    border-radius:.45rem;
    display:flex;
    align-items:center;
    gap:8px;
    padding:0 10px;
    color:#d8b4fe;
    font-size:11px;
    pointer-events:none;
}

.code-live-progress-bar{
    position:relative;
    flex:1;
    height:4px;
    overflow:hidden;
    border-radius:999px;
    background:rgba(255,255,255,.08);
}

.code-live-progress-bar::after{
    content:"";
    position:absolute;
    inset:0;
    width:45%;
    border-radius:999px;
    background:linear-gradient(90deg,transparent,#a855f7,transparent);
    animation:codeProgressMove 1.1s infinite linear;
}

@keyframes codeProgressMove{
    from{transform:translateX(-110%)}
    to{transform:translateX(240%)}
}

.prose pre.is-streaming-code{
    padding-top:3.25rem;
}

.history-window-tip{
    text-align:center;
    font-size:11px;
    color:#6b7280;
    padding:8px 0;
}

.toast-enter{
    animation:toastIn .22s ease-out forwards;
}

@keyframes toastIn{
    from{opacity:0;transform:translateY(-8px) scale(.98)}
    to{opacity:1;transform:translateY(0) scale(1)}
}

.modal-enter{
    animation:modalIn .18s ease-out forwards;
}

@keyframes modalIn{
    from{opacity:0;transform:scale(.96)}
    to{opacity:1;transform:scale(1)}
}








/* ===== Jump bottom button START ===== */
.jump-bottom-btn{
    position:fixed;
    right:18px;
    bottom:96px;
    z-index:9999;
    display:flex;
    align-items:center;
    gap:7px;
    padding:10px 14px;
    border-radius:999px;
    border:1px solid rgba(168,85,247,.38);
    background:rgba(17,24,39,.9);
    color:#f3e8ff;
    font-size:12px;
    line-height:1;
    box-shadow:0 14px 38px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.04) inset;
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    cursor:pointer;
    opacity:0;
    transform:translateY(12px) scale(.96);
    pointer-events:none;
    transition:opacity .18s ease,transform .18s ease,background .18s ease,border-color .18s ease;
}

.jump-bottom-btn.show{
    opacity:1;
    transform:translateY(0) scale(1);
    pointer-events:auto;
}

.jump-bottom-btn:hover{
    background:rgba(126,34,206,.95);
    border-color:rgba(216,180,254,.72);
    color:#fff;
}

.jump-bottom-btn-icon{
    width:18px;
    height:18px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:rgba(168,85,247,.28);
    font-size:14px;
    line-height:1;
}

@media (max-width:640px){
    .jump-bottom-btn{
        right:14px;
        bottom:88px;
        padding:9px 12px;
        font-size:11px;
    }
}
/* ===== Jump bottom button END ===== */



/* ===== Continue generation button START ===== */
.continue-generation-btn{
    position:fixed;
    right:18px;
    bottom:148px;
    z-index:9998;
    display:flex;
    align-items:center;
    gap:7px;
    padding:10px 14px;
    border-radius:999px;
    border:1px solid rgba(34,197,94,.38);
    background:rgba(17,24,39,.9);
    color:#dcfce7;
    font-size:12px;
    line-height:1;
    box-shadow:0 14px 38px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.04) inset;
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    cursor:pointer;
    opacity:0;
    transform:translateY(12px) scale(.96);
    pointer-events:none;
    transition:opacity .18s ease,transform .18s ease,background .18s ease,border-color .18s ease;
}

.continue-generation-btn.show{
    opacity:1;
    transform:translateY(0) scale(1);
    pointer-events:auto;
}

.continue-generation-btn:hover{
    background:rgba(22,163,74,.95);
    border-color:rgba(187,247,208,.72);
    color:#fff;
}

.continue-generation-btn-icon{
    width:18px;
    height:18px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:rgba(34,197,94,.28);
    font-size:14px;
    line-height:1;
}

@media (max-width:640px){
    .continue-generation-btn{
        right:14px;
        bottom:138px;
        padding:9px 12px;
        font-size:11px;
    }
}
/* ===== Continue generation button END ===== */
