:root .char-index-0{--char-index:0}:root .char-index-1{--char-index:1}:root .char-index-2{--char-index:2}:root .char-index-3{--char-index:3}:root .char-index-4{--char-index:4}:root .char-index-5{--char-index:5}:root .char-index-6{--char-index:6}:root .char-index-7{--char-index:7}:root .char-index-8{--char-index:8}:root .char-index-9{--char-index:9}:root .char-index-10{--char-index:10}:root .char-index-11{--char-index:11}:root .char-index-12{--char-index:12}:root .char-total-12{--char-total:12}:root .word-index-0{--word-index:0}.char{white-space:pre}.social-links i{font-size:1.5rem}.leetcode-icon-top{margin-bottom:.5rem;margin-left:.1rem}.leetcode-icon-bottom,.leetcode-icon-top{width:1.3rem;height:1.3rem;display:inline-block;vertical-align:middle}.leetcode-icon-bottom{margin-bottom:1rem;margin-left:0}@media (max-width:768px){.social-links i{font-size:1.2rem}.leetcode-icon-top{margin-left:.1rem}.leetcode-icon-bottom,.leetcode-icon-top{width:1rem;height:1rem;margin-bottom:.3rem}.leetcode-icon-bottom{margin-left:0}}@media (max-width:480px){.social-links i{font-size:1rem}.leetcode-icon-top{width:.9rem;height:.9rem;margin-top:.1rem;margin-left:.1rem}.leetcode-icon-bottom{width:.9rem;height:.9rem;margin-bottom:.2rem;margin-left:0}}.leetcode-icon-bottom.custom-leetcode-icon{display:inline-block;vertical-align:middle;background-repeat:no-repeat;background-position:50%;background-size:contain}body.light-skin .leetcode-icon-bottom.custom-leetcode-icon{background-image:url(https://iyvhmpdfrnznxgyvvkvx.supabase.co/storage/v1/object/public/Page/leetcode.861x1024.png)}body.dark-skin .leetcode-icon-bottom.custom-leetcode-icon{background-image:url(https://iyvhmpdfrnznxgyvvkvx.supabase.co/storage/v1/object/public/Page/pngaaa.com-6749427.png)}@keyframes verticalGradient{0%{background-position:0 0}50%{background-position:0 100%}to{background-position:0 0}}.ReactModal__Overlay{opacity:0;transition:opacity .3s ease-in-out}.ReactModal__Overlay--after-open{opacity:1}.ReactModal__Overlay--before-close{opacity:0}.ReactModal__Content{transform:scale(.8);transition:transform .3s ease-in-out}.ReactModal__Content--after-open{transform:scale(1)}.ReactModal__Content--before-close{transform:scale(.8)}.slide:hover>div img{transform:scale(1.05);filter:brightness(1.1)}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.slide>div:last-child{animation:pulse 2s infinite}.cv-page{max-width:920px;margin:0 auto;padding:40px 0 80px;color:#1f2937;box-sizing:border-box}.cv-header{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;justify-content:space-between;margin-bottom:28px;padding-bottom:18px;border-bottom:1px solid #e5e7eb}.cv-title{font-size:2.4rem;margin:0 0 6px;letter-spacing:-.01em}.cv-meta{margin:0;color:#6b7280;font-size:.9rem}.cv-header-actions{display:flex;flex-wrap:wrap;gap:8px}.cv-editor-actions .btn,.cv-header-actions .btn{padding:8px 18px;font-size:.9rem;border-radius:6px;cursor:pointer;border:1px solid #2563eb;background:#2563eb;color:#fff;text-decoration:none;display:inline-block;font-weight:500;transition:background .15s ease,color .15s ease,border-color .15s ease}.cv-editor-actions .btn:hover,.cv-header-actions .btn:hover{background:#1d4ed8;border-color:#1d4ed8;color:#fff}.cv-editor-actions .btn.btn-ghost,.cv-header-actions .btn.btn-ghost{background:#fff;color:#2563eb;border-color:#2563eb}.cv-editor-actions .btn.btn-ghost:hover,.cv-header-actions .btn.btn-ghost:hover{background:#eff6ff;color:#1d4ed8;border-color:#1d4ed8}.cv-editor-actions .btn:disabled,.cv-header-actions .btn:disabled{opacity:.55;cursor:not-allowed}.cv-export-toolbar{display:flex;justify-content:flex-end;margin-bottom:8px}.cv-export-wrap{position:relative;display:inline-block}.cv-export-trigger{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:transparent;border:1px solid #d1d5db;border-radius:6px;font-size:.85rem;color:#374151;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}.cv-export-trigger:hover{background:#f3f4f6;border-color:#9ca3af}.cv-export-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:9999;min-width:190px;margin:0;padding:4px 0;list-style:none;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.12)}.cv-export-menu li button{display:block;width:100%;padding:9px 16px;background:none;border:none;text-align:left;font-size:.9rem;color:#374151;cursor:pointer;white-space:nowrap}.cv-export-menu li button:hover{background:#f3f4f6;color:#111827}.cv-status{margin:12px 0;padding:10px 14px;background:#fef3c7;border:1px solid #fde68a;border-radius:6px;color:#92400e;font-size:.92rem}.cv-editor{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px}.cv-editor .ql-container.ql-snow,.cv-editor .ql-toolbar.ql-snow{border-color:#e5e7eb}.cv-editor .ql-container{min-height:420px;font-size:1rem}.cv-editor-actions{display:flex;gap:10px;margin-top:14px}.cv-content{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:32px 36px;line-height:1.65;font-size:1rem}.cv-content h1,.cv-content h2,.cv-content h3{margin-top:1.2em;margin-bottom:.5em;letter-spacing:-.01em}.cv-content img{max-width:100%;height:auto;border-radius:6px;margin:12px 0}.cv-content a{color:#2563eb;text-decoration:underline}.cv-content ol,.cv-content ul{padding-left:1.4em}.cv-content blockquote{border-left:3px solid #d1d5db;margin:1em 0;padding:.2em 1em;color:#4b5563}.cv-comments{margin-top:48px}.cv-comments-title{font-size:1.4rem;margin:0 0 16px;border-bottom:1px solid #e5e7eb;padding-bottom:8px}.cv-comment-form{display:flex;flex-direction:column;gap:10px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px;margin-bottom:24px}.cv-comment-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}@media (max-width:600px){.cv-comment-row{grid-template-columns:1fr}.cv-content{padding:22px 18px}.cv-title{font-size:1.8rem}.cv-page{padding:20px 0 60px}.cv-header{flex-direction:column;align-items:flex-start;gap:12px}.cv-title{font-size:1.6rem}.cv-profile{flex-wrap:wrap;border-radius:14px;padding:10px 12px;gap:8px}.cv-profile .cv-profile-text{font-size:.8rem;word-break:break-all;flex:1 1;min-width:0}.cv-content{padding:18px 14px;font-size:.95rem}.cv-side{max-height:300px}.cv-add-comment-btn{position:fixed;bottom:72px;left:50%!important;top:auto!important;white-space:nowrap;z-index:9999}.cv-add-comment-btn,.cv-add-comment-btn:hover{transform:translateX(-50%)}.cv-anno-popover{position:fixed;bottom:0;left:0!important;top:auto!important;transform:none;width:100%;max-width:100%;border-radius:18px 18px 0 0;box-shadow:0 -8px 40px rgba(15,23,42,.22);animation:cvSlideUp .2s ease-out}.cv-anno-arrow{display:none}@keyframes cvSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.cv-export-toolbar{justify-content:flex-start}}.cv-comment-form input,.cv-comment-form textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font:inherit;background:#fff;color:#111827}.cv-comment-form textarea{resize:vertical}.cv-comment-form .btn{align-self:flex-start;padding:9px 18px;background:#111827;color:#fff;border:none;border-radius:6px;cursor:pointer}.cv-comment-form .btn:disabled{opacity:.6;cursor:not-allowed}.cv-comment-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.cv-comment{border:1px solid #e5e7eb;border-radius:8px;padding:14px 16px;background:#fff}.cv-comment-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px;font-size:.92rem}.cv-comment-date{color:#6b7280}.cv-comment-body{margin:0;white-space:pre-wrap;line-height:1.55;color:#1f2937}.cv-comment-empty{color:#6b7280;font-style:italic;padding:8px 0}.cv-profile{display:flex;align-items:center;gap:10px;padding:10px 14px;margin:0 0 24px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:999px;font-size:.92rem}.cv-profile .cv-profile-text{color:#1f2937}.cv-profile .muted{color:#6b7280}.cv-link-btn{background:none;border:none;color:#2563eb;font:inherit;cursor:pointer;padding:4px 10px;border-radius:6px;margin-left:auto;transition:background .15s ease}.cv-link-btn:hover{background:#eff6ff;text-decoration:underline}.cv-link-btn.primary{color:#2563eb;font-weight:500}.cv-avatar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#7c3aed;color:#fff;font-weight:600;font-size:.85rem;flex-shrink:0}.cv-avatar.lg{width:36px;height:36px;font-size:.95rem}.cv-avatar.muted{background:#d1d5db;color:#4b5563}.cv-annotation-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:14px 16px;margin-bottom:24px;box-shadow:0 1px 2px rgba(15,23,42,.04);transition:box-shadow .15s ease,border-color .15s ease}.cv-annotation-card.is-focused{border-color:#c7d2fe;box-shadow:0 6px 18px rgba(15,23,42,.08)}.cv-annotation-author{display:flex;align-items:center;gap:10px;margin-bottom:10px}.cv-annotation-name{font-weight:600;color:#1f2937}.cv-annotation-guest{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin-bottom:10px}.cv-annotation-guest input{width:100%;padding:8px 10px;font:inherit;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#111827}@media (max-width:600px){.cv-annotation-guest{grid-template-columns:1fr}}.cv-annotation-input{width:100%;padding:10px 14px;font:inherit;color:#111827;background:#fff;border:1px solid #2563eb;border-radius:999px;outline:none}.cv-annotation-input::-moz-placeholder{color:#6b7280}.cv-annotation-input:-ms-input-placeholder{color:#6b7280}.cv-annotation-input::placeholder{color:#6b7280}.cv-annotation-card:not(.is-focused) .cv-annotation-input{border-color:#d1d5db}.cv-annotation-actions{display:flex;justify-content:flex-end;align-items:center;gap:6px;margin-top:12px}.cv-pill-btn{background:#2563eb;color:#fff;border:1px solid #2563eb;padding:8px 18px;border-radius:6px;font:inherit;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease}.cv-pill-btn:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8}.cv-pill-btn:disabled{cursor:not-allowed;opacity:.5;background:#93c5fd;border-color:#93c5fd}.cv-doc-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-gap:32px;gap:32px;align-items:start;position:relative}@media (max-width:980px){.cv-doc-grid{grid-template-columns:1fr;gap:20px}}.cv-content{-moz-user-select:text;-ms-user-select:text;user-select:text;-webkit-user-select:text;position:relative}.cv-mark{background:linear-gradient(transparent 55%,#fde68a 0);cursor:pointer;padding:0 1px;border-radius:2px;transition:background .18s ease,box-shadow .18s ease,color .18s ease}.cv-mark:hover{background:linear-gradient(transparent,#fcd34d)}.cv-mark.is-active{background:linear-gradient(transparent,#fbbf24);box-shadow:0 0 0 2px rgba(245,158,11,.35),0 4px 10px rgba(245,158,11,.18);color:#1f2937;animation:cvPulse .6s ease-out}@keyframes cvPulse{0%{box-shadow:0 0 0 0 rgba(245,158,11,.55)}to{box-shadow:0 0 0 2px rgba(245,158,11,.35),0 4px 10px rgba(245,158,11,.18)}}.cv-side{position:sticky;top:16px;max-height:calc(100vh - 32px);display:flex;flex-direction:column;background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:16px}@media (max-width:980px){.cv-side{position:static;max-height:none}}.cv-side-head{margin:0 0 12px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.cv-side-title{font-size:1.05rem;margin:0 0 4px;color:#0f172a;font-weight:600}.cv-side-hint{font-size:.82rem;color:#6b7280;margin:0}.cv-side-list{list-style:none;margin:0;display:flex;flex-direction:column;gap:10px;overflow-y:auto;padding:0 4px 0 0;scrollbar-width:thin}.cv-side-list::-webkit-scrollbar{width:6px}.cv-side-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.cv-side-empty{color:#6b7280;font-style:italic;padding:14px;border:1px dashed #cbd5e1;border-radius:10px;background:#fff;font-size:.88rem;text-align:center}.cv-side-card{background:#fff;border:1px solid #e5e7eb;border-left:3px solid transparent;border-radius:10px;padding:12px 14px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;box-shadow:0 1px 2px rgba(15,23,42,.04);position:relative}.cv-side-card:hover{border-color:#cbd5e1 #cbd5e1 #cbd5e1 #94a3b8;transform:translateY(-1px);box-shadow:0 4px 12px rgba(15,23,42,.06)}.cv-side-card.is-active{border-color:#fbbf24 #fbbf24 #fbbf24 #f59e0b;background:#fffbeb;box-shadow:0 6px 18px rgba(245,158,11,.18)}.cv-side-card--orphan{cursor:default;opacity:.7}.cv-side-card--orphan:after{content:"anchor lost";position:absolute;top:8px;right:10px;font-size:.7rem;color:#9ca3af;font-style:italic}.cv-side-author{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:.9rem;min-width:0}.cv-side-author-text{flex:1 1;min-width:0;overflow:hidden}.cv-side-author strong{display:block;color:#0f172a;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cv-side-date{color:#6b7280;font-size:.74rem;margin-top:2px}.cv-side-quote{margin:8px 0;padding:6px 10px;border-left:3px solid #fbbf24;background:#fffbeb;color:#4b5563;font-style:italic;font-size:.84rem;line-height:1.45;border-radius:0 6px 6px 0;white-space:pre-wrap;max-height:80px;overflow:auto}.cv-side-body{margin:0;color:#1f2937;font-size:.92rem;line-height:1.55;white-space:pre-wrap}.cv-side-actions{display:none}.cv-side-delete{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;background:#fef2f2;border:1px solid #fecaca;color:#dc2626;cursor:pointer;border-radius:6px;opacity:1;padding:0;transition:background .15s ease,color .15s ease,border-color .15s ease}.cv-side-delete svg{width:16px!important;height:16px!important;display:block!important;stroke:currentColor!important;fill:none!important;stroke-width:2!important;pointer-events:none}.cv-side-delete:hover{background:#dc2626;color:#fff;border-color:#dc2626}.cv-side-delete:hover svg{stroke:#fff!important}.cv-add-comment-btn{position:absolute;transform:translate(-50%,-100%);z-index:50;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:none;background:linear-gradient(135deg,#1f2937,#0f172a);color:#fff;font:inherit;font-size:.85rem;font-weight:500;cursor:pointer;box-shadow:0 8px 24px rgba(15,23,42,.3);animation:cvFadeIn .14s ease-out}.cv-add-comment-btn:hover{background:linear-gradient(135deg,#111827,#000);transform:translate(-50%,calc(-100% - 2px))}.cv-add-comment-icon{color:#fbbf24;flex-shrink:0}.cv-add-comment-label{letter-spacing:.01em}.cv-add-comment-tail{position:absolute;bottom:-5px;left:50%;transform:translateX(-50%) rotate(45deg);width:10px;height:10px;background:#0f172a;border-radius:0 0 2px 0}.cv-anno-popover{transform:translateX(-50%);z-index:60;width:min(420px,94vw);border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 24px 60px rgba(15,23,42,.24),0 4px 12px rgba(15,23,42,.06);padding:14px 16px 12px;display:flex;flex-direction:column;gap:12px;animation:cvFadeIn .16s ease-out}.cv-anno-arrow,.cv-anno-popover{position:absolute;background:#fff}.cv-anno-arrow{top:-7px;left:50%;transform:translateX(-50%) rotate(45deg);width:12px;height:12px;border-top:1px solid #e5e7eb;border-left:1px solid #e5e7eb;border-radius:2px}.cv-anno-header{justify-content:space-between;gap:8px}.cv-anno-author,.cv-anno-header{display:flex;align-items:center;min-width:0}.cv-anno-author{gap:10px;flex:1 1}.cv-anno-avatar{width:34px;height:34px;font-size:.95rem;flex-shrink:0}.cv-anno-author-text{flex:1 1;min-width:0;overflow:hidden}.cv-anno-name{font-weight:600;color:#0f172a;font-size:.95rem;line-height:1.2}.cv-anno-name,.cv-anno-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cv-anno-sub{font-size:.76rem;color:#6b7280;margin-top:2px}.cv-anno-close{background:transparent;border:none;font-size:1.5rem;line-height:1;color:#9ca3af;cursor:pointer;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;flex-shrink:0;transition:background .15s ease,color .15s ease}.cv-anno-close:hover{background:#f3f4f6;color:#1f2937}.cv-anno-quote:after,.cv-anno-quote:before,.cv-side-quote:after,.cv-side-quote:before{content:none!important;display:none!important}.cv-anno-quote{margin:0;padding:8px 12px;border-left:3px solid #fbbf24;background:linear-gradient(90deg,#fffbeb,#fff);color:#4b5563;font-style:italic;font-size:.85rem;line-height:1.5;border-radius:0 8px 8px 0;white-space:pre-wrap;max-height:110px;overflow:auto}.cv-anno-guest{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}@media (max-width:480px){.cv-anno-guest{grid-template-columns:1fr}}.cv-anno-guest input,.cv-anno-input{width:100%;padding:9px 12px;font:inherit;font-size:.9rem;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#111827;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.cv-anno-input{resize:vertical;min-height:96px;line-height:1.55}.cv-anno-guest input:focus,.cv-anno-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.15)}.cv-anno-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding-top:6px;border-top:1px solid #f1f5f9;margin-top:2px}.cv-anno-hint{margin-right:auto;font-size:.7rem;color:#9ca3af;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.02em}@keyframes cvFadeIn{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.cv-add-comment-btn{animation-name:cvPillIn}@keyframes cvPillIn{0%{opacity:0;transform:translate(-50%,calc(-100% + 6px))}to{opacity:1;transform:translate(-50%,-100%)}}body.dark-skin .cv-page{color:#e5e7eb}body.dark-skin .cv-title{color:#f1f5f9}body.dark-skin .cv-meta,body.dark-skin .cv-profile-text,body.dark-skin .cv-side-date,body.dark-skin .cv-side-hint{color:#94a3b8}body.dark-skin .cv-header{border-bottom-color:#334155}body.dark-skin .cv-profile{background:#0f172a;border-color:#334155}body.dark-skin .cv-status{background:#1e293b;border-color:#334155;color:#e5e7eb}body.dark-skin .cv-content{background:#0f172a;border-color:#334155;color:#e5e7eb}body.dark-skin .cv-content h1,body.dark-skin .cv-content h2,body.dark-skin .cv-content h3,body.dark-skin .cv-content h4,body.dark-skin .cv-content strong{color:#f1f5f9}body.dark-skin .cv-content a{color:#60a5fa}body.dark-skin .cv-side{background:#0b1220;border-color:#334155}body.dark-skin .cv-side-title{color:#f1f5f9}body.dark-skin .cv-side-card{background:#0f172a;border-color:#334155;box-shadow:0 1px 2px rgba(0,0,0,.4)}body.dark-skin .cv-side-card:hover{border-color:#475569 #475569 #475569 #64748b;box-shadow:0 4px 12px rgba(0,0,0,.5)}body.dark-skin .cv-side-card.is-active{background:#1f1b0f;border-color:#d97706 #d97706 #d97706 #f59e0b}body.dark-skin .cv-side-author strong{color:#f1f5f9}body.dark-skin .cv-side-body{color:#e5e7eb}body.dark-skin .cv-side-empty{color:#94a3b8}body.dark-skin .cv-anno-quote,body.dark-skin .cv-side-quote{background:#1f1b0f;color:#fde68a;border-left-color:#f59e0b}body.dark-skin .cv-editor-actions .btn,body.dark-skin .cv-header-actions .btn{background:#3b82f6;border-color:#3b82f6;color:#fff}body.dark-skin .cv-editor-actions .btn:hover,body.dark-skin .cv-header-actions .btn:hover{background:#60a5fa;border-color:#60a5fa}body.dark-skin .cv-editor-actions .btn.btn-ghost,body.dark-skin .cv-header-actions .btn.btn-ghost{background:transparent;color:#93c5fd;border-color:#3b82f6}body.dark-skin .cv-editor-actions .btn.btn-ghost:hover,body.dark-skin .cv-header-actions .btn.btn-ghost:hover{background:rgba(59,130,246,.15);color:#fff;border-color:#60a5fa}body.dark-skin .cv-link-btn{color:#93c5fd}body.dark-skin .cv-link-btn:hover{background:rgba(59,130,246,.15)}body.dark-skin .cv-export-trigger{border-color:#334155;color:#cbd5e1}body.dark-skin .cv-export-trigger:hover{background:#1e293b;border-color:#475569;color:#f1f5f9}body.dark-skin .cv-export-menu{background:#1e293b;border-color:#334155;box-shadow:0 8px 24px rgba(0,0,0,.45)}body.dark-skin .cv-export-menu li button{color:#e2e8f0}body.dark-skin .cv-export-menu li button:hover{background:#334155;color:#f8fafc}body.dark-skin .cv-anno-popover{background:#1e293b;color:#e5e7eb;box-shadow:0 24px 60px rgba(0,0,0,.6)}body.dark-skin .cv-anno-arrow{border-bottom-color:#1e293b}body.dark-skin .cv-anno-name{color:#f1f5f9}body.dark-skin .cv-anno-sub{color:#94a3b8}body.dark-skin .cv-anno-input{background:#0f172a;border-color:#334155;color:#e5e7eb}body.dark-skin .cv-anno-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.3)}body.dark-skin .cv-anno-close{color:#94a3b8}body.dark-skin .cv-anno-close:hover{background:#334155;color:#f1f5f9}body.dark-skin .cv-anno-hint{color:#94a3b8}body.dark-skin .cv-side-delete{background:rgba(220,38,38,.15);border-color:rgba(220,38,38,.4);color:#fca5a5}body.dark-skin .cv-side-delete:hover{background:#dc2626;color:#fff;border-color:#dc2626}body.dark-skin .cv-editor .ql-toolbar{background:#1e293b;border-color:#334155}body.dark-skin .cv-editor .ql-toolbar .ql-stroke{stroke:#e5e7eb}body.dark-skin .cv-editor .ql-toolbar .ql-fill{fill:#e5e7eb}body.dark-skin .cv-editor .ql-toolbar .ql-picker-label{color:#e5e7eb}body.dark-skin .cv-editor .ql-container{background:#0f172a;border-color:#334155;color:#e5e7eb}body.dark-skin .cv-content,body.dark-skin .cv-content *{color:#e5e7eb!important;background-color:transparent!important;border-color:#334155!important}body.dark-skin .cv-content b,body.dark-skin .cv-content h1,body.dark-skin .cv-content h2,body.dark-skin .cv-content h3,body.dark-skin .cv-content h4,body.dark-skin .cv-content h5,body.dark-skin .cv-content h6,body.dark-skin .cv-content strong{color:#f1f5f9!important}body.dark-skin .cv-content a{color:#60a5fa!important}body.dark-skin .cv-content a:hover{color:#93c5fd!important}body.dark-skin .cv-content blockquote{background:#1e293b!important;border-left-color:#475569!important}body.dark-skin .cv-content code,body.dark-skin .cv-content pre{background:#1e293b!important;color:#fde68a!important}body.dark-skin .cv-content hr{border-color:#334155!important}body.dark-skin .cv-content .cv-mark,body.dark-skin .cv-content .cv-mark *{background-color:rgba(251,191,36,.35)!important;color:#fde68a!important}body.dark-skin .cv-side-empty{color:#94a3b8!important;background:#0f172a!important;border-color:#334155!important}.proj-filters{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:40px 0 48px}.proj-filter-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border:1px solid hsla(0,0%,100%,.14);border-radius:50px;background:hsla(0,0%,100%,.05);color:hsla(0,0%,100%,.65);font-size:13px;font-weight:500;letter-spacing:.5px;cursor:pointer;outline:none;transition:all .28s ease;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.proj-filter-btn i{font-size:12px;opacity:.75;transition:opacity .2s ease}.proj-filter-btn:hover{border-color:rgba(255,128,89,.55);color:#fff;background:rgba(255,128,89,.1);transform:translateY(-2px);box-shadow:0 6px 18px rgba(255,128,89,.2)}.proj-filter-btn:hover i{opacity:1}.proj-filter-btn.active{background:linear-gradient(135deg,#ff8059,#ff4d24);border-color:transparent;color:#fff;box-shadow:0 6px 22px rgba(255,128,89,.45);transform:translateY(-2px)}.proj-filter-btn.active i{opacity:1}.proj-grid{margin:0 -14px;align-items:stretch}.proj-col{padding:14px}.proj-card,.proj-col{display:flex;flex-direction:column}.proj-card{background:rgba(22,28,38,.92);border:1px solid hsla(0,0%,100%,.08);border-radius:16px;overflow:hidden;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;height:100%;min-height:390px}.proj-card,.proj-card:hover{text-decoration:none!important}.proj-card:hover{transform:translateY(-7px);box-shadow:0 22px 55px rgba(0,0,0,.45),0 0 0 1px rgba(255,128,89,.28);border-color:rgba(255,128,89,.35)}.proj-card-image{position:relative;overflow:hidden;height:200px;flex-shrink:0}.proj-card-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;transition:transform .5s ease}.proj-card:hover .proj-card-image img{transform:scale(1.07)}.proj-card-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,100,60,.78),rgba(16,30,50,.65));display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .32s ease}.proj-card:hover .proj-card-overlay{opacity:1}.proj-card-cta{display:inline-flex;align-items:center;gap:8px;color:#fff;font-size:14px;font-weight:600;letter-spacing:.6px;background:rgba(0,0,0,.28);padding:10px 22px;border-radius:50px;border:1px solid hsla(0,0%,100%,.28);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.proj-card-badges{position:absolute;top:10px;left:10px;display:flex;flex-wrap:wrap;gap:5px;z-index:2}.proj-badge{display:inline-block;padding:3px 9px;border-radius:50px;font-size:10px;font-weight:700;background:rgba(0,0,0,.55);color:#ff8059;border:1px solid rgba(255,128,89,.5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);letter-spacing:.5px;text-transform:uppercase}.proj-card-body{padding:18px 20px 16px;display:flex;flex-direction:column;flex:1 1}.proj-card-title{font-size:17px;font-weight:700;color:#fff;margin:0 0 12px;line-height:1.35;font-family:inherit}.proj-tech-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.proj-tech-tag{display:inline-block;padding:3px 9px;border-radius:4px;font-size:11px;font-weight:500;background:hsla(0,0%,100%,.06);color:hsla(0,0%,100%,.55);border:1px solid hsla(0,0%,100%,.11);letter-spacing:.3px}.proj-tech-more{color:#ff8059;border-color:rgba(255,128,89,.3);background:rgba(255,128,89,.08)}.proj-card-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid hsla(0,0%,100%,.07);padding-top:12px;margin-top:auto}.proj-year{font-size:11px;color:hsla(0,0%,100%,.3);letter-spacing:.8px;font-weight:500}.proj-arrow{width:28px;height:28px;border-radius:50%;border:1px solid hsla(0,0%,100%,.14);display:flex;align-items:center;justify-content:center;color:hsla(0,0%,100%,.4);font-size:10px;transition:all .28s ease;flex-shrink:0}.proj-card:hover .proj-arrow{background:#ff8059;border-color:#ff8059;color:#fff}.proj-view-all-wrap{display:flex;justify-content:center;margin-top:48px;margin-bottom:8px}.proj-view-all-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 36px;border-radius:50px;border:1px solid hsla(0,0%,100%,.18);background:transparent;color:hsla(0,0%,100%,.75)!important;font-size:14px;font-weight:600;letter-spacing:.7px;text-decoration:none!important;transition:all .3s ease}.proj-view-all-btn i{font-size:11px;transition:transform .25s ease}.proj-view-all-btn:hover{background:linear-gradient(135deg,#ff8059,#ff4d24);border-color:transparent;color:#fff!important;box-shadow:0 8px 28px rgba(255,128,89,.4);text-decoration:none!important;transform:translateY(-2px)}.proj-view-all-btn:hover i{transform:translateX(3px)}@media (max-width:768px){.proj-filter-btn{padding:8px 16px;font-size:12px}.proj-card-image{height:180px}.proj-card-title{font-size:16px}.proj-card{min-height:360px}}body.light-skin .proj-filter-btn{border-color:rgba(28,37,40,.18);background:rgba(28,37,40,.04);color:rgba(28,37,40,.6)}body.light-skin .proj-filter-btn:hover{color:#1c2528;background:rgba(255,128,89,.1);border-color:rgba(255,128,89,.4)}body.light-skin .proj-filter-btn.active{color:#fff;background:linear-gradient(135deg,#ff8059,#ff4d24);border-color:transparent}body.light-skin .proj-card{background:#fff;border-color:rgba(28,37,40,.1);box-shadow:0 2px 16px rgba(0,0,0,.06)}body.light-skin .proj-card:hover{box-shadow:0 16px 48px rgba(0,0,0,.14),0 0 0 1px rgba(255,128,89,.3);border-color:rgba(255,128,89,.3)}body.light-skin .proj-card-title{color:#1c2528}body.light-skin .proj-tech-tag{background:rgba(28,37,40,.06);color:rgba(28,37,40,.6);border-color:rgba(28,37,40,.12)}body.light-skin .proj-tech-more{color:#ff8059;border-color:rgba(255,128,89,.3);background:rgba(255,128,89,.07)}body.light-skin .proj-card-footer{border-top-color:rgba(28,37,40,.1)}body.light-skin .proj-year{color:rgba(28,37,40,.35)}body.light-skin .proj-arrow{border-color:rgba(28,37,40,.15);color:rgba(28,37,40,.4)}body.light-skin .proj-view-all-btn{border-color:rgba(28,37,40,.2);color:rgba(28,37,40,.75)!important}body.light-skin .proj-view-all-btn:hover{color:#fff!important;border-color:transparent}.slick-next,.slick-prev{position:absolute;top:50%;transform:translateY(-50%);z-index:2;font-size:24px;color:#fff;background-color:rgba(0,0,0,.5);padding:10px;border-radius:50%}.slick-prev{left:10px}.slick-next{right:10px}.slick-next:before,.slick-prev:before{font-size:30px;color:#fff}.slick-dots{color:#0d6efd;position:absolute;bottom:20px;left:50%;transform:translateX(-50%);z-index:2}.slick-dots li button:before{font-size:12px;color:#fff;opacity:.75}.slick-dots li.slick-active button:before{color:red;opacity:1}.bot-contain{width:100%}@media (min-width:640px){.bot-contain{width:400px;max-width:400px;padding:0}}@media (min-width:768px){.bot-contain{width:520px;max-width:520px}}.launch-button{position:fixed;bottom:0;right:0;margin-right:.5rem;margin-bottom:.5rem;display:flex;gap:5px;align-items:center;padding:8px 12px;border-radius:12px;background:#fff;box-shadow:0 4px 6px rgba(0,0,0,.1);border:1px solid #ff8059;cursor:grab;z-index:2147483647;svg{vertical-align:sub}img{height:48px;width:48px;margin-bottom:0;display:block}}.launch-button:active{cursor:grabbing}.launch-button:hover{background:#ff8059;border-color:#ff8059}.bot-container{display:flex;flex-direction:column;height:-moz-fit-content;height:fit-content;width:100vw;max-width:100vw;margin:0 auto;padding:0;border-radius:1rem;overflow:hidden}@media (min-width:640px){.bot-container{width:400px;max-width:400px;padding:0}}@media (min-width:768px){.bot-container{width:520px;max-width:520px}}.bot-header{display:flex;justify-content:center;align-items:center;justify-content:space-between;cursor:grab}.bot-header:active{cursor:grabbing}.shrink-button{height:30px}.bot-actions,.shrink-button{display:flex;align-items:center}.bot-actions{justify-content:space-between}.send-button{display:flex;height:35px;width:35px;align-items:center}.bot-messages{display:flex;flex-direction:column;gap:30px;max-height:500px;overflow:auto}.bot-input{display:flex;flex:1 1;color:#111827}.bot-input::-moz-placeholder{color:#6b7280}.bot-input:-ms-input-placeholder{color:#6b7280}.bot-input::placeholder{color:#6b7280}.user-message{background-color:#2563eb;float:right}.bot-message,.user-message{max-width:260px;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;border-radius:.5rem;animation:message-fade .25s ease-out}.bot-message{background-color:#f3f4f6;color:#111827;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1)}@media (prefers-color-scheme:dark){.max-w-260{background-color:#1f2937;color:#f3f4f6}}.typing{display:flex;gap:4px}.typing .dot{width:6px;height:6px;border-radius:50%;background-color:#9ca3af;animation:typing-bounce .8s infinite}.typing .dot:nth-child(2){animation-delay:.2s}.typing .dot:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,80%,to{opacity:.2;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.blinking-cursor{display:inline-block;width:2px;height:1em;margin-left:2px;background-color:currentColor;animation:cursor-blink 1s steps(2,start) infinite}@keyframes cursor-blink{0%,to{opacity:0}50%{opacity:1}}@keyframes message-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}body.dark-skin .bot-container{background-color:#0b1220;border-color:#1f2937;color:#e5e7eb;box-shadow:0 15px 60px rgba(0,0,0,.45)}body.dark-skin .bot-header{background-color:#0f172a;border-color:#1f2937;color:#e5e7eb}body.dark-skin .bot-message{background-color:#111827;color:#e5e7eb;box-shadow:0 10px 30px rgba(0,0,0,.35)}body.dark-skin .bot-input{color:#f3f4f6!important}body.dark-skin .bot-input::-moz-placeholder{color:#9ca3af!important}body.dark-skin .bot-input:-ms-input-placeholder{color:#9ca3af!important}body.dark-skin .bot-input::placeholder{color:#9ca3af!important}body.dark-skin .launch-button{background:#0f172a;border-color:#1f2937;color:#e5e7eb;box-shadow:0 12px 40px rgba(0,0,0,.4)}body.dark-skin .launch-button:hover{background:#1f2937;border-color:#1f2937}body.dark-skin .bot-actions .send-button{background-color:#2563eb}body.dark-skin .bot-actions .send-button:hover{background-color:#1d4ed8}body.dark-skin .typing .dot{background-color:#d1d5db}body.dark-skin .bot-container form{background-color:#0f172a;border-color:#1f2937}body.dark-skin .bot-messages{background:linear-gradient(180deg,#0b1220,#0f172a)}.pot-image.shake{animation:pot-shake 3s ease-in-out}@keyframes pot-shake{0%{transform:rotate(0deg)}20%{transform:rotate(15deg)}40%{transform:rotate(-10deg)}60%{transform:rotate(15deg)}80%{transform:rotate(-10deg)}to{transform:rotate(0deg)}}body.dark-skin .todo-container{border-color:rgba(55,65,81,.7);background:rgba(15,23,42,.6)}body.dark-skin .todo-header{color:rgba(248,250,252,.9)}body.dark-skin .todo-header:hover{background:hsla(0,0%,100%,.05)}body.dark-skin .todo-list{border-top-color:rgba(55,65,81,.5)}body.dark-skin .todo-item{color:rgba(226,232,240,.9)}.cw-math-rendering mjx-container{opacity:.7;transition:opacity .15s ease-out}mjx-container{opacity:1;transition:opacity .15s ease-out}.cw-math-block{display:block;margin:.5em 0;overflow-x:auto}.cw-math-inline{display:inline}.cw-page-ref{background:linear-gradient(120deg,#fff3cd,#ffe69c);padding:1px 4px;border-radius:3px;cursor:pointer;transition:all .2s ease;border-bottom:2px solid #ffc107;font-weight:500}.cw-page-ref:hover{background:linear-gradient(120deg,#ffe69c,#ffd54f);box-shadow:0 2px 8px rgba(255,193,7,.4);transform:translateY(-1px)}.cw-page-highlight{background:linear-gradient(120deg,#bbf7d0,#86efac);padding:2px 6px;border-radius:4px;border-bottom:3px solid #22c55e;box-shadow:0 2px 12px rgba(34,197,94,.3);transition:all .3s ease;position:relative}.cw-page-highlight:after{content:"✨";position:absolute;top:-8px;right:-8px;font-size:12px;animation:cw-sparkle 1s ease-in-out infinite}.cw-page-highlight-pulse{animation:cw-highlight-pulse 2s ease-out}@keyframes cw-highlight-pulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.7)}50%{box-shadow:0 0 20px 10px rgba(34,197,94,.3)}to{box-shadow:0 2px 12px rgba(34,197,94,.3)}}@keyframes cw-sparkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.cw-page-popup{position:fixed;width:320px;max-width:90vw;background:#fff;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.2),0 0 0 1px rgba(0,0,0,.05);z-index:2147483647;animation:cw-popup-in .25s ease-out;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.cw-page-popup-header{display:flex;align-items:center;gap:8px;padding:10px 14px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-size:13px;font-weight:600}.cw-page-popup-icon{font-size:16px}.cw-page-popup-close{margin-left:auto;background:hsla(0,0%,100%,.2);border:none;color:#fff;width:22px;height:22px;border-radius:50%;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;transition:background .2s}.cw-page-popup-close:hover{background:hsla(0,0%,100%,.4)}.cw-page-popup-content{padding:14px 16px}.cw-page-popup-quote{margin:0;padding:12px 14px;background:#f8fafc;border-left:4px solid #3b82f6;border-radius:0 8px 8px 0;font-size:14px;line-height:1.6;color:#1e293b;font-style:italic}.cw-page-popup-en-section{margin-top:12px;padding:12px 14px;background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-radius:8px;border-left:4px solid #10b981}.cw-page-popup-en-header{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:#059669;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.cw-page-popup-en-term{font-size:15px;font-weight:700;color:#065f46;margin-bottom:4px}.cw-page-popup-en-explanation{font-size:13px;line-height:1.5;color:#047857}.cw-page-popup-footer{padding:10px 16px;background:#f1f5f9;font-size:11px;color:#64748b;border-top:1px solid #e2e8f0}@keyframes cw-popup-in{0%{opacity:0;transform:translateY(8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-color-scheme:dark){.cw-page-popup{background:#1e293b;box-shadow:0 10px 40px rgba(0,0,0,.5)}.cw-page-popup-quote{background:#334155;color:#e2e8f0}.cw-page-popup-en-section{background:linear-gradient(135deg,#064e3b,#065f46);border-left-color:#34d399}.cw-page-popup-en-header{color:#6ee7b7}.cw-page-popup-en-term{color:#a7f3d0}.cw-page-popup-en-explanation{color:#6ee7b7}.cw-page-popup-footer{background:#0f172a;color:#94a3b8;border-top-color:#334155}}.cw-page-highlight-popup{width:300px;max-width:90vw;background:#fff;border:1px solid #a2a9b1;border-radius:2px;box-shadow:0 2px 8px rgba(0,0,0,.15);animation:cw-php-in .15s ease-out;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.cw-php-content{padding:12px 14px}.cw-php-term{font-size:15px;font-weight:700;color:#0645ad;margin-bottom:8px;border-bottom:1px solid #eaecf0;padding-bottom:8px}.cw-php-context{font-size:13px;line-height:1.5;color:#202122}@keyframes cw-php-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-color-scheme:dark){.cw-page-highlight-popup{background:#27292d;border-color:#54595d;box-shadow:0 2px 8px rgba(0,0,0,.4)}.cw-php-term{color:#6ea8fe;border-bottom-color:#3c3f44}.cw-php-context{color:#e3e3e3}}body.dark-skin .cw-page-highlight-popup{background:#27292d;border-color:#54595d;box-shadow:0 2px 8px rgba(0,0,0,.4)}body.dark-skin .cw-php-term{color:#6ea8fe;border-bottom-color:#3c3f44}body.dark-skin .cw-php-context{color:#e3e3e3}.cw-page-highlight{cursor:pointer}.cw-page-highlight:hover{background:linear-gradient(120deg,#86efac,#4ade80);transform:scale(1.02)}.tool-calls-container{margin-bottom:12px;display:flex;flex-direction:column;gap:8px}.tool-call-card{border-radius:8px;border:1px solid rgba(229,231,235,.8);background:rgba(249,250,251,.95);padding:10px 12px;font-size:13px;transition:all .2s ease}body.dark-skin .tool-call-card{border-color:rgba(75,85,99,.6);background:rgba(31,41,55,.9)}.tool-call-card.status-running{border-left:3px solid #6366f1}.tool-call-card.status-completed{border-left:3px solid #10b981}.tool-call-card.status-failed{border-left:3px solid #ef4444;background:hsla(0,86%,97%,.95)}body.dark-skin .tool-call-card.status-failed{background:rgba(69,28,28,.9)}.tool-header{display:flex;align-items:center;gap:8px}.tool-icon{display:inline-flex;align-items:center;justify-content:center;color:#6366f1;flex-shrink:0}.tool-icon svg{width:16px;height:16px}.tool-info{display:flex;align-items:center;gap:8px;flex:1 1;min-width:0}.tool-name{font-weight:600;color:#1f2937;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}body.dark-skin .tool-name{color:#e5e7eb}.tool-status{font-size:10px;padding:2px 6px;border-radius:4px;background:rgba(99,102,241,.1);color:#6366f1;font-weight:500;text-transform:uppercase}.tool-call-card.status-completed .tool-status{background:rgba(16,185,129,.12);color:#10b981}.tool-call-card.status-failed .tool-status{background:rgba(239,68,68,.12);color:#ef4444}.status-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.status-icon svg{width:16px;height:16px}.status-icon.spin svg{animation:tcSpin .9s linear infinite}.tool-call-card.status-completed .status-icon{color:#10b981}.tool-call-card.status-failed .status-icon{color:#ef4444}.tool-call-card.status-pending .status-icon{color:#9ca3af}.tool-message{margin-top:6px;color:#4b5563;font-size:13px}body.dark-skin .tool-message{color:#d1d5db}.tool-detail{margin-top:4px;font-size:12px;color:#6b7280;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}body.dark-skin .tool-detail{color:#9ca3af}.tool-duration{margin-top:4px;font-size:11px;color:#9ca3af;text-align:right}@keyframes tcSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.todo-container{margin-bottom:12px;border-radius:10px;border:1px solid rgba(229,231,235,.9);background:rgba(248,250,252,.95);overflow:hidden}.dark .todo-container,body.dark-skin .todo-container{border-color:rgba(55,65,81,.7);background:rgba(15,23,42,.6)}.todo-header{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;font-size:13px;font-weight:500;color:rgba(17,24,39,.9);transition:background .15s ease}.todo-header:hover{background:rgba(0,0,0,.04)}.dark .todo-header,body.dark-skin .todo-header{color:rgba(248,250,252,.9)}.dark .todo-header:hover,body.dark-skin .todo-header:hover{background:hsla(0,0%,100%,.05)}.todo-chevron{width:16px;height:16px;transition:transform .2s ease;flex-shrink:0}.todo-chevron.expanded{transform:rotate(180deg)}.todo-list{border-top:1px solid rgba(229,231,235,.6);padding:8px 0}.dark .todo-list,body.dark-skin .todo-list{border-top-color:rgba(55,65,81,.5)}.todo-item{display:flex;align-items:flex-start;gap:8px;padding:6px 12px;font-size:12px;line-height:1.4;color:rgba(55,65,81,.95)}.dark .todo-item,body.dark-skin .todo-item{color:rgba(226,232,240,.9)}.todo-item.completed .todo-text{text-decoration:line-through;opacity:.6}.todo-icon{width:14px;height:14px;flex-shrink:0;margin-top:1px}.todo-icon.done{color:#10b981}.todo-icon.pending{color:rgba(156,163,175,.8)}.todo-text{flex:1 1;min-width:0;word-break:break-word}.stage-toast{animation:stageIn .18s ease-out}.stage-card{position:relative;border-radius:12px;border:1px solid rgba(229,231,235,.9);background:rgba(248,250,252,.92);box-shadow:0 6px 18px rgba(15,23,42,.06);padding:12px 14px 18px;max-height:180px;overflow:hidden}.dark .stage-card,body.dark-skin .stage-card{border-color:rgba(55,65,81,.7);background:rgba(15,23,42,.55);box-shadow:0 8px 22px rgba(0,0,0,.25)}.row1{display:flex;align-items:center;gap:10px;min-width:0}.spinnerWrap{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;filter:drop-shadow(0 2px 6px rgba(15,23,42,.16));animation:pulseSoft 1.2s ease-in-out infinite}.spinnerIcon{width:18px;height:18px;color:rgba(75,85,99,.95);animation:spinFast .75s linear infinite}.dark .spinnerIcon,body.dark-skin .spinnerIcon{color:rgba(226,232,240,.85);filter:drop-shadow(0 2px 8px rgba(0,0,0,.35))}.stage-text{font-size:18px;font-weight:500;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:transparent;background-image:linear-gradient(90deg,rgba(30,41,59,.35),rgba(59,130,246,.95) 35%,rgba(236,72,153,.85) 55%,rgba(16,185,129,.85) 75%,rgba(30,41,59,.35));background-size:220% 100%;background-position:0 50%;-webkit-background-clip:text;background-clip:text;animation:waveText 1.6s ease-in-out infinite}.row2{margin-top:6px;min-width:0}.key-value{font-size:13px;line-height:1.3;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:transparent;background-image:linear-gradient(90deg,rgba(30,41,59,.35),rgba(59,130,246,.95) 35%,rgba(236,72,153,.85) 55%,rgba(16,185,129,.85) 75%,rgba(30,41,59,.35));background-size:220% 100%;background-position:0 50%;-webkit-background-clip:text;background-clip:text;animation:waveText 1.6s ease-in-out infinite}.stage-card .bar{position:absolute;left:14px;right:14px;bottom:10px;height:2px;border-radius:999px;overflow:hidden;opacity:.55;background:rgba(148,163,184,.25)}.stage-card .bar:before{content:"";position:absolute;left:-40%;top:0;height:100%;width:40%;border-radius:999px;background:linear-gradient(90deg,#3b82f6,#ec4899,#10b981);animation:indeterminate 1.2s ease-in-out infinite}.task-list{margin-top:8px;display:flex;flex-direction:column;gap:4px}.stage-card .task-item{display:flex;align-items:flex-start;gap:6px;font-size:13px;line-height:1.4;color:rgba(30,41,59,.85)}.dark .stage-card .task-item,body.dark-skin .stage-card .task-item{color:rgba(226,232,240,.85)}.stage-card .task-item.done{opacity:.6}.stage-card .task-item.done .task-title{text-decoration:line-through}.task-num{font-weight:600;color:rgba(59,130,246,.9);min-width:18px;flex-shrink:0}.task-title{line-height:1.4;min-width:0}.task-check{width:14px;height:14px;color:rgba(16,185,129,.9);flex-shrink:0}.task-more{font-size:12px;color:rgba(100,116,139,.7);font-style:italic;margin-left:24px}.dark .task-more,body.dark-skin .task-more{color:rgba(226,232,240,.5)}@keyframes stageIn{0%{opacity:0;transform:translateY(6px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes spinFast{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pulseSoft{0%,to{transform:scale(1);opacity:.95}50%{transform:scale(1.06);opacity:1}}@keyframes waveText{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes indeterminate{0%{left:-40%}50%{left:60%}to{left:120%}}.tool-call-card.requires-approval{border-left:3px solid #f59e0b;background:rgba(255,251,235,.95)}.dark .tool-call-card.requires-approval,body.dark-skin .tool-call-card.requires-approval{background:rgba(69,53,28,.9);border-left-color:#fbbf24}.tool-todos{margin-top:8px;border-top:1px solid rgba(229,231,235,.5);padding-top:8px}.dark .tool-todos,body.dark-skin .tool-todos{border-top-color:rgba(75,85,99,.5)}.tool-todos-header{display:flex;align-items:center;gap:6px;padding:6px 8px;cursor:pointer;font-size:12px;font-weight:500;color:rgba(55,65,81,.9);transition:background .15s ease;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tool-todos-header:hover{background:rgba(0,0,0,.04)}.dark .tool-todos-header,body.dark-skin .tool-todos-header{color:rgba(226,232,240,.9)}.dark .tool-todos-header:hover,body.dark-skin .tool-todos-header:hover{background:hsla(0,0%,100%,.05)}.tool-todos-header .todo-chevron{width:14px;height:14px;transition:transform .2s ease;flex-shrink:0}.tool-todos-header .todo-chevron.expanded{transform:rotate(180deg)}.tool-todos-list{padding:4px 0}.tool-todo-item{display:flex;align-items:flex-start;gap:6px;padding:4px 8px;font-size:12px;line-height:1.4;color:rgba(55,65,81,.95)}.dark .tool-todo-item,body.dark-skin .tool-todo-item{color:rgba(226,232,240,.9)}.tool-todo-item.completed .todo-text{text-decoration:line-through;opacity:.6}.tool-todo-item .todo-icon{width:14px;height:14px;flex-shrink:0;margin-top:1px}.tool-todo-item .todo-icon.done{color:#10b981}.tool-todo-item .todo-icon.pending{color:rgba(156,163,175,.8)}.tool-todo-item .todo-text{flex:1 1;min-width:0;word-break:break-word}.tool-approval{margin-top:10px;padding:10px;border-radius:6px;background:hsla(0,0%,100%,.8);border:1px solid rgba(229,231,235,.8)}.dark .tool-approval,body.dark-skin .tool-approval{background:rgba(31,41,55,.8);border-color:rgba(75,85,99,.6)}.approval-message{font-size:12px;color:rgba(55,65,81,.9);margin-bottom:8px;font-weight:500}.dark .approval-message,body.dark-skin .approval-message{color:rgba(226,232,240,.9)}.approval-actions{display:flex;gap:8px}.approval-btn{flex:1 1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:background .2s ease,transform .05s ease;border:none;color:#fff}.approval-btn:active{transform:scale(.98)}.approval-btn:disabled{opacity:.5;cursor:not-allowed}.approval-btn.approve{background:#10b981}.approval-btn.approve:hover:not(:disabled){background:#059669}.approval-btn.reject{background:#ef4444}.approval-btn.reject:hover:not(:disabled){background:#dc2626}.approval-btn .btn-icon{width:14px;height:14px}.approval-result{margin-top:8px;padding:6px 10px;border-radius:4px;font-size:11px;font-weight:500;text-align:center}.approval-result.approved{background:rgba(16,185,129,.12);color:#10b981}.approval-result.rejected{background:rgba(239,68,68,.12);color:#ef4444}.tool-header-collapsible{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tool-header-collapsible:hover{background:rgba(0,0,0,.03);border-radius:6px}.dark .tool-header-collapsible:hover,body.dark-skin .tool-header-collapsible:hover{background:hsla(0,0%,100%,.04)}.tool-header-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.tool-duration-inline{font-size:10px;opacity:.55;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.card-chevron{width:14px;height:14px;opacity:.55;transition:transform .2s ease;flex-shrink:0}.card-chevron.expanded{transform:rotate(180deg)}.tool-card-body{padding-top:4px}