:root{--bg:#f8f8f7;--surface:#fff;--raised:#f4f4f3;--border:#e5e7eb;--text:#171a21;--muted:#697181;--accent:#6966bc;--accent-bg:#efeffa;--sidebar:#fbfbfb;color-scheme:light}
:root:not(.light){--bg:#0f0f0f;--surface:#151515;--raised:#1f1f1f;--border:#2d2d2d;--text:#e7e7e7;--muted:#a4a4a4;--accent:#9a96e2;--accent-bg:#242338;--sidebar:#131313;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 'Avenir Next','Trebuchet MS',sans-serif}button,input{font:inherit}button{cursor:pointer}[hidden]{display:none!important}.shell{min-height:100vh}header{height:70px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;padding:0 32px}.brand{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:700;letter-spacing:-.03em;line-height:1.1}.brand small{display:block;font-size:11px;color:var(--muted);font-weight:500;letter-spacing:0;margin-top:4px}.mark{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#7b79d6;color:white;font-size:23px}nav{display:flex;gap:20px;align-items:center}.local-badge,.pill{color:var(--accent);background:var(--accent-bg);font-size:10px;letter-spacing:.04em;font-weight:700;border-radius:7px;padding:7px 10px}#theme{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:9px;width:36px;height:36px;font-size:19px}main{display:flex;min-height:calc(100vh - 70px)}aside{flex:0 0 226px;background:var(--sidebar);border-right:1px solid var(--border);padding:30px 12px;position:relative}.aside-heading{font-size:10px;letter-spacing:.1em;font-weight:700;color:var(--muted);margin:0 12px 12px}.aside-second{margin-top:34px}aside button{width:100%;text-align:left;border:0;background:transparent;color:var(--muted);border-radius:9px;padding:11px 14px;font-weight:600}aside button span{font-size:17px;margin-right:10px;vertical-align:middle}aside button.active{background:var(--accent-bg);color:var(--accent)}.aside-bottom{position:absolute;bottom:28px;left:24px;font-size:12px;color:var(--text)}.aside-bottom small{color:var(--muted);font-size:11px}.source-dot{color:#20a877}.content{max-width:1120px;width:100%;padding:44px 54px 100px;margin:0 auto}.eyebrow,.label{font-size:11px;font-weight:700;color:var(--accent);letter-spacing:.08em}h1{font-size:32px;letter-spacing:-.04em;line-height:1.2;margin:15px 0 6px}.intro{color:var(--muted);margin:0 0 34px;max-width:720px}.panel,.verdict{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:28px;box-shadow:0 2px 14px rgba(0,0,0,.025)}.panel-top{display:flex;justify-content:space-between;gap:14px;align-items:start;margin-bottom:26px}.panel h2{font-size:17px;margin:0 0 6px;letter-spacing:-.015em}.panel p{margin:0;color:var(--muted);font-size:13px}.pill{white-space:nowrap}label{display:block;font-weight:600;font-size:12px;margin-bottom:9px}.entry{display:flex;gap:10px}.entry input{flex:1;min-width:0;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:13px 15px;outline:0}.entry input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.entry button,#pdf,.prefs button{border:0;border-radius:8px;padding:12px 20px;background:#7b79d6;color:white;font-weight:700;white-space:nowrap}.entry button:disabled{opacity:.5}.hint{font-size:11px;color:var(--muted)!important;margin-top:11px!important}#report{margin-top:28px}.report-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 0 20px}.report-head h2{font-size:24px;letter-spacing:-.03em;margin:7px 0}.report-head p{color:var(--muted);font-size:12px;overflow-wrap:anywhere;margin:0}.verdict{display:flex;justify-content:space-between;gap:20px;border-left:3px solid var(--accent)}.verdict strong{display:block;font-size:24px;margin:10px 0}.verdict p{color:var(--muted);margin:0;max-width:650px}.verdict-icon{font-size:42px;color:var(--accent)}.report-section{background:var(--surface);border:1px solid var(--border);border-radius:11px;padding:24px;margin-top:14px}.report-section>.label{display:block;margin-bottom:14px}.report-section p{color:var(--muted);margin:8px 0}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.metrics>div{background:var(--raised);border-radius:8px;padding:15px;display:grid;gap:8px}.metrics span{color:var(--muted);font-size:11px}.metrics strong{font-size:19px}.position{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid var(--border)}.position span{overflow-wrap:anywhere}.empty{text-align:center;border:1px dashed var(--border);border-radius:12px;padding:52px 20px;color:var(--muted);margin-top:24px;background:var(--surface)}.empty-icon{font-size:30px;color:var(--accent);margin-bottom:8px}.empty strong{display:block;color:var(--text)}.empty p{font-size:12px}.prefs{margin-top:16px}.prefs p{line-height:1.7;margin:8px 0 16px}.prefs button{margin-top:6px}
@media(max-width:740px){header{padding:0 16px}.local-badge{display:none}main{display:block}aside{display:flex;align-items:center;gap:8px;padding:8px 16px;border-right:0;border-bottom:1px solid var(--border)}.aside-heading,.aside-bottom{display:none}aside button{width:auto;padding:8px 12px}.content{padding:28px 16px 60px}h1{font-size:28px}.panel{padding:20px}.panel-top{display:block}.pill{display:inline-block;margin-top:14px}.entry{flex-direction:column}.report-head{align-items:start;flex-direction:column}.verdict{padding:20px}.verdict-icon{display:none}}
@media print{body{background:white;color:black}header,aside,.panel,#empty,#toast,#pdf,.eyebrow:first-child,h1,.intro{display:none!important}.content{max-width:none;padding:0}#report{display:block!important}.verdict,.report-section{box-shadow:none;color:black;break-inside:avoid}.report-head .eyebrow{display:block!important}@page{margin:16mm}}

/* Conversation layout follows the Weles operator workspace. */
header{height:64px;padding:0 24px}.mark{width:36px;height:36px;border:0;background:none;object-fit:contain}.brand{font-size:18px}.brand small{font-size:10px;letter-spacing:.07em}
main{min-height:calc(100vh - 64px)}aside{display:flex;flex-direction:column;flex:0 0 256px;min-height:calc(100vh - 64px);padding:18px 12px 10px}
.new-chat{width:100%;margin-bottom:24px;border:1px solid var(--border);background:var(--accent-bg);color:var(--accent);font-size:13px}
.new-chat:hover{border-color:var(--accent)}.aside-heading{margin:0 10px 9px;font-size:10px}
#history-search{width:100%;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:10px 12px;outline:0;margin-bottom:10px;font-size:12px}
#history-search:focus{border-color:var(--accent)}.history-list{min-height:50px;flex:1;overflow:auto}.history-row{display:flex;align-items:center;border-radius:8px}.history-row:hover,.history-row.selected{background:var(--accent-bg)}.history-open{min-width:0;flex:1;padding:10px 8px!important}.history-open strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--text)}.history-open small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.history-pin{width:32px!important;padding:7px!important;text-align:center!important;color:var(--accent);font-size:19px}.aside-bottom{position:relative;bottom:auto;left:auto;border-top:1px solid var(--border);padding-top:8px;color:var(--text)}#account-button{display:flex;align-items:center;gap:10px;width:100%;padding:8px;text-align:left}.avatar{display:grid;place-items:center;background:var(--accent-bg);color:var(--accent);border:1px solid var(--border);width:30px;height:30px;border-radius:50%;font-weight:700}.chevron{margin-left:auto}#account-menu{position:absolute;bottom:55px;left:0;right:0;border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:7px;box-shadow:0 10px 30px #0003;z-index:5}#account-menu button{font-size:12px}
#theme{display:grid;place-items:center}#theme svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.content{display:flex;flex-direction:column;max-width:1000px;padding:40px 46px 80px}#workspace{display:flex;flex-direction:column;flex:1;min-height:650px}#welcome{margin:auto auto 30px;text-align:center;max-width:610px}.welcome-logo{width:56px;height:56px;margin-bottom:16px}.content h1{font-size:28px;letter-spacing:-.035em}#welcome h1{font-size:30px;margin:6px 0 10px}.intro{margin:0 auto 22px;max-width:530px}.composer{display:flex;align-items:center;gap:10px;max-width:650px;width:100%;margin:0 auto auto;padding:8px;background:var(--surface);border:1px solid var(--border);border-radius:15px;box-shadow:0 8px 30px #0000000a}.composer:focus-within{border-color:var(--accent)}.composer input{flex:1;min-width:0;border:0;background:transparent;color:var(--text);padding:12px 14px;outline:0}.composer button{width:37px;height:37px;display:grid;place-items:center;border:0;border-radius:9px;background:#7b79d6;color:white;font-size:17px;transform:rotate(-45deg);padding:0}.composer button:disabled{opacity:.5}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
#report{width:100%;margin:20px 0 0}#report:not([hidden])~#empty{display:none}.prefs{max-width:720px}
@media(max-width:740px){header{height:56px;padding:0 16px}main{min-height:calc(100vh - 56px)}aside{min-height:0;display:flex;flex-direction:column;flex-basis:auto;padding:10px 16px;max-height:250px}.new-chat{width:100%;margin-bottom:10px}.aside-heading{margin:0 0 6px}.history-list{display:flex;min-height:0;gap:6px;overflow-x:auto}.history-row{flex:0 0 175px}.history-open{width:130px}.aside-bottom{position:static;width:100%;padding-top:5px}#account-menu{bottom:45px}.content{padding:28px 16px 50px}#workspace{min-height:calc(100dvh - 330px)}#welcome h1{font-size:26px}.welcome-logo{width:44px;height:44px}.composer{margin-bottom:auto}}
@media print{.composer,#welcome{display:none!important}#workspace{min-height:0}#report{margin:0!important}}
#workspace:has(#report:not([hidden])) .composer{margin:0 auto 10px}
#workspace:has(#report:not([hidden])){min-height:0}
.composer button{transform:none}.composer button svg{width:19px;height:19px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* The radar is purely atmospheric; the report never relies on it for evidence. */
#welcome{position:relative;width:min(720px,100%);min-height:280px;display:grid;place-items:center}
.welcome-copy{position:relative;z-index:1;width:min(650px,100%);text-align:center}
.radar{color:var(--accent);pointer-events:none}
.radar>circle,.radar>path:first-of-type{fill:none;stroke:currentColor;stroke-width:.7;stroke-dasharray:3 8}
.radar circle:nth-child(2),.radar circle:nth-child(4){stroke-dasharray:none;opacity:.45}
.radar-sweep{fill:var(--accent);opacity:.12;stroke:none}
.radar-case{--case-shift:0px;opacity:0;transform:translateY(calc(var(--case-shift) - 4px));transition:opacity .55s ease-out,transform .55s ease-out;font:500 11px 'Avenir Next','Trebuchet MS',sans-serif;letter-spacing:.01em}
.radar-case.detected{opacity:1;transform:translateY(var(--case-shift));transition-duration:.12s}
.radar-case circle{fill:var(--text)}
.radar-case text{fill:var(--text);transform:translateY(-18px)}
dialog{width:min(560px,calc(100% - 32px));max-height:min(80vh,700px);border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--text);padding:0;box-shadow:0 24px 80px #0005}
dialog::backdrop{background:#090b16a6;backdrop-filter:blur(3px)}
.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 24px;border-bottom:1px solid var(--border)}
.modal-head h2{font-size:18px;margin:0}.modal-head button{width:32px;height:32px;border:0;border-radius:8px;background:var(--raised);color:var(--text);font-size:23px;line-height:1}
.modal-body{padding:22px 24px 26px}.modal-body h3{font-size:14px;margin:0 0 10px}.modal-body p{margin:0;color:var(--muted);line-height:1.7}
#history-settings{border-top:1px solid var(--border);padding-top:20px;margin-top:24px}
@media(max-width:740px){.modal-head{padding:16px 18px}.modal-body{padding:20px 18px}dialog{max-height:calc(100dvh - 32px)}}
@media(prefers-reduced-motion:no-preference){
  .radar-sweep{transform-origin:360px 270px;animation:radar-turn 8s linear infinite}
  @keyframes radar-turn{to{transform:rotate(360deg)}}
}
@media(prefers-reduced-motion:reduce){.radar-sweep{opacity:.04}.radar-case{display:none;transition:none}}
@media print{dialog{display:none!important}.radar{display:none!important}}
@media(max-width:740px){.aside-bottom,.aside-heading{display:block}.aside-heading{margin-bottom:6px}}
.new-chat{background:var(--surface);color:var(--text);border-color:var(--border);font-weight:600}
.new-chat:hover{background:var(--raised);border-color:var(--border)}
#workspace:not(:has(#report:not([hidden]))){justify-content:center;position:relative;overflow:visible;min-height:calc(100dvh - 184px)}
#workspace:not(:has(#report:not([hidden]))) #welcome{margin:0 auto 8px}
#workspace:not(:has(#report:not([hidden]))) .composer{margin:0 auto;position:relative;z-index:1}
#workspace:not(:has(#report:not([hidden]))) #welcome{position:static}
@media(max-width:740px){#welcome{min-height:220px}#workspace:not(:has(#report:not([hidden]))){min-height:calc(100dvh - 270px)}}
.brand-home{background:none;border:0;padding:0;text-align:left;color:var(--text);cursor:pointer}
.brand-home:hover{opacity:.78}
.brand-home:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:4px}
body{overflow-x:clip}
.shell>header{position:sticky;top:0;z-index:3;background:rgba(255,255,255,.89)}
:root:not(.light) .shell>header{background:rgba(21,21,21,.9)}
.content{position:relative;z-index:0}
.radar{position:fixed;inset:auto;top:calc(50dvh + 32px);left:calc(224px + (100vw - 224px)/2);width:min(1120px,calc(100vw - 88px),calc((100dvh + 12px)*1.4));max-width:none;height:auto;overflow:visible;opacity:.36;transform:translate(-50%,-50%)}
:root:not(.light) .radar{opacity:.32}
.welcome-copy h1,.welcome-copy .intro{text-shadow:0 1px 12px var(--surface)}
#welcome h1{margin:0 auto 12px;text-align:center;text-wrap:balance}
#welcome .intro{max-width:600px;margin:0 auto;text-align:center}
@media(max-width:740px){
  aside{position:relative;z-index:2}
  .radar{left:50vw;top:calc(50dvh + 20px);width:min(740px,105dvh);opacity:.25}
  .radar-case{font-size:12px}
  .welcome-copy{padding:20px 17px 14px}
}
@media(min-width:741px){
  aside{position:sticky;z-index:2;top:64px;align-self:flex-start;flex-basis:224px;height:calc(100dvh - 64px);min-height:0}
  .history-list{min-height:0}
  #welcome{min-height:160px}
}

#login-screen{min-height:100dvh;background:var(--bg)}
.login-top{height:68px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 max(24px,calc((100vw - 1100px)/2))}
.login-card{width:min(460px,calc(100% - 32px));margin:clamp(48px,12vh,130px) auto 30px;text-align:center;border:1px solid var(--border);border-radius:20px;background:var(--surface);padding:36px;box-shadow:0 22px 65px #00000010}
.login-card .welcome-logo{width:60px;height:60px}
.login-card h1{font-size:23px;margin:18px 0 8px}.login-card>p{color:var(--muted);font-size:13px;line-height:1.6}
.login-card form{text-align:left;margin-top:28px}.login-card label{display:block;margin:16px 0 7px;color:var(--text)}
.login-card input,.modal-body input{display:block;width:100%;height:44px;padding:10px 13px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);outline:0}
.login-card input:focus,.modal-body input:focus{border-color:var(--accent)}
.login-card form button,.modal-body form button{margin-top:20px;width:100%;border:0;background:#7b79d6;color:white;border-radius:9px;padding:13px;font-weight:700}
.login-card form button:disabled{opacity:.6}
.login-divider{color:var(--muted);margin:22px 0 16px}#google-button{display:flex;justify-content:center;min-height:40px}
#user-settings{border-top:1px solid var(--border);margin-top:20px;padding-top:20px}#user-settings label{display:block;margin:13px 0 7px;font-size:12px}
#user-list{margin-top:18px;max-height:170px;overflow:auto}#user-list p{border-bottom:1px solid var(--border);padding:9px 0}
#user-role{display:block;width:100%;height:44px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);padding:0 12px}
#user-role{appearance:none;padding-right:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%236b7280' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px}
.user-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border);padding:10px 0;overflow-wrap:anywhere}
.user-row button{border:1px solid var(--border);border-radius:7px;background:var(--raised);color:var(--text);padding:6px 10px;white-space:nowrap}
#change-email.secondary{background:transparent;color:var(--accent);border:1px solid var(--border);margin-top:9px}
@media(max-width:500px){.login-card{margin:60px auto 24px;padding:28px 22px}.login-top{padding:0 16px}}

/* Match the centered Weles/Perun sign-in treatment in both themes. */
#login-screen{display:flex;flex-direction:column;background:var(--bg)}
.login-top{flex:0 0 68px;justify-content:space-between;padding:0 max(24px,calc((100vw - 1520px)/2))}
#login-theme{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);cursor:pointer}
#login-theme svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.login-card{width:min(512px,calc(100vw - 32px));margin:auto;padding:40px;border-radius:24px;box-shadow:0 24px 65px #1313130e}
.login-card .welcome-logo{width:64px;height:64px;margin-bottom:18px}
.login-card h1{font-size:24px;margin:0}.login-card>p{font-size:14px;margin:16px auto 0;max-width:420px}
.login-card form{margin-top:28px}.login-card label{color:var(--accent);font-weight:600;font-size:13px}
.login-card input{height:46px;border-radius:12px}.login-card form button{height:46px;border-radius:12px}
.login-card #email-unavailable{font-size:12px;margin:12px auto 0;color:var(--muted)}
.login-divider{display:flex;align-items:center;gap:14px;margin:24px 0 16px;color:var(--muted)}
.login-divider::before,.login-divider::after{content:"";height:1px;flex:1;background:var(--border)}
#google-button{width:100%;min-height:40px}
@media(max-width:500px){.login-top{padding:0 18px}.login-card{padding:28px 22px;margin:auto 16px}.login-card .welcome-logo{width:56px;height:56px}}
.login-card{position:relative;overflow:hidden}
.login-card::before,.login-card::after{content:"";position:absolute;top:-56px;width:144px;height:144px;border-radius:50%;background:#b8b4ea18;filter:blur(24px);pointer-events:none}
.login-card::before{left:-56px}.login-card::after{right:-56px}
.login-card>*{position:relative;z-index:1}
#google-section:not([hidden])~#login-form{margin-top:0}
.login-card footer{margin-top:23px;color:var(--muted);font-size:11px;line-height:1.6}
.login-card footer a{color:var(--accent);text-decoration:none}
#login-screen{background:#f8fafc}
:root:not(.light) #login-screen{background:var(--bg)}
.login-card #email-unavailable{position:absolute;width:1px;height:1px;margin:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.login-card #login-submit:disabled{opacity:.78;cursor:not-allowed}
.login-top .mark,.login-card .welcome-logo{filter:brightness(0)}
:root:not(.light) .login-top .mark,:root:not(.light) .login-card .welcome-logo{filter:brightness(0) invert(1)}
:root:not(.light) .login-top{background:#151515;border-color:#303030}
:root:not(.light) .login-card{background:#171717;border-color:#303030;box-shadow:0 18px 50px #0003}
:root:not(.light) .login-card::before,:root:not(.light) .login-card::after{display:none}
:root:not(.light) .login-card input{background:#1f1f1f;border-color:#303030;color:#e7e7e7}
:root:not(.light) .login-card input::placeholder{color:#838383}
:root:not(.light) .login-divider::before,:root:not(.light) .login-divider::after{background:#303030}
.login-card label{color:#666}
:root:not(.light) .login-card label{color:#aaa}
@media(max-width:500px){
  .login-top{height:64px;flex-basis:64px;gap:12px;padding:0 16px}
  .login-top .brand{min-width:0;gap:10px;font-size:18px}
  .login-top .brand>div{min-width:0}
  .login-top .brand small{font-size:10px}
  #login-theme{flex:none}
  .login-card{width:calc(100% - 32px);min-width:0;margin:clamp(24px,6dvh,48px) auto 32px;padding:28px clamp(16px,5vw,24px) 26px}
  .login-card form{margin-top:22px}
  .login-card input{font-size:16px}
  .login-card #google-section,#google-button{min-width:0;max-width:100%}
  .login-divider{margin:18px 0 12px}
  .login-card footer{margin-top:20px;overflow-wrap:anywhere}
}

/* Weles-style account popup and full-height mobile history drawer. */
#account-menu{left:0;right:0;bottom:60px;padding:8px;border-radius:12px;box-shadow:0 12px 35px #0003}
#account-menu button{display:flex;align-items:center;gap:9px;width:100%;min-height:39px;padding:9px 11px;text-align:left;font-size:13px;font-weight:500;color:var(--muted)}
#account-menu button:hover{background:var(--accent-bg)}
#account-menu .menu-icon{display:inline-block;flex:0 0 18px;width:18px;margin:0;text-align:center;color:var(--muted);font-size:16px;line-height:1}
#account-button{min-height:42px}
.avatar{flex:none;background:#7775d7;border-color:#7775d7;color:#fff}
#account-name{font-size:14px;font-weight:650}
#account-menu{padding:9px;border-radius:12px}
#account-menu button{min-height:46px;gap:12px;padding:10px 12px;font-size:15px}
#account-menu .menu-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 19px;width:19px;height:19px;color:var(--accent)}
#account-menu .menu-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
:root.light #account-menu #settings{background:var(--accent-bg)}
.history-list{overscroll-behavior:contain}
.history-row{position:relative;min-height:54px}
.history-row.menu-open{z-index:7}
.history-row.pinned::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:3px;background:#7775d7;pointer-events:none}
.history-open{padding:9px 6px 9px 12px!important}
.history-more{flex:0 0 28px;width:28px!important;padding:5px!important;text-align:center!important;color:var(--muted);font-size:18px;line-height:1;opacity:.8}
.history-more:hover,.history-row.menu-open .history-more{color:var(--accent);opacity:1}
.history-actions{position:absolute;top:calc(100% + 4px);right:0;z-index:8;min-width:155px;padding:5px;background:var(--surface);border:1px solid var(--border);border-radius:9px;box-shadow:0 12px 28px #0003}
.history-actions.up{top:auto;bottom:calc(100% + 4px)}
.history-actions button{display:block;width:100%;padding:8px 10px;text-align:left;color:var(--text);font-size:12px;font-weight:500}
.history-actions button:hover{background:var(--accent-bg);color:var(--accent)}
.history-empty,#history-feedback{color:var(--muted);font-size:11px;margin:6px 10px 10px}
#history-feedback:empty{display:none}
.aside-bottom:has(#account-menu:not([hidden])) #account-button{outline:2px solid var(--accent);outline-offset:2px;border-radius:9px}
:root:not(.light) #account-menu{background:#242428;border-color:#45454a;box-shadow:0 12px 35px #0009}
:root:not(.light) #account-menu button{color:#e0e0e0}
:root:not(.light) #account-menu button:hover{background:#34384b}
:root:not(.light) #account-menu .menu-icon{color:#7b79d6}
:root:not(.light) .avatar{background:#7b79d6;border-color:#7b79d6;color:white}
dialog{width:min(620px,calc(100% - 28px));border-radius:15px}
.modal-head{padding:20px 24px 16px}
.modal-body{padding:23px 24px 26px}
.modal-body>p{margin:0 0 18px}
#history-settings,#user-settings{border:1px solid var(--border);border-radius:12px;padding:17px;margin-top:18px}
#mobile-sidebar-toggle,#mobile-sidebar-close{display:none}
@media(max-width:740px){
  #mobile-sidebar-toggle{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border:0;background:none;color:var(--text);font-size:21px}
  .shell>header{gap:9px}
  .shell>header .brand-home{display:none}
  .shell>header nav{margin-left:auto}
  #sidebar-backdrop:not([hidden]){position:fixed;inset:0;display:block;z-index:19;background:#0008}
  .shell aside{position:fixed;top:0;bottom:0;left:0;z-index:20;width:min(292px,86vw);height:100dvh;max-height:none;min-height:0;align-items:stretch;padding:14px 12px 10px;border-right:1px solid var(--border);border-bottom:0;transform:translateX(-105%);transition:transform .2s ease;box-shadow:8px 0 30px #0002;background:var(--sidebar)}
  .shell.sidebar-open aside{transform:translateX(0)}
  #mobile-sidebar-close{display:block;align-self:flex-end;width:32px;height:32px;margin-bottom:6px;padding:0;text-align:center;font-size:25px}
  .shell aside .new-chat{width:100%;margin:0 0 22px}
  .shell aside .aside-heading{margin:0 10px 9px}
  .shell aside .history-list{display:block;min-height:0;flex:1;overflow-y:auto;overflow-x:hidden}
  .shell aside .history-row{width:100%}
  .shell aside .history-open{width:auto}
  .shell aside .aside-bottom{position:relative;width:100%;padding-top:8px}
  #account-menu{top:auto;bottom:55px}
}
@media(max-width:360px){
  #workspace:not(:has(#report:not([hidden]))){padding-top:85px}
  .radar{top:calc(50dvh + 50px)}
}
@media(prefers-reduced-motion:reduce){.shell aside{transition:none}}

/* Settings use the same spacious operator overlay in both themes. */
#settings-dialog{width:min(900px,calc(100vw - 28px));max-height:min(88dvh,900px);overflow:auto}
#settings-dialog:has(#about-settings:not([hidden])){width:min(780px,calc(100vw - 28px))}
/* Side events move into clear bands instead of covering the heading or input. */
.case-axiom,.case-biden{--case-shift:-36px}
.case-kpmg,.case-superbowl{--case-shift:68px}
.case-kpmg{--case-shift:110px}
#settings-dialog .modal-head{position:sticky;top:0;z-index:1;margin:0 26px;padding:25px 0 19px;background:var(--surface)}
#settings-dialog .modal-head h2{font-size:28px;letter-spacing:-.03em}
#settings-dialog .modal-head button{background:transparent;color:var(--muted)}
#settings-dialog .modal-body{padding:18px 26px 26px}
.settings-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.settings-tile{min-width:0;margin:0 0 14px;padding:17px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--accent-bg) 11%,var(--surface))}
.settings-tile h3{margin:0 0 12px;font-size:16px}
.settings-tile p{font-size:14px}
.settings-segment{display:flex;padding:5px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}
.settings-segment button{flex:1;min-width:0;padding:10px 8px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-weight:650}
.settings-segment button.active{background:var(--raised);color:var(--text)}
.settings-access{padding:18px}
.settings-access-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 0;border-top:1px solid var(--border)}
.settings-access-row strong,.settings-access-row small{display:block}
.settings-access-row strong{font-size:14px}
.settings-access-row small{margin-top:4px;font-size:12px;color:var(--muted)}
.settings-access-row button{flex:none;padding:8px 13px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:12px;font-weight:650}
.settings-access-row button:disabled{opacity:.5;cursor:not-allowed}
#api-key-list>p{padding:12px 0;color:var(--muted);font-size:12px}
.settings-pending{flex:none;padding:7px 10px;border:1px solid var(--border);border-radius:8px;font-size:11px;color:var(--muted)}
#history-settings{margin-top:0;padding:17px;border:1px solid var(--border)}
#user-settings{margin:0;padding:0;border:0}
.user-form{display:grid;grid-template-columns:minmax(0,1fr) 170px auto;align-items:end;gap:12px;margin:0 0 20px;padding:18px;border:1px solid var(--border);border-radius:12px}
.user-form label{display:block;margin:0!important}
.user-form label span{display:block;margin-bottom:9px;font-size:14px;font-weight:700}
.user-form input,#user-role{height:50px;font-size:15px}
.user-form button{width:auto!important;min-width:84px;height:50px;margin:0!important;padding:0 17px!important;font-size:14px}
#user-search{height:50px;margin:0 0 14px;font-size:15px}
#user-list{max-height:none;margin:0;padding:2px 18px;border:1px solid var(--border);border-radius:12px;overflow:visible}
.user-row{min-height:76px}
.user-row:last-child{border-bottom:0}
.user-row>div{min-width:0}
.user-row strong{font-size:15px;overflow-wrap:anywhere}
.user-row small{display:block;margin-top:6px;font-size:13px;color:var(--muted)}
.role-badge{display:inline-block;margin-left:9px;padding:4px 8px;border-radius:20px;background:var(--accent-bg);color:var(--accent);font-size:11px;font-weight:700;white-space:nowrap}
#user-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:14px 0 0;color:var(--muted);font-size:13px}
#user-pagination button{padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text)}
#user-pagination button:disabled{opacity:.45;cursor:not-allowed}
#about-settings{padding:0 0 2px}
#about-settings p{margin:0 0 22px;color:var(--muted);font-size:16px;line-height:1.68}
#about-settings p:last-child{margin-bottom:0}
#about-settings strong{font-weight:700;color:var(--muted)}
#about-settings a{color:var(--accent);text-decoration:underline}
#toast{position:fixed;right:18px;bottom:18px;z-index:100;padding:12px 17px;max-width:min(420px,calc(100vw - 24px));border:1px solid #5b5b65;border-radius:8px;background:#2b2b30;color:#fff;box-shadow:0 10px 35px #0006;font-size:13px;line-height:1.45}
.radar,:root:not(.light) .radar{opacity:1}
.radar>circle,.radar>path:first-of-type{opacity:.17}
.radar>circle:nth-child(2),.radar>circle:nth-child(4){opacity:.15}
.radar-sweep{opacity:.065}
.radar-case.detected{opacity:.62}
:root:not(.light) .radar-case.detected{opacity:.94}
@media(max-width:740px){
  .case-axiom,.case-biden{--case-shift:-140px}
  .case-kpmg,.case-superbowl{--case-shift:74px}
  .case-biden{--case-shift:-163px}
  .case-kpmg{--case-shift:166px}
  #settings-dialog .modal-head{margin:0 18px;padding:20px 0 16px}
  #settings-dialog .modal-body{padding:16px 18px 20px}
  .settings-tiles,.user-form{grid-template-columns:1fr}
  .user-form button{width:100%!important}
  .settings-access-row{align-items:flex-start;flex-direction:column}
  #user-list{padding:2px 12px}
  .user-row strong{display:inline-block}
  .user-row .role-badge{margin-left:0;margin-top:5px}
  #toast{right:12px;bottom:12px}
}

/* Match Weles history density: multiline titles, dates and separate item actions. */
.history-row{align-items:stretch;min-height:66px;border-bottom:1px solid var(--border);border-radius:0}
.history-row.selected,.history-row:hover{background:var(--accent-bg)}
.history-open{padding:12px 4px 12px 11px!important;font-weight:500}
.history-open strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;white-space:normal;line-height:1.42;font-size:13px;font-weight:500}
.history-open small{font-size:11px;margin-top:5px}
.history-more{flex:0 0 30px;width:30px!important;height:34px;margin:7px 3px 0 0;align-self:flex-start}
#account-menu button{min-height:43px;font-size:13px}
:root.light #account-menu #settings{background:transparent}
:root.light #account-menu #settings:hover{background:var(--accent-bg)}
body,.radar-case{font-family:Inter,'Helvetica Neue',Helvetica,sans-serif}
.history-actions{top:39px;right:2px;min-width:165px}
.history-actions.up{top:auto;bottom:38px}
.history-actions button.danger{color:#c83d52}
.history-actions button.danger:hover{color:#ae3045;background:#c83d5214}
#workspace:has(#report:not([hidden])) .composer{display:none}

/* Settings use the same spatial hierarchy as the Weles operator modal. */
#settings-dialog:has(#general-settings:not([hidden])){width:min(900px,calc(100vw - 28px))}
#general-settings .settings-tile{background:var(--surface);padding:17px;border-color:var(--border)}
#general-settings .settings-tiles{gap:16px}
#general-settings .settings-tiles h3{font-size:15px;margin-bottom:9px}
#general-settings .settings-segment{padding:5px}
#general-settings .settings-segment button{min-height:42px;font-size:14px}
#general-settings .settings-access{margin-top:16px;padding:20px}
#general-settings .settings-access h3{font-size:20px;margin-bottom:18px}
#general-settings .settings-access-row{padding:17px 0;border-top:1px solid var(--border)}
#general-settings .settings-access-row strong{font-size:16px;font-weight:450}
#general-settings .settings-access-row small{font-size:12px;line-height:1.5}
#general-settings .settings-access-row button{min-width:93px;min-height:42px;font-size:14px}
#general-settings .devin-settings{margin-top:4px;border-top:1px solid var(--border)}
#general-settings .devin-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:20px 0 10px}
#general-settings .devin-settings h4{margin:0;font-size:16px}
#devin-key-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 90px;align-items:end;gap:12px;margin:15px 0}
#devin-key-form label{min-width:0;margin:0}
#devin-key-form label span{display:block;margin-bottom:9px;font-size:14px;font-weight:700}
#devin-key-form input{height:48px;font-size:14px}
#devin-key-form input:disabled{background:var(--raised)}
#general-settings #devin-key-form button{height:48px;width:90px;margin:0;padding:0;font-size:14px}
#devin-key-list .devin-key-row{display:flex;align-items:center;gap:9px;min-width:0;padding:11px 0;border-bottom:1px solid var(--border)}
#devin-key-list strong{flex:none;font-size:13px}
#devin-key-list code{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
#devin-key-list button{flex:none;border:0;background:transparent;color:var(--text);font-size:21px}
#devin-key-list small{min-width:0;max-width:40%;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:11px}
#history-settings{margin:18px 0 0;padding:18px 0 0;border:0;border-top:1px solid var(--border);border-radius:0}
#history-settings .settings-tile{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0;padding:18px}
#history-settings strong,#history-settings small{display:block}
#history-settings strong{font-size:15px}
#history-settings small{margin-top:5px;color:var(--muted);font-size:12px}
#history-settings button,#clear-accept,#delete-accept{flex:none;min-width:96px;border:0;border-radius:10px;background:#c83d52;color:#fff;padding:11px 16px;font-weight:700}
#history-settings button:hover,#clear-accept:hover,#delete-accept:hover{background:#ad3045}
#clear-confirm,#delete-confirm{width:min(450px,calc(100vw - 28px));padding:25px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text)}
#clear-confirm h2,#delete-confirm h2{margin:0 0 12px;font-size:21px}
#clear-confirm p,#delete-confirm p{color:var(--muted);line-height:1.6}
.confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}
#clear-cancel,#delete-cancel{border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);padding:10px 16px}
@media(max-width:740px){
  #settings-dialog:has(#general-settings:not([hidden])){width:calc(100vw - 20px)}
  #general-settings .settings-tile{padding:16px}
  #general-settings .settings-access-row{flex-direction:row;align-items:center}
  #general-settings .settings-access-row button{min-width:80px}
  #devin-key-form{grid-template-columns:1fr}
  #general-settings #devin-key-form button{width:100%}
  #history-settings .settings-tile{flex-direction:row}
  #history-settings small{font-size:11px}
}

/* Report screens put the evidence for review ahead of raw sampled totals. */
.market-screen>.verdict{display:none}
.chart-caption{margin:0 0 13px!important;color:var(--muted)!important;font-size:12px;line-height:1.5}
.timeline-bars{display:flex;align-items:flex-end;gap:5px;height:88px;overflow:hidden}
.timeline-bar{display:block;flex:1;min-width:0;max-width:90px;border-radius:3px 3px 0 0;background:#7775d7;opacity:.72}
.timeline-range{display:flex;justify-content:space-between;gap:15px;margin-top:11px;color:var(--muted);font-size:11px}
.candidate-card{margin-top:12px;padding:18px 20px;border:1px solid var(--border);border-radius:11px;background:var(--surface)}
.candidate-top{display:flex;align-items:center;gap:11px;min-width:0}
.candidate-rank{flex:none;color:var(--accent);font-size:12px;font-weight:750}
.candidate-address{min-width:0;padding:3px 0;border:0;background:transparent;color:var(--text);font:600 12px/1.5 ui-monospace,SFMono-Regular,monospace;text-align:left;overflow-wrap:anywhere}
.candidate-address:hover{text-decoration:underline;text-underline-offset:3px}
.candidate-address:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.candidate-outcome{flex:none;margin-left:auto;padding:4px 9px;border-radius:7px;background:var(--raised);color:var(--text);font-size:11px;font-weight:650}
.candidate-probability{margin-top:5px;color:var(--muted);font-size:11px}
.candidate-reason{margin:10px 0 14px!important;font-size:13px;line-height:1.55}
.candidate-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding-top:13px;border-top:1px solid var(--border)}
.candidate-stats>div{min-width:0}
.candidate-stats span,.candidate-stats strong{display:block;overflow-wrap:anywhere}
.candidate-stats span{margin-bottom:5px;color:var(--muted);font-size:11px}
.candidate-stats strong{font-size:12px;font-weight:650;white-space:pre-line}
.candidate-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:14px}
.candidate-bottom small{max-width:60%;color:var(--muted);font-size:11px;line-height:1.4}
.candidate-bars{flex:0 1 180px;gap:3px;height:34px}
.candidate-bars .timeline-bar{opacity:.55}
@media(max-width:740px){
  .timeline-range{font-size:10px}
  .candidate-card{padding:15px}
  .candidate-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}
  .candidate-outcome{max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .candidate-bottom{align-items:flex-start;flex-direction:column}
  .candidate-bottom small{max-width:none}
}
@media print{
  #candidates-section{break-inside:auto}
  .candidate-card{break-inside:avoid}
  .candidate-address{color:#111}
  .timeline-bar{print-color-adjust:exact;-webkit-print-color-adjust:exact}
}

/* Login errors: dismissible toast, bottom-right */
.login-toast{position:fixed;right:18px;bottom:18px;z-index:100;display:flex;align-items:flex-start;gap:12px;max-width:min(420px,calc(100vw - 24px));padding:12px 12px 12px 16px;border:1px solid #b4374840;border-left:3px solid #b43748;border-radius:8px;background:var(--surface);color:#b43748;box-shadow:0 10px 35px #0000002e;font-size:13px;line-height:1.45;animation:toast-in .18s ease-out}
.login-toast span{flex:1;padding-top:1px}
.login-toast button{flex:0 0 auto;width:24px;height:24px;display:grid;place-items:center;padding:0;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:18px;line-height:1}
.login-toast button:hover{background:var(--raised);color:var(--text)}
@keyframes toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:740px){.login-toast{right:12px;bottom:12px;left:12px;max-width:none}}

/* Report view: use the available width and start near the top */
.content:has(#report:not([hidden])){max-width:1480px;padding-top:24px}
#report .report-head{margin-top:0}
.content:has(#report:not([hidden])) #report{margin-top:0}
@media(max-width:740px){.content:has(#report:not([hidden])){padding-top:16px}}

/* Market image in report header */
.report-head{justify-content:flex-start}
.report-head .report-title{flex:1;min-width:0}
#market-image{flex:none;width:72px;height:72px;border-radius:12px;object-fit:cover;background:var(--raised);border:1px solid var(--border)}
@media(max-width:740px){.report-head{flex-direction:row;align-items:center}#market-image{width:52px;height:52px}#pdf{align-self:flex-start}}

/* Progress toast: same dark popup, with a spinner, stays until work finishes */
#toast.progress{display:flex;align-items:center;gap:10px}
#toast.progress::before{content:'';flex:none;width:12px;height:12px;border:2px solid #ffffff40;border-top-color:#fff;border-radius:50%;animation:toast-spin .8s linear infinite}
@keyframes toast-spin{to{transform:rotate(360deg)}}

/* --- Insider report (agents) --- */
.research-state{display:flex;margin-top:14px}
/* While researching, the content area is exactly one viewport tall and the panel fills what is left: no page scroll. */
@media(min-width:741px){
  .content:has(#research-state:not([hidden])){height:calc(100dvh - 64px);min-height:0;padding-bottom:24px;overflow:auto}
  .content:has(#research-state:not([hidden])) #workspace{flex:1;min-height:0}
  .content:has(#research-state:not([hidden])) #report{display:flex;flex-direction:column;flex:1;min-height:0}
  #report .research-state{flex:1;min-height:0}
}
.research-card{flex:1;display:flex;flex-direction:column;padding:28px 30px;background:var(--surface);border:1px solid var(--border);border-radius:14px}
.research-head{display:flex;align-items:center;gap:14px}
.research-head strong{display:block;font-size:17px;letter-spacing:-.01em}
.research-head small{display:block;margin-top:3px;color:var(--muted);font-size:12px}
.research-spinner{flex:none;width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--text);border-radius:50%;animation:toast-spin .9s linear infinite}
.research-state.error .research-spinner{animation:none;border-color:#c2414f}
.research-progress{height:4px;margin:20px 0 4px;border-radius:4px;background:var(--raised);overflow:hidden}
.research-progress span{display:block;height:100%;width:0;background:var(--text);border-radius:4px;transition:width .6s ease}
.research-card>p{margin:12px 0 18px;color:var(--muted);font-size:13px;line-height:1.6;max-width:760px}
.research-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;flex:1;justify-content:space-evenly;border-top:1px solid var(--border)}
.research-step{display:flex;align-items:center;gap:14px;padding:14px 2px;border-bottom:1px solid var(--border)}
.research-step div{flex:1;min-width:0}
.research-step strong{display:block;font-size:14px}
.research-step small{display:block;margin-top:2px;color:var(--muted);font-size:12px;line-height:1.45}
.step-icon{flex:none;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;border:1.5px solid var(--border);font-size:12px;font-weight:700;color:var(--muted)}
.research-step.running .step-icon{border-color:var(--border);border-top-color:var(--text);animation:toast-spin 1s linear infinite}
.research-step.complete .step-icon{border-color:#1f8a5b;background:#1f8a5b;color:#fff}
.research-step.error .step-icon,.research-step.timeout .step-icon{border-color:#c2414f;background:#c2414f;color:#fff}
.step-state{flex:none;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.research-step.complete .step-state{color:#1f8a5b}
.research-step.error .step-state,.research-step.timeout .step-state{color:#c2414f}
.research-step.pending{opacity:.55}
@media(max-width:740px){.research-state{min-height:0}.research-card{padding:20px}.research-step small{display:none}}

.insight{display:grid;grid-template-columns:180px minmax(0,1fr);gap:26px;align-items:center;margin-top:14px;padding:24px 28px;background:var(--surface);border:1px solid var(--border);border-radius:12px;--tone:#7b79d6}
.insight[data-tone=danger]{--tone:#c2414f}.insight[data-tone=warning]{--tone:#c58a1c}.insight[data-tone=success]{--tone:#1f8a5b}.insight[data-tone=neutral]{--tone:#8a8a94}
.gauge{display:grid;justify-items:center;text-align:center}
.gauge svg{width:170px;height:96px}
.gauge-track,.gauge-arc{fill:none;stroke-width:10;stroke-linecap:round}
.gauge-track{stroke:var(--border)}.gauge-arc{stroke:var(--tone);transition:stroke-dasharray .6s ease}
.gauge strong{font-size:34px;letter-spacing:-.03em;margin-top:-46px;line-height:1}
.gauge small{margin-top:10px;color:var(--muted);font-size:11px}
.insight-text .label{display:block;margin-bottom:8px}
.verdict-pill{display:inline-block;font-size:12px;font-weight:700;padding:5px 11px;border-radius:999px;color:var(--tone);background:color-mix(in srgb,var(--tone) 12%,transparent)}
.verdict-pill{--tone:inherit}.insight .verdict-pill{color:var(--tone)}
#insider-summary{margin:12px 0 0;font-size:15px;line-height:1.6;color:var(--text)}


.links-graph{display:block;width:100%;height:auto;margin:6px 0 14px}
.link-edge{fill:none;stroke:var(--muted);stroke-opacity:.5;stroke-width:1.4}
.link-node.funder{fill:#c58a1c22;stroke:#c58a1c}
.link-node.wallet{fill:#c2414f1c;stroke:#c2414f}
.link-node.relay{fill:var(--raised);stroke:var(--muted)}
.link-label{fill:var(--text);font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.suspects{display:grid;gap:10px}
.suspect{padding:14px 16px;border:1px solid var(--border);border-left:3px solid #c2414f;border-radius:0;background:var(--raised)}
.suspect-top{display:flex;justify-content:space-between;gap:12px;align-items:center}
.suspect-top strong{white-space:nowrap}
.flag-chips{display:flex;flex-wrap:wrap;gap:5px;margin:9px 0 6px}
.flag-chip{font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px;background:#c2414f14;color:#b43748}
.suspect small{display:block;color:var(--muted);font-size:11px;line-height:1.5}
.suspect p{margin:8px 0 0!important;color:var(--text)!important;font-size:13px}

.checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px 22px}
.check{display:flex;align-items:center;gap:9px;padding:7px 0;border-bottom:1px solid var(--border);font-size:13px}
.check span:nth-child(2){flex:1}
.check small{color:var(--muted);font-size:11px}
.check-icon{flex:none;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;font-size:11px;font-weight:700;background:var(--raised);color:var(--muted)}
.check.not_found .check-icon{background:#1f8a5b1c;color:#1f8a5b}
.check.found .check-icon{background:#c2414f1c;color:#c2414f}

.analysis details{border-top:1px solid var(--border)}
.analysis details:first-child{border-top:0}
.analysis summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;padding:13px 0;font-weight:700;font-size:14px}
.analysis summary::-webkit-details-marker{display:none}
.analysis summary::after{content:'+';color:var(--muted);font-weight:400;font-size:18px}
.analysis details[open] summary::after{content:'–'}
.analysis details p,.analysis details ul{margin:0 0 14px;color:var(--text);line-height:1.65;font-size:14px}
.analysis ul{padding-left:18px}.analysis li{margin:5px 0}
.source-list a{color:var(--accent);overflow-wrap:anywhere}

.history-open small.researching::before{content:'';display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:var(--accent);animation:pulse 1.4s ease-in-out infinite;vertical-align:1px}
@keyframes pulse{50%{opacity:.25}}
@media(max-width:740px){.insight{grid-template-columns:1fr;gap:12px;padding:18px}.checks{grid-template-columns:1fr}}
@media print{.research-state{display:none}}
.analysis summary:focus{outline:none}.analysis summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}
