:root {
  --sh-bg:#f5f0e8;--sh-surface:#fffcf8;--sh-soft:#ede6da;--sh-ink:#243a4a;
  --sh-muted:#59656c;--sh-line:#d8d1c5;--sh-accent:#365467;--sh-inverse:#fffdf8;
  --sh-display:"Cormorant Garamond",Georgia,serif;--sh-body:"Inter",sans-serif;
  --sh-xs:.75rem;--sh-sm:.875rem;--sh-base:1rem;--sh-lg:1.125rem;
  --sh-title:clamp(2rem,3vw,2.6rem);
  --sh-1:4px;--sh-2:8px;--sh-3:12px;--sh-4:16px;--sh-5:20px;--sh-6:24px;--sh-8:32px;--sh-10:40px;
}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
[data-theme=dark] {--sh-bg:#1a2b38;--sh-surface:#213542;--sh-soft:#2c414e;--sh-ink:#f5f0e8;--sh-muted:#c1cbd0;--sh-line:#4a5c66;--sh-accent:#c8dce9;--sh-inverse:#203441}
*{box-sizing:border-box}body{margin:0;background:var(--sh-bg);color:var(--sh-ink);font:var(--sh-base)/1.65 var(--sh-body);-webkit-font-smoothing:antialiased}
button,input,textarea{font:inherit;color:inherit}button,a,input,textarea{transition:background .16s,color .16s,border-color .16s}
a{color:var(--sh-accent)}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--sh-accent);outline-offset:3px}
[hidden]{display:none!important}img{max-width:100%;display:block;object-fit:contain}h1,h2,h3,p,figure{margin:0}
.sh-nowrap{white-space:nowrap}.sh-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.sh-skip{position:absolute;top:-100px;padding:var(--sh-3);background:var(--sh-surface);z-index:100}.sh-skip:focus{top:0}
.sh-site-header{max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:var(--sh-3) var(--sh-10);border-bottom:1px solid var(--sh-line)}
.sh-site-header img{width:180px;height:64px;background:#f5f0e8;border-radius:4px}
.sh-site-header nav{display:flex;gap:var(--sh-8);font-size:var(--sh-sm)}
.sh-site-header a{text-decoration:none}.sh-site-header nav a{min-height:44px;display:flex;align-items:center;gap:var(--sh-2)}
.sh-layout{max-width:1360px;margin:auto;padding:var(--sh-8) var(--sh-10);display:grid;grid-template-columns:300px minmax(0,1fr);gap:48px;align-items:start}
.sh-eyebrow,.sh-label{font-size:var(--sh-xs);font-weight:600;letter-spacing:.13em;color:var(--sh-muted)}
.sh-intro h1{font:600 var(--sh-title)/1.15 var(--sh-display);margin:var(--sh-3) 0 var(--sh-4)}
.sh-lede{color:var(--sh-muted);margin-bottom:var(--sh-6)}
.sh-intro figure{margin-bottom:var(--sh-6)}.sh-intro figure img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:4px}
.sh-intro figcaption{font-size:var(--sh-xs);color:var(--sh-muted);margin-top:var(--sh-2);line-height:1.5}
.sh-topics{margin-top:var(--sh-2);border-top:1px solid var(--sh-line)}
.sh-topics button{display:flex;justify-content:space-between;gap:var(--sh-3);width:100%;min-height:48px;padding:var(--sh-3) 0;background:none;border:0;border-bottom:1px solid var(--sh-line);text-align:left;font-size:var(--sh-sm)}
.sh-topics button:hover{color:var(--sh-accent);background:var(--sh-soft)}.sh-guide-link{display:block;margin-top:var(--sh-6);font-size:var(--sh-xs);line-height:1.65}
.sh-panel{min-width:0;height:calc(100dvh - 156px);min-height:610px;max-height:1000px;display:flex;flex-direction:column;background:var(--sh-surface);border:1px solid var(--sh-line);border-radius:12px;overflow:hidden;box-shadow:0 12px 36px #243a4a0a}
.sh-panel-header{display:flex;justify-content:space-between;align-items:center;gap:var(--sh-3);padding:var(--sh-4) var(--sh-6);border-bottom:1px solid var(--sh-line)}
.sh-identity{display:flex;align-items:center;gap:var(--sh-3)}.sh-identity img{width:44px;height:44px;background:#f5f0e8;border-radius:50%}
.sh-identity h2{font-size:var(--sh-lg);line-height:1.4;font-weight:600}.sh-identity p{font-size:var(--sh-xs);color:var(--sh-muted)}
.sh-controls{display:flex;gap:var(--sh-2)}.sh-controls button{white-space:nowrap;background:none;border:1px solid var(--sh-line);border-radius:4px;min-height:44px;padding:var(--sh-2) var(--sh-3);font-size:var(--sh-xs)}#sh-theme{min-width:44px;font-size:var(--sh-lg)}
.sh-controls button:hover{background:var(--sh-soft)}
.sh-tabs{display:flex;padding:0 var(--sh-6);gap:var(--sh-6);border-bottom:1px solid var(--sh-line)}
.sh-tabs button{min-height:48px;padding:var(--sh-3) 0;border:0;background:none;font-size:var(--sh-sm);border-bottom:2px solid transparent;color:var(--sh-muted)}
.sh-tabs button[aria-selected=true]{border-bottom-color:var(--sh-accent);color:var(--sh-ink);font-weight:600}
.sh-view{display:flex;flex-direction:column;flex:1;min-height:0}
.sh-messages{flex:1;overflow:auto;overscroll-behavior:contain;padding:var(--sh-6)}
.sh-welcome{padding:var(--sh-4) var(--sh-2);max-width:650px;margin:auto}
.sh-welcome h3{font:600 var(--sh-title)/1.08 var(--sh-display);margin:var(--sh-3) 0 var(--sh-5)}
.sh-welcome p:not(.sh-label){color:var(--sh-muted);font-size:var(--sh-sm);margin-bottom:var(--sh-3);max-width:60ch}
.sh-followups{display:flex;flex-direction:column;gap:var(--sh-2);margin-top:var(--sh-5)}
.sh-followups button{display:flex;justify-content:space-between;align-items:center;gap:var(--sh-4);text-align:left;padding:var(--sh-3) var(--sh-4);min-height:44px;background:var(--sh-surface);border:1px solid var(--sh-line);border-radius:5px;font-size:var(--sh-sm);line-height:1.5}
.sh-followups button:hover{background:var(--sh-soft);border-color:var(--sh-accent)}
.sh-message{max-width:690px;margin:0 auto var(--sh-8);font-size:var(--sh-sm);overflow-wrap:anywhere}
.sh-message-user{background:var(--sh-soft);padding:var(--sh-4) var(--sh-5);border-radius:8px;white-space:pre-wrap}
.sh-message-label{font-weight:600;color:var(--sh-accent);font-size:var(--sh-xs);margin-bottom:var(--sh-3)}
.sh-answer-section{margin-bottom:var(--sh-5)}.sh-answer-section h3{font:600 var(--sh-base)/1.5 var(--sh-body);margin-bottom:var(--sh-2)}
.sh-answer-section p{white-space:pre-line;line-height:1.75}
.sh-sources{display:flex;flex-wrap:wrap;gap:var(--sh-2);margin-top:var(--sh-3)}
.sh-sources a{display:inline-block;border:1px solid var(--sh-line);background:var(--sh-bg);border-radius:4px;text-decoration:none;padding:var(--sh-2) var(--sh-3);font-size:var(--sh-xs);line-height:1.4}
.sh-sources a:hover{border-color:var(--sh-accent)}.sh-followup-label{font-size:var(--sh-xs);color:var(--sh-muted);font-weight:600;margin-top:var(--sh-6)}
.sh-source-disclosure{margin-top:var(--sh-2)}.sh-source-disclosure summary{font-size:var(--sh-xs);color:var(--sh-accent);cursor:pointer;min-height:36px;display:list-item;padding:var(--sh-2) 0}.sh-source-disclosure .sh-sources{margin-top:0}
.sh-disclaimer-short,.sh-mobile-close,.sh-mobile-back{display:none}
.sh-status{padding:0 var(--sh-6);font-size:var(--sh-xs);color:var(--sh-muted);min-height:0}.sh-status:not(:empty){padding:var(--sh-2) var(--sh-6);border-top:1px solid var(--sh-line)}
.sh-composer{padding:var(--sh-3) var(--sh-6) 0}
.sh-input-row{display:flex;align-items:flex-end;gap:var(--sh-3);background:var(--sh-bg);border:1px solid var(--sh-line);border-radius:8px;padding:var(--sh-3)}
.sh-input-row:focus-within{border-color:var(--sh-accent);box-shadow:0 0 0 1px var(--sh-accent)}
.sh-input-row textarea{min-width:0;flex:1;resize:none;max-height:140px;min-height:48px;border:0;background:none;line-height:1.5;font-size:var(--sh-base);outline:none!important}
.sh-input-row textarea::placeholder{color:var(--sh-muted)}
.sh-input-row button,.sh-search-form button{border:0;background:var(--sh-accent);color:var(--sh-inverse);border-radius:5px;padding:var(--sh-3) var(--sh-4);min-height:44px;font-size:var(--sh-sm);font-weight:600}
.sh-input-meta{display:flex;justify-content:space-between;gap:var(--sh-3);font-size:var(--sh-xs);color:var(--sh-muted);margin-top:var(--sh-2)}
.sh-disclaimer{font-size:var(--sh-xs);color:var(--sh-muted);padding:var(--sh-2) var(--sh-6) var(--sh-3);line-height:1.5}
.sh-panel-footer{display:flex;justify-content:space-between;gap:var(--sh-3);padding:var(--sh-3) var(--sh-6);border-top:1px solid var(--sh-line);font-size:var(--sh-xs);color:var(--sh-muted)}
.sh-panel-footer a{white-space:nowrap}.sh-library-view{padding:var(--sh-6);overflow:hidden}
.sh-library-intro h3{font:600 28px/1.2 var(--sh-display);margin-bottom:var(--sh-2)}.sh-library-intro p{font-size:var(--sh-sm);color:var(--sh-muted)}
.sh-search-form{display:flex;gap:var(--sh-2);margin:var(--sh-5) 0 var(--sh-3)}
.sh-search-form input{min-width:0;width:100%;border:1px solid var(--sh-line);background:var(--sh-bg);padding:var(--sh-3);border-radius:4px;font-size:var(--sh-base)}
.sh-library-toolbar{display:flex;justify-content:space-between;align-items:center;gap:var(--sh-3);font-size:var(--sh-xs);color:var(--sh-muted);padding-bottom:var(--sh-2)}
.sh-library-toolbar button{border:0;background:none;min-height:44px;text-decoration:underline;color:var(--sh-accent);font-size:var(--sh-xs)}
.sh-results{overflow:auto;min-height:0;overscroll-behavior:contain}
.sh-doc{padding:var(--sh-4) 0;border-top:1px solid var(--sh-line)}.sh-doc a{font-size:var(--sh-sm);font-weight:600;line-height:1.5}
.sh-doc-meta{font-size:var(--sh-xs);color:var(--sh-muted);margin:var(--sh-2) 0}.sh-doc p{font-size:var(--sh-sm);color:var(--sh-muted);white-space:pre-line;overflow-wrap:anywhere}
.sh-doc details{font-size:var(--sh-xs);margin-top:var(--sh-2)}.sh-doc summary{cursor:pointer;min-height:32px}.sh-doc details a{display:block;font-size:var(--sh-xs);padding:var(--sh-2) 0;font-weight:400}
.sh-error{padding:var(--sh-4);border:1px solid var(--sh-line);border-radius:6px}.sh-error p{margin-bottom:var(--sh-3)}.sh-error button{background:var(--sh-soft);border:1px solid var(--sh-line);border-radius:4px;min-height:44px;padding:var(--sh-2) var(--sh-4);margin-right:var(--sh-2);font-size:var(--sh-sm)}
.sh-embed .sh-site-header,.sh-embed .sh-intro{display:none}.sh-embed .sh-layout{display:block;padding:0;margin:0;max-width:none}.sh-embed .sh-panel{height:100dvh;min-height:0;max-height:none;border:0;border-radius:0}.sh-embed .sh-panel-header{padding:var(--sh-3) var(--sh-4)}
.sh-embed .sh-tabs,.sh-embed .sh-messages,.sh-embed .sh-library-view{padding-left:var(--sh-4);padding-right:var(--sh-4)}
.sh-embed .sh-composer{padding:var(--sh-2) var(--sh-4) 0}.sh-embed .sh-disclaimer{padding-left:var(--sh-4);padding-right:var(--sh-4)}.sh-embed .sh-panel-footer{padding-left:var(--sh-4);padding-right:var(--sh-4)}
.sh-embed .sh-welcome{padding:var(--sh-2) 0}.sh-embed .sh-welcome h3{font-size:2rem}
.sh-embed .sh-welcome>p:last-of-type{display:none}
.sh-has-conversation .sh-panel-footer{display:none}
.sh-has-conversation .sh-disclaimer-long{display:none}
.sh-has-conversation .sh-disclaimer-short{display:inline}
.sh-has-conversation .sh-identity p{display:none}
.sh-has-conversation .sh-panel-header{padding-top:8px;padding-bottom:8px}
.sh-has-conversation .sh-input-meta{display:none}
.sh-has-conversation.sh-input-active .sh-input-meta{display:flex}
.sh-has-conversation .sh-message{font-size:1rem}
.sh-has-conversation .sh-message-user{font-size:.875rem}
@media(max-width:1050px){.sh-layout{grid-template-columns:240px minmax(0,1fr);gap:var(--sh-6);padding:var(--sh-6)}.sh-panel{height:calc(100dvh - 140px)}.sh-intro h1{font-size:2.5rem}.sh-lede{font-size:var(--sh-sm)}}
@media(max-width:760px){
 body{overflow:hidden}
 .sh-site-header{padding:var(--sh-2) var(--sh-4)}.sh-site-header img{width:145px;height:50px}.sh-site-header nav a:first-child{display:none}.sh-site-header nav{font-size:var(--sh-xs)}
 .sh-layout{display:block;padding:var(--sh-3);}.sh-intro{display:none}.sh-panel{height:calc(100dvh - 96px);min-height:540px;border-radius:8px}
 .sh-panel-header{padding:var(--sh-3)}.sh-identity img{width:36px;height:36px}.sh-identity{gap:var(--sh-2)}.sh-identity p{font-size:var(--sh-xs)}.sh-controls{gap:var(--sh-1)}.sh-controls button{padding:var(--sh-2)}
 .sh-tabs{padding:0 var(--sh-3);gap:var(--sh-5)}.sh-tabs button{font-size:var(--sh-xs)}
 .sh-messages,.sh-library-view{padding:var(--sh-4)}.sh-composer{padding:var(--sh-2) var(--sh-3) 0}.sh-disclaimer{padding:var(--sh-2) var(--sh-3)}
 .sh-input-meta>span:first-child{display:none}.sh-input-meta{justify-content:flex-end}.sh-input-row{gap:var(--sh-2);padding:var(--sh-2)}
 .sh-welcome{padding:0}.sh-welcome h3{font-size:2rem}.sh-panel-footer{padding:var(--sh-2) var(--sh-3);gap:var(--sh-2);flex-wrap:wrap}.sh-panel-footer span{font-size:var(--sh-xs)}
 .sh-embed .sh-panel{min-height:0}
 .sh-embed .sh-mobile-close{display:block;border:0;font-size:24px;line-height:1;min-width:36px;padding:4px}
 .sh-embed .sh-panel-header{padding:8px 12px}
 .sh-embed .sh-identity img{width:30px;height:30px}
 .sh-embed .sh-identity p{display:none}
 .sh-embed .sh-controls{gap:4px}
 .sh-embed .sh-controls button{padding:6px;min-height:44px}
 .sh-embed .sh-identity h2{font-size:18px}
 .sh-embed .sh-tabs button{min-height:44px}
 .sh-embed .sh-tabs{gap:24px}
 .sh-embed .sh-composer{padding-bottom:0}
 .sh-embed .sh-disclaimer{padding-bottom:max(10px,env(safe-area-inset-bottom))}
 .sh-embed .sh-panel-footer{padding-bottom:max(10px,env(safe-area-inset-bottom))}
 .sh-has-conversation .sh-message{margin-bottom:24px}
 .sh-has-conversation .sh-messages{padding-top:16px}
 .sh-site-header{display:none}
 .sh-layout{padding:0}
 .sh-panel{height:var(--sh-page-height,100dvh);min-height:0;max-height:none;border:0;border-radius:0}
 .sh-panel-header{padding:8px 12px;min-height:60px}
 .sh-identity img{display:none}
 .sh-identity h2{white-space:nowrap;font-size:18px}
 .sh-identity p{display:none}
 .sh-controls button{min-height:44px;padding:6px}
 .sh-controls{gap:4px}
 .sh-mobile-back{display:flex;align-items:center;min-height:44px;padding:6px 8px;font-size:12px;text-decoration:none;border:1px solid var(--sh-line);border-radius:4px}
 .sh-embed .sh-mobile-back{display:none}
 .sh-tabs button{min-height:44px}
 .sh-input-row textarea{min-height:44px;max-height:112px;padding:8px 0}
 .sh-input-row{padding:4px 8px;align-items:center}
 .sh-input-row button{padding:8px 12px}
 .sh-disclaimer{padding-bottom:max(10px,env(safe-area-inset-bottom));font-size:12px}
 .sh-has-conversation .sh-message-label{display:none}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
