.companion-stats-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:calc(20px + env(safe-area-inset-top)) calc(20px + env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) calc(20px + env(safe-area-inset-left));animation:companionFadeIn .3s ease}@keyframes companionFadeIn{0%{opacity:0}to{opacity:1}}.companion-stats-modal{background:var(--theme-bg-primary,rgba(255,255,255,.88));backdrop-filter:blur(32px) saturate(180%);-webkit-backdrop-filter:blur(32px) saturate(180%);border-radius:16px;box-shadow:var(--theme-shadow-heavy,0 10px 30px rgba(0,0,0,.18));max-width:500px;width:100%;max-height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 40px);overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--theme-border-light,rgba(224,224,224,.45));animation:companionSlideIn .3s ease}@supports (height:100dvh){.companion-stats-modal{max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 40px)}}@keyframes companionSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.companion-stats-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--theme-border-light,rgba(224,224,224,.35));background:var(--theme-bg-secondary,rgba(255,255,255,.12));backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%)}.companion-stats-header h3{margin:0;font-size:18px;font-weight:600;color:var(--theme-text-primary,#1f1f1f)}.companion-stats-header-actions{display:flex;align-items:center;gap:8px}.companion-stats-export-mode .companion-stats-character{background:var(--theme-bg-secondary,#f8f9fa)!important}.companion-stats-export-mode .companion-stats-character:before{background:none!important}.companion-stats-export-mode,.companion-stats-export-mode.companion-stats-modal{max-height:none!important;height:auto!important;overflow:visible!important}.companion-stats-export-mode,.companion-stats-export-mode .companion-stats-content{overflow:visible!important;max-height:none!important}.companion-stats-export-mode .companion-stats-avatar{border:3px solid var(--theme-bg-primary,#ffffff)!important;box-shadow:var(--theme-shadow-medium,0 4px 12px rgba(0,0,0,.15))}.companion-stats-export-mode .companion-stats-export-btn{background:rgba(0,0,0,.03)!important;border:1px solid var(--theme-border-light,#e9ecef)!important;color:var(--theme-text-secondary,#666)!important}.companion-stats-export-btn{background:color-mix(in srgb,var(--theme-accent-color,#007bff) 15%,transparent);border:1px solid color-mix(in srgb,var(--theme-accent-color,#007bff) 30%,transparent);cursor:pointer;padding:8px 16px;border-radius:8px;font-size:13px;color:var(--theme-accent-color,#007bff);transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:80px;height:32px;font-weight:500;white-space:nowrap}.companion-stats-export-btn:hover:not(:disabled){background:color-mix(in srgb,var(--theme-accent-color,#007bff) 25%,transparent);border-color:color-mix(in srgb,var(--theme-accent-color,#007bff) 50%,transparent);transform:translateY(-1px)}.companion-stats-export-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.companion-stats-close-btn{background:none;border:none;cursor:pointer;padding:8px;border-radius:8px;color:var(--theme-text-secondary,#666);transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:24px;line-height:1;width:32px;height:32px}.companion-stats-close-btn:hover{background:var(--theme-bg-tertiary,#e9ecef);color:var(--theme-text-primary,#333)}.companion-stats-content{overflow-y:auto;flex:1;padding:24px 24px calc(24px + env(safe-area-inset-bottom))}.companion-stats-character{--avatar-size:64px;--heart-size:32px;display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:16px;padding:24px 16px;background:color-mix(in srgb,var(--theme-accent-color,#007bff) 8%,var(--theme-bg-secondary,#f8f9fa));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:16px;border:1px solid var(--theme-border-light,rgba(224,224,224,.25));position:relative;overflow:hidden}.companion-stats-character:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at center,color-mix(in srgb,var(--theme-accent-color,#007bff) 10%,transparent) 0,transparent 70%);pointer-events:none}.companion-stats-avatar-wrapper{display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;z-index:1}.companion-stats-avatar{width:var(--avatar-size);height:var(--avatar-size);border-radius:50%;overflow:hidden;flex-shrink:0;box-shadow:var(--theme-shadow-medium,0 4px 12px rgba(0,0,0,.15));border:3px solid color-mix(in srgb,var(--theme-bg-primary,#ffffff) 80%,transparent);transition:transform .3s ease}.companion-stats-avatar:hover{transform:scale(1.05)}.companion-stats-avatar img{width:100%;height:100%;object-fit:cover}.companion-stats-avatar-name{font-size:14px;font-weight:600;color:var(--theme-text-primary,#333);text-align:center;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.companion-stats-heart{display:flex;align-items:center;justify-content:center;animation:heartbeat 1.5s ease-in-out infinite;position:relative;z-index:1;align-self:flex-start;margin-top:calc((var(--avatar-size) - var(--heart-size)) / 2)}.companion-stats-heart svg{width:var(--heart-size);height:var(--heart-size)}@keyframes heartbeat{0%,to{transform:scale(1)}10%,30%{transform:scale(1.1)}20%,40%{transform:scale(1.05)}}.companion-stats-info-banner{text-align:center;padding:12px 16px;background:var(--theme-bg-secondary,rgba(255,255,255,.46));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:12px;border:1px solid var(--theme-border-light,rgba(224,224,224,.25));margin-bottom:24px}.companion-stats-creation-date{font-size:13px;color:var(--theme-text-secondary,#666);font-weight:500}.companion-stats-cards{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.companion-stats-card{display:flex;align-items:center;gap:16px;padding:20px;background:var(--theme-bg-secondary,rgba(255,255,255,.46));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:12px;border:1px solid var(--theme-border-light,rgba(224,224,224,.25));transition:all .2s ease}.companion-stats-card:hover{transform:translateY(-1px);box-shadow:var(--theme-shadow-medium,0 4px 18px rgba(0,0,0,.12));background:var(--theme-bg-tertiary,rgba(255,255,255,.56))}.companion-stats-card-icon{font-size:32px;flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.52);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:12px;box-shadow:0 2px 4px rgba(0,0,0,.05);border:1px solid rgba(224,224,224,.28)}.companion-stats-card-content{flex:1;text-align:center}.companion-stats-card-label{font-size:13px;color:var(--theme-text-secondary,#666);margin-bottom:4px}.companion-stats-card-value{font-size:28px;font-weight:700;color:var(--theme-accent-color,#007bff);display:flex;align-items:baseline;justify-content:center;gap:4px}.companion-stats-card-unit{font-size:14px;font-weight:400;color:var(--theme-text-secondary,#666)}.companion-stats-card-subtitle{font-size:12px;color:var(--theme-text-secondary,#666);margin-top:4px;font-style:italic}.companion-stats-extra-info{padding:16px;background:var(--theme-bg-secondary,rgba(255,255,255,.46));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:12px;border:1px solid var(--theme-border-light,rgba(224,224,224,.25));margin-bottom:20px}.companion-stats-info-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.companion-stats-info-row:not(:last-child){border-bottom:1px solid var(--theme-border-light,rgba(224,224,224,.35))}.companion-stats-info-label{font-size:14px;color:var(--theme-text-secondary,#666)}.companion-stats-info-value{font-size:14px;font-weight:600;color:var(--theme-text-primary,#1f1f1f)}.companion-stats-analysis{margin-bottom:20px}.companion-stats-analysis-title{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--theme-text-primary,#1f1f1f);text-align:center}.companion-stats-analysis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.companion-stats-analysis-item{display:flex;align-items:center;gap:12px;padding:16px;background:var(--theme-bg-secondary,rgba(255,255,255,.46));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:10px;border:1px solid var(--theme-border-light,rgba(224,224,224,.25));transition:all .2s ease}.companion-stats-analysis-item:hover{transform:translateY(-1px);background:var(--theme-bg-tertiary,rgba(255,255,255,.56));box-shadow:var(--theme-shadow-light,0 2px 8px rgba(0,0,0,.08))}.companion-stats-analysis-icon{font-size:20px;flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.52);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.05);border:1px solid rgba(224,224,224,.28)}.companion-stats-analysis-content{flex:1;min-width:0;text-align:center}.companion-stats-analysis-label{font-size:12px;color:var(--theme-text-secondary,#666);margin-bottom:2px;font-weight:500}.companion-stats-analysis-value{font-size:13px;font-weight:600;color:var(--theme-text-primary,#1f1f1f);line-height:1.2}.companion-stats-footer{text-align:center;padding:16px;background:linear-gradient(135deg,rgba(0,123,255,.8),rgba(77,163,255,.8));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:12px;box-shadow:0 2px 8px rgba(0,123,255,.2);border:1px solid rgba(255,255,255,.2)}.companion-stats-footer p{margin:0;font-size:14px;color:#ffffff;font-weight:500}@media (max-width:480px){.companion-stats-overlay{padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);align-items:flex-end}.companion-stats-modal{max-width:100%;border-radius:16px 16px 0 0;max-height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 20px);margin-bottom:0}@supports (height:100dvh){.companion-stats-modal{max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 20px)}}.companion-stats-content{padding:16px 16px calc(16px + env(safe-area-inset-bottom))}.companion-stats-character{--avatar-size:56px;--heart-size:24px;gap:12px;padding:20px 12px}.companion-stats-avatar{width:var(--avatar-size);height:var(--avatar-size)}.companion-stats-avatar-name{font-size:13px;max-width:70px}.companion-stats-card-value{font-size:24px}.companion-stats-card-icon{font-size:28px;width:40px;height:40px}.companion-stats-analysis-grid{grid-template-columns:1fr;gap:8px}.companion-stats-analysis-item{padding:10px}.companion-stats-analysis-icon{font-size:18px;width:28px;height:28px}}.companion-stats-export-footer{text-align:center;padding:12px 24px;background:var(--theme-bg-secondary,rgba(255,255,255,.46));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--theme-border-light,rgba(224,224,224,.25));color:var(--theme-text-secondary,#666);font-size:11px;margin-top:24px;font-weight:500}.companion-stats-export-footer p{margin:0;opacity:.8}.message-count-controller{position:relative;display:inline-block;min-width:120px}.message-count-trigger{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--theme-bg-secondary,#f5f5f5);border:1px solid var(--theme-border-color,rgba(0,0,0,.1));border-radius:8px;cursor:pointer;transition:all .2s ease;user-select:none}.message-count-trigger:hover{background:var(--theme-bg-hover,#e8e8e8);border-color:var(--theme-accent-color,#007bff)}.message-count-icon{display:flex;align-items:center;justify-content:center;color:var(--theme-text-secondary,#666);flex-shrink:0}.message-count-content{flex:1;min-width:0}.message-count-label{font-size:12px;color:var(--theme-text-secondary,#666);line-height:1.2;margin-bottom:2px}.message-count-value{font-size:14px;font-weight:500;color:var(--theme-text-primary,#333);line-height:1.2}.message-count-arrow{display:flex;align-items:center;justify-content:center;color:var(--theme-text-secondary,#666);transition:transform .2s ease;flex-shrink:0}.message-count-arrow.open{transform:rotate(180deg)}.message-count-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--theme-bg-primary,#fff);border:1px solid var(--theme-border-color,rgba(0,0,0,.1));border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.15);z-index:1000;overflow:hidden;animation:dropdownFadeIn .2s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.message-count-dropdown-header{padding:16px 16px 12px;border-bottom:1px solid var(--theme-border-color,rgba(0,0,0,.1))}.message-count-dropdown-header h4{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--theme-text-primary,#333)}.message-count-description{margin:0;font-size:13px;color:var(--theme-text-secondary,#666);line-height:1.4}.message-count-options{max-height:200px;overflow-y:auto}.message-count-option{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;transition:background-color .2s ease;border-bottom:1px solid var(--theme-border-color,rgba(0,0,0,.05))}.message-count-option:last-child{border-bottom:none}.message-count-option:hover{background:var(--theme-bg-hover,#f8f9fa)}.message-count-option.selected{background:var(--theme-accent-light,rgba(0,123,255,.1));color:var(--theme-accent-color,#007bff)}.option-content{flex:1;min-width:0}.option-label{font-size:14px;font-weight:500;color:inherit;line-height:1.3;margin-bottom:2px}.option-description{font-size:12px;color:var(--theme-text-secondary,#666);line-height:1.2}.option-check{display:flex;align-items:center;justify-content:center;color:var(--theme-accent-color,#007bff);flex-shrink:0;margin-left:8px}.message-count-custom{padding:16px;border-top:1px solid var(--theme-border-color,rgba(0,0,0,.1));background:var(--theme-bg-secondary,#f8f9fa)}.custom-input-group{margin-bottom:12px}.custom-input-group label{display:block;font-size:13px;font-weight:500;color:var(--theme-text-primary,#333);margin-bottom:6px}.custom-input{width:100%;padding:8px 12px;border:1px solid var(--theme-border-color,rgba(0,0,0,.2));border-radius:6px;font-size:14px;color:var(--theme-text-primary,#333);background:var(--theme-bg-primary,#fff);transition:border-color .2s ease}.custom-input:focus{outline:none;border-color:var(--theme-accent-color,#007bff);box-shadow:0 0 0 2px rgba(0,123,255,.1)}.custom-hint{font-size:11px;color:var(--theme-text-secondary,#666);margin-top:4px;line-height:1.3}.custom-actions{display:flex;gap:8px;justify-content:flex-end}.custom-cancel,.custom-confirm{padding:6px 12px;border:1px solid var(--theme-border-color,rgba(0,0,0,.2));border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.custom-cancel{background:var(--theme-bg-primary,#fff);color:var(--theme-text-secondary,#666)}.custom-cancel:hover{background:var(--theme-bg-hover,#f8f9fa)}.custom-confirm{background:var(--theme-accent-color,#007bff);color:#fff;border-color:var(--theme-accent-color,#007bff)}.custom-confirm:hover:not(:disabled){background:var(--theme-accent-dark,#0056b3);border-color:var(--theme-accent-dark,#0056b3)}.custom-confirm:disabled{opacity:.5;cursor:not-allowed}.message-count-footer{padding:12px 16px;background:var(--theme-bg-secondary,#f8f9fa);border-top:1px solid var(--theme-border-color,rgba(0,0,0,.1))}.current-setting{display:flex;align-items:center;gap:6px;font-size:12px}.setting-label{color:var(--theme-text-secondary,#666)}.setting-value{font-weight:500;color:var(--theme-accent-color,#007bff)}.setting-description{color:var(--theme-text-secondary,#666)}@media (prefers-color-scheme:dark){.message-count-trigger{background:var(--theme-bg-secondary,#2a2a2a);border-color:var(--theme-border-color,rgba(255,255,255,.1))}.message-count-trigger:hover{background:var(--theme-bg-hover,#3a3a3a)}.message-count-dropdown{background:var(--theme-bg-primary,#1a1a1a);border-color:var(--theme-border-color,rgba(255,255,255,.1))}.message-count-option:hover{background:var(--theme-bg-hover,#2a2a2a)}.message-count-option.selected{background:var(--theme-accent-light,rgba(0,123,255,.2))}.message-count-custom{background:var(--theme-bg-secondary,#2a2a2a)}.custom-input{border-color:var(--theme-border-color,rgba(255,255,255,.2));color:var(--theme-text-primary,#fff)}.custom-cancel,.custom-input{background:var(--theme-bg-primary,#1a1a1a)}.custom-cancel{color:var(--theme-text-secondary,#ccc)}.message-count-footer{background:var(--theme-bg-secondary,#2a2a2a)}}@media (max-width:768px){.message-count-controller{min-width:100px}.message-count-trigger{padding:6px 10px}.message-count-label{font-size:11px}.message-count-value{font-size:13px}.message-count-dropdown{left:-20px;right:-20px;width:calc(100vw - 40px);max-width:300px}.message-count-option{padding:10px 14px}.option-label{font-size:13px}.option-description{font-size:11px}}