:root{
    --dp-primary:#edf3fe;
    --dp-primary-hover:#4338ca;
    --dp-primary-light:#eef2ff;
    --dp-primary-border:#c7d2fe;
    --dp-primary-soft:#edf3fe;
    --dp-btn-border:#b7c8fe;
    --dp-btn-bg:#edf3fe;
    --dp-btn-color:#3964fe;
    --dp-text:#0f172a;
    --dp-text-secondary:#46566d;
    --dp-text-muted:#7d8ba0;
    --dp-bg:#ffffff;
    --dp-bg-input:#f7f9fc;
    --dp-bg-hover:#eef3f9;
    --dp-border:#dce5f0;
    --dp-radius-sm:6px;
    --dp-radius:8px;
    --dp-radius-lg:12px;
    --dp-radius-xl:16px;
    --dp-radius-pill:9999px;
    --dp-shadow:0 6px 18px rgba(15, 23, 42, 0.08);
    --dp-shadow-lg:0 16px 36px rgba(15, 23, 42, 0.14);
    --dp-font:"Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Apple Color Emoji", "Segoe UI Emoji", sans-serif;
    --dp-font-mono:"JetBrains Mono", "Fira Code", Consolas, Monaco, "Courier New", monospace;
    --dp-transition:0.15s ease;
    --dp-sidebar-width:224px;
    --dp-sidebar-collapsed-width:48px;
    --dp-z-content:1;
    --dp-z-desktop-float:11;
    --dp-z-overlay:20;
    --dp-z-mobile-sidebar:50;
    --dp-z-session-title:90;
    --dp-z-dropdown:100;
    --dp-z-tool-panel:200;
    --dp-z-tool-toggle:250;
    --dp-z-settings:300;
    --dp-z-modal:2000;
}
body.agent-page{
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}
p > code{
    background:#f1f5f9;
    border:1px solid var(--dp-border);
    border-radius:4px;
    color:#db2777;
    font-family:var(--dp-font-mono);
    font-size:0.88em;
    font-weight:500;
    padding:2px 6px;
}
pre > code{
    background:#1a1a2e;
    border-radius:6px;
    color:#e2e8f0;
    display:block;
    font-family:var(--dp-font-mono);
    font-size:0.88em;
    line-height:1.65;
    overflow-x:auto;
    padding:18px;
    tab-size:4;
    white-space:pre-line;
}
body.agent-page footer{
    display:none !important;
}
.agent-skip-link{
    background:var(--dp-bg);
    border:1px solid var(--dp-btn-border);
    border-radius:var(--dp-radius);
    color:var(--dp-btn-color);
    left:12px;
    padding:8px 12px;
    position:fixed;
    top:-52px;
    transition:top var(--dp-transition);
    z-index:var(--dp-z-modal);
}
.agent-skip-link:focus-visible{
    top:8px;
}
body.agent-page section{
    display:grid;
    grid-template-columns: var(--dp-sidebar-width) 1fr;
    grid-template-rows: 1fr auto;
    position:fixed;
    top:0;
    bottom:0;
    width:100%;
}
section:has(#chatBox .chatContainer.fullWidth){
    grid-template-columns:var(--dp-sidebar-collapsed-width) 1fr;
}
.chatContainer{
    box-sizing:border-box;
    margin:0 auto 50px auto;
    padding-top:64px;
    position:relative;
    width:68%;
}
.chatContainer p{
    margin:0;
}
.dpSidebar{
    background:var(--dp-bg);
    border-right:1px solid var(--dp-border);
    box-sizing:border-box;
    grid-column:1;
    grid-row:1 / 3;
    left:65px;
    overflow:auto;
    padding:100px 12px 12px;
    position:relative;
}
.dpSidebar::-webkit-scrollbar{
    width:1px;
    height:1px;
}
.dpSidebar::-webkit-scrollbar-thumb{
    background-color:#cccccc;
}
.chatHistory::-webkit-scrollbar{
    width:1px;
}
.chatHistory::-webkit-scrollbar-thumb{
    background-color:#cccccc;
}
.dpSidebarTools{
    background:var(--dp-bg);
    box-sizing:border-box;
    left:63px;
    position:fixed;
    top:50px;
    width:var(--dp-sidebar-width);
    z-index:var(--dp-z-desktop-float);
    padding:14px 12px 12px;
}
.dpSidebarQuickActions{
    display:grid;
    gap:6px;
    grid-template-columns:repeat(2, 1fr);
    width:100%;
}
.dpSidebarQuickActions > button,
.dpSidebarQuickActions > .attachment-dock > .attachment-dock-toggle{
    align-items:center;
    background:var(--dp-btn-bg);
    border:1px solid var(--dp-btn-border);
    border-radius:var(--dp-radius);
    color:var(--dp-btn-color);
    cursor:pointer;
    display:flex;
    font-size:13px;
    font-weight:500;
    height:34px;
    justify-content:center;
    letter-spacing:-0.01em;
    padding:0 10px;
    position:relative;
    width:100%;
    box-sizing:border-box;
}
.dpSidebarQuickActions > .attachment-dock{
    margin:0;
    width:100%;
}
.hideSidebarPar{
    background:var(--dp-bg);
    border-right:1px solid var(--dp-border);
    height:calc(100% - 50px);
    left:0;
    padding:10px 7px;
    position:fixed;
    top:50px;
    width:var(--dp-sidebar-collapsed-width);
    z-index:var(--dp-z-desktop-float);
}
.hideSidebarBtn{
    background:none !important;
    border:none !important;
}
.hideSidebarPar .dpSidebarQuickActions{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    padding:0;
    width:100%;
}
.hideSidebarPar .dpSidebarQuickActions > button,
.hideSidebarPar .dpSidebarQuickActions > .attachment-dock{
    display:block;
    min-width:34px;
    width:34px;
}
.hideSidebarPar .dpSidebarQuickActions > button,
.hideSidebarPar .dpSidebarQuickActions > .attachment-dock > .attachment-dock-toggle{
    background:transparent !important;
    border-color:transparent !important;
    color:var(--dp-btn-color);
    font-size:14px;
    height:66px;
    letter-spacing:0;
    line-height:1.45;
    min-height:66px;
    min-width:34px;
    padding:2px 0 !important;
    text-orientation:mixed;
    width:34px;
    writing-mode:vertical-rl;
}
.hideSidebarPar .dpSidebarQuickActions > .newChatBtn{
    height:auto;
    min-height:0;
}
.hideSidebarPar .dpSidebarQuickActions > button:hover,
.hideSidebarPar .dpSidebarQuickActions > .attachment-dock > .attachment-dock-toggle:hover{
    background:#dce6fe !important;
    border-color:var(--dp-btn-border) !important;
}
.hideSidebarPar .tool-count-badge{
    display:none !important;
}
.hideSidebarPar .attachment-drawer{
    left:calc(100% + 8px);
    right:auto;
    top:0;
}
.chatHistory{
    box-sizing:border-box;
    flex:1;
    min-height:0;
    overflow-y:auto;
    padding:0;
    height:100%;
}
.chatHistory > div{
    border-radius:var(--dp-radius);
    cursor:pointer;
    font-size:13.5px;
    font-weight:450;
    margin:2px 0;
    padding:0;
    transition:background var(--dp-transition);
}
.chatHistory > div:hover{
    background:var(--dp-bg-hover);
}
.chatHistory > .sessionActive{
    background:var(--dp-primary-soft) !important;
    font-weight:500;
}
.session-item{
    align-items:center;
    border-radius:var(--dp-radius);
    cursor:pointer;
    display:flex;
    gap:4px;
    min-height:38px;
    padding:6px 6px 6px 8px;
    position:relative;
}
.session-name{
    box-sizing:border-box;
    display:block;
    flex:1;
    line-height:20px;
    min-width:0;
    overflow:hidden;
    padding:4px 0 4px 6px;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:var(--dp-text-secondary);
}
.sessionActive .session-name{
    color:var(--dp-primary-hover);
}
.menu-btn{
    align-items:center;
    border-radius:5px;
    color:var(--dp-text-muted);
    cursor:pointer;
    display:inline-flex;
    flex:0 0 26px;
    font-size:16px;
    font-weight:500;
    height:26px;
    justify-content:center;
    opacity:0;
    pointer-events:none;
    transition:background var(--dp-transition), color var(--dp-transition), opacity var(--dp-transition);
    width:26px;
}
.session-item:hover .menu-btn,
.session-item.sessionActive .menu-btn,
.session-item:focus-within .menu-btn{
    opacity:1;
    pointer-events:auto;
}
.menu-btn:hover{
    color:var(--dp-btn-color);
}
.menu-dropdown{
    background:var(--dp-bg);
    border:1px solid var(--dp-border);
    border-radius:var(--dp-radius);
    box-shadow:var(--dp-shadow-lg);
    overflow:hidden;
    position:absolute;
    right:4px;
    top:calc(100% - 2px);
    z-index:var(--dp-z-dropdown);
}
.menu-item{
    cursor:pointer;
    font-size:13px;
    padding:7px 14px;
    white-space:nowrap;
    transition:background var(--dp-transition);
    color:var(--dp-text-secondary);
}
.menu-item:hover{
    background:var(--dp-bg-hover);
    color:var(--dp-text);
}
.rename-input{
    border:1px solid var(--dp-btn-border);
    border-radius:5px;
    font-size:inherit;
    outline:none;
    padding:3px 6px;
    width:80%;
    transition:border-color var(--dp-transition);
}
.rename-input:focus-visible{
    border-color:var(--dp-btn-color);
    box-shadow:0 0 0 3px rgba(47, 97, 214, 0.12);
}
#chatBox{
    grid-column:2;
    grid-row:1;
    overflow-y:auto;
}
.message{
    margin:12px 0;
    max-width:97%;
    padding:6px 8px;
    position:relative;
}
.user-message{
    scroll-margin-top:64px;
    text-align:right;
}
.user-message-div{
    background:var(--dp-primary-soft);
    border:1px solid var(--dp-primary-border);
    border-radius:var(--dp-radius-xl);
    color:var(--dp-text);
    display:inline-block;
    font-size:15px;
    line-height:1.7;
    max-width:calc(100% - 88px);
    min-width:25px;
    padding:10px 18px;
    text-align:left;
    white-space:pre-wrap;
    word-break:break-word;
    font-family:var(--dp-font);
}
.user-message-span{
    display:block;
}
.user-message-span.collapsed{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    overflow:hidden;
}
.user-message-expand-btn{
    background:none;
    border:none;
    color:var(--dp-primary-hover);
    cursor:pointer;
    display:block;
    font-size:12px;
    font-weight:500;
    margin-top:4px;
    padding:0;
    text-align:left;
    width:100%;
}
.content{
    font-size:17px;
    line-height:1.78;
    font-family:var(--dp-font);
    font-weight:430;
    letter-spacing:-0.008em;
    margin:0;
    overflow-wrap:break-word;
    color:var(--dp-text);
}
.message a{
    color:var(--dp-primary-hover);
}
.bottom-left-buttons{
    display:block;
}
.bottom-left-buttons > button{
    background:none;
    border:none;
    color:var(--dp-text-muted);
    cursor:pointer;
    font-size:12px;
    margin:0 5px;
    padding:0;
    transition:color var(--dp-transition);
}
.bottom-left-buttons > button:hover{
    color:var(--dp-btn-color);
}
.conversation-nav{
    max-height:45vh;
    overflow:visible;
    position:absolute;
    right:25px;
    top:40%;
    transform:translateY(-50%);
    z-index:var(--dp-z-desktop-float);
}
.conversation-nav[hidden]{
    display:none;
}
.conversation-nav-items{
    display:grid;
    gap:5px;
}
.conversation-nav-item{
    background:transparent;
    border:0;
    cursor:pointer;
    height:8px;
    padding:0;
    position:relative;
    width:10px;
}
.conversation-nav-item::before{
    background:var(--dp-border);
    border-radius:3px;
    content:"";
    display:block;
    height:3px;
    transition:background-color var(--dp-transition), width var(--dp-transition);
    width:7px;
}
.conversation-nav-item:hover::before,
.conversation-nav-item:focus-visible::before,
.conversation-nav-item.is-active::before{
    background:var(--dp-primary-hover);
    width:10px;
}
.conversation-nav-label{
    background:var(--dp-bg);
    border:1px solid var(--dp-border);
    border-radius:var(--dp-radius);
    box-shadow:var(--dp-shadow);
    color:var(--dp-text-secondary);
    display:none;
    font-size:12px;
    max-width:240px;
    overflow:hidden;
    padding:6px 8px;
    position:absolute;
    right:16px;
    text-overflow:ellipsis;
    top:50%;
    transform:translateY(-50%);
    white-space:nowrap;
}
.conversation-nav-item:hover .conversation-nav-label,
.conversation-nav-item:focus-visible .conversation-nav-label{
    display:block;
}
@media (hover:hover){
    .message > .bottom-left-buttons{
        left:0;
        opacity:0;
        pointer-events:none;
        position:absolute;
        bottom:-12px;
        transition:opacity var(--dp-transition);
    }
    .message:hover > .bottom-left-buttons{
        opacity:1;
        pointer-events:auto;
    }
    .user-message > .bottom-left-buttons{
        left:auto;
        right:8px;
        justify-content:flex-end;
    }
}
.thinking-container{
    align-items:center;
    display:flex;
    gap:6px;
}
.thinking-text{
    display:inline-block;
    margin:5px 0;
    color:var(--dp-text-muted);
    font-size:14px;
}
.thinking-text.thinking-active{
    min-width:5em;
}
.thinking-container .assist-direct-btn{
    margin-left:auto;
}
.thinking-text.thinking-active::after{
    content:".";
    animation:thinkingDots 1.2s steps(1, end) infinite;
}
@keyframes thinkingDots{
    0%{
        content:".";
    }
    33%{
        content:"..";
    }
    66%{
        content:"...";
    }
}
.reasoning-toggle-arrow{
    background:none;
    border:none;
    color:var(--dp-text-muted);
    cursor:pointer;
    padding:0;
    font-size:12px;
    user-select:none;
    display:none;
}
.reasoning-toggle-arrow::after{
    content:">";
    display:inline-block;
    transition:transform 0.2s ease;
    font-size:16px;
}
.reasoning-toggle-arrow.expanded::after{
    transform:rotate(90deg);
}
.reasoning-toggle-arrow:hover{
    color:var(--dp-primary-hover);
}
.reasoning{
    border-left:2px solid var(--dp-border);
    color:var(--dp-text-muted);
    display:none;
    font-size:14px;
    line-height:20px;
    margin:0;
    padding:0 0 0 5px;
    white-space:pre-wrap;
}
#agentTitle{
    color:var(--dp-text);
    font-size:36px;
    font-weight:650;
    letter-spacing:-0.04em;
    line-height:1.2;
    margin:0;
    text-align:center;
}
#publicityDiv{
    margin-top:92px;
}
.agentPublicity{
    color:var(--dp-text-secondary);
    font-size:15px;
    margin:10px 0 0;
    text-align:center;
}
#sessionHeaderTitle{
    font-size:16px;
    font-weight:600;
    height:50px;
    left:50%;
    line-height:50px;
    position:absolute;
    text-align:center;
    text-overflow:ellipsis;
    transform:translateX(-50%);
    white-space:nowrap;
    width:300px;
    z-index:var(--dp-z-session-title);
}
#inputContainer{
    background:var(--dp-bg);
    grid-column:2;
    grid-row:2;
    position:relative;
}
#agentBox{
    background:var(--dp-bg-input);
    border:1px solid var(--dp-border);
    border-radius:24px;
    box-sizing:border-box;
    padding:5px 5px 23px 5px;
    position:relative;
    width:68%;
    margin:0 auto 10px auto;
}
#agentInput{
    background:none;
    border:none;
    border-radius:24px;
    box-sizing:border-box;
    font-size:16px;
    line-height:1.5;
    max-height:300px;
    min-height:50px;
    outline:none;
    overflow:auto;
    padding:10px;
    resize:none;
    width:100%;
    font-family:var(--dp-font);
}
#agentInput::placeholder{
    color:var(--dp-text-muted);
}
#agentTools{
    align-items:center;
    position:absolute;
    left:10px;
    right:10px;
    bottom:0;
    height:40px;
    display:flex;
    flex-wrap:nowrap;
}
.send-group{
    margin-left:auto;
    margin-bottom:8px;
}
.send-btn, .stop-btn{
    background:var(--dp-btn-bg);
    border:1px solid var(--dp-btn-border);
    border-radius:var(--dp-radius-lg);
    color:var(--dp-btn-color);
    cursor:pointer;
    font-size:13px;
    transition:background var(--dp-transition);
    line-height:32px;
    padding:0 10px;
    position:relative;
}
.stop-btn{
    background:#ef4444;
    color:#fff;
}
.stop-btn:hover{
    background:#dc2626;
}
.send-btn:active,
.stop-btn:active{
    transform:scale(0.97);
}
#assistScrollBtn{
    border:1px solid var(--dp-btn-border);
    border-radius:50%;
    bottom:calc(100% + 12px);
    color:var(--dp-btn-color);
    background:var(--dp-btn-bg);
    cursor:pointer;
    font-size:16px;
    height:34px;
    left:50%;
    line-height:32px;
    margin:0;
    padding:0;
    position:absolute;
    touch-action:manipulation;
    transform:translateX(-50%);
    width:34px;
    z-index:var(--dp-z-desktop-float);
}
#assistScrollBtn span{
    display:inline-block;
    line-height:1;
    transform:rotate(90deg);
}
.agent-reading-tail{
    display:block;
    height:1px;
    pointer-events:none;
    width:1px;
}
.agent-reading-spacer{
    pointer-events:none;
}
.assist-direct-btn{
    align-items:center;
    background:none;
    border:none;
    border-radius:var(--dp-radius-pill);
    color:var(--dp-btn-color);
    cursor:pointer;
    display:inline-flex;
    font-size:12px;
    font-weight:500;
    height:30px;
    justify-content:center;
    padding:0 14px;
    transition:background var(--dp-transition);
    white-space:nowrap;
}
#assistScrollBtn:hover,
.assist-direct-btn:hover,
.send-btn:hover{
    background:#dce6fe;
}
.tool-menu{
    display:inline-block;
    position:relative;
}
#toolsBox{
    z-index:var(--dp-z-tool-toggle);
    margin-bottom:5px;
}
#toolMenuToggle{
    background:none;
    border:none;
    color:var(--dp-btn-color);
    font-size:30px;
    height:32px;
    line-height:32px;
    min-width:32px;
    padding:0;
    vertical-align:middle;
    cursor:pointer;
}
.active-tool-tag{
    color:var(--dp-btn-color);
    display:inline-block;
    font-size:13px;
    line-height:32px;
    /*margin-right:10px;*/
    vertical-align:middle;
}
.active-tool-tag-close{
    background:transparent;
    border:0;
    color:#64748b;
    cursor:pointer;
    display:inline-block;
    font-size:14px;
    line-height:1;
    margin-right:3px;
    padding:0;
    vertical-align:middle;
    visibility:hidden;
    width:12px;
}
.active-tool-tag:hover .active-tool-tag-close{
    visibility:visible;
}
.active-tool-tag-close:hover{
    color:var(--dp-btn-color);
}
#toolMenuOptions{
    background:var(--dp-bg);
    border:1px solid var(--dp-border);
    border-radius:var(--dp-radius);
    box-shadow:var(--dp-shadow-lg);
    display:none;
    left:0;
    max-width:min(86vw, 280px);
    min-width:220px;
    padding:10px;
    position:absolute;
    bottom:calc(100% + 8px);
}
#toolMenuOptions.open{
    display:block;
}
#toolInlineActions{
    display:flex;
    flex-direction:column;
    gap:4px;
    min-width:0;
}
.tool-upload-entry{
    font-size:0;
    white-space:nowrap;
}
.tool-upload-entry .tool-panel-btn{
    display:inline-block;
    font-size:13px;
    text-align:center;
    vertical-align:top;
    width:50%;
}
.tool-panel-btn{
    align-items:center;
    background:none;
    border:none;
    border-radius:var(--dp-radius-sm);
    box-sizing:border-box;
    color:var(--dp-text-secondary);
    cursor:pointer;
    display:flex;
    font-size:13px;
    gap:10px;
    justify-content:space-between;
    min-height:36px;
    padding:0 12px;
    transition:background var(--dp-transition);
    width:100%;
}
.tool-panel-btn:hover{
    background:var(--dp-bg-hover);
}
.tool-panel-btn.agentToolSelected{
    color:var(--dp-btn-color);
    font-weight:500;
}
.tool-button-label{
    color:inherit;
    flex:1 1 auto;
    text-align:left;
}
.tool-button-mode{
    background:#e0e7ff;
    border-radius:6px;
    color:var(--dp-btn-color);
    flex:0 0 auto;
    font-size:11px;
    font-weight:500;
    padding:3px 8px;
}
.tool-panel-btn.agentToolSelected .tool-button-mode{
    background:var(--dp-btn-color);
    color:#fff;
}
.tool-panel-btn[data-tooltip]{
    position:relative;
}
.tool-panel-btn[data-tooltip]:hover::after{
    background:#334155;
    border-radius:5px;
    color:#fff;
    content:attr(data-tooltip);
    font-size:11px;
    left:calc(100% + 6px);
    line-height:1.3;
    padding:4px 6px;
    pointer-events:none;
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    white-space:nowrap;
    z-index:2;
}
.tool-count-badge{
    background:#94a3b8;
    border-radius:10px;
    color:#fff;
    display:none;
    font-size:10px;
    font-weight:600;
    min-width:18px;
    height:18px;
    line-height:18px;
    padding:0 5px;
    position:absolute;
    text-align:center;
    top:-6px;
    right:-6px;
    box-sizing:border-box;
}
.tool-count-badge.show{
    display:block;
}
.pending-attachment-area{
    background:#f9fafc;
    border:1px dashed #d6d9e0;
    border-radius:var(--dp-radius);
    display:none;
    margin:0 0 8px;
    max-height:120px;
    overflow:auto;
    padding:8px 10px;
}
.pending-attachment-title{
    color:var(--dp-text-secondary);
    font-size:12px;
    margin-bottom:6px;
}
.attachment-dock{
    display:block;
    position:relative;
    vertical-align:top;
    z-index:var(--dp-z-tool-panel);
}
.attachment-dock-toggle{
    margin:0;
    padding:0 8px;
}
.attachment-drawer{
    background:var(--dp-bg);
    border:1px solid var(--dp-border);
    border-radius:var(--dp-radius);
    box-shadow:var(--dp-shadow-lg);
    display:none;
    margin-top:10px;
    max-height:60vh;
    overflow:auto;
    overscroll-behavior:contain;
    padding:12px;
    position:absolute;
    left:0;
    top:calc(100% + 8px);
    width:340px;
    z-index:var(--dp-z-tool-panel);
}
.attachment-dock.open .attachment-drawer{
    display:block;
}
.attachment-header{
    align-items:center;
    display:flex;
    justify-content:space-between;
    margin-bottom:6px;
}
.attachment-drawer-close,
.attachment-modal-close{
    background:none;
    border:none;
    cursor:pointer;
    font-size:18px;
}
.attachment-count{
    color:var(--dp-primary-hover);
    font-weight:600;
    margin-left:6px;
}
.attachment-tip{
    color:#777;
    font-size:12px;
    margin:8px 0;
}
.attachment-list{
    margin:0 0 6px;
}
.attachment-chip{
    align-items:center;
    background:var(--dp-bg);
    border:1px solid var(--dp-border);
    border-radius:var(--dp-radius-sm);
    color:var(--dp-text);
    display:inline-flex;
    font-size:12px;
    gap:6px;
    padding:6px 10px;
}
.attachment-chip .attachment-name{
    font-weight:600;
}
.attachment-chip .attachment-name.previewable{
    color:var(--dp-primary-hover);
    cursor:pointer;
}
.attachment-chip .attachment-name.previewable:hover{
    text-decoration:underline;
}
.attachment-chip .attachment-name.disabled-preview{
    color:#8a8a8a;
    cursor:not-allowed;
}
.attachment-chip .remove-attachment{
    background:none;
    border:none;
    color:var(--dp-text-muted);
    cursor:pointer;
    font-size:14px;
    padding:0;
}
.attachment-chip .remove-attachment:hover{
    color:#ef4444;
}
.attachment-status{
    border-radius:6px;
    font-size:11px;
    font-weight:500;
    padding:2px 6px;
}
.attachment-status.parsing{
    background:#fef3c7;
    color:#d97706;
}
.attachment-status.uploading{
    background:#e0e7ff;
    color:#4f46e5;
}
.attachment-status.parsed{
    background:#d1fae5;
    color:#059669;
}
.attachment-status.failed{
    background:#fee2e2;
    color:#dc2626;
}
.attachment-chip .attachment-actions{
    display:flex;
    gap:6px;
    margin-left:6px;
}
.attachment-chip .attachment-actions button{
    background:var(--dp-btn-bg);
    border:1px solid var(--dp-btn-border);
    border-radius:6px;
    color:var(--dp-btn-color);
    cursor:pointer;
    font-size:12px;
    padding:4px 10px;
    transition:background var(--dp-transition);
}
.attachment-chip .attachment-actions button:hover{
    color:#00a1ff;
}
.attachment-chip .attachment-actions .attachment-delete-btn{
    height:24px;
    padding:0;
    background:none;
    border:none;
}
.attachment-chip .attachment-actions button:disabled{
    opacity:0.5;
    cursor:not-allowed;
}
.attachment-actions{
    align-items:center;
    display:flex;
    gap:10px;
}
.attachment-actions button{
    background:var(--dp-primary-hover);
    border:none;
    border-radius:var(--dp-radius-lg);
    color:#fff;
    cursor:pointer;
    font-size:13px;
    font-weight:500;
    padding:8px 16px;
    transition:background var(--dp-transition);
}
.attachment-modal{
    align-items:center;
    background:rgba(0, 0, 0, 0.4);
    display:none;
    height:100%;
    justify-content:center;
    left:0;
    position:fixed;
    top:0;
    width:100%;
    z-index:var(--dp-z-modal);
}
.attachment-modal.show{
    display:flex;
}
.attachment-modal-content{
    background:var(--dp-bg);
    border-radius:var(--dp-radius);
    box-shadow:var(--dp-shadow-lg);
    max-height:80%;
    max-width:720px;
    overflow:auto;
    overscroll-behavior:contain;
    padding:18px;
    position:relative;
    width:90%;
}
.attachment-modal-header{
    align-items:center;
    display:flex;
    justify-content:space-between;
    margin-bottom:10px;
}
.attachment-modal-title{
    font-size:16px;
    font-weight:600;
}
.attachment-preview-download{
    background:var(--dp-btn-bg);
    border-radius:var(--dp-radius-sm);
    display:inline-block;
    height:32px;
    line-height:32px;
    padding:0 12px;
    position:absolute;
    right:7%;
    top:2%;
    color:var(--dp-btn-color);
    font-size:13px;
}
#attachmentPreviewBody{
    background:var(--dp-bg-input);
    border:1px solid var(--dp-border);
    border-radius:var(--dp-radius-sm);
    font-size:14px;
    line-height:20px;
    max-height:55vh;
    overflow:auto;
    padding:10px;
    white-space:pre-wrap;
}
body.agent-page button:focus-visible,
body.agent-page a:focus-visible{
    outline:2px solid var(--dp-primary-hover);
    outline-offset:2px;
}
@media (prefers-reduced-motion:reduce){
    body.agent-page *,
    body.agent-page *::before,
    body.agent-page *::after{
        animation-duration:0.01ms !important;
        scroll-behavior:auto !important;
        transition-duration:0.01ms !important;
    }
}
pre[class*="language-"], pre{
    background:var(--dp-bg);
    border:1px solid var(--dp-border);
    border-radius:6px;
    margin:10px 0;
    overflow:auto;
    padding:0;
    padding-top:34px;
    position:relative;
}
pre[class*="language-"]::before, pre::before{
    background:var(--dp-bg-hover);
    border-radius:4px;
    color:#666;
    content:attr(class);
    font-size:10px;
    left:10px;
    max-width:60%;
    overflow:hidden;
    padding:3px 6px;
    position:absolute;
    text-overflow:ellipsis;
    top:8px;
    white-space:nowrap;
    z-index:2;
}
:not(pre) > code{
    background:var(--dp-bg);
}
.chatContainer pre code{
    background:var(--dp-bg);
    color:var(--dp-text);
    font-size:14px;
    line-height:1.65;
    margin:0 !important;
    overflow:auto;
    padding:24px 16px 16px 16px;
    white-space:pre;
    word-break:break-all;
}
.codeTitle{
    align-items:center;
    background:var(--dp-bg-input);
    border-bottom:1px solid var(--dp-border);
    border-radius:6px 6px 0 0;
    box-sizing:border-box;
    display:flex;
    gap:6px;
    height:34px;
    justify-content:flex-end;
    left:0;
    padding:0 8px;
    position:absolute;
    right:0;
    top:0;
    z-index:1;
}
.codeTitle.floating{
    border:1px solid var(--dp-border);
    position:fixed;
    top:51px;
    z-index:var(--dp-z-overlay);
}
.copy-btn, .code-action-btn, .download-docx-btn{
    background:transparent;
    border:none;
    border-radius:4px;
    color:var(--dp-text-secondary);
    cursor:pointer;
    font-size:12px;
    height:24px;
    padding:0 6px;
    transition:background var(--dp-transition), color var(--dp-transition);
}
.copy-btn:hover, .code-action-btn:hover, .download-docx-btn:hover{
    color:var(--dp-text);
}
#dpSettingBoxMasking{
    background:rgba(0, 0, 0, 0.5);
    display:none;
    height:100%;
    position:fixed;
    width:100%;
    z-index:var(--dp-z-settings);
}
#dpSettingBox{
    background:#f7f8fb;
    border:1px solid #e6e8ee;
    border-radius:12px;
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    height:90%;
    margin:0 auto;
    overflow:auto;
    position:relative;
    top:5%;
    width:90%;
}
#dpSettingBoxTool{
    align-items:center;
    background:#f7f8fb;
    border-bottom:1px solid #e6e8ee;
    border-radius:12px 12px 0 0;
    box-sizing:border-box;
    display:flex;
    justify-content:space-between;
    padding:10px 14px;
    position:sticky;
    top:0;
    width:100%;
    z-index:2;
}
#dpSettingBox .dpSettingBoxSpan{
    line-height:24px;
    margin:0;
}
#dpSettingBox .setting-div{
    margin:12px 12px 0 12px;
}
#dpSettingBox .setting-div:last-child{
    margin-bottom:12px;
}
#closeDpSettingButton{
    cursor:pointer;
    position:static;
    right:auto;
}
.setting-toggle-row{
    align-items:center;
    display:flex;
    justify-content:space-between;
    gap:12px;
}
.setting-toggle-title{
    color:#1f2937;
    font-size:15px;
    font-weight:600;
    line-height:1.4;
}
.setting-toggle-desc{
    color:#64748b;
    font-size:13px;
    margin-top:6px;
}
.setting-switch{
    cursor:pointer;
    height:20px;
    width:20px;
}
.formatter-field{
    display:flex;
    flex-direction:column;
    gap:6px;
    text-align:left;
}
.formatter-field > span{
    color:#334155;
    font-size:13px;
}
.formatter-field > input,
.formatter-field > select,
.formatter-field > textarea{
    border:1px solid #d8dee9;
    border-radius:8px;
    box-sizing:border-box;
    font-size:13px;
    padding:7px 8px;
    width:100%;
}
.formatter-field > textarea{
    min-height:110px;
    resize:vertical;
}
.formatter-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:12px;
}
.setting-div{
    background:#ffffff;
    border:1px solid #e6e8ee;
    border-radius:10px;
    box-shadow:0 2px 6px rgba(0, 0, 0, 0.04);
    margin-bottom:16px;
    padding:16px 18px;
}
.action-button{
    background-color:#5cb85c;
    border:none;
    border-radius:4px;
    color:white;
    cursor:pointer;
    margin:3px;
    padding:6px 12px;
}
.action-button:hover{
    color:blue;
}
.user-collect-header{
    border-bottom:1px solid #f0f0f0;
    font-size:18px;
    font-weight:600;
    margin-bottom:12px;
    padding-bottom:8px;
}
.user-collect-list{
    display:flex;
    flex-wrap:wrap;
    gap:15px;
}
.user-collect-item{
    background:#f5f5f5;
    border:1px solid #ddd;
    border-radius:8px;
    box-sizing:border-box;
    height:200px;
    margin:5px 0;
    padding:10px;
    position:relative;
    width:300px;
}
.user-collect-item-content{
    font-size:14px;
    height:100%;
    margin-bottom:10px;
    overflow:auto;
}
.user-collect-item-actions{
    position:absolute;
    right:5px;
    top:5px;
}
.user-collect-item-actions button{
    font-size:12px;
    margin-left:5px;
}
.user-collect-actions{
    margin-top:20px;
}
.user-collect-modal{
    align-items:center;
    background:rgba(0, 0, 0, 0.5);
    display:flex;
    height:100%;
    justify-content:center;
    left:0;
    position:fixed;
    top:0;
    width:100%;
}
.user-collect-modal-content{
    background:white;
    border-radius:8px;
    padding:20px;
}
.user-collect-input{
    border:1px solid #cccccc;
    box-sizing:border-box;
    height:500px;
    margin-top:10px;
    overflow:auto;
    padding:8px;
    width:600px;
}
.user-collect-modal-actions{
    margin-top:20px;
    text-align:right;
}
.user-collect-modal-actions button{
    margin-left:10px;
}
#memoryBox{
    margin-top:12px;
}
#user-memory-list{
    display:flex;
    flex-direction:column;
    gap:10px;
    margin-top:12px;
}
.user-memory-item{
    background:#f8fbff;
    border:1px solid #d9e5f7;
    border-radius:8px;
    padding:10px 12px;
}
.user-memory-item-content{
    color:#1f2937;
    font-size:14px;
    line-height:1.6;
    white-space:pre-wrap;
    word-break:break-word;
}
.user-memory-item-actions{
    display:flex;
    gap:8px;
    justify-content:flex-end;
    margin-top:8px;
}
.memory-empty-hint{
    color:#64748b;
    font-size:13px;
}
#userProfileTitle{
    display:block;
    font-size:18px;
}
#userProfileTitle > a{
    color:var(--dp-primary-hover);
}
.content pre[class*=language-]{
    padding:34px 0 0 0;
    margin:.5em 0;
    overflow:auto;
    background:none;
}
.agent-page .minHeaderLeft:nth-child(4),
.agent-page .minHeaderLeft:nth-child(5),
.agent-page #searchDiv{
    display:none !important;
}
@media (max-width:600px){
    body.agent-page section{
        display:grid;
        grid-template-columns:1fr;
        grid-template-rows:5fr 1fr;
        top:50px;
        left:0;
        right:0;
        bottom:0;
    }
    body.agent-page section:has(#chatBox .chatContainer.fullWidth){
        grid-template-columns:1fr;
    }
    .dpSidebarTools{
        display:none;
    }
    .dpSidebar{
        background:rgba(0, 0, 0, 0.5);
        display:none;
        flex-direction:column;
        height:calc(100% - 50px);
        left:0;
        padding:0;
        position:fixed;
        top:50px;
        width:100%;
        z-index:var(--dp-z-mobile-sidebar);
    }
    .dpSidebarToolbar{
        display:flex;
        align-items:center;
        gap:8px;
        padding:12px 8px;
        border-bottom:1px solid var(--dp-border);
        flex-shrink:0;
        background:var(--dp-bg);
        max-width:320px;
        width:65%;
        box-sizing:border-box;
        transform:translateX(-100%);
        transition:transform 0.2s ease;
        z-index:1;
    }
    .dpSidebarToolbar > button,
    .dpSidebarToolbar .attachment-dock-toggle{
        display:flex;
        align-items:center;
        justify-content:center;
        background:var(--dp-btn-bg);
        border:1px solid var(--dp-btn-border);
        border-radius:var(--dp-radius);
        color:var(--dp-btn-color);
        font-size:13px;
        font-weight:500;
        height:34px;
        padding:0 12px;
        cursor:pointer;
    }
    .dpSidebarToolbar #attachmentDock{
        position:relative;
    }
    .chatHistory{
        background:var(--dp-bg);
        box-sizing:border-box;
        flex:1;
        min-height:0;
        overflow-y:auto;
        padding:8px;
        max-width:320px;
        width:65%;
        transform:translateX(-100%);
        transition:transform 0.2s ease;
    }
    .dpSidebar.open .dpSidebarToolbar,
    .dpSidebar.open .chatHistory{
        transform:translateX(0);
    }
    #chatBox{
        grid-column:auto;
        grid-row:1;
    }
    .conversation-nav{
        right:3px;
    }
    .conversation-nav-label{
        display:none !important;
    }
    #inputContainer{
        grid-column:auto;
        grid-row:2;
    }
    .chatContainer{
        margin:0 auto;
        padding:64px 10px 0;
        width:100%;
    }
    .message{
        margin:10px;
    }
    #agentBox{
        border-radius:var(--dp-radius-lg);
        margin:0 auto;
        padding:6px 8px 52px 8px;
        width:95%;
    }
    #agentInput{
        font-size:20px;
        max-height:220px;
        min-height:44px;
        padding:8px;
    }
    #agentTools{
        bottom:8px;
        gap:8px;
        height:38px;
        left:0;
        overflow:visible;
        right:8px;
    }
    #toolsBox{
        margin-right:4px;
        z-index:auto;
    }
    #toolMenuToggle{
        height:34px;
        line-height:34px;
        width:34px;
        min-width:34px;
        font-size:20px;
    }
    #activeToolsLabel,
    .active-tool-tag{
        line-height:34px;
    }
    .active-tool-tag{
        font-size:11px;
    }
    #toolMenuToggle:active{
        transform:scale(0.96);
    }
    #toolMenuToggle:focus-visible{
        box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--dp-btn-border);
        outline:none;
    }
    #toolMenuOptions{
        max-width:82vw;
        min-width:220px;
    }
    .tool-panel-btn[data-tooltip]:hover::after{
        left:auto;
        right:0;
        top:calc(100% + 4px);
        transform:none;
    }
    #sendGroup{
        gap:6px;
        min-width:0;
    }
    #sendGroup .send-btn,
    #sendGroup .stop-btn{
        flex:0 0 auto;
        min-width:52px;
    }
    #sessionHeaderTitle{
        display:none;
    }
    #publicityDiv{
        margin-top:15%;
    }
    .attachment-drawer{
        left:0;
        right:auto;
        width:260px;
    }
    #chatContainer .msgBox{
        font-size:18px;
    }
}
