@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Noto+Sans+SC:wght@400;500;600&family=Noto+Serif+SC:wght@500;600;700;900&display=swap";
:root{--brand-ink:#111511;--brand-ivory:#efe7da;--brand-earth:#b49a7d;--brand-gold:#c5a35d;--brand-white:#faf8f2;--brand-line:#c5a35d57}*{box-sizing:border-box}html{background:var(--brand-ink);scroll-behavior:smooth}body{background:var(--brand-ink);color:var(--brand-ivory);margin:0;font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;overflow-x:hidden}button,a{font:inherit}button{border-radius:0}button:focus-visible,a:focus-visible{outline:2px solid var(--brand-white);outline-offset:4px}.page{background:var(--brand-ink);grid-template-rows:86px 1fr;min-height:100vh;display:grid}.site-header{z-index:4;border-bottom:1px solid var(--brand-line);background:var(--brand-ink);grid-template-columns:1fr auto;align-items:center;padding:0 5vw;display:grid;position:relative}.wordmark{color:var(--brand-ivory);align-items:center;gap:17px;text-decoration:none;display:flex}.wordmark-rule{background:var(--brand-gold);width:34px;height:2px}.wordmark-cn{letter-spacing:.17em;font:700 19px/1 Noto Serif SC,Songti SC,serif}.wordmark-en{letter-spacing:.22em;color:var(--brand-gold);margin-top:7px;font:500 9px/1 IBM Plex Mono,monospace;display:block}.nav{align-items:center;gap:34px;display:flex}.nav a{color:#efe7dac2;letter-spacing:.08em;font-size:13px;text-decoration:none}.nav .login{min-height:46px;color:var(--brand-ivory);cursor:pointer;background:0 0;border:1px solid #efe7da9e;align-items:center;padding:0 20px;display:inline-flex}.hero{grid-template-columns:minmax(0,1.08fr) minmax(480px,.92fr);min-height:calc(100vh - 86px);display:grid}.hero-copy{flex-direction:column;justify-content:center;min-width:0;padding:6vh 5vw 4.6vh;display:flex;position:relative;overflow:hidden}.hero-copy:before{content:"衡";color:#efe7da06;pointer-events:none;font:900 min(54vw,820px)/.8 Noto Serif SC,Songti SC,serif;position:absolute;bottom:-.22em;left:-.055em}.copy-inner{z-index:1;max-width:780px;position:relative}.eyebrow{letter-spacing:.19em;color:var(--brand-gold);align-items:center;gap:15px;font:500 11px/1.5 IBM Plex Mono,monospace;display:flex}.eyebrow:before{content:"";background:var(--brand-gold);width:56px;height:1px}h1{letter-spacing:-.065em;text-wrap:balance;margin:25px 0 30px;font:700 clamp(67px,7.7vw,124px)/1.04 Noto Serif SC,Songti SC,serif}h1 .gold{color:var(--brand-gold)}.lead{letter-spacing:.025em;color:#efe7dac2;text-wrap:pretty;max-width:640px;margin:0;font-size:18px;line-height:1.9}.actions{align-items:center;gap:14px;margin-top:36px;display:flex}.button{min-height:56px;color:var(--brand-ivory);cursor:pointer;background:0 0;border:1px solid #efe7da85;justify-content:center;align-items:center;padding:0 26px;text-decoration:none;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.button.primary{background:var(--brand-gold);border-color:var(--brand-gold);color:var(--brand-ink);font-weight:600}.button:hover,.nav .login:hover{background:var(--brand-ivory);border-color:var(--brand-ivory);color:var(--brand-ink)}.access-line{z-index:1;border-top:1px solid var(--brand-line);color:#efe7da9e;grid-template-columns:150px 1fr;gap:22px;max-width:720px;margin-top:auto;padding-top:22px;font-size:13px;line-height:1.8;display:grid;position:relative}.access-line strong{color:var(--brand-gold);letter-spacing:.08em;font:600 14px/1.7 Noto Serif SC,Songti SC,serif}.portrait{border-left:1px solid var(--brand-line);background:var(--brand-earth);min-width:0;margin:0;position:relative;overflow:hidden}.portrait img{object-fit:cover;object-position:center 35%;width:100%;height:100%;position:absolute;inset:0}.portrait:after{content:"";pointer-events:none;background:linear-gradient(#11151105 48%,#111511b8 100%);position:absolute;inset:0}.portrait-meta{z-index:2;color:var(--brand-white);justify-content:space-between;align-items:flex-end;display:flex;position:absolute;bottom:29px;left:34px;right:34px}.portrait-name{letter-spacing:.12em;text-shadow:0 2px 20px #0000004d;font:600 25px/1.2 Noto Serif SC,Songti SC,serif}.portrait-role{letter-spacing:.18em;color:#faf8f2b3;margin-top:8px;font:500 10px/1.5 IBM Plex Mono,monospace;display:block}.portrait-index{letter-spacing:.16em;text-align:right;color:#faf8f2b3;font:500 10px/1.5 IBM Plex Mono,monospace}.modal{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#090c09eb;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.dialog{border:1px solid var(--brand-line);background:var(--brand-ink);width:min(720px,100%);padding:58px 58px 50px;position:relative;box-shadow:0 30px 90px #0006}.dialog:before{content:"";background:var(--brand-gold);width:128px;height:5px;position:absolute;top:0;left:0}.dialog-label{letter-spacing:.2em;color:var(--brand-gold);font:500 10px/1.5 IBM Plex Mono,monospace}.dialog h2{letter-spacing:-.04em;text-wrap:balance;margin:18px 0 20px;font:700 clamp(38px,5vw,62px)/1.22 Noto Serif SC,Songti SC,serif}.dialog p{color:#efe7dab8;text-wrap:pretty;max-width:560px;margin:0;font-size:16px;line-height:1.9}.dialog .opening{color:var(--brand-gold);letter-spacing:.06em;margin-top:26px;font:600 23px/1.5 Noto Serif SC,Songti SC,serif;display:block}.dialog-actions{gap:12px;margin-top:36px;display:flex}.close{min-height:48px;color:var(--brand-ivory);cursor:pointer;background:0 0;border:1px solid #efe7da73;padding:0 20px}@media (max-width:900px){.page{grid-template-rows:76px 1fr}.site-header{padding:0 20px}.nav a{display:none}.nav{gap:0}.nav .login{min-height:44px;padding:0 14px}.wordmark-rule{width:22px}.wordmark-cn{letter-spacing:.1em;font-size:16px}.wordmark-en{display:none}.hero{grid-template-columns:minmax(0,1fr);min-height:calc(100vh - 76px)}.hero-copy{min-height:auto;padding:52px 24px 34px}.copy-inner{max-width:100%}.eyebrow{letter-spacing:.15em;font-size:9px}.eyebrow:before{width:34px}h1{margin:21px 0 23px;font-size:clamp(54px,15.3vw,72px);line-height:1.09}.lead{font-size:16px;line-height:1.85}.actions{flex-direction:column;align-items:stretch;margin-top:29px}.button{width:100%;min-height:52px}.access-line{grid-template-columns:1fr;gap:5px;margin-top:42px;padding-top:18px}.portrait{border-left:0;border-top:1px solid var(--brand-line);order:-1;min-height:390px}.portrait img{object-position:center center}.portrait-meta{bottom:22px;left:22px;right:22px}.portrait-name{font-size:22px}.dialog{padding:48px 26px 38px}.dialog h2{font-size:40px}.dialog .opening{font-size:21px}}@media (max-width:430px){.portrait{min-height:390px}.portrait-index{display:none}.dialog-actions{flex-direction:column}.close{width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}input,textarea{font:inherit}.member-shell{background:var(--brand-ink);grid-template-columns:minmax(420px,.9fr) minmax(520px,1.1fr);min-height:100vh;display:grid}.member-brand{border-right:1px solid var(--brand-line);background:linear-gradient(#11151166,#111511d6),url(/images/chai-doctor-official-portrait.jpg) 50% 26%/cover;flex-direction:column;justify-content:space-between;min-height:100vh;padding:48px 5vw 7vh;display:flex}.member-brand-copy{max-width:620px}.member-brand-copy h1{letter-spacing:-.055em;margin:22px 0 20px;font-size:clamp(46px,5vw,78px);line-height:1.13}.member-brand-copy p{color:#efe7dac7;margin:0;font-size:16px;line-height:1.8}.auth-panel{justify-content:center;align-items:center;padding:54px 6vw;display:flex}.auth-card{width:min(480px,100%)}.auth-tabs{border-bottom:1px solid var(--brand-line);grid-template-columns:1fr 1fr;margin-bottom:48px;display:grid}.auth-tabs button{color:#efe7da7a;cursor:pointer;background:0 0;border:0;padding:0 0 16px;font-size:15px;position:relative}.auth-tabs button.active{color:var(--brand-ivory)}.auth-tabs button.active:after{content:"";background:var(--brand-gold);height:2px;position:absolute;bottom:-1px;left:0;right:0}.auth-card h2{letter-spacing:-.035em;margin:0 0 12px;font:700 42px/1.25 Noto Serif SC,Songti SC,serif}.auth-intro{color:#efe7da9e;margin:0 0 32px;line-height:1.8}.auth-form{gap:20px;display:grid}.auth-form label,.admin-toolbar label,.account-creator label{color:#efe7dab8;letter-spacing:.06em;gap:9px;font-size:13px;display:grid}.auth-form input,.admin-toolbar input,.account-creator input{width:100%;height:54px;color:var(--brand-ivory);background:#faf8f20a;border:1px solid #efe7da40;border-radius:0;outline:none;padding:0 16px}.auth-form input:focus,.admin-toolbar input:focus,.account-creator input:focus,.chat-composer textarea:focus{border-color:var(--brand-gold);box-shadow:0 0 0 1px var(--brand-gold)}.auth-form input::placeholder,.admin-toolbar input::placeholder,.account-creator input::placeholder,.chat-composer textarea::placeholder{color:#efe7da4d}.form-submit{width:100%;margin-top:8px}.form-submit:disabled,.button:disabled,.permission-button:disabled{opacity:.48;cursor:wait}.form-notice{border-left:3px solid;margin:0;padding:13px 15px;font-size:13px;line-height:1.7}.form-notice.error{color:#e6b0a7;background:#c776671c;border-color:#c77667}.form-notice.success{color:#bdd2be;background:#7fa4821c;border-color:#7fa482}.text-action,.back-link{color:#efe7da8f;text-underline-offset:4px;cursor:pointer;background:0 0;border:0;margin-top:18px;padding:0;font-size:13px;text-decoration:underline;display:inline-block}.opening-note{border-top:1px solid var(--brand-line);color:var(--brand-gold);letter-spacing:.08em;margin:38px 0 0;padding-top:22px;font:600 18px/1.5 Noto Serif SC,Songti SC,serif}.back-link{margin-top:12px;text-decoration:none}.status-page{background:radial-gradient(circle at 80% 12%, #c5a35d1a, transparent 30%), var(--brand-ink);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.status-card{border:1px solid var(--brand-line);background:#111511f5;width:min(720px,100%);padding:64px;position:relative}.status-card:before{content:"";background:var(--brand-gold);width:120px;height:5px;position:absolute;top:0;left:0}.status-card h1{letter-spacing:-.055em;margin:20px 0;font-size:clamp(42px,6vw,70px);line-height:1.2}.status-card>p{color:#efe7daad;margin:0 0 34px;line-height:1.9}.status-card .auth-form{max-width:440px}.opening-emphasis{color:var(--brand-gold);letter-spacing:.08em;margin:24px 0 36px;font:600 28px/1.5 Noto Serif SC,Songti SC,serif;display:block}.status-actions{gap:12px;display:flex}.app-header{border-bottom:1px solid var(--brand-line);justify-content:space-between;align-items:center;gap:28px;min-height:84px;padding:0 4vw;display:flex}.app-account{color:#efe7da85;align-items:center;gap:20px;font-size:12px;display:flex}.app-account a,.app-account button{color:var(--brand-gold);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:none}.learning-app,.admin-app{background:var(--brand-ink);min-height:100vh}.learning-layout{grid-template-columns:minmax(310px,.68fr) minmax(600px,1.32fr);min-height:calc(100vh - 84px);display:grid}.learning-aside{border-right:1px solid var(--brand-line);background:linear-gradient(#11151199,#111511eb),url(/images/chai-doctor-official-portrait.jpg) 50% 24%/cover;flex-direction:column;justify-content:center;padding:7vh 4vw;display:flex}.learning-aside h1{letter-spacing:-.055em;max-width:540px;margin:20px 0 24px;font-size:clamp(45px,4.6vw,76px);line-height:1.14}.learning-aside p{color:#efe7dab8;max-width:520px;margin:0;line-height:1.9}.aside-rule{background:var(--brand-gold);width:72px;height:1px;margin:44px 0 20px}.learning-aside small{color:#efe7da7a;max-width:460px;line-height:1.8}.chat-panel{color:#171b17;background:#f0eadf;grid-template-rows:minmax(0,1fr) auto;min-width:0;height:calc(100vh - 84px);display:grid}.chat-scroll{padding:54px clamp(24px,5vw,76px) 32px;overflow-y:auto}.chat-welcome{max-width:760px;margin:9vh auto 0}.chat-welcome .eyebrow{color:#8d713b}.chat-welcome .eyebrow:before{background:#8d713b}.chat-welcome h2{letter-spacing:-.045em;margin:24px 0 36px;font:700 clamp(38px,4.2vw,64px)/1.2 Noto Serif SC,Songti SC,serif}.question-chips{gap:11px;display:grid}.question-chips button{color:#343a34;text-align:left;cursor:pointer;background:0 0;border:1px solid #171b1729;padding:17px 20px;transition:border-color .2s,background .2s}.question-chips button:hover{background:#c5a35d14;border-color:#a8874d}.messages{width:min(840px,100%);margin:0 auto}.message{margin-bottom:32px}.message.user{color:#f0eadf;background:#1b211c;margin-left:clamp(30px,8vw,120px);padding:21px 23px}.message.model{border-left:3px solid #ad8b4c;padding-left:23px}.message-label{color:#9a7b44;letter-spacing:.16em;margin-bottom:11px;font:500 10px/1.4 IBM Plex Mono,monospace;display:block}.message.user .message-label{color:#c9ab70}.message-text{white-space:pre-wrap;font-size:16px;line-height:1.92}.message small{color:#7e776b;margin-top:15px;display:block}.message.thinking{opacity:.62}.chat-composer{background:#f0eadff7;border-top:1px solid #171b1726;padding:18px clamp(24px,5vw,76px) 24px}.composer-row{grid-template-columns:minmax(0,1fr) auto;gap:12px;display:grid}.chat-composer textarea{resize:vertical;color:#171b17;background:#ffffff52;border:1px solid #171b1738;border-radius:0;outline:none;width:100%;min-height:70px;max-height:160px;padding:14px 16px;line-height:1.6}.chat-composer textarea::placeholder{color:#171b1766}.chat-composer .button{min-width:120px}.chat-composer>small{color:#817a6e;margin-top:8px;display:block}.composer-error{color:#9a493d;margin:0 0 10px;font-size:13px}.admin-content{width:min(1360px,100% - 48px);margin:0 auto;padding:64px 0 90px}.admin-heading{justify-content:space-between;align-items:flex-end;gap:40px;display:flex}.admin-heading h1{letter-spacing:-.06em;margin:18px 0 14px;font-size:clamp(48px,6vw,84px);line-height:1.08}.admin-heading p{color:#efe7da94;margin:0}.admin-stats{gap:36px;display:flex}.admin-stats span{color:#efe7da85;min-width:100px;font-size:12px}.admin-stats strong{color:var(--brand-gold);font:600 38px/1.2 Noto Serif SC,serif;display:block}.account-creator{border:1px solid var(--brand-line);background:#faf8f206;grid-template-columns:minmax(280px,.85fr) minmax(430px,1.15fr);align-items:end;gap:48px;margin-top:52px;padding:30px;display:grid}.account-creator h2{color:var(--brand-ivory);margin:12px 0 8px;font:600 26px/1.35 Noto Serif SC,Songti SC,serif}.account-creator p{color:#efe7da85;margin:0;font-size:13px}.account-creator form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.account-creator .button{min-height:54px}.credential-card{background:#7fa48217;border:1px solid #7fa48275;border-top:0;grid-template-columns:minmax(180px,.7fr) minmax(180px,.7fr) auto;align-items:center;gap:30px;padding:23px 28px;display:grid}.credential-card div{gap:5px;display:grid}.credential-card span{color:#efe7da7a;font-size:11px}.credential-card strong{color:var(--brand-ivory);letter-spacing:.04em;font:600 20px/1.4 IBM Plex Mono,monospace}.credential-card .button{white-space:nowrap;min-height:46px}.admin-toolbar{border-top:1px solid var(--brand-line);justify-content:space-between;align-items:flex-end;gap:24px;margin-top:54px;padding:24px 0;display:flex}.admin-toolbar label{width:min(420px,100%)}.admin-error{margin-bottom:18px}.member-table{border-top:1px solid #efe7da47}.member-row{color:#efe7da9e;border-bottom:1px solid #efe7da21;grid-template-columns:minmax(220px,1.2fr) minmax(130px,.6fr) 110px 260px;align-items:center;gap:22px;min-height:78px;font-size:13px;display:grid}.member-row-head{color:#efe7da66;letter-spacing:.13em;min-height:50px;font:500 10px/1.4 IBM Plex Mono,monospace}.member-email{color:var(--brand-ivory);text-overflow:ellipsis;overflow:hidden}.member-row i{white-space:nowrap;border:1px solid;padding:7px 10px;font-style:normal;display:inline-flex}.status-open{color:#a7c0aa;border-color:#7fa48259!important}.status-pending{color:#d0b779;border-color:#c5a35d61!important}.permission-button{border:1px solid var(--brand-gold);background:var(--brand-gold);min-width:118px;min-height:40px;color:var(--brand-ink);cursor:pointer;font-size:12px}.permission-button.revoke{color:#efe7da9e;background:0 0;border-color:#efe7da59}.permission-button.reset{color:#efe7dab3;background:#efe7da0a;border-color:#efe7da47}.member-actions{gap:8px;display:flex}.member-empty{color:#efe7da80;text-align:center;padding:50px 0}@media (max-width:980px){.member-shell{grid-template-columns:1fr}.member-brand{border-right:0;border-bottom:1px solid var(--brand-line);min-height:390px;padding:30px 24px 46px}.member-brand-copy h1{font-size:clamp(44px,11vw,66px)}.auth-panel{padding:54px 24px 70px}.learning-layout{grid-template-columns:1fr}.learning-aside{display:none}.chat-panel{height:calc(100vh - 84px)}.member-row{grid-template-columns:minmax(190px,1.1fr) 115px 100px 250px;gap:14px}}@media (max-width:700px){.app-header{min-height:76px;padding:0 18px}.app-account>span{display:none}.learning-layout{min-height:calc(100vh - 76px)}.chat-panel{height:calc(100vh - 76px)}.chat-scroll{padding:34px 18px 24px}.chat-welcome{margin-top:4vh}.chat-welcome h2{font-size:40px}.chat-composer{padding:12px 14px 16px}.composer-row{grid-template-columns:1fr}.chat-composer .button{width:100%;min-height:48px}.status-card{padding:48px 24px 36px}.status-actions{flex-direction:column;align-items:stretch}.admin-content{width:min(100% - 32px,1360px);padding-top:42px}.admin-heading{flex-direction:column;align-items:flex-start}.admin-heading h1{font-size:52px}.account-creator{grid-template-columns:1fr;gap:25px;padding:24px 20px}.account-creator form{grid-template-columns:1fr}.account-creator .button{width:100%}.credential-card{grid-template-columns:1fr;gap:16px}.credential-card .button{width:100%}.admin-toolbar{flex-direction:column;align-items:stretch}.admin-toolbar .button{width:100%}.member-table{overflow-x:auto}.member-row{min-width:790px}}
