/* Market Sonar 0.3.9 — companion skin. Keep evidence/review flows intact. */
:root {--bg:#080d16;--rail:#0b1220;--card:#111c2b;--card-2:#152234;--line:#253448;--text:#edf4fa;--muted:#8ea1b6;--pale:#d8e5ed;--mint:#67e0bd;--blue:#95c9ff;--gold:#e3c088;--radius:17px;--shadow:0 14px 44px rgba(0,0,0,.12)}
html{scroll-behavior:smooth}body{background:#080e18;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.55}
[hidden]{display:none!important}button:focus-visible,textarea:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid #67e0bd;outline-offset:3px}
.shell{min-height:100vh}.sidebar{background:linear-gradient(185deg,#0e1826 0%,#0a111c 90%);border-right:1px solid #1c2a3c}.identity{padding:33px 22px 30px;gap:12px;display:flex;align-items:center}.identity strong{display:block;font-weight:750;font-size:22px;letter-spacing:-1.15px;text-transform:none}.identity strong span{color:#6ae2bd}.identity small{display:block;font-size:8px!important;letter-spacing:2.2px;color:#778da5;margin-top:-3px}.brand-icon{width:42px;height:42px;flex-shrink:0;border-radius:13px;display:grid;place-items:center;background:radial-gradient(circle at 74% 24%,#68f5cb 0%,#27a899 31%,#0c4b59 70%);box-shadow:0 0 24px #2de4b533;border:1px solid #6ef0d855;transform:rotate(-8deg)}.brand-signal{width:23px;height:22px;background:linear-gradient(150deg,#f0ffff,#78fff4);clip-path:polygon(5% 70%,29% 53%,47% 69%,70% 28%,95% 9%,97% 29%,71% 53%,49% 98%,27% 78%,5% 95%);transform:rotate(8deg)}
.nav-heading{padding:0 25px 10px;font-size:10px;letter-spacing:2px;color:#667d94}.nav-list{padding:0 12px;gap:5px}.nav-btn{font-weight:550;letter-spacing:0;min-height:46px;border-radius:10px;color:#899daf!important;font-size:13px!important;padding:0 15px!important;gap:12px}.nav-btn:hover{background:#18283a!important}.nav-btn.is-active{color:#ddfff3!important;background:#1a3b3c!important;border:1px solid #297763!important}.nav-ico{font-size:18px;width:22px;display:inline-block;text-align:center;color:#87adbd}.nav-btn.is-active .nav-ico{color:#6df1c0}.sidebar-foot{border-top:1px solid #1c2d3e;margin:18px 18px 0;padding:22px 4px}.side-status{display:flex;align-items:center;gap:9px;color:#c5d4de;font-weight:600;font-size:12px}.status-lamp{display:inline-block;width:8px;height:8px;border-radius:100%;background:#ccad6b;box-shadow:0 0 0 4px #ccad6b13;flex-shrink:0}.side-muted{color:#7f93a8;font-size:12px;line-height:1.7;margin:13px 0}.side-help{font-size:11px;color:#91c1d3!important;text-decoration:none!important}
.workspace{background:radial-gradient(ellipse at 79% 0%,#122b31 0%,transparent 36%),#080e18}.topbar{border-bottom:1px solid #1c2939;background:rgba(8,14,24,.75);backdrop-filter:blur(12px);min-height:68px}.top-location{font-size:10px;color:#6f8599;letter-spacing:1.7px;font-weight:700}.top-location span{margin:0 11px;color:#3e5868}.top-location strong{color:#cbdce8;font-weight:700}.screen-reader-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.top-actions{gap:12px}.preview-status{font-size:9px;color:#81a59c;background:#15372f;border:1px solid #286456;border-radius:50px;padding:7px 11px;letter-spacing:1.2px;font-weight:700}.top-refresh,.top-install,.top-size{background:none;border:1px solid #28384a;color:#c7d8e7;padding:8px 11px;border-radius:9px;font-size:12px}.top-refresh:hover,.top-install:hover,.top-size:hover{background:#1b3042}.main{max-width:1460px;padding:32px 38px 28px}
.view{max-width:none}.page-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 25px}.overline,.panel-eyebrow{font-size:10px;letter-spacing:2px;font-weight:760;color:#62cbb1}.page-intro h1{font-size:clamp(32px,3.4vw,47px);line-height:1.12;letter-spacing:-1.9px;font-weight:760;margin:8px 0 10px}.page-intro h1 em,.inner-intro h1 em{font-style:normal;color:#6ce4ba}.page-intro p,.inner-intro p{font-size:14px;line-height:1.6;color:#91a7bb;max-width:625px;margin:0}.connect-btn{border:1px solid #3a9980;background:#193b39;color:#a5f1d6;border-radius:11px;padding:11px 18px;font-size:12px;font-weight:750;white-space:nowrap;min-height:43px;box-shadow:inset 0 0 0 1px #4ed8b013}.connect-btn:hover{background:#205045}.connect-btn span{margin-right:7px;font-size:15px}
.connection-notice{display:flex;align-items:center;gap:10px;border:1px solid #304457;border-radius:12px;background:#132132;padding:13px 17px;margin:0 0 19px;color:#b6c8d6;font-size:12px}.connection-notice strong{color:#ecf4f9}.connection-notice>button{margin-left:auto;border:1px solid #3d6671;background:#1b3443;border-radius:8px;padding:8px 12px;color:#a8e9d7;white-space:nowrap;font-size:11px;font-weight:700}.sample-banner{display:flex;align-items:center;gap:14px;background:#29351f;border:1px solid #8f9652;color:#ebf0ce;border-radius:10px;padding:11px 16px;margin-bottom:17px;font-size:12px}.sample-banner strong{letter-spacing:1px;color:#e9dc99;font-size:10px;white-space:nowrap}.sample-banner button{margin-left:auto;background:transparent;border:1px solid #998c5c;color:#f9efca;border-radius:8px;padding:7px 11px;white-space:nowrap}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.metric{background:linear-gradient(145deg,#152334,#0f1a29);border:1px solid #26394e;border-radius:16px;padding:18px 20px;min-height:141px;box-shadow:var(--shadow)}.metric-label{font-size:9px;letter-spacing:1.45px;color:#a0b1be;font-weight:760;display:flex;justify-content:space-between;gap:6px}.metric-label>span{font-size:17px;line-height:12px;color:#537d87}.metric-amount{font-weight:780;font-size:32px;letter-spacing:-1.5px;display:block;margin:13px 0 2px;white-space:nowrap}.metric-foot{font-size:11px;color:#7f95a7}.positive{color:#70dcae!important}.negative{color:#e89c97!important}
.dashboard-main{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr);gap:17px;align-items:stretch}.panel{background:linear-gradient(155deg,#132134,#101b29);border:1px solid #283a4c;border-radius:17px;padding:23px 25px;box-shadow:var(--shadow);min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:19px}.panel-eyebrow{font-size:9px;color:#85c6ba}.panel h2{font-size:19px;margin:4px 0 0;font-weight:740;letter-spacing:-.5px;color:#eff7fb}.panel h3{font-size:16px;margin:8px 0}.panel p{color:#9eb0c0;font-size:13px;line-height:1.65}.text-action{font-size:11px;color:#80d9c6;background:none;border:none;white-space:nowrap;padding:5px}.text-action:hover{text-decoration:underline}.account-strip{border:1px solid #26374a;border-radius:9px;background:#0d1826;display:flex;align-items:center;gap:10px;padding:10px 13px;font-size:12px;font-weight:650}.account-round{font-size:10px;letter-spacing:-.5px;font-weight:900;color:#b8d3f7;background:#23354e;width:26px;height:26px;border-radius:7px;display:grid;place-items:center}.right-muted{color:#70879d;font-size:10px;font-weight:500;margin-left:auto}.account-empty{display:flex;min-height:199px;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px 15px}.empty-icon{color:#76bfaf;border:1px solid #2b5a55;border-radius:13px;background:#153a39;font-size:27px;width:45px;height:45px;display:grid;place-items:center;margin-bottom:13px}.account-empty strong{font-size:13px;color:#e5eef5}.account-empty p{max-width:310px;font-size:12px;margin:7px 0 12px;color:#859bae}.subtle-connect{border:none;background:none;color:#80dfc1;font-size:12px;font-weight:680}.holding-list{margin-top:11px}.holding-line{display:grid;grid-template-columns:35px 1fr auto;gap:12px;align-items:center;padding:11px 3px;border-bottom:1px solid #27394a}.holding-line:last-child{border-bottom:0}.holding-logo{display:grid;place-items:center;width:33px;height:33px;background:#263e4b;border-radius:10px;color:#b1e7d8;font-weight:750;font-size:12px}.holding-name strong{display:block;font-size:12px}.holding-name span{color:#8299aa;font-size:10px}.holding-value{text-align:right}.holding-value strong{display:block;font-size:12px}.holding-value span{font-size:10px}
.panel-agent{background:linear-gradient(155deg,#16273a,#12212f);border-color:#2a4e50}.agent-mark{font-size:27px;color:#6cebc1;display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#16453f}.agent-message{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}.agent-avatar{font-size:22px;color:#73dfbd}.agent-message p{font-size:13px;color:#d3e2eb;line-height:1.55;margin:0;max-width:320px}.natural-input{box-sizing:border-box;width:100%;min-height:94px;resize:vertical;background:#0d1826;color:#e8f1f7;border:1px solid #334a5c;border-radius:12px;padding:14px;font-size:13px;line-height:1.5;outline:none}.natural-input::placeholder{color:#72889a}.natural-input:focus{border-color:#5dbfa9;box-shadow:0 0 0 3px #41c4a114}.suggested-queries{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0 19px}.prompt-chip{font-size:10px;border:1px solid #325262;border-radius:7px;background:#1b2f42;padding:7px 9px;color:#bacbd8}.prompt-chip:hover{color:#f0fffb;border-color:#5ac8ae}.agent-submit{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.action-main{border:1px solid #5fdbb8;background:#62d8b5;color:#071a20!important;font-weight:780;padding:12px 17px;border-radius:10px;font-size:12px;text-decoration:none;display:inline-block;white-space:nowrap}.action-main:hover{background:#94f1d0}.quick-scan-secondary{border:1px solid #406d70;color:#c6f5e9;background:#1d3945;padding:12px 14px;border-radius:10px;font-weight:700;font-size:12px}.agent-disclaimer{font-size:10px;color:#839aab}.dashboard-secondary{display:grid;grid-template-columns:1.15fr .85fr;gap:17px;margin:17px 0 28px}.dashboard-secondary .panel{min-height:173px}.activity-empty{font-size:12px;color:#859aab;line-height:1.7;padding:28px 4px;text-align:center}.small-explain h2{font-size:17px}.small-explain p{font-size:12px}.trust-line{font-size:11px;color:#9eb4c3;margin:6px 0}.trust-line span{color:#6adeaf;margin-right:6px}.inline-feedback{color:#9ce2d0;font-size:12px;margin:7px 0}.inline-feedback:empty{display:none}
.agentic-output{border:1px solid #3f625e;background:#132a30;border-radius:15px;margin-top:20px;padding:23px}.agentic-output pre{white-space:pre-wrap;overflow-wrap:anywhere;color:#d8ece7;max-height:270px;overflow:auto;font-size:12px}.advanced-workspace{margin:18px 0 28px;background:#101b28;border:1px solid #29394c;border-radius:13px;padding:0 19px 4px}.advanced-workspace summary{cursor:pointer;padding:17px 0;color:#9bcfc0;font-size:12px;font-weight:710}.advanced-workspace[open]{padding-bottom:18px}.agentic-layout{margin-top:14px}.agentic-panel{padding:19px!important;background:#152433!important;border:1px solid #2c4455!important}.agentic-panel h2{font-size:17px!important}.agentic-panel form button{font-size:11px}.agentic-layout label{font-size:11px}.agentic-layout textarea,.agentic-layout input,.agentic-layout select{font-size:12px!important}.agentic-layout .tiny{color:#90a3b6}.agentic-output .eyebrow{font-size:9px}
.inner-intro{margin-bottom:23px}.inner-intro h1{font-size:clamp(31px,3vw,44px);letter-spacing:-1.6px;line-height:1.18;margin:9px 0}.inner-intro h1 em{font-style:normal}.portfolio-summary{margin-bottom:17px}.portfolio-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.portfolio-stat-grid>div{background:#0c1826;border-radius:10px;padding:14px}.portfolio-stat-grid span{display:block;font-size:10px;color:#93aabc}.portfolio-stat-grid strong{display:block;margin-top:8px;font-size:21px;letter-spacing:-.5px}.holdings-table-head,.portfolio-holding-row{display:grid;grid-template-columns:minmax(0,2fr) 1fr 1fr .9fr;gap:16px;align-items:center}.holdings-table-head{border-bottom:1px solid #293b4c;color:#819aad;font-size:10px;letter-spacing:1px;font-weight:680;padding:11px 7px}.portfolio-holding-row{border-bottom:1px solid #26384a;padding:15px 7px;font-size:12px}.portfolio-holding-row:last-child{border:none}.portfolio-holding-row strong{font-size:13px}.portfolio-holding-row small{font-size:10px;color:#8399ad;display:block;margin-top:1px}.portfolio-holding-row>span:not(:first-child){font-variant-numeric:tabular-nums}.quiet-label{font-size:10px;color:#96a7b7}.account-tools{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin:17px 0}.light-btn,.anchor-btn{display:inline-block;border:1px solid #376c6b;border-radius:9px;background:#17353e;padding:9px 13px;color:#b5f4df;font-weight:650;font-size:11px;text-decoration:none}.light-btn:hover,.anchor-btn:hover{background:#22505c}.safety-note{margin-top:18px}.activity-row{display:flex;align-items:center;gap:13px;border-bottom:1px solid #2b394b;padding:14px 3px;font-size:12px}.activity-row:last-child{border:none}.activity-round{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#234039;color:#9af1cd}.activity-content{flex:1}.activity-content strong{display:block}.activity-content small{display:block;color:#8b9caf;margin-top:3px}.activity-end{text-align:right;font-size:12px}.activity-end small{display:block;color:#91a6b6}.sponsor-reserved{border:1px dashed #415568;border-radius:10px;background:#111e2b;margin-top:30px;padding:18px;color:#92a4b5}.sponsor-reserved span{font-size:9px;letter-spacing:1px;font-weight:700;color:#c3d0d9}.sponsor-reserved p{font-size:11px;max-width:700px}.sponsor-reserved button{background:transparent;border:0;color:#86c1bb;font-size:11px;text-decoration:underline}.page-footer{color:#667d90;font-size:10px;display:flex;gap:18px;flex-wrap:wrap;justify-content:space-between;border-top:1px solid #263447;padding-top:20px;margin-top:27px}.page-footer a{color:#86bfb9}.footer-sep{color:#5d8a87}
.broker-dialog{background:#122032;border:1px solid #315661;color:#e4eff6;border-radius:18px;max-width:510px;width:min(calc(100vw - 28px),510px);padding:28px 29px;box-shadow:0 30px 100px #000a}.broker-dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}.broker-dialog .connect-head{display:flex;justify-content:space-between;margin-bottom:9px}.brand-mini{font-size:21px;color:#7cf1c8}.connect-head button{background:#263748;border:none;color:#d9e8ef;border-radius:8px;font-size:20px;padding:2px 11px}.broker-dialog h2{font-size:26px;letter-spacing:-.8px;margin:6px 0 8px}.broker-dialog>p{font-size:12px;color:#a8bcca;line-height:1.65}.connect-step{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid #30404e}.connect-step>span{font-size:11px;color:#6cdbb7;font-weight:800}.connect-step strong{font-size:12px}.connect-step p{font-size:11px;color:#8ca3b6;margin:4px 0}.connect-limit{background:#1a2d3b;padding:13px;border-radius:8px;font-size:11px!important}.dialog-link{margin-top:7px;font-size:11px!important}
@media(max-width:1200px){.main{padding:26px}.dashboard-main{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-secondary{grid-template-columns:1fr 1fr}}
@media(max-width:750px){.main{padding:20px 17px 105px}.sidebar{display:none}.topbar{min-height:59px;padding:0 18px}.preview-status{display:none}.top-refresh span{display:none}.top-install{display:inline-flex;font-size:11px;padding:6px 8px}.page-intro{align-items:start;flex-direction:column;margin-bottom:20px}.page-intro h1{font-size:34px}.page-intro p{font-size:13px}.connect-btn{padding:10px 14px}.connection-notice{align-items:flex-start;flex-wrap:wrap;padding:12px}.connection-notice>button{margin:5px 0 0 20px}.sample-banner{flex-wrap:wrap}.sample-banner button{margin-left:0}.metric-grid{gap:10px}.metric{min-height:121px;padding:15px}.metric-amount{font-size:27px}.metric-label{font-size:8px;letter-spacing:1px}.metric-foot{font-size:9px}.panel{padding:19px 17px}.dashboard-main,.dashboard-secondary,.account-tools{grid-template-columns:1fr;gap:12px}.dashboard-secondary{margin-top:12px}.portfolio-stat-grid{grid-template-columns:1fr 1fr}.portfolio-stat-grid strong{font-size:18px}.holdings-table-head,.portfolio-holding-row{grid-template-columns:1.4fr .85fr .8fr}.holdings-table-head span:nth-child(2),.portfolio-holding-row>span:nth-child(2){display:none}.mobile-nav{background:#0a1521;border-top:1px solid #263a4a}.mobile-nav button{color:#8baabc;font-size:10px}.mobile-nav button.is-active{color:#85efc7}.panel-agent{padding-bottom:22px}.page-footer{flex-direction:column;gap:6px}.top-location{font-size:9px}.top-actions{gap:6px}.top-size{padding:6px 8px}.agent-submit{align-items:stretch}.agent-disclaimer{width:100%}}
@media(min-width:751px) and (max-width:950px){.metric-grid{grid-template-columns:1fr 1fr}.portfolio-stat-grid{grid-template-columns:repeat(2,1fr)}}

/* v0.4.1 session-only broker snapshot viewer */
.notice-actions,.portfolio-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.manual-snapshot-banner{margin:14px 0;display:flex;gap:14px;flex-wrap:wrap;align-items:center;justify-content:space-between;border:1px solid #327d71;border-radius:13px;padding:13px 16px;background:#102e30;color:#e3fff4}
.manual-snapshot-banner>div:first-child{display:grid;gap:4px;flex:1;min-width:240px}.manual-snapshot-banner strong{font-size:12px;letter-spacing:1.1px}.manual-snapshot-banner span{font-size:12px;color:#aad9cb}
.snapshot-pick-label{display:grid;gap:3px;font-size:11px;color:#bde9df}.snapshot-pick-label select{border:1px solid #488777;border-radius:9px;background:#0d272b;color:#eefcf8;padding:8px;font-size:13px;max-width:290px}
#clear-manual-snapshot{border:1px solid #509b83;color:#e5fdf7;background:#173d3a;border-radius:9px;padding:8px 12px;font-size:12px}
.snapshot-dialog textarea{width:100%;box-sizing:border-box;min-height:152px;background:#0b1423;border:1px solid #354859;color:#f1fbff;border-radius:10px;padding:13px;font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;resize:vertical}.snapshot-import-label{display:block;font-weight:600;font-size:12px;margin:15px 0 7px}.snapshot-error{color:#ffbaba;font-size:12px;min-height:18px}
@media(max-width:640px){.manual-snapshot-banner{align-items:stretch}.snapshot-pick-label select{max-width:100%}.notice-actions{width:100%}}
/* v0.4.3: conversational read-only research desk, mobile-first and accessible. */
.panel-agent{min-width:0}
.sonar-prompt-label{display:block;color:#b6d9d2;font-size:12px;font-weight:700;margin:8px 0}
.sonar-chat-log{box-sizing:border-box;max-height:245px;overflow-y:auto;min-width:0;margin:0 0 12px;padding:10px 8px;background:#081522;border:1px solid #284459;border-radius:12px;scrollbar-color:#436773 transparent}
.sonar-chat-bubble{box-sizing:border-box;max-width:92%;width:fit-content;overflow-wrap:anywhere;padding:11px 13px;border-radius:13px;margin:7px 0;font-size:12px;line-height:1.55}
.sonar-chat-bubble.sonar-reply{background:#193644;border:1px solid #376779;color:#e7f6f8;border-bottom-left-radius:4px}
.sonar-chat-bubble.sonar-question{margin-left:auto;background:#1b5549;border:1px solid #328e78;color:#f2fff9;border-bottom-right-radius:4px}
.sonar-chat-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:10px 0}
.sonar-chat-actions button{max-width:100%;white-space:normal}
.sonar-chat-status{font-size:11px;line-height:1.45;color:#a8d7ca;margin:6px 0 12px;min-height:1em}
@media(max-width:750px){.sonar-chat-actions{gap:7px}.sonar-chat-actions .quick-scan-secondary,.sonar-chat-actions .action-main{font-size:11px;padding:10px 12px}.sonar-chat-log{max-height:205px}.snapshot-pick-label{min-width:0;max-width:100%;width:100%}.snapshot-pick-label select{width:100%;max-width:100%;min-width:0}.manual-snapshot-banner>div:first-child{min-width:0}}

/* v0.4.3 main-screen voice entry and visible ASK connection controls. */
.intro-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.talk-jump{border:1px solid #71d9bc;background:linear-gradient(120deg,#327966,#235d61);color:#f1fffc;border-radius:11px;padding:11px 15px;font-size:13px;font-weight:800;cursor:pointer;min-height:42px}
.talk-jump:hover,.talk-jump:focus-visible{background:#297d71;outline-color:#bfffe6}
.notice-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.notice-actions button{border:1px solid #42667b;background:#213746;color:#e7f7f8;padding:9px 12px;border-radius:9px;font-size:12px;cursor:pointer;font-family:inherit}
.notice-actions button:first-child{background:#285c4b;border-color:#6bc5a8;color:#effff8;font-weight:760}
@media(max-width:750px){.intro-actions{gap:8px}.talk-jump{flex:1;min-width:150px}.intro-actions .connect-btn{flex:1;min-width:150px}.notice-actions button{font-size:11px;padding:10px 11px}}

/* Voice support controls remain visible only when browser recognition needs assistance. */
.sonar-voice-fallback{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin:.55rem 0 .8rem}
.sonar-voice-fallback [hidden]{display:none!important}
.sonar-voice-fallback button{max-width:100%;white-space:normal}
