*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #f5efe6;--bg-secondary: #fff8f0;--bg-card: #ffffff;--text-primary: #2c4a6e;--text-secondary: #5a7a9a;--text-light: #8aa4be;--accent-blue: #3d5a80;--accent-orange: #e07b39;--accent-light-blue: #98c1d9;--border-color: rgba(44, 74, 110, .15);--shadow: 0 4px 20px rgba(44, 74, 110, .1)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans TC,sans-serif;background:var(--bg-primary);min-height:100vh;color:var(--text-primary)}.app{min-height:100vh}.home-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(180deg,var(--bg-secondary) 0%,var(--bg-primary) 100%)}.hero{text-align:center;max-width:800px}.hero-mascot{width:280px;height:auto;margin-bottom:1.5rem;animation:float 3s ease-in-out infinite;filter:drop-shadow(0 10px 30px rgba(44,74,110,.2))}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.hero h1{font-size:2.5rem;font-weight:700;margin-bottom:.5rem;color:var(--text-primary)}.hero .tagline{font-size:1.5rem;font-weight:600;color:var(--accent-orange);margin-bottom:1rem}.subtitle{font-size:1.1rem;color:var(--text-secondary);line-height:1.8;margin-bottom:2.5rem}.features{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:2.5rem}.feature-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:1.5rem;text-align:left;transition:all .3s ease;box-shadow:var(--shadow)}.feature-card:hover{border-color:var(--accent-blue);transform:translateY(-3px);box-shadow:0 8px 30px #2c4a6e26}.feature-icon{font-size:1.5rem;margin-bottom:.75rem}.feature-card h3{font-size:1rem;color:var(--text-primary);margin-bottom:.5rem;font-weight:600}.feature-card p{font-size:.875rem;color:var(--text-secondary)}.cta-button{background:linear-gradient(135deg,var(--accent-blue),#4a6fa5);color:#fff;border:none;padding:1rem 3rem;font-size:1.1rem;font-weight:600;border-radius:50px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #3d5a804d}.cta-button:hover{transform:translateY(-2px);box-shadow:0 6px 25px #3d5a8066}.hint{margin-top:1rem;font-size:.875rem;color:var(--text-light)}.chat-link{margin-top:1.5rem;background:transparent;border:2px solid var(--accent-blue);color:var(--accent-blue);padding:.75rem 2rem;font-size:1rem;font-weight:600;border-radius:50px;cursor:pointer;transition:all .3s ease}.chat-link:hover{background:var(--accent-blue);color:#fff}.wizard-page{min-height:100vh;padding:1.5rem;background:linear-gradient(180deg,var(--bg-secondary) 0%,var(--bg-primary) 100%)}.wizard-header{display:flex;align-items:center;gap:1rem;max-width:700px;margin:0 auto 2rem}.back-btn{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);padding:.5rem 1rem;border-radius:50px;cursor:pointer;transition:all .2s;font-weight:500}.back-btn:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.progress-bar{flex:1;height:8px;background:#2c4a6e1a;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-blue),var(--accent-light-blue));border-radius:4px;transition:width .3s ease}.step-info{font-size:.875rem;color:var(--text-secondary);font-weight:500}.wizard-content{max-width:700px;margin:0 auto;background:var(--bg-card);border-radius:24px;padding:2.5rem;box-shadow:var(--shadow)}.wizard-content h2{font-size:1.5rem;color:var(--text-primary);margin-bottom:.5rem}.question-subtitle{color:var(--text-secondary);margin-bottom:2rem}.options-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:2rem}.option-card{background:var(--bg-secondary);border:2px solid transparent;border-radius:16px;padding:1.25rem;text-align:left;cursor:pointer;transition:all .2s ease}.option-card:hover{border-color:var(--accent-light-blue);transform:translateY(-2px)}.option-card.selected{border-color:var(--accent-blue);background:#3d5a8014}.option-label{display:block;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.option-desc{font-size:.875rem;color:var(--text-secondary)}.text-input{width:100%;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px;padding:1rem;font-size:1rem;color:var(--text-primary);resize:vertical;transition:border-color .2s;font-family:inherit}.text-input:focus{outline:none;border-color:var(--accent-blue)}.text-input::placeholder{color:var(--text-light)}.wizard-actions{display:flex;justify-content:center;margin-top:1.5rem}.next-btn{background:linear-gradient(135deg,var(--accent-blue),#4a6fa5);color:#fff;border:none;padding:1rem 3rem;font-size:1rem;font-weight:600;border-radius:50px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #3d5a804d}.next-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 25px #3d5a8066}.next-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.loading-overlay{position:fixed;inset:0;background:#f5efe6f2;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100}.loading-spinner{width:50px;height:50px;border:4px solid var(--border-color);border-top-color:var(--accent-blue);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.loading-overlay p{color:var(--text-secondary);font-size:1rem}.result-page{min-height:100vh;padding:1.5rem;max-width:900px;margin:0 auto;background:var(--bg-primary)}.result-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.result-header h2{flex:1;color:var(--text-primary)}.result-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;padding:2rem;margin-bottom:2rem;box-shadow:var(--shadow)}.error-box{background:#e07b391a;border:1px solid rgba(224,123,57,.3);color:var(--accent-orange);padding:1rem;border-radius:12px}.markdown-content{line-height:1.8;color:var(--text-primary)}.markdown-content h1,.markdown-content h2,.markdown-content h3{margin:1.5rem 0 1rem;color:var(--text-primary)}.markdown-content h1{font-size:1.5rem}.markdown-content h2{font-size:1.25rem}.markdown-content h3{font-size:1.1rem}.markdown-content p{margin:.75rem 0}.markdown-content code{background:var(--bg-secondary);padding:.125rem .5rem;border-radius:6px;font-family:Consolas,Monaco,monospace;font-size:.9em;color:var(--accent-blue)}.markdown-content pre{background:#2c4a6e;color:#f5f5f5;padding:1rem;border-radius:12px;overflow-x:auto;margin:1rem 0}.markdown-content pre code{background:none;padding:0;color:inherit}.markdown-content pre *{color:#f5f5f5!important;background:transparent!important}.markdown-content pre h1,.markdown-content pre h2,.markdown-content pre h3,.markdown-content pre h4,.markdown-content pre strong{color:gold!important;font-weight:700}.markdown-content li{margin-left:1.5rem;margin-bottom:.5rem;color:var(--text-primary)}.markdown-content strong{color:var(--accent-blue)}.result-actions{display:flex;gap:1rem;justify-content:center}.action-btn{background:linear-gradient(135deg,var(--accent-blue),#4a6fa5);color:#fff;border:none;padding:.875rem 2rem;font-size:1rem;font-weight:600;border-radius:50px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #3d5a804d}.action-btn:hover{transform:translateY(-2px)}.action-btn.secondary{background:var(--bg-card);border:2px solid var(--accent-blue);color:var(--accent-blue);box-shadow:none}.action-btn.secondary:hover{background:var(--accent-blue);color:#fff}.chat-page{height:100vh;display:flex;flex-direction:column;background:var(--bg-primary)}.chat-header{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);background:var(--bg-card)}.chat-header h2{flex:1;font-size:1.25rem;color:var(--text-primary)}.chat-messages{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.chat-message{display:flex;gap:.75rem;max-width:85%;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-message.user{flex-direction:row-reverse;margin-left:auto}.message-avatar{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;background:var(--bg-card);border:2px solid var(--border-color);flex-shrink:0;overflow:hidden}.message-avatar img{width:100%;height:100%;object-fit:cover}.message-bubble{background:var(--bg-card);border:1px solid var(--border-color);padding:1rem 1.25rem;border-radius:18px;line-height:1.6;box-shadow:0 2px 10px #2c4a6e14;color:var(--text-primary)}.message-bubble h1,.message-bubble h2,.message-bubble h3,.message-bubble h4{color:var(--accent-blue);margin:1rem 0 .5rem}.message-bubble strong{color:var(--text-primary)}.message-bubble code{background:var(--bg-secondary);padding:.125rem .5rem;border-radius:6px;font-family:Consolas,Monaco,monospace;font-size:.9em;color:var(--accent-blue)}.message-bubble pre{background:#2c4a6e;color:#f5f5f5;padding:1rem;border-radius:12px;overflow-x:auto;margin:.75rem 0}.message-bubble pre code{background:none;padding:0;color:inherit}.message-bubble pre *{color:#f5f5f5!important;background:transparent!important}.message-bubble pre h1,.message-bubble pre h2,.message-bubble pre h3,.message-bubble pre h4,.message-bubble pre strong{color:gold!important;font-weight:700}.chat-message.user .message-bubble{background:linear-gradient(135deg,var(--accent-blue),#4a6fa5);border:none;color:#fff}.chat-message.user .message-bubble strong,.chat-message.user .message-bubble h1,.chat-message.user .message-bubble h2,.chat-message.user .message-bubble h3,.chat-message.user .message-bubble h4,.chat-message.user .message-bubble li,.chat-message.user .message-bubble code{color:#fff}.chat-message.user .message-bubble code{background:#fff3}.typing-indicator{display:flex;gap:4px}.typing-indicator span{width:8px;height:8px;background:var(--text-light);border-radius:50%;animation:bounce 1.4s infinite ease-in-out}.typing-indicator span:nth-child(1){animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.chat-input-form{display:flex;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-color);background:var(--bg-card)}.chat-input-form input{flex:1;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:50px;padding:.875rem 1.5rem;color:var(--text-primary);font-size:1rem}.chat-input-form input:focus{outline:none;border-color:var(--accent-blue)}.chat-input-form input::placeholder{color:var(--text-light)}.chat-input-form button{background:linear-gradient(135deg,var(--accent-blue),#4a6fa5);color:#fff;border:none;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;border-radius:50px;cursor:pointer;transition:all .2s}.chat-input-form button:hover:not(:disabled){transform:scale(1.02)}.chat-input-form button:disabled{opacity:.5;cursor:not-allowed}.reset-btn{background:#e07b3926;border:1px solid rgba(224,123,57,.3);color:var(--accent-orange);width:40px;height:40px;border-radius:50%;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.reset-btn:hover{background:#e07b3940;border-color:var(--accent-orange);transform:scale(1.05)}.modal-overlay{position:fixed;inset:0;background:#2c4a6e80;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;padding:2rem;max-width:400px;width:90%;text-align:center;animation:slideUp .3s ease;box-shadow:0 20px 60px #2c4a6e4d}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-content h3{font-size:1.25rem;margin-bottom:.75rem;color:var(--text-primary)}.modal-content p{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.95rem}.modal-actions{display:flex;gap:1rem;justify-content:center}.modal-btn{padding:.75rem 1.5rem;border-radius:50px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease}.modal-btn.cancel{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary)}.modal-btn.cancel:hover{background:var(--bg-primary);color:var(--text-primary)}.modal-btn.confirm{background:linear-gradient(135deg,var(--accent-orange),#c96830);border:none;color:#fff}.modal-btn.confirm:hover{transform:translateY(-2px);box-shadow:0 4px 15px #e07b3966}.markdown-content table{width:100%;border-collapse:collapse;margin:15px 0;font-size:.9rem;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.markdown-content th{background:var(--accent-blue);color:#fff;font-weight:600;padding:12px 15px;text-align:left;border:1px solid var(--border-color)}.markdown-content td{padding:10px 15px;border:1px solid var(--border-color);color:var(--text-primary)}.markdown-content tr:nth-child(2n) td{background:var(--bg-secondary);color:var(--text-primary)}.markdown-content tr:nth-child(odd) td{background:var(--bg-card);color:var(--text-primary)}.markdown-content tr:hover td{background:#3d5a801a}.message-bubble table{width:100%;border-collapse:collapse;margin:10px 0;font-size:.85rem}.message-bubble th{background:var(--accent-blue);color:#fff;font-weight:600;padding:8px 12px;text-align:left;border:1px solid var(--border-color)}.message-bubble td{padding:8px 12px;border:1px solid var(--border-color);color:var(--text-primary);background:var(--bg-card)}.message-bubble tr:nth-child(2n) td{background:var(--bg-secondary);color:var(--text-primary)}.message-bubble tr:nth-child(odd) td{background:var(--bg-card);color:var(--text-primary)}.message-bubble li{margin-left:1.5rem;margin-bottom:.25rem;color:var(--text-primary)}.lang-switcher{position:fixed;top:1rem;right:1rem;z-index:1000}.lang-btn{background:var(--bg-card);border:2px solid var(--border-color);color:var(--text-primary);padding:.5rem 1rem;border-radius:25px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;box-shadow:var(--shadow)}.lang-btn:hover{border-color:var(--accent-blue);background:var(--bg-secondary)}.lang-menu{position:absolute;top:calc(100% + .5rem);right:0;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 10px 40px #0003;overflow:hidden;min-width:150px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.lang-option{display:block;width:100%;padding:.75rem 1rem;background:transparent;border:none;color:var(--text-primary);font-size:.9rem;text-align:left;cursor:pointer;transition:all .2s ease}.lang-option:hover{background:var(--bg-secondary)}.lang-option.active{background:var(--accent-blue);color:#fff}@media(max-width:640px){.hero h1{font-size:1.75rem}.hero .tagline{font-size:1.25rem}.hero-mascot{width:200px}.features,.options-grid{grid-template-columns:1fr}.result-actions{flex-direction:column}.wizard-content{padding:1.5rem}.modal-actions{flex-direction:column}.record-card{flex-direction:column;gap:1rem}.record-actions{width:100%;justify-content:flex-end}}.home-links{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem;flex-wrap:wrap}.history-link{background:transparent;border:2px solid var(--accent-orange);color:var(--accent-orange);padding:.75rem 2rem;font-size:1rem;font-weight:600;border-radius:50px;cursor:pointer;transition:all .3s ease}.history-link:hover{background:var(--accent-orange);color:#fff}.result-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.action-btn.primary{background:linear-gradient(135deg,var(--accent-orange),#c96830);box-shadow:0 4px 15px #e07b394d}.action-btn.primary:hover{box-shadow:0 6px 25px #e07b3966}.success-toast{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:1rem 2rem;border-radius:12px;text-align:center;margin-bottom:1.5rem;animation:slideDown .3s ease;font-weight:600}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.history-page{min-height:100vh;padding:1.5rem;max-width:900px;margin:0 auto;background:var(--bg-primary)}.history-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.history-header h2{flex:1;color:var(--text-primary)}.history-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;padding:2rem;box-shadow:var(--shadow)}.empty-state{text-align:center;padding:3rem 1rem}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state p{color:var(--text-secondary);margin-bottom:2rem;font-size:1.1rem}.records-list{display:flex;flex-direction:column;gap:1rem}.record-card{display:flex;align-items:center;justify-content:space-between;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1.25rem;transition:all .2s ease}.record-card:hover{border-color:var(--accent-blue);transform:translate(5px)}.record-info h3{font-size:1.1rem;color:var(--text-primary);margin-bottom:.5rem}.record-meta{display:flex;gap:1rem;flex-wrap:wrap}.record-meta span{font-size:.85rem;color:var(--text-secondary)}.record-actions{display:flex;gap:.5rem}.record-btn{padding:.5rem 1rem;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.record-btn.view{background:var(--accent-blue);border:none;color:#fff}.record-btn.view:hover{background:#4a6fa5}.record-btn.delete{background:transparent;border:1px solid rgba(239,68,68,.3);color:#ef4444}.record-btn.delete:hover{background:#ef44441a}.modal-input{width:100%;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px;padding:1rem;font-size:1rem;color:var(--text-primary);margin-bottom:1.5rem;transition:border-color .2s}.modal-input:focus{outline:none;border-color:var(--accent-blue)}.modal-input::placeholder{color:var(--text-light)}
