:root{--bg:#f4f6fb;--bg-soft:#eef3ff;--bg-card:#fff;--bg-input:#f8fafc;--bg-input-focus:#fff;--border:#dde4f0;--border-strong:#c8d3e3;--border-focus:#2b5ce6;--text-0:#162033;--text-1:#40506a;--text-2:#7a879c;--text-muted:#98a3b7;--blue:#2b5ce6;--blue-hover:#1e4dd1;--blue-bg:#e8eeff;--blue-border:#bfd0ff;--green:#1a7f4b;--green-bg:#edfaf2;--green-border:#b2e4c8;--amber:#b8860b;--amber-bg:#fff8e6;--amber-border:#f0d98a;--red-bg:#fef2f2;--red-text:#c62828;--red-border:#f4c7c7;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--radius-pill:999px;--shadow-card:0 1px 2px #1620330a, 0 10px 24px #1620330f;--shadow-soft:0 18px 50px #16203314;--font:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-family:var(--font);color:var(--text-0);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box}html{background:var(--bg);min-height:100%}body{background:radial-gradient(circle at top left, #2b5ce614, transparent 32rem), linear-gradient(180deg, #f8faff 0%, var(--bg) 100%);min-width:320px;min-height:100vh;margin:0}#root{min-height:100dvh}button,input,textarea{font:inherit}button{border:0}input,textarea{color:inherit}textarea{resize:vertical}h1,h2,h3,p{margin:0}.app-shell{width:min(1200px,100% - 48px);margin:0 auto;padding:32px 0 64px}.hero-card{border:1px solid var(--border);border-radius:var(--radius-xl);background:linear-gradient(135deg, #2b5ce61a, #ffffffeb 52%), var(--bg-card);box-shadow:var(--shadow-soft);margin-bottom:28px;padding:34px 36px}.hero-content{max-width:780px}.hero-badge,.section-kicker{border-radius:var(--radius-pill);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:6px;width:fit-content;font-size:11px;font-weight:800;display:inline-flex}.hero-badge{border:1px solid var(--blue-border);background:var(--blue-bg);color:var(--blue);margin-bottom:14px;padding:5px 11px}.section-kicker{color:var(--blue);margin-bottom:8px}.hero-card h1{color:var(--text-0);letter-spacing:-.055em;font-size:clamp(32px,5vw,48px);font-weight:850;line-height:1.04}.hero-card p{max-width:720px;color:var(--text-1);margin-top:14px;font-size:16px;line-height:1.7}.app-layout{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;gap:32px;display:grid}.sidebar,.results-area{min-width:0}.results-area{flex-direction:column;gap:18px;display:flex}.input-mode-card{width:100%;max-width:360px}.mode-tabs{border:1px solid var(--border);border-radius:var(--radius-lg);background:#ffffffb8;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:12px;padding:5px;display:grid;box-shadow:0 8px 20px #1620330a}.mode-tab{cursor:pointer;min-height:38px;color:var(--text-2);background:0 0;border-radius:13px;font-size:13px;font-weight:850;transition:background .16s,color .16s,box-shadow .16s}.mode-tab.active{color:var(--blue);background:#fff;box-shadow:0 8px 18px #16203314}.profile-card,.chat-card{border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:360px;box-shadow:var(--shadow-card);background:#fffffff0;padding:22px}.profile-card-header,.chat-card-header{margin-bottom:22px}.profile-card-header h2,.chat-card-header h2{color:var(--text-0);letter-spacing:-.03em;font-size:22px;font-weight:820}.profile-card-header p,.chat-card-header p{color:var(--text-2);margin-top:8px;font-size:13px;line-height:1.55}.form-section{border-top:1px solid var(--border);padding-top:18px}.form-section+.form-section{margin-top:18px}.form-section h3{color:var(--text-0);letter-spacing:.02em;margin-bottom:12px;font-size:13px;font-weight:800}.field{flex-direction:column;gap:6px;display:flex}.field+.field{margin-top:12px}.field span,.chat-input-field span{color:var(--text-1);font-size:13px;font-weight:700}.field input,.chat-input-field textarea{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-input);width:100%;color:var(--text-0);outline:none;font-size:14px;transition:border-color .16s,box-shadow .16s,background .16s}.field input{min-height:42px;padding:9px 11px}.chat-input-field textarea{min-height:170px;padding:12px;line-height:1.55}.field input:focus,.chat-input-field textarea:focus{border-color:var(--border-focus);background:var(--bg-input-focus);box-shadow:0 0 0 3px #2b5ce61f}.field small{color:var(--text-muted);font-size:11px}.budget-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.budget-grid .field+.field{margin-top:0}.form-actions{border-top:1px solid var(--border);grid-template-columns:1fr;gap:10px;margin-top:22px;padding-top:18px;display:grid}.btn{cursor:pointer;border-radius:var(--radius-md);min-height:42px;font-size:14px;font-weight:800;transition:transform .14s,box-shadow .14s,background .14s,opacity .14s}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{cursor:not-allowed;opacity:.55}.btn-primary{background:var(--blue);color:#fff;box-shadow:0 10px 20px #2b5ce62e}.btn-primary:hover:not(:disabled){background:var(--blue-hover)}.btn-secondary{border:1px solid var(--border-strong);color:var(--text-0);background:#fff}.btn-secondary:hover:not(:disabled),.btn-ghost:hover:not(:disabled),.page-btn:hover:not(:disabled){background:var(--bg-soft)}.btn-ghost{color:var(--text-2);background:0 0;border:1px solid #0000}.chat-window{border:1px solid var(--border);border-radius:var(--radius-lg);background:#f8faff;flex-direction:column;gap:12px;margin-bottom:16px;padding:14px;display:flex}.chat-message{align-items:flex-end;gap:8px;display:flex}.chat-message.user{justify-content:flex-end}.chat-avatar{border-radius:var(--radius-pill);min-width:34px;height:28px;color:var(--blue);border:1px solid var(--blue-border);background:#fff;flex:none;justify-content:center;align-items:center;padding:0 8px;font-size:11px;font-weight:900;display:inline-flex}.chat-bubble{border:1px solid var(--border);max-width:245px;color:var(--text-1);background:#fff;border-radius:15px;padding:10px 12px;font-size:13px;line-height:1.5}.chat-message.user .chat-bubble{background:var(--blue);border-color:var(--blue);color:#fff}.chat-input-field{flex-direction:column;gap:7px;display:flex}.results-panel{min-width:0}.results-header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.results-header h2{color:var(--text-0);letter-spacing:-.04em;font-size:26px;font-weight:850}.results-header p{color:var(--text-2);margin-top:6px;font-size:14px}.results-count{border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-1);background:#ffffffb8;flex:none;margin-top:4px;padding:6px 11px;font-size:13px;font-weight:750}.profile-summary{border:1px solid var(--blue-border);border-radius:var(--radius-lg);background:#e8eeffb3;margin-bottom:18px;padding:14px 16px}.profile-summary-title{color:var(--blue);letter-spacing:.05em;text-transform:uppercase;margin-bottom:10px;font-size:12px;font-weight:850}.profile-summary.chat-summary p:not(.profile-summary-title){color:var(--text-0);font-size:14px;line-height:1.6}.profile-summary.chat-summary span{color:var(--text-2);margin-top:10px;font-size:12px;line-height:1.5;display:block}.summary-grid{flex-wrap:wrap;gap:8px;display:flex}.summary-grid span{border:1px solid var(--blue-border);border-radius:var(--radius-pill);color:var(--text-1);background:#fff;padding:5px 10px;font-size:12px;font-weight:650}.card-grid,.skeleton-list{flex-direction:column;gap:16px;display:flex}.project-card{border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);background:#fffffff5;padding:22px;transition:transform .16s,box-shadow .16s,border-color .16s}.project-card:hover{border-color:var(--border-strong);transform:translateY(-1px);box-shadow:0 18px 40px #16203314}.project-card-top{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.project-title-block{min-width:0}.project-title-block h3{color:var(--text-0);letter-spacing:-.025em;font-size:18px;font-weight:820;line-height:1.35}.project-title-block p{color:var(--text-1);margin-top:8px;font-size:14px;line-height:1.65}.score-badge{border-radius:var(--radius-lg);text-align:center;flex:0 0 132px;padding:12px}.score-badge strong{letter-spacing:-.04em;font-size:24px;font-weight:900;line-height:1;display:block}.score-badge span{letter-spacing:.04em;text-transform:uppercase;margin-top:5px;font-size:11px;font-weight:850;display:block}.score-badge.high{border:1px solid var(--green-border);background:var(--green-bg);color:var(--green)}.score-badge.medium{border:1px solid var(--amber-border);background:var(--amber-bg);color:var(--amber)}.score-badge.low{border:1px solid var(--blue-border);background:var(--blue-bg);color:var(--blue)}.project-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.meta-chip{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-input);min-width:0;padding:10px 12px}.meta-chip span{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:3px;font-size:11px;font-weight:800;display:block}.meta-chip strong{overflow-wrap:anywhere;color:var(--text-0);font-size:13px;font-weight:760;display:block}.tags{flex-wrap:wrap;gap:7px;margin:14px 0;display:flex}.tag{border:1px solid var(--blue-border);border-radius:var(--radius-pill);background:var(--blue-bg);min-height:24px;color:var(--blue);align-items:center;padding:4px 10px;font-size:12px;font-weight:750;display:inline-flex}.reasons-block{border:1px solid var(--border);border-radius:var(--radius-lg);background:#f8faff;margin-top:16px;padding:15px 16px}.reasons-title{color:var(--text-0);margin-bottom:10px;font-size:13px;font-weight:850}.reasons-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.reasons-list li{color:var(--text-1);padding-left:18px;font-size:13px;line-height:1.5;position:relative}.reasons-list li:before{content:"";border-radius:var(--radius-pill);background:var(--blue);width:7px;height:2px;position:absolute;top:9px;left:0}.error-banner{border:1px solid var(--red-border);border-radius:var(--radius-lg);background:var(--red-bg);color:var(--red-text);padding:14px 16px;font-size:14px}.idle-state,.empty-state{border:1px dashed var(--border-strong);border-radius:var(--radius-xl);text-align:center;background:#ffffffb8;padding:52px 30px}.idle-state h2,.empty-state h3{color:var(--text-0);letter-spacing:-.04em;margin-top:6px;font-size:24px;font-weight:850}.idle-state p,.empty-state p{max-width:520px;color:var(--text-2);margin:10px auto 0;font-size:14px;line-height:1.65}.pagination{justify-content:center;align-items:center;gap:14px;margin-top:24px;padding-top:20px;display:flex}.page-info{color:var(--text-2);font-size:13px;font-weight:750}.page-btn{cursor:pointer;border:1px solid var(--border);border-radius:var(--radius-md);min-height:38px;color:var(--text-1);background:#fff;padding:0 16px;font-size:13px;font-weight:800}.page-btn:disabled{cursor:not-allowed;opacity:.45}.skeleton-card{border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);background:#ffffffdb;padding:22px}.skeleton-header{justify-content:space-between;gap:18px;margin-bottom:16px;display:flex}.skeleton-score{border-radius:var(--radius-lg);background:var(--bg-soft);flex:none;width:112px;height:54px;animation:1.2s ease-in-out infinite shimmer}.skeleton-line{border-radius:var(--radius-pill);background:var(--bg-soft);height:13px;animation:1.2s ease-in-out infinite shimmer}.skeleton-line+.skeleton-line{margin-top:10px}.skeleton-line.w-55{width:55%}.skeleton-line.w-70{width:70%}.skeleton-line.w-85{width:85%}.skeleton-tags{gap:8px;margin-top:16px;display:flex}.skeleton-pill{border-radius:var(--radius-pill);background:var(--bg-soft);width:74px;height:24px;animation:1.2s ease-in-out infinite shimmer}@keyframes shimmer{0%,to{opacity:1}50%{opacity:.45}}@media (width<=980px){.app-shell{width:min(100% - 32px,1200px);padding-top:20px}.hero-card{padding:26px 24px}.app-layout{grid-template-columns:1fr;gap:24px}.input-mode-card,.profile-card,.chat-card{max-width:none}.project-meta-grid{grid-template-columns:1fr}.project-card-top{flex-direction:column}.score-badge{text-align:left;flex-basis:auto;justify-content:space-between;align-items:center;width:100%;display:flex}.score-badge span{margin-top:0}}@media (width<=560px){.app-shell{width:min(100% - 24px,1200px)}.hero-card h1{font-size:30px}.budget-grid{grid-template-columns:1fr}.results-header{flex-direction:column}.results-count{width:fit-content}.pagination{flex-direction:column}.page-btn{width:100%}}
