@import "https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@300;400;500;700;900&family=Outfit:wght@300;400;500;600;700;800&display=swap";:root{--bg-color:#f5f9f6;--card-bg:#fff;--border-color:#e2ede5;--primary:#3b8e72;--primary-light:#e8f4f0;--primary-hover:#2d6f58;--primary-glow:#3b8e7226;--secondary:#5a738e;--secondary-light:#f1f5f9;--success:#66bb6a;--success-bg:#e8f5e9;--warning:#ffb74d;--warning-bg:#fff3e0;--danger:#ef5350;--danger-bg:#ffebee;--text-primary:#2c3e35;--text-secondary:#5c7066;--text-muted:#8ea397;--border-radius:12px;--font-main:"Outfit", "Noto Sans TC", -apple-system, BlinkMacSystemFont, sans-serif;--transition:all .2s ease-in-out}.required-star{color:var(--danger);margin-left:2px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background:var(--bg-color);color:var(--text-primary);min-height:100vh;line-height:1.6}.app-container{flex-direction:column;max-width:1000px;margin:0 auto;padding:2.5rem 1.5rem;display:flex}.app-header{text-align:center;margin-bottom:2.5rem}.app-title-wrapper{align-items:center;gap:.75rem;margin-bottom:.5rem;display:inline-flex}.app-title-icon{color:var(--primary)}.app-header h1{color:var(--primary);letter-spacing:-.01em;font-size:2rem;font-weight:700}.app-subtitle{color:var(--text-secondary);font-size:.95rem}.tab-navigation{justify-content:center;gap:.75rem;margin-bottom:2rem;display:flex}.tab-btn{background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;transition:var(--transition);border-radius:30px;align-items:center;gap:.5rem;padding:.75rem 1.75rem;font-size:.95rem;font-weight:600;display:flex;box-shadow:0 2px 4px #2c3e3508}.tab-btn:hover{color:var(--primary);border-color:var(--primary);background:var(--primary-light)}.tab-btn.active{color:#fff;background:var(--primary);border-color:var(--primary);box-shadow:0 4px 10px #3b8e7233}.main-content{flex:1}.glass-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:2.5rem;position:relative;box-shadow:0 4px 20px #2c3e350d}@media (width<=640px){.glass-card{padding:1.5rem}}.section-title-container{border-bottom:1px solid var(--border-color);align-items:center;gap:.75rem;margin-bottom:1.5rem;padding-bottom:.5rem;display:flex}.section-icon{color:var(--primary)}.section-title{color:var(--text-primary);font-size:1.35rem;font-weight:700}.form-group{margin-bottom:1.25rem}.form-label{color:var(--text-secondary);margin-bottom:.4rem;font-size:.9rem;font-weight:700;display:block}.form-input{border:1px solid var(--border-color);width:100%;color:var(--text-primary);font-family:var(--font-main);transition:var(--transition);background:#fff;border-radius:6px;padding:.65rem .85rem;font-size:.95rem}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);outline:none}.expert-info-grid{background:var(--primary-light);border:1px solid var(--border-color);border-radius:8px;grid-template-columns:1fr 1.5fr 1fr;gap:1.25rem;margin-bottom:2.5rem;padding:1.5rem;display:grid}@media (width<=768px){.expert-info-grid{grid-template-columns:1fr;gap:1rem}}.checkbox-group{grid-template-columns:repeat(2,1fr);gap:.6rem;margin-top:.25rem;display:grid}@media (width<=480px){.checkbox-group{grid-template-columns:1fr}}.checkbox-label{color:var(--text-secondary);cursor:pointer;transition:var(--transition);-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.checkbox-label:hover{color:var(--primary)}.checkbox-input{appearance:none;cursor:pointer;width:16px;height:16px;transition:var(--transition);background:#fff;border:1px solid #c2d1c7;border-radius:3px;position:relative}.checkbox-input:checked{background:var(--primary);border-color:var(--primary)}.checkbox-input:checked:after{content:"✓";color:#fff;font-size:10px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.other-bg-input{grid-column:span 2;margin-top:.25rem}@media (width<=480px){.other-bg-input{grid-column:span 1}}.survey-section{margin-bottom:2.5rem}.section-intro-card{border-left:4px solid var(--primary);color:var(--text-secondary);white-space:pre-wrap;background:#fcfcfc;border-radius:0 6px 6px 0;margin-bottom:1.75rem;padding:1.25rem;font-size:.925rem;box-shadow:0 1px 3px #00000005}.question-card{border:1px solid var(--border-color);transition:var(--transition);background:#fff;border-radius:8px;margin-bottom:1.25rem;padding:1.5rem}.question-card:hover{border-color:#cbdcd1;box-shadow:0 4px 12px #2c3e350a}.question-header{align-items:flex-start;gap:.75rem;margin-bottom:1.25rem;display:flex}.question-number{background:var(--primary-light);color:var(--primary);border:1px solid var(--border-color);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.85rem;font-weight:700;display:flex}.question-text{color:var(--text-primary);padding-top:.1rem;font-size:.975rem;font-weight:600}.rating-container{grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1rem;display:grid}@media (width<=640px){.rating-container{grid-template-columns:repeat(4,1fr);gap:.4rem}.rating-btn-face{padding:.45rem .25rem}.rating-btn-score{margin-bottom:0;font-size:1rem}.rating-btn-label{font-size:.65rem}}@media (width<=480px){.rating-container{grid-template-columns:repeat(2,1fr);gap:.4rem}.rating-btn-face{padding:.5rem .4rem}.rating-btn-score{margin-bottom:.05rem;font-size:1.05rem}.rating-btn-label{font-size:.7rem}}.rating-option{cursor:pointer;position:relative}.rating-radio{opacity:0;width:0;height:0;position:absolute}.rating-btn-face{border:1px solid var(--border-color);transition:var(--transition);text-align:center;background:#fff;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;padding:.6rem;display:flex}.rating-btn-score{color:var(--text-muted);transition:var(--transition);margin-bottom:.05rem;font-size:1.15rem;font-weight:700}.rating-btn-label{color:var(--text-secondary);font-size:.75rem;font-weight:500}.rating-option:hover .rating-btn-face{background:var(--primary-light);border-color:var(--primary)}.rating-radio:checked+.rating-btn-face{box-shadow:0 2px 6px #0000000d}.rating-option[data-score="1"] .rating-radio:checked+.rating-btn-face{border-color:var(--danger);background:var(--danger-bg)}.rating-option[data-score="1"] .rating-radio:checked+.rating-btn-face .rating-btn-score{color:var(--danger)}.rating-option[data-score="2"] .rating-radio:checked+.rating-btn-face{border-color:var(--warning);background:var(--warning-bg)}.rating-option[data-score="2"] .rating-radio:checked+.rating-btn-face .rating-btn-score{color:var(--warning)}.rating-option[data-score="3"] .rating-radio:checked+.rating-btn-face{border-color:var(--primary);background:var(--primary-light)}.rating-option[data-score="3"] .rating-radio:checked+.rating-btn-face .rating-btn-score{color:var(--primary)}.rating-option[data-score="4"] .rating-radio:checked+.rating-btn-face{border-color:var(--primary);background:var(--primary-light)}.rating-option[data-score="4"] .rating-radio:checked+.rating-btn-face .rating-btn-score{color:var(--primary)}.comment-input-wrapper{margin-top:.5rem}.comment-textarea{border:1px solid var(--border-color);width:100%;color:var(--text-primary);font-family:var(--font-main);resize:vertical;min-height:50px;transition:var(--transition);background:#fff;border-radius:6px;padding:.5rem .75rem;font-size:.9rem}.comment-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);outline:none}.submit-container{flex-direction:column;align-items:center;gap:.75rem;margin-top:2.5rem;display:flex}.validation-error-msg{color:var(--danger);align-items:center;gap:.35rem;font-size:.9rem;font-weight:600;display:flex}.primary-btn{background:var(--primary);color:#fff;cursor:pointer;transition:var(--transition);border:none;border-radius:30px;align-items:center;gap:.5rem;padding:.85rem 2.5rem;font-size:1rem;font-weight:700;display:inline-flex;box-shadow:0 2px 6px #3b8e7226}.primary-btn:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #3b8e7240}.primary-btn:active:not(:disabled){transform:translateY(1px)}.primary-btn:disabled{opacity:.5;cursor:not-allowed}.spinner{width:18px;height:18px;animation:2s linear infinite rotate}.spinner circle{stroke:#fff;stroke-linecap:round;animation:1.5s ease-in-out infinite dash}.success-card{text-align:center;flex-direction:column;align-items:center;gap:1.25rem;padding:3.5rem 1.5rem;display:flex}.success-icon-wrapper{background:var(--success-bg);color:var(--success);border:1px solid #a5d6a7;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;display:flex}.success-card h2{color:var(--primary);font-size:1.75rem;font-weight:700}.success-card p{color:var(--text-secondary);max-width:450px;margin:0 auto}.dashboard-grid{flex-direction:column;gap:2rem;display:flex}.stats-row{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}@media (width<=768px){.stats-row{grid-template-columns:1fr;gap:.75rem}}.stat-card{border:1px solid var(--border-color);background:#fff;border-radius:8px;align-items:center;gap:1rem;padding:1.25rem;display:flex}.stat-icon-container{border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.stat-icon-container.blue{color:#1e88e5;background:#e3f2fd}.stat-icon-container.purple{color:#8e24aa;background:#f3e5f5}.stat-icon-container.emerald{background:var(--primary-light);color:var(--primary)}.stat-content{flex-direction:column;display:flex}.stat-label{color:var(--text-secondary);font-size:.8rem;font-weight:500}.stat-value{color:var(--text-primary);font-size:1.5rem;font-weight:700;line-height:1.2}.dashboard-section-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-top:.75rem;margin-bottom:1.25rem;padding-bottom:.5rem;display:flex}.dashboard-section-header h3{color:var(--text-primary);align-items:center;gap:.5rem;font-size:1.15rem;font-weight:700;display:flex}.dashboard-card-list{flex-direction:column;gap:.75rem;display:flex}.dashboard-item-card{border:1px solid var(--border-color);background:#fff;border-radius:8px;padding:1.25rem}.dashboard-item-main{justify-content:space-between;align-items:center;gap:1.5rem;display:flex}@media (width<=640px){.dashboard-item-main{flex-direction:column;align-items:stretch;gap:.75rem}}.dashboard-item-info{flex:1}.dashboard-item-text{color:var(--text-primary);margin-bottom:.5rem;font-size:.95rem;font-weight:600}.cvi-progress-wrapper{align-items:center;gap:.75rem;width:100%;display:flex}.cvi-progress-bg{background:#edf2ee;border-radius:3px;flex:1;height:6px;overflow:hidden}.cvi-progress-fill{border-radius:3px;height:100%;transition:width .5s ease-out}.cvi-value-label{text-align:right;width:40px;font-family:Outfit,sans-serif;font-size:.9rem;font-weight:700}.cvi-status-pass{background:var(--primary)}.cvi-text-pass{color:var(--primary)}.cvi-status-warn{background:var(--warning)}.cvi-text-warn{color:var(--warning)}.cvi-status-fail{background:var(--danger)}.cvi-text-fail{color:var(--danger)}.dashboard-item-metrics{flex-shrink:0;align-items:center;gap:.75rem;display:flex}@media (width<=640px){.dashboard-item-metrics{justify-content:space-between}}.score-pills{gap:.3rem;display:flex}.score-pill{color:var(--text-secondary);background:#f5f8f6;border:1px solid #e2ede5;border-radius:4px;padding:.1rem .35rem;font-size:.7rem;font-weight:600}.score-pill span{font-weight:700}.score-pill.active-high{background:var(--primary-light);color:var(--primary);border-color:#c9dfd7}.cvi-badge{font-family:var(--font-main);border-radius:12px;align-items:center;padding:.25rem .65rem;font-size:.8rem;font-weight:700;display:inline-flex}.cvi-badge.pass{background:var(--primary-light);color:var(--primary);border:1px solid #c9dfd7}.cvi-badge.warn{background:var(--warning-bg);color:#e65100;border:1px solid #ffe0b2}.cvi-badge.fail{background:var(--danger-bg);color:#c62828;border:1px solid #ffcdd2}.expand-comments-btn{color:var(--text-secondary);cursor:pointer;transition:var(--transition);background:0 0;border:none;border-radius:4px;align-items:center;gap:.2rem;padding:.2rem .4rem;font-size:.8rem;font-weight:600;display:flex}.expand-comments-btn:hover{color:var(--primary);background:var(--primary-light)}.comments-collapse-container{border-top:1px solid var(--border-color);margin-top:.75rem;padding-top:.5rem}.comments-list{flex-direction:column;gap:.5rem;display:flex}.comment-bubble{background:#fafcfb;border-left:2px solid #b2dfdb;border-radius:6px;padding:.5rem .75rem;font-size:.85rem}.comment-bubble-meta{color:var(--text-muted);justify-content:space-between;margin-bottom:.15rem;font-size:.75rem;display:flex}.comment-bubble-text{color:var(--text-primary)}.comment-bubble.rating-1{border-left-color:var(--danger);background:#fffdfd}.comment-bubble.rating-2{border-left-color:var(--warning);background:#fffffb}.comment-bubble.rating-3,.comment-bubble.rating-4{border-left-color:var(--primary)}.no-comments-placeholder{color:var(--text-muted);padding:.2rem 0;font-size:.8rem;font-style:italic}.loading-dashboard,.empty-dashboard{text-align:center;color:var(--text-secondary);flex-direction:column;align-items:center;gap:.75rem;padding:3.5rem 1.5rem;display:flex}.loading-dashboard .spinner{width:32px;height:32px}.loading-dashboard .spinner circle{stroke:var(--primary)}.app-footer{text-align:center;color:var(--text-muted);border-top:1px solid var(--border-color);margin-top:auto;padding-top:2.5rem;padding-bottom:1rem;font-size:.8rem}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1 150;stroke-dashoffset:0}50%{stroke-dasharray:90 150;stroke-dashoffset:-35px}to{stroke-dasharray:90 150;stroke-dashoffset:-124px}}@media (width<=640px){.app-container{padding:1rem .5rem}.app-header{margin-bottom:1.5rem}.app-header h1{font-size:1.45rem}.app-subtitle{font-size:.85rem}.tab-navigation{gap:.5rem;margin-bottom:1.5rem;padding:0 .5rem}.tab-btn{border-radius:20px;flex:1;justify-content:center;padding:.6rem .5rem;font-size:.8rem}.glass-card{border-radius:8px;padding:1.25rem .75rem}.expert-info-grid{border-radius:6px;gap:.75rem;margin-bottom:1.5rem;padding:1rem .75rem}.section-intro-card{margin-bottom:1.25rem;padding:.85rem;font-size:.825rem}.question-card{border-radius:6px;margin-bottom:.75rem;padding:1rem .75rem}.question-header{gap:.5rem;margin-bottom:.85rem}.question-number{width:20px;height:20px;font-size:.75rem}.question-text{font-size:.9rem}.comment-textarea{min-height:44px;padding:.45rem .6rem;font-size:.85rem}.submit-container{margin-top:1.75rem}.primary-btn{justify-content:center;width:100%;padding:.75rem 2rem;font-size:.95rem}.validation-error-msg{font-size:.85rem}.dashboard-item-card{border-radius:6px;padding:1rem .75rem}.dashboard-item-text{font-size:.875rem}.cvi-progress-wrapper{gap:.5rem}.cvi-value-label{width:35px;font-size:.85rem}.cvi-badge{padding:.15rem .45rem;font-size:.75rem}.comments-collapse-container{margin-top:.5rem;padding-top:.4rem}.comment-bubble{border-radius:4px;padding:.4rem .6rem;font-size:.8rem}}@media (width<=480px){.checkbox-group{grid-template-columns:1fr;gap:.4rem}}
