:root{--ink:#2f334f;--ink-soft:#737686;--ink-faint:#989aa5;--page:#fbfbfb;--panel:#f3f3f3;--card:#fff;--line:#dedede;--line-strong:#a9acb8;--direct:#dcebd3;--review:#f3eac7;--neutral:#e8e8e8;--primary:#30344f;--primary-hover:#252940;--primary-text:#fff;--skeleton:#ddd;--skeleton-highlight:#e9e9e9;--radius-xs:2px;--radius-sm:4px;--radius-md:6px;--workspace-height:clamp(600px, 72vh, 780px);color:var(--ink);background:var(--page);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*,:before,:after{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%}html{background:var(--page)}body{background:var(--page);min-height:100dvh;margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}a{color:inherit}h1,h2,h3,p{margin-top:0}h2{margin-bottom:1rem;font-size:1rem;font-weight:600;line-height:1.3}h3{margin-bottom:.18rem;font-size:.88rem;font-weight:550;line-height:1.35}p{margin-bottom:.75rem;font-size:.86rem;line-height:1.5}.app-shell{width:min(1440px,100% - 28px);margin:0 auto;padding:18px 0 34px}.app-header{justify-content:center;align-items:center;min-height:82px;margin-bottom:1rem;display:flex}.app-header__brand{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.app-header__logo{object-fit:contain;width:auto;height:clamp(38px,4vw,56px);display:block}.relation-workspace{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:22px;width:min(1380px,100%);margin:0 auto;display:flex}.search-panel,.results-panel,.relation-detail{min-width:0;height:var(--workspace-height);background:var(--panel);border-radius:var(--radius-md)}.search-panel{flex:0 300px}.results-panel{flex:600px}.relation-detail{flex:0 360px}.eyebrow{text-transform:uppercase;letter-spacing:.015em;margin-bottom:.35rem;font-size:.62rem;font-weight:700;line-height:1.25}.muted{color:var(--ink-soft)}.search-panel{flex-direction:column;padding:22px;display:flex;overflow:hidden}.search-panel__body{scrollbar-width:thin;scrollbar-color:#b9b9b9 transparent;flex:auto;min-height:0;padding-right:3px;overflow-y:auto}.search-panel__body>h2{margin-bottom:1.15rem}.field{flex-direction:column;gap:.42rem;margin-bottom:1.05rem;display:flex}.field label{font-size:.72rem;font-weight:500;line-height:1.3}.field input,.field select{border:1px solid var(--line);border-radius:var(--radius-xs);width:100%;min-height:38px;color:var(--ink);background:#fff;padding:.5rem .7rem;font-size:.76rem}.field input::placeholder{color:#9c9ca3}.field input:disabled,.field select:disabled{cursor:not-allowed;opacity:.58}.field__error{color:#8c3d3d;margin:.1rem 0 0;font-size:.67rem;line-height:1.4}.search-panel__divider{background:var(--line);height:1px;margin:.85rem 0 .95rem}.search-panel__results-nav h3{margin-bottom:.5rem;font-size:.9rem;font-weight:600}.search-panel__results-nav ul{flex-direction:column;gap:.28rem;margin:0;padding:0;list-style:none;display:flex}.search-panel__results-nav li{padding-left:1rem;position:relative}.search-panel__results-nav li:before{content:"└";color:var(--ink-faint);font-size:.7rem;position:absolute;top:.05rem;left:0}.result-nav-link{width:100%;color:var(--ink-faint);text-align:left;cursor:pointer;background:0 0;border:0;padding:.12rem 0;font-size:.85rem;line-height:1.35;text-decoration:underline}.result-nav-link:hover,.result-nav-link--active{color:var(--ink)}.search-panel__submit{flex:none;width:100%;margin-top:1rem}.primary-button,.secondary-button,.icon-button{cursor:pointer;border:0;border-radius:3px}.primary-button{background:var(--primary);min-height:38px;color:var(--primary-text);padding:.5rem .9rem;font-size:.72rem;font-weight:500;line-height:1}.primary-button:hover:not(:disabled){background:var(--primary-hover)}.primary-button:disabled{cursor:not-allowed;opacity:.48}.secondary-button{background:var(--primary);min-height:30px;color:var(--primary-text);justify-content:center;align-items:center;padding:.45rem .8rem;font-size:.67rem;line-height:1;text-decoration:none;display:inline-flex}.secondary-button:hover{background:var(--primary-hover)}.secondary-button--link{text-decoration:none}.icon-button{width:30px;height:30px;color:var(--ink);background:0 0;place-items:center;padding:0;font-size:1.05rem;display:grid}.icon-button:hover{background:#2f334f0f}.results-panel{flex-direction:column;padding:16px;display:flex;overflow:hidden}.results-panel__scroller{scrollbar-width:thin;scrollbar-color:#b9b9b9 transparent;flex:auto;min-height:0;padding-right:.75rem;overflow:hidden auto}.results-panel__cards{flex-wrap:wrap;align-items:start;gap:16px;display:flex}.results-panel--state{text-align:center;place-items:center;padding:28px;display:grid}.results-panel--state>div{max-width:340px}.results-panel__scroller::-webkit-scrollbar{width:6px}.relation-detail__scroller::-webkit-scrollbar{width:6px}.search-panel__body::-webkit-scrollbar{width:6px}.results-panel__scroller::-webkit-scrollbar-thumb{background:#b9b9b9;border-radius:20px}.relation-detail__scroller::-webkit-scrollbar-thumb{background:#b9b9b9;border-radius:20px}.search-panel__body::-webkit-scrollbar-thumb{background:#b9b9b9;border-radius:20px}.results-panel__scroller::-webkit-scrollbar-track{background:0 0}.relation-detail__scroller::-webkit-scrollbar-track{background:0 0}.search-panel__body::-webkit-scrollbar-track{background:0 0}.relation-card{background:var(--card);border:1px solid #0000;border-radius:5px;flex-direction:column;flex:1;min-width:280px;height:330px;display:flex;overflow:hidden}.relation-card--selected{border-color:var(--ink)}.relation-card__status{flex:none;padding:7px 8px 0}.relation-card__status.fill-width{margin-bottom:.75rem;padding:0}.status-badge{border-radius:var(--radius-sm);text-transform:uppercase;align-items:center;gap:.4rem;width:100%;padding:.6rem .55rem .42rem;font-size:.67rem;font-weight:650;line-height:1;display:flex}.status-badge--direct_relation{background:var(--direct)}.status-badge--needs_review{background:var(--review)}.status-badge--no_direct_relation,.status-badge--supporting_evidence{background:var(--neutral)}.status-badge__dot{background:currentColor;border-radius:50%;flex:none;width:7px;height:7px}.relation-card__body{scrollbar-color:#e4e4e4 transparent;scrollbar-width:thin;flex:auto;min-height:0;padding:0 12px;overflow:hidden auto}.relation-card__section{border-bottom:1px solid var(--line);padding:.62rem 0}.relation-card__section:last-child{border-bottom:0}.relation-card__section h3{margin-bottom:.18rem;font-size:.88rem;font-weight:550;line-height:1.35}.relation-card__section p{margin-bottom:0;font-size:.79rem;line-height:1.42}.relation-card__heading{color:var(--ink-soft)}.relation-card__section--explanation{min-height:0;overflow:hidden}.relation-card__section--explanation>p:last-child{-webkit-line-clamp:5;line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.relation-card__footer{background:#fff;border-top:1px solid #dedede73;flex:none;justify-content:space-between;align-items:center;gap:.6rem;padding:10px 12px 11px;display:flex}.relation-detail{flex-direction:column;flex:1;min-width:320px;padding:24px 22px 18px;display:flex;overflow:hidden}.relation-detail__scroller{scrollbar-width:thin;scrollbar-color:#b9b9b9 transparent;flex:auto;min-height:0;padding-right:8px;overflow:hidden auto}.relation-detail__header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.35rem;display:flex}.relation-detail__header strong{font-size:.88rem;font-weight:600;line-height:1.4;display:block}.relation-detail__section{border-bottom:1px solid var(--line);padding:1rem 0}.relation-detail__section h2{margin-bottom:.3rem;font-size:1rem;font-weight:600;line-height:1.4}.relation-detail__section p{margin-bottom:0;font-size:.88rem;line-height:1.55}.relation-detail__lead{font-size:.91rem!important;line-height:1.62!important}.relation-detail__section--text p:last-child{white-space:pre-line}.relation-detail__footer{background:var(--panel);flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:.65rem;padding-top:14px;display:flex}.relation-detail--empty{text-align:center;place-items:center;display:grid}.relation-detail--empty>div{max-width:260px}.why-list{flex-direction:column;gap:1.05rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.why-list__item{align-items:flex-start;gap:.75rem;display:flex}.why-list__icon{width:18px;height:18px;color:var(--ink);flex:none;justify-content:center;align-items:center;margin-top:.1rem;font-size:.9rem;line-height:1;display:inline-flex}.why-list__content{min-width:0}.why-list__content strong{margin-bottom:.2rem;font-size:.87rem;font-weight:600;line-height:1.35;display:block}.why-list__content p{color:var(--ink);margin:0;font-size:.84rem;line-height:1.48}.analysis-loading{flex-direction:column;height:100%;min-height:0;display:flex}.analysis-loading__message{flex:none;padding:4px 2px 12px}.analysis-loading__message>h2{margin-bottom:4px}.analysis-loading__cards{flex:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-height:0;display:grid;overflow:hidden}.skeleton-card{background:linear-gradient(100deg, var(--skeleton) 35%, var(--skeleton-highlight) 50%, var(--skeleton) 65%);background-size:220% 100%;border-radius:5px;min-height:320px;animation:1.45s linear infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.skeleton-card{animation:none}}@media (width<=1160px){.search-panel{flex:0 290px}.results-panel{flex:calc(100% - 320px)}.relation-detail{flex:100%;height:500px}}@media (width<=760px){:root{--workspace-height:auto}.app-shell{width:min(100% - 16px,720px);padding-top:14px}.app-header{min-height:62px;margin-bottom:6px}.relation-workspace{gap:14px}.search-panel,.results-panel,.relation-detail{flex:100%;width:100%}.search-panel{height:auto;min-height:420px}.results-panel{height:min(72dvh,650px);min-height:470px}.relation-card{min-width:260px}.relation-detail{min-width:280px;height:auto;min-height:420px;max-height:72dvh}}@media (width<=460px){.app-shell{width:calc(100% - 14px)}.search-panel,.results-panel,.relation-detail{padding-left:14px;padding-right:14px}.relation-card{height:310px}.relation-card__footer,.relation-detail__footer{flex-direction:column;align-items:stretch}.relation-card__footer .secondary-button,.relation-detail__footer .secondary-button{width:100%}}
