:root{--paper: #ffffff;--surface: #ffffff;--ink: #111827;--ink-2: #414b5a;--ink-3: #6b7482;--rule: #e3e7ed;--rule-strong: #cdd3dc;--band: #f3f5f8;--accent: #2a78d6;--accent-ink: #1c5cab;--accent-tint: #e8f1fc;--dot-other: #9aa3af;--font-serif: "Source Serif 4", Georgia, serif;--font-sans: "Inter", -apple-system, "Apple SD Gothic Neo", sans-serif;--radius: 12px;--radius-sm: 6px}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);background:var(--paper);color:var(--ink);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p,ol{margin:0}button,input,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-container{max-width:1040px;margin:0 auto;padding:0 24px 64px}.main-content{display:flex;flex-direction:column;gap:28px}.loading{display:flex;justify-content:center;align-items:center;min-height:60vh;color:var(--ink-3)}.app-header{padding:64px 0 40px;margin-bottom:36px;border-bottom:1px solid var(--rule)}.app-eyebrow{font-size:14px;font-weight:500;color:var(--accent-ink);margin-bottom:14px}.app-title{font-family:var(--font-serif);font-size:60px;font-weight:700;line-height:1.05;letter-spacing:-.02em;margin-bottom:18px}.app-subtitle{font-size:20px;line-height:1.55;color:var(--ink-2);max-width:40em;margin-bottom:28px}.app-steps{padding-left:20px;color:var(--ink-2);font-size:15px;max-width:44em;display:grid;gap:6px}.app-steps li::marker{color:var(--ink-3)}.personality-section,.challenge-section,.user-input-summary,.challenge-category,.similar-figures-count,.conclusion-section,.collapsible-section{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:32px;box-shadow:0 1px 2px #1118270a,0 4px 16px #1118270a}.personality-selection h2,.challenge-section h2{font-family:var(--font-serif);font-size:24px;font-weight:600;margin-bottom:6px}.user-input-summary h3,.challenge-category h3,.similar-figures-count h3,.conclusion-section h3{font-family:var(--font-serif);font-size:22px;font-weight:600;margin-bottom:16px}.section-note{font-size:14px;color:var(--ink-3)}.input-section{display:flex;flex-direction:column;gap:24px}.input-section.collapsed{display:none}.personality-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;margin-top:20px}.personality-button,.trait-button{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 14px;background:var(--surface);border:1px solid var(--rule-strong);border-radius:var(--radius-sm);font-size:14px;font-weight:500;min-height:40px;cursor:pointer;transition:background-color .15s,border-color .15s}.personality-button:hover:not(:disabled),.trait-button:hover:not(:disabled){border-color:var(--accent);background:var(--accent-tint)}.personality-button.selected,.trait-button.selected{background:var(--accent-ink);border-color:var(--accent-ink);color:#fff}.personality-button:disabled,.trait-button:disabled{opacity:.45;cursor:not-allowed}.trait-count{font-size:12px;font-variant-numeric:tabular-nums;color:var(--ink-3)}.selected .trait-count{color:#fffc}.challenge-section textarea{display:block;width:100%;margin-top:16px;padding:14px;border:1px solid var(--rule-strong);border-radius:8px;background:var(--surface);resize:vertical;line-height:1.5}.challenge-section textarea:focus{outline:none;border-color:var(--accent)}textarea:disabled{background:var(--band);cursor:not-allowed}.button-container{display:flex;justify-content:flex-end;margin-top:16px}.analyze-button,.reset-button{padding:12px 26px;border-radius:var(--radius-sm);font-weight:600;cursor:pointer;transition:background-color .15s}.analyze-button{background:var(--ink);color:#fff;border:1px solid var(--ink)}.analyze-button:hover:not(:disabled){background:var(--accent);border-color:var(--accent)}.analyze-button:disabled{background:var(--rule-strong);border-color:var(--rule-strong);cursor:not-allowed}.reset-button{align-self:flex-start;background:var(--surface);color:var(--ink);border:1px solid var(--rule-strong)}.reset-button:hover{border-color:var(--ink-3)}.results-section{display:flex;flex-direction:column;gap:24px}.results-header h2{font-family:var(--font-serif);font-size:36px;font-weight:700;letter-spacing:-.01em}.input-detail+.input-detail{margin-top:16px}.input-detail h4,.category-reason h4,.category-description h4,.top-figures h4,.analysis-section h4{font-size:13px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.input-detail p,.category-reason p,.category-description p,.analysis-section p{color:var(--ink-2);line-height:1.7}.traits-list{display:flex;flex-wrap:wrap;gap:8px}.trait-tag,.personality-tag,.modal-personality-tag{display:inline-block;padding:3px 9px;border-radius:4px;font-size:13px;background:var(--band);color:var(--ink-2)}.trait-tag,.personality-tag.matched,.modal-personality-tag.initial-selection{background:var(--accent-tint);color:var(--accent-ink)}.category-name{font-family:var(--font-serif);font-size:30px;font-weight:600;color:var(--accent-ink);margin-bottom:20px}.category-reason+.category-description{margin-top:16px}.figures-count{display:flex;align-items:baseline;gap:14px;color:var(--ink-2);margin-bottom:28px}.figures-count-num{font-family:var(--font-serif);font-size:56px;font-weight:700;line-height:1;color:var(--accent-ink);font-variant-numeric:tabular-nums}.figures-count-text{font-size:17px;max-width:26em}.figures-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:40px;align-items:start}.results-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:stretch}.figures-list{display:flex;flex-direction:column;border-top:1px solid var(--rule);margin-bottom:8px}.figure-item{cursor:pointer;display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;padding:10px 0;border-bottom:1px solid var(--rule)}.figure-name{font-weight:600}.figure-item:hover .figure-name{color:var(--accent-ink)}.figure-info{font-size:14px;color:var(--ink-3)}.figures-analysis{display:grid;gap:20px;margin-top:24px;padding-top:24px;border-top:1px solid var(--rule)}.conclusion-section{border-left:3px solid var(--accent)}.conclusion-content{font-family:var(--font-serif);font-size:18px;line-height:1.7;white-space:pre-line}.conclusion-content p+p{margin-top:16px}.collapsible-section{padding:0}.collapsible-header{display:flex;justify-content:space-between;align-items:center;width:100%;padding:18px 28px;background:none;border:0;text-align:left;cursor:pointer}.collapsible-header h3{font-family:var(--font-serif);font-size:20px;font-weight:600}.arrow-icon{width:9px;height:9px;border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);flex:none;margin-top:-4px;transform:rotate(45deg)}.arrow-icon.open{transform:rotate(-135deg);margin-top:4px}.collapsible-content{padding:24px 28px 28px;border-top:1px solid var(--rule);overflow-x:auto}.table-container{overflow-x:auto}table{width:100%;min-width:860px;border-collapse:collapse;font-size:14px}th{text-align:left;font-size:12px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;padding:10px 12px;border-bottom:1px solid var(--rule-strong)}td{padding:14px 12px;border-bottom:1px solid var(--rule);vertical-align:top;line-height:1.5;color:var(--ink-2)}tbody tr:hover{background:var(--band)}td strong{color:var(--ink)}.citizenship,.occupation{font-size:13px;color:var(--ink-3);margin-top:2px}.personalities-cell{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.description-cell{max-width:280px}.challenge-cell,.solution-cell{max-width:240px}.chart-kicker{font-size:13px;font-weight:600;color:var(--ink-3);margin-bottom:10px}.chart-title{font-family:var(--font-serif);font-size:20px;font-weight:600;color:var(--ink);margin-bottom:4px}.chart-subtitle{font-size:14px;color:var(--ink-3);line-height:1.5}.chart-subtitle strong{color:var(--ink-2);font-weight:600}.sol-bars{display:grid;gap:2px;margin-top:16px}.sol-row{display:grid;grid-template-columns:11.5em minmax(0,1fr) 4.5em;align-items:center;gap:12px;padding:5px 0;font-size:14px}.sol-label{color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sol-track{position:relative;height:14px;border-left:1px solid var(--rule-strong)}.sol-bar{display:block;height:100%;min-width:3px;background:var(--accent);border-radius:0 3px 3px 0;transition:background-color .15s}.sol-row:hover .sol-bar{background:var(--accent-ink)}.sol-row:hover .sol-label{color:var(--ink)}.sol-value{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}.sol-share{margin-left:6px;font-weight:400;font-size:12px;color:var(--ink-3)}.trait-selection{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--rule)}.trait-buttons{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}.trait-button{font-size:13px;padding:6px 12px;min-height:34px}.trait-button.initial-selection:not(.selected){border-color:var(--accent);color:var(--accent-ink)}.chart-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 32px;margin-bottom:16px}.chart-head>div{max-width:36em}.chart-legend{display:flex;flex-wrap:wrap;gap:6px 20px;list-style:none;margin:0;padding:0;font-size:13px;color:var(--ink-2)}.chart-legend li{display:flex;align-items:center;gap:8px}.legend-dot{width:10px;height:10px;border-radius:50%;flex:none}.legend-dot--matched{background:var(--accent)}.legend-dot--other{background:var(--dot-other);width:8px;height:8px}.timeline-scroll{overflow-x:auto}.timeline-chart{position:relative;min-width:760px}.timeline-chart svg{display:block;width:100%;height:auto;overflow:visible}.tl-band{fill:var(--band)}.tl-grid{stroke:var(--rule);stroke-width:1}.tl-break-line{stroke:var(--rule-strong);stroke-width:1;stroke-dasharray:3 3}.tl-axis{stroke:var(--rule-strong);stroke-width:1}.tl-break-mark{stroke:var(--ink-3);stroke-width:1.5;fill:none}.tl-row-label{font-family:var(--font-sans);font-size:12.5px;fill:var(--ink-2)}.tl-row-label.is-empty{fill:var(--ink-3);opacity:.6}.tl-row-count{font-family:var(--font-sans);font-size:12px;font-variant-numeric:tabular-nums}.tl-row-count-matched{fill:var(--ink);font-weight:600}.tl-row-count-all{fill:var(--ink-3)}.tl-tick{font-family:var(--font-sans);font-size:12px;fill:var(--ink-2);font-variant-numeric:tabular-nums}.tl-axis-note{font-family:var(--font-sans);font-size:11.5px;fill:var(--ink-3)}.tl-point{cursor:pointer}.tl-hit{fill:transparent}.tl-dot{transition:r .12s ease-out}.tl-dot--other{fill:var(--dot-other);fill-opacity:.6}.tl-dot--matched{fill:var(--accent);stroke:var(--surface);stroke-width:1.5}.tl-point:hover .tl-dot--other{fill-opacity:1}.tl-tooltip{position:absolute;z-index:10;transform:translate(12px,-50%);display:grid;gap:2px;min-width:200px;max-width:280px;padding:10px 12px;background:var(--ink);color:#fff;border-radius:var(--radius-sm);font-size:13px;line-height:1.4;pointer-events:none;box-shadow:0 6px 20px #1118272e}.tl-tooltip.is-left{transform:translate(calc(-100% - 12px),-50%)}.tl-tooltip span{color:#ffffffbf}.tl-tooltip .tl-tooltip-cat{color:#9ec5f4;margin-top:2px}.no-data-message{color:var(--ink-3);text-align:center;padding:48px 20px;background:var(--band);border-radius:var(--radius-sm)}.modal-overlay,.loading-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#11182780;display:flex;align-items:center;justify-content:center;padding:16px;z-index:1000}.modal-content{position:relative;background:var(--surface);border-radius:var(--radius);padding:32px;width:100%;max-width:720px;max-height:90vh;overflow-y:auto}.modal-close{position:absolute;top:16px;right:16px;width:36px;height:36px;background:none;border:0;border-radius:6px;font-size:24px;line-height:1;color:var(--ink-3);cursor:pointer}.modal-close:hover{background:var(--band);color:var(--ink)}.modal-header{margin-bottom:24px;padding-right:36px}.modal-header h2{font-family:var(--font-serif);font-size:28px;font-weight:600;margin-bottom:12px}.modal-personalities{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.modal-basic-info{display:flex;flex-wrap:wrap;gap:4px 16px;color:var(--ink-3);font-size:14px}.modal-section+.modal-section{margin-top:20px;padding-top:20px;border-top:1px solid var(--rule)}.modal-section h3{font-size:13px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.modal-section p{color:var(--ink-2);line-height:1.7}.modal-category{font-size:14px;color:var(--accent-ink);margin-bottom:6px}.loading-modal-content{background:var(--surface);border-radius:var(--radius);padding:32px;width:100%;max-width:380px;text-align:center}.loading-spinner{width:32px;height:32px;margin:0 auto 16px;border:3px solid var(--rule);border-top-color:var(--accent);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-modal-content h3{font-family:var(--font-serif);font-size:20px;font-weight:600;margin-bottom:6px}.loading-modal-content p{font-size:14px;color:var(--ink-3)}@media (max-width: 860px){.results-overview,.figures-overview{grid-template-columns:1fr}}@media (max-width: 640px){.app-container{padding:0 16px 48px}.app-header{padding:36px 0 24px;margin-bottom:24px}.app-title{font-size:34px}.app-subtitle{font-size:16px}.personality-section,.challenge-section,.user-input-summary,.challenge-category,.similar-figures-count,.conclusion-section{padding:20px}.collapsible-header{padding:16px 20px}.collapsible-content{padding:20px}.personality-grid{grid-template-columns:1fr 1fr}.results-overview,.figures-overview{grid-template-columns:1fr;gap:24px}.figures-count-num{font-size:44px}.sol-row{grid-template-columns:9em minmax(0,1fr) 4em}.personality-button{padding:8px 12px;font-size:13px}.button-container .analyze-button{width:100%}.modal-content{padding:24px 20px}.results-header h2{font-size:26px}.conclusion-content{font-size:17px}}
