:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#252332;background:#f7f6fa;font-synthesis:none;--purple:#7554c8;--muted:#95929f;--line:#e9e6ef}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit}button,a,input,textarea{outline-offset:4px}button{border:0;background:none;color:inherit}button svg{pointer-events:none}svg{vertical-align:middle}h1,h2,h3,p{margin:0}h1{font-size:34px;letter-spacing:-1px;font-weight:600}h2{font-size:23px;font-weight:600}h3{font-size:18px;font-weight:600}p{line-height:1.8}.shell{display:flex;min-height:100vh}.sidebar{width:232px;position:fixed;inset:0 auto 0 0;padding:32px 20px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:11px;padding:0 12px 42px;font-size:23px;font-weight:650;letter-spacing:2px}.brand small{display:block;font-size:9px;letter-spacing:2px;color:#9892a6;margin-top:5px}.logo{width:39px;height:39px;border-radius:13px;background:#eee7fb;color:var(--purple);display:grid;place-items:center;font-size:25px}.nav{display:flex;flex-direction:column;gap:9px}.nav button{display:flex;align-items:center;gap:13px;padding:14px 17px;text-align:left;border-radius:12px;color:#888393;font-size:14px}.nav button.active{background:#f1ecfb;color:#7351bd;font-weight:600}.nav button:hover{background:#f6f3fb}.navlabel{font-size:10px;letter-spacing:2px;color:#aaa4b5;margin:30px 17px 13px}.side-bottom{margin-top:auto}.network{margin:20px 12px 0;padding-top:20px;border-top:1px solid var(--line);font-size:11px;color:#9791a1;display:flex;align-items:center;gap:7px}.dot{width:6px;height:6px;border-radius:50%;background:#9e84cc;display:inline-block}.main{margin-left:232px;width:calc(100% - 232px)}.topbar{height:85px;padding:0 46px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#ffffff80}.crumb{color:#99939f;font-size:12px}.crumb b{color:#55505f;font-weight:500}.wallet{border:1px solid #e2dbea;border-radius:99px;padding:11px 19px;background:#fff;font-size:12px;display:flex;align-items:center;gap:9px}.content{max-width:1400px;margin:auto;padding:38px 46px 50px}.eyebrow{font-size:10px;letter-spacing:3px;color:#9b86bc;margin-bottom:12px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.sub{color:#95909f;font-size:13px;margin-top:12px}.primary{background:var(--purple);color:#fff;border-radius:10px;padding:13px 20px;font-size:13px;display:inline-flex;gap:8px;align-items:center;justify-content:center;box-shadow:0 5px 15px #7554c81a}.primary:hover{background:#6544b6}.secondary{padding:11px 16px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:12px}.hero{position:relative;overflow:hidden;margin-top:29px;background:#eae4f4;border-radius:19px;min-height:217px;padding:33px 35px;display:flex;align-items:center}.hero-copy{position:relative;z-index:1;max-width:60%}.hero h2{font-size:27px;line-height:1.6;letter-spacing:1px}.hero p{color:#95869f;font-size:12px;margin:12px 0 18px}.text-link{color:#765394;font-size:12px;padding:0}.hero-art{position:absolute;width:290px;height:290px;right:18px;bottom:-70px;border:1px solid #c9b9de;border-radius:50%}.hero-art:before,.hero-art:after{content:'';position:absolute;border:1px solid #d4c7e5;border-radius:50%;inset:-29px}.hero-art:after{inset:28px}.mini-portrait{position:absolute;width:125px;height:165px;right:122px;bottom:20px;background:#d5c5e7;border:5px solid #ffffffa6;border-radius:70px 70px 22px 22px;transform:rotate(-11deg);box-shadow:0 12px 30px #8d71a32a;object-fit:cover}.mini-portrait.two{right:32px;bottom:17px;transform:rotate(12deg);width:115px;height:151px}.hero-star{position:absolute;right:285px;top:36px;color:#a28bbf;font-size:30px}.stats{display:flex;gap:40px;padding:27px 2px;margin-bottom:8px}.stat{display:flex;align-items:center;gap:12px}.stat-icon{width:36px;height:36px;display:grid;place-items:center;color:#a28cb9;background:#eee9f5;border-radius:11px}.stat b{font-size:19px;font-weight:550}.stat span{font-size:11px;color:#a09aa7;margin-left:9px}.section-head{display:flex;align-items:center;justify-content:space-between;margin:13px 0 22px}.tabs{display:flex;gap:24px}.tabs button{padding:9px 0;color:#a5a0ad;font-size:13px;border-bottom:2px solid transparent}.tabs button.active{color:#6e4caa;border-color:#8a69bd}.small{font-size:11px;color:#a49dad}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.card{background:white;border:1px solid var(--line);border-radius:17px;overflow:hidden;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-3px);box-shadow:0 10px 28px #42335b0c}.card-photo{height:235px;position:relative;overflow:hidden;background:#e4dcec}.card-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}.badge{position:absolute;top:13px;left:13px;background:#ffffffd9;backdrop-filter:blur(8px);border-radius:99px;padding:6px 9px;font-size:10px;color:#746384;display:inline-flex;align-items:center;gap:5px}.card-body{padding:20px}.card-title{display:flex;align-items:center;justify-content:space-between}.pill{font-size:10px;padding:4px 8px;border-radius:6px;color:#a18cb7;background:#f5f0fa}.description{font-size:12px;color:#9b95a3;margin:10px 0 18px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:15px;border-top:1px solid #f2eff5;color:#ab9dbb;font-size:11px}.card-footer button{color:#7955b0;font-size:12px}.add-card{min-height:350px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1.5px dashed #dbd4e5;border-radius:17px;color:#8e7da4;background:#f8f6fb;gap:15px}.add-card .plus{width:47px;height:47px;background:#eee8f6;border-radius:50%;font-size:27px;display:grid;place-items:center}.add-card p{font-size:11px;color:#aaa0b5;max-width:180px;text-align:center}.notice{display:flex;gap:10px;color:#9b94a6;font-size:11px;margin-top:27px;padding:15px 0}.form-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:36px;margin-top:30px}.panel{background:#fff;border:1px solid var(--line);border-radius:17px;padding:27px}.field{margin-bottom:23px}.field label{display:block;font-size:13px;font-weight:550;margin-bottom:10px}.field small{color:#a39ba9;font-size:11px;display:block;margin-top:7px}input,textarea{width:100%;padding:13px 14px;border:1px solid #e5dfed;border-radius:9px;background:#fcfbfd;color:#474050;font-size:13px}textarea{resize:vertical;min-height:90px;line-height:1.7}input:focus,textarea:focus{outline:2px solid #d8c9ee;border-color:#af91d8}.portraits{display:flex;gap:12px;margin-bottom:13px}.portrait-option{padding:0;border-radius:12px;overflow:hidden;border:3px solid transparent;height:88px;width:75px}.portrait-option.selected{border-color:#8f68c9}.portrait-option img{width:100%;height:100%;object-fit:cover}.upload{border:1px dashed #d9cce6;border-radius:9px;padding:13px;display:block;font-size:12px;color:#8a70a7;text-align:center;cursor:pointer}.upload input{display:none}.preview-card{position:sticky;top:30px;height:max-content}.preview-card img{width:100%;height:330px;object-fit:cover;border-radius:14px}.preview-card h3{margin-top:20px}.preview-card p{font-size:12px;color:#a396ad;margin-top:10px}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.back{font-size:12px;color:#9c8aaf;padding:0;margin-bottom:18px}.chat-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:23px;margin-top:20px}.chat-panel{background:white;border:1px solid var(--line);border-radius:17px;display:flex;flex-direction:column;height:calc(100vh - 228px);min-height:460px;overflow:hidden}.chat-head{padding:18px 23px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px}.avatar{width:39px;height:39px;border-radius:50%;object-fit:cover}.chat-head h3{font-size:14px}.chat-head small{font-size:10px;color:#a79ab4}.messages{padding:25px;flex:1;overflow:auto;display:flex;flex-direction:column;gap:15px}.chat-empty{margin:auto;text-align:center;color:#a395b3}.chat-empty img{width:95px;height:95px;border-radius:50%;object-fit:cover;margin-bottom:18px}.chat-empty h3{color:#6f5e80;margin-bottom:10px}.chat-empty p{font-size:12px}.bubble{white-space:pre-wrap;line-height:1.8;font-size:13px;max-width:85%;padding:12px 16px;border-radius:14px;background:#f6f2fa;align-self:flex-start;overflow-wrap:anywhere}.bubble.user{background:#8563bb;color:#fff;align-self:flex-end}.composer{padding:16px;border-top:1px solid var(--line)}.composer form{display:flex;gap:9px;align-items:flex-end}.composer textarea{min-height:50px;max-height:160px;resize:none}.composer small{display:block;margin-top:9px;color:#b3a9bc;font-size:10px;text-align:center}.profile img{width:100%;height:230px;object-fit:cover;border-radius:12px}.profile h3{margin:18px 0 8px}.profile p{color:#9888a5;font-size:12px}.profile .actions{margin-top:20px}.profile .secondary{flex:1}.profile .primary{width:100%;margin-top:12px}.memory{margin-top:15px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px}.memory h3{font-size:14px}.memory p{font-size:11px;color:#9f94aa;margin:10px 0}.memory-list{list-style:none;padding:0;margin:10px 0}.memory-list li{font-size:12px;display:flex;gap:8px;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.memory-list button{color:#b39dbf}.toggle{display:flex;align-items:center;justify-content:space-between;font-size:12px;margin:15px 0}.toggle input{width:17px;accent-color:var(--purple)}.settings{max-width:750px;margin-top:30px}.status-row{display:flex;align-items:center;justify-content:space-between;padding:22px 0;border-bottom:1px solid var(--line)}.status-row p{font-size:12px;color:#a396aa;margin-top:5px}.status{border-radius:99px;padding:6px 10px;background:#f3edf9;font-size:11px;color:#9479b3}.status.ok{background:#eaf2ed;color:#6d927a}code{background:#f2eef6;border-radius:4px;padding:2px 5px;font-size:12px;overflow-wrap:anywhere}.settings-note{padding-top:22px;font-size:12px;color:#978ba2;line-height:2}.initial{padding:80px;font-size:30px;color:var(--purple)}.initial span{display:block;font-size:14px;margin-top:15px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%) translateY(15px);padding:13px 22px;background:#382b48;color:#fff;border-radius:12px;box-shadow:0 8px 30px #32234320;font-size:13px;z-index:100;max-width:90vw;opacity:0;transition:.2s;pointer-events:none}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}dialog{border:1px solid var(--line);border-radius:19px;padding:30px;max-width:470px;width:calc(100% - 30px);color:#43374f;box-shadow:0 25px 100px #291b3933}dialog::backdrop{background:#30223d66;backdrop-filter:blur(4px)}dialog p{font-size:13px;color:#95859f;margin:15px 0 22px}dialog .field{margin-top:20px}.modal-close{float:right;font-size:20px;color:#a994b7}.modal-status{font-size:12px;color:#9575b4;margin:14px 0;overflow-wrap:anywhere}.public-list{font-size:12px;color:#897397;line-height:2;padding-left:18px}.empty-history{padding:60px 20px;text-align:center;color:#a293b1;font-size:14px}.mobile-brand{display:none}
@media(min-width:1500px){.card-photo{height:300px}.hero{min-height:240px}}
@media(max-width:1100px){.sidebar{width:190px;padding:28px 13px}.main{margin-left:190px;width:calc(100% - 190px)}.content{padding:30px}.topbar{padding:0 30px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.form-layout{grid-template-columns:minmax(0,1fr) 240px;gap:20px}.chat-layout{grid-template-columns:minmax(0,1fr) 230px;gap:16px}.profile{padding:18px}.hero-art{right:-55px}.mini-portrait{right:85px}.mini-portrait.two{right:5px}.hero-star{right:230px}}
@media(max-width:760px){.sidebar{width:100%;height:66px;inset:auto 0 0;padding:6px 15px;border-right:0;border-top:1px solid var(--line)}.brand,.navlabel,.side-bottom,.network{display:none}.nav{flex-direction:row;justify-content:space-around}.nav button{font-size:10px;flex-direction:column;gap:3px;padding:7px 16px}.nav button svg{width:19px;height:19px}.main{margin:0;width:100%;padding-bottom:66px}.topbar{height:65px;padding:0 20px}.content{padding:25px 20px}h1{font-size:28px}.page-heading .primary{padding:11px 13px}.hero{padding:25px;min-height:210px}.hero h2{font-size:21px}.hero-copy{max-width:70%}.hero p{max-width:185px}.hero-art{width:200px;height:200px;right:-95px}.mini-portrait{width:85px;height:130px;right:30px;bottom:10px}.mini-portrait.two{width:75px;height:115px;right:-18px}.hero-star{display:none}.stats{gap:23px}.stat span{display:block;margin:3px 0 0;font-size:10px}.stat{gap:8px}.stat-icon{width:30px;height:30px}.cards{gap:14px}.card-photo{height:190px}.card-body{padding:15px}.card-title h3{font-size:15px}.pill{font-size:9px}.description{font-size:11px}.add-card{min-height:300px}.section-head .small{display:none}.form-layout{grid-template-columns:1fr}.preview-card{display:none}.chat-layout{grid-template-columns:1fr}.chat-panel{height:65vh;min-height:400px}.chat-layout aside{display:grid;grid-template-columns:1fr;gap:15px}.profile>img{height:190px;object-position:50% 28%}.profile{display:none}.chat-layout aside .memory{margin:0}.chat-tools{display:flex;gap:8px}.chat-head{padding:14px}.bubble{max-width:93%}.tabs{gap:18px}.wallet{padding:9px 13px}.crumb{font-size:11px}.panel{padding:22px}.notice{line-height:1.8}.form-layout .actions{position:sticky;bottom:75px;background:#fff;padding:10px 0}.chat-head .secondary{padding:8px;font-size:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Shared footer: official ecosystem links. */
.main{display:flex;flex-direction:column;min-height:100vh}
.main>.content{width:100%;margin:0 auto;flex:1}
.site-footer{padding:22px 30px 28px;border-top:1px solid var(--line)}
.site-footer nav{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px 28px}
.site-footer a{display:inline-flex;align-items:center;gap:7px;padding:8px 2px;color:#765394;font-size:12px;text-decoration:none}
.site-footer a:hover{text-decoration:underline;text-underline-offset:4px;color:#553580}
.site-footer a:focus-visible{outline:2px solid var(--purple);border-radius:4px}
@media(max-width:760px){.site-footer{padding:16px 20px 22px}.site-footer nav{gap:8px 20px}}

.home-brand{display:flex;align-items:center;gap:17px}
.home-brand>img{flex:none;border-radius:20px;box-shadow:0 8px 22px #7554c822}
.home-brand h1{font-size:35px;letter-spacing:5px;line-height:1.2}
.home-brand-en{font-size:10px;letter-spacing:2.7px;color:#9278b2;margin-top:9px}
.home-tagline{margin-top:17px;line-height:1.8}
@media(max-width:760px){.home-brand{gap:12px}.home-brand>img{width:50px;height:50px;border-radius:16px}.home-brand h1{font-size:28px}.home-brand-en{font-size:8px;letter-spacing:1.8px;margin-top:6px}.home-tagline{font-size:11px;max-width:240px}}

/* soulame wordmark */
.brand{letter-spacing:0;font-size:23px}
.brand small{letter-spacing:1.8px}
.home-brand h1{letter-spacing:-1px;font-size:39px}
@media(max-width:760px){.home-brand h1{font-size:30px}}
