.recommendation-list{display:flex;flex-direction:column;gap:20px}.rec-overview{background:#ffffffc7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(210,170,140,.25);border-radius:16px;padding:18px 20px}.rec-overview-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.rec-overview-title h2{margin:0;font-size:18px;font-weight:600;color:#5d3a1a}.rec-completion-rate{font-size:13px;font-weight:600;color:#c2703e;background:#c2703e1a;padding:4px 12px;border-radius:12px;white-space:nowrap}.rec-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.rec-stat-card{text-align:center;padding:10px 8px;border-radius:12px;background:#fff8f0cc;border:1px solid rgba(210,170,140,.18)}.rec-stat-value{font-size:22px;font-weight:700;color:#5d3a1a;line-height:1.2}.rec-stat-label{font-size:12px;color:#a0826d;margin-top:2px}.rec-filters{display:flex;flex-wrap:wrap;gap:8px}.rec-filter-chip{padding:6px 14px;border-radius:16px;border:1px solid rgba(210,170,140,.35);background:#ffffffb3;color:#8b5e3c;font-size:13px;font-weight:600;cursor:pointer;transition:all .18s ease}.rec-filter-chip:hover{border-color:#c2703e;background:#fff}.rec-filter-chip.active{background:linear-gradient(135deg,#d4956b,#c2703e);border-color:transparent;color:#fff;box-shadow:0 2px 10px #c2703e40}.rec-section{display:flex;flex-direction:column;gap:12px}.rec-section-title{font-size:14px;font-weight:700;color:#8b5e3c;padding-left:4px;display:flex;align-items:center;gap:8px}.rec-section-pin{font-size:11px;font-weight:600;color:#c2703e;background:#c2703e1f;padding:2px 8px;border-radius:10px}.rec-cards{display:flex;flex-direction:column;gap:14px}.rec-card{background:#ffffffbf;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(210,170,140,.25);border-radius:16px;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px;transition:all .25s ease}.rec-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #8b5e3c1a;border-color:#c2703e66}.rec-card.completed{background:#f1f5f9e6;border-color:#94a3b873}.rec-card.completed:hover{box-shadow:0 8px 24px #94a3b829;border-color:#64748b8c}.rec-card.in-progress{border-color:#c2703e73;box-shadow:0 4px 16px #c2703e14}.rec-card-body{flex:1;min-width:0}.rec-card-title-row{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.rec-card-title{font-size:17px;font-weight:600;color:#5d3a1a}.rec-status-badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;padding:3px 10px;border-radius:10px}.rec-status-badge.completed{color:#475569;background:#94a3b833}.rec-status-badge.in-progress{color:#c2703e;background:#c2703e1f}.rec-meta-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rec-trigger-tag{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;padding:3px 10px;border-radius:10px}.rec-trigger-reason{font-size:12px;color:#b89a86}.rec-date{font-size:11px;color:#c4a894;margin-top:6px}.rec-progress-wrap{margin-top:10px}.rec-progress-label{font-size:12px;color:#a0826d;margin-bottom:4px;font-weight:500}.rec-progress-bar{height:6px;background:#d2aa8c33;border-radius:3px;overflow:hidden}.rec-progress-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#d4956b,#c2703e);transition:width .35s ease}.rec-action-btn{padding:10px 24px;border:none;border-radius:24px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .2s ease;background:linear-gradient(135deg,#d4956b,#c2703e);box-shadow:0 2px 8px #c2703e40}.rec-action-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 16px #c2703e59}.rec-action-btn.continue{background:linear-gradient(135deg,#7c5cbf,#5b4db7);box-shadow:0 2px 8px #5b4db74d}.rec-action-btn.continue:hover:not(:disabled){box-shadow:0 4px 16px #5b4db766}.rec-action-btn:disabled{background:linear-gradient(135deg,#a0aec0,#718096);cursor:not-allowed;opacity:.9;box-shadow:0 2px 8px #7180964d}.rec-empty-filter{background:#ffffffb3;border-radius:16px;padding:32px;text-align:center;border:1px solid rgba(210,170,140,.2);color:#a0826d;font-size:14px}.ty-page{--ty-blue: #5c8edc;--ty-blue-700: #2f5fae;--ty-navy: #202f54;--ty-ink: #1f2737;--ty-muted: #5b6478;--ty-paper: #fcfbf7;--ty-card: #ffffff;--ty-tint-2: #f4f1ea;--ty-line: #e7e5dd;--ty-serif: Georgia, "Songti SC", "Noto Serif SC", serif;--ty-sans: "PingFang SC", "Noto Sans SC", -apple-system, BlinkMacSystemFont, sans-serif;min-height:100vh;display:flex;flex-direction:column;background:var(--ty-paper);color:var(--ty-ink);font-family:var(--ty-sans);line-height:1.75;-webkit-font-smoothing:antialiased}.ty-wrap{max-width:1100px;margin:0 auto;padding:0 28px;width:100%}.ty-hdr{background:#fcfbf7d1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--ty-line)}.ty-hdr-in{display:flex;align-items:center;height:74px;max-width:1100px;margin:0 auto;padding:0 28px}.ty-logo{display:flex;align-items:center;gap:11px;background:none;border:none;padding:0;cursor:pointer;text-align:left}.ty-logo-img{height:36px;width:auto;display:block;flex:none}.ty-logo-txt{display:flex;flex-direction:column;line-height:1.05}.ty-logo-txt b{font-size:18px;font-weight:700;letter-spacing:.04em;color:var(--ty-navy)}.ty-logo-txt span{font-size:11px;color:var(--ty-muted);letter-spacing:.02em}.ty-main{flex:1;display:flex;align-items:center;padding:56px 0 64px}.ty-card{background:var(--ty-card);border:1px solid var(--ty-line);border-radius:18px;overflow:hidden;box-shadow:0 24px 60px #202f5414;max-width:430px;margin:0 auto;width:100%;display:flex;flex-direction:column;min-height:min(720px,calc(100vh - 200px))}.ty-card-head{position:relative;background:linear-gradient(165deg,var(--ty-paper),#f8f5ee 55%,var(--ty-tint-2));padding:60px 40px 52px;text-align:center;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.ty-card-head:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(58% 40% at 50% 26%,rgba(255,255,255,.75),transparent 72%)}.ty-beams{position:absolute;top:-6%;left:50%;transform:translate(-50%);width:170%;max-width:none;opacity:.62;pointer-events:none}.ty-head-in{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;width:100%}.ty-tick{position:relative;width:78px;height:78px;margin:0 auto 30px;border-radius:50%;border:1.5px solid rgba(92,142,220,.5);background:#cad7f1;display:flex;align-items:center;justify-content:center}.ty-tick:before,.ty-tick:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(92,142,220,.24)}.ty-tick:before{top:-13px;right:-13px;bottom:-13px;left:-13px}.ty-tick:after{top:-27px;right:-27px;bottom:-27px;left:-27px;border-color:#5c8edc21}.ty-tick svg{width:34px;height:34px;stroke:#fff;stroke-width:2.6;fill:none;stroke-linecap:round;stroke-linejoin:round}.ty-kicker{display:inline-flex;align-items:center;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ty-blue-700);margin-bottom:14px}.ty-card-head h1{font-family:var(--ty-serif);font-weight:600;color:var(--ty-navy);font-size:clamp(34px,8vw,44px);letter-spacing:.06em;line-height:1.2;margin:0}.ty-rule{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;max-width:250px;margin:26px auto 24px}.ty-rule i{flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(92,142,220,.45),transparent)}.ty-rule b{width:7px;height:7px;flex:none;background:var(--ty-blue);opacity:.8;transform:rotate(45deg);border-radius:1px}.ty-copy{font-size:16px;color:var(--ty-muted);margin:0 auto;max-width:30ch}.ty-card-sign{flex:0 0 33.333%;background:linear-gradient(160deg,#243456,#1b2542);padding:30px 40px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.ty-sig{font-family:var(--ty-serif);font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;color:#8b9dc4}.ty-back{border:1px solid rgba(139,157,196,.45);background:transparent;color:#d5dcef;font-size:13px;font-weight:600;letter-spacing:.04em;padding:8px 18px;border-radius:999px;cursor:pointer}.ty-back:hover{background:#ffffff14}.ty-ftr{background:#1b2440;color:#c3cbe0;padding:40px 0 30px}.ty-ftr-in{display:flex;justify-content:space-between;gap:26px;flex-wrap:wrap;align-items:center}.ty-ftr .ty-logo-txt b{color:#fff}.ty-ftr .ty-logo-txt span{color:#8c97b8}.ty-ftr-disc{font-size:13px;color:#9aa4c2;max-width:46ch;line-height:1.7}@media (max-width: 640px){.ty-wrap,.ty-hdr-in{padding-left:18px;padding-right:18px}.ty-main{padding:28px 0 34px}.ty-card{min-height:min(640px,calc(100vh - 150px))}.ty-card-head{padding:52px 26px 46px}.ty-card-sign{padding:24px 26px}.ty-tick:after{top:-20px;right:-20px;bottom:-20px;left:-20px}.ty-ftr-in{flex-direction:column;align-items:flex-start}}.report-card-wrapper{width:100%;display:flex;justify-content:center}.report-card-shell{width:100%;max-width:560px;background:#fffaf7;border-radius:28px;overflow:visible;box-shadow:0 14px 34px #a076542e;border:1px solid rgba(227,187,152,.28)}.report-card-header{padding:24px 24px 22px;border-radius:28px 28px 0 0}.report-card-header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.report-card-kicker{color:#ffffffdb;margin:0 0 4px;font-size:12px}.report-card-title{margin:0 0 10px;color:#fff;font-size:16px;font-weight:700}.report-card-level-row{display:flex;align-items:center;gap:8px}.report-card-level-pill{padding:6px 14px;border-radius:999px;background:#00000052}.report-card-level-text{color:#fff;font-size:20px;font-weight:700;letter-spacing:.03em}.report-card-emoji{font-size:24px}.report-card-score-bubble{position:relative;z-index:6;width:74px;height:74px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fffffff0;overflow:visible;flex-shrink:0}.report-card-score-label{color:#6b5340;font-size:11px;display:inline-flex;align-items:center;gap:2px}.report-card-score-value{color:#3d2c1e;font-size:19px;font-weight:700}.report-card-scale{margin-top:14px}.report-card-scale-labels{display:flex;justify-content:space-between;margin-bottom:6px;font-size:10px}.report-card-scale-track{height:10px;border-radius:999px;background:#ffffff4d;display:flex;overflow:hidden}.report-card-scale-segment{flex:1;margin:0 2px;border-radius:999px}.report-card-content{padding:18px 18px 20px}.report-card-compare{border-radius:16px;padding:10px 12px;margin-bottom:14px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:10px}.report-card-dots{display:flex;align-items:center;flex-shrink:0}.report-card-dot{width:8px;height:8px;border-radius:50%;margin-left:-2px}.report-card-dot:first-child{margin-left:0}.report-card-relative{margin-left:4px;font-weight:500}.report-card-quote-box{border-radius:16px;padding:12px 14px;background:#f9f4f0}.report-card-quote-box p{margin:0;color:#6b5e57;font-size:14px;line-height:1.8}.report-card-footer-tip{margin-top:14px;display:flex;align-items:center;gap:8px}.report-card-footer-line{width:4px;height:30px;border-radius:999px;flex-shrink:0}.report-card-footer-tip p{margin:0;font-size:12px;color:#b0a09a}.report-card-bottom-strip{height:6px;width:100%;border-radius:0 0 28px 28px}.report-info-tip{position:relative;display:inline-flex;cursor:help;font-size:11px;line-height:1;opacity:.85;z-index:5}.report-info-bubble{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);width:max-content;max-width:min(240px,calc(100vw - 48px));padding:8px 10px;border-radius:8px;background:#281e14eb;color:#fff;font-size:12px;font-weight:400;line-height:1.5;text-align:left;white-space:normal;word-break:break-word;visibility:hidden;opacity:0;transition:opacity .15s ease;z-index:30;pointer-events:none;box-sizing:border-box}.report-info-tip:hover .report-info-bubble,.report-info-tip:focus .report-info-bubble,.report-info-tip:focus-within .report-info-bubble{visibility:visible;opacity:1}.report-card-score-bubble .report-info-bubble{top:calc(100% + 6px);bottom:auto;left:auto;right:0;transform:none;max-width:min(220px,70vw)}.report-card-scale-track{position:relative}.report-card-scale-benchmark{position:absolute;left:50%;top:-3px;bottom:-3px;width:2px;background:#fffffff2;box-shadow:0 0 3px #00000059}.report-card-benchmark-label{margin-top:4px;text-align:center;font-size:10px;color:#ffffffeb;text-shadow:0 1px 2px rgba(0,0,0,.3)}.ai-chat-page{min-height:100vh;background:linear-gradient(160deg,#fff8f0,#fdebd3,#fbe4d5 60%,#f5dcd0);padding:20px}.ai-chat-panel{max-width:860px;margin:0 auto;height:calc(100vh - 40px);background:#ffffffb8;border:1px solid rgba(210,170,140,.3);border-radius:16px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;grid-template-rows:auto 1fr auto}.ai-chat-header{padding:16px 18px;border-bottom:1px solid rgba(210,170,140,.25);display:flex;align-items:center;justify-content:space-between}.ai-chat-title{font-size:17px;color:#5d3a1a;font-weight:700}.ai-chat-subtitle{margin-top:4px;font-size:12px;color:#a0826d}.ai-chat-back{border:1px solid #d2aa8c;background:#fff;color:#8b5e3c;border-radius:18px;padding:6px 12px;cursor:pointer}.ai-chat-body{overflow:auto;padding:16px;display:flex;flex-direction:column;gap:10px}.chat-row{display:flex}.chat-row.ai{justify-content:flex-start}.chat-row.user{justify-content:flex-end}.chat-bubble{max-width:72%;border-radius:12px;padding:10px 12px;line-height:1.55;font-size:14px}.chat-bubble.ai{background:#fff;border:1px solid #ecd7c8;color:#47301e}.chat-bubble.user{background:linear-gradient(135deg,#d4956b,#c2703e);color:#fff}.chat-card,.chat-result-card{max-width:76%;border-radius:14px;border:1px solid #e7d3c0;background:#fff;padding:12px}.chat-card-text{font-size:14px;color:#5c412b}.chat-card-title{margin-top:10px;font-size:15px;font-weight:700;color:#5d3a1a}.chat-card-reason{margin-top:4px;font-size:12px;color:#967862}.chat-card-actions{margin-top:10px;display:flex;gap:8px}.chat-primary-btn,.chat-secondary-btn{border-radius:10px;padding:7px 12px;font-size:13px;cursor:pointer}.chat-primary-btn{border:none;background:linear-gradient(135deg,#d4956b,#c2703e);color:#fff}.chat-secondary-btn{border:1px solid #d8c1ad;background:#fff;color:#80583a}.chat-result-title{color:#5d3a1a;font-size:14px}.chat-result-main{margin-top:10px;display:flex;align-items:center;justify-content:space-between;background:#fff6ef;border-radius:10px;padding:10px}.chat-result-label{color:#ab8d76;font-size:12px}.chat-result-score{color:#5d3a1a;font-size:28px;font-weight:700}.chat-result-risk{background:#fee9d8;color:#9c643f;border-radius:999px;padding:4px 10px;font-size:12px;text-transform:capitalize}.chat-link-btn{border:none;background:transparent;color:#5f8fcb;margin-top:8px;cursor:pointer;padding:0}.ai-chat-input-wrap{padding:12px;border-top:1px solid rgba(210,170,140,.25);display:flex;align-items:center;gap:10px}.ai-chat-input{flex:1;border:1px solid #e8d4c4;border-radius:999px;padding:10px 14px;font-size:14px;outline:none}.ai-chat-input:disabled{background:#eef1f5;border-color:#d5dbe3;color:#94a3b8;cursor:not-allowed}.ai-chat-send{border:none;border-radius:999px;padding:9px 16px;cursor:pointer;color:#fff;background:linear-gradient(135deg,#d4956b,#c2703e)}.ai-chat-send:disabled{cursor:not-allowed;opacity:.55}.ai-chat-loading{max-width:860px;margin:160px auto;text-align:center;color:#8b5e3c;font-size:15px}.chat-bubble-error{display:flex;align-items:center;gap:10px;background:#fff4f0;border:1px solid #f0c8b8;color:#a04a2a}.chat-retry-btn{flex-shrink:0;padding:4px 14px;border:1px solid #d98b66;border-radius:14px;background:#fff;color:#c2643c;font-size:13px;cursor:pointer;transition:background .15s ease}.chat-retry-btn:hover:not(:disabled){background:#fbe8de}.chat-retry-btn:disabled{opacity:.5;cursor:not-allowed}.chat-report-options{display:flex;flex-direction:column;gap:8px;margin-top:10px}.chat-report-option{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;border:1px solid #e3cdb9;border-radius:12px;background:#fff;color:#6b4a2f;font-size:14px;cursor:pointer;text-align:left;transition:background .15s ease,border-color .15s ease}.chat-report-option:hover{background:#fdf3ea;border-color:#d9a87f}.chat-report-option-date{flex-shrink:0;font-size:12px;color:#b08a68}body{margin:0;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}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center}.App-header{background-color:#282c34;padding:20px;color:#fff}.App-header h1{margin:0}main{padding:20px}
