.kanshan-ai-entry{min-width:44px;min-height:44px;padding:8px 14px;border:1px solid rgba(159,232,255,.3);border-radius:24px;background:rgba(7,19,49,.65);color:#d9f1f1;cursor:pointer;font:inherit;white-space:nowrap}
.kanshan-ai-entry:hover{border-color:#a4d8d5;background:rgba(140,220,214,.13)}
.kanshan-ai-entry[aria-expanded=true]{background:rgba(140,220,214,.18);border-color:#a4d8d5}
#shell .journey-footer{align-items:flex-end}
#shell .kanshan-companion{display:inline-flex;align-items:center;gap:6px}
.kanshan-companion img{display:block;width:36px;height:48px;object-fit:contain;pointer-events:none}
.kanshan-companion img[hidden]{display:none}
.kanshan-ai{--kanshan-ink:#e6edf3;--kanshan-soft:#b3c2cd;--kanshan-accent:#bdddd8;--kanshan-line:rgba(175,207,215,.2);box-sizing:border-box;width:min(760px,calc(100vw - 32px));max-width:none;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);padding:0;margin:auto;border:1px solid rgba(175,207,215,.3);border-radius:20px;background:#090e19;color:var(--kanshan-ink);box-shadow:0 28px 100px rgba(0,0,0,.6);text-align:left;font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei UI","Microsoft YaHei",sans-serif;overflow:hidden;user-select:text;-webkit-user-select:text}
.kanshan-ai::backdrop{background:rgba(1,4,12,.76);backdrop-filter:blur(5px)}
.kanshan-ai [hidden]{display:none!important}
.kanshan-ai *{box-sizing:border-box}
.kanshan-ai__inner{display:flex;flex-direction:column;max-height:calc(100vh - 34px);max-height:calc(100dvh - 34px);min-width:0}
.kanshan-ai__head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;padding:12px 24px;border-bottom:1px solid var(--kanshan-line);background:radial-gradient(ellipse at 25% -50%,rgba(140,220,214,.13),transparent 70%)}
.kanshan-ai__identity{display:flex;align-items:center;gap:12px;min-width:0}
.kanshan-ai__portrait{display:grid;place-items:center;flex:none;width:64px;height:64px;color:var(--kanshan-accent)}
.kanshan-ai__portrait img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 5px rgba(0,0,0,.3))}
.kanshan-ai__portrait>span{font-size:28px}
.kanshan-ai h2{margin:0;font-size:21px;line-height:1.5;font-weight:600;letter-spacing:.07em;outline:none}
.kanshan-ai #kanshan-ai-intro{margin:3px 0 0;color:var(--kanshan-soft);font-family:"Yuanti SC",STKaiti,Helvetica,sans-serif;font-size:14px;line-height:1.5}
.kanshan-ai__close{display:grid;place-items:center;flex:none;min-width:44px;min-height:44px;padding:0;border:1px solid var(--kanshan-line);border-radius:50%;background:transparent;color:var(--kanshan-ink);font:inherit;font-size:26px;cursor:pointer}
.kanshan-ai__body{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#527077 transparent;padding:24px 28px 28px;touch-action:pan-y;-webkit-overflow-scrolling:touch}
.kanshan-ai__section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.kanshan-ai h3{margin:0;font-size:15px;font-weight:600;line-height:1.65}
.kanshan-ai__badge{flex:none;padding:3px 7px;border:1px solid var(--kanshan-line);border-radius:5px;color:var(--kanshan-soft);font-size:10px;line-height:1.4;letter-spacing:.04em;white-space:nowrap}
.kanshan-ai__badge--ai{background:rgba(140,220,214,.08);border-color:rgba(140,220,214,.3);color:#c7e9e2}
.kanshan-ai__muted{margin:0;color:var(--kanshan-soft);font-size:12px;line-height:1.8;overflow-wrap:anywhere}
.kanshan-ai__recap{padding:0}
.kanshan-ai__bubble{padding:16px 18px;border:1px solid rgba(140,220,214,.18);border-radius:4px 16px 16px;background:linear-gradient(120deg,rgba(140,220,214,.09),rgba(140,220,214,.025));overflow-wrap:anywhere}
.kanshan-ai__conversation{margin:0;font-family:"Yuanti SC",STKaiti,Helvetica,sans-serif;font-size:17px;line-height:1.85;color:#e0eeed}
.kanshan-ai__progress{margin:12px 0 0;color:#c3e0dc;font-size:14px;line-height:1.85;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.kanshan-ai__progress-note{margin:5px 0 0;color:var(--kanshan-soft);font-size:10px;line-height:1.8}
.kanshan-ai__next-note{margin:0;color:#d4e5e4;font-size:14px;line-height:1.85;overflow-wrap:anywhere}
.kanshan-ai__button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:10px 18px;border:1px solid rgba(173,205,215,.38);border-radius:24px;background:transparent;color:var(--kanshan-ink);font:inherit;font-size:13px;line-height:1.55;cursor:pointer;overflow-wrap:anywhere}
.kanshan-ai__resume{margin-top:12px;color:var(--kanshan-accent);border-color:rgba(140,220,214,.35);font-size:12px}
.kanshan-ai__composer{flex:none;margin:0;padding:12px 24px;border-top:1px solid var(--kanshan-line);background:#090e19}
.kanshan-ai__composer label{display:block;margin-bottom:10px;color:var(--kanshan-ink);font-size:15px;font-weight:600;line-height:1.6}
.kanshan-ai textarea{display:block;width:100%;min-height:84px;max-height:240px;padding:13px 15px;border:1px solid rgba(173,205,215,.3);border-radius:12px;background:rgba(3,7,15,.58);color:var(--kanshan-ink);font:inherit;font-size:15px;line-height:1.75;resize:vertical;overflow-y:auto;scroll-margin:20px}
.kanshan-ai textarea::placeholder{color:#8398aa;opacity:1}
.kanshan-ai__privacy{margin:9px 0 0;color:var(--kanshan-soft);font-size:11px;line-height:1.75}
.kanshan-ai__service{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:30px;margin:3px 0 8px;color:var(--kanshan-soft)}
.kanshan-ai__service p{margin:0;font-size:11px;line-height:1.7}
.kanshan-ai__service[data-available=true] p:before{content:'';display:inline-block;width:5px;height:5px;margin:0 7px 2px 0;border-radius:50%;background:#b0d9cf}
.kanshan-ai__actions{display:flex;justify-content:flex-end;gap:12px;margin-top:10px}
.kanshan-ai__analysis-action{margin-top:20px}
.kanshan-ai__analysis-hint{margin:9px 0 0;color:var(--kanshan-soft);font-size:12px;line-height:1.8;overflow-wrap:anywhere}
.kanshan-ai__primary{border-color:#d8eae8;background:#d8eae8;color:#101a1e;font-weight:600}
.kanshan-ai button:disabled{opacity:.45;cursor:default}
.kanshan-ai button:not(:disabled):hover,.kanshan-ai__source-link:hover{border-color:#a4d8d5;filter:brightness(1.14)}
.kanshan-ai__text-button{display:inline-flex;align-items:center;justify-content:center;flex:none;min-height:44px;padding:7px 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--kanshan-accent);font:inherit;font-size:12px;line-height:1.6;cursor:pointer;overflow-wrap:anywhere}
.kanshan-ai__request-state{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;margin:14px 0 0;padding:10px 12px;border:1px solid var(--kanshan-line);border-radius:10px;background:rgba(140,220,214,.035)}
.kanshan-ai__request-state p{flex:1 1 240px;margin:0;color:var(--kanshan-soft);font-size:12px;line-height:1.75;overflow-wrap:anywhere}
.kanshan-ai__request-state .kanshan-ai__error{color:#f0c5b6}
.kanshan-ai__request-state[data-loading=true] p:before{content:'✦';display:inline-block;margin-right:7px;color:var(--kanshan-accent)}
.kanshan-ai__answer,.kanshan-ai__local{margin-top:22px}
.kanshan-ai__answer{padding:0 0 22px;border-bottom:1px solid var(--kanshan-line)}
.kanshan-ai__answer-text{margin:12px 0 16px;font-family:"Yuanti SC",STKaiti,Helvetica,sans-serif;font-size:17px;line-height:1.85;color:#dce7ec;white-space:pre-wrap;overflow-wrap:anywhere}
.kanshan-ai__sources{display:grid;gap:10px;list-style:none;margin:12px 0 0;padding:0}
.kanshan-ai__source{min-width:0;padding:16px 18px 10px;border:1px solid var(--kanshan-line);border-radius:12px;background:rgba(195,218,232,.025);overflow-wrap:anywhere}
.kanshan-ai__source-meta{margin:0 0 6px;color:#a8c8c6;font-size:10px;line-height:1.8;letter-spacing:.04em}
.kanshan-ai__source h4{margin:0;font-size:14px;font-weight:500;line-height:1.8;color:var(--kanshan-ink)}
.kanshan-ai__source-reason{margin:7px 0 0;color:var(--kanshan-soft);font-size:12px;line-height:1.8;white-space:pre-wrap}
.kanshan-ai__source-progress{margin:9px 0 0;color:var(--kanshan-accent);font-size:11px;line-height:1.8;font-variant-numeric:tabular-nums}
.kanshan-ai__source-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0 14px;margin-top:6px}
.kanshan-ai__source-link{display:inline-flex;align-items:center;min-height:44px;padding:7px 0;color:#d4eae6;font-size:12px;line-height:1.6;text-decoration:none}
.kanshan-ai__followups{margin-top:16px}
.kanshan-ai__followups h4{margin:0 0 8px;font-size:12px;font-weight:500;line-height:1.6;color:var(--kanshan-soft)}
.kanshan-ai__followup-list{display:flex;flex-wrap:wrap;gap:8px}
.kanshan-ai__followup{min-height:44px;max-width:100%;padding:10px 12px;border:1px solid rgba(140,220,214,.25);border-radius:10px;background:rgba(140,220,214,.04);color:var(--kanshan-accent);font:inherit;font-size:12px;line-height:1.65;text-align:left;cursor:pointer;overflow-wrap:anywhere}
.kanshan-ai button:focus-visible,.kanshan-ai a:focus-visible,.kanshan-ai textarea:focus-visible{outline:2px solid #c1e5df;outline-offset:3px}
@media(max-width:600px){
  .kanshan-companion img{width:24px;height:32px}
  .kanshan-ai__composer{padding:8px 14px}
  .kanshan-ai__composer label{margin-bottom:4px;font-size:13px}
  .kanshan-ai__composer textarea{min-height:64px;height:64px;max-height:100px;padding:8px 12px;resize:none}
  .kanshan-ai__composer .kanshan-ai__privacy{font-size:10px;line-height:1.5}
  .kanshan-ai__composer .kanshan-ai__actions{margin-top:4px}
  .kanshan-ai-entry{padding:8px 11px;font-size:12px}
  .kanshan-ai{width:calc(100vw - 16px);max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);border-radius:16px}
  .kanshan-ai__inner{max-height:calc(100vh - 18px);max-height:calc(100dvh - 18px)}
  .kanshan-ai__head{padding:10px 14px;gap:8px}
  .kanshan-ai__identity{gap:8px}
  .kanshan-ai__portrait{width:50px;height:50px}
  .kanshan-ai h2{font-size:19px}
  .kanshan-ai #kanshan-ai-intro{font-size:12px}
  .kanshan-ai__body{padding:20px 16px max(24px,env(safe-area-inset-bottom));scroll-padding:16px}
  .kanshan-ai__bubble{padding:14px 15px}
  .kanshan-ai__conversation{font-size:16px}
  .kanshan-ai__analysis-action>.kanshan-ai__button{width:100%}
  .kanshan-ai__actions{gap:10px}
  .kanshan-ai__actions .kanshan-ai__button{flex:1;padding:10px 12px}
  .kanshan-ai textarea{font-size:16px}
  .kanshan-ai__source{padding:13px 14px 8px}
  .kanshan-ai__answer-text{font-size:16px}
  .kanshan-ai__section-head{gap:8px}
}
@media(max-height:520px) and (orientation:landscape){
  .kanshan-ai__composer{padding:6px 18px;display:grid;grid-template-columns:1fr auto;gap:4px 10px}
  .kanshan-ai__composer label{display:none}
  .kanshan-ai__composer textarea{min-height:52px;height:52px;max-height:52px;resize:none}
  .kanshan-ai__composer .kanshan-ai__actions{margin:0}
  .kanshan-ai__composer .kanshan-ai__privacy{grid-column:1/-1;margin:0;font-size:10px}
  .kanshan-ai__head{padding:6px 18px}
  .kanshan-ai__portrait{width:44px;height:44px}
  .kanshan-ai #kanshan-ai-intro{display:none}
  .kanshan-ai__body{padding:16px 22px 24px}
}
