.unicode-emoji-picker{position:absolute;left:0;width:320px;height:400px;background:#ffffff;border:1px solid #e1e8ed;border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.12);z-index:2147483647;display:flex;flex-direction:column;overflow:hidden;animation:emojiPickerSlideUp .2s ease-out}.unicode-emoji-picker.picker-top{bottom:100%;margin-bottom:8px}.unicode-emoji-picker.picker-bottom{top:100%;margin-top:8px}@keyframes emojiPickerSlideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.emoji-picker-header{background:#f8f9fa;border-bottom:1px solid #e1e8ed;padding:8px;flex-shrink:0}.emoji-categories{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.emoji-categories::-webkit-scrollbar{display:none}.category-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:8px;background:transparent;cursor:pointer;transition:all .2s ease;flex-shrink:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.category-btn:hover{background:#e9ecef}.category-btn.active{background:#007bff;color:white}.category-icon{font-size:18px;line-height:1}.emoji-picker-content{flex:1;overflow:hidden;position:relative;touch-action:pan-y}.emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;padding:12px;height:100%;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#c1c1c1 transparent;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior:contain}.emoji-grid::-webkit-scrollbar{width:6px}.emoji-grid::-webkit-scrollbar-track{background:transparent}.emoji-grid::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.emoji-grid::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.emoji-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:6px;background:transparent;cursor:pointer;font-size:20px;line-height:1;transition:all .15s ease;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.emoji-btn:hover{background:#f0f2f5;transform:scale(1.1)}.emoji-btn:active{transform:scale(.95);background:#e4e6eb}@media (max-width:480px){.unicode-emoji-picker{width:90vw;height:35vh;left:5vw;right:5vw;border-radius:12px;margin-bottom:0;max-width:320px;max-height:280px}.emoji-picker-header{padding:6px}.emoji-grid{grid-template-columns:repeat(7,1fr);gap:3px;padding:12px}.emoji-btn{font-size:18px}.category-btn,.emoji-btn{width:32px;height:32px}.category-icon{font-size:16px}}@media (max-width:360px){.unicode-emoji-picker{width:85vw;height:30vh;left:7.5vw;right:7.5vw;border-radius:12px;margin-bottom:0;max-width:280px;max-height:240px}.emoji-picker-header{padding:4px}.emoji-grid{grid-template-columns:repeat(6,1fr);gap:2px;padding:8px}.emoji-btn{font-size:16px}.category-btn,.emoji-btn{width:28px;height:28px}.category-icon{font-size:14px}}@media (max-width:320px){.unicode-emoji-picker{width:80vw;height:25vh;left:10vw;right:10vw;border-radius:12px;margin-bottom:0;max-width:240px;max-height:200px}.emoji-picker-header{padding:3px}.emoji-grid{grid-template-columns:repeat(5,1fr);gap:2px;padding:6px}.emoji-btn{font-size:14px}.category-btn,.emoji-btn{width:24px;height:24px}.category-icon{font-size:12px}}@media (prefers-color-scheme:dark){.unicode-emoji-picker{background:#1a1a1a;border-color:#333;box-shadow:0 8px 32px rgba(0,0,0,.3)}.emoji-picker-header{background:#2d2d2d;border-color:#333}.category-btn:hover{background:#404040}.category-btn.active{background:#007bff}.emoji-btn:hover{background:#404040}.emoji-btn:active{background:#505050}}.unicode-emoji-btn{display:flex;align-items:center;justify-content:center;min-width:70px;min-height:36px;border:none;border-radius:8px;background:transparent;cursor:pointer;transition:all .2s ease;color:#666;position:relative}.unicode-emoji-btn:hover{background:#f0f2f5;color:#007bff}.unicode-emoji-btn:active{transform:scale(.95)}.unicode-emoji-btn svg{width:18px;height:18px}@media (max-width:767px){.unicode-emoji-btn{background:none!important;border:none!important;color:var(--theme-text-secondary,#666)!important;box-shadow:none!important;min-width:28px!important;min-height:28px!important;max-width:28px!important;max-height:28px!important;width:28px!important;height:28px!important;border-radius:50%!important;padding:4px!important}.unicode-emoji-btn:hover{background-color:var(--theme-bg-tertiary,#f0f0f0)!important;border:none!important;box-shadow:none!important}.unicode-emoji-btn svg{width:16px!important;height:16px!important}}@media (max-width:480px){.unicode-emoji-btn{background:none!important;border:none!important;color:var(--theme-text-secondary,#666)!important;box-shadow:none!important;min-width:32px!important;min-height:32px!important;max-width:32px!important;max-height:32px!important;width:32px!important;height:32px!important;border-radius:50%!important;padding:4px!important}.unicode-emoji-btn:hover{background-color:var(--theme-bg-tertiary,#f0f0f0)!important;border:none!important;box-shadow:none!important}.unicode-emoji-btn svg{width:18px!important;height:18px!important}}@media (max-width:360px){.unicode-emoji-btn{background:none!important;border:none!important;color:var(--theme-text-secondary,#666)!important;box-shadow:none!important;min-width:28px!important;min-height:28px!important;max-width:28px!important;max-height:28px!important;width:28px!important;height:28px!important;border-radius:50%!important;padding:3px!important}.unicode-emoji-btn:hover{background-color:var(--theme-bg-tertiary,#f0f0f0)!important;border:none!important;box-shadow:none!important}.unicode-emoji-btn svg{width:16px!important;height:16px!important}}.recollection-markdown-renderer{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.8;color:var(--theme-text-primary,#1f1f1f)}.recollection-markdown-content{margin-bottom:24px}.recollection-html-content{margin:16px 0;padding:20px;background:var(--theme-bg-secondary,#f8f9fa);border-radius:12px;border:1px solid var(--theme-border-color,#e0e0e0);box-shadow:var(--theme-shadow-light,0 2px 4px rgba(0,0,0,.05))}.recollection-h1{font-size:28px;font-weight:700;color:var(--theme-text-primary,#1f1f1f);margin:32px 0 16px;padding-bottom:8px;border-bottom:2px solid var(--theme-accent-color,#007bff);line-height:1.3}.recollection-h2{font-size:24px;margin:28px 0 14px;padding-bottom:6px;border-bottom:1px solid var(--theme-border-color,#e0e0e0)}.recollection-h2,.recollection-h3{font-weight:600;color:var(--theme-text-primary,#1f1f1f);line-height:1.3}.recollection-h3{font-size:20px;margin:24px 0 12px}.recollection-h4{font-size:18px;font-weight:600;color:var(--theme-text-primary,#1f1f1f);margin:20px 0 10px;line-height:1.3}.recollection-paragraph{margin:16px 0;font-size:16px;line-height:1.8;color:var(--theme-text-primary,#1f1f1f)}.recollection-bold{font-weight:600;color:var(--theme-text-primary,#1f1f1f)}.recollection-italic{font-style:italic;color:var(--theme-text-secondary,#6c757d)}.recollection-code-block{background:var(--theme-bg-tertiary,#f1f3f4);border:1px solid var(--theme-border-color,#e0e0e0);border-radius:8px;padding:16px;margin:20px 0;overflow-x:auto;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.5}.recollection-code-block code{background:none;padding:0;border:none;color:var(--theme-text-primary,#1f1f1f)}.recollection-inline-code{background:var(--theme-bg-tertiary,#f1f3f4);color:var(--theme-accent-color,#007bff);padding:2px 6px;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;font-weight:500}.recollection-ordered-list,.recollection-unordered-list{margin:16px 0;padding-left:24px}.recollection-list-item,.recollection-ordered-item{margin:8px 0;font-size:16px;line-height:1.6;color:var(--theme-text-primary,#1f1f1f)}.recollection-unordered-list{list-style-type:disc}.recollection-ordered-list{list-style-type:decimal}.recollection-blockquote{border-left:4px solid var(--theme-accent-color,#007bff);background:var(--theme-bg-secondary,#f8f9fa);margin:20px 0;padding:16px 20px;border-radius:0 8px 8px 0;font-style:italic;color:var(--theme-text-secondary,#6c757d);position:relative}.recollection-blockquote:before{content:none}.recollection-link{color:var(--theme-accent-color,#007bff);text-decoration:none;border-bottom:1px solid transparent;transition:all .2s ease}.recollection-link:hover{color:var(--theme-accent-hover,#0056b3);border-bottom-color:var(--theme-accent-hover,#0056b3)}.recollection-line-break{display:block;margin:8px 0}.recollection-markdown-renderer .recollection-html-content img{max-width:100%;height:auto;border-radius:8px;box-shadow:var(--theme-shadow-light,0 2px 8px rgba(0,0,0,.1));margin:16px 0}.recollection-markdown-renderer .recollection-html-content table{width:100%;border-collapse:collapse;margin:20px 0;background:var(--theme-bg-primary,#ffffff);border-radius:8px;overflow:hidden;box-shadow:var(--theme-shadow-light,0 2px 4px rgba(0,0,0,.05))}.recollection-markdown-renderer .recollection-html-content td,.recollection-markdown-renderer .recollection-html-content th{padding:12px 16px;text-align:left;border-bottom:1px solid var(--theme-border-color,#e0e0e0)}.recollection-markdown-renderer .recollection-html-content th{background:var(--theme-bg-secondary,#f8f9fa);font-weight:600;color:var(--theme-text-primary,#1f1f1f)}@media (max-width:768px){.recollection-h1{font-size:24px;margin:24px 0 12px}.recollection-h2{font-size:20px;margin:20px 0 10px}.recollection-h3{font-size:18px;margin:18px 0 8px}.recollection-h4{font-size:16px;margin:16px 0 6px}.recollection-paragraph{font-size:15px;margin:12px 0}.recollection-code-block{padding:12px;font-size:13px}.recollection-html-content{padding:16px;margin:12px 0}.recollection-ordered-list,.recollection-unordered-list{padding-left:20px}}.theme-dark .recollection-markdown-renderer{color:var(--theme-text-primary,#ffffff)}.theme-dark .recollection-html-content{background:var(--theme-bg-secondary,#2d2d2d);border-color:var(--theme-border-color,#404040)}.theme-dark .recollection-code-block{background:var(--theme-bg-tertiary,#404040);border-color:var(--theme-border-color,#404040);color:var(--theme-text-primary,#ffffff)}.theme-dark .recollection-inline-code{background:var(--theme-bg-tertiary,#404040);color:var(--theme-accent-color,#66b3ff)}.theme-dark .recollection-blockquote{background:var(--theme-bg-secondary,#2d2d2d);border-color:var(--theme-accent-color,#66b3ff);color:var(--theme-text-secondary,#b0b0b0)}.theme-dark .recollection-blockquote:before{color:var(--theme-accent-color,#66b3ff)}.theme-dark .recollection-markdown-renderer .recollection-html-content table{background:var(--theme-bg-primary,#1a1a1a)}.theme-dark .recollection-markdown-renderer .recollection-html-content th{background:var(--theme-bg-secondary,#2d2d2d);color:var(--theme-text-primary,#ffffff)}.theme-dark .recollection-markdown-renderer .recollection-html-content td,.theme-dark .recollection-markdown-renderer .recollection-html-content th{border-color:var(--theme-border-color,#404040)}.recollection-markdown-renderer *{transition:background-color .3s ease,color .3s ease,border-color .3s ease}.recollection-memory-summary-btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;background:var(--theme-bg-secondary,#f8f9fa);border:1px solid var(--theme-border-color,#e0e0e0);border-radius:999px;color:var(--theme-text-primary,#1f1f1f);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;height:36px;min-height:36px;max-height:36px;box-sizing:border-box}.recollection-memory-summary-btn:hover:not(:disabled){background:var(--theme-accent-color,#007bff);color:white;border-color:var(--theme-accent-color,#007bff);transform:translateY(-1px)}.recollection-memory-summary-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.recollection-memory-summary-btn .btn-icon{display:none}.recollection-memory-summary-btn .btn-text{font-size:12px}.recollection-memory-summary-modal,.recollection-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:10004;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box}.recollection-modal-overlay{background:rgba(0,0,0,.5);backdrop-filter:blur(4px);cursor:pointer;transition:all .2s ease;overflow:auto}.recollection-modal-overlay.locked{cursor:not-allowed;background:rgba(0,0,0,.6)}.recollection-modal{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--theme-bg-primary,#ffffff);border-radius:12px;box-shadow:var(--theme-shadow-heavy,0 4px 16px rgba(0,0,0,.2));max-width:600px;width:90%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}@keyframes recollection-modal-slide-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.recollection-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--theme-border-color,#e0e0e0);background:var(--theme-bg-secondary,#f8f9fa)}.recollection-modal-header h3{margin:0;font-size:18px;font-weight:600;color:var(--theme-text-primary,#1f1f1f)}.recollection-modal-close{background:none;border:none;font-size:24px;color:var(--theme-text-secondary,#6c757d);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.recollection-modal-close:hover{background:var(--theme-bg-tertiary,#e9ecef);color:var(--theme-text-primary,#1f1f1f)}.recollection-modal-close.disabled{color:var(--theme-text-tertiary,#adb5bd);cursor:not-allowed;opacity:.5}.recollection-modal-close.disabled:hover{background:none;color:var(--theme-text-tertiary,#adb5bd)}.recollection-modal-body{flex:1;padding:24px;overflow-y:auto;overflow-x:hidden;position:relative}.recollection-manual-panel{margin-bottom:24px}.recollection-generating{text-align:center;padding:40px 20px}.recollection-generating .recollection-spinner{width:40px;height:40px;border-top:3px solid var(--theme-border-light,#e9ecef);border:3px solid var(--theme-border-light,#e9ecef);border-top-color:var(--theme-accent-color,#007bff);border-radius:50%;animation:recollection-memory-spin 1s linear infinite;margin:0 auto 20px}@keyframes recollection-memory-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.recollection-generating p{margin:0 0 16px;color:var(--theme-text-secondary,#6c757d);font-size:16px}.recollection-lock-notice{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:var(--theme-bg-tertiary,#f8f9fa);border:1px solid var(--theme-border-color,#e0e0e0);border-radius:8px;margin-top:16px;font-size:14px;color:var(--theme-text-secondary,#6c757d)}.recollection-lock-icon{font-size:16px;opacity:.8}.recollection-streaming-preview{margin-top:24px;padding:20px;background:var(--theme-bg-secondary,#f8f9fa);border:1px solid var(--theme-border-color,#e0e0e0);border-radius:8px;max-height:300px;overflow-y:auto}.recollection-streaming-preview h5{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--theme-text-primary,#1f1f1f);display:flex;align-items:center;gap:8px}.recollection-streaming-preview h5:before{content:"⚡";font-size:16px;animation:recollection-streaming-pulse 1.5s ease-in-out infinite}@keyframes recollection-streaming-pulse{0%,to{opacity:1}50%{opacity:.5}}.recollection-streaming-content{position:relative;background:var(--theme-bg-primary,#ffffff);border:1px solid var(--theme-border-light,#e9ecef);border-radius:6px;padding:16px;line-height:1.6;color:var(--theme-text-primary,#1f1f1f);font-size:14px;min-height:100px}.recollection-streaming-cursor{display:inline-block;color:var(--theme-accent-color,#007bff);font-weight:700;animation:recollection-cursor-blink 1s infinite;margin-left:2px}@keyframes recollection-cursor-blink{0%,50%{opacity:1}51%,to{opacity:0}}.recollection-streaming-content .recollection-markdown-renderer{font-size:14px;line-height:1.6}.recollection-streaming-content .recollection-h1{font-size:18px;margin:12px 0 6px;color:var(--theme-text-primary,#1f1f1f)}.recollection-streaming-content .recollection-h2{font-size:16px;margin:10px 0 4px;color:var(--theme-text-primary,#1f1f1f)}.recollection-streaming-content .recollection-h3{font-size:15px;margin:8px 0 3px;color:var(--theme-text-primary,#1f1f1f)}.recollection-streaming-content .recollection-paragraph{margin:6px 0;font-size:14px}.recollection-streaming-content .recollection-blockquote{margin:8px 0;padding:8px 12px;border-left:3px solid var(--theme-accent-color,#007bff);background:var(--theme-bg-tertiary,#f1f3f4);border-radius:0 4px 4px 0}.recollection-streaming-content .recollection-ordered-list,.recollection-streaming-content .recollection-unordered-list{margin:6px 0;padding-left:16px}.recollection-streaming-content .recollection-list-item,.recollection-streaming-content .recollection-ordered-item{margin:3px 0;font-size:14px}.recollection-error{text-align:center;padding:40px 20px}.recollection-error p{margin:0 0 20px;color:var(--theme-error-color,#dc3545);font-size:16px}.recollection-retry-btn{padding:10px 20px;background:var(--theme-accent-color,#007bff);color:white;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.recollection-retry-btn:hover{background:var(--theme-accent-hover,#0056b3);transform:translateY(-1px)}.recollection-start{text-align:center;padding:4px 20px 20px;margin-top:-24px}.recollection-start p{margin:0 0 16px;color:var(--theme-text-secondary,#6c757d);line-height:1.6;font-size:14px}.recollection-tips-hidden{display:none!important}.recollection-mode-select{display:inline-flex;align-items:center;gap:10px;margin-top:0;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--theme-border-color,#e0e0e0);position:relative}.recollection-mode-select label{font-size:13px;color:var(--theme-text-secondary,#6c757d)}.recollection-mode-help-btn{width:20px;height:20px;border-radius:50%;border:1px solid var(--theme-border-color,#e0e0e0);background:var(--theme-bg-tertiary,rgba(148,163,184,.2));color:var(--theme-text-secondary,#6c757d);font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0;flex-shrink:0}.recollection-mode-help-btn:hover{background:var(--theme-accent-color,#3b82f6);color:#ffffff;border-color:var(--theme-accent-color,#3b82f6);transform:scale(1.1)}.recollection-mode-help-tooltip{position:absolute;top:calc(100% + 8px);left:0;right:auto;z-index:1000;width:320px;max-width:min(90vw,calc(100vw - 48px));max-height:calc(100vh - 200px);overflow:visible;contain:layout style}.recollection-modal-body .recollection-mode-help-tooltip{max-width:calc(100% - 48px)}.recollection-manual-panel{position:relative;overflow:visible}.recollection-mode-help-tooltip[data-position*=left],.recollection-mode-help-tooltip[data-position=left]{left:auto;right:0}.recollection-mode-help-tooltip[data-position*=top],.recollection-mode-help-tooltip[data-position=top]{top:auto;bottom:calc(100% + 8px)}.recollection-mode-help-tooltip-content{position:relative;background:var(--theme-bg-primary,#ffffff);border:1px solid var(--theme-border-color,#e0e0e0);border-radius:12px;padding:40px 16px 16px;box-shadow:0 4px 20px rgba(0,0,0,.15);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);max-height:100%;overflow-y:auto;word-wrap:break-word;overflow-wrap:break-word;box-sizing:border-box}.recollection-mode-help-tooltip-content::-webkit-scrollbar{width:6px}.recollection-mode-help-tooltip-content::-webkit-scrollbar-track{background:transparent}.recollection-mode-help-tooltip-content::-webkit-scrollbar-thumb{background:var(--theme-border-color,#e0e0e0);border-radius:3px}.recollection-mode-help-tooltip-content::-webkit-scrollbar-thumb:hover{background:var(--theme-text-secondary,#6c757d)}.recollection-mode-help-tooltip-content p{margin:0 0 12px;color:var(--theme-text-primary,#1f1f1f);line-height:1.6;font-size:13px}.recollection-mode-help-tooltip-content p:last-child{margin-bottom:0}.recollection-mode-help-close{position:absolute;top:8px;right:8px;width:24px;height:24px;border:none;background:transparent;color:var(--theme-text-secondary,#6c757d);font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease;padding:0}.recollection-mode-help-close:hover{background:var(--theme-bg-tertiary,rgba(0,0,0,.05));color:var(--theme-text-primary,#1f1f1f)}.recollection-mode-select-input{appearance:none;-webkit-appearance:none;padding:6px 10px;border-radius:8px;border:1px solid var(--theme-border-color,#e0e0e0);background:var(--theme-bg-primary,#ffffff);color:var(--theme-text-primary,#1f1f1f);font-size:13px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.recollection-mode-select-input:focus,.recollection-mode-select-input:hover{border-color:var(--theme-accent-color,#007bff)}.recollection-mode-select-input:focus{outline:none;box-shadow:0 0 0 3px rgba(0,123,255,.12)}.theme-dark .recollection-mode-select{background:rgba(32,32,32,.5);border-color:var(--theme-border-color,#404040)}.theme-dark .recollection-mode-help-btn{background:var(--theme-bg-tertiary,rgba(148,163,184,.15));color:var(--theme-text-secondary,rgba(241,245,249,.7));border-color:var(--theme-border-color,rgba(255,255,255,.1))}.theme-dark .recollection-mode-help-btn:hover{background:var(--theme-accent-color,#3b82f6);color:#ffffff;border-color:var(--theme-accent-color,#3b82f6)}.theme-dark .recollection-mode-help-tooltip-content{background:var(--theme-bg-primary,#1a1a1a);border-color:var(--theme-border-color,#404040);color:var(--theme-text-primary,#f1f5f9)}.theme-dark .recollection-mode-help-tooltip-content p{color:var(--theme-text-primary,#f1f5f9)}.theme-dark .recollection-mode-help-close{color:var(--theme-text-secondary,rgba(241,245,249,.7))}.theme-dark .recollection-mode-help-close:hover{background:var(--theme-bg-tertiary,rgba(255,255,255,.1));color:var(--theme-text-primary,#f1f5f9)}.theme-light .recollection-mode-help-tooltip-content{background:var(--theme-bg-primary,#ffffff);border-color:var(--theme-border-color,#e0e0e0)}.theme-light .recollection-mode-help-tooltip-content p{color:var(--theme-text-primary,#1f1f1f)}.theme-dark .recollection-mode-select-input{background:var(--theme-bg-primary,#1a1a1a);color:var(--theme-text-primary,#ffffff);border-color:var(--theme-border-color,#404040)}.recollection-generate-btn{padding:12px 24px;background:var(--theme-accent-color,#007bff);color:white;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:20px}.recollection-generate-btn:hover{background:var(--theme-accent-hover,#0056b3);transform:translateY(-2px);box-shadow:var(--theme-shadow-medium,0 4px 12px rgba(0,0,0,.1))}.recollection-message-range{margin:20px 0;padding:20px;background:var(--theme-bg-tertiary,#f1f3f4);border:1px solid var(--theme-border-color,#e0e0e0);border-radius:8px}.recollection-message-range h4{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--theme-text-primary,#1f1f1f)}.recollection-range-options{display:flex;flex-direction:column;gap:16px}.recollection-range-option-group{background:var(--theme-bg-primary,#ffffff);border:1px solid var(--theme-border-color,#e0e0e0);border-radius:8px;padding:16px;margin-bottom:16px}.recollection-range-option-group:last-child{margin-bottom:0}.recollection-range-header{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--theme-border-light,#f0f0f0)}.recollection-range-header input[type=radio]{margin:0;cursor:pointer}.recollection-range-header span{font-size:14px;color:var(--theme-text-primary,#1f1f1f);font-weight:500}.recollection-range-input-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.recollection-range-input-row:last-child{margin-bottom:0}.recollection-range-input-row span{font-size:13px;color:var(--theme-text-secondary,#6c757d);white-space:nowrap}.recollection-range-slider-row{display:flex;justify-content:center;margin-top:8px}.recollection-range-option{display:flex;align-items:center;gap:12px;padding:12px;background:var(--theme-bg-primary,#ffffff);border:1px solid var(--theme-border-color,#e0e0e0);border-radius:6px;cursor:pointer;transition:all .2s ease}.recollection-range-option:hover{border-color:var(--theme-accent-color,#007bff);background:var(--theme-bg-secondary,#f8f9fa)}.recollection-range-option input[type=radio]{margin:0;cursor:pointer}.recollection-range-option span{font-size:14px;color:var(--theme-text-primary,#1f1f1f);font-weight:500}.recollection-input-group{display:flex;flex-direction:column;gap:8px;align-items:center}.recollection-count-input,.recollection-range-input{width:80px;padding:6px 8px;border:1px solid var(--theme-border-color,#e0e0e0);border-radius:4px;font-size:14px;text-align:center;background:var(--theme-bg-primary,#ffffff);color:var(--theme-text-primary,#1f1f1f)}.recollection-count-slider,.recollection-range-slider{width:120px;height:6px;border-radius:3px;background:#e0e0e0;outline:none;-webkit-appearance:none;appearance:none;cursor:pointer}.recollection-count-slider::-webkit-slider-thumb,.recollection-range-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#666666;cursor:pointer;border:2px solid #ffffff;box-shadow:0 2px 4px rgba(0,0,0,.1);transition:all .2s ease}.recollection-count-slider::-webkit-slider-thumb:hover,.recollection-range-slider::-webkit-slider-thumb:hover{background:#333333;transform:scale(1.1)}.recollection-count-slider::-moz-range-thumb,.recollection-range-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#666666;cursor:pointer;border:2px solid #ffffff;box-shadow:0 2px 4px rgba(0,0,0,.1);transition:all .2s ease}.recollection-count-slider::-moz-range-thumb:hover,.recollection-range-slider::-moz-range-thumb:hover{background:#333333;transform:scale(1.1)}.recollection-count-slider:disabled,.recollection-range-slider:disabled{background:#f1f3f4;cursor:not-allowed}.recollection-count-slider:disabled::-webkit-slider-thumb,.recollection-range-slider:disabled::-webkit-slider-thumb{background:#adb5bd;cursor:not-allowed}.recollection-count-slider:disabled::-moz-range-thumb,.recollection-range-slider:disabled::-moz-range-thumb{background:#adb5bd;cursor:not-allowed}.recollection-count-input:disabled,.recollection-range-input:disabled{background:var(--theme-bg-tertiary,#f1f3f4);color:var(--theme-text-tertiary,#adb5bd);cursor:not-allowed}.recollection-custom-range{display:flex;align-items:flex-start;gap:12px;margin-left:8px;flex-wrap:wrap}.recollection-custom-range span{font-size:13px;color:var(--theme-text-secondary,#6c757d)}.recollection-range-info{margin-top:16px;padding:12px;background:var(--theme-bg-secondary,#f8f9fa);border-radius:6px;border-left:3px solid var(--theme-accent-color,#007bff)}.recollection-range-info p{margin:0 0 4px;font-size:13px;color:var(--theme-text-secondary,#6c757d)}.recollection-range-info p:last-child{margin-bottom:0;font-weight:500;color:var(--theme-text-primary,#1f1f1f)}.recollection-summary-result{padding:0}.recollection-summary-result h4{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--theme-text-primary,#1f1f1f)}.recollection-summary-content{background:var(--theme-bg-secondary,#f8f9fa);border:1px solid var(--theme-border-color,#e0e0e0);border-radius:8px;padding:20px;margin-bottom:20px;color:var(--theme-text-primary,#1f1f1f);max-height:300px;overflow-y:auto}.recollection-summary-content,.recollection-summary-content .recollection-markdown-renderer{line-height:1.6;font-size:14px}.recollection-summary-content .recollection-h1{font-size:20px;margin:16px 0 8px}.recollection-summary-content .recollection-h2{font-size:18px;margin:14px 0 6px}.recollection-summary-content .recollection-h3{font-size:16px;margin:12px 0 4px}.recollection-summary-content .recollection-paragraph{margin:8px 0;font-size:14px}.recollection-summary-content .recollection-code-block{font-size:12px;padding:12px;margin:12px 0}.recollection-summary-content .recollection-inline-code{font-size:13px;padding:2px 4px}.recollection-summary-content .recollection-html-content{padding:12px;margin:8px 0}.recollection-summary-content .recollection-blockquote{margin:12px 0;padding:12px 16px}.recollection-summary-content .recollection-ordered-list,.recollection-summary-content .recollection-unordered-list{margin:8px 0;padding-left:20px}.recollection-summary-content .recollection-list-item,.recollection-summary-content .recollection-ordered-item{margin:4px 0;font-size:14px}.recollection-token-stats{background:var(--theme-bg-tertiary,#f1f3f4);border:1px solid var(--theme-border-light,#e9ecef);border-radius:8px;padding:16px;margin-bottom:20px}.recollection-token-stats h5{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--theme-text-primary,#1f1f1f)}.recollection-token-details{display:flex;flex-direction:column;gap:8px}.recollection-token-item{display:flex;justify-content:space-between;align-items:center;padding:6px 0}.recollection-token-item.recollection-token-total{border-top:1px solid var(--theme-border-color,#e0e0e0);padding-top:12px;margin-top:4px;font-weight:600}.recollection-token-label{font-size:13px;color:var(--theme-text-secondary,#6c757d)}.recollection-token-value{font-size:13px;font-weight:500;color:var(--theme-text-primary,#1f1f1f);background:var(--theme-accent-color,#007bff);color:white;padding:2px 8px;border-radius:4px;min-width:40px;text-align:center}.recollection-token-item.recollection-token-total .recollection-token-value{background:var(--theme-success-color,#28a745);font-weight:600}.recollection-summary-actions{display:flex;gap:12px;justify-content:center}.recollection-complete-btn,.recollection-regenerate-btn,.recollection-save-btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.recollection-save-btn{background:var(--theme-success-color,#28a745);color:white}.recollection-save-btn:hover{background:#218838;transform:translateY(-1px)}.recollection-regenerate-btn{background:var(--theme-bg-tertiary,#e9ecef);color:var(--theme-text-secondary,#6c757d);border:1px solid var(--theme-border-color,#e0e0e0)}.recollection-regenerate-btn:hover{background:var(--theme-border-light,#e9ecef);color:var(--theme-text-primary,#1f1f1f)}.recollection-complete-btn{background:var(--theme-accent-color,#007bff);color:white}.recollection-complete-btn:hover{background:var(--theme-accent-hover,#0056b3);transform:translateY(-1px)}@media (max-width:767px){.recollection-memory-summary-btn{padding:8px 16px!important;min-width:70px!important;height:36px!important;min-height:36px!important;max-height:36px!important;font-size:13px!important}}@media (max-width:480px){.recollection-memory-summary-btn{padding:8px 16px!important;min-width:70px!important;height:36px!important;min-height:36px!important;max-height:36px!important;font-size:13px!important}}@media (max-width:360px){.recollection-memory-summary-btn{padding:8px 16px!important;min-width:70px!important;height:36px!important;min-height:36px!important;max-height:36px!important;font-size:13px!important}}@media (max-width:768px){.recollection-memory-summary-modal{padding:10px}.recollection-modal{max-height:90vh}.recollection-modal-header{padding:16px 20px}.recollection-modal-body{padding:20px}.recollection-summary-actions{flex-direction:column}.recollection-mode-help-tooltip{width:calc(100vw - 32px);max-width:calc(100vw - 32px);left:0;right:0;margin-left:auto;margin-right:auto}.recollection-mode-help-tooltip[data-position*=left],.recollection-mode-help-tooltip[data-position=left]{left:0;right:0}.recollection-complete-btn,.recollection-regenerate-btn,.recollection-save-btn{width:100%}.recollection-range-options{gap:12px}.recollection-range-option{flex-direction:column;align-items:flex-start;gap:8px}.recollection-custom-range{margin-left:0;flex-wrap:wrap}.recollection-count-input,.recollection-count-slider,.recollection-range-input,.recollection-range-slider{width:100px}.recollection-input-group{gap:6px}}.theme-dark .recollection-memory-summary-btn{background:var(--theme-bg-secondary,#2d2d2d);border-color:var(--theme-border-color,#404040);color:var(--theme-text-primary,#ffffff)}.theme-dark .recollection-modal{background:var(--theme-bg-primary,#1a1a1a)}.theme-dark .recollection-modal-header,.theme-dark .recollection-summary-content{background:var(--theme-bg-secondary,#2d2d2d);border-color:var(--theme-border-color,#404040)}.theme-dark .recollection-summary-content{color:var(--theme-text-primary,#ffffff)}.theme-dark .recollection-token-stats{background:var(--theme-bg-secondary,#2d2d2d)}.theme-dark .recollection-token-item.recollection-token-total,.theme-dark .recollection-token-stats{border-color:var(--theme-border-color,#404040)}.theme-dark .recollection-lock-notice{color:var(--theme-text-secondary,#b0b0b0)}.theme-dark .recollection-lock-notice,.theme-dark .recollection-message-range{background:var(--theme-bg-secondary,#2d2d2d);border-color:var(--theme-border-color,#404040)}.theme-dark .recollection-range-option{background:var(--theme-bg-primary,#1a1a1a);border-color:var(--theme-border-color,#404040)}.theme-dark .recollection-range-option:hover{background:var(--theme-bg-secondary,#2d2d2d);border-color:var(--theme-accent-color,#66b3ff)}.theme-dark .recollection-count-input,.theme-dark .recollection-range-input{background:var(--theme-bg-primary,#1a1a1a);border-color:var(--theme-border-color,#404040);color:var(--theme-text-primary,#ffffff)}.theme-dark .recollection-count-input:disabled,.theme-dark .recollection-range-input:disabled{background:var(--theme-bg-tertiary,#404040);color:var(--theme-text-tertiary,#666666)}.theme-dark .recollection-range-info{background:var(--theme-bg-secondary,#2d2d2d)}.theme-dark .recollection-range-option-group{background:var(--theme-bg-primary,#1a1a1a)}.theme-dark .recollection-range-header,.theme-dark .recollection-range-option-group,.theme-dark .recollection-streaming-preview{border-color:var(--theme-border-color,#404040)}.theme-dark .recollection-streaming-preview{background:var(--theme-bg-secondary,#2d2d2d)}.theme-dark .recollection-streaming-preview h5{color:var(--theme-text-primary,#ffffff)}.theme-dark .recollection-streaming-content{background:var(--theme-bg-primary,#1a1a1a);border-color:var(--theme-border-color,#404040);color:var(--theme-text-primary,#ffffff)}.theme-dark .recollection-streaming-content .recollection-h1,.theme-dark .recollection-streaming-content .recollection-h2,.theme-dark .recollection-streaming-content .recollection-h3{color:var(--theme-text-primary,#ffffff)}.theme-dark .recollection-streaming-content .recollection-blockquote{background:var(--theme-bg-secondary,#2d2d2d);border-left-color:var(--theme-accent-color,#66b3ff)}.recollection-count-input,.recollection-memory-summary-btn,.recollection-message-range,.recollection-modal,.recollection-modal-header,.recollection-range-header,.recollection-range-info,.recollection-range-input,.recollection-range-option,.recollection-range-option-group,.recollection-summary-content,.recollection-token-item,.recollection-token-stats{transition:background-color .3s ease,color .3s ease,border-color .3s ease}.auto-memory-summary-card{border:1px solid var(--theme-border-color,rgba(255,255,255,.08));border-radius:12px;background:var(--theme-bg-secondary,rgba(15,18,25,.6));padding:16px;margin:24px 0 20px;color:var(--theme-text-primary,#f1f5f9)}.auto-memory-summary-card__header{margin-bottom:12px}.auto-memory-summary-card__title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.auto-memory-summary-card__header h4{margin:0;font-size:16px;font-weight:600;color:var(--theme-text-primary,#f1f5f9)}.auto-memory-summary-card__status{margin:4px 0 0;font-size:12px;color:var(--theme-text-secondary,rgba(241,245,249,.7))}.auto-memory-summary-card__description{margin:4px 0 0;font-size:12px;color:var(--theme-text-tertiary,rgba(241,245,249,.6))}.auto-memory-summary-card__body{display:grid;gap:12px}.auto-memory-summary-field label{display:block;font-size:13px;color:var(--theme-text-primary,rgba(241,245,249,.85));margin-bottom:4px}.auto-memory-summary-field select{width:100%;padding:8px 10px;border-radius:8px;border:1px solid var(--theme-border-color,rgba(255,255,255,.12));background:var(--theme-bg-primary,rgba(12,16,24,.8));color:var(--theme-text-primary,#f1f5f9)}.auto-memory-summary-field__row{display:flex;gap:8px;align-items:center}.auto-memory-summary-refresh{width:32px;height:32px;border-radius:8px;border:1px solid var(--theme-border-color,rgba(255,255,255,.12));background:var(--theme-bg-primary,rgba(12,16,24,.8));color:var(--theme-text-primary,#f1f5f9);cursor:pointer}.auto-memory-summary-refresh:disabled{cursor:not-allowed;opacity:.6}.auto-memory-summary-hint{font-size:12px;line-height:1.6;color:var(--theme-text-secondary,rgba(241,245,249,.7));background:var(--theme-bg-tertiary,rgba(12,16,24,.6));border-radius:8px;padding:10px}.auto-memory-summary-card__footer{display:flex;justify-content:flex-end;margin-top:12px}.auto-memory-summary-actions{display:flex;gap:10px;width:100%;justify-content:flex-end}.auto-memory-summary-reset,.auto-memory-summary-save{padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;justify-content:center;min-width:80px;position:relative;overflow:hidden}.auto-memory-summary-reset{background:var(--theme-bg-tertiary,rgba(148,163,184,.2));color:var(--theme-text-secondary,rgba(241,245,249,.8));border:1px solid var(--theme-border-color,rgba(255,255,255,.12))}.auto-memory-summary-reset:hover:not(:disabled){background:var(--theme-bg-tertiary,rgba(148,163,184,.3));color:var(--theme-text-primary,#f1f5f9);border-color:var(--theme-border-color,rgba(255,255,255,.2));transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.15)}.auto-memory-summary-reset:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 4px rgba(0,0,0,.1)}.auto-memory-summary-save{background:var(--theme-accent-color,#3b82f6);color:#ffffff;border:1px solid transparent;box-shadow:0 2px 4px rgba(59,130,246,.2)}.auto-memory-summary-save:hover:not(:disabled){background:var(--theme-accent-hover,#2563eb);transform:translateY(-1px);box-shadow:0 4px 12px rgba(59,130,246,.3)}.auto-memory-summary-save:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px rgba(59,130,246,.25)}.auto-memory-summary-reset:disabled,.auto-memory-summary-save:disabled{opacity:.5;cursor:not-allowed;transform:none}.auto-memory-summary-reset:disabled:hover,.auto-memory-summary-save:disabled:hover{transform:none;box-shadow:none}.auto-memory-summary-run-now{padding:8px 16px;border-radius:999px;border:none;background:var(--theme-accent-color,linear-gradient(135deg,#3b82f6,#6366f1));color:#fff;font-weight:600;cursor:pointer}.auto-memory-summary-run-now:disabled{opacity:.6;cursor:not-allowed}.auto-memory-summary-switch{position:relative;display:inline-block;width:36px;height:20px;cursor:pointer}.auto-memory-summary-switch input{opacity:0;width:0;height:0;position:absolute}.auto-memory-summary-switch__slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--theme-bg-tertiary,rgba(148,163,184,.4));transition:all .2s ease;border-radius:20px;border:1px solid transparent}.auto-memory-summary-switch__thumb{position:absolute;content:"";height:16px;width:16px;left:1px;top:1px;background-color:#fff;transition:all .2s ease;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.2)}.auto-memory-summary-switch input:checked+.auto-memory-summary-switch__slider{background:var(--theme-accent-color,linear-gradient(135deg,#38bdf8,#3b82f6));border-color:var(--theme-accent-color,#3b82f6)}.auto-memory-summary-switch input:checked+.auto-memory-summary-switch__slider .auto-memory-summary-switch__thumb{transform:translateX(16px);background-color:#fff;box-shadow:0 1px 4px rgba(0,0,0,.3)}.auto-memory-summary-switch:active .auto-memory-summary-switch__slider{transform:scale(.95)}.auto-memory-summary-switch:disabled{cursor:not-allowed;opacity:.6}.auto-memory-summary-switch:disabled .auto-memory-summary-switch__slider{cursor:not-allowed}.theme-dark .auto-memory-summary-card{background:var(--theme-bg-secondary,rgba(15,18,25,.8));border-color:var(--theme-border-color,rgba(255,255,255,.1))}.theme-dark .auto-memory-summary-field select,.theme-dark .auto-memory-summary-refresh{background:var(--theme-bg-primary,rgba(12,16,24,.9));border-color:var(--theme-border-color,rgba(255,255,255,.15))}.theme-light .auto-memory-summary-card{background:var(--theme-bg-secondary,#ffffff);border-color:var(--theme-border-color,#e0e0e0);color:var(--theme-text-primary,#202124)}.theme-light .auto-memory-summary-field select,.theme-light .auto-memory-summary-refresh{background:var(--theme-bg-primary,#ffffff);border-color:var(--theme-border-color,#e0e0e0);color:var(--theme-text-primary,#202124)}.theme-light .auto-memory-summary-card__status{color:var(--theme-text-secondary,#666666)}.theme-light .auto-memory-summary-card__description{color:var(--theme-text-tertiary,#8a8a8a)}.theme-light .auto-memory-summary-hint{background:var(--theme-bg-tertiary,#f5f5f5);color:var(--theme-text-secondary,#666666)}.theme-light .auto-memory-summary-switch__slider{background-color:var(--theme-bg-tertiary,#e0e0e0)}.theme-light .auto-memory-summary-switch__slider:before{background-color:#ffffff}.theme-light .auto-memory-summary-reset{background:var(--theme-bg-tertiary,#f5f5f5);color:var(--theme-text-secondary,#666666);border-color:var(--theme-border-color,#e0e0e0)}.theme-light .auto-memory-summary-reset:hover:not(:disabled){background:var(--theme-border-light,#e9ecef);color:var(--theme-text-primary,#202124);border-color:var(--theme-border-color,#d0d0d0)}.theme-light .auto-memory-summary-save{background:var(--theme-accent-color,#007bff);box-shadow:0 2px 4px rgba(0,123,255,.2)}.theme-light .auto-memory-summary-save:hover:not(:disabled){background:var(--theme-accent-hover,#0056b3);box-shadow:0 4px 12px rgba(0,123,255,.3)}.theme-dark .auto-memory-summary-reset{background:var(--theme-bg-tertiary,rgba(148,163,184,.15));color:var(--theme-text-secondary,rgba(241,245,249,.7));border-color:var(--theme-border-color,rgba(255,255,255,.1))}.theme-dark .auto-memory-summary-reset:hover:not(:disabled){background:var(--theme-bg-tertiary,rgba(148,163,184,.25));color:var(--theme-text-primary,#f1f5f9);border-color:var(--theme-border-color,rgba(255,255,255,.2))}.theme-dark .auto-memory-summary-save{background:var(--theme-accent-color,#3b82f6);box-shadow:0 2px 8px rgba(59,130,246,.3)}.theme-dark .auto-memory-summary-save:hover:not(:disabled){background:var(--theme-accent-hover,#2563eb);box-shadow:0 4px 16px rgba(59,130,246,.4)}@media (max-width:768px){.auto-memory-summary-card{padding:12px;margin:16px 0 12px}.auto-memory-summary-card__header h4{font-size:15px}.auto-memory-summary-card__description,.auto-memory-summary-card__status{font-size:11px}.auto-memory-summary-switch{width:32px;height:18px}.auto-memory-summary-switch__slider{border-radius:18px}.auto-memory-summary-switch__thumb{height:14px;width:14px}.auto-memory-summary-switch input:checked+.auto-memory-summary-switch__slider .auto-memory-summary-switch__thumb{transform:translateX(14px)}.auto-memory-summary-actions{gap:8px;flex-direction:column}.auto-memory-summary-reset,.auto-memory-summary-save{width:100%;padding:10px 16px;font-size:13px}}.draw-and-guess-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:9999;padding:16px}.draw-and-guess-modal{background:var(--theme-bg-primary);border-radius:12px;width:100%;max-width:800px;max-height:90vh;max-height:calc(var(--vh, 1vh) * 90);display:flex;flex-direction:column;box-shadow:var(--theme-shadow-heavy);overflow:hidden}.draw-and-guess-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--theme-border-color);background:linear-gradient(135deg,var(--theme-accent-color) 0,var(--theme-accent-hover) 100%);color:white;gap:16px}.draw-and-guess-title{font-size:18px;font-weight:600;margin:0;white-space:nowrap}.selected-topic-display{display:flex;align-items:center;gap:0;font-size:.95rem;color:rgba(255,255,255,.9);flex:1;justify-content:center;min-width:0}.topic-label{font-weight:500;opacity:.8;white-space:nowrap}.topic-text{font-size:1.1rem;text-shadow:0 1px 2px rgba(0,0,0,.2);overflow:hidden;text-overflow:ellipsis}.countdown-timer,.topic-text{font-weight:700;white-space:nowrap}.countdown-timer{display:flex;align-items:center;gap:.4rem;padding:.4rem .8rem;background:rgba(255,255,255,.2);border-radius:1.2rem;color:white;font-size:.95rem;transition:all .3s;border:1px solid rgba(255,255,255,.3)}.countdown-timer.countdown-warning{background:#fee;color:#d00;animation:countdown-pulse 1s infinite}@keyframes countdown-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.countdown-icon{width:1.25rem;height:1.25rem}.countdown-text{min-width:2.5rem;text-align:center;font-size:1rem}.draw-and-guess-close{background:rgba(255,255,255,.2);border:none;color:white;font-size:28px;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;transition:background .2s}.draw-and-guess-close:hover{background:rgba(255,255,255,.3)}.draw-and-guess-content{display:flex;flex-direction:column;padding:20px;overflow-y:auto;gap:16px}.draw-and-guess-toolbar{display:flex;flex-direction:column;gap:12px;padding:12px;background:var(--theme-bg-secondary);border-radius:8px}.toolbar-section{display:flex;flex-direction:column;gap:8px}.toolbar-label{font-size:14px;font-weight:500;color:var(--theme-text-primary)}.color-palette{display:flex;gap:8px;flex-wrap:wrap}.color-button{width:32px;height:32px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px rgba(0,0,0,.1)}.color-button:hover{transform:scale(1.1);box-shadow:0 3px 6px rgba(0,0,0,.15)}.color-button.active{border-color:var(--theme-accent-color);box-shadow:0 0 0 3px rgba(0,123,255,.3)}.stroke-width-slider{width:100%;height:6px;border-radius:3px;background:var(--theme-bg-tertiary);outline:none;-webkit-appearance:none}.stroke-width-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--theme-accent-color);cursor:pointer;transition:all .2s}.stroke-width-slider::-webkit-slider-thumb:hover{background:var(--theme-accent-hover);transform:scale(1.1)}.stroke-width-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--theme-accent-color);cursor:pointer;border:none;transition:all .2s}.stroke-width-slider::-moz-range-thumb:hover{background:var(--theme-accent-hover);transform:scale(1.1)}.toolbar-buttons{flex-direction:row;gap:8px}.tool-button{padding:8px 12px;background:var(--theme-bg-primary);border:1px solid var(--theme-border-color);border-radius:6px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.tool-button:hover{background:var(--theme-bg-tertiary);border-color:var(--theme-accent-color)}.tool-button.active{background:var(--theme-accent-color);border-color:var(--theme-accent-color);color:white}.tool-button.active svg{stroke:white}.tool-button.clear-button:hover{background:var(--danger-color);border-color:var(--danger-color);color:white}.tool-button.clear-button:hover svg{stroke:white}.draw-and-guess-canvas-wrapper{width:100%;min-height:400px;display:flex;align-items:center;justify-content:center}.draw-and-guess-footer{display:flex;gap:12px;padding-top:16px;border-top:1px solid var(--theme-border-color)}.draw-and-guess-button{flex:1;padding:10px 16px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.cancel-button{background:var(--theme-bg-secondary);color:var(--theme-text-secondary)}.cancel-button:hover{background:var(--theme-bg-tertiary)}.submit-button{background:linear-gradient(135deg,var(--theme-accent-color) 0,var(--theme-accent-hover) 100%);color:white}.submit-button:hover{transform:translateY(-1px);box-shadow:var(--theme-shadow-medium)}.cancel-button:disabled,.submit-button:disabled{opacity:.5;cursor:not-allowed}.submit-button:disabled:hover{transform:none;box-shadow:none}@media (max-width:768px){.draw-and-guess-overlay{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.draw-and-guess-modal{max-width:95%;max-height:90vh;max-height:calc(var(--vh, 1vh) * 90)}.draw-and-guess-content{padding:12px;gap:10px}.draw-and-guess-toolbar{padding:8px;gap:8px}.toolbar-label{font-size:12px}.toolbar-section{gap:6px}.color-button{width:28px;height:28px}.tool-button{padding:6px 10px}.tool-button svg{width:18px;height:18px}.draw-and-guess-canvas-wrapper{min-height:300px}.toolbar-buttons{flex-wrap:wrap}.color-palette{justify-content:center}.draw-and-guess-button{padding:8px 12px;font-size:13px}}@media (max-width:480px){.draw-and-guess-overlay{padding:0;align-items:stretch}.draw-and-guess-modal{width:100%;height:100vh;height:calc(var(--vh, 1vh) * 100);max-height:100vh;max-height:calc(var(--vh, 1vh) * 100);border-radius:0;box-shadow:none}.draw-and-guess-header{padding:max(12px,env(safe-area-inset-top)) 16px 12px;gap:8px;flex-wrap:wrap}.draw-and-guess-title{font-size:16px}.selected-topic-display{font-size:.85rem;min-width:0}.topic-text{font-size:1rem}.countdown-timer{padding:.3rem .6rem;font-size:.85rem}.draw-and-guess-content{gap:8px;padding:10px 10px calc(10px + env(safe-area-inset-bottom));max-height:calc(100vh - 60px - env(safe-area-inset-top) - env(safe-area-inset-bottom));max-height:calc(var(--vh, 1vh) * 100 - 60px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.draw-and-guess-toolbar{padding:6px;gap:6px}.toolbar-label{font-size:11px}.toolbar-section{gap:4px}.color-button{width:24px;height:24px}.tool-button{padding:5px 8px}.tool-button svg{width:16px;height:16px}.stroke-width-slider{height:5px}.stroke-width-slider::-webkit-slider-thumb{width:16px;height:16px}.stroke-width-slider::-moz-range-thumb{width:16px;height:16px}.draw-and-guess-footer{padding-top:8px;padding-bottom:max(8px,env(safe-area-inset-bottom))}.draw-and-guess-canvas-wrapper{min-height:250px}.draw-and-guess-button{padding:8px 10px;font-size:13px}.countdown-icon{width:1rem;height:1rem}.countdown-text{min-width:2rem;font-size:.9rem}}@media (max-width:360px){.draw-and-guess-header{padding:8px 12px;gap:6px}.draw-and-guess-title{font-size:14px}.selected-topic-display{font-size:.8rem}.topic-text{font-size:.9rem}.countdown-timer{padding:.2rem .4rem;font-size:.8rem}.countdown-icon{width:.9rem;height:.9rem}.countdown-text{min-width:1.8rem;font-size:.8rem}}@supports (height:100dvh){@media (max-width:480px){.draw-and-guess-modal{height:100dvh;max-height:100dvh}.draw-and-guess-content{max-height:calc(100dvh - 60px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.topic-selection-modal{height:100dvh;max-height:100dvh}.topic-selection-content{max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 80px)}}}.topic-selection-modal{max-width:600px;margin-top:env(safe-area-inset-top);margin-bottom:env(safe-area-inset-bottom);max-height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.topic-selection-content{display:flex;flex-direction:column;padding:20px;gap:20px;overflow-y:auto;max-height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 120px)}.topic-selection-hint{margin:0;padding:12px 16px;background:var(--theme-bg-secondary);border-radius:8px;border-left:4px solid var(--theme-accent-color);color:var(--theme-text-secondary);font-size:14px;line-height:1.6}.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.topic-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 6px;background:var(--theme-bg-secondary);border:2px solid var(--theme-border-color);border-radius:8px;cursor:pointer;transition:all .3s;min-height:50px}.topic-card:hover{transform:translateY(-4px);box-shadow:var(--theme-shadow-medium);border-color:var(--theme-accent-color)}.topic-card:active{transform:translateY(-2px)}.topic-name{font-size:12px;font-weight:600;color:var(--theme-text-primary);text-align:center;line-height:1.2}.topic-difficulty{font-size:8px;padding:2px 4px;border-radius:8px;font-weight:500}.difficulty-easy{background:#d4edda;color:#155724}.difficulty-medium{background:#fff3cd;color:#856404}.difficulty-hard{background:#f8d7da;color:#721c24}.topic-easy{border-color:#d4edda}.topic-easy:hover{border-color:#28a745;background:#e8f5e9}.topic-medium{border-color:#fff3cd}.topic-medium:hover{border-color:#ffc107;background:#fff8e1}.topic-hard{border-color:#f8d7da}.topic-hard:hover{border-color:#dc3545;background:#ffebee}.topic-selection-footer{display:flex;justify-content:center;gap:12px;padding-top:12px;border-top:1px solid var(--theme-border-color)}.custom-topic-button,.topic-refresh-button{padding:10px 24px;background:var(--theme-accent-color);color:white;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.custom-topic-button:hover,.topic-refresh-button:hover{background:var(--theme-accent-hover);transform:translateY(-2px);box-shadow:var(--theme-shadow-medium)}.custom-topic-button:active,.topic-refresh-button:active{transform:translateY(0)}.custom-topic-button{background:var(--theme-bg-tertiary);color:var(--theme-text-primary);border:1px solid var(--theme-border-color)}.custom-topic-button:hover{background:var(--theme-bg-primary);border-color:var(--theme-accent-color);transform:translateY(-2px)}.custom-topic-input-section{margin-top:16px;padding:16px;background:var(--theme-bg-secondary);border-radius:8px;border:1px solid var(--theme-border-color);animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.custom-topic-input-wrapper{display:flex;flex-direction:column;gap:12px}.custom-topic-input{width:100%;padding:12px 16px;border:2px solid var(--theme-border-color);border-radius:8px;font-size:16px;background:var(--theme-bg-primary);color:var(--theme-text-primary);transition:all .2s;outline:none}.custom-topic-input:focus{border-color:var(--theme-accent-color);box-shadow:0 0 0 3px rgba(79,70,229,.1)}.custom-topic-input::placeholder{color:var(--theme-text-secondary)}.custom-topic-actions{display:flex;gap:8px;justify-content:center}.custom-topic-cancel,.custom-topic-submit{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.custom-topic-submit{background:var(--theme-accent-color);color:white}.custom-topic-submit:hover:not(:disabled){background:var(--theme-accent-hover);transform:translateY(-1px);box-shadow:var(--theme-shadow-medium)}.custom-topic-submit:disabled{background:var(--theme-bg-tertiary);color:var(--theme-text-secondary);cursor:not-allowed;opacity:.6}.custom-topic-cancel{background:var(--theme-bg-tertiary);color:var(--theme-text-primary);border:1px solid var(--theme-border-color)}.custom-topic-cancel:hover{background:var(--theme-bg-primary);border-color:var(--theme-accent-color)}@media (max-width:480px){.topic-selection-modal{max-width:100%;margin:0;height:100vh;height:calc(var(--vh, 1vh) * 100);max-height:100vh;max-height:calc(var(--vh, 1vh) * 100);border-radius:0}.topic-selection-content{padding:16px;gap:16px;max-height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 80px);max-height:calc(var(--vh, 1vh) * 100 - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 80px)}.topic-grid{grid-template-columns:repeat(2,1fr);gap:8px}.topic-card{padding:12px 8px;min-height:60px;gap:3px}.topic-name{font-size:11px;line-height:1.1}.topic-difficulty{font-size:7px;padding:1px 3px}.topic-selection-hint{font-size:12px;padding:8px 12px;line-height:1.4}.topic-selection-footer{flex-direction:column;gap:8px}.custom-topic-button,.topic-refresh-button{padding:8px 16px;font-size:13px}.custom-topic-input-section{margin-top:12px;padding:12px}.custom-topic-input{font-size:14px;padding:10px 12px}.custom-topic-actions{flex-direction:column;gap:6px}.custom-topic-cancel,.custom-topic-submit{padding:8px 16px;font-size:13px}}@media (max-width:360px){.topic-selection-content{padding:12px;gap:12px}.topic-grid{gap:6px}.topic-card{padding:8px 6px;min-height:50px}.topic-name{font-size:10px}.topic-difficulty{font-size:6px;padding:1px 2px}.topic-selection-hint{font-size:11px;padding:6px 10px}}.draw-and-guess-feedback{margin:8px 0 0;padding:12px;background:linear-gradient(135deg,var(--theme-bg-secondary) 0,var(--theme-bg-tertiary) 100%);border-radius:8px;border:1px solid var(--theme-border-color);max-width:400px}.feedback-prompt{font-size:13px;color:var(--theme-text-secondary);margin-bottom:8px;font-weight:500;text-align:center}.feedback-chemistry{margin:8px 0;display:flex;justify-content:center}.chemistry-value-display,.feedback-chemistry-display{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:6px;padding:6px 12px;backdrop-filter:blur(4px)}.chemistry-value-display{display:flex;align-items:center;gap:6px;cursor:pointer;transition:all .2s ease;font-size:13px;color:var(--theme-text-primary)}.chemistry-value-display:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.3);transform:translateY(-1px)}.chemistry-label{font-weight:500;color:var(--theme-text-secondary)}.chemistry-value{font-weight:700;color:var(--theme-accent-color);font-size:14px}.chemistry-level-badge{padding:2px 6px;background:var(--theme-accent-color);color:white;border-radius:10px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.feedback-buttons{gap:8px}.feedback-btn,.feedback-buttons{display:flex;justify-content:center}.feedback-btn{flex:1;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px rgba(0,0,0,.1);max-width:120px}.feedback-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.15)}.feedback-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px rgba(0,0,0,.1)}.feedback-btn:disabled{opacity:.5;cursor:not-allowed}.correct-btn{background:linear-gradient(135deg,var(--success-color) 0,#20c997 100%);color:white}.correct-btn:hover:not(:disabled){background:linear-gradient(135deg,#218838,#1aa179)}.incorrect-btn{background:linear-gradient(135deg,var(--danger-color) 0,var(--warning-color) 100%);color:white}.incorrect-btn:hover:not(:disabled){background:linear-gradient(135deg,#c82333,#e8590c)}.draw-again-btn{background:linear-gradient(135deg,var(--theme-accent-color) 0,var(--theme-accent-hover) 100%);color:white}.draw-again-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--theme-accent-hover) 0,#004085 100%)}.redraw-btn{background:linear-gradient(135deg,var(--secondary-color) 0,#5a6268 100%);color:white}.redraw-btn:hover:not(:disabled){background:linear-gradient(135deg,#5a6268,#495057)}.continue-btn{background:linear-gradient(135deg,var(--warning-color) 0,#ff9800 100%);color:var(--theme-text-primary);font-weight:600}.continue-btn:hover:not(:disabled){background:linear-gradient(135deg,#ff9800,#f57c00)}.end-game-btn{background:linear-gradient(135deg,var(--secondary-color) 0,#495057 100%);color:white}.end-game-btn:hover:not(:disabled){background:linear-gradient(135deg,#5a6268 0,var(--dark-color) 100%)}.btn-icon{font-size:16px;font-weight:700}.btn-icon,.btn-text{line-height:1}@media (max-width:768px){.feedback-buttons{flex-direction:column;gap:6px}.feedback-btn{max-width:100%}.feedback-chemistry{margin:6px 0}.feedback-chemistry-display{padding:4px 8px}.chemistry-value-display{padding:4px 8px;font-size:12px;gap:4px}.chemistry-value{font-size:13px}.chemistry-level-badge{padding:1px 4px;font-size:9px}.chemistry-details-content{max-width:95%;margin:10px}.chemistry-details-body{padding:16px}.chemistry-stats-grid{grid-template-columns:1fr;gap:8px}.stat-item{padding:8px}.stat-value{font-size:16px}}@keyframes feedbackSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.draw-and-guess-feedback{animation:feedbackSlideIn .3s ease}.game-progress{margin:12px 0;padding:12px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;border:1px solid #dee2e6}.progress-text{text-align:center;font-size:16px;font-weight:600;color:#495057;margin-bottom:8px}.progress-stats{display:flex;justify-content:center;gap:16px}.stat-item{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:8px;font-size:14px;font-weight:500}.correct-stat{background:rgba(40,167,69,.1);color:#28a745}.incorrect-stat{background:rgba(220,53,69,.1);color:#dc3545}.feedback-result{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:12px;padding:12px;border-radius:12px;font-size:18px;font-weight:600}.correct-result{background:rgba(40,167,69,.1);color:#28a745;border:2px solid rgba(40,167,69,.2)}.incorrect-result{background:rgba(220,53,69,.1);color:#dc3545;border:2px solid rgba(220,53,69,.2)}.result-icon{font-size:24px}.result-text{font-size:18px}.next-round-prompt{text-align:center;color:#6c757d;font-size:14px;margin-top:8px;font-style:italic}.game-complete-prompt{text-align:center;color:#28a745;font-size:16px;font-weight:600;margin-top:8px}.next-round-btn{background:linear-gradient(135deg,#28a745,#20c997);color:white;border:none;box-shadow:0 2px 8px rgba(40,167,69,.3)}.next-round-btn:hover:not(:disabled){background:linear-gradient(135deg,#218838,#1ea085);transform:translateY(-2px);box-shadow:0 4px 12px rgba(40,167,69,.4)}.game-summary{margin-top:12px;padding:12px;border-radius:12px;background:rgba(255,255,255,.85);border:1px solid rgba(0,0,0,.08);box-shadow:0 4px 12px rgba(0,0,0,.05);color:#343a40;text-align:center}.summary-title{font-weight:600;font-size:15px;margin-bottom:8px;color:#212529}.summary-line{font-size:13px;line-height:1.5;color:#495057}