/* Local medical-teaching theme. Inspired by the blue / white / gold appearance
   of srrsh.com (2026-09-21); these are project colors, not official VI values.
   No hospital logo, name, or claim of affiliation is used. */
:root{--ink:#20334e;--muted:#64758a;--green:#174c8d;--line:#dde5ee;--paper:#f3f6fa;--surface:#fff;--gold:#b78c42;--blue-soft:#edf3fa;--direct-purple:#174c8d;--direct-purple-dark:#103968;--direct-text:#20334e}
body{background:var(--paper);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:#6d96c7}
.environment{background:#112f55;color:#f0f5fc;letter-spacing:.3px}.status-dot{background:#d9b776}
.sidebar{border-top:3px solid var(--green);padding-top:29px;background:#fff}
.brand{gap:10px}.brand strong{color:#153d70;letter-spacing:2px}.brand small{font-size:9px;letter-spacing:.5px;color:#64758a}
.logo{background:#174c8d;color:#fff;border-radius:8px;border-bottom:3px solid #c5a266;box-shadow:0 3px 8px #173d7012}
.nav-label{color:#7d899b;letter-spacing:1px}.nav button{border-radius:6px;color:#5e718a}.nav button.active{background:#eaf1fa;color:#174c8d;box-shadow:inset 3px 0 #174c8d}.nav button:hover{background:#f0f4f9}
.side-note{background:#f2f5fa;border-radius:7px;border-left:2px solid #b99b62}.side-note strong{color:#284d7b}
.avatar{background:#eaf0f8;color:#315a8c}.topbar{border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:25px}
.page-heading h1{font-size:27px;font-weight:650;letter-spacing:.4px}.page-heading p{color:#61758d}
.tag{background:#eaf1fa;color:#305c8d;border-radius:4px}.tag.gray{background:#f1f4f7;color:#637185}.tag.amber{background:#faf2e4;color:#8c6728}
.btn{border-radius:6px;font-weight:550}.btn.primary{box-shadow:0 2px 4px #173d7010}.btn.danger{background:#fff8f7;color:#a34035;border-color:#ead4d1}.text-link{font-weight:500}
.hero{background:#edf3fb;border:1px solid #d9e4f2;border-left:4px solid #174c8d;border-radius:9px;padding:28px 32px;gap:28px;min-height:230px}
.hero h2{color:#153d70;font-size:26px;line-height:1.5;font-weight:600}.hero p{color:#546f92}.hero .tag{background:transparent;color:#87672f;padding-left:0;font-size:11px;letter-spacing:1px}
.hero-art{align-items:center;justify-content:center}.orbit{width:190px;height:158px;background:#ffffffa8;border:1px solid #cfdaea;border-radius:9px;border-top:3px solid #b79a63}
.orbit:before{inset:11px;border:1px solid #e2e9f3;border-radius:4px}.orbit:after{display:none}.orbit-center{font-family:inherit;font-size:53px;font-weight:600;color:#174c8d;font-variant-numeric:tabular-nums}
.orbit-center small{font-size:11px;letter-spacing:1px;color:#657994;font-weight:400}.floating-note{position:static;box-shadow:none;border:0;background:none;color:#607795;font-size:10px;padding:0;bottom:auto;right:auto;margin-top:11px}.hero-art{flex-direction:column}
.stat{border-radius:8px;box-shadow:0 2px 6px #163a6903;position:relative;padding-top:20px}.stat:before{content:"";height:2px;width:24px;position:absolute;top:0;left:22px;background:#6a8cb3}.stat:first-child:before{background:#b79a63}.stat-value{color:#163f72;font-variant-numeric:tabular-nums}.stat-foot{color:#6d7d90}
.panel{border-radius:9px;box-shadow:0 3px 12px #19396303}.panel-header h2{color:#203e64;position:relative;padding-left:12px}.panel-header h2:before{content:"";position:absolute;left:0;top:.35em;width:3px;height:1em;background:#b39762;border-radius:1px}
.case-card{border-radius:7px;border-color:#dfe7f0}.case-card h3{color:#254669}.case-footer{border-top-color:#e9eef5}.note{background:#f1f5fa;color:#596f8a;border-radius:6px;border-left:2px solid #cfdae8}
.history-row{border-radius:8px}.history-index{color:#7c96b5;font-family:inherit;font-size:20px;font-variant-numeric:tabular-nums}.score{font-variant-numeric:tabular-nums}.resume{background:#fffaf0;border-color:#eadfca;border-radius:8px}.resume strong{color:#795e30}
.data-table th{background:#edf2f8;color:#576d88;font-weight:550}.data-table td{border-bottom-color:#e7edf5}.data-table tr:hover td{background:#f8fafd}.mini-bar{background:#e9eff7}.mini-bar i{background:#668db9}
.field input,.field select{background:#fbfcfe;border-color:#d9e2ed;border-radius:6px}.login-form{border-radius:10px;border-top:3px solid #174c8d;box-shadow:0 16px 50px #193f7010}.login-story h1{color:#153d70;font-size:40px;font-weight:600;letter-spacing:1px}.login-story .eyebrow{color:#8c713e;border-top:1px solid #d9e2ed;padding-top:18px}
dialog{border-radius:10px}dialog::backdrop{background:#13294566}.close{background:#edf2f8}.detail-score{background:#edf3fb;border-radius:7px}.transcript{background:#f2f5f9}.transcript-item.user-message{background:#e7effa}#toast{background:#183d6b}
.ability-radar figcaption,.radar-caption{color:#667a94}.radar-ring{stroke:#dce5f0}.radar-axis{stroke:#e4ebf4}.radar-tick{fill:#7e8ea3}.radar-label{fill:#395674}.radar-area{fill:#316aa9;fill-opacity:.13;stroke:#255f9f}.radar-segment{stroke:#255f9f}.radar-dot{fill:#255f9f}.radar-dot.weak{fill:#b18b4d}.radar-score{background:#f0f5fb;border-radius:6px}.radar-score>span{color:#4b6380}.radar-score strong{color:#174c8d}.radar-score.is-weak{background:#faf5eb}.radar-score.is-weak strong{color:#8b682e}.radar-empty{fill:#63768e}
.chat-layout{max-width:1080px}.chat-note{background:#f8f3e9;color:#7c653d;border-left:2px solid #c4a469;border-radius:6px}.direct-chat-panel{border:1px solid #dce5f0;border-radius:9px;box-shadow:0 5px 20px #183d6b05}
.direct-chat-header{background:#f4f7fc;border-bottom-color:#dce5f0}.direct-chat-message--user .direct-chat-message__bubble{background:#e7effb;color:#24476e}.direct-chat-message--assistant .direct-chat-message__bubble{background:#f4f6f9;color:#263d5c}.direct-chat-avatar{background:#174c8d;color:#fff}.direct-chat-composer{border-color:#d7e2ef}.direct-chat-input:focus{border-color:#174c8d}.direct-chat-send{background:#174c8d}.direct-chat-send:hover{background:#103968}
@media(max-width:700px){
  .sidebar{padding-top:15px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 8px}
  .sidebar>.brand{grid-column:1;grid-row:1}.sidebar>div:nth-child(2){grid-column:1/-1;grid-row:2}.side-bottom{position:static;grid-column:2;grid-row:1;margin:0;align-self:center}
  .brand small{font-size:8px;letter-spacing:0}.brand strong{font-size:19px}.user{font-size:11px}.user>div{max-width:76px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav button.active{box-shadow:inset 0 -2px #174c8d}
  .page-heading h1{font-size:23px}.hero{padding:21px;min-height:0}.hero h2{font-size:22px}.hero-art{display:none}.topbar{margin-bottom:21px;padding-bottom:13px}.login-story h1{font-size:28px}.panel-header h2{font-size:15px}.direct-chat-panel{border-radius:8px}
}
@media(max-width:360px){.brand small{font-size:7px}.user{font-size:10px;gap:6px}.user>div{max-width:58px}.nav button{font-size:10px}.page-heading h1{font-size:21px}}
.direct-chat-message--user .direct-chat-message__bubble{box-shadow:0 3px 10px #183d6b0d}.direct-chat-message__action.is-playing,.direct-chat-icon-button:hover{background:#eaf1fa}
.class-switch{display:flex;align-items:center;gap:12px;font-size:13px;min-width:0}.class-switch select{max-width:360px;min-width:160px;border:1px solid var(--line);border-radius:7px;background:#fff;padding:9px;color:var(--ink);font:inherit}
.class-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:14px}.class-tile{padding:20px;border:1px solid var(--line);border-radius:9px;background:#fff;min-width:0}.class-tile.selected{border-color:#174c8d;box-shadow:inset 3px 0 #174c8d}.class-tile h3{margin:0 0 8px;overflow-wrap:anywhere}.class-tile p{font-size:13px;color:var(--muted)}
.roster-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:14px}.roster-card{border:1px solid var(--line);border-radius:8px;padding:18px;min-width:0}.roster-identity{flex:1;min-width:0;overflow-wrap:anywhere}.roster-identity small{display:block;color:var(--muted);margin-top:4px}.roster-meta{color:var(--muted);font-size:12px;padding:16px 0}.roster-actions{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:12px}.roster-actions .btn{flex:1;white-space:nowrap;font-size:12px;padding:8px}
.credential-list,.import-rows{max-height:48vh;overflow:auto;margin:18px 0}.credential-list>div{padding:14px;background:#f2f6fc;margin-bottom:8px;border-radius:6px}.credential-list span{display:block;font-size:13px;margin-top:9px;overflow-wrap:anywhere}.credential-list code{user-select:all;font-size:15px}.import-rows>div{display:flex;justify-content:space-between;gap:14px;padding:10px;border-bottom:1px solid var(--line)}.password-page{max-width:520px;margin:40px auto;padding:30px}.password-page p{line-height:1.8;color:var(--muted)}
@media(max-width:700px){.class-grid,.roster-list{grid-template-columns:minmax(0,1fr)}.roster-heading{align-items:flex-start;flex-wrap:wrap}.roster-heading>.row{width:100%}.roster-heading>.row>.btn{flex:1}.class-switch{flex:1;flex-wrap:wrap;gap:5px}.class-switch select{width:100%;max-width:100%;min-width:0}.topbar{align-items:flex-end;gap:12px}.password-page{margin:25px 14px;padding:22px}.nav{flex-wrap:wrap}.credential-list code{font-size:14px}.data-table td:nth-child(3):before{content:'平均练习分'}}
