:root{font-family:Segoe UI,Microsoft YaHei,sans-serif;color:#334954;background:#f8fafb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-size:14px;--ink: #334954;--muted: #8798a1;--line: #e4ecef;--blue: #588ca3;--soft: #eaf3f7;--paper: #fff;--pink: #f5e8e7}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;background:none;color:inherit;transition:background .15s,box-shadow .15s}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #aed5e5;outline-offset:3px}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}textarea{resize:vertical}input,textarea,select{color:var(--ink);outline:none;border:1px solid var(--line);border-radius:9px;background:#fff;transition:border .15s}input:focus,textarea:focus,select:focus{border-color:#8db6c6;box-shadow:0 0 0 3px #dceef455}input::placeholder,textarea::placeholder{color:#a3afb5}input[type=checkbox]{accent-color:var(--blue);width:16px;height:16px;cursor:pointer}h1,h2,h3,p{margin:0}h1{font-size:23px;font-weight:600;letter-spacing:.4px}h2{font-size:23px;font-weight:500}h3{font-size:15px;font-weight:600}p{line-height:1.8}.app-shell{height:100dvh;display:flex;overflow:hidden}.sidebar{width:252px;flex-shrink:0;background:#f0f5f7;border-right:1px solid var(--line);padding:27px 19px 18px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;padding:0 9px 29px}.brand strong{display:block;font-size:23px;letter-spacing:4px;font-weight:550}.brand span{display:block;font-size:10px;color:var(--muted);letter-spacing:1.25px;margin-top:4px}.kanon-mark{width:91px;height:91px;border-radius:31px;background:linear-gradient(145deg,#e2f1f6,#d7e9f1);color:#72a0b6;display:grid;place-items:center;box-shadow:0 10px 24px #729cad0b;flex-shrink:0}.kanon-mark svg{width:62px;height:62px}.kanon-mark.small{width:42px;height:42px;border-radius:14px}.kanon-mark.small svg{width:35px;height:35px}.new-chat{background:#fff;border:1px solid #dae6eb;min-height:43px;border-radius:10px;color:#53849a;box-shadow:0 2px 5px #38596b04;font-weight:500}.new-chat:hover{background:#eaf2f6}.navigation{display:grid;gap:6px;margin-top:25px;margin-bottom:29px}.navigation button{justify-content:flex-start;padding:12px 13px;border-radius:9px;color:#71858f;font-size:13px}.navigation button span{flex:1;text-align:left}.navigation button.active{background:#e0ecf2;color:#497f97;font-weight:600}.navigation button:hover{background:#e5eef2}.count{font-size:10px;min-width:20px;height:20px;border-radius:6px;background:#aacad9;color:#fff;display:grid;place-items:center}.conversation-heading{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px;color:#95a4ac;padding:0 13px;margin-bottom:13px}.conversation-list{flex:1;overflow:auto;min-height:30px}.conversation-item{display:flex;border-radius:8px;align-items:center;margin-bottom:4px;min-width:0}.conversation-item.selected{background:#e6eef1}.conversation-item:hover{background:#e7eff2}.conversation-select{flex:1;min-width:0;justify-content:flex-start;padding:10px;color:#71858e;gap:10px;font-size:12px}.conversation-select svg{flex-shrink:0;color:#9bafb8}.conversation-select span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-button{width:31px;height:31px;border-radius:8px;color:#8a9da7;flex-shrink:0}.icon-button:hover{background:#e9f1f4;color:#4c7d93}.delete-chat{opacity:0;width:27px;margin-right:3px}.conversation-item:hover .delete-chat,.delete-chat:focus-visible{opacity:1}.quiet{color:#99a9b0;font-size:12px;padding:10px}.sidebar-footer{border-top:1px solid #dee8ed;padding:19px 6px 2px;display:flex;align-items:center;gap:10px}.sidebar-footer>div{flex:1}.sidebar-footer strong{display:block;font-size:12px;font-weight:500}.sidebar-footer span:not(.status-dot){display:block;color:#9aabb3;font-size:10px;margin-top:4px}.status-dot{width:6px;height:6px;background:#c0b69c;border-radius:50%;display:inline-block;flex-shrink:0}.status-dot.connected{background:#9abca9}.main-area{flex:1;min-width:0;display:flex;flex-direction:column}.page-header{min-height:99px;padding:23px 34px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px;background:#fcfdfe;flex-shrink:0}.page-header p{font-size:12px;color:#9aabb3;margin-top:6px}.page-header .eyebrow{margin-bottom:7px;font-size:9px}.header-person{display:flex;align-items:center;gap:13px}.header-person h1{font-size:18px;letter-spacing:1px}.header-person p{display:flex;align-items:center;gap:6px;margin-top:5px;font-size:10px}.header-actions{display:flex;align-items:center;gap:21px}.model-label{font-size:10px;color:#96a9b2;border:1px solid #e2ecef;border-radius:6px;padding:5px 9px;letter-spacing:.2px}.chat-page,.content-page{flex:1;display:flex;flex-direction:column;min-height:0}.chat-layout{display:flex;flex:1;min-height:0}.chat-column{flex:1;min-width:0;display:flex;flex-direction:column}.message-scroll{flex:1;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#d9e5ea transparent;scrollbar-width:thin}.welcome{max-width:720px;margin:auto;text-align:center;padding:65px 24px 40px;display:flex;align-items:center;flex-direction:column}.eyebrow{font-size:10px;color:#93a9b4;letter-spacing:2px;font-weight:500}.welcome .eyebrow{margin-bottom:28px}.welcome .kanon-mark{margin-bottom:29px}.welcome h2{font-size:27px;font-weight:450;letter-spacing:1.3px;color:#415e6b}.welcome>p{color:#9aabb3;font-size:13px;margin-top:17px;line-height:2}.suggestions{display:flex;gap:12px;margin-top:37px}.suggestions button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:15px 17px;font-size:12px;color:#748e9a;gap:10px;box-shadow:0 3px 6px #355c6b02}.suggestions button:hover{background:#eef5f8;border-color:#cbdee7}.suggestions button>span{color:#b0c0c8;margin-left:10px}.suggestions svg{color:#84a8ba}.connect-hint{font-size:11px;color:#89a5b3;margin-top:25px}.message-list{max-width:880px;margin:auto;padding:26px 38px 22px}.day-marker{text-align:center;font-size:10px;color:#acbac1;letter-spacing:1px;margin:0 0 28px}.message{display:flex;gap:14px;max-width:100%;margin-bottom:28px}.message .kanon-mark.small{width:34px;height:34px;border-radius:12px;margin-top:3px}.message .kanon-mark.small svg{width:27px;height:27px}.message-body{position:relative;max-width:calc(100% - 48px);padding-bottom:14px}.message-meta{display:flex;align-items:center;gap:12px;margin-bottom:8px;font-size:10px;color:#adbbc2}.message-meta strong{font-size:12px;color:#748e9a;font-weight:500}.message-text{font-size:14px;line-height:1.9;overflow-wrap:anywhere}.message-text p+p{margin-top:10px}.message-text p{line-height:1.95}.message-text pre{overflow:auto;background:#eef3f5;padding:14px;border-radius:8px;font-size:12px}.message-text code{background:#edf2f5;padding:2px 5px;border-radius:4px}.message-text pre code{padding:0}.message-text table{border-collapse:collapse;font-size:12px;display:block;max-width:100%;overflow:auto}.message-text th,.message-text td{border:1px solid #dbe6eb;padding:6px 10px}.message-text blockquote{border-left:3px solid #b6d0de;padding-left:13px;color:#78909d}.message.user{justify-content:flex-end;margin-bottom:32px}.message.user .message-body{background:#eaf2f6;border:1px solid #e2edf2;padding:13px 19px 12px;border-radius:15px 15px 4px;max-width:82%}.message.user .message-meta{justify-content:flex-end;margin-bottom:4px}.message.user .message-meta strong{color:#7b98a6}.copy-button{position:absolute;bottom:-9px;right:0;width:24px;height:23px;color:#a4b7c0;opacity:0;border-radius:5px}.message:hover .copy-button,.copy-button:focus-visible{opacity:1}.message.user .copy-button{bottom:-24px}.sources{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.sources a{display:flex;align-items:center;gap:5px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;background:#edf4f7;padding:5px 8px;border-radius:6px}.incomplete{font-size:11px;color:#ba937c;margin-top:8px}.muted{color:var(--muted)}.typing{letter-spacing:6px;color:#85a5b5;font-size:21px;animation:pulse 1.3s infinite}.composer-area{padding:11px 34px 20px;max-width:920px;width:100%;margin:0 auto}.composer{border:1px solid #dce7ed;background:#fff;border-radius:16px;padding:15px 16px 11px;box-shadow:0 5px 18px #54738406}.composer:focus-within{border-color:#aac9d9;box-shadow:0 0 0 3px #eaf3f777}.composer textarea{border:0;box-shadow:none;padding:2px 4px;resize:none;min-height:55px;max-height:180px;width:100%;font-size:13px;line-height:1.8;background:transparent}.composer-controls{display:flex;align-items:center;justify-content:space-between;margin-top:5px}.mode-switch{display:flex;gap:3px;background:#f5f8fa;border-radius:7px;padding:3px}.mode-switch button{font-size:10px;padding:5px 10px;border-radius:5px;color:#99abb5}.mode-switch button.selected{background:#e8f0f5;color:#658b9f}.send-button{width:33px;height:33px;border-radius:10px;background:#80aabc;color:#fff;box-shadow:0 2px 5px #6e93a52b}.send-button:hover{background:#628fa4}.send-button:disabled{background:#d6e4eb;opacity:1}.send-button.stop{background:#91aebb}.composer-note{display:flex;justify-content:space-between;color:#acbbc3;font-size:9px;letter-spacing:.3px;margin-top:11px;padding:0 4px}.composer-note>span{display:flex;align-items:center;gap:5px}.tool-status{display:flex;align-items:center;gap:8px;font-size:11px;color:#7392a4;margin:0 0 9px 8px}.tool-status svg{width:13px;height:13px}.memory-drawer{width:284px;border-left:1px solid var(--line);background:#f5f9fb;padding:22px 18px;overflow:auto;flex-shrink:0}.drawer-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.drawer-heading h3{font-size:13px}.mini-memory{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px;margin-top:13px}.mini-memory>span{font-size:9px;color:#99b2bf}.mini-memory p{font-size:12px;line-height:1.8;margin-top:5px;color:#6b8491}.run-info{font-size:10px;color:#9aaeb9;line-height:1.9;margin-top:19px}.run-info p{margin-top:8px}.content-scroll{overflow:auto;flex:1;scrollbar-color:#d9e5ea transparent;scrollbar-width:thin}.page-inner{max-width:1080px;margin:0 auto;padding:31px 35px 40px}.settings-inner{max-width:920px}.persona-inner{max-width:950px}.primary,.secondary,.danger{border-radius:8px;padding:10px 15px;font-size:12px;font-weight:500;white-space:nowrap;min-height:37px}.primary{background:#77a1b6;color:#fff}.primary:hover{background:#5b8da5}.secondary{background:#fff;border:1px solid #dce8ee;color:#7695a6}.secondary:hover{background:#edf5f8}.danger{background:#bd8888;color:#fff}.danger:hover{background:#a87171}.text-button{font-size:11px;color:#819dab;padding:9px 3px}.text-button:hover{color:#4c7d94}.help{font-size:11px;line-height:1.9;color:#96a9b3}.footnote{color:#a2b1b9;font-size:10px;line-height:1.9;margin-top:25px}.memory-banner{display:flex;gap:15px;align-items:center;border:1px solid #e2edf2;background:#eff6f9;border-radius:12px;padding:19px 22px;margin-bottom:26px}.banner-icon{background:#e0eef4;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:#79a1b7;flex-shrink:0}.memory-banner>div:nth-child(2){flex:1}.memory-banner strong{font-size:13px;font-weight:500;color:#678897}.memory-banner p{font-size:11px;color:#92a8b3;margin-top:6px}.list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:23px}.filter-tabs{display:flex;gap:3px;flex-wrap:wrap}.filter-tabs button{font-size:11px;padding:7px 11px;color:#92a5b0;border-radius:7px}.filter-tabs button.active{background:#e7f0f5;color:#618aa1}.search-field{display:flex;gap:7px;align-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 10px;color:#a2b5bf;width:190px;flex-shrink:0}.search-field input{border:0;box-shadow:none;width:100%;font-size:11px;padding:9px 0;background:transparent}.memory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.memory-card{border:1px solid #e3ebef;border-radius:12px;background:#fff;padding:18px 20px 10px;display:flex;flex-direction:column;box-shadow:0 3px 8px #4b687402}.memory-card.candidate{border-color:#e8dcd0;background:#fffefb}.memory-card.disabled{opacity:.6}.memory-card-top{display:flex;align-items:center;gap:7px;margin-bottom:13px}.kind-tag{font-size:9px;padding:4px 7px;border-radius:5px;color:#759c8b;background:#eef5ef}.kind-tag.canon{color:#8595b7;background:#edf0f9}.kind-tag.discussion{color:#a48c9e;background:#f7eef5}.kind-tag.fiction{color:#a39776;background:#f7f3e9}.candidate-tag{font-size:9px;color:#b09d83}.pin-button{margin-left:auto;color:#c0d0d7;width:23px;height:23px}.pin-button.pinned{color:#719cae}.memory-content{font-size:13px;line-height:1.9;flex:1;margin-bottom:15px}.memory-source{font-size:9px;color:#adbac2;line-height:1.9;margin-bottom:11px}.context-indicator{position:relative;flex:0 0 auto}.context-ring{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}.context-ring:focus-visible{outline:2px solid #68a6b8;outline-offset:2px}.context-ring svg{width:26px;height:26px;transform:rotate(-90deg)}.context-ring circle{fill:none;stroke-width:3}.ring-track{stroke:#e1ebef}.ring-value{stroke:#68a6b8;stroke-linecap:round;transition:stroke-dasharray .3s}.near-limit .ring-value{stroke:#c5a069}.context-popover{position:absolute;right:0;bottom:calc(100% + 10px);width:min(280px,calc(100vw - 40px));padding:14px 16px;background:#fff;border:1px solid #dbe7ed;border-radius:12px;box-shadow:0 8px 28px #344f6220;color:#536f7e;font-size:12px;line-height:1.6;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s;z-index:20}.context-popover p{margin:4px 0}.context-popover small{display:block;color:#8b9ea9;margin-top:7px}.context-indicator:hover .context-popover,.context-indicator:focus-within .context-popover{opacity:1;visibility:visible}.pending-images,.message-images{display:flex;flex-wrap:wrap;gap:8px}.pending-images{padding:10px 14px 0}.pending-images>div{position:relative}.pending-images img{width:64px;height:64px;object-fit:cover;border-radius:8px;border:1px solid #dce8ed}.pending-images button{position:absolute;top:-6px;right:-6px;width:20px;height:20px;background:#fff;border:1px solid #dce8ed;border-radius:50%}.message-images{margin:8px 0}.message-images img{max-width:min(220px,100%);max-height:200px;object-fit:contain;border-radius:10px}.image-notice{padding:0 14px;margin:6px 0 0;font-size:11px}.timeline-create{display:flex;gap:8px;margin:14px 0}.timeline-create input{min-width:0;flex:1}.memory-type-filter{display:flex;align-items:center;gap:12px;margin:8px 0 18px;font-size:12px;color:#8296a5}.memory-type-filter select{max-width:200px}.memory-detail{color:#8296a5;font-size:12px;line-height:1.6;margin:6px 0}.memory-index-status{padding:12px 0;font-size:13px}.memory-card-top{flex-wrap:wrap}.context-summary{margin:12px 0;font-size:12px}.context-summary summary{cursor:pointer}.context-summary p{white-space:pre-wrap}.memory-source summary{cursor:pointer}.memory-source>div{padding:5px 0}.memory-source a{display:inline-flex;gap:4px;align-items:center;margin-top:3px}.memory-source>span,.memory-source>div>span{display:block;font-size:9px}.memory-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:9px;border-top:1px solid #f0f4f6}.memory-card-footer>span{font-size:9px;color:#b1bdc4}.memory-card-footer>div{display:flex;gap:3px}.memory-card-footer .icon-button{width:26px;height:28px}.approve-button{font-size:10px;color:#719c8b;padding:6px}.conflict-note{font-size:10px;color:#b3987e;margin-bottom:10px}.empty{text-align:center;padding:65px 20px;color:#93a8b4;display:flex;flex-direction:column;align-items:center}.empty .kanon-mark{width:62px;height:62px;border-radius:22px;opacity:.7;margin-bottom:20px}.empty .kanon-mark svg{width:45px}.empty h2{font-size:17px}.empty p{font-size:12px;margin-top:10px}.form-card{border:1px solid #e2ebef;border-radius:12px;background:#fff;padding:23px 26px;margin-bottom:19px}.form-card h3{margin-bottom:19px;display:flex;align-items:center;gap:9px;color:#5c7b8b}.form-card>.help{margin-bottom:17px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.section-heading h3{margin:0}.section-heading>span{font-size:10px;color:#a0b2bd}.field{display:flex;flex-direction:column;gap:9px;font-size:11px;color:#7c97a6;margin-bottom:19px}.field input,.field select,.field textarea{width:100%;padding:11px 13px;font-size:12px;line-height:1.8}.field input[readonly]{background:#f7f9fb;color:#a1b3bd}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:21px}.check-row{display:flex;align-items:center;gap:8px;font-size:11px;color:#8b9eaa;line-height:1.8}.key-input{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:9px;padding:0 11px;color:#a4b8c2}.key-input input{border:0;box-shadow:none;padding:11px 0;min-width:0}.key-input:focus-within{border-color:#96bbcf;box-shadow:0 0 0 3px #dceef455}.connection-row{display:flex;align-items:center;justify-content:space-between}.connection-row a,.small-link{font-size:10px;color:#8ba8b7}.version-pill{display:inline-flex;align-items:center;gap:5px;border:1px solid #e2ebef;background:#f5f9fa;border-radius:5px;padding:4px 7px;font-size:9px;color:#94a8b4}.version-pill.configured{background:#f0f7f3;color:#89a894;border-color:#e2eee5}.save-status{font-size:10px;color:#96b0a3;gap:6px;padding:8px}.save-status.error{color:#b18d7b}.test-result{font-size:11px;margin-top:17px;border-radius:6px;padding:9px 13px;background:#f3f7f9}.success{color:#79a08b}.error,.inline-error{color:#b58783}.toggle-row{display:flex;gap:14px;align-items:center;margin:0 0 21px;padding:5px 0}.toggle-row>svg{color:#98b0be;flex-shrink:0}.toggle-row>div{flex:1}.toggle-row strong{font-size:12px;color:#708b9b;font-weight:500}.toggle-row p{font-size:10px;color:#a0b3be;margin-top:4px}.toggle-row input[type=checkbox]{width:18px;height:18px}.backup-row{display:flex;align-items:center;gap:9px;padding:20px 0;margin-bottom:15px;border-top:1px solid #eef2f5}.backup-row>div{flex:1}.backup-row strong{font-size:12px;font-weight:500;color:#819ba9}.backup-row p{font-size:10px;color:#a2b3bd;margin-top:5px}.hidden{display:none}.persona-profile{position:relative;border:1px solid #e0edf3;background:linear-gradient(110deg,#edf5f9,#f7fafc);border-radius:14px;padding:31px;display:flex;align-items:center;gap:26px;margin-bottom:25px}.persona-profile .kanon-mark{width:82px;height:82px;border-radius:28px}.persona-profile h2{font-size:24px;letter-spacing:2px;margin-top:12px}.persona-profile p{font-size:11px;color:#91a9b6;margin-top:8px;margin-bottom:14px}.persona-profile .eyebrow{font-size:9px}.profile-heart{margin-left:auto;color:#d8e6ed;margin-right:15px;flex-shrink:0}.persona-prompt{font-size:12px!important;line-height:2!important;min-height:280px}.persona-bottom{display:flex;justify-content:space-between;align-items:center;gap:18px}.persona-bottom>div{display:flex;gap:14px;flex-shrink:0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#273d4c40;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:22px;z-index:30}.modal{width:540px;max-width:100%;max-height:90dvh;overflow:auto;background:#fbfdfe;box-shadow:0 20px 90px #243e5430;border-radius:17px;padding:25px 27px}.modal-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}.modal-heading h2{font-size:18px;font-weight:500}.modal>p{font-size:13px;margin-bottom:15px;color:#7f98a6}.modal .help{font-size:11px}.modal-actions{display:flex;justify-content:flex-end;gap:11px;margin-top:26px}.modal-actions.spread{justify-content:space-between}.forget-preview{max-height:280px;overflow:auto;background:#f0f5f8;padding:12px;border-radius:9px;font-size:11px}.forget-preview>div{margin-bottom:14px}.forget-preview p{white-space:pre-wrap}.version-list>div{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line)}.version-list strong{font-size:12px;font-weight:500}.version-list span{display:block;font-size:10px;color:#a1b0ba;margin-top:5px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%);background:#4d6d7e;color:#fff;box-shadow:0 7px 25px #39536520;border:1px solid #7896a680;border-radius:11px;padding:12px 14px 12px 20px;font-size:12px;display:flex;align-items:center;gap:15px;z-index:50;max-width:calc(100% - 40px)}.toast .icon-button{color:#c8d9e1;width:23px;height:23px}.toast .icon-button:hover{background:#678698}.loading-screen{flex:1;display:flex;align-items:center;justify-content:center;gap:12px;color:#88a1ae;font-size:12px;min-height:300px}.spin{animation:spin 1s linear infinite}.mobile-bar,.mobile-close{display:none}.job-panel{border:1px solid var(--line);background:#f2f7fa;padding:16px 20px;border-radius:10px;margin-top:23px}.job-panel h3{font-size:12px;color:#809aa8;margin-bottom:9px}.job-panel>div{display:flex;justify-content:space-between;font-size:11px;color:#9cabb6}.error-banner{background:#fbf1ee;border:1px solid #efded6;padding:18px;border-radius:9px;color:#b39081;font-size:11px;margin-bottom:20px}.error-banner p{margin-bottom:13px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.4}}@media(min-width:1500px){.sidebar{width:275px;padding-left:25px;padding-right:25px}.welcome{padding-top:100px}.welcome h2{font-size:30px}.page-header{padding-left:45px;padding-right:45px}.composer-area{padding-bottom:26px}}@media(max-width:1100px){.sidebar{width:224px;padding-left:13px;padding-right:13px}.page-header{padding:22px 25px}.page-inner{padding:25px}.welcome{padding-top:55px}.welcome h2{font-size:24px}.suggestions{gap:8px}.suggestions button{padding:12px;font-size:11px}.memory-drawer{width:250px}.memory-grid{gap:13px}.list-toolbar{align-items:flex-start;flex-direction:column}.search-field{width:100%}.persona-bottom{align-items:flex-start;flex-direction:column}.backup-row{flex-wrap:wrap}.backup-row>div{flex-basis:100%;margin-bottom:5px}}@media(max-width:780px){.sidebar{position:fixed;left:-270px;width:252px;top:0;bottom:0;z-index:21;transition:left .2s}.sidebar.open{left:0}.sidebar-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#30495740;z-index:20}.mobile-close{display:flex;margin-left:auto}.mobile-bar{display:flex;align-items:center;gap:13px;background:#eff5f8;border-bottom:1px solid var(--line);height:47px;padding:0 13px;flex-shrink:0;font-size:11px;color:#8099a7;letter-spacing:1px}.page-header{min-height:87px;padding:18px 19px}h1{font-size:20px}.model-label{display:none}.welcome{padding:45px 16px 30px}.welcome h2{font-size:22px;letter-spacing:.5px}.welcome .kanon-mark{width:78px;height:78px}.suggestions{flex-wrap:wrap;justify-content:center;margin-top:26px}.suggestions button>span{display:none}.suggestions button{font-size:11px;gap:7px;padding:12px}.composer-area{padding:12px 15px 16px}.composer-note{font-size:8px}.message-list{padding:23px 20px}.message.user .message-body{max-width:93%}.message-text{font-size:13px}.memory-drawer{position:absolute;right:0;top:134px;bottom:0;width:290px;box-shadow:-15px 0 40px #6d8a9c10;z-index:10}.page-inner{padding:22px 18px}.memory-grid{grid-template-columns:1fr}.memory-banner{padding:16px;align-items:flex-start;gap:11px;flex-wrap:wrap}.memory-banner>div:nth-child(2){min-width:200px}.memory-banner>.secondary{margin-left:53px}.form-card{padding:20px 18px}.two-columns{grid-template-columns:1fr;gap:0}.persona-profile{padding:23px 20px;gap:16px}.persona-profile .kanon-mark{width:58px;height:58px;border-radius:20px}.persona-profile .kanon-mark svg{width:45px}.persona-profile h2{font-size:20px;margin-top:7px}.persona-profile .eyebrow{font-size:7px;letter-spacing:1px}.profile-heart{display:none}.persona-profile p,.persona-bottom .help{font-size:10px}.save-status{font-size:9px;max-width:118px;line-height:1.6}.page-header>.primary{padding:9px 11px;font-size:11px}.page-header .eyebrow{font-size:8px;letter-spacing:1.2px}.modal{padding:21px}.delete-chat{opacity:1}.toast{width:max-content;font-size:11px}.connection-row{gap:10px}.connection-row a{font-size:9px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}.search-fallback-option{margin:0 0 12px}.search-provider-card{border:1px solid var(--line);padding:16px;border-radius:10px;margin:16px 0}.search-provider-card .section-heading{margin-bottom:15px}.search-provider-card .field{margin-bottom:10px}.search-provider-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px}.search-routing-status{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0}.search-routing-status p{font-size:11px;color:#8ca3b0}.search-notices{display:grid;gap:5px;font-size:10px;color:#8ca6b3;margin-top:10px;line-height:1.8}.search-notices:empty{display:none}.social-page{height:100%;padding:30px 32px 28px;display:flex;flex-direction:column;gap:22px;background:radial-gradient(ellipse at 90% 8%,#eef5ff 0,transparent 45%),#f7fafc;min-height:0}.social-page-heading{display:flex;justify-content:space-between;align-items:center}.social-page-heading .eyebrow{font-size:10px;letter-spacing:2px;color:#85a4ba}.social-page-heading h1{font-size:24px;margin:7px 0 0;font-weight:650;color:#24445b}.social-page-heading h1 span{font-size:12px;color:#8b9dab;font-weight:400;margin-left:13px}.social-heading-stars{color:#a9bfd8;letter-spacing:8px;font-size:23px}.qq-window{display:grid;grid-template-columns:196px minmax(280px,1fr) 228px;flex:1;min-height:0;border:1px solid #dae5ef;border-radius:18px;box-shadow:0 16px 56px #476d8d0d;overflow:hidden;background:#fff}.qq-window.profile-hidden{grid-template-columns:196px minmax(280px,1fr)}.qq-contacts{background:#f2f6fa;border-right:1px solid #e4ebf1;position:relative}.qq-contacts-title{display:flex;align-items:center;gap:8px;color:#708799;padding:25px 21px;font-size:13px}.qq-contact{margin:0 9px;border-radius:12px;padding:15px 10px;display:flex;gap:11px;align-items:center}.qq-contact.active{background:#e1eff8;box-shadow:inset 0 0 0 1px #d6e8f5}.qq-contact>div:nth-child(2){overflow:hidden;min-width:0}.qq-contact strong{font-size:13px;color:#365269;font-weight:600}.qq-contact strong span{display:block;font-size:9px;color:#759cb7;margin-top:3px;font-weight:400}.qq-contact p{font-size:10px;color:#8c9ca8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:6px 0 0}.qq-contact-note{position:absolute;bottom:28px;left:25px;color:#9eafbd;font-size:11px;line-height:2}.qq-contact-note svg{display:block;margin-bottom:9px;color:#a8c5d9}.kanon-avatar-frame{width:43px;height:43px;flex:0 0 43px;position:relative;padding:3px;background:linear-gradient(145deg,#88ddf2,#b8bee9 55%,#e6d8ae);border-radius:50%;box-shadow:0 0 0 2px #ffffffd9,0 2px 8px #4d9bb51c}.kanon-avatar-frame img{width:100%;height:100%;border-radius:50%;object-fit:cover;background:#e7faff;border:2px solid white}.avatar-star{position:absolute;bottom:-3px;right:-1px;width:17px;height:17px;background:#fbf8ea;color:#c5a46b;border:2px solid white;border-radius:50%;font-size:10px;text-align:center;line-height:12px}.kanon-avatar-frame.large{width:88px;height:88px;flex-basis:88px;padding:5px;box-shadow:0 0 0 5px #fffd,0 0 0 6px #dceef6}.large .avatar-star{width:24px;height:24px;font-size:15px;line-height:20px;right:1px}.qq-chat{display:flex;flex-direction:column;min-width:0;min-height:0;background:#fbfcfe}.qq-chat-header{height:88px;flex-shrink:0;display:flex;align-items:center;gap:13px;padding:18px 26px;border-bottom:1px solid #e8edf4;background:#fffffff2}.qq-chat-header>div:nth-child(2){flex:1;min-width:0}.qq-chat-header h2{margin:0;font-size:16px;color:#36546b;display:flex;align-items:center;gap:10px}.qq-chat-header p{margin:7px 0 0;color:#94a2ae;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qq-status-dot{width:6px;height:6px;display:inline-block;border-radius:50%;background:#80c8b2}.qq-message-scroll{flex:1;min-height:0;overflow-y:auto;padding:15px 27px 25px;background-image:radial-gradient(#a3bfd01a .6px,transparent .6px);background-size:19px 19px}.qq-time-marker{text-align:center;font-size:10px;color:#a6b1bc;margin:22px 0}.qq-message{display:flex;gap:12px;align-items:flex-start;margin:15px 0;animation:bubble-arrive .18s ease-out}.qq-message .kanon-avatar-frame,.qq-typing .kanon-avatar-frame{width:36px;height:36px;flex-basis:36px}.qq-message-content{max-width:min(82%,540px);min-width:0}.qq-message-name{display:flex;align-items:center;gap:9px;margin:0 0 7px 2px;font-size:10px;color:#93a4b3}.qq-message-name time{color:#b4bec8;font-size:9px}.qq-bubble{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.85;font-size:13px;padding:12px 16px;border-radius:3px 15px 15px;position:relative}.kanon-bubble{background:linear-gradient(140deg,#fff,#f0fbff 90%);border:1px solid #d2eaf3;color:#385974;box-shadow:0 3px 10px #599abb09;padding-bottom:18px}.kanon-bubble:before{content:"";position:absolute;left:-5px;top:9px;width:8px;height:8px;background:#fff;border-left:1px solid #d2eaf3;border-bottom:1px solid #d2eaf3;transform:rotate(45deg)}.kanon-bubble:after{content:"✧";position:absolute;bottom:0;right:11px;color:#a5ccd9;font-size:12px}.qq-message.user{flex-direction:row-reverse}.qq-message.user .qq-message-name{justify-content:flex-end}.qq-message.user .qq-bubble{background:#dcecfb;color:#3c5972;border:1px solid #cee1f2;border-radius:15px 3px 15px 15px}.qq-user-avatar{width:36px;height:36px;border-radius:50%;flex:0 0 36px;background:linear-gradient(145deg,#e9e4fb,#cfdef1);color:#8e8eaf;display:grid;place-items:center;font-size:12px;border:2px solid white}.qq-sticker-message{display:block;width:142px;height:117px;object-fit:contain}.qq-message-images{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:6px}.qq-message-images img{width:130px;max-height:170px;object-fit:contain;border-radius:7px}.qq-bubble a{color:#428fad;text-decoration:underline}.qq-typing{display:flex;gap:12px;align-items:center;margin:20px 0 10px}.qq-typing>div:nth-child(2){display:flex;gap:5px;padding:13px 16px;background:#eff7fb;border-radius:12px}.qq-typing>div:nth-child(2) span{width:5px;height:5px;background:#98bdcd;border-radius:50%;animation:typing-pulse 1.4s infinite}.qq-typing>div:nth-child(2) span:nth-child(2){animation-delay:.15s}.qq-typing>div:nth-child(2) span:nth-child(3){animation-delay:.3s}.qq-typing small{font-size:10px;color:#9eb1be}.qq-error{font-size:11px;color:#9d7770;text-align:center;padding:10px}.qq-retry{display:block;font-size:10px;color:#ab7368;margin:7px 0;background:none;border:0}.qq-composer{flex-shrink:0;position:relative;background:#fff;border-top:1px solid #e8edf4;padding:13px 20px 15px}.qq-composer-tools{display:flex;gap:12px;align-items:center}.qq-composer-tools button{border:0;background:none;color:#90a3b1;padding:3px}.qq-composer-tools button:hover,.qq-composer-tools button.selected{color:#62a9c8}.qq-composer-tools>span{font-size:9px;color:#bbc5ce;margin-left:auto}.qq-composer textarea{background:transparent;border:0;box-shadow:none;width:100%;resize:none;height:68px;padding:12px 0 4px;font-size:13px;color:#526778;outline:none}.qq-composer textarea::placeholder{color:#bdc7cf}.qq-send-row{display:flex;align-items:center;justify-content:space-between}.qq-send-row small{color:#b2bec9;font-size:9px}.qq-send{display:flex;align-items:center;gap:7px;border:0;background:#7eafcd;color:#fff;border-radius:7px;padding:8px 22px;font-size:12px}.qq-send:hover:not(:disabled){background:#6b9fbe}.qq-send:disabled{opacity:.45}.qq-sticker-picker{position:absolute;left:15px;bottom:100%;width:min(440px,calc(100% - 30px));background:#fff;box-shadow:0 -8px 35px #31557b18;border:1px solid #e1e9f1;border-radius:13px;overflow:hidden;z-index:5}.qq-sticker-tabs{display:flex;gap:3px;overflow-x:auto;padding:9px;background:#f8fafc}.qq-sticker-tabs button{background:none;border:0;white-space:nowrap;border-radius:5px;padding:6px 8px;color:#93a2af;font-size:10px}.qq-sticker-tabs button.active{color:#5598b6;background:#e7f3fa}.qq-sticker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;padding:10px;max-height:290px;overflow-y:auto}.qq-sticker-grid button{background:none;border:0;border-radius:7px;padding:3px}.qq-sticker-grid button:hover{background:#f0f7fc}.qq-sticker-grid img{width:100%;height:68px;object-fit:contain}.qq-sticker-picker p{display:flex;align-items:center;justify-content:space-between;margin:0;padding:8px 13px;font-size:9px;color:#b0bbc6;border-top:1px solid #eff3f7}.qq-sticker-picker p button{border:0;background:none;font-size:10px;color:#7fa5bf}.qq-image-drafts{display:flex;gap:7px;margin-top:8px}.qq-image-drafts>div{position:relative}.qq-image-drafts img{width:45px;height:45px;object-fit:cover;border-radius:5px}.qq-image-drafts button{position:absolute;right:-3px;top:-3px;background:#fff;border:1px solid #e1e5ef;border-radius:50%;padding:1px;display:flex}.qq-profile{border-left:1px solid #e6edf4;background:#fff;text-align:center;position:relative;overflow-y:auto}.qq-profile-cover{height:124px;background:radial-gradient(ellipse at 20% 20%,#f1edff,transparent 80%),linear-gradient(155deg,#d4eff6,#f2faff);position:relative;overflow:hidden}.qq-profile-cover:after{content:"";position:absolute;bottom:-28px;left:-10%;width:120%;height:55px;border-radius:50%;background:#fff}.qq-profile-cover span{position:absolute;color:#9bc4d8}.qq-profile-cover span:nth-child(1){top:25px;left:33px;font-size:23px}.qq-profile-cover span:nth-child(2){top:55px;right:32px;font-size:13px}.qq-profile-cover span:nth-child(3){top:17px;right:48px}.qq-profile>.kanon-avatar-frame{margin:-45px auto 19px}.qq-profile h3{color:#3f6076;font-size:18px;margin:0 0 7px}.qq-profile-subtitle{color:#99b1c2;font-size:10px;letter-spacing:1px}.qq-signature{margin:22px 20px 17px;font-size:11px;line-height:1.9;color:#8299aa}.qq-profile-badge{display:inline-flex;gap:6px;align-items:center;color:#b29b73;background:#fbf7ed;border:1px solid #efe7d3;padding:5px 10px;border-radius:20px;font-size:9px}.qq-profile dl{text-align:left;margin:30px 22px 0;padding-top:22px;border-top:1px solid #eef2f6}.qq-profile dl div{margin-bottom:18px}.qq-profile dt{color:#a6b6c1;font-size:9px;margin-bottom:6px}.qq-profile dd{color:#768f9f;font-size:10px;margin:0;line-height:1.7}.qq-profile-bottom{color:#a3bdcd;padding:25px 20px;margin-top:15px}.qq-profile-bottom p{font-size:11px;line-height:2;color:#99adba}.qq-profile-bottom>span{font-size:9px;letter-spacing:3px}.qq-welcome{display:flex;flex-direction:column;align-items:center;text-align:center;padding:60px 15px 35px}.qq-welcome>.kanon-avatar-frame{margin-bottom:28px}.qq-welcome-tag{color:#92afc5;letter-spacing:2px;font-size:9px}.qq-welcome h3{color:#52758d;line-height:1.7;font-size:24px;margin:13px 0;font-weight:500}.qq-welcome>p{color:#a0b1bf;font-size:11px;line-height:2;margin:0 0 23px}.qq-welcome-prompts{display:flex;flex-direction:column;gap:7px;width:min(250px,100%)}.qq-welcome-prompts button{display:flex;justify-content:space-between;border:1px solid #e2edf4;border-radius:8px;padding:10px 13px;background:#ffffffb0;color:#8aa4b7;font-size:10px}.qq-welcome>.primary{margin-top:18px}.thinking-controls{display:flex;gap:8px;align-items:center}.thinking-controls button{display:flex;align-items:center;gap:5px;background:none;border:0;font-size:11px;color:#9ba7ba}.thinking-controls button.selected{color:#798cd5}.thinking-controls select{background:#f5f7fc;font-size:10px;border:1px solid #e8edf5;border-radius:5px;padding:4px}@keyframes typing-pulse{0%,75%,to{opacity:.35;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}@keyframes bubble-arrive{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1300px){.qq-window{grid-template-columns:162px minmax(250px,1fr) 196px}.qq-window.profile-hidden{grid-template-columns:162px minmax(250px,1fr)}.social-page{padding:25px 22px}.qq-contact{gap:8px;padding-left:7px}.qq-contact .kanon-avatar-frame{width:35px;height:35px;flex-basis:35px}}@media(max-width:1100px){.qq-window,.qq-window.profile-hidden{grid-template-columns:minmax(0,1fr)}.qq-contacts,.qq-profile{display:none}.qq-window:not(.profile-hidden) .qq-profile{position:absolute;right:22px;top:110px;width:225px;max-height:calc(100% - 140px);display:block;z-index:8;box-shadow:-15px 5px 40px #375a7a20;border:1px solid #e0eaf3;border-radius:12px}.social-page{position:relative}}@media(max-width:700px){.social-page{padding:14px 10px 10px;gap:13px}.social-page-heading h1{font-size:20px}.social-page-heading h1 span,.social-heading-stars{display:none}.social-page-heading .eyebrow{font-size:8px}.qq-window{border-radius:12px}.qq-chat-header{padding:14px 17px;height:75px}.qq-message-scroll{padding:7px 15px 15px}.qq-composer{padding:10px 14px}.qq-composer-tools>span{font-size:8px}.qq-welcome{padding-top:38px}.qq-message-content{max-width:80%}.qq-window:not(.profile-hidden) .qq-profile{top:83px;right:14px;max-height:calc(100% - 115px)}}@media(prefers-reduced-motion:reduce){.qq-message,.qq-typing span{animation:none!important}}.access-page{min-height:100dvh;display:grid;place-items:center;padding:28px 18px;background:radial-gradient(ellipse at 18% 20%,#d9f4f7 0,transparent 48%),radial-gradient(ellipse at 82% 80%,#ede5f8 0,transparent 50%),#f5f8fb}.access-card{width:min(100%,430px);padding:38px;background:#ffffffed;border:1px solid #ffffff;border-radius:28px;box-shadow:0 24px 80px #54758919;text-align:center}.access-card>.kanon-mark{margin:0 auto 14px}.access-eyebrow{color:#6693a2;font-size:11px;letter-spacing:3px}.access-card h1{margin:12px 0;font-size:26px;color:#334e60}.access-description{color:#78909e;font-size:13px;margin-bottom:30px}.access-card form{text-align:left}.access-card label{display:grid;gap:9px;margin-top:18px;font-size:13px;color:#4d6778}.access-card input{width:100%;padding:12px 14px;border-radius:12px;border:1px solid #dce6eb;background:#f9fcfd;color:#334e60}.access-card input:focus{outline:2px solid #8ccfdd;outline-offset:2px}.access-submit{width:100%;justify-content:center;margin-top:24px;padding:13px}.access-error{color:#b45353;font-size:13px;line-height:1.6;margin-top:16px}.access-note{display:flex;align-items:center;justify-content:center;gap:7px;margin:25px 0 0;color:#97a9b4;font-size:11px}.access-loading{min-height:80px;display:grid;place-items:center;gap:12px}.access-loading p{font-size:13px;color:#b45353}.account-access{margin:12px;display:flex;gap:10px;align-items:center;justify-content:space-between;color:#7b919d;font-size:12px}.account-access button{border:0;background:transparent;color:#6c8898;cursor:pointer}@media(max-width:480px){.access-card{padding:30px 24px}}
