:root{--ink:#183b35;--muted:#74817a;--paper:#f6f5ee;--line:#dedfd3;--gold:#b69552;--white:#fffef9}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 system-ui,"Microsoft YaHei",sans-serif}button,input,textarea,select{font:inherit}button,a,input,textarea,select,summary{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);background:var(--white);color:var(--ink);padding:10px 17px;border-radius:9px;transition:background .15s}button:hover{background:#e7ebdf}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.primary{background:var(--ink);color:#fff;border-color:var(--ink)}.primary:hover{background:#28564b}.light{background:#f6f3df}.quiet{border:0;background:transparent;padding:7px 10px}.danger{color:#9b3f36}.muted{color:var(--muted)}.small{font-size:12px}.eyebrow{font-size:10px;letter-spacing:2.3px;color:var(--muted);margin:0 0 10px}.actions{display:flex;gap:10px;flex-wrap:wrap}.badge{font-size:11px;white-space:nowrap;border:1px solid #d1d8c8;background:#edf1e5;border-radius:30px;padding:6px 12px}h1,h2,p{margin-top:0}h1,h2{font-weight:500}h1{font-size:30px;letter-spacing:1px}h2{font-size:21px}.brand{display:block;text-decoration:none;color:inherit;font-size:22px;letter-spacing:3px}.brand span{color:var(--gold);font-size:34px;vertical-align:middle}.brand small{display:block;font-size:9px;letter-spacing:3px;padding-left:44px;color:#bdc8b7}aside{width:232px;position:fixed;inset:0 auto 0 0;background:#152e2b;color:#e6ecde;padding:35px 25px;display:flex;flex-direction:column}nav{margin-top:60px;display:grid;gap:10px}nav button{text-align:left;background:transparent;color:#b5c4b9;border:0;padding:13px 15px}nav button.active{color:#f0e6b8;background:#2a4238}.aside-bottom{margin-top:auto;color:#a9b8a9;font-size:13px}.aside-bottom button{color:#becabb;margin-left:-10px}main{margin-left:232px;padding:35px 5vw 40px;max-width:1550px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}header h1{margin:0}.hero{position:relative;overflow:hidden;min-height:280px;padding:38px 40px;border-radius:15px;background:#e7eadc;display:flex;align-items:center;justify-content:space-between}.hero h2{font:500 34px/1.5 Georgia,"SimSun",serif;margin-bottom:12px}.hero p:not(.eyebrow){color:#637463;font-size:13px}.orbit{width:230px;height:230px;position:relative;margin:0 5%;flex-shrink:0}.orbit i{position:absolute;inset:13px;border:1px solid #b8c29f;border-radius:50%;transform:rotate(30deg) scaleX(.52)}.orbit i:nth-child(2){transform:rotate(90deg) scaleX(.52)}.orbit i:nth-child(3){transform:rotate(150deg) scaleX(.52)}.orbit span{position:absolute;inset:0;display:grid;place-items:center;font-size:105px;color:#8c9e72}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:30px 0 16px}.section-head h2{margin:0;font-size:18px}.section-head h2 span{font-size:12px;color:var(--muted);margin-left:8px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:18px}.card{background:var(--white);border:1px solid var(--line);border-radius:13px;padding:24px;display:flex;flex-direction:column;min-height:235px}.card .number{font:12px Georgia,serif;color:var(--gold);letter-spacing:2px;margin-bottom:20px}.card h3{font-size:21px;font-weight:500;margin:0 0 12px}.card p{font-size:13px;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}.card .excerpt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding-top:12px}.tags{font-size:11px;color:#8a8c6e}.empty{grid-column:1/-1;padding:45px;border:1px dashed #c9d0bd;text-align:center;border-radius:12px;color:var(--muted)}.panel{background:var(--white);border:1px solid var(--line);border-radius:13px;padding:25px;margin:20px 0;max-width:850px}label{display:block;font-size:13px;margin-bottom:17px}input,textarea,select{display:block;width:100%;border:1px solid #d5dbce;border-radius:8px;background:#fafbf6;padding:10px 12px;color:var(--ink);margin-top:6px}textarea{resize:vertical;line-height:1.7}input:focus,textarea:focus,select:focus{outline:2px solid #94a982;outline-offset:1px}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}details summary{cursor:pointer;padding:9px 0}dialog{border:1px solid var(--line);border-radius:15px;width:min(620px,94vw);max-height:90dvh;overflow:auto;color:var(--ink);background:var(--paper);padding:26px}dialog::backdrop{background:#10251eb3}dialog .section-head{margin-top:0}.login{min-height:100dvh;display:grid;place-items:center;background:radial-gradient(ellipse at top right,#dbe2ce,transparent 60%),var(--paper);padding:30px}.login-card{width:min(420px,100%)}.login h1{font:500 38px/1.5 Georgia,"SimSun",serif}.emblem{font-size:65px;color:#91a477;margin-bottom:25px}.login button{width:100%}.login form{margin-top:35px}#login-error{color:#9b3f36}.chat-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.world-context{border-bottom:1px solid var(--line);font-size:13px;margin:10px 0 20px}.world-context p{white-space:pre-wrap;color:var(--muted)}#messages{min-height:28vh;padding:5px 0 22px}.message{max-width:84%;margin:0 0 24px}.message .speaker{font-size:11px;color:var(--muted);margin-bottom:7px}.message .bubble{padding:16px 20px;background:var(--white);border:1px solid var(--line);border-radius:3px 15px 15px;white-space:pre-wrap;overflow-wrap:anywhere}.message.user{margin-left:auto}.message.user .bubble{background:#e3e9d8;border-color:#d5dec5;border-radius:15px 3px 15px 15px}.message.user .speaker{text-align:right}.message.narration{max-width:92%;margin:24px auto;color:#7e826e;font-size:13px}.message.narration .bubble{border:0;background:transparent;text-align:center;padding:7px}.composer-wrap{position:sticky;bottom:0;background:var(--paper);padding:12px 0 max(8px,env(safe-area-inset-bottom));border-top:1px solid var(--line)}.chat-actions{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}.chat-actions button{font-size:12px;padding:6px 10px}#send-form{display:flex;gap:10px;align-items:stretch}#message{margin:0;max-height:180px}#send{white-space:nowrap}.composer-wrap p{margin:8px 0 0}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#16372f;color:#fff;padding:13px 22px;border-radius:10px;z-index:20;max-width:90vw;box-shadow:0 5px 30px #0002}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}@media(max-width:900px){aside{width:190px;padding:28px 18px}main{margin-left:190px;padding:28px}.orbit{margin:0;width:170px;height:170px}.hero{padding:28px}.hero h2{font-size:29px}}@media(max-width:640px){aside{position:static;width:auto;padding:15px 18px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.brand{font-size:17px;white-space:nowrap;letter-spacing:1px}.brand span{font-size:23px}.brand small,.aside-bottom{display:none}nav{margin:0;display:flex;gap:2px}nav button{font-size:11px;padding:8px 7px}main{margin:0;padding:23px 18px}header{margin-bottom:20px}header h1{font-size:25px}.eyebrow{font-size:8px;letter-spacing:1.4px}.badge{font-size:10px;padding:4px 8px}.hero{padding:26px 22px;min-height:285px}.hero h2{font-size:28px}.hero>div:first-child{z-index:1}.orbit{position:absolute;width:180px;height:180px;right:-60px;top:10px;opacity:.35}.hero p:not(.eyebrow){max-width:230px}.hero .actions{margin-top:25px}.cards{grid-template-columns:1fr}.card{min-height:200px}.section-head{margin-top:24px}.section-head .quiet{font-size:12px}.two{grid-template-columns:1fr;gap:0}.panel{padding:19px}.message{max-width:94%}.chat-toolbar .quiet{font-size:12px;padding:6px}.composer-wrap{bottom:0}.login h1{font-size:32px}#toast{bottom:16px;width:max-content;max-width:90vw}}
