:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;padding:0;min-width:320px;min-height:100vh;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;touch-action:manipulation}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.login-page{min-height:100vh;background:linear-gradient(135deg,#fff9f5,#ffe8d6);display:flex;align-items:center;justify-content:center;padding:20px}.login-container{width:100%;max-width:400px;background:#fff;border-radius:16px;padding:40px 30px;box-shadow:0 4px 20px #0000001a}.login-header{text-align:center;margin-bottom:40px}.login-header h1{font-size:24px;color:#333;margin-bottom:8px;font-weight:600}.login-header p{font-size:14px;color:#666}.login-form,.form-group{margin-bottom:20px}.form-group label{display:block;font-size:14px;color:#333;margin-bottom:8px;font-weight:500}.form-group input{width:100%;padding:12px 16px;border:1px solid #E0E0E0;border-radius:8px;font-size:16px;box-sizing:border-box;transition:border-color .3s}.form-group input:focus{outline:none;border-color:#ff8c42}.btn-primary{width:100%;padding:14px;background:#ff8c42;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background .3s}.form-footer{margin-top:20px;text-align:center}.btn-link{background:none;border:none;color:#ff8c42;font-size:14px;cursor:pointer;text-decoration:underline}.btn-link:hover{color:#ff7a2e}.login-footer{margin-top:30px;padding-top:20px;border-top:1px solid #F0F0F0}.disclaimer{font-size:12px;color:#999;text-align:center;line-height:1.6}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #F0F0F0;display:flex;justify-content:space-around;align-items:center;padding:8px 0 calc(8px + env(safe-area-inset-bottom));z-index:1000;box-shadow:0 -2px 8px #0000000d;-webkit-transform:translateZ(0);transform:translateZ(0);padding-bottom:max(8px,env(safe-area-inset-bottom))}.nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 16px;cursor:pointer;text-decoration:none;color:#999;transition:color .2s;flex:1;max-width:120px}.nav-icon{font-size:20px}.nav-item span:last-child{font-size:12px}.watchlist-page{min-height:100vh;background:#fff9f5;padding-bottom:calc(60px + env(safe-area-inset-bottom));width:100%;max-width:100vw;overflow-x:hidden}.page-header{display:flex;justify-content:space-between;align-items:center;padding:20px;background:#fff;border-bottom:1px solid #F0F0F0}.page-header h1{font-size:20px;font-weight:600;color:#333;margin:0}.btn-add{padding:8px 16px;background:#ff8c42;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer}.btn-add:hover{background:#ff7a2e}.btn-primary{padding:12px 24px;background:#ff8c42;color:#fff;border:none;border-radius:8px;font-size:16px;cursor:pointer}.watchlist-list{padding:20px}.stock-card{background:#fff;border-radius:12px;padding:16px;margin-bottom:16px;box-shadow:0 2px 8px #0000000d;cursor:pointer;transition:transform .2s,box-shadow .2s}.stock-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stock-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.stock-info h3{font-size:18px;font-weight:600;color:#333;margin:0 0 4px}.alert-badge{background:#ff6b6b;color:#fff;border-radius:12px;padding:4px 8px;font-size:12px;font-weight:600}.stock-price{display:flex;align-items:baseline;gap:12px;margin-bottom:12px}.price{font-size:24px;font-weight:600;color:#333}.percent{font-size:16px;font-weight:500}.analysis-section{margin-bottom:16px;padding:12px;background:#f8f9fa;border-radius:8px;border-left:3px solid #FF8C42}.analysis-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.analysis-icon{font-size:16px}.analysis-title{font-size:14px;font-weight:600;color:#333;flex:1}.analysis-count{font-size:12px;color:#999;background:#fff;padding:2px 8px;border-radius:10px}.analysis-time{font-size:11px;color:#999;margin-left:auto}.sentiment-section{border-left-color:#ff8c42}.sentiment-bar{display:flex;height:28px;border-radius:6px;overflow:hidden;margin-bottom:12px;background:#f0f0f0;box-shadow:inset 0 2px 4px #0000001a}.sentiment-item{display:flex;align-items:center;justify-content:center;font-size:11px;color:#fff;font-weight:600;transition:width .3s}.sentiment-item.positive{background:linear-gradient(90deg,#ff8c42,#ff6b35)}.sentiment-item.neutral{background:linear-gradient(90deg,#ffd93d,#ffb800)}.sentiment-item.negative{background:linear-gradient(90deg,#ff6b6b,#ff4757)}.sentiment-summary{display:flex;justify-content:space-around;gap:8px}.sentiment-summary-item{display:flex;flex-direction:column;align-items:center;gap:4px}.sentiment-summary-item .sentiment-label{font-size:12px;color:#666}.sentiment-summary-item .sentiment-value{font-size:16px;font-weight:700;color:#333}.consensus-section{border-left-color:#4ecdc4}.consensus-list{display:flex;flex-direction:column;gap:8px}.consensus-item{background:#fff;padding:12px;border-radius:8px;border:1px solid #E0E0E0}.consensus-item-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.consensus-rank{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff;border-radius:6px;font-size:11px;font-weight:700;flex-shrink:0}.consensus-title{flex:1;font-size:13px;font-weight:600;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.consensus-support{font-size:12px;color:#4ecdc4;font-weight:600;flex-shrink:0}.consensus-content{font-size:12px;color:#666;line-height:1.5;margin:6px 0 0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.consensus-category{display:inline-block;padding:2px 6px;background:#e8f5e9;color:#4ecdc4;border-radius:4px;font-size:11px;margin-top:6px}.disagreement-section{border-left-color:#ff6b6b}.disagreement-list{display:flex;flex-direction:column;gap:8px}.disagreement-item{background:#fff;padding:12px;border-radius:8px;border:1px solid #FFE0E0}.disagreement-item-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.disagreement-title{flex:1;font-size:13px;font-weight:600;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.disagreement-mention{font-size:11px;color:#999;flex-shrink:0}.disagreement-content{font-size:12px;color:#666;line-height:1.5;margin:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.more-indicator{text-align:center;font-size:12px;color:#999;padding:8px;margin-top:4px}.btn-delete{padding:6px 12px;background:#f5f5f5;color:#666;border:none;border-radius:6px;font-size:12px;cursor:pointer}.btn-delete:hover{background:#eee}.modal-content{background:#fff;border-radius:16px;width:90%;max-width:500px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.modal-body{padding:20px;overflow-y:auto}.search-box{display:flex;gap:12px;margin-bottom:16px}.search-input{flex:1;padding:12px 16px;border:1px solid #E0E0E0;border-radius:8px;font-size:16px;box-sizing:border-box}.search-input:focus{outline:none;border-color:#ff8c42}.btn-search{padding:12px 24px;background:#ff8c42;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .3s}.btn-search:hover:not(:disabled){background:#ff7a2e}.btn-search:disabled{opacity:.6;cursor:not-allowed}.searching{text-align:center;padding:20px;color:#999}.search-empty{text-align:center;padding:40px 20px;color:#999}.search-empty p{margin:8px 0}.search-empty .hint{font-size:14px;color:#999}.search-results{max-height:400px;overflow-y:auto;border:1px solid #F0F0F0;border-radius:8px}.results-header{padding:12px 16px;background:#f9f9f9;border-bottom:1px solid #F0F0F0;font-size:14px;color:#666;font-weight:500}.search-result-item{padding:16px;border-bottom:1px solid #F0F0F0;cursor:pointer;transition:background .2s;display:flex;justify-content:space-between;align-items:center;gap:12px}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:#fff9f5}.result-info{flex:1;min-width:0}.result-name{font-size:16px;font-weight:600;color:#333;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-code{font-size:14px;color:#999}.result-price{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.result-price .price{font-size:16px;font-weight:600;color:#333}.result-price .percent{font-size:14px;font-weight:500}.result-action{font-size:12px;color:#ff8c42;padding:4px 8px;border:1px solid #FF8C42;border-radius:4px;white-space:nowrap}.sentiment-history-chart{background:#fff;border-radius:12px;padding:20px;margin:20px;box-shadow:0 2px 12px #00000014}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.chart-title{font-size:18px;font-weight:600;color:#333;margin:0}.chart-summary{display:flex;align-items:center;gap:8px}.trend-badge{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:16px;font-size:13px;font-weight:500}.trend-badge.trend-up{background:#f0fff4;color:#22543d;border:1px solid #C6F6D5}.trend-badge.trend-down{background:#fff5f5;color:#742a2a;border:1px solid #FECACA}.trend-badge.trend-flat{background:#fffbf0;color:#78350f;border:1px solid #FEF3C7}.chart-container{height:300px;position:relative;margin:20px 0}.sentiment-history-chart.loading{display:flex;align-items:center;justify-content:center;min-height:300px}.loading-spinner{color:#999;font-size:14px}.sentiment-history-chart.error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:16px}.error-message{display:flex;align-items:center;gap:8px;color:#ff4757;font-size:14px}.retry-button{padding:8px 16px;background:#ff8c42;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:background .2s}.retry-button:hover{background:#ff6b35}.retry-button:active{transform:scale(.98)}.sentiment-history-chart.empty{display:flex;align-items:center;justify-content:center;min-height:300px}.empty-message{display:flex;flex-direction:column;align-items:center;gap:8px;color:#999;font-size:14px}.empty-message span:first-child{font-size:32px}.chart-footer{display:flex;justify-content:space-around;padding-top:16px;border-top:1px solid #F0F0F0;margin-top:16px}.summary-item{display:flex;flex-direction:column;align-items:center;gap:4px}.summary-label{font-size:12px;color:#666}.summary-value{font-size:16px;font-weight:600;color:#333}.summary-value.positive{color:#4ecdc4}.summary-value.negative{color:#ff6b6b}@media(max-width:768px){.sentiment-history-chart{margin:16px;padding:16px}.chart-container{height:250px}.chart-header{flex-direction:column;align-items:flex-start;gap:12px}.chart-footer{flex-direction:column;gap:12px;align-items:flex-start}.summary-item{flex-direction:row;width:100%;justify-content:space-between}}.stock-detail-page{min-height:100vh;background:#fff9f5;padding-bottom:calc(60px + env(safe-area-inset-bottom));width:100%;max-width:100vw;overflow-x:hidden}.page-header{background:#fff;padding:16px 20px;border-bottom:1px solid #F0F0F0;display:flex;align-items:center;gap:12px}.btn-back{background:none;border:none;font-size:16px;color:#333;cursor:pointer;padding:0}.page-header h1{font-size:20px;font-weight:600;color:#333;margin:0;flex:1}.stock-code{font-size:14px;color:#999}.stock-info-card{background:#fff;padding:24px 20px;margin:20px;border-radius:12px;box-shadow:0 2px 8px #0000000d}.stock-price-large{display:flex;align-items:baseline;gap:16px}.stock-price-large .price{font-size:32px;font-weight:600;color:#333}.stock-price-large .percent{font-size:20px;font-weight:500}.section-header{display:flex;justify-content:space-between;align-items:center;padding:0 20px;margin-bottom:16px}.section-title{font-size:18px;font-weight:600;color:#333;margin:0}.section-subtitle{font-size:13px;color:#999;font-weight:400}.alerts-section,.sentiment-section,.consensus-section,.disagreement-section{margin:20px 0}.alert-item{background:#fff;padding:16px 20px;margin:0 20px 12px;border-radius:12px;border-left:4px solid #FF6B6B;box-shadow:0 2px 8px #0000000d}.alert-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.alert-level{font-size:14px;font-weight:600}.alert-type{font-size:13px;color:#666}.alert-content{font-size:14px;color:#333;margin:8px 0;line-height:1.6}.alert-time{font-size:12px;color:#999}.sentiment-overview{background:#fff;padding:20px;margin:0 20px;border-radius:12px;box-shadow:0 2px 12px #00000014}.sentiment-summary{display:flex;gap:12px;margin-bottom:20px}.sentiment-summary-item{flex:1;display:flex;align-items:center;gap:12px;padding:16px;border-radius:10px;background:#f8f9fa}.sentiment-summary-item.positive{background:linear-gradient(135deg,#fff5f0,#ffe8d6);border:1px solid #FFE0CC}.sentiment-summary-item.neutral{background:linear-gradient(135deg,#fffbf0,#fff5d6);border:1px solid #FFEECC}.sentiment-summary-item.negative{background:linear-gradient(135deg,#fff0f0,#ffe0e0);border:1px solid #FFCCCC}.sentiment-icon{font-size:28px;line-height:1}.sentiment-info{flex:1}.sentiment-info .sentiment-label{font-size:13px;color:#666;margin-bottom:4px}.sentiment-value-large{font-size:24px;font-weight:700;color:#333}.sentiment-summary-item.positive .sentiment-value-large{color:#ff6b35}.sentiment-summary-item.neutral .sentiment-value-large{color:#ffb800}.sentiment-summary-item.negative .sentiment-value-large{color:#ff4757}.sentiment-chart{margin:20px 0}.sentiment-bar-container{display:flex;height:32px;border-radius:16px;overflow:hidden;background:#f0f0f0;box-shadow:inset 0 2px 4px #0000001a}.sentiment-bar{height:100%;transition:width .5s ease;display:flex;align-items:center;justify-content:center;position:relative}.sentiment-bar.positive{background:linear-gradient(90deg,#ff8c42,#ff6b35)}.sentiment-bar.neutral{background:linear-gradient(90deg,#ffd93d,#ffb800)}.sentiment-bar.negative{background:linear-gradient(90deg,#ff6b6b,#ff4757)}.sentiment-judgment{margin-top:20px;padding-top:20px;border-top:1px solid #F0F0F0}.judgment-item{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:8px;background:#f8f9fa}.judgment-item.positive{background:#f0fff4;border:1px solid #C6F6D5}.judgment-item.neutral{background:#fffbf0;border:1px solid #FEF3C7}.judgment-item.negative{background:#fff5f5;border:1px solid #FECACA}.judgment-icon{font-size:20px}.judgment-text{font-size:14px;color:#333;font-weight:500}.sentiment-history-section{margin-top:20px;padding-top:20px;border-top:1px solid #F0F0F0}.consensus-list{padding:0 20px}.consensus-card{background:#fff;padding:20px;margin-bottom:16px;border-radius:12px;box-shadow:0 2px 12px #00000014;border-left:4px solid #FF8C42;transition:transform .2s,box-shadow .2s}.consensus-card:active{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.consensus-card-header{display:flex;gap:12px;margin-bottom:12px}.consensus-rank{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ff8c42,#ff6b35);color:#fff;border-radius:8px;font-size:14px;font-weight:700;flex-shrink:0}.consensus-title-wrapper{flex:1}.consensus-title{font-size:16px;font-weight:600;color:#333;margin:0 0 8px;line-height:1.4}.consensus-support{display:flex;align-items:center;gap:6px}.support-icon{font-size:14px}.support-percent{font-size:13px;color:#ff8c42;font-weight:600}.consensus-content{font-size:14px;color:#666;line-height:1.7;margin:12px 0}.consensus-footer{margin-top:12px;padding-top:12px;border-top:1px solid #F0F0F0}.consensus-category{display:inline-block;padding:4px 10px;background:#f5f5f5;color:#666;border-radius:6px;font-size:12px}.disagreement-list{padding:0 20px}.disagreement-card{background:#fff;padding:20px;margin-bottom:16px;border-radius:12px;box-shadow:0 2px 12px #00000014;border-left:4px solid #FF6B6B;position:relative;transition:transform .2s,box-shadow .2s}.disagreement-card:active{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.disagreement-card-header{display:flex;gap:12px;margin-bottom:12px}.disagreement-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ff6b6b,#ff4757);color:#fff;border-radius:8px;font-size:18px;flex-shrink:0}.disagreement-title-wrapper{flex:1}.disagreement-title{font-size:16px;font-weight:600;color:#333;margin:0 0 8px;line-height:1.4}.disagreement-mention{display:flex;align-items:center;gap:6px}.mention-icon{font-size:14px}.mention-count{font-size:13px;color:#999}.disagreement-content{font-size:14px;color:#666;line-height:1.7;margin:12px 0}.disagreement-tag{display:inline-block;padding:4px 10px;background:#fff5f5;color:#ff6b6b;border-radius:6px;font-size:12px;font-weight:500;margin-top:8px}.disclaimer-section{margin:40px 20px 20px;padding:16px;background:#fff3e0;border-radius:8px;border-left:4px solid #FF8C42}.disclaimer{font-size:13px;color:#666;line-height:1.6;margin:0}.ai-chat-page{display:flex;flex-direction:column;height:100vh;max-height:100vh;background:#fff9f5;position:relative;width:100%;max-width:100vw;overflow:hidden;padding-bottom:calc(60px + env(safe-area-inset-bottom));box-sizing:border-box}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#fff;border-bottom:1px solid #F0F0F0;position:relative;z-index:100}.chat-header h1{font-size:18px;font-weight:600;color:#333;margin:0;flex:1;text-align:center}.btn-menu,.btn-new{background:none;border:none;font-size:16px;color:#333;cursor:pointer;padding:8px}.btn-new{color:#ff8c42;font-size:14px}.conversations-sidebar{position:fixed;top:0;left:0;width:280px;height:100vh;background:#fff;box-shadow:2px 0 8px #0000001a;z-index:200;display:flex;flex-direction:column}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #F0F0F0}.sidebar-header h2{font-size:16px;font-weight:600;margin:0}.conversations-list{flex:1;overflow-y:auto;padding:8px}.conversation-item{padding:12px;border-radius:8px;margin-bottom:8px;cursor:pointer;transition:background .2s;display:flex;justify-content:space-between;align-items:center}.conversation-item:hover{background:#f9f9f9}.conversation-item.active{background:#fff3e0}.conversation-content{flex:1}.conversation-message{font-size:14px;color:#333;margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-time{font-size:12px;color:#999}.btn-delete-conv{padding:4px 8px;background:#f5f5f5;color:#666;border:none;border-radius:4px;font-size:12px;cursor:pointer}.chat-messages{flex:1;overflow-y:auto;padding:20px;padding-bottom:calc(80px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:16px;-webkit-overflow-scrolling:touch;margin-bottom:0;scroll-behavior:smooth}.empty-messages{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#999}.empty-messages p{margin:8px 0}.hint{font-size:14px;color:#999}.message-group{display:flex;flex-direction:column;gap:8px}.message{max-width:75%;padding:12px 16px;border-radius:12px;word-wrap:break-word}.user-message{align-self:flex-end;background:#ff8c42;color:#fff;border-bottom-right-radius:4px}.ai-message{align-self:flex-start;background:#fff;color:#333;border:1px solid #F0F0F0;border-bottom-left-radius:4px}.message-content{font-size:14px;line-height:1.6}.message-content.markdown-content{font-size:14px;line-height:1.8;color:inherit}.message-content.markdown-content h1,.message-content.markdown-content h2,.message-content.markdown-content h3,.message-content.markdown-content h4,.message-content.markdown-content h5,.message-content.markdown-content h6{margin:16px 0 8px;font-weight:600;line-height:1.4;color:inherit}.message-content.markdown-content h1{font-size:20px}.message-content.markdown-content h2{font-size:18px}.message-content.markdown-content h3{font-size:16px}.message-content.markdown-content h4,.message-content.markdown-content h5,.message-content.markdown-content h6{font-size:14px}.message-content.markdown-content p{margin:8px 0;line-height:1.8}.message-content.markdown-content ul,.message-content.markdown-content ol{margin:8px 0;padding-left:24px}.message-content.markdown-content li{margin:4px 0;line-height:1.6}.message-content.markdown-content code{background:#0000000d;padding:2px 6px;border-radius:4px;font-size:13px;font-family:Courier New,monospace}.message-content.markdown-content pre{background:#0000000d;padding:12px;border-radius:8px;overflow-x:auto;margin:12px 0;font-size:13px;line-height:1.5}.message-content.markdown-content pre code{background:none;padding:0}.message-content.markdown-content blockquote{border-left:4px solid #FF8C42;padding-left:16px;margin:12px 0;color:#666;font-style:italic}.message-content.markdown-content table{width:100%;border-collapse:collapse;margin:12px 0;font-size:13px}.message-content.markdown-content th,.message-content.markdown-content td{border:1px solid #E0E0E0;padding:8px 12px;text-align:left}.message-content.markdown-content th{background:#f5f5f5;font-weight:600}.message-content.markdown-content a{color:#ff8c42;text-decoration:none}.message-content.markdown-content a:hover{text-decoration:underline}.message-content.markdown-content strong{font-weight:600;color:inherit}.message-content.markdown-content em{font-style:italic}.message-content.markdown-content hr{border:none;border-top:1px solid #E0E0E0;margin:16px 0}.ai-message .message-content.markdown-content{color:#333}.ai-message .message-content.markdown-content code,.ai-message .message-content.markdown-content pre{background:#00000014}.typing{color:#999;font-style:italic}.chat-input-wrapper{position:fixed;bottom:calc(60px + env(safe-area-inset-bottom));left:0;right:0;background:#fff;border-top:1px solid #F0F0F0;padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom));z-index:999;-webkit-transform:translateZ(0);transform:translateZ(0)}.chat-input{display:flex;gap:12px;padding:12px 20px}.chat-input input{flex:1;padding:12px 16px;border:1px solid #E0E0E0;border-radius:24px;font-size:14px;outline:none}.chat-input input:focus{border-color:#ff8c42}.chat-input button{padding:12px 24px;background:#ff8c42;color:#fff;border:none;border-radius:24px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.chat-input button:hover:not(:disabled){background:#ff7a2e}.chat-input button:disabled{opacity:.6;cursor:not-allowed}.profile-page{min-height:100vh;background:#fff9f5;padding-bottom:calc(60px + env(safe-area-inset-bottom));width:100%;max-width:100vw;overflow-x:hidden}.profile-header{background:linear-gradient(135deg,#ff8c42,#ff7a2e);padding:40px 20px 30px;color:#fff}.user-info{display:flex;align-items:center;gap:16px}.avatar{width:64px;height:64px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:600;color:#fff;border:2px solid rgba(255,255,255,.3)}.avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.user-details h2{font-size:20px;font-weight:600;margin:0 0 4px}.user-details .phone{font-size:14px;opacity:.9;margin:0}.profile-stats{display:flex;background:#fff;margin:20px;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000000d}.stat-item{flex:1;text-align:center}.stat-value{font-size:24px;font-weight:600;color:#ff8c42;margin-bottom:8px}.stat-label{font-size:14px;color:#999}.profile-menu{margin:20px 0}.menu-section{background:#fff;margin:0 20px 16px;border-radius:12px;padding:16px;box-shadow:0 2px 8px #0000000d}.section-title{font-size:14px;color:#999;margin:0 0 12px;font-weight:500}.menu-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #F0F0F0;cursor:pointer;transition:background .2s}.menu-item:last-child{border-bottom:none}.menu-item:hover{background:#f9f9f9;margin:0 -16px;padding-left:16px;padding-right:16px}.menu-item span:first-child{font-size:15px;color:#333}.menu-value{font-size:14px;color:#ff8c42;font-weight:500}.menu-arrow{font-size:16px;color:#999}.profile-footer{margin:40px 20px 20px;text-align:center}.disclaimer{font-size:12px;color:#999;line-height:1.6;margin:0}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:16px;width:90%;max-width:400px;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #F0F0F0}.modal-header h2{font-size:18px;font-weight:600;margin:0}.btn-close{background:none;border:none;font-size:24px;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.modal-body{padding:30px 20px;text-align:center}.invite-code-display{padding:20px}.invite-code{font-size:32px;font-weight:600;color:#ff8c42;letter-spacing:4px;margin-bottom:16px;font-family:Courier New,monospace}.invite-hint{font-size:14px;color:#666;line-height:1.6;margin:0}.empty-state{text-align:center;padding:100px 20px}.empty-state p{font-size:16px;color:#999;margin-bottom:20px}.loading{text-align:center;padding:100px 20px;color:#999}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff9f5;width:100%;max-width:100vw;overflow-x:hidden;-webkit-text-size-adjust:100%;touch-action:manipulation}#root{min-height:100vh}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #F0F0F0;display:flex;justify-content:space-around;align-items:center;padding:8px 0;z-index:100;box-shadow:0 -2px 8px #0000000d}.nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 16px;cursor:pointer;text-decoration:none;color:#999;transition:color .2s}.nav-item.active{color:#ff8c42}.nav-item span{font-size:12px}.btn-primary{padding:12px 24px;background:#ff8c42;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background .3s}.btn-primary:hover:not(:disabled){background:#ff7a2e}.btn-primary:disabled{opacity:.6;cursor:not-allowed}
