
:root {
  color-scheme: light;
  --bg:#fff;--surface:#f7f7f6;--hover:#ececea;--ink:#202020;--body:#343434;
  --sub:#686868;--weak:#858585;--border:#e7e7e5;--accent:#17624a;
  --focus:#477967;--aside:260px;
  font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Noto Sans CJK SC","Microsoft YaHei",sans-serif;
  color:var(--ink);font-synthesis:none;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;min-height:100%;background:var(--bg)}
body{overflow:hidden;-webkit-font-smoothing:antialiased}
button,textarea{font:inherit}button{border:0;background:transparent;color:inherit;cursor:pointer;touch-action:manipulation}
button:disabled{cursor:default;opacity:.4}a{color:inherit}
button:focus-visible,a:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
svg{width:20px;height:20px;stroke-width:1.8;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;flex:none}
[hidden]{display:none!important}::selection{background:#d9ede4}
.skip{position:absolute;top:-100px;left:16px;padding:10px 14px;background:#fff;z-index:200;border-radius:9px}
.skip:focus{top:10px}
.app{height:100dvh;display:flex;min-height:0;overflow:hidden}
.sidebar{width:var(--aside);flex:none;background:var(--surface);display:flex;flex-direction:column;min-height:0;padding:19px 12px 15px;z-index:20}
.sidebarBrand{display:flex;align-items:center;justify-content:space-between;padding:1px 9px 27px 12px}
.wordmark{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:660;letter-spacing:-.75px}
.mark{width:29px;height:29px;border-radius:10px;background:#202020;color:#fff;display:grid;place-items:center}
.mark svg{width:20px;height:20px;stroke-width:1.45}
.ghost{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;color:#606060}
.ghost:hover,.navButton:hover,.historyButton:hover,.action:hover{background:var(--hover)}
.ghost svg{width:18px;height:18px}
.sideNav{display:flex;flex-direction:column;gap:3px}
.navButton{width:100%;display:flex;gap:13px;align-items:center;text-align:left;border-radius:10px;padding:10px 12px;height:43px;font-size:13.5px;font-weight:500}
.navButton svg{width:19px;height:19px;color:#606060}
.sectionLabel{margin:34px 11px 8px;font-size:12px;font-weight:550;color:#838383}
.history{overflow-y:auto;flex:1;min-height:0;scrollbar-width:thin}
.historyButton{display:block;width:100%;border-radius:9px;text-align:left;padding:10px 11px;font-size:13px;color:#444;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.historyButton.active{background:#eaeae8;color:#222;font-weight:570}
.historyEmpty{padding:10px 11px;font-size:12px;color:#9d9d9d}
.sideFooter{border-top:1px solid #e6e6e4;padding:16px 11px 0;margin-top:12px}
.modeRow{display:flex;align-items:center;gap:8px;font-size:12px;color:#555;font-weight:550}
.modeDot{width:7px;height:7px;background:#9d9d9d;border-radius:50%}
.modeDesc{font-size:11.5px;line-height:1.65;color:#919191;margin-top:6px;padding-left:15px}
.main{flex:1;min-width:0;display:flex;flex-direction:column;position:relative;background:#fff}
.topbar{height:65px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 25px;gap:15px}
.topbarLeft{display:flex;align-items:center;gap:12px;min-width:0}
.topTitle{font-size:15.5px;font-weight:620;letter-spacing:-.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topActions{display:flex;align-items:center;gap:9px}
.topTextButton{display:flex;align-items:center;gap:7px;padding:9px 10px;border-radius:9px;color:#6b6b6b;font-size:12px}
.topTextButton:hover{background:#f5f5f4;color:#252525}
.topTextButton svg{width:16px;height:16px}
.desktopNew{display:none}.mobileMenu{display:none}
.workspace{flex:1;display:flex;min-height:0;flex-direction:column;align-items:center}
.feed{width:100%;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#dcdcdc transparent}
.thread{max-width:796px;width:100%;padding:19px 30px 72px;margin:0 auto}
.main.empty .workspace{justify-content:center;padding-bottom:min(8vh,70px)}
.main.empty .feed{min-height:0;flex:none;overflow:visible}
.main.empty .thread{padding:0 30px}
.welcome{text-align:center;padding:0 10px;margin:0 auto 30px}
.welcomeIcon{width:34px;height:34px;margin:0 auto 17px;color:#222}
.welcomeIcon svg{width:34px;height:34px;stroke-width:1.2}
.welcome h1{font-size:30px;font-weight:580;letter-spacing:-1.2px;line-height:1.4;text-wrap:balance;margin:0}
.welcome p{font-size:13.5px;line-height:1.75;color:#858585;margin:10px 0 0}
.composerArea{width:100%;flex:none;padding:0 28px max(13px,env(safe-area-inset-bottom));background:#fff}
.composerWrap{max-width:748px;margin:0 auto}
.composer{padding:15px 14px 10px 18px;background:#f5f5f4;border:1px solid transparent;border-radius:23px;transition:border-color .16s,background-color .16s}
.composer:focus-within{border-color:#b8c9c0;background:#fff}
#question{display:block;width:100%;min-height:36px;max-height:158px;resize:none;overflow-y:auto;background:transparent;border:0;outline:0;line-height:1.7;font-size:14.5px;color:var(--ink);padding:0 3px;letter-spacing:.05px}
#question::placeholder{color:#969696}
.composeBottom{display:flex;align-items:center;justify-content:space-between;margin-top:8px;gap:10px}
.modeButton{display:flex;align-items:center;gap:7px;min-height:34px;padding:5px 9px;border-radius:10px;font-size:12px;color:#636363}
.modeButton:hover{background:#eaeae9}
.modeButton svg{width:16px;height:16px}
.send{height:34px;width:34px;border-radius:11px;background:#202020;color:#fff;display:grid;place-items:center;transition:background-color .15s}
.send:hover:not(:disabled){background:#444}.send svg{width:17px;height:17px;stroke-width:2.2}
.suggestions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:19px 0 0}
.suggestion{font-size:12px;color:#555;line-height:1.5;border:1px solid #e8e8e6;border-radius:13px;padding:9px 13px;text-align:left;transition:border-color .15s,background-color .15s}
.suggestion:hover{background:#fafafa;border-color:#c8c8c6}
.main:not(.empty) .suggestions,.main:not(.empty) .welcome{display:none}
.helper{text-align:center;color:#aaa;font-size:11px;line-height:1.5;margin:11px 0 0}
.turn{margin:16px 0 39px}
.userTurn{display:flex;justify-content:flex-end;margin:16px 0 40px}
.userBubble{max-width:min(86%,630px);background:#f4f4f4;border-radius:19px;padding:11px 17px;line-height:1.85;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}
.assistantTurn{line-height:1.95;font-size:14px;color:var(--body)}
.assistantIdentifier{display:flex;align-items:center;gap:8px;font-size:13px;color:#202020;font-weight:620;margin:0 0 10px}
.assistantIdentifier .miniMark{width:22px;height:22px;display:grid;place-items:center}
.assistantIdentifier svg{width:20px;height:20px;stroke-width:1.4}
.researchToggle{display:flex;align-items:center;gap:8px;max-width:100%;font-size:12.5px;color:#646464;margin:0 0 22px;padding:8px 9px 8px 0;border-radius:8px;text-align:left;line-height:1.55}
.researchToggle:hover{color:#222}
.researchToggle .checked{color:#247b59;display:grid;place-items:center}
.researchToggle .checked svg{width:16px;height:16px}
.researchToggle .chevron{width:15px;height:15px;color:#888;transition:transform .15s}
.researchToggle[aria-expanded=true] .chevron{transform:rotate(180deg)}
.researchPanel{border-left:2px solid #dededc;padding:2px 0 7px 17px;margin:-8px 0 25px 4px;color:#666;font-size:12px}
.researchPanel ol{padding:0;margin:5px 0 10px;list-style:none;display:grid;gap:9px}
.researchPanel li{display:flex;align-items:center;gap:9px}
.researchPanel li svg{width:14px;height:14px;color:#508a6b}
.researchNote{color:#929292;font-size:11.5px;line-height:1.7;margin:9px 0}
.inlineLink{padding:0;color:#216b51;font-size:12px;text-decoration:underline;text-underline-offset:3px}
.answerTitle{font-size:19px;line-height:1.65;letter-spacing:-.4px;font-weight:645;color:#1f1f1f;margin:0 0 12px;text-wrap:pretty}
.answerIntro{margin:0 0 23px;line-height:2}
.sectionHeading{font-size:15px;font-weight:650;line-height:1.65;letter-spacing:-.1px;color:#232323;margin:29px 0 13px}
.reasoning{display:grid;gap:20px}
.reasonItem h4{font-size:14px;line-height:1.8;margin:0 0 6px;font-weight:635;color:#272727}
.reasonItem p,.recommendText{margin:0;line-height:2}
.cite{border:0;background:#edf5f0;border-radius:6px;min-width:22px;min-height:22px;padding:1px 6px;display:inline-flex;justify-content:center;align-items:center;vertical-align:baseline;line-height:1;font-size:11px;font-weight:700;color:#1d7451;margin:0 2px;transform:translateY(-1px)}
.cite:hover,.cite:focus-visible{background:#d2e9dc}
.answerFooter{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:26px;padding-top:14px;border-top:1px solid #efefee}
.action{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;font-size:12px;color:#777;border-radius:8px}
.action svg{width:16px;height:16px}
.answerDisclaimer{font-size:11.5px;line-height:1.75;color:#999;margin:13px 0 0}
.unsupportedTitle{font-size:16px;line-height:1.7;margin:16px 0 6px}
.unsupportedBody{margin:0 0 15px}
.loading{display:flex;align-items:center;gap:9px;color:#767676;font-size:13px;margin:8px 0 0}
.spin{height:14px;width:14px;border:1.8px solid #e3e3e1;border-top-color:#505050;border-radius:50%;animation:spin .65s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.shade{position:fixed;inset:0;background:rgba(17,17,17,.24);z-index:30;opacity:0;pointer-events:none;transition:opacity .18s}
.shade.visible{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(456px,100%);background:#fff;border-left:1px solid #ebebea;z-index:40;display:flex;flex-direction:column;transform:translateX(103%);transition:transform .2s;box-shadow:-15px 0 45px rgba(0,0,0,.055);visibility:hidden}
.drawer.visible{transform:translateX(0);visibility:visible}
.drawerTop{padding:19px 22px 16px;border-bottom:1px solid #ededec;display:flex;align-items:center;justify-content:space-between}
.drawerTitle{font-size:15px;font-weight:620}
.drawerBody{padding:25px 26px max(28px,env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain;flex:1}
.sourceKicker{font-size:12px;color:#7e7e7e;margin:0 0 12px}
.lawName{font-size:18px;line-height:1.55;font-weight:650;margin:0 0 7px;letter-spacing:-.3px}
.lawMeta{font-size:12px;color:#888;line-height:1.8}
.lawSubtitle{font-size:13px;font-weight:650;margin:27px 0 12px}
.lawQuote{font-size:13px;line-height:2.05;margin:0;white-space:pre-wrap;color:#404040;overflow-wrap:anywhere}
.officialLink{display:inline-flex;align-items:center;gap:6px;margin-top:20px;font-size:12px;color:#176949;text-decoration:none;font-weight:600}
.officialLink:hover{text-decoration:underline;text-underline-offset:3px}
.officialLink svg{width:14px;height:14px}
.sourceDivider{border:0;border-top:1px solid #ececeb;margin:26px 0 20px}
.referenceHeading{font-size:12px;color:#878787;margin:0 0 9px;font-weight:600}
.refRow{width:100%;display:flex;align-items:flex-start;gap:11px;padding:11px 9px;text-align:left;border-radius:9px}
.refRow:hover{background:#f7f7f6}.refRow.selected{background:#f1f5f2}
.refIndex{height:23px;min-width:23px;border-radius:6px;background:#efefee;display:grid;place-items:center;font-size:11px;color:#666;font-weight:600}
.refInfo{font-size:12px;line-height:1.6;color:#333;min-width:0;overflow-wrap:anywhere}
.refInfo small{display:block;font-size:11px;color:#8d8d8d;margin-top:2px}
.miniDisclaimer{font-size:11px;color:#9b9b9b;line-height:1.75;margin-top:22px}
.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:17px;z-index:60;background:rgba(20,20,20,.33)}
.modal.visible{display:flex}
.modalBox{background:#fff;border-radius:18px;width:min(522px,100%);max-height:min(85dvh,700px);display:flex;flex-direction:column;box-shadow:0 14px 60px rgba(0,0,0,.11)}
.modalTop{display:flex;align-items:center;justify-content:space-between;padding:21px 24px 14px}
.modalTop h2{font-size:16px;font-weight:650;margin:0}
.modalBody{overflow:auto;padding:5px 24px 25px;font-size:13px;color:#5c5c5c;line-height:1.8}
.modalIntro{font-size:12.5px;color:#777;margin:0 0 14px}
.resourceItem{padding:12px 0;border-bottom:1px solid #eeeeed}
.resourceItem strong{display:block;color:#303030;font-size:13px;font-weight:570}
.resourceItem small{display:block;color:#8f8f8f;font-size:11px;margin-top:3px}
.skillCode{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:#6c6c6c;overflow-wrap:anywhere}
.modalNote{font-size:11.5px;color:#888;margin:17px 0 0}
.toast{position:fixed;left:50%;bottom:max(27px,env(safe-area-inset-bottom));transform:translate(-50%,10px);opacity:0;z-index:90;background:#242424;color:#fff;padding:10px 15px;border-radius:10px;font-size:12px;pointer-events:none;transition:opacity .15s,transform .15s;white-space:nowrap;max-width:calc(100vw - 30px)}
.toast.visible{opacity:1;transform:translate(-50%,0)}
@media(max-width:940px){:root{--aside:232px}.topbar{padding:0 20px}.thread{padding-left:27px;padding-right:27px}}
@media(max-width:700px){
  .sidebar{position:fixed;top:0;bottom:0;left:0;width:min(280px,86vw);transform:translateX(-105%);transition:transform .2s;box-shadow:12px 0 42px rgba(0,0,0,.04)}
  .sidebar.visible{transform:translateX(0)}
  .mobileMenu{display:grid}.topbar{height:56px;padding:0 11px;gap:8px}.topbarLeft{gap:5px}.topTitle{font-size:14px}.topActions{gap:1px}
  .topTextButton{padding:8px}.topTextButton .topActionText{display:none}.desktopNew{display:grid}
  .main.empty .workspace{padding-bottom:5vh}.main.empty .thread{padding:0 18px}
  .welcome{padding:0 8px;margin-bottom:28px}.welcome h1{font-size:24px;letter-spacing:-.7px}.welcome p{font-size:12px;margin-top:9px}.welcomeIcon{margin-bottom:14px}
  .thread{padding:10px 20px 55px}.composerArea{padding:0 12px max(9px,env(safe-area-inset-bottom))}.composer{border-radius:21px;padding:12px 12px 9px 15px}
  .suggestions{justify-content:flex-start;gap:7px;margin-top:14px}.suggestion{font-size:11.5px;padding:8px 10px}
  .helper{font-size:10px}.userBubble{max-width:93%;font-size:13.5px}.assistantTurn{font-size:13.5px}.answerTitle{font-size:17px}.answerIntro{margin-bottom:18px}
  .drawerBody{padding:21px 21px 28px}
  .modalTop{padding:18px 20px 12px}.modalBody{padding:3px 20px 22px}
}
@media(max-height:580px){.main.empty .workspace{padding-bottom:0}.welcome{margin-bottom:15px}.welcomeIcon{display:none}.welcome h1{font-size:23px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
