.dashboard-container{width:100%;max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:24px;--batch-success-text: #3a6b47}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.health-card{width:100%;border:var(--border-dashed);border-radius:var(--radius-card);background:var(--card-bg);backdrop-filter:var(--card-blur);-webkit-backdrop-filter:var(--card-blur);box-shadow:var(--shadow-card);padding:24px 32px;display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:16px}.health-item{flex:1;display:flex;align-items:center;gap:10px;min-width:0}.health-label{color:var(--text-main);font-size:.9rem;font-weight:500;white-space:nowrap;flex-shrink:0}.health-value{font-weight:600;color:var(--text-main);min-width:0;overflow:hidden;text-overflow:ellipsis}.health-value--batch{font-weight:700}.status-dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:6px}.status-dot.online{background-color:var(--status-green);box-shadow:0 0 0 2px #81b29a33;animation:pulse 2s infinite}.status-dot.offline{background-color:#e07070;box-shadow:0 0 0 2px #e0707033}.status-dot.inactive{background-color:var(--text-sub)}@keyframes pulse{0%{box-shadow:0 0 #81b29a66}70%{box-shadow:0 0 0 6px #81b29a00}to{box-shadow:0 0 #81b29a00}}.batch-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;margin-top:16px}.memory-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:16px}.dashboard-card{border:var(--border-dashed);border-radius:var(--radius-card);background:var(--card-bg);backdrop-filter:var(--card-blur);-webkit-backdrop-filter:var(--card-blur);box-shadow:var(--shadow-card);padding:24px}.card-title{font-family:Lora,serif;font-size:1.2rem;color:var(--text-main);margin-bottom:16px;display:flex;align-items:center;gap:8px}.number-tag{display:inline-block;background:#f4a2611f;color:var(--accent);font-size:.9rem;font-weight:500;padding:4px 10px;border-radius:12px;margin-left:6px}.metric-hero{margin-bottom:12px}.metric-hero--tight{margin-bottom:10px}.metric-hero__value{font-size:2rem;font-weight:700;line-height:1.15;color:var(--text-main);letter-spacing:-.02em}.metric-hero__label{margin-top:6px;font-size:.8rem;color:var(--text-sub);font-weight:400}.metric-hero__label--top{margin-top:0;margin-bottom:8px;font-size:.88rem;font-weight:600;color:#2e2a33;letter-spacing:.02em}.metric-secondary{margin:0;font-size:.9rem;color:var(--text-sub)}.metric-secondary--dark{color:#3d3842}.metric-line--after-kpi{margin-bottom:14px}.calendar-day{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 8px;border-radius:var(--radius-btn);background:#ffffff80;border:1px solid rgba(244,162,97,.1);cursor:pointer;transition:transform var(--transition),box-shadow var(--transition)}.calendar-day:hover{transform:translateY(-2px);box-shadow:0 6px 12px #6d597a14}.calendar-date{font-size:.9rem;color:var(--text-sub)}.calendar-day--today{background:#ffffff80;border:1px solid rgba(244,162,97,.42);box-shadow:none}.calendar-day--today .calendar-date{font-weight:700;color:#3d3842}.calendar-status--today-mark{transform:scale(1.12);box-shadow:0 0 0 2px #f4a26159}.calendar-day.selected{box-shadow:0 0 0 2px #f4a2618c}.calendar-status{width:16px;height:16px;border-radius:50%}.calendar-status.success{background-color:var(--status-green)}.calendar-status.failed{background-color:#e07070}.calendar-status.none{background-color:var(--text-sub);opacity:.3}.batch-detail-panel{margin-top:20px;padding:16px;background:#ffffffb3;border-radius:var(--radius-btn);border-left:3px solid var(--accent)}.batch-step{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(244,162,97,.1)}.batch-step:last-child{border-bottom:none}.batch-step-name{color:var(--text-main);font-weight:500}.batch-step-status{display:flex;align-items:center;gap:8px}.error-stack{margin-top:12px;padding:12px;background:#e0707014;border-radius:var(--radius-btn);font-family:Courier New,monospace;font-size:.8rem;color:#e07070;max-height:100px;overflow-y:auto;white-space:pre-wrap}.memory-section{padding:16px;background:#ffffffb3;border-radius:var(--radius-btn)}.section-title{font-size:1rem;color:var(--text-main);margin-bottom:12px;display:flex;align-items:center;justify-content:space-between}.section-content{color:var(--text-sub);font-size:.9rem}.dimension-block{margin-top:0}.dimension-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:0}.dimension-dot{width:12px;height:12px;border-radius:50%;display:inline-block;cursor:default;position:relative}.dimension-dot.filled{background-color:var(--status-green)}.dimension-dot.empty{background-color:var(--text-sub);opacity:.35}.dimension-dot-container{position:relative;display:flex;align-items:center;justify-content:center}.dimension-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#2d2337eb;border:1px solid rgba(244,162,97,.3);border-radius:var(--radius-btn);padding:6px 12px;font-size:.8rem;color:#fff;white-space:nowrap;z-index:100;opacity:0;visibility:hidden;transition:opacity var(--transition),visibility var(--transition);pointer-events:none;box-shadow:0 4px 12px #00000040}.dimension-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#2d2337eb}.dimension-dot-container:hover .dimension-tooltip{opacity:1;visibility:visible}.skeleton-container{display:flex;flex-direction:column;gap:24px}.skeleton-card{border:var(--border-dashed);border-radius:var(--radius-card);background:var(--card-bg);padding:24px;display:flex;flex-direction:column;gap:16px}.dashboard-main-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media(max-width:900px){.dashboard-main-grid{grid-template-columns:1fr}.memory-overview-grid{grid-template-columns:1fr;gap:16px}.health-card{padding:20px 16px;flex-wrap:wrap}.health-item{flex:1 1 45%;justify-content:flex-start}}@media screen and (max-width:767px){.dashboard-container{gap:16px}.health-card{padding:16px 12px;gap:12px;border-radius:16px}.health-label{font-size:.8rem}.health-value{font-size:.85rem}.dashboard-card{padding:16px;border-radius:16px}.card-title{font-size:1rem;margin-bottom:12px}.metric-hero__value{font-size:1.6rem}.metric-hero__label,.metric-secondary{font-size:.75rem}.batch-calendar-grid{gap:8px;margin-top:12px}.calendar-day{padding:8px 4px;gap:6px;border-radius:8px}.calendar-date{font-size:.75rem}.calendar-status{width:12px;height:12px}.memory-overview-grid{gap:12px}.section-title{font-size:.9rem;margin-bottom:8px}.section-content{font-size:.8rem}.dimension-grid{gap:8px}.dimension-dot{width:10px;height:10px}}:root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: hsl(6, 78%, 57%);--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-container-width: fit-content;--toastify-toast-width: 320px;--toastify-toast-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-padding: 14px;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, .1);--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error);--toastify-color-progress-bgo: .2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;width:var(--toastify-container-width);box-sizing:border-box;color:#fff;display:flex;flex-direction:column}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y: 0;position:relative;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:var(--toastify-toast-padding);border-radius:var(--toastify-toast-bd-radius);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);z-index:0;display:flex;flex:1 auto;align-items:center;word-break:break-word}@media only screen and (max-width:480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}.Toastify__toast{--toastify-toast-width: 100%;margin-bottom:0;border-radius:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{margin-inline-end:10px;width:22px;flex-shrink:0;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;position:absolute;top:6px;right:6px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:1;opacity:.7;transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial}.Toastify__progress-bar--wrp{position:absolute;overflow:hidden;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.persona-page{width:100%;max-width:1200px;display:flex;flex-direction:column;background:var(--card-bg);backdrop-filter:var(--card-blur);-webkit-backdrop-filter:var(--card-blur);border:var(--border-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow-x:hidden;overflow-y:visible;min-height:calc(100vh - 48px)}.persona-tabs{display:flex;align-items:center;padding:0 24px;border-bottom:1px solid rgba(109,89,122,.1);background:#ffffff80;min-height:52px;flex-shrink:0}.persona-tabs-scroll{display:flex;align-items:center;overflow-x:auto;flex:1;gap:0;scrollbar-width:none}.persona-tabs-scroll::-webkit-scrollbar{display:none}.persona-tab{padding:14px 20px;font-size:.88rem;color:var(--text-sub);border:none;border-bottom:3px solid transparent;background:transparent;white-space:nowrap;cursor:pointer;transition:all var(--transition);font-family:inherit;line-height:1}.persona-tab:hover{color:var(--text-main)}.persona-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.persona-tab-new{padding:8px 16px;font-size:.82rem;color:var(--text-sub);border:1px dashed rgba(109,89,122,.3);border-radius:8px;background:transparent;white-space:nowrap;cursor:pointer;margin-left:12px;flex-shrink:0;transition:all var(--transition);font-family:inherit}.persona-tab-new:hover{color:var(--accent);border-color:var(--accent);background:#f4a2610d}.persona-body{display:flex;flex:1;overflow:visible;min-height:0}.persona-editor{width:60%;padding:24px;overflow-y:auto;border-right:1px solid rgba(109,89,122,.08);display:flex;flex-direction:column;gap:28px}.persona-preview{width:40%;padding:24px;display:flex;flex-direction:column;gap:14px;background:#fff3;position:sticky;top:20px;align-self:flex-start;max-height:calc(100vh - 40px);overflow:hidden;box-sizing:border-box}.field-section{display:flex;flex-direction:column;gap:14px}.section-title{font-size:.95rem;font-weight:700;color:var(--text-main);margin:0;letter-spacing:.02em}.sub-section{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid rgba(109,89,122,.08);border-radius:12px;background:#ffffff4d;margin-bottom:12px}.sub-section:last-child{margin-bottom:0}.sub-section-title{font-size:.88rem;font-weight:600;color:var(--accent);margin:0 0 4px;padding-bottom:6px;border-bottom:1px solid rgba(244,162,97,.15)}.field-row{display:flex;flex-direction:column;gap:6px}.field-label{font-size:.82rem;color:var(--text-sub);font-weight:500}.field-input,.field-textarea{width:100%;padding:10px 14px;border:1px solid rgba(109,89,122,.18);border-radius:10px;background:#fff9;color:var(--text-main);font-family:inherit;font-size:.9rem;line-height:1.65;transition:border-color .25s,background .25s;resize:vertical;outline:none}.field-input{resize:none}.field-input:focus,.field-textarea:focus{border-color:var(--accent);background:#ffffffd9;box-shadow:0 0 0 3px #f4a2611a}.field-input::placeholder,.field-textarea::placeholder{color:var(--text-sub);opacity:.6}.nsfw-section{display:flex;flex-direction:column}.nsfw-toggle{display:flex;align-items:center;gap:6px;font-size:.82rem;color:var(--text-sub);background:transparent;border:none;padding:6px 0;cursor:pointer;text-align:left;font-family:inherit;transition:color .2s;width:fit-content}.nsfw-toggle:hover{color:var(--accent)}.nsfw-arrow{display:inline-block;font-size:.65rem;transition:transform .3s ease;transform:rotate(0)}.nsfw-arrow.up{transform:rotate(90deg)}.nsfw-content{max-height:0;overflow:hidden;transition:max-height .35s ease}.nsfw-content.expanded{max-height:200px}.preview-header{display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.copy-btn{font-size:.78rem;color:var(--text-sub);padding:5px 12px;border:1px solid rgba(109,89,122,.2);border-radius:6px;background:transparent;cursor:pointer;font-family:inherit;transition:all .2s}.copy-btn:hover:not(:disabled){color:var(--accent);border-color:var(--accent);background:#f4a2610f}.copy-btn:disabled{opacity:.35;cursor:not-allowed}.preview-content{flex:1;min-height:0;font-family:Courier New,Consolas,monospace;font-size:.8rem;line-height:1.75;color:var(--text-main);background:#6d597a0a;border:var(--border-dashed);border-radius:12px;padding:16px;white-space:pre-wrap;word-break:break-word;overflow-wrap:break-word;min-height:300px;overflow-y:auto}.persona-footer{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;border-top:1px solid rgba(109,89,122,.08);background:#ffffff80;flex-shrink:0}.footer-left{display:flex;align-items:center;gap:16px}.active-name{font-size:.92rem;font-weight:600;color:var(--text-main)}.btn-rename{font-size:.82rem;color:var(--text-sub);padding:6px 14px;border:1px solid rgba(109,89,122,.25);border-radius:8px;background:transparent;cursor:pointer;font-family:inherit;transition:all .2s}.btn-rename:hover{color:var(--accent);border-color:var(--accent);background:#f4a2610f}.btn-danger{font-size:.82rem;color:#c0392b;padding:6px 14px;border:1px solid rgba(192,57,43,.35);border-radius:8px;background:transparent;cursor:pointer;font-family:inherit;transition:all .2s}.btn-danger:hover{background:#c0392b14;border-color:#c0392b}.footer-right{display:flex;align-items:center;gap:12px}.btn-save{font-size:.9rem;font-weight:600;padding:9px 28px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-btn);cursor:pointer;font-family:inherit;transition:all var(--transition)}.btn-save:hover:not(:disabled){opacity:.88;transform:translateY(-1px);box-shadow:0 4px 12px #f4a26159}.btn-save:disabled{opacity:.38;cursor:not-allowed;transform:none}@keyframes persona-pulse{0%{box-shadow:0 0 #f4a26180}70%{box-shadow:0 0 0 8px #f4a26100}to{box-shadow:0 0 #f4a26100}}.btn-save.pulse{animation:persona-pulse 2s infinite}.sk-tab{height:18px;margin:16px 8px;border-radius:4px;display:inline-block}.sk-title{width:100px;height:18px;margin-bottom:4px}.sk-textarea{width:100%;border-radius:10px}@media screen and (max-width:767px){.persona-body{flex-direction:column}.persona-editor{width:100%;border-right:none;border-bottom:1px solid rgba(109,89,122,.08);padding:16px}.persona-preview{width:100%;position:static;max-height:none;padding:16px;margin-top:20px}.persona-preview .preview-header{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-shrink:0}.persona-preview .preview-header .section-title{font-size:.85rem;margin:0;white-space:nowrap;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.persona-preview .preview-header .copy-btn{flex-shrink:0}.persona-footer{flex-direction:column;align-items:stretch;padding:16px 16px 40px;gap:0}.footer-left{display:flex;align-items:center;justify-content:space-between;width:100%;flex-wrap:nowrap;gap:8px}.footer-left .active-name{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.footer-left .btn-rename{margin-left:auto;flex-shrink:0}.footer-left .btn-danger{flex-shrink:0}.footer-right{width:100%;margin-top:15px;justify-content:stretch}.footer-right .btn-save{width:100%;box-sizing:border-box}}.memory-container{width:100%;max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:20px;height:calc(100vh - 120px);min-height:0;overflow:hidden;box-sizing:border-box}.memory-tabs-scroll{display:contents}.memory-tabs{flex-shrink:0;display:flex;flex-wrap:wrap;gap:8px;padding-bottom:4px;border-bottom:1px solid rgba(244,162,97,.2)}.memory-content-scroll-area{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable}.memory-tabs.skeleton-tabs{border-bottom:none;align-items:center}.memory-tabs button.memory-tab{-moz-appearance:none;appearance:none;-webkit-appearance:none;margin:0;padding:10px 18px;border:2px dashed rgba(244,162,97,.32);border-radius:var(--radius-btn);background:#ffffff80;color:var(--text-sub);font-size:.95rem;font-weight:500;cursor:pointer;line-height:1.25;transition:color var(--transition),border-color var(--transition),background var(--transition),box-shadow var(--transition),border-style .2s ease}.memory-tabs button.memory-tab:hover{color:var(--text-main);border-color:#f4a2618c;background:#ffffffb8}.memory-tabs button.memory-tab.active{color:var(--accent);border-style:solid;border-color:var(--accent);border-width:2px;background:#f4a26124;font-weight:600;box-shadow:0 2px 10px #f4a2611f}.memory-tabs button.memory-tab:focus{outline:none}.memory-tabs button.memory-tab:focus-visible{outline:none;box-shadow:0 0 0 3px #f4a26159}.memory-tabs button.memory-tab.active:focus-visible{box-shadow:0 0 0 3px #f4a26159,0 2px 10px #f4a2611f}.tab-loading{padding:24px;text-align:center;color:var(--text-sub);font-size:.95rem}.memory-tab-header{display:flex;justify-content:space-between;align-items:center;min-height:48px;margin-top:24px;margin-bottom:24px}h2.memory-tab-header__title,.memory-tab-header__title{display:inline-flex;align-items:center;gap:.35em;margin:0;padding:0;font-size:1.25rem;font-weight:600;color:var(--text-main);font-family:Lora,Noto Sans SC,serif;line-height:1}.memory-tab-header__title h2{margin:0;padding:0;line-height:1}.memory-tab-header__title-text{line-height:1.25}.memory-tab-header__emoji{line-height:1;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.memory-tab-header__actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.memory-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}@media(max-width:900px){.memory-cards-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.memory-cards-grid{grid-template-columns:1fr}}.memory-card{border:var(--border-dashed);border-radius:var(--radius-card);background:var(--card-bg);backdrop-filter:var(--card-blur);-webkit-backdrop-filter:var(--card-blur);box-shadow:var(--shadow-card);padding:20px;transition:transform var(--transition),box-shadow var(--transition);position:relative;min-height:200px}.memory-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #6d597a1a}.memory-card.empty{border-style:dashed;border-color:#f4a26180;background:#fff6}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid rgba(244,162,97,.1)}.card-title{font-weight:600;color:var(--text-main);font-size:1.1rem}.card-actions{display:flex;gap:8px}.card-content{color:var(--text-main);font-size:.95rem;line-height:1.5;margin-bottom:16px;max-height:120px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical}.card-content.empty{color:var(--text-sub);font-style:italic;text-align:center;padding:24px 0}.card-footer{position:absolute;bottom:16px;left:20px;right:20px;display:flex;justify-content:space-between;align-items:center}.card-timestamp{font-size:.8rem;color:var(--text-sub)}.longterm-header{display:flex;gap:16px;margin-bottom:24px;align-items:center}.search-input{flex:1;padding:12px 16px;border:var(--border-dashed);border-radius:var(--radius-btn);background:var(--card-bg);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);color:var(--text-main);font-size:.95rem;transition:border-color var(--transition)}.search-input:focus{outline:none;border-color:var(--accent)}.add-button{padding:12px 20px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-btn);font-weight:500;cursor:pointer;transition:opacity var(--transition);white-space:nowrap}.add-button:hover{opacity:.9}.memory-list{display:flex;flex-direction:column;gap:16px}.memory-item{border:var(--border-dashed);border-radius:var(--radius-card);background:var(--card-bg);backdrop-filter:var(--card-blur);-webkit-backdrop-filter:var(--card-blur);padding:20px;transition:border-color var(--transition)}.memory-item:hover{border-color:#f4a26180}.memory-summary{color:var(--text-main);font-size:.95rem;line-height:1.5;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.memory-meta{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;color:var(--text-sub)}.memory-orphan-hint{font-size:.82rem;color:#c97b2e;margin-bottom:8px;padding:6px 10px;background:#c97b2e1a;border-radius:var(--radius-btn)}.memory-detail-row{display:flex;flex-wrap:wrap;gap:16px;font-size:.82rem;color:var(--text-sub);margin-bottom:6px}.memory-detail-row--chroma-stats{gap:10px 12px;align-items:center}.memory-meta-chip{display:inline-flex;align-items:center;padding:5px 12px;border-radius:999px;font-size:.78rem;line-height:1.35;color:#6d597a;background:#6d597a12;border:1px solid rgba(109,89,122,.12);max-width:100%}.memory-detail-row-single{display:block;margin-bottom:10px}.score-badge{display:inline-block;background:#f4a2611f;color:var(--accent);padding:4px 10px;border-radius:12px;font-weight:500;font-size:.9rem}.delete-button{padding:6px 12px;background:#e070701a;color:#e07070;border:1px solid rgba(224,112,112,.3);border-radius:var(--radius-btn);font-size:.85rem;cursor:pointer;transition:all var(--transition)}.delete-button:hover{background:#e0707033}.pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:32px;padding:16px}.pagination-button{padding:8px 16px;border:var(--border-dashed);border-radius:var(--radius-btn);background:var(--card-bg);color:var(--text-main);cursor:pointer;transition:all var(--transition)}.pagination-button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.pagination-info{color:var(--text-sub);font-size:.9rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000004d;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-container{width:100%;max-width:500px;border:var(--border-dashed);border-radius:var(--radius-card);background:var(--card-bg);backdrop-filter:var(--card-blur);-webkit-backdrop-filter:var(--card-blur);box-shadow:var(--shadow-card);padding:32px}.modal-title{font-family:Lora,serif;font-size:1.3rem;color:var(--text-main);margin-bottom:24px;text-align:center}.modal-section{margin-bottom:20px}.modal-label{display:block;color:var(--text-sub);font-size:.9rem;margin-bottom:8px}.current-content{background:#f4a26114;border:1px solid rgba(244,162,97,.2);border-radius:var(--radius-btn);padding:12px 16px;color:var(--text-main);font-size:.95rem;line-height:1.5;max-height:120px;overflow-y:auto}.edit-textarea{width:100%;min-height:150px;padding:12px 16px;border:var(--border-dashed);border-radius:var(--radius-btn);background:var(--card-bg);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);color:var(--text-main);font-size:.95rem;line-height:1.5;resize:vertical;transition:border-color var(--transition);font-family:inherit}.edit-textarea:focus{outline:none;border-color:var(--accent)}.modal-actions{display:flex;gap:12px;margin-top:24px}.modal-button{flex:1;padding:12px;border:none;border-radius:var(--radius-btn);font-weight:500;cursor:pointer;transition:opacity var(--transition)}.modal-button.cancel{background:#6d597a1a;color:var(--text-main)}.modal-button.confirm{background:var(--accent);color:#fff}.modal-button.delete{background:#e07070;color:#fff}.modal-button:hover{opacity:.9}.confirm-modal .modal-actions{margin-top:32px}.confirm-message{text-align:center;color:var(--text-main);line-height:1.6;margin-bottom:8px}.confirm-warning{text-align:center;color:#e07070;font-size:.9rem}.toast-container{position:fixed;top:20px;right:20px;z-index:2000;display:flex;flex-direction:column;gap:10px}.toast{padding:16px 24px;border-radius:var(--radius-btn);background:var(--card-bg);backdrop-filter:var(--card-blur);-webkit-backdrop-filter:var(--card-blur);border:var(--border-dashed);box-shadow:var(--shadow-card);color:var(--text-main);font-size:.95rem;display:flex;align-items:center;gap:12px;animation:slideIn .3s ease-out}.toast.success{border-left:4px solid var(--status-green)}.toast.error{border-left:4px solid #E07070}.toast.info{border-left:4px solid var(--accent)}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.action-button{padding:6px 12px;border:none;border-radius:var(--radius-btn);font-size:.85rem;cursor:pointer;transition:all var(--transition);display:inline-flex;align-items:center;gap:4px}.edit-button{background:#f4a2611a;color:var(--accent)}.edit-button:hover{background:#f4a26133}.delete-card-button{background:#e070701a;color:#e07070}.delete-card-button:hover{background:#e0707033}.skeleton-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.skeleton-card{border:var(--border-dashed);border-radius:var(--radius-card);background:var(--card-bg);padding:20px;display:flex;flex-direction:column;gap:12px}.skeleton-line{height:16px;background:linear-gradient(90deg,#f4a2611a 25%,#f4a26133,#f4a2611a 75%);background-size:200% 100%;border-radius:4px;animation:shimmer 1.5s infinite}.skeleton-line.short{width:60%}.skeleton-line.medium{width:80%}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.empty-state{text-align:center;padding:48px 24px;color:var(--text-sub)}.empty-state-icon{font-size:3rem;margin-bottom:16px;opacity:.5}.empty-state-text{font-size:1rem}.temporal-item{border:var(--border-dashed);border-radius:var(--radius-card);background:var(--card-bg);backdrop-filter:var(--card-blur);-webkit-backdrop-filter:var(--card-blur);padding:18px 20px}.temporal-item-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.temporal-status-pill{font-size:.8rem;font-weight:600;padding:4px 10px;border-radius:999px}.temporal-status-active{background:#2ea07826;color:var(--status-green, #2ea078)}.temporal-status-expired{background:#6d597a1f;color:var(--text-sub)}.temporal-content{color:var(--text-main);font-size:.95rem;line-height:1.5;margin-bottom:8px}.temporal-action-rule{font-size:.85rem;color:var(--text-sub);line-height:1.45;margin-bottom:8px}.temporal-meta{font-size:.82rem;color:var(--text-sub)}.timeline-list{display:flex;flex-direction:column;gap:14px}.timeline-item{border:var(--border-dashed);border-radius:var(--radius-card);background:var(--card-bg);backdrop-filter:var(--card-blur);-webkit-backdrop-filter:var(--card-blur);padding:16px 20px}.timeline-item-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px}.timeline-time{font-size:.85rem;color:var(--text-sub)}.timeline-type-badge{font-size:.8rem;font-weight:600;padding:3px 10px;border-radius:999px;background:#f4a26124;color:var(--accent)}.timeline-content-text{font-size:.95rem;color:var(--text-main);line-height:1.5}@media screen and (max-width:767px){.memory-container{width:100%;max-width:100%;min-width:0;overflow-x:hidden;box-sizing:border-box;height:auto;min-height:calc(100vh - 120px)}.memory-content-scroll-area{width:100%;max-width:100%;min-width:0;overflow-x:hidden;overflow-y:visible;box-sizing:border-box;scrollbar-gutter:auto}.memory-tabs-scroll{display:block;width:100%;max-width:100%;min-width:0;flex-shrink:0;box-sizing:border-box;overflow:hidden;padding-left:0;padding-right:0}.memory-tabs{width:100%;max-width:100%;min-width:0;flex-wrap:nowrap;box-sizing:border-box;overflow:hidden;padding-left:0;padding-right:0;gap:4px}.memory-tabs button.memory-tab{flex:1;min-width:0;width:25%;padding:8px 2px;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}.memory-card,.memory-item,.temporal-item,.timeline-item{width:100%;box-sizing:border-box;word-break:break-word;white-space:normal}.card-content,.memory-summary,.temporal-content,.timeline-content-text{width:100%;box-sizing:border-box;word-break:break-word;overflow-wrap:anywhere;white-space:normal}.memory-cards-grid,.skeleton-card-grid{grid-template-columns:minmax(0,1fr)}.card-header{min-width:0;gap:8px}.card-header .card-title{min-width:0;flex:1;overflow-wrap:anywhere}.card-actions{flex-shrink:0}.memory-tab-header{min-width:0;flex-wrap:wrap;gap:8px}.memory-tab-header__title{min-width:0;flex:1 1 auto}.longterm-header{min-width:0;flex-wrap:wrap}.longterm-header .search-input{min-width:0}}.history-container{padding:24px;max-width:1200px;width:100%;margin:0 auto;display:flex;flex-direction:column;box-sizing:border-box;min-height:100vh}.filter-bar{background:var(--card-bg);-webkit-backdrop-filter:var(--card-blur);backdrop-filter:var(--card-blur);border:var(--border-card);border-radius:var(--radius-card);padding:24px;margin-bottom:32px;box-shadow:var(--shadow-card)}.filter-controls-row{display:flex;gap:24px;align-items:flex-end;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;justify-content:flex-end;gap:8px;min-width:200px;flex:1}.filter-group:has(.platform-tabs){min-width:0;flex:0 0 auto}.filter-label{color:var(--text-sub);font-size:14px;font-weight:500}.platform-tabs{display:inline-flex;flex-wrap:nowrap;align-items:center;height:44px;max-width:100%;box-sizing:border-box;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;background:#ffffff80;border-radius:var(--radius-btn);padding:4px;border:1px solid rgba(244,162,97,.2)}.platform-tabs::-webkit-scrollbar{display:none}.tab-button{flex:0 0 auto;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;height:100%;min-height:0;padding:0 16px;border:none;background:transparent;color:var(--text-sub);font-weight:500;cursor:pointer;transition:all var(--transition);border-radius:calc(var(--radius-btn) - 4px);white-space:nowrap;box-sizing:border-box}.tab-button:hover{background:#f4a2610d}.tab-button.active{background:#fff;color:var(--accent);box-shadow:0 2px 8px #f4a26126}.tab-button.disabled{opacity:.5;cursor:not-allowed}.history-search-input{width:100%;height:44px;box-sizing:border-box;padding:0 16px;border:1px solid rgba(244,162,97,.3);border-radius:var(--radius-btn);background:#ffffffb3;color:var(--text-main);font-family:Noto Sans SC,sans-serif;font-size:.9rem;transition:all var(--transition);margin:0;display:block}.history-search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #f4a2611a}.date-select{height:44px;width:100%;box-sizing:border-box;padding:0 16px;border:1px solid rgba(244,162,97,.3);border-radius:var(--radius-btn);background:#ffffffb3;color:var(--text-main);font-family:Noto Sans SC,sans-serif;font-size:.9rem;cursor:pointer;margin:0;display:block}.date-range-container{display:flex;gap:12px;align-items:center;margin-top:16px;flex-wrap:wrap}.date-range-container.hidden{display:none}.date-range-sep{color:var(--text-sub);font-size:.9rem;flex-shrink:0}.message-list-container{background:#fffaf88c;backdrop-filter:var(--card-blur);-webkit-backdrop-filter:var(--card-blur);border:1px solid rgba(244,162,97,.12);border-radius:var(--radius-card);padding:24px;margin-bottom:32px;box-shadow:var(--shadow-card);display:flex;flex-direction:column}.history-chat-column{max-width:100%;margin:0 auto;width:100%;box-sizing:border-box;padding-left:0;padding-right:0;display:flex;flex-direction:column}.section-title{font-size:18px;font-weight:600;color:var(--text-main);margin-bottom:24px;padding-left:0;padding-right:0;display:flex;align-items:center;gap:8px}.message-list{display:flex;flex-direction:column;gap:16px;padding-left:0;padding-right:0;width:100%;box-sizing:border-box;flex:1;min-height:400px}.message-row{display:flex;width:100%;justify-content:flex-start;margin-bottom:8px}.message-row.assistant-row{justify-content:flex-start}.message-row.user-row{justify-content:flex-end}.message-bubble{position:relative;display:flex;flex-direction:column;align-items:stretch;width:fit-content;max-width:65%;min-width:200px;flex-shrink:0;padding:16px 20px;word-wrap:break-word;overflow-wrap:break-word;transition:opacity var(--transition);box-sizing:border-box}.message-bubble.user{background:#f4a26161;border:none;border-radius:12px 2px 12px 12px;box-shadow:0 2px 10px #f4a26124}.message-bubble.assistant{background:#ffffffe0;backdrop-filter:var(--card-blur);-webkit-backdrop-filter:var(--card-blur);border:none;border-radius:2px 12px 12px;box-shadow:0 2px 10px #6d597a12}.message-header{display:flex;justify-content:space-between;align-items:center;min-width:0;max-width:100%;gap:10px;margin-bottom:12px;box-sizing:border-box}.message-bubble.assistant .message-header{justify-content:space-between}.message-bubble.user .message-header{justify-content:flex-end;gap:8px}.message-bubble.user .message-header .time-text,.message-bubble.assistant .message-header .time-text{text-align:right}.platform-tag{padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500;flex-shrink:0}.platform-tag.telegram{background:#0088cc1a;color:#0088cce6}.platform-tag.discord{background:#5865f21a;color:#5865f2e6}.time-text{color:var(--text-sub);font-size:12px;flex-shrink:0}.message-content{color:var(--text-main);line-height:1.5;white-space:pre-wrap;min-width:0;max-width:100%;box-sizing:border-box;text-align:left}.highlight-keyword{background:#f4a26159;color:#c96a00;border-radius:3px;padding:0 2px;font-weight:600}.toggle-content-btn{background:none;border:none;color:var(--accent);font-size:14px;font-weight:500;cursor:pointer;padding:4px 8px;margin-top:8px;display:flex;align-items:center;gap:4px;transition:color var(--transition)}.toggle-content-btn:hover{color:#e07b00}.message-bubble.user .toggle-content-btn,.message-bubble.user .toggle-thinking-btn{align-self:flex-end}.thinking-container{margin-top:12px;padding:12px;background:#6d597a0f;border:var(--border-dashed);border-radius:var(--radius-btn);font-family:Courier New,monospace;font-size:14px;line-height:1.5;color:var(--text-main);text-align:left;min-width:0;max-width:100%;box-sizing:border-box}.toggle-thinking-btn{background:none;border:none;color:var(--text-sub);font-size:14px;cursor:pointer;padding:4px 8px;margin-top:8px;display:flex;align-items:center;gap:4px;transition:color var(--transition)}.toggle-thinking-btn:hover{color:var(--accent)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:var(--text-sub)}.empty-state-icon{font-size:64px;margin-bottom:16px;opacity:.5}.empty-state-text{font-size:16px;text-align:center}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:32px;padding-top:24px;border-top:1px solid rgba(109,89,122,.06)}.pagination-button{padding:8px 16px;border:1px solid rgba(244,162,97,.3);border-radius:var(--radius-btn);background:#ffffffb3;color:var(--text-main);font-weight:500;cursor:pointer;transition:all var(--transition)}.pagination-button:hover:not(:disabled){background:#f4a2610d;border-color:var(--accent)}.pagination-info{color:var(--text-sub);font-size:14px}.skeleton-loader{display:flex;flex-direction:column;gap:24px}.skeleton-filter{height:100px;border-radius:var(--radius-card);background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite}.skeleton-message{height:120px;border-radius:var(--radius-card);background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite;margin-bottom:16px}@media(max-width:768px){.history-container{padding:16px}.filter-controls-row{display:flex;flex-direction:column;align-items:stretch;gap:16px}.filter-group{min-width:100%;width:100%;box-sizing:border-box}.platform-tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;width:100%;padding:0;overflow-x:hidden;box-sizing:border-box;height:auto}.platform-tabs .tab-button{width:100%;min-width:0;text-align:center;padding:8px 0;font-size:12px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box}.history-search-input,.date-select{width:100%;box-sizing:border-box}.date-range-container{flex-direction:column;width:100%;box-sizing:border-box}.message-list-container{padding:24px 10px}.history-chat-column{max-width:100%;width:100%;box-sizing:border-box}.message-bubble{max-width:85%;width:fit-content}.message-header{display:flex;align-items:center;width:100%;box-sizing:border-box;gap:8px}.message-bubble.assistant .message-header{justify-content:space-between}.message-bubble.user .message-header{flex-direction:row-reverse;justify-content:space-between}.pagination{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:center;align-items:center;width:100%;gap:10px;box-sizing:border-box}.pagination-button{height:auto;padding:6px 12px;flex-shrink:0;white-space:nowrap}.pagination-info{flex-shrink:0;white-space:nowrap;font-size:13px}}.logs-container{width:100%;max-width:1200px;margin:0 auto;padding:24px;display:flex;flex-direction:column;gap:24px;height:calc(100vh - 120px);min-height:0;overflow:hidden;box-sizing:border-box}.toast-container{position:fixed;top:20px;right:20px;z-index:1000;display:flex;flex-direction:column;gap:10px}.toast{padding:12px 20px;border-radius:var(--radius-btn);background:var(--card-bg);-webkit-backdrop-filter:var(--card-blur);backdrop-filter:var(--card-blur);border:var(--border-card);box-shadow:var(--shadow-card);display:flex;align-items:center;gap:10px;animation:slideIn .3s ease}.toast.success{color:var(--status-green);border-left:3px solid var(--status-green)}.toast.error{color:#e07070;border-left:3px solid #E07070}.toast.info{color:var(--text-sub);border-left:3px solid var(--text-sub)}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.filter-bar{flex-shrink:0;background:var(--card-bg);backdrop-filter:var(--card-blur);-webkit-backdrop-filter:var(--card-blur);border:var(--border-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:24px}.filter-row{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:8px;flex:1;min-width:200px}.filter-label{font-size:14px;color:var(--text-sub);font-weight:500}.segmented-buttons{display:flex;background:#6d597a0f;border-radius:var(--radius-btn);padding:4px;gap:4px;height:44px;box-sizing:border-box}.segmented-button{flex:1;padding:0 16px;height:100%;border:none;background:transparent;border-radius:calc(var(--radius-btn) - 4px);font-size:14px;color:var(--text-main);text-align:center;transition:all var(--transition);white-space:nowrap;cursor:pointer;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.segmented-button:hover{background:#6d597a1a}.segmented-button.active{background:#fff;color:var(--text-main);box-shadow:0 2px 8px #6d597a1a}.search-input{padding:0 16px;height:44px;border:1px solid rgba(109,89,122,.1);border-radius:var(--radius-btn);background:#fff;color:var(--text-main);font-size:14px;transition:all var(--transition);box-sizing:border-box}.search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #f4a2611a}.search-input::placeholder{color:var(--text-sub)}.logs-content-scroll-area{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable;border-radius:var(--radius-card)}.logs-list-container{background:var(--card-bg);backdrop-filter:var(--card-blur);-webkit-backdrop-filter:var(--card-blur);border:var(--border-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:24px}.section-title{font-size:1.5rem;color:var(--text-main);margin-bottom:20px;display:flex;align-items:center;gap:8px}.logs-list{display:flex;flex-direction:column;gap:1px}.log-row{display:grid;grid-template-columns:160px 180px 1fr auto;gap:16px;padding:12px 16px;align-items:center;border-bottom:1px solid rgba(109,89,122,.06);transition:background-color var(--transition)}.log-badges{display:flex;align-items:center;gap:8px}.log-row:hover{background-color:#6d597a05}.log-row.error{background-color:#ef444408}.log-row.error:hover{background-color:#ef44440f}.timestamp{font-family:Courier New,monospace;font-size:12px;color:var(--text-sub);white-space:nowrap}.level-tag{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;min-width:60px;white-space:nowrap;border:none}.level-tag.error{background-color:#fee2e2;color:#ef4444}.level-tag.warning{background-color:#ffedd5;color:#f97316}.level-tag.info{background-color:#e0f2fe;color:#0ea5e9}.level-tag.debug{background-color:#f3f4f6;color:#4b5563}.level-tag.critical{background-color:#fecaca;color:#dc2626}.platform-tag{display:inline-flex;align-items:center;justify-content:center;padding:3px 9px;border-radius:6px;font-size:11px;font-weight:500;min-width:60px;white-space:nowrap;background-color:transparent;border:1px solid #e5e7eb;color:#6b7280}.log-message{font-size:14px;color:var(--text-main);line-height:1.5;word-break:break-word}.expand-button{padding:4px 12px;border-radius:var(--radius-btn);font-size:12px;color:var(--text-sub);background:#6d597a0f;transition:all var(--transition);white-space:nowrap}.expand-button:hover{background:#6d597a1a;color:var(--text-main)}.stack-trace{grid-column:1 / -1;padding:16px;margin-top:8px;background-color:#e070700f;border:1px dashed rgba(224,112,112,.3);border-radius:var(--radius-btn);font-family:Courier New,monospace;font-size:12px;color:#e07070;line-height:1.6;white-space:pre-wrap;word-break:break-all}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;text-align:center}.empty-state-icon{font-size:48px;margin-bottom:16px;opacity:.5}.empty-state-text{font-size:16px;color:var(--text-sub)}.skeleton-loader{display:flex;flex-direction:column;gap:24px;height:100%}.skeleton-filter{height:100px;flex-shrink:0;background:linear-gradient(90deg,#6d597a0d 25%,#6d597a1a,#6d597a0d 75%);background-size:200% 100%;animation:loading 1.5s infinite;border-radius:var(--radius-card)}.skeleton-log-row{height:60px;background:linear-gradient(90deg,#6d597a0d 25%,#6d597a1a,#6d597a0d 75%);background-size:200% 100%;animation:loading 1.5s infinite;border-radius:var(--radius-btn)}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:24px;padding-top:24px;border-top:1px solid rgba(109,89,122,.06)}.pagination-button{padding:8px 16px;border-radius:var(--radius-btn);background:#6d597a0f;color:var(--text-main);font-size:14px;transition:all var(--transition)}.pagination-button:hover:not(:disabled){background:#6d597a1a}.pagination-button:disabled{opacity:.5;cursor:not-allowed}.pagination-info{font-size:14px;color:var(--text-sub)}@media(max-width:1024px){.log-row{grid-template-columns:140px 160px 1fr auto;gap:12px}}@media(max-width:768px){.logs-container{padding:16px 16px 80px;height:auto!important;max-height:none!important;overflow-y:visible!important}.filter-bar{width:100%;overflow:hidden;box-sizing:border-box;padding:16px}.filter-row{flex-direction:column;gap:16px;width:100%;box-sizing:border-box}.filter-group{min-width:100%;width:100%;box-sizing:border-box}.segmented-buttons{display:flex;flex-wrap:nowrap;width:100%;justify-content:space-between;gap:4px;box-sizing:border-box;overflow:hidden;padding:4px}.segmented-button{flex:1;min-width:0;text-align:center;padding:6px 0;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;justify-content:center}.search-input{width:100%;min-width:0;box-sizing:border-box;min-height:44px;padding:8px 12px}.logs-content-scroll-area{height:auto!important;max-height:none!important;overflow-y:visible!important}.log-row{grid-template-columns:1fr;gap:8px;padding:16px}.timestamp{justify-self:start;margin-bottom:2px}.log-badges{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px;margin:4px 0 6px}.expand-button{justify-self:end;margin-top:8px}.pagination{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:center;align-items:center;width:100%;gap:10px;box-sizing:border-box}.pagination-button{height:auto;padding:6px 12px;flex-shrink:0;white-space:nowrap}.pagination-info{flex-shrink:0;white-space:nowrap;font-size:13px}}.config-container{width:100%;max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:24px}.config-card{border:var(--border-dashed);border-radius:var(--radius-card);background:var(--card-bg);backdrop-filter:var(--card-blur);-webkit-backdrop-filter:var(--card-blur);box-shadow:var(--shadow-card);padding:32px}.config-card-title{font-family:Lora,serif;font-size:1.4rem;color:var(--text-main);margin-bottom:6px}.config-card-subtitle{font-size:.9rem;color:var(--text-sub);margin-bottom:28px}.config-divider{border:none;border-top:var(--border-dashed);margin:0}.config-item{display:flex;justify-content:space-between;align-items:center;padding:20px 0;gap:24px}.config-info{flex:1;min-width:0}.config-name{font-weight:600;font-size:.95rem;color:var(--text-main);margin-bottom:4px}.config-desc{font-size:.85rem;color:var(--text-sub);line-height:1.4}.config-hint{margin-top:6px;font-size:.78rem;line-height:1.45;color:var(--text-sub);opacity:.72}.config-controls{display:flex;align-items:center;gap:12px;flex-shrink:0}.config-slider{width:180px;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#f4a26133;border-radius:3px;outline:none;cursor:pointer;transition:background var(--transition);touch-action:pan-y}.config-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;background:var(--accent);cursor:pointer;box-shadow:0 2px 6px #f4a26166;transition:transform var(--transition),box-shadow var(--transition)}.config-slider::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 2px 12px #f4a26180}.config-slider::-moz-range-thumb{width:24px;height:24px;border:none;border-radius:50%;background:var(--accent);cursor:pointer;box-shadow:0 2px 6px #f4a26166}.config-number-wrapper{display:flex;align-items:center;background:#fff9;border:var(--border-dashed);border-radius:var(--radius-btn);transition:border-color var(--transition);overflow:hidden}.config-number-wrapper:focus-within{border-color:var(--accent)}.config-stepper-btn{width:32px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-main);font-size:1.2rem;cursor:pointer;transition:background var(--transition);touch-action:manipulation}.config-stepper-btn:disabled{opacity:.3;cursor:not-allowed}.config-stepper-btn:hover:not(:disabled){background:#f4a2611a;color:var(--accent)}.config-stepper-btn:active:not(:disabled){background:#f4a26133}.config-number-input{width:48px;padding:8px 0;border:none;background:transparent;color:var(--text-main);font-size:.95rem;font-weight:500;text-align:center;-moz-appearance:textfield}.config-number-input::-webkit-inner-spin-button,.config-number-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.config-number-input:focus{outline:none}.config-stepper-btn:focus{outline:none}.config-footer{margin-top:28px;padding-top:22px;border-top:1px solid rgba(109,89,122,.1)}.config-footer-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;border-radius:12px;background:#ffffff73;border:1px solid rgba(109,89,122,.1);box-shadow:0 2px 12px #6d597a0d}.config-footer-bar--skeleton{align-items:center}.config-footer-left{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}.config-footer-saved-label{font-size:.78rem;font-weight:500;color:var(--text-sub);letter-spacing:.02em}.config-footer-saved-time{font-size:1.15rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--text-main);line-height:1.2}.config-footer-right{flex-shrink:0}.config-footer-actions{display:flex;flex-direction:row;align-items:center;gap:12px}.config-reset-wrap{position:relative;display:inline-flex}.config-reset-tooltip{position:absolute;left:50%;right:auto;bottom:calc(100% + 8px);width:max-content;max-width:calc(100vw - 24px);padding:6px 12px;font-size:.72rem;line-height:1.4;color:var(--text-sub);text-align:center;white-space:nowrap;background:#fffcf8fa;border:1px solid rgba(109,89,122,.14);border-radius:8px;box-shadow:0 6px 20px #6d597a1f;opacity:0;visibility:hidden;transform:translate(-50%,6px);transition:opacity .2s ease,transform .2s ease,visibility .2s;z-index:20;pointer-events:none}.config-reset-wrap:hover .config-reset-tooltip,.config-reset-wrap:focus-within .config-reset-tooltip{opacity:1;visibility:visible;transform:translate(-50%)}.config-btn-secondary{padding:10px 20px;border:1px solid rgba(109,89,122,.22);border-radius:var(--radius-btn);background:#6d597a14;color:var(--text-main);font-size:.9rem;font-weight:500;cursor:pointer;font-family:inherit;transition:background var(--transition),border-color var(--transition),box-shadow var(--transition),transform .15s ease}.config-btn-secondary:hover:not(:disabled){background:#6d597a26;border-color:#6d597a66}.config-btn-secondary:active:not(:disabled){transform:translateY(1px)}.config-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.config-btn-footer-secondary{padding:10px 18px;background:transparent;color:var(--text-sub);font-weight:600;font-size:.86rem;border:1px solid rgba(109,89,122,.32);box-shadow:none}.config-btn-footer-secondary:hover:not(:disabled){background:#6d597a0f;color:var(--text-main);border-color:#6d597a73;box-shadow:none}.config-btn-primary{padding:10px 24px;border:none;border-radius:var(--radius-btn);background:var(--accent);color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;font-family:inherit;transition:opacity var(--transition),transform .15s ease}.config-btn-primary:hover:not(:disabled){opacity:.92}.config-btn-primary:disabled{opacity:.45;cursor:not-allowed}.config-btn-footer-primary{padding:11px 22px;border-radius:10px;font-size:.88rem;font-weight:700;letter-spacing:.03em;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.18);background:linear-gradient(180deg,#e07a2e,#c45d18 48%,#b85412);box-shadow:0 3px #8b3e0859,0 8px 24px #c45d1861,inset 0 1px #ffffff38}.config-btn-footer-primary:hover:not(:disabled){opacity:1;filter:brightness(1.06);box-shadow:0 3px #8b3e0866,0 10px 28px #c45d1873,inset 0 1px #ffffff47;transform:translateY(-1px)}.config-btn-footer-primary:active:not(:disabled){transform:translateY(1px);box-shadow:0 1px #8b3e0866,0 4px 16px #c45d184d,inset 0 1px #fff3}.config-btn-footer-primary:disabled{opacity:.4;cursor:not-allowed;filter:grayscale(.2);text-shadow:none;box-shadow:none;transform:none}@media(max-width:767px){.config-footer-bar{flex-direction:column;align-items:stretch;gap:18px}.config-footer-left{align-items:center;text-align:center}.config-footer-actions{flex-direction:column-reverse;width:100%;gap:10px}.config-reset-wrap{width:100%;justify-content:center}.config-btn-footer-secondary,.config-btn-footer-primary{width:100%;text-align:center}.config-reset-tooltip{left:50%;right:auto;transform:translate(-50%,6px);max-width:calc(100vw - 32px)}.config-reset-wrap:hover .config-reset-tooltip,.config-reset-wrap:focus-within .config-reset-tooltip{transform:translate(-50%)}.config-item{flex-direction:column;align-items:flex-start;gap:12px}.config-info{width:100%;box-sizing:border-box}.config-controls{width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between}.config-skeleton-item{flex-direction:column;align-items:flex-start;gap:12px}.config-skeleton-left,.config-skeleton-right{width:100%;box-sizing:border-box}.config-skeleton-right{justify-content:space-between}}@keyframes config-pulse{0%{box-shadow:0 3px #8b3e0859,0 8px 24px #c45d1861,inset 0 1px #ffffff38,0 0 #e07a2e8c}70%{box-shadow:0 3px #8b3e0859,0 8px 24px #c45d1861,inset 0 1px #ffffff38,0 0 0 14px #e07a2e00}to{box-shadow:0 3px #8b3e0859,0 8px 24px #c45d1861,inset 0 1px #ffffff38,0 0 #e07a2e00}}.config-btn-footer-primary.has-changes:not(:disabled){animation:config-pulse 2s infinite}.config-skeleton-item{display:flex;justify-content:space-between;align-items:center;padding:20px 0;gap:24px}.config-skeleton-left{flex:1;display:flex;flex-direction:column;gap:8px}.config-skeleton-right{display:flex;gap:12px;align-items:center;flex-shrink:0}.skeleton-line{height:14px;background:linear-gradient(90deg,#f4a2611a 25%,#f4a26133,#f4a2611a 75%);background-size:200% 100%;border-radius:4px;animation:config-shimmer 1.5s infinite}.skeleton-slider{width:180px;height:6px;border-radius:3px;background:linear-gradient(90deg,#f4a2611a 25%,#f4a26133,#f4a2611a 75%);background-size:200% 100%;animation:config-shimmer 1.5s infinite}.skeleton-number{width:68px;height:34px;border-radius:var(--radius-btn);background:linear-gradient(90deg,#f4a2611a 25%,#f4a26133,#f4a2611a 75%);background-size:200% 100%;animation:config-shimmer 1.5s infinite}@keyframes config-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.config-toast{position:fixed;top:20px;right:20px;z-index:2000;padding:14px 24px;border-radius:var(--radius-btn);background:var(--card-bg);backdrop-filter:var(--card-blur);-webkit-backdrop-filter:var(--card-blur);border:var(--border-dashed);border-left:4px solid var(--status-green);box-shadow:var(--shadow-card);color:var(--text-main);font-size:.95rem;font-weight:500;animation:config-toast-in .3s ease-out}.config-toast.error{border-left-color:#e07070}@keyframes config-toast-in{0%{transform:translate(120%);opacity:0}to{transform:translate(0);opacity:1}}.config-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1500}.config-confirm-box{width:360px;border:var(--border-dashed);border-radius:var(--radius-card);background:var(--card-bg);backdrop-filter:var(--card-blur);-webkit-backdrop-filter:var(--card-blur);box-shadow:var(--shadow-card);padding:32px;text-align:center}.config-confirm-title{font-family:Lora,serif;font-size:1.2rem;color:var(--text-main);margin-bottom:12px}.config-confirm-desc{font-size:.9rem;color:var(--text-sub);margin-bottom:28px;line-height:1.5}.config-confirm-actions{display:flex;gap:12px}.settings-page{width:100%;max-width:900px;display:flex;flex-direction:column;gap:24px}.settings-card{background:var(--card-bg);backdrop-filter:var(--card-blur);-webkit-backdrop-filter:var(--card-blur);border:var(--border-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:28px 32px;display:flex;flex-direction:column;gap:20px}.card-header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.config-tabs{display:flex;align-items:center;gap:8px;padding:4px;background:#6d597a12;border-radius:10px;flex:1;justify-content:center;min-width:0;max-width:320px}.config-tab{flex:1;min-width:0;font-size:.82rem;padding:6px 14px;border-radius:7px;color:var(--text-sub);border:none;background:transparent;cursor:pointer;font-family:inherit;font-weight:500;transition:all .2s;white-space:nowrap}.config-tab:hover{color:var(--text-main)}.config-tab.active{color:var(--text-main);background:#fff;font-weight:600;box-shadow:0 1px 4px #6d597a1f}.card-title{font-size:1rem;font-weight:700;color:var(--text-main);margin:0;letter-spacing:.02em}.btn-add{font-size:.83rem;color:var(--accent);padding:7px 18px;border:1px solid var(--accent);border-radius:var(--radius-btn);background:#f4a2610f;cursor:pointer;font-family:inherit;font-weight:600;transition:all .2s}.btn-add:hover{background:#f4a26124}.empty-tip{font-size:.88rem;color:var(--text-sub);text-align:center;padding:24px 0}.config-list{display:flex;flex-direction:column;gap:10px}.config-row{display:flex;align-items:center;gap:16px;padding:14px 18px;border:1px solid rgba(109,89,122,.1);border-radius:14px;background:#fff6;transition:background .2s,border-color .2s}.config-row.active-row{border-color:#81b29a73;background:#81b29a0f}.config-row:hover{background:#ffffffa6}.cfg-left{display:flex;align-items:center;gap:10px;min-width:140px;flex-shrink:0}.cfg-name{font-size:.92rem;font-weight:600;color:var(--text-main);white-space:nowrap}.tag-active{font-size:.72rem;color:#fff;background:var(--status-green);border-radius:20px;padding:2px 8px;white-space:nowrap;letter-spacing:.02em}.cfg-mid{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.cfg-url{font-size:.82rem;color:var(--text-sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cfg-persona,.cfg-model{font-size:.76rem;color:var(--text-sub);opacity:.75}.cfg-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.btn-activate{font-size:.78rem;color:var(--status-green);padding:5px 12px;border:1px solid rgba(129,178,154,.4);border-radius:8px;background:transparent;cursor:pointer;font-family:inherit;transition:all .2s;white-space:nowrap}.btn-activate:hover{background:#81b29a1a}.btn-edit{font-size:.78rem;color:var(--text-sub);padding:5px 12px;border:1px solid rgba(109,89,122,.2);border-radius:8px;background:transparent;cursor:pointer;font-family:inherit;transition:all .2s}.btn-edit:hover{color:var(--accent);border-color:var(--accent)}.btn-del{font-size:.78rem;color:#c0392b;padding:5px 12px;border:1px solid rgba(192,57,43,.3);border-radius:8px;background:transparent;cursor:pointer;font-family:inherit;transition:all .2s}.btn-del:hover{background:#c0392b14;border-color:#c0392b}.period-tabs{display:flex;gap:4px;background:#6d597a12;border-radius:10px;padding:4px}.period-tab{font-size:.82rem;padding:5px 14px;border-radius:7px;color:var(--text-sub);border:none;background:transparent;cursor:pointer;font-family:inherit;transition:all .2s}.period-tab.active{color:var(--text-main);background:#fff;font-weight:600;box-shadow:0 1px 4px #6d597a1f}.token-nums{display:flex;gap:16px}.token-num-card{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px 12px;border:1px solid rgba(109,89,122,.1);border-radius:14px;background:#ffffff59}.token-num-val{font-size:1.75rem;font-weight:700;color:var(--accent);font-family:Lora,serif;line-height:1}.token-num-label{font-size:.78rem;color:var(--text-sub)}.platform-bars{display:flex;flex-direction:column;gap:12px}.platform-bar-row{display:flex;align-items:center;gap:10px}.platform-label{font-size:.83rem;color:var(--text-sub);width:72px;flex-shrink:0}.bar-track{flex:1;height:8px;background:#6d597a1a;border-radius:4px;overflow:hidden}.bar-fill{height:100%;border-radius:4px;transition:width .6s ease}.platform-val{font-size:.8rem;color:var(--text-main);width:70px;text-align:right;flex-shrink:0}.platform-pct{font-size:.76rem;color:var(--text-sub);width:36px;text-align:right;flex-shrink:0}.token-footer{font-size:.76rem;color:var(--text-sub);text-align:center;opacity:.8}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#503c5a40;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.modal-box{background:#fff;border-radius:20px;box-shadow:0 20px 60px #6d597a2e;width:100%;max-width:520px;display:flex;flex-direction:column;overflow:hidden;animation:modal-in .22s cubic-bezier(.34,1.56,.64,1)}@keyframes modal-in{0%{opacity:0;transform:scale(.93) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 16px;border-bottom:1px solid rgba(109,89,122,.08)}.modal-title{font-size:1rem;font-weight:700;color:var(--text-main);margin:0}.modal-close{font-size:.9rem;color:var(--text-sub);padding:4px 8px;border:none;background:transparent;cursor:pointer;border-radius:6px;transition:all .2s}.modal-close:hover{background:#6d597a14;color:var(--text-main)}.modal-body{padding:20px 24px;display:flex;flex-direction:column;gap:16px;overflow-y:auto;max-height:65vh}.modal-field{display:flex;flex-direction:column;gap:6px}.modal-label{font-size:.82rem;color:var(--text-sub);font-weight:500}.modal-hint{font-size:.76rem;color:var(--text-sub);opacity:.7}.modal-input{width:100%;padding:10px 14px;border:1px solid rgba(109,89,122,.18);border-radius:10px;background:#fffc;color:var(--text-main);font-family:inherit;font-size:.9rem;outline:none;transition:border-color .2s,box-shadow .2s}.modal-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f4a2611f}.modal-input::placeholder{color:var(--text-sub);opacity:.55}.modal-select{width:100%;padding:10px 14px;border:1px solid rgba(109,89,122,.18);border-radius:10px;background:#fffc;color:var(--text-main);font-family:inherit;font-size:.9rem;outline:none;cursor:pointer;transition:border-color .2s}.modal-select:focus{border-color:var(--accent)}.modal-input-wrap{position:relative;display:flex;align-items:center}.modal-input-wrap .modal-input{padding-right:42px}.eye-btn{position:absolute;right:10px;font-size:1rem;padding:0;border:none;background:transparent;cursor:pointer;line-height:1;opacity:.6;transition:opacity .2s}.eye-btn:hover{opacity:1}.modal-model-row{display:flex;gap:8px;align-items:stretch}.modal-model-row .modal-input,.modal-model-row .modal-select{flex:1;min-width:0}.fetch-models-btn{font-size:.78rem;color:var(--text-sub);padding:0 14px;border:1px solid rgba(109,89,122,.22);border-radius:10px;background:#ffffffb3;cursor:pointer;font-family:inherit;white-space:nowrap;transition:all .2s;flex-shrink:0}.fetch-models-btn:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.fetch-models-btn:disabled{opacity:.5;cursor:not-allowed}.fetch-models-btn.loading{border-color:var(--accent);color:var(--accent)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{display:inline-block;animation:spin .8s linear infinite}.clear-models-btn{font-size:.75rem;color:var(--text-sub);background:transparent;border:none;cursor:pointer;padding:2px 0;text-decoration:underline;text-underline-offset:2px;transition:color .2s;width:fit-content}.clear-models-btn:hover{color:var(--accent)}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px 20px;border-top:1px solid rgba(109,89,122,.08)}.modal-btn-cancel{font-size:.88rem;color:var(--text-sub);padding:9px 22px;border:1px solid rgba(109,89,122,.2);border-radius:var(--radius-btn);background:transparent;cursor:pointer;font-family:inherit;transition:all .2s}.modal-btn-cancel:hover{background:#6d597a0f}.modal-btn-save{font-size:.9rem;font-weight:600;padding:9px 28px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-btn);cursor:pointer;font-family:inherit;transition:all .2s}.modal-btn-save:hover:not(:disabled){opacity:.88;transform:translateY(-1px);box-shadow:0 4px 12px #f4a26159}.modal-btn-save:disabled{opacity:.4;cursor:not-allowed;transform:none}@keyframes shimmer{0%{background-position:-400% 0}to{background-position:400% 0}}.sk-block{border-radius:6px;background:linear-gradient(90deg,#6d597a12 25%,#6d597a21,#6d597a12 75%);background-size:400% 100%;animation:shimmer 1.8s infinite}.sk-card{background:var(--card-bg);border:var(--border-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:28px 32px;display:flex;flex-direction:column;gap:14px}.sk-title-bar{width:180px;height:22px}.sk-row{height:52px;border-radius:12px}@media screen and (max-width:767px){.card-header{display:flex;flex-direction:column;align-items:flex-start;gap:16px;width:100%;box-sizing:border-box}.config-tabs{width:100%;max-width:100%}.btn-add{width:100%;text-align:center}.config-row{flex-direction:column;align-items:flex-start;gap:12px;padding:16px}.cfg-left,.cfg-mid{width:100%;min-width:0}.cfg-name,.cfg-url,.cfg-persona,.cfg-model{word-break:break-all;white-space:normal}.cfg-actions{width:100%;justify-content:flex-end;gap:10px;margin-top:4px}.token-nums{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;width:100%;box-sizing:border-box}.token-num-card{padding:16px 10px}.token-num-val{font-size:1.4rem}}.sidebar{position:fixed;left:0;top:0;height:100vh;width:var(--sidebar-width);background:var(--card-bg);backdrop-filter:var(--card-blur);-webkit-backdrop-filter:var(--card-blur);border-right:var(--border-dashed);display:flex;flex-direction:column;padding:20px 12px;transition:width var(--transition),transform var(--transition);z-index:100;overflow:hidden}.sidebar.collapsed{width:var(--sidebar-collapsed-width)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:0 8px;margin-bottom:32px;min-height:40px}.sidebar-logo{font-family:Lora,serif;font-size:1.1rem;font-weight:600;color:var(--accent);white-space:nowrap;overflow:hidden;opacity:1;transition:opacity var(--transition)}.sidebar.collapsed .sidebar-logo{opacity:0}.sidebar-toggle{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:var(--text-main);border-radius:var(--radius-btn);flex-shrink:0}.sidebar-toggle:hover{background:#f4a2611f;color:var(--accent)}.sidebar-nav{display:flex;flex-direction:column;gap:6px;flex:1}.nav-item{display:flex;align-items:center;padding:12px 14px;border-radius:var(--radius-btn);color:var(--text-main);text-decoration:none;transition:all var(--transition);position:relative;overflow:hidden;border:2px solid transparent}.nav-item:hover{background:#f4a26114}.nav-icon{font-size:1.3rem;width:28px;flex-shrink:0;text-align:center;transition:transform var(--transition)}.sidebar.collapsed .nav-icon{width:100%}.nav-text{margin-left:12px;font-size:.95rem;white-space:nowrap;opacity:1;transition:opacity var(--transition)}.sidebar.collapsed .nav-text{opacity:0}.nav-item.active{background:#f4a2611f;color:var(--accent);border:var(--border-dashed)}.nav-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;background:var(--accent);border-radius:0 2px 2px 0}.nav-item.active .nav-icon{transform:scale(1.1)}@media screen and (max-width:767px){.sidebar{transform:translate(-100%);width:180px!important;padding:12px 8px}.sidebar.mobile-open{transform:translate(0)}.sidebar-toggle.desktop-only{display:none}.sidebar.collapsed .sidebar-logo,.sidebar.collapsed .nav-text{opacity:1}.sidebar.collapsed .nav-icon{width:20px}.sidebar-header{margin-bottom:16px;min-height:28px}.sidebar-logo{font-size:.9rem}.nav-item{padding:8px 10px;border-radius:10px}.nav-text{font-size:13px;margin-left:8px}.nav-icon{font-size:1rem;width:20px}}:root{--bg-gradient: linear-gradient(135deg, #FFF0F5 0%, #FFF8DC 50%, #FDF5E6 100%);--card-bg: rgba(255, 255, 255, .65);--card-blur: blur(12px);--text-main: #6D597A;--text-sub: #B5A8B9;--accent: #F4A261;--status-green: #81B29A;--border-card: 2px solid rgba(255, 255, 255, .9);--border-dashed: 2px dashed rgba(244, 162, 97, .3);--radius-card: 20px;--radius-btn: 12px;--shadow-card: 0 10px 30px rgba(109, 89, 122, .05);--sidebar-width: 220px;--sidebar-collapsed-width: 76px;--transition: .4s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;width:100%}body{font-family:Noto Sans SC,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-gradient);background-attachment:fixed;color:var(--text-main);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:Lora,Noto Sans SC,serif}#root{height:100%;width:100%}.app-container{display:flex;min-height:100vh;width:100%}.main-content{flex:1;padding:24px;margin-left:var(--sidebar-width);transition:margin-left var(--transition);min-height:100vh;display:flex;flex-direction:column}.main-content-inner{flex:1;display:flex;align-items:center;justify-content:center;width:100%;min-width:0}.main-content-viewport{flex:1;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;width:100%;max-width:100%;min-width:0;overflow-x:hidden;box-sizing:border-box}.main-content.sidebar-collapsed{margin-left:var(--sidebar-collapsed-width)}.mobile-header{display:none;align-items:center;padding:12px 0;margin-bottom:24px}.mobile-menu-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:1.6rem;color:var(--text-main);border-radius:var(--radius-btn);margin-right:12px}.mobile-logo{font-family:Lora,serif;font-size:1.2rem;font-weight:600;color:var(--accent)}.sidebar-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0006;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:90;opacity:0;visibility:hidden;transition:opacity var(--transition),visibility var(--transition)}.sidebar-overlay.active{opacity:1;visibility:visible}@media screen and (max-width:767px){html,body{overflow-x:hidden;max-width:100%}#root,.app-container{max-width:100%;overflow-x:hidden;min-width:0}.main-content{margin-left:0!important;padding:0;width:100%;max-width:100%;box-sizing:border-box;overflow-x:hidden;min-width:0;min-height:auto}.mobile-header{display:flex;padding:12px 16px;margin-bottom:0;width:100%;max-width:100%;box-sizing:border-box;min-width:0;position:fixed;top:0;left:0;z-index:80;background:var(--bg-gradient);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid rgba(109,89,122,.1)}.main-content-inner{min-width:0;max-width:100%;width:100%;align-self:stretch;justify-content:flex-start;align-items:stretch;padding:64px 12px 8px;box-sizing:border-box}.mobile-menu-btn{width:28px;height:28px;font-size:18px;margin-right:8px}.mobile-logo{font-size:16px}.card{padding:20px;border-radius:16px}}.card{background:var(--card-bg);backdrop-filter:var(--card-blur);-webkit-backdrop-filter:var(--card-blur);border:var(--border-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:32px;width:100%;max-width:600px}.placeholder-card{text-align:center}.placeholder-card h1{font-size:1.8rem;color:var(--text-main);margin-bottom:12px}.placeholder-card p{color:var(--text-sub);font-size:1rem}a{color:var(--accent);text-decoration:none;transition:opacity var(--transition)}a:hover{opacity:.8}button{cursor:pointer;border:none;background:transparent;font-family:inherit;transition:all var(--transition)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--text-sub);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-main)}
