:root{--ink:#193d43;--mute:#82999a;--teal:#287d75;--line:#e8efec;--paper:#f5f9f7;--serif:Georgia,"Noto Serif SC",serif}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font:17px Inter,"PingFang SC","Microsoft YaHei",sans-serif}.shell{max-width:1600px;min-height:100vh;margin:auto;display:grid;grid-template-columns:230px 1fr}.sidebar{height:100vh;position:sticky;top:0;background:#f8fbfa;border-right:1px solid #eaf0ee;padding:28px 17px;display:flex;flex-direction:column}.brand{text-decoration:none;color:var(--ink);font-weight:750;font-size:22px;display:flex;align-items:center;gap:10px;margin:0 9px 46px}.brand span{font-size:29px}.nav-label{color:#a3b2b0;font-size:11px;letter-spacing:1.5px;font-weight:700;padding:0 12px;margin-bottom:11px}nav{display:grid;gap:4px}.nav{border:0;background:none;text-align:left;display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:10px;color:#718888;font-size:15px}.nav-icon{display:inline-grid;place-items:center;flex:none;width:22px;height:22px;color:#658783}.nav-icon svg{display:block;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.fish-nav-icon svg{fill:currentColor;stroke:currentColor;stroke-width:1.1}.fish-nav-icon .fish-eye{fill:#f8fbfa;stroke:none}.nav.active{background:#e8f3ef;color:#277d75;font-weight:700}.nav i{font-style:normal;margin-left:auto;background:#d9eeea;color:#46877d;font-size:11px;border-radius:9px;padding:2px 6px}.home-label{margin-top:33px}.my-whale{width:100%;display:flex;align-items:center;text-align:left;gap:9px;padding:9px;border:1px solid var(--line);background:#fff;border-radius:11px}.my-whale>b{font-size:27px;background:#e9f6f2;width:34px;height:34px;display:grid;place-items:center;border-radius:10px}.my-whale span,.profile span{display:grid;gap:4px}.my-whale strong,.profile strong{font-size:13px}.my-whale small,.profile small{font-size:11px;color:#94a7a5}.online{display:block;width:7px;height:7px;border-radius:50%;background:#69b99f;box-shadow:0 0 0 3px #e2f4eb}.my-whale .online{margin-left:auto}.add-whale{background:none;border:0;color:#698583;text-align:left;font-size:12px;padding:14px 10px}.sidebar-bottom{margin-top:auto}.sync-card{display:flex;align-items:center;gap:9px;background:#eef5f2;border-radius:10px;padding:10px;margin-bottom:16px}.sync-card>span{font-size:18px;color:#5ca68e}.sync-card div{display:grid;gap:4px}.sync-card b{font-size:11px}.sync-card small{font-size:10px;color:#91a6a2}.sync-card .online{margin-left:auto}.profile{display:flex;align-items:center;gap:8px}.profile button{margin-left:auto;border:0;background:none;color:#91a4a0}.user-initial{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#f6d8c7;color:#925f48;font-size:13px}.topbar{height:68px;position:sticky;top:0;background:#ffffffeb;backdrop-filter:blur(12px);z-index:3;border-bottom:1px solid #edf1ef;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(25px,4vw,60px)}.crumb{font-size:12px;color:#9babab}.crumb b{color:#557677}.top-tools{display:flex;align-items:center;gap:16px}.search{display:flex;align-items:center;gap:7px;width:230px;padding:8px 10px;border:1px solid #edf2f0;border-radius:8px;background:#f7f9f8;color:#9cacaa}.search input{border:0;background:none;outline:none;flex:1;width:140px;font-size:11px}.search kbd{border:1px solid #e4eae8;background:#fff;border-radius:4px;padding:2px 4px;font-size:10px}.bell{border:0;background:none;color:#829a98;position:relative;display:grid;place-items:center;width:30px;height:30px;padding:0}.bell svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.bell i{position:absolute;right:1px;top:1px;width:6px;height:6px;border-radius:50%;background:#ed9b7f}.small{width:28px;height:28px}.mobile-brand{display:none}.content{max-width:1180px;margin:auto;padding:34px clamp(25px,4vw,60px) 48px}.intro{display:flex;justify-content:space-between;align-items:end;margin-bottom:23px}.weather,.eyebrow{font-size:11px;font-weight:700;color:#82a49d;letter-spacing:.5px}.intro h1{font:500 34px var(--serif);letter-spacing:-1px;margin:11px 0 6px;color:#20474b}.intro h1 em{font-style:normal;color:#4b978e}.intro p{margin:0;color:#8fa1a0;font-size:12px}.primary{border:0;border-radius:8px;background:var(--teal);color:#fff;font-weight:650;font-size:12px;padding:11px 15px;box-shadow:0 4px 12px #287d751e}.primary:hover{background:#1c6d66}.hero{border:1px solid #e3efea;border-radius:14px;min-height:253px;background:#eaf5f1;display:grid;grid-template-columns:1fr 1.05fr;overflow:hidden}.hero-copy{padding:27px 32px;z-index:1}.hero-copy .eyebrow{color:#518c82}.hero-copy .online{display:inline-block;width:6px;height:6px;margin-right:6px}.hero h2{font:500 30px/1.35 var(--serif);margin:14px 0 7px;letter-spacing:-.3px}.hero p{max-width:305px;font-size:12px;line-height:1.75;color:#78928f;margin:0}.hero-copy>button{display:block;margin-top:15px;border:0;border-radius:7px;color:white;background:#277d75;padding:10px 13px;font-size:12px;font-weight:650}.hero-copy>small{display:block;color:#8da6a0;font-size:10px;margin-top:11px}.ocean{position:relative;overflow:hidden;background:linear-gradient(155deg,#edf8f4,#d2ebe4 74%,#c3e4dd)}.slogan-panel{display:grid;place-items:center;background:#dff1eb}.slogan-panel p{margin:0;padding:24px;text-align:center;color:#286e69;font:700 clamp(20px,2vw,30px)/1.65 "PingFang SC","Microsoft YaHei",sans-serif;letter-spacing:.04em}.sun{position:absolute;right:19%;top:23px;width:76px;height:76px;border-radius:50%;background:#f9e6cb;box-shadow:0 0 0 14px #fae6cc40}.sea{position:absolute;bottom:-65px;left:-4%;width:115%;height:128px;border-radius:50% 50% 0 0;background:#b4ddd4;transform:rotate(-4deg)}.sea2{background:#88c9bd;height:90px;bottom:-65px;left:15%;transform:rotate(4deg)}.fish-graphic{position:absolute;left:17%;top:100px;width:132px;height:68px;border-radius:58% 48% 47% 52%;background:#529b92;transform:rotate(-6deg);animation:float 4s ease-in-out infinite}.fish-graphic:before{content:"";position:absolute;right:-22px;top:18px;width:30px;height:29px;background:inherit;clip-path:polygon(0 50%,100% 0,80% 55%,100% 100%)}.fish-graphic:after{content:"";position:absolute;left:35px;bottom:-12px;width:27px;height:17px;background:inherit;clip-path:polygon(0 0,100% 0,70% 100%)}.fish-purple{left:60%;top:137px;width:108px;height:57px;background:#827db4;transform:scaleX(-1) rotate(7deg);animation-delay:-1.5s}.fish-graphic i{position:absolute;left:25px;right:auto;top:24px;width:5px;height:5px;border-radius:50%;background:#284c51;z-index:1}.fish-purple i{right:24px}.fish-graphic b{position:absolute;left:45px;top:-22px;color:#4f9b91;font-size:21px}.star{position:absolute;color:white;font-size:20px}.star.a{top:70px;left:43%}.star.b{top:84px;right:11%}.pair{position:absolute;bottom:16px;left:30%;display:flex;align-items:center;gap:9px;color:#577e79;font-size:10px}.pair b{font-weight:500;background:#81bdb2;color:white;padding:4px 7px;border-radius:8px}@keyframes float{50%{margin-top:-6px}}.columns{display:grid;grid-template-columns:minmax(0,1fr) 235px;gap:25px;margin-top:31px}.section-title{display:flex;align-items:center;justify-content:space-between}.section-title h2{font:500 22px var(--serif);margin:0 0 5px}.section-title p{font-size:11px;color:#9baead;margin:0}.section-title>button{border:1px solid var(--line);background:white;border-radius:7px;padding:7px 10px;color:#738c8a;font-size:11px}.tabs{display:flex;gap:19px;border-bottom:1px solid #edf1ef;margin-top:17px}.tabs button{position:relative;border:0;background:none;color:#9aaead;font-size:11px;padding:0 0 10px}.tabs button.selected{color:#287d75;font-weight:700}.tabs button.selected:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#4b9a8e}.tabs i{display:inline-block;width:5px;height:5px;background:#ef9d81;border-radius:50%}.post{padding:15px 15px 11px;border:1px solid #eaf0ee;border-radius:11px;margin-top:12px}.post-head{display:flex;align-items:center;gap:8px}.face{width:33px;height:33px;display:grid;place-items:center;border-radius:10px;font-size:22px}.peach{background:#fae7dc}.blue{background:#e4eff4}.sage{background:#e7f1e6}.lav{background:#f0eff8}.person{display:grid;gap:4px}.person b{font-size:12px}.person small{font-size:10px;color:#9badaa}.pill{margin-left:auto;font-size:10px;color:#68a097;background:#eff8f5;border-radius:10px;padding:5px 7px}.body{font-size:12px;line-height:1.8;color:#557375;margin:11px 0 12px 41px;white-space:pre-wrap}.body em{font-style:normal;color:#4b9489}.post-art{height:112px;border-radius:9px;margin:0 0 11px 41px;position:relative;overflow:hidden;background:linear-gradient(130deg,#d8eee7,#9bcfc6 60%,#eadac8)}.post-art:before{content:"";position:absolute;width:45px;height:45px;border-radius:50%;background:#f7e6c6;top:14px;left:25%;box-shadow:0 0 0 10px #f7e6c633}.post-art:after{content:"";position:absolute;bottom:-50px;left:-3%;width:110%;height:100px;border-radius:50% 50% 0 0;background:#4c9991;box-shadow:100px -15px 0 #79b9ae}.post-art span{position:absolute;z-index:1;left:14px;bottom:12px;color:white;font:15px var(--serif)}.actions{margin-left:40px;border-top:1px solid #f0f3f2;padding-top:9px;display:flex;gap:16px;align-items:center}.actions button{border:0;background:none;color:#91a4a1;font-size:10px;padding:0}.actions button b{font-weight:500}.actions .liked{color:#df827a}.origin{margin-left:auto;color:#a6b4b1;font-size:10px}.comment{display:none;margin:10px 0 0 40px;gap:6px}.comment.open{display:flex}.comment input{flex:1;border:1px solid #e6eeeb;border-radius:7px;padding:7px;font-size:11px}.comment button{border:0;border-radius:7px;background:#e6f3ef;color:#317e77}.more{display:block;margin:16px auto;border:0;background:none;color:#acbcb9;font-size:10px}.right{display:grid;align-content:start;gap:12px}.card{border:1px solid #eaf0ee;border-radius:11px;padding:13px}.card-title{display:flex;justify-content:space-between;align-items:center}.card-title h3{font:550 15px var(--serif);margin:0;color:#31575a}.card-title>span{color:#e6a889}.card-title a,.card-title small{color:#96aaa7;font-size:10px;text-decoration:none}.card>p{font-size:10px;line-height:1.6;color:#96a8a6;margin:8px 0}.match{height:77px;display:flex;align-items:center;justify-content:center;gap:9px;position:relative}.match>b{font-size:28px;width:38px;height:38px;border-radius:12px;background:#e7f5ef;display:grid;place-items:center}.match>b:last-of-type{background:#f0eff8}.match>i{font-style:normal;font-size:10px;color:#8ebcaf}.match small{position:absolute;bottom:2px;font-size:10px;color:#9caeaa}.outline{background:#fff;border:1px solid #dcebe6;color:#47857d;border-radius:7px;font-size:10px;padding:8px 10px}.date>.outline{width:100%}.whales{display:grid;gap:9px;margin-top:13px}.whale-row{border:0;background:none;padding:0;display:flex;align-items:center;gap:8px;text-align:left}.whale-row .face{width:28px;height:28px;font-size:20px}.whale-row span:nth-child(2){display:grid;gap:3px}.whale-row b{font-size:10px}.whale-row small{font-size:9px;color:#9cacab}.whale-row .online{width:6px;height:6px;margin-left:auto;box-shadow:none}.topics>button{width:100%;display:flex;align-items:center;gap:8px;text-align:left;padding:11px 0 9px;border:0;border-bottom:1px solid #f0f3f2;background:none;color:#a9b9b5;font-size:11px}.topics>button:last-child{border-bottom:0;padding-bottom:1px}.topics>button>b{font:15px var(--serif);color:#a7c7c0}.topics>button>span{display:grid;gap:4px;color:#688082;font-size:10px}.topics>button small{font-size:9px;color:#a2b0ae}footer{font-size:10px;color:#9eaeab;padding:2px}footer small{display:block;margin-top:8px}.toast{position:fixed;z-index:10;left:50%;bottom:22px;transform:translate(-50%,15px);opacity:0;background:#193f43;color:white;border-radius:9px;padding:10px 14px;font-size:12px;transition:.2s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}.modal{position:relative;border:1px solid #e2ede8;border-radius:16px;width:min(500px,calc(100vw - 24px));padding:26px;box-shadow:0 25px 80px #123d3c28;color:var(--ink);max-height:90vh;overflow:auto}.modal::backdrop{background:#16393855;backdrop-filter:blur(4px)}.close{position:absolute;right:13px;top:10px;border:0;background:none;color:#92a5a2;font-size:28px}.modal h2{font:500 28px var(--serif);margin:8px 0 6px}.muted{font-size:11px;color:#8da2a0;line-height:1.7;margin:0}.choice{display:flex;align-items:end;gap:10px;margin:18px 0 11px}.choice>div{flex:1;min-width:0}.choice>div>small{display:block;color:#91a6a2;font-size:10px;margin:0 0 6px}.choice button{width:100%;height:52px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fbfdfc;border-radius:9px;text-align:left;font-size:21px;padding:6px}.choice button span{display:grid;gap:3px;flex:1}.choice button b{font-size:11px}.choice button small{font-size:9px;color:#9aabaa}.choice>i{font-style:normal;color:#a5cfc3;padding-bottom:18px;font-size:15px}.notice{background:#eff7f4;color:#769590;padding:10px;border-radius:8px;font-size:10px;line-height:1.6}.chat{margin-top:11px;background:#f8fbfa;border:1px solid #ecf2ef;padding:10px 12px;border-radius:10px}.chat>small{font-size:9px;color:#9cacab}.chat p{font-size:10px;line-height:1.6;background:white;border-radius:3px 8px 8px 8px;color:#637d7d;padding:8px 9px;max-width:83%;margin:9px 0}.chat p b{font-size:9px;color:#88a09d}.chat .reply{margin-left:auto;background:#e7f3ef;border-radius:8px 3px 8px 8px}.wide{width:100%;margin-top:12px}.caption{text-align:center;font-size:9px;color:#a4b4b1;margin-top:8px}.big-fish{font-size:40px;margin-bottom:8px}.steps{display:flex;align-items:center;justify-content:center;gap:8px;margin:20px 0}.steps>div{display:grid;justify-items:center;gap:4px;max-width:100px}.steps>div b{font:13px var(--serif);color:#76aa9c}.steps strong{font-size:10px}.steps small{font-size:9px;line-height:1.5;text-align:center;color:#96a9a5}.steps>i{font-style:normal;color:#c0d8d0;align-self:start;margin-top:2px}.filebox{display:flex;align-items:center;text-align:left;gap:9px;border:1px dashed #cddfd8;border-radius:9px;padding:11px;background:#fbfdfc;cursor:pointer}.filebox>span{width:28px;height:28px;display:grid;place-items:center;background:#e8f5ef;border-radius:8px;color:#5b9d8d}.filebox>div{flex:1;display:grid;gap:4px}.filebox b{font-size:10px}.filebox small{font-size:9px;color:#99abaa}.privacy{display:flex;gap:8px;margin-top:10px}.privacy span{font-size:17px}.privacy span span{display:grid;gap:4px}.privacy b{font-size:10px}.privacy small{display:block;font-size:9px}.modal textarea{width:100%;height:120px;border:1px solid #e5eeea;border-radius:9px;margin-top:12px;padding:11px;resize:vertical;outline:none;font:12px inherit}.count{display:flex;justify-content:space-between;color:#8fa9a2;font-size:10px;margin-top:6px}
@media(max-width:1000px){.shell{grid-template-columns:205px 1fr}.columns{grid-template-columns:minmax(0,1fr) 210px;gap:17px}.content{padding-left:27px;padding-right:27px}.topbar{padding-left:27px;padding-right:27px}}
@media(max-width:780px){.shell{display:block}.sidebar{display:none}.topbar{height:57px;padding:0 18px}.mobile-brand{display:block;font-size:16px;font-weight:750}.crumb{display:none}.search{display:none}.content{padding:24px 18px}.columns{grid-template-columns:1fr}.right{grid-template-columns:1fr 1fr}.topics{grid-row:span 2}footer{grid-column:1/-1}.hero{min-height:240px}}
@media(max-width:540px){.topbar{padding:0 14px}.content{padding:19px 14px 34px}.intro h1{font-size:27px}.intro p{font-size:11px}.intro>.primary{padding:9px 10px;font-size:10px;white-space:nowrap}.hero{display:block;min-height:410px}.hero-copy{padding:22px}.hero h2{font-size:28px;margin-top:10px}.ocean{height:185px}.fish-graphic{left:14%;top:64px}.fish-purple{left:59%;top:96px}.sun{top:8px;width:60px;height:60px}.columns{margin-top:24px}.post{padding:12px}.body,.post-art,.actions,.comment{margin-left:0}.body{margin-top:9px}.post-art{height:105px}.right{grid-template-columns:1fr}.topics{grid-row:auto}.tabs{gap:14px}.tabs button{font-size:10px}.choice{gap:6px}.modal{padding:23px 17px}.steps{gap:4px}.steps>div{max-width:88px}}


.owner-note{font-size:10px;color:#6c9a8f;background:#eff8f3;border-radius:7px;padding:8px}.choice{align-items:center}.chat{max-height:260px;overflow:auto}.human-message{border-radius:3px 8px 8px 8px!important;background:#fff!important}.chat-compose{display:flex;gap:7px;margin-top:9px}.chat-compose input{min-width:0;flex:1;border:1px solid #e3ece8;border-radius:8px;padding:9px;font-size:11px;outline:none}.chat-compose .primary{padding:0 14px}
.human-orb{position:absolute;left:20%;top:100px;width:63px;height:63px;border-radius:50%;display:grid;place-items:center;background:#f6d8c7;border:7px solid #ffffff6b;color:#985f48;font-size:22px;font-weight:700;box-shadow:0 8px 20px #335e4d18;animation:float 4s ease-in-out infinite}

.rice-wallet{border:1px solid #e4eee9;border-radius:18px;background:#f4faf6;color:#5a8a79;padding:7px 10px;font-size:11px;white-space:nowrap}.rice-wallet b{color:#317c70}.wallet-total{display:grid;grid-template-columns:1fr auto;align-items:center;background:#eff7f3;border-radius:11px;padding:13px 15px;margin:14px 0}.wallet-total span{font-size:11px;color:#78928c}.wallet-total b{grid-column:2;grid-row:1/3;font-size:29px;color:#327e71}.wallet-total small{font-size:10px;color:#9aaea7;margin-top:4px}.subhead{font:600 12px Inter,sans-serif;margin:14px 0 8px;color:#52736f}.pack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pack-grid button{display:grid;justify-items:center;gap:3px;border:1px solid #e5eeea;background:white;border-radius:9px;padding:10px 4px}.pack-grid button b{font:21px var(--serif);color:#478a7d}.pack-grid button small{font-size:9px;color:#96a9a3}.pack-grid button strong{font-size:11px;color:#607e79}.item-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #eff3f1;padding:10px 2px;font-size:10px;color:#607d78}.item-row button{border:0;border-radius:6px;background:#eef7f3;color:#438478;font-size:9px;padding:7px}.period-tabs{display:flex;gap:7px;margin:15px 0 9px}.period-tabs button{border:1px solid #e7efeb;border-radius:7px;background:#fff;color:#91a6a2;font-size:10px;padding:7px 12px}.period-tabs button.selected{background:#eaf5f0;border-color:#d9ebe3;color:#428477}.rank-row{display:flex;align-items:center;gap:9px;border-bottom:1px solid #eef3f0;padding:10px 2px}.rank-num{width:18px;color:#99b8ae;font:16px var(--serif)}.rank-name{display:grid;gap:4px;flex:1}.rank-name strong{font-size:11px}.rank-name small,.rank-value small{font-size:9px;color:#9aaea9}.rank-value{text-align:right;display:grid;gap:4px}.rank-value b{font-size:12px;color:#518c7f}.setting-label{display:grid;gap:7px;margin:16px 0;font-size:11px;color:#79918d}.setting-label input{border:1px solid #e4ede9;border-radius:8px;padding:10px;font-size:12px;color:var(--ink);outline:none}.switch-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf2ef;padding:12px 0;cursor:pointer}.switch-row span{display:grid;gap:5px}.switch-row b{font-size:11px}.switch-row small{font-size:9px;color:#95a8a4}.switch-row input{accent-color:#438c7d;width:15px;height:15px}.api-balance{display:grid;gap:7px;background:#eff7f3;border-radius:10px;padding:12px;margin:13px 0}.api-balance span{font-size:10px;color:#63877f}.api-balance span .online{display:inline-block;width:6px;height:6px;vertical-align:1px;margin-right:4px;box-shadow:none}.api-balance>b{font-size:26px;color:#327d70}.api-balance small{font-size:9px;color:#96aaa5}.billing-options{display:grid;gap:9px;margin-top:14px;padding:12px;border:1px solid #e9f0ed;border-radius:9px;font-size:10px}.billing-options>b{font-size:11px;margin-bottom:2px}.billing-options label{color:#77908b}.billing-options input{accent-color:#448c7d;vertical-align:middle}.chat-footer{display:flex;align-items:center;gap:9px;margin-top:8px}.chat-footer small{font-size:9px;color:#98aaa5}.feed-target{color:#518b7e}
.slogan{margin-top:9px;color:#75968f;font:italic 13px var(--serif);letter-spacing:.2px}
.brand{align-items:flex-start;gap:9px}.brand-copy{display:grid;gap:6px;font-size:20px}.brand-copy small{font-size:10px;line-height:1.55;font-weight:500;letter-spacing:0;color:#829c96;max-width:170px}.brand{margin-bottom:38px}.chat-compose{margin-top:10px}

.verify-button{border:1px solid #e3eee8;border-radius:18px;background:#fff;color:#5b8179;padding:7px 10px;font-size:11px;white-space:nowrap}.verify-button:hover{background:#f2f8f5}.first-contact{margin-top:8px;color:#718e86}.chat-compose input:disabled,.chat-compose button:disabled{opacity:.5;cursor:not-allowed}.verification-list{display:grid;gap:8px;margin:16px 0}.verification-list>div{display:flex;align-items:center;gap:10px;border:1px solid #e9f0ed;border-radius:9px;padding:11px}.verification-list>div>b{font:16px var(--serif);color:#79a99c}.verification-list span{display:grid;gap:4px;flex:1}.verification-list strong{font-size:11px}.verification-list small{font-size:10px;color:#95a7a2}.verification-list i{font-style:normal;font-size:9px;color:#548b80;background:#eff7f3;border-radius:10px;padding:4px 7px}.chat-empty{padding:12px!important;max-width:100%!important;text-align:center;background:transparent!important}
.interaction-setting{border:1px solid #e7efeb;border-radius:10px;padding:0 11px 11px;margin:9px 0}.payer-options{padding:10px 0 0;border-top:1px solid #edf2ef}.payer-options>b{display:block;font-size:10px;color:#607f7c;margin-bottom:8px}.payer-options label{display:flex;align-items:flex-start;gap:7px;padding:7px 8px;border-radius:7px;font-size:10px;color:#52716f;line-height:1.5}.payer-options label:has(input:checked){background:#eff7f4}.payer-options input{accent-color:#287d75;margin:2px 0 0}.payer-options small{font-size:9px;color:#93a7a2}
@media(max-width:780px){.verify-button{font-size:10px;padding:6px 8px}.top-tools{gap:9px}}
.inbox-tabs{display:flex;gap:8px;margin:15px 0 10px}.inbox-tabs button{border:1px solid #e6efea;background:#fff;border-radius:8px;padding:7px 12px;font-size:10px;color:#879d97}.inbox-tabs button.selected{background:#eaf5f0;color:#3e8277;border-color:#dcece4}.message-list{display:grid;gap:8px}.message-row{display:flex;align-items:center;gap:10px;width:100%;border:1px solid #e7efeb;border-radius:10px;background:#fff;padding:11px;text-align:left}.message-row:hover{background:#f7fbf9}.message-row .face{flex:none}.message-summary{display:grid;gap:5px;min-width:0;flex:1}.message-summary strong{font-size:11px;color:#355a58}.message-summary small{font-size:10px;color:#94a7a2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-meta{display:grid;justify-items:end;gap:6px}.message-meta small{font-size:9px;color:#a0b0ac}.unread-count{min-width:16px;height:16px;border-radius:9px;background:#e59b80;color:white;font-size:10px;display:grid;place-items:center}.profile-hero{display:flex;align-items:center;gap:12px;margin:18px 0}.profile-avatar{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:#f8e6dc;font-size:32px}.profile-hero h2{margin:0 0 4px}.profile-fish{border:1px solid #e7efeb;border-radius:12px;padding:14px;background:#fbfdfc}.profile-fish-head{display:flex;align-items:center;gap:9px}.profile-fish-head>span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#eaf5f0;font-size:27px}.profile-fish-head>div{display:grid;gap:4px;flex:1}.profile-fish-head b{font-size:12px}.profile-fish-head small,.profile-fish>p{font-size:10px;color:#96a9a4}.profile-fish>p{line-height:1.6;margin:11px 0}.profile-privacy{font-size:10px;color:#638b80;background:#eff7f3;border-radius:7px;padding:8px}.target-card{width:100%;height:52px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fbfdfc;border-radius:9px;text-align:left;font-size:21px;padding:6px}.target-card span{display:grid;gap:3px}.target-card b{font-size:11px}.target-card small{font-size:9px;color:#9aabaa}.post-head{cursor:pointer}
@media(max-width:540px){.message-row{padding:9px}.message-summary small{max-width:220px}}

/* Increase text weight and use a sturdy, consistent Chinese sans-serif stack. */
body{font-family:"Microsoft YaHei UI","PingFang SC","Noto Sans SC","Microsoft YaHei",Arial,sans-serif;font-weight:500;-webkit-font-smoothing:auto}
h1,h2,h3,.intro h1,.hero h2,.section-title h2,.modal h2,.card-title h3{font-family:"Microsoft YaHei UI","PingFang SC","Noto Sans SC","Microsoft YaHei",Arial,sans-serif;font-weight:650;letter-spacing:0}
p,small,.muted,.caption,.crumb,.nav,.section-title p,.weather,.eyebrow,.person small,.profile small,.sync-card small,.hero p,.hero-copy>small,.card>p,.card-title small,.card-title a,.origin,.more{font-weight:500}
button,input,textarea,.body,.actions button,.tabs button,.search kbd{font-family:inherit;font-weight:550}
.post .body{font-weight:500}

.my-tabs{display:flex;gap:10px;border-bottom:1px solid #e8efec;margin:8px 0 20px}.my-tabs button{border:0;background:none;padding:12px 5px;color:#718888;font-size:15px;font-weight:600;position:relative}.my-tabs button.selected{color:#287d75}.my-tabs button.selected:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:3px;border-radius:3px;background:#4b9a8e}.my-panel{max-width:760px}.compute-balance{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;padding:18px 20px;border:1px solid #dcece4;border-radius:13px;background:#eaf5f0;color:#24574f;cursor:pointer}.compute-balance span{display:grid;gap:6px}.compute-balance b{font-size:17px}.compute-balance small{font-size:12px;color:#63847d}.compute-balance strong{font-size:20px;color:#287d75;white-space:nowrap}.my-fish-card{margin-top:16px;border:1px solid #e7efeb;border-radius:13px;padding:20px;background:#fff}.my-fish-card .profile-fish-head>span{width:48px;height:48px;font-size:33px}.my-fish-card .profile-fish-head b{font-size:17px}.my-fish-card .profile-fish-head small{font-size:12px}.my-fish-card>p{font-size:13px;color:#687f7d;margin:16px 0}.my-fish-actions{display:flex;gap:9px;flex-wrap:wrap}.my-fish-actions button{font-size:12px}.my-page .wallet-total{max-width:none}.my-page .subhead{font-size:15px}
.account-id-card{display:flex;align-items:center;gap:12px;max-width:760px;margin:-6px 0 18px;padding:12px 15px;border:1px solid #e7efeb;border-radius:10px;background:#fbfdfc}.account-id-card span{font-size:12px;font-weight:600;color:#64817c}.account-id-card b{font:700 17px/1.2 "Microsoft YaHei UI","PingFang SC",sans-serif;letter-spacing:1px;color:#24574f}.account-id-card small{margin-left:auto;font-size:11px;color:#829895}

[hidden]{display:none!important}.conversation-page{min-height:calc(100vh - 68px);display:flex;flex-direction:column}.conversation-heading{display:flex;align-items:flex-start;gap:18px;margin-bottom:20px}.conversation-heading h1{font:650 32px Inter,"PingFang SC","Microsoft YaHei",sans-serif;letter-spacing:-.5px;margin:8px 0;color:#20474b}.conversation-heading p{margin:0}.back-link{font-size:12px;padding:9px 12px;white-space:nowrap}.conversation-target{display:flex;align-items:center;gap:12px;margin-bottom:12px}.target-card{display:flex;align-items:center;gap:10px;min-width:230px;padding:11px 14px;border:1px solid var(--line);border-radius:10px;background:#fbfdfc;font-size:26px}.target-card span{display:grid;gap:4px}.target-card b{font-size:13px}.target-card small{font-size:10px;color:#96a9a5}.conversation-page>.notice{font-size:12px;padding:12px 14px}.conversation-page .chat{max-height:none;min-height:300px;flex:1;overflow:auto;padding:16px;margin:12px 0}.conversation-page .chat>small{font-size:11px}.conversation-page .chat p{font-size:15px;padding:11px 12px;max-width:min(78%,620px)}.conversation-page .chat p b{font-size:11px}.conversation-page .chat .chat-empty{max-width:100%;background:none}.conversation-compose{margin-top:auto}.conversation-compose .chat-compose{margin-top:10px}.conversation-compose .chat-compose input{font-size:15px;padding:12px}.conversation-compose .chat-compose .primary{font-size:13px;padding:0 20px}.conversation-footnote{display:block;text-align:center;margin-top:10px;color:#91a6a1;font-size:11px}.ranking-page{max-width:980px}.ranking-page .intro h1{font-weight:700;font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;letter-spacing:0}.ranking-page .intro p{font-size:13px}.ranking-page .caption{font-size:11px}.rank-list{display:grid;gap:12px}.rank-card{border:1px solid var(--line);border-radius:12px;padding:4px 15px 14px;background:#fff}.rank-card .rank-row{border:0;padding:12px 2px 8px}.rank-card .rank-num{font-size:21px}.rank-card .rank-name strong{font-size:15px}.rank-card .rank-name small,.rank-card .rank-value small{font-size:11px}.rank-card .rank-value b{font-size:15px}.rank-stats{display:flex;gap:12px;color:#718c86;font-size:11px;padding:0 0 10px 37px}.fish-discussion{border-top:1px solid #edf2ef;padding-top:10px}.fish-discussion h3{font-size:12px;margin:0 0 7px;color:#52736f}.discussion-list{display:grid;gap:5px}.discussion-item,.discussion-empty{font-size:11px;color:#718985;background:#f7faf8;border-radius:7px;padding:7px 9px;margin:0}.discussion-item b{color:#3f7970;margin-right:7px}.discussion-compose{display:flex;gap:7px;margin-top:8px}.discussion-compose input{flex:1;min-width:0;border:1px solid #e4ede9;border-radius:7px;padding:9px;font:12px inherit}.discussion-compose .primary{padding:0 13px;font-size:11px}@media(max-width:780px){.conversation-page{min-height:calc(100vh - 57px)}.conversation-page .chat{min-height:260px}.conversation-heading{gap:10px}.conversation-heading h1{font-size:26px}.conversation-target{align-items:stretch;flex-direction:column}.target-card{min-width:0}.ranking-page .rank-card{padding-left:11px;padding-right:11px}.rank-stats{padding-left:32px}.discussion-compose .primary{padding:0 10px}}

.message-page{min-height:calc(100vh - 68px);max-width:980px}.message-heading{position:relative;margin-bottom:16px;padding-right:180px}.message-heading h1{font:700 34px Inter,"PingFang SC","Microsoft YaHei",sans-serif;letter-spacing:0;margin:9px 0 7px}.message-heading .muted{font-size:12px}.message-back{position:absolute;right:0;bottom:2px;font-size:11px}.message-page .inbox-tabs{margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid var(--line)}.message-page .inbox-tabs button{font-size:12px;padding:9px 14px}.message-page .message-list{gap:9px}.message-page .message-row{padding:13px 14px;border-radius:11px}.message-page .message-summary strong{font-size:13px}.message-page .message-summary small{font-size:11px}.message-page .message-meta small{font-size:10px}.message-page .caption{text-align:left;margin:12px 0 0;font-size:10px}@media(max-width:780px){.message-page{min-height:calc(100vh - 57px)}.message-heading{padding-right:0;padding-bottom:42px}.message-back{right:auto;left:0;bottom:0}.message-page .message-row{padding:10px}.message-page .message-summary small{max-width:calc(100vw - 160px)}}

.my-fish-card .profile-fish-head>span.my-fish-avatar{width:54px;height:54px;flex:none;display:grid;place-items:center;border-radius:14px;background-color:#eaf5f0;background-position:center;background-size:cover;font-size:35px}.my-fish-card .profile-fish-head>span.my-fish-avatar.has-image{border:1px solid #e3eee8}.fish-image-setting{display:flex;align-items:center;gap:12px;padding:12px;margin:5px 0 14px;border:1px solid #e8efec;border-radius:10px;background:#fbfdfc}.fish-image-preview{width:58px;height:58px;flex:none;display:grid;place-items:center;overflow:hidden;border-radius:14px;background:#eaf5f0;color:#287d75;font-size:33px}.fish-image-preview img{width:100%;height:100%;object-fit:cover}.fish-image-copy{display:grid;gap:5px;flex:1;min-width:0}.fish-image-copy b{font-size:11px}.fish-image-copy small{font-size:9px;color:#93a7a2}.fish-image-actions{display:flex;gap:6px;align-items:center}.fish-image-pick{display:inline-flex;align-items:center;cursor:pointer}.fish-image-actions button,.fish-image-pick{font-size:10px;padding:7px 9px;white-space:nowrap}@media(max-width:540px){.fish-image-setting{align-items:flex-start;flex-wrap:wrap}.fish-image-copy{min-height:58px}.fish-image-actions{margin-left:70px}}

.post-fish-avatar{width:16px;height:16px;vertical-align:-4px;object-fit:cover;border-radius:50%;margin-right:2px}

.compute-page{max-width:980px}.compute-intro{align-items:center}.compute-intro h1{font-weight:700;font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;letter-spacing:0}.compute-intro>button{font-size:11px}.compute-balance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.compute-balance-card{display:grid;align-content:start;gap:12px;padding:18px;border:1px solid #e2ede8;border-radius:13px;background:#f4faf7}.compute-balance-card.official{background:#f7f6fb;border-color:#e9e7f1}.compute-card-heading{display:flex;align-items:center;gap:10px}.compute-card-heading>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#e7f3ee}.official .compute-card-heading>span{background:#eeedf7}.compute-card-heading div{display:grid;gap:4px}.compute-card-heading b{font-size:13px}.compute-card-heading small{font-size:10px;color:#8da29c}.compute-balance-card>strong{font-size:33px;color:#287d75}.compute-balance-card.official>strong{color:#7068a3}.compute-balance-card>strong small{font-size:13px}.compute-explain{font-size:10px;color:#8da29c}.compute-balance-card>.outline{justify-self:start;margin-top:3px;font-size:11px}.token-source-card{display:grid;gap:12px;margin-top:18px;padding:18px;border:1px solid #e6efeb;border-radius:13px;background:white}.token-source-card h2{font-size:18px;margin:7px 0 5px}.token-source-option{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #e8efec;border-radius:9px;cursor:pointer}.token-source-option:has(input:checked){border-color:#b9d9ce;background:#f4faf7}.token-source-option input{margin-top:2px;accent-color:#287d75}.token-source-option span{display:grid;gap:4px}.token-source-option b{font-size:12px}.token-source-option small{font-size:10px;color:#879c97}.token-source-option small strong{color:#7068a3}.token-source-card>.primary{justify-self:start;font-size:11px}.compute-page+.conversation-page{margin-top:0}.my-tabs button{white-space:nowrap}@media(max-width:600px){.compute-balance-grid{grid-template-columns:1fr}.compute-intro{align-items:flex-start;gap:10px;flex-direction:column}.compute-intro>button{align-self:flex-start}.token-source-card{padding:13px}}

.exchange-closed:disabled{opacity:.62;cursor:not-allowed}

@media(min-width:781px){body{zoom:1}}

.user-privacy-card{max-width:760px;margin:-8px 0 16px;padding:0 14px;border:1px solid #e7efeb;border-radius:10px;background:#fbfdfc}.user-privacy-card .switch-row{border-top:0;padding:12px 0}.user-privacy-card .switch-row b{font-size:13px}.user-privacy-card .switch-row small{font-size:11px}

.visitor-memory-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-3px 0 8px;padding:10px 12px;border:1px solid #edf2ef;border-radius:8px;background:#fbfdfc}.visitor-memory-tools>div{display:grid;gap:5px}.visitor-memory-tools b{font-size:11px;color:#52736f}.visitor-memory-tools small{font-size:10px;color:#95a8a4}.visitor-memory-tools button{font-size:10px;padding:7px 10px;white-space:nowrap}@media(max-width:540px){.visitor-memory-tools{align-items:flex-start;flex-direction:column}.visitor-memory-tools button{align-self:flex-end}}

.rank-kind-tabs{display:flex;gap:8px;margin:12px 0 4px;border-bottom:1px solid var(--line)}.rank-kind-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;padding:10px 12px;color:#718888;font-size:13px;font-weight:650}.rank-kind-tabs button.selected{color:var(--teal);border-bottom-color:#4b9a8e}.feeder-rank-card .rank-value b{white-space:nowrap}.feeder-rank-card .rank-row{padding-top:13px;padding-bottom:13px}@media(max-width:540px){.rank-kind-tabs button{flex:1}}

.announcement-modal{max-width:620px}.announcement-modal>h2{margin-bottom:7px}.announcement-toolbar{display:flex;align-items:center;justify-content:space-between;margin:15px 0 10px;padding-bottom:9px;border-bottom:1px solid var(--line);font-size:11px;color:#66837d}.announcement-toolbar button{font-size:10px;padding:7px 10px}.announcement-toolbar button:disabled{opacity:.5;cursor:not-allowed}.announcement-list{display:grid;gap:9px;max-height:48vh;overflow:auto}.announcement-item{padding:13px 14px;border:1px solid #e5efea;border-radius:10px;background:#fbfdfc}.announcement-item.is-unread{background:#f1f8f5;border-color:#dcece5}.announcement-item-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.announcement-item-head b{font-size:13px;color:var(--ink)}.announcement-item-head span{flex:none;padding:3px 7px;border-radius:10px;background:#e3f1eb;color:#4b897c;font-size:10px}.announcement-item small{display:block;margin-top:7px;color:#91a6a0;font-size:10px}.announcement-item p{margin:8px 0 0;color:#617e78;font-size:12px;line-height:1.65}.announcement-action{margin-top:10px;padding:7px 11px;border:1px solid #b9d9cf;border-radius:7px;background:#fff;color:#287f75;font-size:11px;font-weight:700;cursor:pointer}.announcement-action:hover{background:#e8f4ef}.announcement-action:focus-visible{outline:2px solid #7ab9aa;outline-offset:2px}.announcement-modal>.caption{text-align:left;margin-top:12px;font-size:10px}

.home-intro-copy{min-width:0;flex:1}.home-meta-row{display:flex;align-items:center;gap:14px;min-width:0;margin-bottom:8px}.home-local-info{display:flex;align-items:center;gap:10px;flex:none;color:#82a49d;font-size:11px;white-space:nowrap}.home-local-info b{color:#66867f;font-weight:700}.home-local-info button{border:0;padding:0;background:transparent;color:#66867f;font:inherit;cursor:pointer}.home-local-info button:hover{text-decoration:underline}.announcement-ticker{display:flex;align-items:center;gap:8px;min-width:0;max-width:520px;height:27px;padding:0 9px;border:1px solid #e7efeb;border-radius:7px;background:#f8fbf9;color:#708a84;cursor:pointer;overflow:hidden}.announcement-tag{flex:none;font-size:10px;font-weight:700;color:#43877a}.announcement-marquee{display:block;min-width:0;overflow:hidden;white-space:nowrap;font-size:10px}.announcement-marquee>span{display:flex;width:max-content;animation:announcement-marquee 25s linear infinite}.announcement-ticker-segment{display:block;white-space:nowrap;padding-right:20px}.announcement-marquee:hover>span{animation-play-state:paused}@keyframes announcement-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}.announcement-ticker:focus-visible,.home-local-info button:focus-visible{outline:2px solid #7ab9aa;outline-offset:2px}@media(max-width:780px){.home-meta-row{align-items:flex-start;flex-direction:column;gap:7px}.announcement-ticker{width:100%;max-width:100%}.home-intro-copy{width:100%}}

.weather-credit{font-size:9px;color:#8ba39c;white-space:nowrap}.weather-credit a{color:inherit;text-decoration:none}.weather-credit a:hover{text-decoration:underline}.weather-credit[hidden]{display:none}

@media(prefers-reduced-motion:reduce){.announcement-marquee>span{animation:none}}

.encounter-result{margin-top:12px;padding:12px;border:1px solid #d7ebe3;border-radius:10px;background:#ffffffc9}.encounter-result-title{display:flex;align-items:center;gap:9px;margin-bottom:10px}.encounter-fish-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e7f5ef;font-size:26px}.encounter-result-title>span:last-child{display:grid;gap:3px}.encounter-result-title b{font-size:13px;color:var(--ink)}.encounter-result-title small{font-size:10px;color:#78928c}.encounter-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:10px}.encounter-result-grid>span{display:grid;gap:5px;padding:8px;border-radius:7px;background:#f3f8f6;color:#78928c;font-size:10px}.encounter-result-grid b{color:#315f59;font-size:11px}.encounter-result>.outline{width:100%;font-size:11px}@media(max-width:540px){.encounter-result-grid{grid-template-columns:1fr 1fr}.encounter-result-grid>span:first-child{grid-column:1/-1}}


.encounter-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.encounter-filters label{display:grid;gap:5px;color:#527872;font-size:13px;font-weight:650}.encounter-filters select{width:100%;min-width:0;padding:8px 9px;border:1px solid #d7e9e2;border-radius:7px;background:#fff;color:#315f59;font:inherit}.interaction-memory-list{display:grid;gap:10px;margin-top:14px}.memory-panel-heading h2{margin:0 0 7px;color:var(--ink);font-size:24px}.interaction-memory-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px;border:1px solid var(--line);border-radius:10px;background:#fff}.interaction-memory-card>div{min-width:0}.interaction-memory-card b{display:block;color:var(--ink);font-size:16px}.interaction-memory-card small{display:block;margin-top:5px;color:#899f99;font-size:13px}.interaction-memory-card p{margin:8px 0 0;color:#617e78;font-size:15px;line-height:1.6}.interaction-memory-card button{flex:none;font-size:13px}.memory-empty{padding:20px;border:1px dashed #cbded6;border-radius:10px;color:#829993;font-size:15px}.memory-manage-link{margin-top:9px;font-size:13px}
@media(max-width:540px){.encounter-filters{grid-template-columns:1fr 1fr}.interaction-memory-card{align-items:flex-start;flex-direction:column}.interaction-memory-card button{width:100%}}

.search-wrap{position:relative;flex:none;width:230px}.search-wrap .search{width:100%}.search-trends{position:absolute;z-index:10;top:calc(100% + 8px);right:0;width:min(390px,calc(100vw - 32px));padding:10px;border:1px solid #e2ece8;border-radius:12px;background:#fff;box-shadow:0 16px 38px #153e3b1c}.search-trends[hidden]{display:none}.search-trends-heading{display:flex;align-items:center;justify-content:space-between;padding:5px 7px 10px;border-bottom:1px solid #edf2ef}.search-trends-heading b{font-size:15px;color:var(--ink)}.search-trends-heading small{font-size:11px;color:#91a6a0}.search-trends>button{width:100%;display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;padding:10px 7px;border:0;border-bottom:1px solid #f0f4f2;background:#fff;text-align:left;cursor:pointer}.search-trends>button:last-child{border-bottom:0}.search-trends>button:hover,.search-trends>button:focus-visible{background:#f2f8f5;outline:none}.trend-rank{color:#82aaa0;font-size:13px;font-weight:750}.search-trends>button strong{color:#365e5e;font-size:13px;font-weight:650}.search-trends>button small{color:#90a59f;font-size:11px;white-space:nowrap}@media(max-width:780px){.search-wrap{display:none}}

/* Brand plaque and slogan feature */
.brand{min-height:94px;padding:16px 14px;margin:0 0 32px;background:#287d75;border:1px solid #287d75;border-radius:14px;color:#fff;gap:12px;box-shadow:0 9px 24px #226f681c}
.brand .brand-fish{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:13px;background:#ffffff22;font-size:27px}
.brand .brand-copy{display:grid;gap:5px;color:#fff;line-height:1.1}
.brand .brand-copy small{display:block;margin:0;color:#d4eee7;font-size:12px;font-weight:600;letter-spacing:.08em;white-space:nowrap}
.slogan-panel{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 50% 125%,#acd9cd 0 22%,transparent 22.4%),linear-gradient(135deg,#e5f4ee 0%,#d9eee7 52%,#cde9df 100%)}
.slogan-panel:before,.slogan-panel:after{content:"";position:absolute;z-index:-1;border:1px solid #77b9aa55;border-radius:50%;pointer-events:none}
.slogan-panel:before{width:440px;height:170px;right:-95px;top:-115px;transform:rotate(-14deg);box-shadow:0 0 0 13px #ffffff17,0 0 0 29px #ffffff12}
.slogan-panel:after{width:310px;height:120px;left:-100px;bottom:-92px;transform:rotate(12deg);box-shadow:0 0 0 12px #ffffff20}
.slogan-visual{width:100%;padding:30px 26px;text-align:center}
.slogan-kicker{display:inline-block;margin-bottom:18px;color:#4f9588;font-size:12px;font-weight:700;letter-spacing:.22em}
.slogan-visual p{display:block;width:max-content;max-width:100%;margin:0 auto;color:#205c59;font:750 clamp(16px,1.8vw,28px)/1.5 "PingFang SC","Microsoft YaHei",sans-serif;letter-spacing:.015em;white-space:nowrap;text-shadow:0 1px 0 #ffffffb8}
.slogan-visual i{display:block;width:70px;height:3px;margin:19px auto 0;border-radius:9px;background:linear-gradient(90deg,#75bba7,#d6a87f,#75bba7)}
@media(max-width:780px){.brand{min-height:70px;margin-bottom:22px}.slogan-visual{padding:22px 14px}.slogan-visual p{font-size:clamp(16px,3.5vw,24px)}}
@media(max-width:420px){.slogan-visual p{font-size:15px;letter-spacing:-.025em}.slogan-kicker{font-size:10px;margin-bottom:12px}}

/* Brand copy and two-line slogan lockup */
.brand{justify-content:center}
.brand .brand-copy{display:flex;align-items:baseline;justify-content:center;gap:6px;white-space:nowrap;font-size:16px;font-weight:800;letter-spacing:.015em}
.brand .brand-copy small{display:inline;margin:0;color:#d4eee7;font-size:11px;font-weight:700;letter-spacing:0}
.slogan-visual{position:relative;z-index:1;width:100%;padding:30px 26px;text-align:center}
.slogan-kicker{display:inline-block;margin-bottom:18px;color:#4f9588;font-size:12px;font-weight:700;letter-spacing:.22em}
.slogan-visual p{display:block;width:100%;max-width:100%;margin:0 auto;color:#205c59;font:800 clamp(19px,2.3vw,34px)/1.45 "PingFang SC","Microsoft YaHei",sans-serif;letter-spacing:.015em;text-shadow:0 1px 0 #ffffffb8}
.slogan-visual p span{display:block;white-space:nowrap;font-weight:800}
.slogan-visual i{display:block;width:70px;height:3px;margin:19px auto 0;border-radius:9px;background:linear-gradient(90deg,#75bba7,#d6a87f,#75bba7)}
@media(max-width:780px){.brand .brand-copy{font-size:15px}.brand .brand-copy small{font-size:10px}.slogan-visual{padding:22px 14px}.slogan-visual p{font-size:clamp(17px,4vw,27px)}}
@media(max-width:420px){.slogan-visual p{font-size:clamp(16px,5vw,22px)}.slogan-kicker{font-size:10px;margin-bottom:12px}}

/* Center the brand lockup and refine the fish mark */
.brand{align-items:center}
.brand .brand-copy{align-items:center}
.fish-nav-icon svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.fish-nav-icon .fish-eye{fill:currentColor;stroke:none}
@media(max-width:540px){.brand{align-items:center}}

/* Plain wordmark on the sidebar */
.brand{background:transparent;border-color:transparent;box-shadow:none;color:#111}
.brand .brand-copy{color:#111}
.brand .brand-copy small{color:#111}

/* Media attachments in daily sharing */
.compose-media{margin-top:10px}
.media-pick{border:1px solid #dcebe6;border-radius:8px;background:#f8fcfa;color:#327d74;padding:9px 12px;font:inherit;font-size:12px;font-weight:650;cursor:pointer}
.media-hint{margin-left:9px;color:#8ca29d;font-size:10px}
.compose-media-preview{display:flex;flex-wrap:wrap;gap:9px;margin-top:10px}
.compose-media-item{position:relative;width:92px;border:1px solid #e3eeea;border-radius:9px;padding:5px;background:#fbfdfc}
.compose-media-item img,.compose-media-item video{display:block;width:80px;height:64px;object-fit:cover;border-radius:6px;background:#eaf3f0}
.compose-media-item>span{display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#728985;font-size:9px}
.compose-media-item>button{position:absolute;right:1px;top:1px;width:21px;height:21px;border:0;border-radius:50%;background:#173f3dcc;color:white;font-size:16px;line-height:1;cursor:pointer}
.moderation-note{margin-top:10px;padding:9px 10px;border-radius:8px;background:#f1f7f4;color:#688780;font-size:10px;line-height:1.6}
.post-media-grid{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 11px 41px}
.post-media-item{overflow:hidden;max-width:100%;border:1px solid #e6efeb;border-radius:9px;background:#f4f8f6}
.post-media-item img,.post-media-item video{display:block;max-width:min(100%,480px);max-height:360px;object-fit:contain;background:#edf4f1}
@media(max-width:540px){.post-media-grid{margin-left:0}.post-media-item img,.post-media-item video{max-width:100%;max-height:300px}.media-hint{display:block;margin:6px 0 0}}

/* Mirror the chat: personal messages on the right, fish partner on the left. */
.conversation-target{justify-content:space-between}
.conversation-target .owner-note{order:1;margin-right:auto}
.conversation-target .target-card{order:2;width:auto;min-width:260px;margin-left:auto}
.conversation-page .chat .human-message{margin-left:auto!important;margin-right:0!important}
.conversation-page .chat .reply{margin-left:0!important;margin-right:auto!important}
.memory-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.memory-back{flex:none;white-space:nowrap}
@media(max-width:540px){.conversation-target .target-card{min-width:0}.memory-panel-heading{flex-direction:column}.memory-back{align-self:flex-start}}

/* Selectable rice gifts */
.chat-footer{position:relative;gap:0}
.feed-menu{position:absolute;left:0;bottom:calc(100% + 10px);z-index:8;width:min(560px,calc(100vw - 48px));padding:14px;border:1px solid #dcebe5;border-radius:13px;background:#fff;box-shadow:0 14px 40px #193d4324}
.feed-menu[hidden]{display:none}
.feed-menu-title{display:block;margin:0 0 10px;color:#315f59;font-size:13px}
.feed-menu-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.feed-option{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:9px 5px;border:1px solid #e2eee9;border-radius:10px;background:#f8fcfa;color:#315d58;cursor:pointer;transition:transform .15s,border-color .15s,background .15s}
.feed-option:hover{transform:translateY(-2px);border-color:#9bc9ba;background:#eff8f4}
.feed-option strong{font-size:12px;white-space:nowrap}
.feed-rice-art{width:100%;min-height:38px;display:flex;align-items:center;justify-content:center;align-content:center;flex-wrap:wrap;gap:0;padding:4px;border-radius:7px;background:#edf7f2}
.feed-option[data-feed-amount="10"] .feed-rice-art{background:#e8f4ed}
.feed-option[data-feed-amount="100"] .feed-rice-art{background:#dff0e7}
.feed-option[data-feed-amount="999"] .feed-rice-art{background:#d5ecdf}
.feed-rice-art i{font-style:normal;font-size:19px;line-height:20px;margin:0 -1px;filter:drop-shadow(0 1px 1px #315d5822)}
@media(max-width:480px){.feed-menu{width:calc(100vw - 36px);padding:10px}.feed-menu-options{gap:5px}.feed-option{padding:8px 2px}.feed-rice-art i{font-size:16px;line-height:18px}.feed-option strong{font-size:10px}}

/* Social profiles and WeChat-style desktop conversations */
.social-tabs{display:flex;align-items:center;gap:8px;border-bottom:1px solid #e3ece8;margin:4px 0 14px;padding:0 2px}
.social-tabs button{display:flex;align-items:center;gap:7px;border:0;border-bottom:3px solid transparent;background:transparent;padding:12px 16px 10px;color:#78918b;font-size:14px;font-weight:650;cursor:pointer}
.social-tabs button.selected{color:#287f76;border-bottom-color:#43a293}
.social-tabs button span{min-width:20px;height:20px;padding:0 6px;display:grid;place-items:center;border-radius:12px;background:#e9f4f0;font-size:11px}
.own-profile-panel{display:flex;align-items:center;gap:16px;padding:18px 20px;margin:0 0 16px;border:1px solid #e2ece7;border-radius:14px;background:linear-gradient(120deg,#f6fbf8,#edf7f3)}
.own-profile-avatar{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:#f8dfd2;color:#95654c;font-size:25px;font-weight:750}
.own-profile-main{display:grid;gap:5px;flex:1}.own-profile-main>b{font-size:17px;color:#21474a}.own-profile-main small,.own-profile-main span{font-size:12px;color:#78918b}
.profile-social-stats{font-size:12px;color:#6b8981;margin:-5px 0 10px 60px}.profile-follow-button{margin-top:6px}
.post-author-link{cursor:pointer;border:0;background:transparent;color:inherit;text-align:left}.post-author-link:hover .person b{color:#27857b;text-decoration:underline}
.conversation-page.content{display:grid;grid-template-columns:270px minmax(0,1fr);grid-template-rows:auto auto auto auto minmax(0,1fr) auto;gap:0 22px;width:100%;max-width:none;min-height:calc(100vh - 68px);padding:0 24px 18px 0;overflow:hidden}
.chat-thread-panel{grid-column:1;grid-row:1 / -1;display:flex;flex-direction:column;min-height:calc(100vh - 68px);background:#f5f8f7;border-right:1px solid #e3ece8;padding:20px 12px 12px;overflow:hidden}
.chat-thread-title{display:flex;align-items:baseline;justify-content:space-between;padding:0 8px 14px;color:#24494b}.chat-thread-title b{font-size:20px}.chat-thread-title small{font-size:11px;color:#91a49f}
.chat-thread-search{height:38px;border:1px solid #e4ece8;border-radius:9px;background:#fff;padding:0 11px;font:13px inherit;outline:none}.chat-thread-search:focus{border-color:#7eb8aa}
.chat-thread-list{overflow:auto;flex:1;padding-top:8px}.chat-thread-group{padding:12px 8px 6px;color:#91a49f;font-size:11px;font-weight:700}
.chat-thread-row{display:flex;align-items:center;gap:10px;width:100%;min-width:0;padding:10px 8px;border:0;border-radius:9px;background:transparent;text-align:left;cursor:pointer}.chat-thread-row:hover{background:#edf4f1}.chat-thread-row.active{background:#dff0ea}.chat-thread-avatar{width:40px;height:40px;flex:none;border-radius:11px;display:grid;place-items:center;background:#e7f1ed;font-size:20px}.chat-thread-avatar.lav{background:#eeeaf7}.chat-thread-avatar.blue{background:#e4f0f4}.chat-thread-avatar.peach{background:#f9e6dd}.chat-thread-avatar.sage{background:#e7f1e7}.chat-thread-meta{display:grid;gap:5px;min-width:0;flex:1}.chat-thread-meta b{font-size:13px;color:#264e4e}.chat-thread-meta small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:#8ba09a}.chat-thread-row time{align-self:flex-start;font-size:10px;color:#9aaba6}.chat-search-empty{padding:12px 8px;font-size:12px}
.conversation-page.content>.conversation-heading,.conversation-page.content>.conversation-target,.conversation-page.content>.notice,.conversation-page.content>.memory-manage-link,.conversation-page.content>.conversation-log,.conversation-page.content>.conversation-compose{grid-column:2;min-width:0}
.conversation-page.content>.conversation-heading{grid-row:1;align-items:center;margin:0;padding:14px 4px 12px;border-bottom:1px solid #e9efec;gap:14px}.conversation-page.content>.conversation-heading>.eyebrow{margin:0;font-size:16px;color:#315f5b}
.conversation-page.content>.conversation-target{grid-row:2;justify-content:flex-start;gap:12px;margin:12px 0}.conversation-target .target-card{order:0;width:auto;min-width:220px;margin:0;padding:8px 12px}.target-fish-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#e6f4ee;font-size:26px}.conversation-target .owner-profile-link{display:flex;align-items:center;gap:7px;border:1px solid #e2ece7;border-radius:10px;background:#fff;padding:6px 10px;color:#568078;cursor:pointer}.owner-profile-avatar{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#f8dfd2;color:#906046;font-weight:700;font-size:14px}.owner-profile-link small{font-size:11px}.conversation-target .owner-note{order:3;margin-left:auto;margin-right:0}
.conversation-page.content>.notice{grid-row:3;margin:0;padding:10px 13px;font-size:12px}.conversation-page.content>.memory-manage-link{grid-row:4;justify-self:start;margin:9px 0 0;padding:8px 12px;font-size:12px}
.conversation-page.content>.conversation-log{grid-row:5;min-height:0;max-height:none;margin:12px 0 0;padding:16px 18px;display:flex;flex-direction:column;gap:12px;overflow:auto;background:#f5f8f7}
.chat-slogan{align-self:center;padding:6px 12px;border-radius:20px;background:#e9f1ee;color:#7f9992;font-size:11px;letter-spacing:.04em}.chat-message-row{display:flex;align-items:flex-start;gap:9px;max-width:min(82%,760px)}.chat-message-row.mine{align-self:flex-end;flex-direction:row-reverse}.chat-message-row.theirs{align-self:flex-start}.chat-message-avatar{width:38px;height:38px;flex:none;border-radius:10px;display:grid;place-items:center;background:#e8f0ed;color:#416f68;font-size:18px;font-weight:700}.chat-message-row.mine .chat-message-avatar{background:#f7dfd1;color:#95664c}.chat-bubble{min-width:0;padding:7px 10px;border-radius:16px;background:#fff;color:#385f62;box-shadow:0 1px 2px #284c4b0a}.chat-message-row.mine .chat-bubble{border-radius:16px 4px 16px 16px;background:#dff3e8}.chat-bubble>b{display:block;margin-bottom:5px;font-size:11px;color:#78958e}.chat-bubble>p{margin:0;max-width:none;padding:0;background:transparent;font-size:14px;line-height:1.65;color:#385c5d;overflow-wrap:anywhere}
.conversation-page.content>.conversation-compose{grid-row:6;padding:12px 0 0}.conversation-compose .chat-footer{margin-bottom:0}.conversation-compose .chat-compose input{border-radius:10px}.chat-empty{align-self:center;color:#91a49f!important}
.userChatPage .chat-message-avatar{font-size:16px}
@media(max-width:850px){.conversation-page.content{grid-template-columns:220px minmax(0,1fr);gap:0 14px}.chat-thread-panel{padding-left:8px;padding-right:8px}.conversation-page.content>.conversation-target{flex-wrap:wrap}.conversation-target .owner-note{margin-left:0}}
@media(max-width:640px){.conversation-page.content{display:flex;flex-direction:column;padding:0 12px 16px;overflow:visible}.chat-thread-panel{order:0;min-height:0;max-height:245px;border:1px solid #e3ece8;border-radius:12px;margin:10px 0;padding:10px}.chat-thread-title{padding-bottom:8px}.chat-thread-title b{font-size:16px}.chat-thread-search{height:34px}.chat-thread-list{display:flex;overflow:auto;gap:6px;flex:none}.chat-thread-group{display:none}.chat-thread-row{min-width:170px;width:auto}.conversation-page.content>.conversation-heading,.conversation-page.content>.conversation-target,.conversation-page.content>.notice,.conversation-page.content>.memory-manage-link,.conversation-page.content>.conversation-log,.conversation-page.content>.conversation-compose{width:100%}.conversation-page.content>.conversation-heading{padding:10px 2px}.conversation-page.content>.conversation-target{align-items:flex-start}.conversation-target .target-card{min-width:0}.conversation-page.content>.conversation-log{min-height:300px;padding:12px}.chat-message-row{max-width:96%}.chat-message-avatar{width:32px;height:32px}.chat-bubble>p{font-size:13px}.social-tabs button{padding:10px 9px;font-size:12px}.own-profile-panel{padding:13px}.own-profile-avatar{width:46px;height:46px;border-radius:14px}}

/* Compact WeChat-inspired app rail; the product slogan lives in the top bar. */
.shell{grid-template-columns:76px minmax(0,1fr);max-width:none}
.sidebar{align-items:center;padding:18px 8px 14px;gap:0;background:#f1f3f4;border-right:1px solid #e1e5e7}
.brand{width:48px;min-height:48px;height:48px;justify-content:center;padding:0;margin:0 0 22px;border:0;border-radius:14px;background:transparent;box-shadow:none;color:#277d75}
.brand-mark{position:relative;display:block;flex:none;width:42px;height:42px;overflow:hidden;border-radius:13px;background:#05080d}.brand-mark img{position:absolute;width:150%;height:150%;max-width:none;left:-25%;top:-25%;object-fit:cover}
.brand-copy,.nav-label{display:none!important}
.sidebar nav{width:100%;display:flex;flex-direction:column;align-items:center;gap:8px}
.sidebar .nav{position:relative;width:50px;height:50px;justify-content:center;gap:0;padding:0;border-radius:13px;color:#6e8583;font-size:0}
.sidebar .nav:hover{background:#e7ecea;color:#277d75}
.sidebar .nav.active{background:#dcece6;color:#277d75}
.sidebar .nav-icon{width:25px;height:25px}
.sidebar .nav-icon svg{width:23px;height:23px}
.sidebar .nav-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.sidebar .nav i{position:absolute;right:-4px;top:0;margin:0;min-width:17px;height:17px;display:grid;place-items:center;padding:0 4px;font-size:10px}
.sidebar-bottom{width:100%;display:flex;justify-content:center}
.sidebar-bottom .profile{justify-content:center}
.sidebar-bottom .profile>span,.sidebar-bottom .profile>button{display:none}
.sidebar-bottom .user-initial{width:38px;height:38px;font-size:15px}
.topbar{justify-content:flex-start;gap:24px;padding-left:clamp(20px,3vw,42px);padding-right:clamp(20px,3vw,42px)}
.topbar-brand{display:flex;align-items:baseline;gap:7px;white-space:nowrap;text-decoration:none;color:#1c2021;font-size:17px;font-weight:750;letter-spacing:.01em}
.topbar-brand small{font-size:13px;font-weight:650;color:#3d5552}
.top-tools{margin-left:auto}
@media(max-width:1000px){.shell{grid-template-columns:76px minmax(0,1fr)}.topbar{padding-left:20px;padding-right:20px}}
@media(max-width:780px){.shell{display:block}.sidebar{display:none}.topbar{gap:8px}.mobile-brand{font-size:15px}.topbar-brand{display:none}}

/* Personal profile editing */
.avatar-image{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}.profile-edit-modal{width:min(560px,calc(100vw - 28px));}.profile-edit-modal>label{display:grid;gap:7px;margin-top:14px;color:#547772;font-size:13px;font-weight:650}.profile-edit-modal input:not([type=file]),.profile-edit-modal textarea{width:100%;box-sizing:border-box;border:1px solid #dceae5;border-radius:10px;padding:11px 12px;background:#fbfdfc;color:#234d4c;font:inherit;outline:none}.profile-edit-modal input:focus,.profile-edit-modal textarea:focus{border-color:#71b7a6;box-shadow:0 0 0 3px #71b7a61c}.profile-edit-modal textarea{min-height:105px;resize:vertical}.profile-edit-avatar-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0}.profile-edit-avatar-row>div{display:grid;gap:4px;flex:1;min-width:100px}.profile-edit-avatar-row small{font-size:11px;color:#8ba39f}.profile-edit-avatar{width:54px;height:54px;border-radius:16px;background:#f8dfd1;color:#92664e;display:grid;place-items:center;overflow:hidden;font-size:22px;font-weight:700}.profile-edit-modal .count{margin-top:6px}

/* Left brand mark opens account actions */
.brand{position:relative}.brand-mark{padding:0;border:0;cursor:pointer}.brand-mark:focus-visible{outline:3px solid #61b9dc;outline-offset:3px}.account-menu{position:absolute;z-index:8;left:4px;top:49px;width:190px;padding:6px;border:1px solid #e0ebe7;border-radius:12px;background:#fff;box-shadow:0 12px 32px #153d3b1c}.account-menu[hidden]{display:none}.account-menu button{display:block;width:100%;padding:11px 12px;border:0;border-radius:8px;background:transparent;text-align:left;color:#365f5b;font-size:13px;cursor:pointer}.account-menu button:hover{background:#eff7f4}.uid-modal{max-width:460px}.compute-panel{max-width:980px}.compute-panel .compute-intro{margin-top:10px}.compute-panel .compute-intro h1{font-family:var(--serif);font-size:30px}

/* Account popover shows UID and privacy control directly */
.account-menu{width:228px}.account-uid{display:grid;gap:4px;padding:10px 12px;border-top:1px solid #edf2ef;color:#66847e}.account-uid small,.account-privacy small{font-size:10px;color:#93a7a2}.account-uid b{font-size:17px;letter-spacing:1.5px;color:#24574f}.account-privacy{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-top:1px solid #edf2ef;cursor:pointer}.account-privacy span{display:grid;gap:4px}.account-privacy b{font-size:12px;color:#365f5b}.account-privacy input{appearance:none;position:relative;width:36px;height:20px;border-radius:20px;background:#cbd9d5;cursor:pointer;transition:background .18s}.account-privacy input:before{content:"";position:absolute;width:16px;height:16px;left:2px;top:2px;border-radius:50%;background:white;box-shadow:0 1px 3px #0002;transition:transform .18s}.account-privacy input:checked{background:#278579}.account-privacy input:checked:before{transform:translateX(16px)}.settings-trigger{border:0;padding:0;cursor:pointer;font-family:inherit}.app-settings-modal{width:min(560px,calc(100vw - 28px))}.api-config-section{display:grid;gap:12px;margin-top:15px}.api-config-section h3{margin:0 0 5px;font-size:17px;color:#285751}.api-config-section>label{display:grid;gap:6px;font-size:12px;font-weight:650;color:#527772}.api-config-section input{width:100%;box-sizing:border-box;border:1px solid #dceae5;border-radius:9px;padding:11px 12px;color:#254c49;background:#fbfdfc;font:inherit}.api-config-section input:focus{outline:2px solid #94cec0}.app-settings-modal .notice{font-size:12px;line-height:1.6}
.sidebar-bottom .profile>button.settings-trigger{display:grid;place-items:center;flex:none}

/* Keep the signed-in user's avatar in the account control; use the brand mark for settings */
.brand-mark{padding:0;border:0;cursor:pointer;overflow:hidden;border-radius:50%;background:#f6d8c7;color:#925f48}.account-avatar-face{width:42px;height:42px;border-radius:50%;overflow:hidden;font-size:15px}.settings-trigger{position:relative;display:grid;place-items:center;flex:none;width:auto;height:auto;gap:4px;overflow:visible;border:0;padding:0;background:none;cursor:pointer}.settings-logo-mark{position:relative;display:block;width:38px;height:38px;overflow:hidden;border-radius:12px;background:#05080d}.settings-logo-mark img{position:absolute;width:150%;height:150%;left:-25%;top:-25%;max-width:none;object-fit:cover}.settings-trigger small{font-size:10px;line-height:1;color:#78918c}
.brand .account-avatar-face{font-size:15px}

/* Global interface copy and feedback sections in Settings */
.app-settings-modal{max-height:88vh;overflow-y:auto}.interface-copy-section,.feedback-section{display:grid;gap:12px;margin-top:24px;padding-top:18px;border-top:1px solid #e7efec}.interface-copy-section h3,.feedback-section h3{margin:0 0 5px;font-size:17px;color:#285751}.interface-copy-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.interface-copy-fields label,.feedback-section label{display:grid;gap:6px;color:#527772;font-size:11px;font-weight:650}.interface-copy-fields input,.feedback-section select,.feedback-section textarea{width:100%;box-sizing:border-box;border:1px solid #dceae5;border-radius:8px;padding:9px 10px;background:#fbfdfc;color:#254c49;font:inherit}.feedback-section textarea{min-height:92px;resize:vertical}.interface-copy-actions{display:flex;gap:8px;flex-wrap:wrap}.interface-copy-actions button{font-size:12px}.account-logout{display:block;width:100%;margin-top:4px;padding:10px 12px;border:0;border-top:1px solid #edf2ef;border-radius:0 0 8px 8px;background:transparent;text-align:left;color:#aa6258;font-size:12px;cursor:pointer}.account-logout:hover{background:#fff5f3}@media(max-width:560px){.interface-copy-fields{grid-template-columns:1fr}}

/* Self-feeding is available from the owner's fish profile. */
.own-fish-modal{width:min(560px,calc(100vw - 32px))}.own-fish-modal-avatar{display:grid;place-items:center;background-color:#e8f4ef}.own-fish-modal-avatar.has-image{background-size:cover;background-position:center;color:transparent}.own-fish-description{margin:18px 0}.own-feed-panel{display:grid;gap:12px;border:1px solid #e2eee9;border-radius:12px;background:#f8fcfa;padding:14px}.own-feed-panel>div:first-child{display:grid;gap:5px}.own-feed-panel>div:first-child b{color:#315f59;font-size:14px}.own-feed-panel>div:first-child small,.self-feed-note{color:#8ba09a;font-size:11px}.own-feed-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.own-feed-options .feed-option{padding:9px 5px}.own-feed-options [data-self-feed-amount="10"] .feed-rice-art{background:#e8f4ed}.own-feed-options [data-self-feed-amount="100"] .feed-rice-art{background:#dff0e7}.own-feed-options [data-self-feed-amount="999"] .feed-rice-art{background:#d5ecdf}@media(max-width:480px){.own-feed-options{gap:5px}.own-feed-options .feed-option{padding:8px 2px}.own-feed-options .feed-option strong{font-size:10px}}

.profile-modal{width:min(760px,calc(100vw - 24px));padding:26px 30px}.profile-top-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:14px 0 18px}.profile-top-row .profile-hero{margin:0;min-width:250px}.profile-social-stats{font-size:11px;color:#6b8981;margin:5px 0 0}.profile-actions{display:flex;justify-content:flex-end;align-items:center;gap:7px;flex-wrap:wrap}.profile-actions .outline{font-size:11px;padding:9px 11px;white-space:nowrap}.profile-actions small{font-size:10px}.profile-actions button:disabled{opacity:.48;cursor:not-allowed}.danger-outline{color:#b26960;border-color:#f0d6d0}.danger-outline.is-blocked{background:#fff0ed;color:#a34e44;border-color:#e5b5ab}.profile-blocked-notice{margin:0 0 12px;color:#a34e44;background:#fff2ef}.profile-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.profile-fish-subtitle{margin:8px 0 0}.profile-chat-button{font-size:11px;white-space:nowrap}.profile-fish-facts,.own-fish-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}.profile-fish-facts article,.own-fish-facts article{display:grid;gap:6px;padding:10px;border-radius:8px;background:#f0f7f4}.profile-fish-facts small,.own-fish-facts small{font-size:10px;color:#8aa19a}.profile-fish-facts b,.own-fish-facts b{font-size:11px;color:#315f59}.profile-fish-bio,.own-fish-bio{border:1px solid #e6efeb;border-radius:9px;padding:11px 12px;margin:0 0 10px;background:#fff}.profile-fish-bio>div{display:flex;align-items:baseline;gap:8px}.profile-fish-bio b,.own-fish-bio b{font-size:11px;color:#456c66}.profile-fish-bio small{font-size:9px;color:#9aaca7}.profile-fish-bio p,.own-fish-bio p{font-size:11px;line-height:1.7;color:#718783;margin:7px 0 0}.profile-recent{margin-top:14px;border:1px solid #e7efeb;border-radius:12px;padding:14px;background:#fff}.profile-recent-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.profile-recent-heading b{font-size:13px;color:#31575a}.profile-recent-heading small{font-size:10px;color:#92a6a1}.profile-recent-list{display:grid;gap:7px}.profile-post{padding:9px 10px;background:#f7faf8;border-radius:8px}.profile-post small{font-size:9px;color:#98aaa5}.profile-post p{font-size:11px;line-height:1.6;color:#557375;margin:5px 0}.profile-post em{font-style:normal;font-size:10px;color:#4b9489}.profile-recent-empty{font-size:11px;color:#91a4a0;margin:4px}.own-fish-facts{margin-top:18px}.own-fish-modal .own-fish-bio{margin-bottom:14px}.own-fish-bio p{white-space:pre-wrap}.setting-label textarea#fishBio{height:84px;resize:vertical;border:1px solid #e5eeea;border-radius:8px;padding:9px;font:12px/1.6 Inter,"PingFang SC","Microsoft YaHei",sans-serif}.setting-label input#fishTemperament,.setting-label input#fishBioApiKey{border:1px solid #e5eeea;border-radius:8px;padding:9px;font:12px Inter,"PingFang SC","Microsoft YaHei",sans-serif}.profile-modal .caption{text-align:left;margin-top:10px}@media(max-width:620px){.profile-modal{padding:23px 17px}.profile-top-row{align-items:flex-start;flex-direction:column}.profile-top-row .profile-hero{min-width:0;width:100%}.profile-actions{justify-content:flex-start;width:100%}.profile-actions .outline{flex:1}.profile-section-heading{align-items:flex-start;flex-direction:column}.profile-chat-button{width:100%}.profile-fish-facts,.own-fish-facts{gap:5px}.profile-fish-facts article,.own-fish-facts article{padding:8px 6px}.profile-fish-facts b,.own-fish-facts b{font-size:10px}}

/* Feed tiers use clear text labels without rice illustrations. */
.feed-menu-title{font-size:15px;font-weight:750}
.feed-option{min-height:72px;justify-content:center;gap:0;padding:14px 10px}
.feed-option strong{font-size:17px;font-weight:800;letter-spacing:.01em;white-space:nowrap}
.feed-option[data-feed-amount="10"],.own-feed-options [data-self-feed-amount="10"]{background:#f3faf6}
.feed-option[data-feed-amount="100"],.own-feed-options [data-self-feed-amount="100"]{background:#edf7f2}
.feed-option[data-feed-amount="999"],.own-feed-options [data-self-feed-amount="999"]{background:#e6f3ed}
.own-feed-options .feed-option{padding:14px 8px}
.own-fish-modal-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:8px 0 12px}
.own-fish-modal-head .profile-hero{margin:0;flex:1;min-width:200px}
.own-fish-stats{display:grid;grid-template-columns:repeat(3,minmax(85px,1fr));gap:8px}
.own-fish-stats>div{display:grid;gap:4px;min-width:0;padding:11px 9px;border-radius:10px;background:#eff7f3;text-align:center}
.own-fish-stats b{color:#287d75;font-size:17px;line-height:1.2}
.own-fish-stats small{color:#819a94;font-size:10px;white-space:nowrap}
.own-fish-modal .own-fish-description{margin-top:12px}
@media(max-width:620px){.own-fish-modal-head{align-items:flex-start;flex-direction:column}.own-fish-modal-head .profile-hero{width:100%}.own-fish-stats{width:100%;grid-template-columns:repeat(3,minmax(0,1fr))}.own-fish-stats>div{padding:10px 4px}.own-fish-stats small{font-size:9px}.feed-option strong{font-size:15px}.own-feed-options .feed-option{padding:12px 4px}}
@media(max-width:480px){.feed-option{min-height:62px;padding:10px 3px}.feed-option strong,.own-feed-options .feed-option strong{font-size:13px}}

.my-fish-avatar-control{position:relative;display:block;flex:none;width:54px;height:54px;cursor:pointer;border-radius:14px;outline-offset:3px}.my-fish-card .profile-fish-head .my-fish-avatar{width:54px;height:54px;display:grid;place-items:center;border-radius:14px;background-color:#eaf5f0;background-position:center;background-size:cover;font-size:35px}.my-fish-card .profile-fish-head .my-fish-avatar.has-image{border:1px solid #e3eee8}.avatar-edit-label{position:absolute;right:2px;bottom:2px;padding:2px 5px;border-radius:5px;background:#183d39c9;color:#fff;font-size:9px;line-height:1.3;opacity:.92}.my-fish-avatar-control:hover .avatar-edit-label{background:#287d75}.profile-payer-note{margin:0 0 10px;padding:8px 10px;border-radius:7px;background:#eff7f3;color:#638b80;font-size:10px}.setting-label input#fishTemperament[readonly],.setting-label textarea#fishBio[readonly]{background:#f7faf8;color:#607d77;cursor:default}

/* Keep the account popover above page content with a fully opaque surface. */
.sidebar{z-index:4}
.brand{position:relative;z-index:5}
#accountMenu.account-menu{position:absolute;left:0;top:calc(100% + 8px);z-index:1001;width:min(300px,calc(100vw - 24px));background-color:#fff;opacity:1;isolation:isolate;box-shadow:0 14px 36px #153d3b2a}

.exploration-setting{margin:12px 0;border:1px solid #e7efeb;border-radius:10px;padding:0 12px 12px;background:#fbfdfc}.exploration-setting>.switch-row{border:0;padding:11px 0}.exploration-controls{display:grid;gap:8px;margin:0;padding:10px 0 0;border:0;border-top:1px solid #edf2ef}.exploration-controls:disabled{opacity:.55}.exploration-controls .setting-label{margin:0}.exploration-controls select{width:100%;border:1px solid #e5eeea;border-radius:8px;background:#fff;color:#355e59;padding:10px;font:12px Inter,"PingFang SC","Microsoft YaHei",sans-serif}.exploration-token-note{margin:2px 0 0;color:#587b73;font-size:10px;line-height:1.6}.exploration-demo-note{color:#97a9a4;font-size:9px;line-height:1.6}.fish-exploration-replies{display:grid;gap:6px;margin:9px 0}.fish-exploration-reply{padding:9px 11px;border-left:3px solid #78b9a1;border-radius:0 8px 8px 0;background:#f0f8f4}.fish-exploration-reply>div{display:flex;align-items:center;gap:8px}.fish-exploration-reply b{font-size:10px;color:#315f59}.fish-exploration-reply small{padding:2px 6px;border-radius:9px;background:#e1f1e9;color:#6e9a8d;font-size:8px}.fish-exploration-reply p{margin:5px 0 0;color:#65827b;font-size:11px;line-height:1.55}
.font-setting-label{display:grid;gap:7px;color:#527772;font-size:12px;font-weight:650}.font-setting-label select{width:100%;box-sizing:border-box;border:1px solid #dceae5;border-radius:9px;padding:11px 12px;color:#254c49;background:#fbfdfc;font:inherit}.font-preview{padding:18px 16px;border:1px solid #e1eee9;border-radius:10px;background:#f5faf7;color:#285751;font-size:20px;font-weight:650;line-height:1.6}body,body *{font-family:var(--app-font-family)!important}

/* Keep the desktop sidebar stationary while the main page scrolls independently. */
@media (min-width:781px){
  html,body{height:100%;overflow:hidden}
  .shell{height:100vh;min-height:100vh;overflow:hidden}
  .sidebar{position:sticky;top:0;align-self:start;height:100vh;max-height:100vh;overflow-y:auto;overscroll-behavior:contain}
  main{height:100vh;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable}
}

/* Anchor the settings entry in the otherwise empty bottom of the desktop rail. */
@media (min-width:781px){
  .sidebar{position:relative}
  .sidebar-bottom{position:absolute;left:0;right:0;bottom:16px;width:100%;margin:0;display:flex;justify-content:center}
  .sidebar-bottom .profile{width:100%;justify-content:center}
  .sidebar-bottom .profile>span,.sidebar-bottom .profile>button:not(.settings-trigger){display:none}
  .sidebar-bottom .profile>button.settings-trigger{display:grid;place-items:center;margin:0;padding:0}
}

/* Move the current-page label into an expanding hover label on the left rail. */
.topbar .crumb{display:none}
@media (min-width:781px){
  .shell{overflow:visible}
  .sidebar{overflow:visible}
  .sidebar nav{position:relative;z-index:20;align-items:flex-start;overflow:visible}
  .sidebar .nav{z-index:1;width:56px;min-width:56px;justify-content:flex-start;padding:0 16px;overflow:visible;white-space:nowrap;transition:width .2s ease,background-color .2s ease,box-shadow .2s ease}
  .sidebar .nav:hover,.sidebar .nav:focus-visible{z-index:30;width:174px;justify-content:flex-start;gap:12px;padding:0 16px;border-radius:0 13px 13px 0;background:#dcece6;color:#277d75;box-shadow:0 8px 24px #153d3b20}
  .sidebar .nav-text{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:nowrap;color:inherit;font-size:13px;font-weight:650;opacity:0;transform:translateX(-5px);transition:opacity .14s ease,transform .2s ease}
  .sidebar .nav:hover .nav-text,.sidebar .nav:focus-visible .nav-text{opacity:1;transform:translateX(0)}
  .sidebar .nav-icon{flex:none}
}

/* Keep the settings shortcut visible at the bottom of the fixed left rail. */
@media (min-width:781px){
  .shell{grid-template-rows:minmax(0,1fr);height:100dvh;min-height:0}
  .sidebar{height:100dvh;min-height:0;max-height:100dvh}
  main{height:100dvh;min-height:0}
  .sidebar{position:relative;overflow:visible}
  .sidebar-bottom{position:fixed;left:0;bottom:12px;z-index:50;width:76px;margin:0;display:flex;justify-content:center;overflow:visible}
  .sidebar-bottom .profile{display:flex;align-items:center;justify-content:center;width:100%;margin:0;overflow:visible}
  .sidebar-bottom .profile>span,.sidebar-bottom .profile>button:not(#settingsToggle){display:none!important}
  #settingsToggle{display:grid!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;position:relative;z-index:51;place-items:center;margin:0;padding:0;gap:4px}
  #settingsToggle .settings-logo-mark,#settingsToggle small{display:block!important;visibility:visible!important}
}

/* Keep the avatar account menu above the expanded navigation items. */
.sidebar .brand{position:relative;z-index:100}
.sidebar .account-menu{z-index:1001}

/* Keep only the left rail fixed; let the document scroll naturally on the right. */
@media (min-width:781px){
  html,body{height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto}
  .shell{height:auto;min-height:100vh;grid-template-rows:auto;overflow:visible}
  .sidebar{position:fixed;left:max(0px,calc((100vw - 1600px)/2));top:0;bottom:0;align-self:auto;width:76px;height:100vh;min-height:0;max-height:100vh;overflow:visible}
  main{grid-column:2;height:auto;min-height:100vh;overflow:visible;overscroll-behavior-y:auto;scrollbar-gutter:auto}
}


/* Whale-girl persona selection in the fish settings dialog. */
.persona-settings{margin:20px 0;padding:16px;border:1px solid #dcebe6;border-radius:14px;background:#f7fbf9}.persona-settings-heading{display:flex;flex-direction:column;gap:5px;margin-bottom:13px;color:#174c55}.persona-settings-heading>b{font-size:15px}.persona-settings-heading>small,.persona-storage-note{color:#7a969b;font-size:12px;line-height:1.6}.persona-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.persona-mode-card{display:flex;align-items:flex-start;gap:9px;padding:12px;border:1px solid #dcebe6;border-radius:11px;background:#fff;cursor:pointer}.persona-mode-card:has(input:checked){border-color:#30958a;background:#eef8f4;box-shadow:0 0 0 1px #30958a inset}.persona-mode-card input{margin:3px 0 0;accent-color:#27877e}.persona-mode-card span{display:grid;gap:4px}.persona-mode-card b{color:#164751;font-size:13px}.persona-mode-card small{color:#789198;font-size:11px;line-height:1.45}.persona-prompt-field textarea{display:block;width:100%;min-height:120px;margin-top:8px;padding:11px;border:1px solid #d5e5df;border-radius:10px;resize:vertical;font:inherit;line-height:1.65;color:#164751}.persona-preset-field{padding:12px;border:1px solid #dcebe6;border-radius:11px;background:#fff}.persona-preset-field .setting-label select{display:block;width:100%;margin:8px 0 10px}.persona-preset-description,.persona-preset-details p{margin:8px 0;color:#66828a;font-size:12px;line-height:1.65}.persona-preset-details summary{color:#27877e;font-size:12px;cursor:pointer}.persona-storage-note{display:block;margin-top:10px}.persona-settings [hidden]{display:none!important}@media(max-width:560px){.persona-mode-grid{grid-template-columns:1fr}.persona-settings{padding:13px}}

.persona-modal{max-width:620px}.persona-modal>h2{margin-bottom:8px}.persona-modal>.muted{margin-bottom:16px}.persona-modal .persona-settings{margin:16px 0 12px}.persona-confirm-note{margin:12px 0;font-size:12px;line-height:1.6}.my-fish-actions #raiseFish{min-width:94px}.my-fish-card #myFishPersonaSummary{display:inline-flex;margin-left:auto;padding:6px 10px;border:1px solid #dcece4;border-radius:999px;background:#f2faf6;color:#287d75;font-size:11px;font-style:normal;white-space:nowrap}@media(max-width:560px){.my-fish-card #myFishPersonaSummary{margin:8px 0 0;flex-basis:100%;width:max-content}.persona-modal{padding:22px 18px}}

.fish-archive-identity{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px 12px;margin:14px 0;padding:11px 13px;border:1px solid #e5efea;border-radius:10px;background:#f8fbf9;color:#77918a;font-size:11px}.fish-archive-identity code{overflow-wrap:anywhere;color:#287d75;font:11px ui-monospace,SFMono-Regular,Consolas,monospace}.fish-archive-identity b{color:#24574f;font-size:11px}@media(max-width:560px){.fish-archive-identity{grid-template-columns:auto 1fr}.fish-archive-identity span:nth-of-type(2){grid-column:1}.fish-archive-identity b{grid-column:2}}
.profile-section-heading>.profile-payer-note{flex:none;margin:0 0 0 auto;padding:9px 12px;border:1px solid #c9e4da;border-radius:9px;background:#e9f6f0;color:#287d75;font-size:11px;font-weight:700;white-space:nowrap;box-shadow:0 3px 10px #287d7510}
@media(max-width:620px){.profile-section-heading>.profile-payer-note{align-self:flex-start;margin:0;white-space:normal}}
/* Personal whale chat, centered mascot navigation and release flow */
.sidebar .self-fish-nav{margin:3px 0 5px}
.sidebar .self-fish-nav .nav-icon{position:relative;left:-3px;width:42px;height:42px;border-radius:0;background:transparent;box-shadow:none;transition:transform .18s ease}
.sidebar .self-fish-nav .nav-icon img{display:block;width:100%;height:100%;object-fit:contain;border-radius:0}
.sidebar .self-fish-nav:hover,.sidebar .self-fish-nav.active{background:transparent}
.sidebar .self-fish-nav:hover .nav-icon,.sidebar .self-fish-nav.active .nav-icon{transform:translateX(-1px) scale(1.04)}
.settings-logo-mark{width:38px;height:38px;border-radius:50%;background:#e3f3ee;box-shadow:0 0 0 2px #fff,0 0 0 3px #d4e9e1}
.settings-logo-mark img{position:static;width:100%;height:100%;max-width:100%;object-fit:cover;border-radius:50%}
.settings-logo-mark{left:-3px;width:42px;height:42px;overflow:visible;border-radius:0;background:transparent;box-shadow:none}
.settings-logo-mark img{display:block;width:100%;height:100%;object-fit:contain;border-radius:0}
.own-profile-cover-tools #editProfileButton{display:none!important}
.mobile-own-fish-nav{display:none}
.own-fish-chat-page{max-width:1060px;min-height:calc(100vh - 68px);display:grid;place-items:center;padding-top:22px;padding-bottom:32px}
.own-chat-shell{width:min(760px,100%);overflow:hidden;border:1px solid #e2eee9;border-radius:20px;background:#fff;box-shadow:0 18px 50px #163a3710}
.own-chat-heading{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #edf3f0}
.own-chat-heading .eyebrow{margin-left:auto;margin-right:4px}
.own-chat-stage{position:relative;isolation:isolate;min-height:270px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(ellipse at 50% 38%,#f8fcfa 0,#edf7f3 50%,#e0f0ea 100%)}
.own-chat-orbit{position:absolute;z-index:-1;border:1px solid #cfe7dd;border-radius:50%;pointer-events:none}
.own-chat-stage .orbit-one{width:360px;height:360px}
.own-chat-stage .orbit-two{width:470px;height:470px;border-color:#d9ece5}
.own-chat-avatar{position:relative;width:142px;height:142px;display:grid;place-items:center;border-radius:50%;background:#fff9;box-shadow:0 0 0 9px #fff8,0 12px 35px #205d5018;animation:own-fish-float 4.5s ease-in-out infinite}
.own-chat-avatar img{width:100%;height:100%;object-fit:contain;border-radius:50%}
.own-chat-fish-name{margin-top:14px;color:#245c55;font:650 19px "PingFang SC","Microsoft YaHei",sans-serif}
.own-chat-persona{margin-top:4px;padding:5px 11px;border:1px solid #d5eae1;border-radius:99px;background:#ffffffa8;color:#6f958b;font-size:11px}
@keyframes own-fish-float{50%{transform:translateY(-5px)}}
.own-chat-log{min-height:158px;max-height:290px;overflow:auto;padding:18px clamp(16px,4vw,32px);display:flex;flex-direction:column;gap:12px}
.own-chat-welcome{margin:auto;text-align:center;display:grid;justify-items:center;gap:7px;color:#557873}
.own-chat-welcome>b{font-size:14px;color:#315c55}
.own-chat-welcome>span{font-size:11px;color:#90a6a0}
.own-chat-suggestions{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:9px}
.own-chat-suggestions button{border:1px solid #deeee7;border-radius:99px;padding:7px 11px;background:#f8fcfa;color:#56877c;font-size:11px;cursor:pointer}
.own-chat-suggestions button:hover{background:#eaf6f0;border-color:#bcded0}
.own-chat-message{display:flex;align-items:flex-start;gap:9px;max-width:84%}
.own-chat-message.mine{align-self:flex-end;flex-direction:row-reverse}
.own-chat-message-avatar{width:32px;height:32px;flex:none;display:grid;place-items:center;overflow:hidden;border-radius:50%;background:#e8f4ee;color:#507d73;font-size:13px}
.own-chat-message-avatar img{width:100%;height:100%;object-fit:cover}
.own-chat-message>div{min-width:0;padding:6px 10px;border:1px solid #e6efeb;border-radius:18px;background:#f8fbf9}
.own-chat-message.mine>div{border-color:#d9eee5;border-radius:18px 4px 18px 18px;background:#eaf6f0}
.own-chat-message b{font-size:10px;color:#6c9288}
.own-chat-message p{margin:2px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;color:#385e58;font-size:12px;line-height:1.45}
.own-chat-empty{margin:auto;display:grid;justify-items:center;gap:8px;text-align:center;color:#78948d}
.own-chat-empty b{color:#35645c;font-size:14px}
.own-chat-empty span{font-size:11px}
.own-chat-composer{display:grid;grid-template-columns:1fr auto;align-items:end;gap:9px;padding:13px 16px;border-top:1px solid #edf3f0;background:#fbfdfc}
.own-chat-composer textarea{min-height:48px;max-height:140px;resize:vertical;border:1px solid #dcebe5;border-radius:11px;padding:11px 12px;outline:none;background:#fff;color:#244c47;font:inherit;font-size:12px;line-height:1.6}
.own-chat-composer textarea:focus{border-color:#8fc6b2;box-shadow:0 0 0 3px #dff1e9}
.own-chat-composer .primary{min-width:74px;height:40px}
.own-chat-composer>small{grid-column:1/-1;text-align:center;color:#9aada7;font-size:9px}
.release-fish-button{border:1px solid #f0d5d0;border-radius:7px;padding:8px 10px;background:#fff9f8;color:#b66c62;font-size:10px;cursor:pointer}
.release-fish-button:hover{border-color:#deaaa2;background:#fff1ee;color:#9f5148}
.released-fish-state{min-height:170px;display:flex;align-items:center;gap:18px;padding:22px;border:1px dashed #d7e9e1;border-radius:14px;background:#f8fcfa}
.released-fish-art{width:76px;height:76px;flex:none;overflow:hidden;border-radius:50%;background:#e7f4ed;box-shadow:0 0 0 5px #fff,0 0 0 6px #d5e9df}
.released-fish-art img{width:100%;height:100%;object-fit:cover}
.released-fish-state h2{margin:0 0 5px;color:#39685f;font-size:17px}
.released-fish-state p{margin:0;color:#8ca39c;font-size:11px;line-height:1.7}
.released-fish-state .primary{margin-left:auto;white-space:nowrap}
.released-fish-state[hidden]{display:none}
.my-fish-card[hidden]{display:none}
.release-fish-modal{max-width:460px}
.release-confirm-label{display:grid;gap:7px;margin-top:19px;color:#718d85;font-size:11px}
.release-confirm-label b{color:#a6554e;font-size:12px}
.release-fish-modal input{width:100%;margin-top:7px;padding:11px 12px;border:1px solid #e2eae6;border-radius:9px;outline:none;color:#244c47;font:13px inherit}
.release-fish-modal input:focus{border-color:#b96d62;box-shadow:0 0 0 3px #f7e9e5}
.release-confirm-submit{width:100%;margin-top:14px;padding:11px;border:0;border-radius:8px;background:#b8645a;color:#fff;font-size:12px;font-weight:650;cursor:pointer}
.release-confirm-submit:disabled{background:#d8dfdc;color:#fff;cursor:not-allowed}
.release-confirm-hint{min-height:16px;margin:8px 0 0;text-align:center;color:#9aaca5;font-size:10px}
@media(max-width:780px){.mobile-own-fish-nav{display:inline-flex;align-items:center;gap:5px;border:1px solid #d7ebe3;border-radius:999px;padding:4px 8px;background:#f5fbf8;color:#47796e;font-size:10px;white-space:nowrap}.mobile-own-fish-nav img{width:25px;height:25px;border-radius:50%;object-fit:cover}.own-fish-chat-page{min-height:calc(100vh - 57px);padding:14px 12px 22px}.own-chat-shell{border-radius:15px}.own-chat-stage{min-height:225px}.own-chat-avatar{width:122px;height:122px}.own-chat-stage .orbit-one{width:300px;height:300px}.own-chat-stage .orbit-two{width:400px;height:400px}.own-chat-log{min-height:150px;padding:15px 12px}.own-chat-message{max-width:95%}.own-chat-composer{padding:10px}.released-fish-state{flex-wrap:wrap;padding:17px}.released-fish-state .primary{margin-left:0}.my-fish-actions{gap:7px}.release-fish-button{font-size:11px}}
@media(max-width:420px){.mobile-brand{font-size:12px}.mobile-own-fish-nav span{display:none}.mobile-own-fish-nav{padding:4px}.mobile-own-fish-nav img{width:28px;height:28px}.own-chat-heading{padding:10px}.own-chat-heading .eyebrow{font-size:9px}.own-chat-composer{grid-template-columns:1fr}.own-chat-composer .primary{justify-self:end}.own-chat-composer>small{grid-column:1}}

/* Fish card name editing, member home, and public fish archive */
.fish-name-editor{display:grid;grid-template-columns:minmax(100px,1fr) auto;align-items:center;gap:4px 7px;min-width:180px}.fish-name-field{min-width:0}.fish-name-field input{width:100%;min-width:0;padding:2px 0;border:0;border-bottom:1px solid #dce9e4;background:transparent;color:#214f49;font:700 16px Inter,"PingFang SC","Microsoft YaHei",sans-serif}.fish-name-field input:focus{outline:0;border-bottom-color:#2c9287}.fish-name-save{grid-column:2;grid-row:1;padding:5px 8px;font-size:10px;white-space:nowrap}.fish-name-editor>small{grid-column:1/-1}.member-home-active>.hero,.member-home-active>.intro{display:none}.member-home-active .social-tabs{display:none}.member-home-active .columns{grid-template-columns:minmax(0,1fr)}.member-home-active .columns>.right{display:none}.member-home-active .section-title p:empty{display:none}.profile-home-link{border:1px solid #dcebe5;border-radius:8px;background:#f4faf7;color:#287d75;padding:7px 10px;font:600 11px inherit;cursor:pointer}.profile-home-link:hover{background:#e8f5ef;border-color:#b8ded1}.target-card{position:relative;text-align:left;cursor:pointer}.target-card:hover{border-color:#9fcfc0;background:#f8fcfa}.target-card .target-card-hint{margin-left:auto;color:#32877d;white-space:nowrap}.fish-archive-identity.public-fish-card{grid-template-columns:auto 1fr}.fish-archive-identity.public-fish-card .fish-archive-owner-row{grid-column:1/-1;display:flex;align-items:center;gap:12px}.fish-archive-owner-row b{overflow-wrap:anywhere}.my-fish-card .profile-fish-head{gap:12px}.my-fish-card .profile-fish-head>.online{flex:none}@media(max-width:560px){.fish-name-editor{min-width:0}.fish-name-save{padding:5px 6px}.target-card .target-card-hint{font-size:9px}.fish-archive-identity.public-fish-card{grid-template-columns:1fr}}

.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

.fish-name-summary{display:grid;gap:4px;min-width:0}.fish-name-title{display:flex;align-items:center;gap:9px}.fish-name-title>b{font-size:16px;color:#214f49}.fish-rename-link{border:0;background:transparent;padding:3px 0;color:#32877d;font:600 11px inherit;cursor:pointer}.fish-rename-link:hover{text-decoration:underline;color:#216f68}.rename-fish-modal{width:min(420px,calc(100vw - 28px))}.rename-fish-modal .setting-label{margin:18px 0}.rename-fish-modal .setting-label input{width:100%;box-sizing:border-box}

.own-chat-audio{display:block;width:min(320px,100%);height:36px;margin-top:8px}

/* Keep native audio controls usable when the reply text itself is very short. */
.own-chat-message:has(.own-chat-audio)>div{width:min(320px,calc(100vw - 120px));min-width:min(220px,calc(100vw - 120px));max-width:100%;box-sizing:border-box}
.own-chat-message .own-chat-audio{width:100%;max-width:100%;box-sizing:border-box}

.audio-device-section{display:grid;gap:12px;margin-top:24px;padding-top:18px;border-top:1px solid #e7efec}.audio-device-section h3{margin:0 0 5px;font-size:17px;color:#285751}.audio-device-section .muted{margin:0}.audio-device-note{padding:10px 12px;border-radius:9px;background:#f1f8f5;color:#6c8983;font-size:11px;line-height:1.6}.audio-device-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.audio-device-grid label{display:grid;gap:6px;color:#527772;font-size:11px;font-weight:650}.audio-device-grid select{width:100%;min-width:0;box-sizing:border-box;border:1px solid #dceae5;border-radius:8px;padding:10px;background:#fbfdfc;color:#254c49;font:inherit}.audio-device-actions{display:flex;flex-wrap:wrap;gap:8px}.audio-device-actions button{font-size:11px}.audio-device-meter{height:8px;overflow:hidden;border-radius:999px;background:#e7f0ec}.audio-device-meter span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#55b99c,#e8bd61);transition:width .08s linear}.audio-device-section .caption{text-align:left;margin:0}

.own-chat-heading{justify-content:space-between;align-items:center}.own-chat-heading-tools{display:flex;align-items:center;gap:15px}.own-chat-heading-tools>label{display:flex;align-items:center;gap:7px;color:#6b8982;font-size:11px}.own-chat-heading-tools select{max-width:210px;border:1px solid #dcebe5;border-radius:8px;padding:7px 9px;background:#fbfdfc;color:#287d75;font:inherit}.own-chat-heading-tools .eyebrow{white-space:nowrap}@media(max-width:560px){.own-chat-heading{align-items:flex-start;flex-direction:column}.own-chat-heading-tools{width:100%;justify-content:space-between;gap:8px}.own-chat-heading-tools select{max-width:175px}}.fish-audio-settings{display:grid;gap:12px;margin-top:24px;padding-top:18px;border-top:1px solid #e7efec}.fish-audio-settings h3{margin:0 0 5px;font-size:17px;color:#285751}.fish-audio-settings .muted{margin:0}.fish-audio-settings>label{display:grid;gap:6px;font-size:12px;font-weight:650;color:#527772}.fish-audio-settings input:not([type=range]){width:100%;box-sizing:border-box;border:1px solid #dceae5;border-radius:9px;padding:11px 12px;color:#254c49;background:#fbfdfc;font:inherit}.fish-audio-settings input:focus{outline:2px solid #94cec0}.fish-audio-intensity span{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px}.fish-audio-intensity input{width:100%;accent-color:#278579}.fish-audio-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.fish-audio-actions a{color:#278579;font-size:12px;text-decoration:none}.fish-audio-preview{width:min(360px,100%);height:36px}.fish-audio-settings .caption{margin:0;text-align:left}

.own-chat-heading-tools{gap:10px}.own-chat-heading-tools>label{gap:5px}.own-chat-heading-tools select{max-width:190px}@media(max-width:760px){.own-chat-heading-tools{flex-wrap:wrap;justify-content:flex-start}.own-chat-heading-tools>label{flex-wrap:wrap}.own-chat-heading-tools select{max-width:min(190px,42vw)}}@media(max-width:560px){.own-chat-heading-tools{justify-content:flex-start}.own-chat-heading-tools>label{font-size:10px}.own-chat-heading-tools select{max-width:42vw;padding:6px 7px}.own-chat-heading-tools .eyebrow{margin-left:auto}}
.doubao-tts-settings [hidden]{display:none!important}

.own-chat-heading-tools{max-width:74%;flex-wrap:wrap;justify-content:flex-end}@media(max-width:560px){.own-chat-heading-tools{max-width:100%;justify-content:flex-start}}
.own-tts-debug-panel{padding:15px 18px;border-bottom:1px solid #e5efeb;background:#fbfdfc}.own-tts-debug-panel[hidden]{display:none!important}.own-tts-debug-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.own-tts-debug-heading>div{display:grid;gap:4px}.own-tts-debug-heading b{color:#285751;font-size:14px}.own-tts-debug-heading small,.own-tts-debug-note,.own-tts-provider-card>small{color:#78938d;font-size:10px;line-height:1.5}.own-tts-debug-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.own-tts-provider-card{display:grid;align-content:start;gap:9px;padding:12px;border:1px solid #e1eee9;border-radius:12px;background:#fff}.own-tts-provider-title{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#285751;font-size:12px}.own-tts-provider-title span{color:#78938d;font-size:10px}.own-tts-provider-card>label{display:grid;gap:5px;color:#527772;font-size:10px;font-weight:650}.own-tts-provider-card input:not([type=range]){min-width:0;width:100%;box-sizing:border-box;border:1px solid #dceae5;border-radius:8px;padding:9px 10px;background:#fbfdfc;color:#254c49;font:inherit}.own-tts-range-label span{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px}.own-tts-range-label input{width:100%;accent-color:#278579}.own-tts-debug-actions{display:flex;flex-wrap:wrap;gap:7px}.own-tts-debug-actions button{padding:8px 10px;font-size:10px}.own-tts-provider-card audio{width:100%;height:34px}.own-tts-provider-card>small{min-height:15px}@media(max-width:620px){.own-tts-debug-grid{grid-template-columns:1fr}.own-tts-debug-panel{padding:12px}.own-tts-debug-heading{align-items:flex-start}}.own-chat-composer{grid-template-columns:1fr}.own-chat-compose-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:8px}.own-chat-compose-row textarea{width:100%;min-width:0;box-sizing:border-box}.own-chat-image-button{min-height:40px;padding:8px 10px;white-space:nowrap}.own-chat-image-preview{display:flex;align-items:center;gap:9px;padding:8px 10px;border:1px solid #e1eee9;border-radius:10px;background:#fff}.own-chat-image-preview[hidden]{display:none!important}.own-chat-image-preview img{width:58px;height:58px;object-fit:cover;border-radius:7px}.own-chat-image-preview span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#688780;font-size:10px}.own-chat-image-preview button{padding:7px 9px;font-size:10px}@media(max-width:420px){.own-chat-compose-row{grid-template-columns:auto minmax(0,1fr)}.own-chat-compose-row .primary{grid-column:2;justify-self:end}.own-chat-image-button{grid-row:1;grid-column:1}.own-chat-compose-row textarea{grid-column:2;grid-row:1}}
.own-tts-provider-card[hidden]{display:none!important}.own-chat-attached-image{display:block;max-width:min(100%,420px);max-height:320px;margin:8px 0;border:1px solid #e5efeb;border-radius:10px;object-fit:contain;background:#f8fbf9}
.own-doubao-custom-voice-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:end}.own-doubao-custom-voice-form label{display:grid;gap:5px;color:#527772;font-size:10px;font-weight:650}.own-doubao-custom-voice-form input{min-width:0;width:100%;box-sizing:border-box;border:1px solid #dceae5;border-radius:8px;padding:9px 10px;background:#fbfdfc;color:#254c49;font:inherit}.own-doubao-custom-voice-form button{justify-self:start;padding:8px 10px;font-size:10px}@media(max-width:620px){.own-doubao-custom-voice-form{grid-template-columns:1fr}}

.own-image-key-card{margin-top:12px}.own-image-key-card>p{margin:0}.own-image-key-card code{padding:1px 4px;border-radius:4px;background:#edf6f3;color:#285751}

/* Compact attachment control; pasted images preview above the composer. */
.own-chat-compose-row{grid-template-columns:36px minmax(0,1fr) auto auto;gap:7px}
.own-chat-image-button{width:34px;height:34px;min-height:34px;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;color:#4d7d73;font-size:23px!important;font-weight:400;line-height:1;align-self:end;box-shadow:none!important}
.own-chat-image-button:hover,.own-chat-image-button:focus-visible{background:#eaf5f0!important;color:#267d72;outline:none}
.own-chat-composer:focus-within .own-chat-image-button{color:#277f74}
@media(max-width:420px){.own-chat-compose-row{grid-template-columns:36px minmax(0,1fr) auto auto}.own-chat-compose-row .primary{grid-column:auto;justify-self:auto}.own-chat-image-button{grid-row:auto;grid-column:auto}.own-chat-compose-row textarea{grid-column:auto;grid-row:auto}}

/* Use the full browser canvas on desktop instead of centering the whole app in a narrow shell. */
@media(min-width:781px){
  .shell{width:100%;max-width:none;margin:0;grid-template-columns:76px minmax(0,1fr)}
  .sidebar{left:0}
  main{min-width:0;width:100%}
  .own-fish-chat-page{width:100%;max-width:none;padding-right:clamp(20px,3vw,52px);padding-left:clamp(20px,3vw,52px)}
  .own-chat-shell{width:min(1440px,100%)}
  .own-chat-log{max-height:min(48vh,600px)}
  .own-chat-message p{font-size:13px}
}

/* Keep the desktop conversation inside the viewport; only its history should scroll. */
@media(min-width:781px){
  html:has(#ownFishChatPage:not([hidden])){height:100%;overflow:hidden}
  body:has(#ownFishChatPage:not([hidden])){--client-ui-scale:1;height:100dvh;min-height:0;overflow:hidden}
  body:has(#ownFishChatPage:not([hidden])) .shell{height:calc(100dvh / var(--client-ui-scale));min-height:0;overflow:hidden}
  body:has(#ownFishChatPage:not([hidden])) .sidebar{height:calc(100dvh / var(--client-ui-scale));max-height:none}
  body:has(#ownFishChatPage:not([hidden])) main{height:100%;min-height:0;overflow:hidden;display:flex;flex-direction:column}
  body:has(#ownFishChatPage:not([hidden])) .topbar{flex:0 0 68px}
  body:has(#ownFishChatPage:not([hidden])) .own-fish-chat-page{display:flex;flex:1 1 auto;align-items:stretch;justify-content:center;min-height:0;height:auto;padding-top:10px;padding-bottom:10px}
  body:has(#ownFishChatPage:not([hidden])) .own-chat-shell{height:100%;min-height:0;display:grid;grid-template-rows:auto auto minmax(220px,calc(25vh / var(--client-ui-scale))) minmax(0,1fr) auto}
  body:has(#ownFishChatPage:not([hidden])) .own-chat-shell:has(#ownFishTtsDebugPanel[hidden]){grid-template-rows:auto minmax(220px,calc(25vh / var(--client-ui-scale))) minmax(0,1fr) auto}
  body:has(#ownFishChatPage:not([hidden])) .own-tts-debug-panel{min-height:0;max-height:28vh;overflow:auto}
  body:has(#ownFishChatPage:not([hidden])) .own-chat-stage{height:100%;min-height:0}
  body:has(#ownFishChatPage:not([hidden])) .own-chat-log{height:100%;min-height:0;max-height:none;overscroll-behavior:contain}
  body:has(#ownFishChatPage:not([hidden])) .own-chat-composer{padding:10px 14px 8px;gap:5px}
  body:has(#ownFishChatPage:not([hidden])) .own-chat-composer textarea{min-height:54px;max-height:100px;resize:none}
  body:has(#ownFishChatPage:not([hidden])) .own-chat-composer .primary{min-height:44px}
  body:has(#ownFishChatPage:not([hidden])) .own-chat-composer>small{margin:0;line-height:1.35}
}

.own-setting-link{display:inline-flex;align-items:center;min-height:34px;padding:7px 10px;border:1px solid #dcebe5;border-radius:8px;background:#fff;color:#287d75;text-decoration:none;font-size:10px;font-weight:650;white-space:nowrap}
.own-setting-link:hover{border-color:#a8d3c4;background:#f1f8f5;color:#1f6f67}

.own-chat-image-preview{justify-content:space-between}.own-chat-image-preview span{display:none!important}

.own-chat-heading-tools #ownFishTtsDebugToggle[aria-expanded="true"]{background:#285751;border-color:#285751;color:#fff;box-shadow:0 4px 12px rgba(40,87,81,.18)}.own-chat-heading-tools #ownFishTtsDebugToggle[aria-expanded="true"]:hover{background:#1f4742;border-color:#1f4742;color:#fff}

.own-doubao-api-actions{margin:8px 0 5px}.own-doubao-custom-voice-form>.own-doubao-custom-voice-actions{grid-column:1/-1;display:flex;align-items:center;gap:8px}.own-doubao-custom-voice-actions .primary{background:#267f76;color:#fff;border-color:#267f76}.own-doubao-custom-voice-actions .primary:hover{background:#1f6f67}





/* Improve readability of the voice/API settings panel. */
#ownFishTtsDebugPanel{padding:22px 24px}
#ownFishTtsDebugPanel .own-tts-debug-heading{margin-bottom:18px}
#ownFishTtsDebugPanel .own-tts-debug-heading b{font-size:18px}
#ownFishTtsDebugPanel .own-tts-debug-heading small,
#ownFishTtsDebugPanel .own-tts-debug-note,
#ownFishTtsDebugPanel .own-tts-provider-card>small{font-size:13px;line-height:1.65}
#ownFishTtsDebugPanel .own-tts-debug-grid{gap:16px}
#ownFishTtsDebugPanel .own-tts-provider-card{gap:13px;padding:18px}
#ownFishTtsDebugPanel .own-tts-provider-title{font-size:16px}
#ownFishTtsDebugPanel .own-tts-provider-title span{font-size:13px}
#ownFishTtsDebugPanel .own-tts-provider-card>label,
#ownFishTtsDebugPanel .own-doubao-custom-voice-form label{gap:7px;font-size:13px}
#ownFishTtsDebugPanel .own-tts-provider-card input:not([type=range]),
#ownFishTtsDebugPanel .own-doubao-custom-voice-form input{min-height:44px;padding:10px 12px;font-size:14px}
#ownFishTtsDebugPanel .own-tts-debug-actions{gap:9px}
#ownFishTtsDebugPanel .own-tts-debug-actions button,
#ownFishTtsDebugPanel .own-doubao-custom-voice-form button{min-height:42px;padding:10px 13px;font-size:13px}
#ownFishTtsDebugPanel .own-setting-link{font-size:13px}
#ownFishTtsDebugPanel 
#ownFishTtsDebugPanel 
#ownFishTtsDebugPanel 
.own-chat-heading-tools label{font-size:13px}
.own-chat-heading-tools select{min-height:42px;padding:8px 12px;font-size:14px}
.own-chat-heading-tools button{min-height:40px;padding:9px 12px;font-size:13px}
@media(max-width:620px){#ownFishTtsDebugPanel{padding:16px}#ownFishTtsDebugPanel .own-tts-provider-card{padding:15px}}

/* Tutorial image dialog for configuring AstrBot upload permissions. */
#ownFishTtsDebugPanel .image-upload-guide-trigger{justify-self:start;min-height:40px;padding:9px 14px;font-size:13px}
.image-upload-guide-dialog{position:fixed;width:min(1120px,94vw);max-width:none;max-height:92vh;overflow:visible;padding:18px;border:1px solid #dcebe5;border-radius:16px;background:#fff;box-shadow:0 24px 80px rgba(14,44,40,.3)}
.image-upload-guide-dialog::backdrop{background:rgba(16,38,36,.56);backdrop-filter:blur(3px)}
.image-upload-guide-dialog img{display:block;width:100%;height:auto;max-height:calc(92vh - 36px);object-fit:contain;border-radius:8px}
.image-upload-guide-close{position:absolute;top:8px;right:8px;z-index:1;width:38px;height:38px;border:1px solid #dcebe5;border-radius:50%;background:#fff;color:#315f59;font-size:25px;line-height:1;cursor:pointer;box-shadow:0 2px 12px #183d3920}
.image-upload-guide-close:hover{background:#edf7f3}

/* Keep voice selectors above the expanded API panel so they stay usable. */
@media(min-width:781px){body:has(#ownFishChatPage:not([hidden])) .own-chat-shell:has(#ownFishTtsDebugPanel:not([hidden])) .own-chat-heading{position:relative;z-index:22;background:#fff}}
#deepSeekAccountModal>label{display:grid;gap:7px;margin:16px 0 12px;color:#5d8079;font-size:12px;font-weight:650}#deepSeekAccountApiKey{width:100%;padding:11px;border:1px solid #dcebe5;border-radius:8px;background:#fbfdfc;color:var(--ink);font:inherit}.account-binding-actions{display:flex;gap:9px;align-items:center;margin-top:12px}
.qq-connect-modal{width:min(760px,calc(100vw - 28px));max-width:760px}.qq-connect-modal h2{margin:10px 0}.qq-memory-options{display:grid;gap:10px;margin:18px 0;padding:0;border:0}.qq-memory-options legend{margin-bottom:9px;color:#527871;font-size:12px;font-weight:700}.qq-memory-options label{display:flex;align-items:flex-start;gap:10px;padding:13px;border:1px solid #dcebe5;border-radius:10px;background:#f8fcfa;cursor:pointer}.qq-memory-options input{margin-top:3px;accent-color:#287d75}.qq-memory-options span{display:grid;gap:4px}.qq-memory-options b{font-size:13px}.qq-memory-options small{font-size:11px;color:#82999a}.qq-connect-warning{margin:12px 0;font-size:11px;line-height:1.7}.qq-connect-modal iframe{display:block;width:100%;height:min(58vh,520px);margin:12px 0;border:1px solid #dcebe5;border-radius:10px;background:#fff}.qq-connect-actions{display:flex;justify-content:flex-end;gap:9px}.qq-connect-actions .primary{display:inline-flex;align-items:center;text-decoration:none}@media(max-width:620px){.qq-connect-modal{padding:22px 16px}.qq-connect-modal iframe{height:55vh}}

/* 人格标签在档案卡片中微微上移。 */
.my-fish-card #myFishPersonaSummary{transform:translateY(-4px)}
@media(max-width:560px){.my-fish-card #myFishPersonaSummary{transform:none}}


/* 记忆遗忘设置、每日简介与访客记忆管理。 */
.memory-forgetting-dialog{width:min(760px,calc(100vw - 28px));max-width:760px;max-height:92vh;overflow:auto}
.memory-forgetting-toggle{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:16px 0;padding:14px;border:1px solid #dcebe5;border-radius:12px;background:#f5faf7}
.memory-forgetting-toggle span{display:grid;gap:5px}.memory-forgetting-toggle small,.fish-bio-status{color:#789198;font-size:12px;line-height:1.6}
.memory-forgetting-toggle input{width:48px;height:26px;accent-color:#287d75;cursor:pointer}
.memory-forgetting-toggle input:disabled{cursor:wait;opacity:.55}
.memory-forgetting-error{border-color:#f0c7be;background:#fff6f3;color:#a34c3b}
.memory-forgetting-explanation{margin:12px 0;padding:13px;border-left:3px solid #27877e;border-radius:8px;background:#eef7f3;line-height:1.8}
.memory-forgetting-explanation a{color:#167d76;font-weight:700}
.memory-forgetting-guide{margin:14px 0 0;padding:10px;border:1px solid #dcebe5;border-radius:10px;background:#fff}
.memory-forgetting-guide img{display:block;width:100%;max-height:52vh;object-fit:contain;object-position:top;border-radius:7px}
.memory-forgetting-guide figcaption{margin-top:8px;color:#789198;font-size:12px}
.visitor-memory-tools{display:none!important}
.visitor-memory-section{margin-top:28px;padding-top:20px;border-top:1px solid #e4eeea}
.visitor-memory-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}
.visitor-memory-heading h2{margin:0 0 6px;font-size:20px}.visitor-memory-heading p{margin:0;max-width:680px;line-height:1.7}
.owner-visitor-memory-list{display:grid;gap:10px}.owner-visitor-memory-list .interaction-memory-card{margin:0}
.own-fish-bio .fish-bio-status{display:block;margin-top:8px}.own-fish-bio .fish-bio-generate{margin-top:8px}
@media(max-width:620px){.memory-forgetting-dialog{padding:22px 16px}.memory-forgetting-guide img{max-height:40vh}.visitor-memory-heading{display:grid}.visitor-memory-heading button{justify-self:start}}

/* Keep voice controls tucked away until the settings button is opened. */
.own-chat-voice-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}
.own-chat-voice-controls[hidden]{display:none!important}

/* Memory bubbles around the owner's fish avatar. */
.own-fish-memory-bubbles{position:absolute;inset:0;z-index:1;pointer-events:none}
.own-fish-memory-bubble{position:absolute;width:var(--bubble-size,76px);height:var(--bubble-size,76px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px;border:1px solid #cfe7dd;border-radius:50%;background:#ffffffd9;color:#376d64;text-align:center;box-shadow:0 8px 22px #2a655217;backdrop-filter:blur(4px);animation:memory-bubble-float 4.5s ease-in-out infinite}
.own-fish-memory-bubble small{font-size:8px;line-height:1;color:#8aa9a1}
.own-fish-memory-bubble span{display:-webkit-box;max-width:100%;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow-wrap:anywhere;font-size:clamp(12px,calc(var(--bubble-size,96px) / 7.5),15px);font-weight:750;line-height:1.35}
.own-fish-memory-bubble.persona{border-color:#b9ded1;background:#eaf7f1e8;color:#29786c}
.own-fish-memory-bubble[data-position="upper-left"]{top:calc(50% - 126px);left:calc(50% - 190px);animation-delay:-1s}
.own-fish-memory-bubble[data-position="upper-right"]{top:calc(50% - 126px);right:calc(50% - 190px);animation-delay:-2.3s}
.own-fish-memory-bubble[data-position="lower-left"]{bottom:calc(50% - 126px);left:calc(50% - 190px);animation-delay:-3.2s}
.own-fish-memory-bubble[data-position="lower-right"]{bottom:calc(50% - 126px);right:calc(50% - 190px);animation-delay:-.5s}
.own-chat-avatar,.own-chat-fish-name,.own-chat-persona{z-index:2}
@keyframes memory-bubble-float{50%{transform:translateY(-5px)}}
@media(max-width:780px){.own-fish-memory-bubble{max-width:84px;max-height:84px;padding:6px}.own-fish-memory-bubble[data-position="upper-left"]{top:calc(50% - 100px);left:calc(50% - 158px)}.own-fish-memory-bubble[data-position="upper-right"]{top:calc(50% - 100px);right:calc(50% - 158px)}.own-fish-memory-bubble[data-position="lower-left"]{bottom:calc(50% - 100px);left:calc(50% - 158px)}.own-fish-memory-bubble[data-position="lower-right"]{bottom:calc(50% - 100px);right:calc(50% - 158px)}}
@media(max-width:520px){.own-fish-memory-bubble[data-position="lower-left"],.own-fish-memory-bubble[data-position="lower-right"]{display:none}.own-fish-memory-bubble{max-width:70px;max-height:70px}.own-fish-memory-bubble[data-position="upper-left"]{left:calc(50% - 142px)}.own-fish-memory-bubble[data-position="upper-right"]{right:calc(50% - 142px)}}


/* Own profile: dual identity cover and separate owner/fish timelines. */
.own-profile-cover{position:relative;display:block;overflow:hidden;margin:0 0 18px;padding:22px 26px 15px;border:1px solid #dcebe5;border-radius:18px;background:radial-gradient(ellipse at 50% 5%,#e4f4ed 0,transparent 55%),linear-gradient(130deg,#f7fbf9,#edf7f2 55%,#f4f8f7)}
.own-profile-cover[hidden]{display:none}.own-profile-cover-glow{position:absolute;width:360px;height:360px;border:1px solid #d5ebe2;border-radius:50%;left:50%;top:-245px;transform:translateX(-50%);box-shadow:0 0 0 42px #ffffff20,0 0 0 84px #ffffff18;pointer-events:none}
.own-profile-cover-top,.own-profile-cover-foot,.own-profile-stream-bar{position:relative;display:flex;align-items:center;justify-content:space-between;gap:15px}.own-profile-cover-top{color:#79a098;font-size:11px}.own-profile-cover-top .outline{font-size:11px}
.own-profile-identities{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);align-items:stretch;gap:14px;max-width:860px;margin:16px auto 14px;perspective:900px}.identity-card{min-width:0;display:flex;align-items:center;gap:15px;text-align:left;padding:16px 18px;border:1px solid #deece6;border-radius:15px;background:#ffffffc9;color:inherit;cursor:pointer;transition:transform .35s,border-color .25s,box-shadow .25s,background .25s;box-shadow:0 5px 22px #315b5010}.identity-card:hover{transform:translateY(-2px);border-color:#add7c8}.identity-card.is-active{background:#fff;border-color:#78baa8;box-shadow:0 7px 26px #287d751b}.identity-card .identity-avatar{width:66px;height:66px;flex:none;overflow:hidden;border-radius:22px;display:grid;place-items:center;background:#f7e5dc;color:#88614f;font-size:30px;font-weight:700}.identity-card.fish-identity .identity-avatar{background:#e4f3ed}.identity-copy{display:grid;gap:4px;min-width:0}.identity-copy small{color:#83a39b;font-size:10px}.identity-copy b{font-size:18px;color:#244e4b}.identity-copy span{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#6f8b85;font-size:11px}.identity-copy em{font-style:normal;color:#9aadab;font-size:10px}.identity-link{align-self:center;text-align:center;color:#67a99a;font-size:23px}.own-profile-cover-foot{max-width:860px;margin:0 auto 15px;color:#7f9b95;font-size:11px}.profile-cover-switch{border:0;background:transparent;color:#39877a;font-size:11px;cursor:pointer}.identity-flip .identity-card.is-active{animation:identity-pop .42s ease}@keyframes identity-pop{50%{transform:rotateY(8deg) scale(1.015)}}
.own-profile-stream-bar{border-top:1px solid #dcebe5;padding-top:12px;flex-wrap:wrap}.own-profile-stream-tabs{display:flex;gap:6px}.own-profile-stream-tabs button{border:0;border-radius:9px;background:transparent;padding:9px 12px;color:#72908a;font-size:11px;cursor:pointer}.own-profile-stream-tabs button.selected{background:#dff0e9;color:#287d75;font-weight:700}.own-profile-actions{display:flex;align-items:center;gap:12px}.fish-auto-reply{display:flex;align-items:center;gap:6px;color:#78928c;font-size:10px}.fish-auto-reply input{accent-color:#287d75}.own-profile-actions .primary{white-space:nowrap}.own-profile-billing-note{position:relative;margin:9px 0 0;color:#92a7a1;font-size:10px;line-height:1.6}.fish-post-status{position:relative;min-height:0;color:#43867b;font-size:10px}.fish-post-status:not(:empty){margin-top:7px;padding:8px 10px;border-radius:8px;background:#e6f3ed}.fish-post-status.is-error{color:#a75b51;background:#fff0ed}.post .fish-post-face{overflow:hidden;background:#e4f3ed}.post .fish-post-face img,.identity-avatar img{width:100%;height:100%;object-fit:cover}.fish-owner-reply{display:grid;gap:4px;margin:8px 0 10px 41px;padding:9px 11px;border-left:2px solid #69ad9e;border-radius:0 8px 8px 0;background:#f0f8f4;color:#527a71;font-size:10px;line-height:1.6}.fish-owner-reply b{font-size:10px;color:#398277}.post[data-author-type="fish"]{border-color:#deeee7;background:linear-gradient(125deg,#fff,#f8fcfa)}
@media(max-width:700px){.own-profile-cover{padding:16px 14px 12px}.own-profile-identities{grid-template-columns:minmax(0,1fr);gap:8px;margin:12px 0}.identity-link{display:none}.identity-card{padding:11px 12px}.identity-card .identity-avatar{width:50px;height:50px;border-radius:16px;font-size:24px}.identity-copy b{font-size:15px}.own-profile-cover-foot{align-items:flex-start;flex-direction:column;gap:5px}.own-profile-stream-bar{align-items:flex-start;flex-direction:column}.own-profile-stream-tabs{width:100%;justify-content:space-between}.own-profile-stream-tabs button{padding:8px 9px}.own-profile-actions{width:100%;justify-content:space-between;flex-wrap:wrap}.own-profile-actions .primary{padding:9px 10px}.fish-auto-reply{font-size:9px}}

.memory-config-key{display:grid;gap:8px;margin:12px 0;padding:12px;border:1px solid #e2ece7;border-radius:10px;background:#f8fbf9}.memory-config-key>div:first-child{display:grid;gap:4px}.memory-config-key b{font-size:12px;color:#365f59}.memory-config-key small{font-size:10px;color:#8ba19b}.memory-config-key-row{display:flex;gap:8px}.memory-config-key-row input{flex:1;min-width:0;border:1px solid #dce9e4;border-radius:8px;padding:10px 11px;font:12px inherit}.memory-config-key-row button{white-space:nowrap}

.profile-top-row>.profile-home-link{margin:0 auto 0 18px;flex:none;white-space:nowrap}.profile-home-link{font-size:12px;padding:10px 14px}@media(max-width:620px){.profile-top-row>.profile-home-link{margin:0;align-self:flex-start}}

/* Minimal per-account memory forgetting switch. */
.memory-forgetting-dialog{width:min(430px,calc(100vw - 28px));max-width:430px}.memory-forgetting-toggle{margin:14px 0 8px}.memory-forgetting-toggle input{appearance:none;position:relative;width:46px;height:26px;flex:none;border:0;border-radius:20px;background:#cbd5d1;transition:background .2s}.memory-forgetting-toggle input::before{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:white;box-shadow:0 1px 3px #173d392e;transition:transform .2s}.memory-forgetting-toggle input:checked{background:#2c887d}.memory-forgetting-toggle input:checked::before{transform:translateX(20px)}.memory-forgetting-dialog .caption{margin-top:8px;text-align:left;font-size:10px}

.profile-top-row>.profile-home-link{margin:0 auto 0 18px;flex:none;white-space:nowrap;border:1px solid #285f58;border-radius:8px;background:#285f58;color:#fff;font-size:13px;font-weight:700;padding:11px 15px;box-shadow:0 4px 12px #285f5825}.profile-top-row>.profile-home-link:hover{background:#1f514b;border-color:#1f514b;color:#fff;transform:translateY(-1px)}@media(max-width:620px){.profile-top-row>.profile-home-link{margin:0;align-self:flex-start}}

/* Profile cover brand, active identity sizing and custom cover upload. */
.own-profile-cover-top{z-index:1}.own-profile-logo{font-weight:750;letter-spacing:.04em;color:#31766e}.own-profile-cover-tools{display:flex;align-items:center;gap:8px}.own-profile-cover-tools[hidden],.own-profile-cover-upload[hidden]{display:none}.own-profile-cover-upload{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:11px}.own-profile-cover-upload:hover{background:#f2faf6}.own-profile-identities{grid-template-columns:minmax(0,7fr) 40px minmax(0,3fr);transition:grid-template-columns .38s ease}.own-profile-identities[data-mode="fish"]{grid-template-columns:minmax(0,3fr) 40px minmax(0,7fr)}.own-profile-identities .identity-card{transition:transform .38s,opacity .3s,border-color .25s,box-shadow .25s,background .25s}.own-profile-identities .identity-card:not(.is-active){opacity:.78;transform:scale(.975)}.own-profile-identities .identity-card.is-active{opacity:1;transform:scale(1)}.own-profile-cover.has-custom-cover{background-image:linear-gradient(115deg,#f7fbf9ed,#edf7f2e8 55%,#f4f8f7e6),var(--profile-cover-image);background-position:center;background-size:cover;background-repeat:no-repeat}.own-profile-cover.has-custom-cover .own-profile-cover-glow{opacity:.5}
@media(max-width:700px){.own-profile-identities,.own-profile-identities[data-mode="fish"]{grid-template-columns:minmax(0,7fr) 18px minmax(0,3fr);gap:5px}.own-profile-identities .identity-card{gap:8px;padding:10px 8px}.own-profile-identities .identity-card .identity-avatar{width:42px;height:42px;border-radius:13px;font-size:21px}.own-profile-identities .identity-copy span{font-size:9px}.own-profile-identities .identity-copy em{font-size:8px}.own-profile-logo{max-width:65%;font-size:9px;line-height:1.5}.own-profile-cover-tools{gap:5px}.own-profile-cover-tools .outline{padding:6px 7px;font-size:9px}}

.profile-actions>.profile-home-link{margin:0;align-self:center;flex:none;border:1px solid #285f58;border-radius:8px;background:#285f58;color:#fff;font-size:13px;font-weight:700;padding:10px 14px;box-shadow:0 4px 12px #285f5825;white-space:nowrap}.profile-actions>.profile-home-link:hover{background:#1f514b;border-color:#1f514b;color:#fff;transform:translateY(-1px)}@media(max-width:620px){.profile-actions>.profile-home-link{flex:1}}

/* Balanced landing state; selecting either identity expands it and filters the feed. */
.own-profile-identities{grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr)}.own-profile-identities[data-mode="owner"]{grid-template-columns:minmax(0,7fr) 40px minmax(0,3fr)}.own-profile-identities[data-mode="fish"]{grid-template-columns:minmax(0,3fr) 40px minmax(0,7fr)}.own-profile-identities[data-mode="all"] .identity-card{opacity:1;transform:none}.own-profile-identities[data-mode="owner"] .owner-identity,.own-profile-identities[data-mode="fish"] .fish-identity{box-shadow:0 8px 28px #287d7525}.fish-auto-post{display:flex;align-items:center;gap:6px;color:#4c8278;font-size:11px;font-weight:650;white-space:nowrap}.fish-auto-post input{accent-color:#287d75}.fish-auto-post:hover{color:#236c64}.fish-auto-post[hidden]{display:none}
@media(max-width:700px){.own-profile-identities{grid-template-columns:minmax(0,1fr)}.own-profile-identities[data-mode="owner"],.own-profile-identities[data-mode="fish"]{grid-template-columns:minmax(0,1fr)}.own-profile-identities[data-mode="all"] .identity-card{opacity:1;transform:none}.own-profile-actions{gap:9px}.fish-auto-post{font-size:10px}}

/* Message inbox now lives inside the chat page; keep the split view proportional to viewport size. */
.chat-thread-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:0 0 10px;padding:4px;border:1px solid #e2ece8;border-radius:10px;background:#edf4f1}.chat-thread-tabs button{min-width:0;border:0;border-radius:7px;background:transparent;padding:9px 5px;color:#78918b;font-size:clamp(11px,.78vw,13px);font-weight:650;white-space:nowrap;cursor:pointer}.chat-thread-tabs button.selected{background:#fff;color:#287d75;box-shadow:0 1px 4px #244e4a12}.chat-thread-group{display:none}
@media(min-width:641px){.conversation-page.content{grid-template-columns:clamp(230px,22vw,350px) minmax(0,1fr);grid-template-rows:auto auto auto auto minmax(0,1fr) auto;column-gap:clamp(12px,1.5vw,24px);width:100%;height:calc(100dvh - 68px);min-height:calc(100dvh - 68px);padding:0 clamp(12px,1.5vw,24px) 16px 0}.chat-thread-panel{height:100%;min-height:0;padding:clamp(12px,1.1vw,20px) clamp(8px,.9vw,14px) 12px}.chat-thread-title b{font-size:clamp(17px,1.15vw,21px)}.chat-thread-row{gap:clamp(7px,.65vw,11px);padding:clamp(8px,.65vw,11px) clamp(6px,.5vw,9px)}.chat-thread-avatar{width:clamp(34px,2.5vw,42px);height:clamp(34px,2.5vw,42px);font-size:clamp(17px,1.25vw,21px)}.chat-thread-meta b{font-size:clamp(12px,.82vw,14px)}.chat-thread-meta small{font-size:clamp(10px,.7vw,12px)}.conversation-page.content>.conversation-heading{padding:clamp(10px,.9vw,15px) 4px 11px}.conversation-page.content>.conversation-log{margin-top:clamp(8px,.8vw,13px);padding:clamp(12px,1.15vw,19px) clamp(12px,1.3vw,22px)}.conversation-page .chat p{font-size:clamp(13px,.92vw,16px);max-width:min(78%,clamp(420px,48vw,860px))}.conversation-page .chat p b{font-size:clamp(10px,.75vw,13px)}.conversation-page.content>.conversation-compose{padding-top:clamp(8px,.9vw,14px)}#userChatPage.content{grid-template-rows:auto auto minmax(0,1fr) auto}#userChatPage.content>.notice{grid-row:2}#userChatPage.content>.conversation-log{grid-row:3}#userChatPage.content>.conversation-compose{grid-row:4}}
@media(min-width:641px) and (max-width:850px){.conversation-page.content{grid-template-columns:clamp(210px,25vw,270px) minmax(0,1fr);column-gap:12px}}
@media(max-width:640px){.chat-thread-tabs{flex:none;margin-bottom:8px}.chat-thread-tabs button{padding:8px 4px;font-size:11px}.chat-thread-panel{width:100%}.chat-thread-list{min-height:54px}.chat-thread-row{min-width:150px;max-width:220px}.conversation-page.content{height:auto;min-height:calc(100dvh - 68px)}.conversation-page.content>.conversation-log{flex:1;min-height:42vh}}

.payer-budget{display:grid;gap:6px;margin:7px 8px 2px;padding:10px 12px;border:1px solid #dcebe5;border-radius:9px;background:#f6faf8}.payer-budget[hidden]{display:none}.payer-budget>label{font-size:11px;font-weight:700;color:#446f68}.payer-budget-input{display:flex;align-items:center;gap:7px}.payer-budget-input>span{font-size:14px;color:#537e76}.payer-budget-input input{width:130px;max-width:50%;height:34px;border:1px solid #dce9e4;border-radius:7px;background:#fff;padding:0 9px;color:#254f4b;font-size:13px;font-weight:600;font-family:inherit}.payer-budget-input>small,.payer-budget-note{font-size:10px;color:#8ca29c}.payer-budget-note{line-height:1.5}

/* Align both conversation types to the same compact header and remove instructional strips. */
@media(min-width:641px){.conversation-page.content{grid-template-rows:auto auto minmax(0,1fr) auto}.conversation-page.content>.conversation-heading{grid-row:1}.conversation-page.content>.conversation-target{grid-row:2}.conversation-page.content>.conversation-log{grid-row:3}.conversation-page.content>.conversation-compose{grid-row:4}#userChatPage.content{grid-template-rows:auto auto minmax(0,1fr) auto}#userChatPage.content>.conversation-target{grid-row:2}#userChatPage.content>.conversation-log{grid-row:3}#userChatPage.content>.conversation-compose{grid-row:4}}
.user-conversation-target .user-owner-card,.user-conversation-target .user-contact-card{min-width:220px;max-width:min(34vw,340px);flex:0 1 310px;min-height:58px;font-size:15px}.user-conversation-target .user-owner-card>span:last-child,.user-conversation-target .user-contact-card>span:last-child{display:grid;gap:4px}.user-conversation-target .user-owner-card small,.user-conversation-target .user-contact-card small{font-size:11px;color:#96a9a5}.user-owner-avatar,.user-contact-avatar{width:40px;height:40px;flex:none}.user-chat-direction{color:#72a99e;font-size:22px;padding:0 2px}.user-owner-avatar .avatar-image{width:100%;height:100%;object-fit:cover;border-radius:50%}
@media(max-width:640px){.user-conversation-target{flex-direction:row!important;align-items:center!important;gap:7px!important}.user-conversation-target .user-owner-card,.user-conversation-target .user-contact-card{min-width:0;max-width:none;flex:1;padding:7px}.user-owner-avatar,.user-contact-avatar{width:34px;height:34px}.user-chat-direction{font-size:17px}}

/* Match the personal whale-chat scaling and fit message screens to the available viewport. */
@media(min-width:781px){html:has(#chatPage:not([hidden])),html:has(#userChatPage:not([hidden])){height:100%;overflow:hidden}body:has(#chatPage:not([hidden])),body:has(#userChatPage:not([hidden])){--client-ui-scale:1;height:100dvh;min-height:0;overflow:hidden}.shell:has(#chatPage:not([hidden])),.shell:has(#userChatPage:not([hidden])){height:100dvh;min-height:0;overflow:hidden}.shell:has(#chatPage:not([hidden])) .sidebar,.shell:has(#userChatPage:not([hidden])) .sidebar{height:calc(100dvh - 50px);max-height:none}.shell:has(#chatPage:not([hidden])) main,.shell:has(#userChatPage:not([hidden])) main{height:100%;min-height:0;overflow:hidden;display:flex;flex-direction:column}.shell:has(#chatPage:not([hidden])) .topbar,.shell:has(#userChatPage:not([hidden])) .topbar{flex:0 0 50px}.conversation-page.content{flex:1 1 auto;height:auto;min-height:0;max-height:none;overflow:hidden}}

/* User-to-user chats use a name-only header and let the conversation fill the page. */
@media(min-width:641px){#userChatPage.content{grid-template-rows:auto auto minmax(0,1fr) auto}#userChatPage.content>.user-conversation-heading{grid-row:1}#userChatPage.content>.user-chat-identities{grid-row:2}#userChatPage.content>.conversation-log{grid-row:3}#userChatPage.content>.conversation-compose{grid-row:4}}
.user-conversation-heading h1{margin:0;font-size:clamp(24px,2vw,32px)}

/* User DM identity cards: larger owner card followed by a compact fish card. */
.user-chat-identities{grid-column:2;grid-row:2;display:flex;align-items:center;gap:10px;min-width:0;padding:0 4px 2px}.user-chat-identity-card{display:flex;align-items:center;gap:10px;min-width:0;min-height:54px;padding:7px 11px;border:1px solid #e1ece8;border-radius:10px;background:#fbfdfc}.user-chat-owner-card{flex:0 1 300px}.user-chat-fish-card{flex:0 1 180px}.user-chat-avatar{width:38px;height:38px;flex:none;border-radius:11px;display:grid;place-items:center;background:#e7f1ed;color:#285f58;font-size:18px;font-weight:700}.user-chat-avatar.lav{background:#eeeaf7}.user-chat-avatar.blue{background:#e4f0f4}.user-chat-avatar.peach{background:#f9e6dd}.user-chat-avatar.sage{background:#e7f1e7}.user-chat-fish-avatar{font-size:24px}.user-chat-identity-copy{display:grid;gap:3px;min-width:0}.user-chat-identity-copy small{font-size:10px;color:#829992}.user-chat-identity-copy b{font-size:13px;color:#264e4e}.user-chat-identity-copy em{font-size:10px;color:#8ba09a;font-style:normal}@media(max-width:640px){.user-chat-identities{grid-column:1;grid-row:auto;gap:7px}.user-chat-owner-card{flex:1 1 58%}.user-chat-fish-card{flex:1 1 42%}.user-chat-identity-card{gap:7px;padding:6px 8px}.user-chat-avatar{width:32px;height:32px}}

/* Give fish conversations the same owner-first identity cards as user DMs. */
.fish-chat-identities{justify-content:flex-start;align-items:center;gap:10px;margin:8px 0 2px;padding:0 4px 2px}.fish-chat-identities .fish-chat-owner-card,.fish-chat-identities .fish-chat-fish-card{display:flex;align-items:center;gap:10px;min-width:0;min-height:54px;margin:0;padding:7px 11px;border:1px solid #e1ece8;border-radius:10px;background:#fbfdfc;text-align:left;box-shadow:none}.fish-chat-identities .fish-chat-owner-card{flex:0 1 300px}.fish-chat-identities .fish-chat-fish-card{flex:0 1 180px}.fish-chat-identities .owner-profile-avatar,.fish-chat-identities .target-fish-icon{width:38px;height:38px;flex:none;border-radius:11px}.fish-chat-identities .owner-profile-avatar{font-size:18px}.fish-chat-identities .target-fish-icon{font-size:23px}.fish-chat-identity-copy{display:grid;gap:3px;min-width:0}.fish-chat-identity-copy small{font-size:10px;color:#829992}.fish-chat-identity-copy b{font-size:13px;color:#264e4e}.fish-chat-identity-copy em{font-size:10px;color:#8ba09a;font-style:normal}.fish-chat-identities .fish-chat-owner-card:hover,.fish-chat-identities .fish-chat-fish-card:hover{border-color:#a8d2c8;box-shadow:0 5px 16px #287d7514}@media(max-width:640px){.fish-chat-identities{gap:7px;margin:4px 0}.fish-chat-identities .fish-chat-owner-card{flex:1 1 58%;padding:6px 8px}.fish-chat-identities .fish-chat-fish-card{flex:1 1 42%;padding:6px 8px}.fish-chat-identities .owner-profile-avatar,.fish-chat-identities .target-fish-icon{width:32px;height:32px}}

/* Context compression capacity and flower tips */
.flower-tip-wrap{position:relative;margin:0 0 8px}.flower-tip-toggle{font-size:11px;padding:8px 12px;color:#398875;border-color:#d8ebe2;background:#f8fcfa}.flower-tip-menu{position:absolute;z-index:8;left:0;bottom:calc(100% + 8px);width:min(520px,calc(100vw - 48px));box-sizing:border-box;padding:13px;border:1px solid #dcebe4;border-radius:12px;background:#fff;box-shadow:0 12px 36px #254f431a}.flower-tip-menu>b{display:block;margin-bottom:9px;color:#345f59;font-size:12px}.flower-tip-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.flower-tip-options button{min-height:54px;border:1px solid #deebe5;border-radius:9px;background:#f8fcfa;color:#3d6d64;font-size:12px;font-weight:700;cursor:pointer}.flower-tip-options button.selected{border-color:#82c2ac;background:#e5f4ed;color:#257c6f}.flower-tip-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px}.flower-tip-actions small{color:#96aaa4;font-size:9px}.flower-tip-actions .primary{padding:8px 13px;font-size:11px}.flower-tip-actions .primary:disabled{opacity:.5;cursor:not-allowed}@media(max-width:600px){.own-fish-facts:has(.memory-capacity-card){grid-template-columns:1fr}.flower-tip-options{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Compact memory map and remove the redundant back control from the own-fish chat header. */
.own-chat-heading #backFromOwnFishChat{display:none!important}

.own-fish-memory-bubble{padding:5px;gap:0;backdrop-filter:blur(3px)}
.own-fish-memory-bubble span{-webkit-line-clamp:3;font-size:clamp(12px,calc(var(--bubble-size,96px) / 7.5),15px);line-height:1.3}
@media(max-width:780px){.own-fish-memory-bubble{max-width:none;max-height:none;padding:8px}.own-fish-memory-bubble span{font-size:clamp(11px,calc(var(--bubble-size,76px) / 7.5),13px)}}


@media(min-width:781px){body:has(#ownFishChatPage:not([hidden])) .own-chat-shell{grid-template-rows:auto auto minmax(220px,auto) minmax(0,1fr) auto}body:has(#ownFishChatPage:not([hidden])) .own-chat-shell:has(#ownFishTtsDebugPanel[hidden]){grid-template-rows:auto minmax(220px,auto) minmax(0,1fr) auto}body:has(#ownFishChatPage:not([hidden])) .own-chat-shell:has(#ownFishTtsDebugPanel:not([hidden])){grid-template-rows:auto minmax(220px,auto) minmax(0,1fr) auto}}


.own-profile-actions #sendProfilePost{white-space:nowrap}.own-profile-actions #generateFishPost{white-space:nowrap}.own-profile-actions>button[hidden]{display:none!important}.post .actions .delete-own-post{color:#b45f56;background:#fff8f6;border:1px solid #f1d9d3;border-radius:7px;padding:5px 9px;font-size:10px}.post .actions .delete-own-post:hover{background:#fff0ed;border-color:#e7b8ae}.post .actions .delete-own-post:focus-visible{outline:2px solid #dc8e82;outline-offset:2px}


.own-profile-actions #sendProfilePost,.own-profile-actions #generateFishPost{width:140px;min-width:140px;height:42px;min-height:42px;padding:9px 12px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;white-space:nowrap;font-size:12px;font-weight:700}.own-profile-actions #sendProfilePost{background:#285751;border-color:#285751;color:#fff;box-shadow:0 4px 12px #28575122}.own-profile-actions #sendProfilePost:hover{background:#1f4742;border-color:#1f4742}.own-profile-actions #generateFishPost{background:#fff;border-color:#dcebe5;color:#287d75}.own-profile-actions #generateFishPost:hover{background:#f1f8f5;border-color:#a8d3c4}.profile-bio-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:14px;flex-wrap:wrap}.profile-bio-actions button{min-height:38px}.profile-edit-modal .caption[aria-live]{min-height:18px;margin-top:9px}


/* Center the fish portrait with owner friendly name and personality aligned on one row. */
.own-chat-stage{justify-content:center}
.own-chat-avatar{margin-top:14px}
.own-chat-identity-line{width:min(250px,calc(100% - 40px));display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;z-index:2}
.own-chat-identity-line .own-chat-fish-name{margin:0;text-align:left}
.own-chat-identity-line .own-chat-persona{flex:none;margin:0;text-align:right}
@media(max-width:780px){.own-chat-avatar{margin-top:12px}.own-chat-identity-line{width:min(230px,calc(100% - 32px));margin-top:8px}}

/* Scattered memory bubbles with weight-led color, size and compact labels. */
.own-fish-memory-bubble{border-color:var(--bubble-border,#cfe7dd);background:radial-gradient(circle at 30% 24%,#ffffffd9,var(--bubble-fill,#eaf5f0));color:var(--bubble-ink,#376d64);box-shadow:0 6px var(--bubble-glow,14px) #2a65521c,0 1px 3px #ffffffaa inset;transform:rotate(var(--bubble-tilt,0deg));transition:box-shadow .25s ease,filter .25s ease}
.own-fish-memory-bubble.persona{border-color:var(--bubble-border,#b9ded1);background:radial-gradient(circle at 30% 24%,#ffffffdf,var(--bubble-fill,#eaf7f1));color:var(--bubble-ink,#29786c)}
.own-fish-memory-bubble span{text-shadow:0 1px 0 #ffffff80}
@keyframes memory-bubble-float{50%{transform:translateY(-4px) rotate(var(--bubble-tilt,0deg))}}
.own-chat-identity-line{width:max-content;max-width:calc(100% - 24px);justify-content:center;gap:10px}
.own-chat-identity-line .own-chat-fish-name,.own-chat-identity-line .own-chat-persona{flex:0 1 auto;min-width:0;max-width:min(150px,42vw);white-space:normal;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:1.3}
.own-chat-identity-line .own-chat-fish-name{text-align:right}
.own-chat-identity-line .own-chat-persona{text-align:left;padding:4px 9px}
@media(max-width:780px){.own-chat-identity-line{width:max-content;max-width:calc(100% - 20px);gap:8px}.own-chat-identity-line .own-chat-fish-name,.own-chat-identity-line .own-chat-persona{max-width:min(135px,42vw)}}

/* Fish friend profile: place the bio under the identity and keep settings at the bottom. */
.profile-section-heading>div:first-child{flex:1;min-width:0}.profile-fish-subtitle{margin:8px 0 0 47px;font-size:10px;line-height:1.6;color:#829992}.profile-privacy{margin-top:12px}.profile-fish-facts{margin:12px 0 0}
/* In a fish interaction, lead with the fish card and make it visually primary. */
.fish-chat-identities .fish-chat-fish-card{order:0;flex:0 1 340px;min-width:300px;min-height:70px;padding:9px 14px;border-color:#b9ded1;background:linear-gradient(135deg,#eef8f3,#fff);box-shadow:0 5px 15px #287d7512}.fish-chat-identities .fish-chat-owner-card{order:1;flex:0 1 220px;min-height:58px;background:#fff}.fish-chat-identities .fish-chat-fish-card .target-fish-icon{width:48px;height:48px;font-size:30px}.fish-chat-identities .fish-chat-fish-card .fish-chat-identity-copy b{font-size:16px;color:#1c6259}.fish-chat-identities .fish-chat-owner-card .owner-profile-avatar{width:34px;height:34px;font-size:16px}@media(max-width:640px){.fish-chat-identities .fish-chat-fish-card{order:0;flex:1 1 58%;min-width:0;min-height:62px;padding:7px 9px}.fish-chat-identities .fish-chat-owner-card{order:1;flex:1 1 42%;min-height:54px}.fish-chat-identities .fish-chat-fish-card .target-fish-icon{width:40px;height:40px;font-size:26px}.fish-chat-identities .fish-chat-fish-card .fish-chat-identity-copy b{font-size:14px}}

/* Compact public fish memory map fitted inside the existing fish info card. */
.profile-fish{overflow:hidden}
.profile-fish-memory-map{position:relative;isolation:isolate;width:100%;height:155px;overflow:hidden;border:1px solid #deeee7;border-radius:10px;background:radial-gradient(ellipse at 50% 38%,#fbfdfc 0,#f0f8f4 58%,#e6f3ed 100%)}
.profile-map-orbit{position:absolute;left:50%;top:48%;border:1px solid #cfe8dd;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}
.profile-map-orbit-one{width:180px;height:180px}.profile-map-orbit-two{width:245px;height:245px;border-color:#d9ece4}
.profile-map-center{position:absolute;z-index:2;left:50%;top:48%;display:grid;justify-items:center;gap:4px;transform:translate(-50%,-50%);color:#285f58;text-align:center}
.profile-map-avatar{width:66px;height:66px;display:grid;place-items:center;border:5px solid #ffffffbc;border-radius:50%;background:#fff;box-shadow:0 5px 20px #28645218;font-size:42px}
.profile-map-center>b{font-size:16px;line-height:1.1}.profile-map-center>small{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px 8px;border:1px solid #d6eae1;border-radius:99px;background:#ffffffc9;color:#6f958b;font-size:9px}
.profile-map-bubbles{position:absolute;inset:0;z-index:1;pointer-events:none}
.profile-map-bubble{position:absolute;width:var(--bubble-size,38px);height:var(--bubble-size,38px);display:grid;place-items:center;overflow:hidden;padding:4px;border:1px solid var(--bubble-border,#b8ddd0);border-radius:50%;background:radial-gradient(circle at 30% 24%,#ffffffd9,var(--bubble-fill,#dff1e9));box-shadow:0 4px 12px #28645216;color:var(--bubble-ink,#39796d);text-align:center;font-size:clamp(7px,1vw,9px);font-weight:700;line-height:1.25;overflow-wrap:anywhere;animation:profile-map-float 4.5s ease-in-out infinite}
.profile-map-bubble.persona{border-width:2px;font-weight:850}
@keyframes profile-map-float{50%{transform:translateY(-3px) rotate(var(--bubble-tilt,0deg))}}
.profile-fish-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:10px}.profile-fish-actions .profile-payer-note{flex:none;margin:0;padding:8px 11px;border:1px solid #c9e4da;border-radius:9px;background:#e9f6f0;color:#287d75;font-size:10px;font-weight:700}.profile-fish-actions .profile-chat-button{min-height:38px;padding:8px 14px}
.profile-fish .profile-fish-subtitle{margin:10px 0 0;font-size:10px;line-height:1.6}.profile-fish .profile-privacy{margin-top:9px}.profile-fish .profile-fish-facts{margin:10px 0 0}
@media(max-width:620px){.profile-fish-memory-map{height:140px}.profile-map-avatar{width:58px;height:58px;font-size:32px}.profile-map-orbit-one{width:158px;height:158px}.profile-map-orbit-two{width:212px;height:212px}.profile-fish-actions{justify-content:flex-start;flex-wrap:wrap}.profile-fish-actions .profile-payer-note{white-space:normal}}

.user-chat-identity-card{font:inherit;color:inherit;text-align:left;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.user-chat-identity-card:hover,.user-chat-identity-card:focus-visible{border-color:#8fcbb8;box-shadow:0 3px 12px #287d7518;transform:translateY(-1px);outline:none}

/* Muted identity colors, shared by profiles and both conversation types. */
.own-profile-identities .identity-card.owner-identity,.user-chat-owner-card,.fish-chat-identities .fish-chat-owner-card{background:#f4f5f5;border-color:#dce2e3}
.own-profile-identities .identity-card.fish-identity,.user-chat-fish-card,.fish-chat-identities .fish-chat-fish-card{background:#e7f1f5;border-color:#c7dce5;color:#285363}
.own-profile-identities .identity-card:not(.is-active){opacity:1}
.own-profile-identities .owner-identity:hover,.user-chat-owner-card:hover,.fish-chat-identities .fish-chat-owner-card:hover{background:#eef1f2;border-color:#bbc9ce}
.own-profile-identities .fish-identity:hover,.user-chat-fish-card:hover,.fish-chat-identities .fish-chat-fish-card:hover{background:#dfedf3;border-color:#a9c8d6}
.own-profile-identities .fish-identity .identity-avatar,.user-chat-fish-card .user-chat-avatar,.fish-chat-fish-card .target-fish-icon{background:#d8e9f0}
/* The memory stage starts at the top; composer tools remain together. */
#ownFishChatPage .own-chat-heading{display:none}
#ownFishChatPage .own-chat-shell{position:relative}
#ownFishChatPage .own-chat-compose-tools{display:flex;flex-direction:column;align-items:center;gap:2px}
#ownFishChatPage .own-chat-compose-tools button{display:grid;place-items:center;width:32px;height:30px;min-height:0;padding:0;border:0;background:transparent;color:#59868c;font-size:22px;box-shadow:none}
#ownFishChatPage .own-chat-compose-tools button:hover{background:#e7f1f5;border-radius:8px}
#ownFishChatPage .own-chat-compose-tools button:focus-visible{outline:2px solid #6598aa;outline-offset:1px}
#ownFishChatPage #ownFishTtsQuickControls{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0 18px}
#ownFishChatPage .own-tts-debug-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
#ownFishChatPage .own-voice-detail-card{margin:0}
.image-permission-dialog{width:min(560px,calc(100vw - 32px));max-height:85dvh;overflow:auto}
.image-permission-dialog .own-image-key-card{margin-top:22px}
@media(min-width:781px){
body:has(#ownFishChatPage:not([hidden])) #ownFishChatPage .own-chat-shell{grid-template-rows:minmax(180px,calc(25vh / var(--client-ui-scale))) minmax(0,1fr) auto;gap:0}
#ownFishChatPage .own-chat-stage{grid-row:1}
#ownFishChatPage .own-chat-log{grid-row:2}
#ownFishChatPage .own-chat-composer{grid-row:3}
}
@media(max-width:780px){#ownFishChatPage .own-tts-debug-grid{grid-template-columns:1fr}}

/* Make the personality label readable against the pale ocean field. */
.own-fish-memory-bubble.persona{border-width:2px;border-color:var(--bubble-border,#6faaa0);color:#205e59;box-shadow:0 7px var(--bubble-glow,14px) #2a655226,0 0 0 2px #ffffffa8 inset}
.own-fish-memory-bubble.persona span{font-weight:850;text-shadow:0 1px 0 #fff,0 0 1px #15534d}
.profile-map-center>small{border:2px solid #9dbdb5;background:#f6fbf9;color:#386d65;font-weight:750;box-shadow:0 2px 8px #315e5714}
.own-chat-identity-line .own-chat-persona{border:2px solid #9dbdb5;background:#f6fbf9;color:#386d65;font-weight:750;box-shadow:0 2px 8px #315e5714}

/* Keep the own-fish composer anchored while long histories scroll independently. */
@media(min-width:781px){
  body:has(#ownFishChatPage:not([hidden])) main{min-height:0;height:100%;overflow:hidden;display:flex;flex-direction:column}
  body:has(#ownFishChatPage:not([hidden])) .own-fish-chat-page{flex:1 1 0;min-height:0;height:0;overflow:hidden;padding-top:8px;padding-bottom:8px}
  body:has(#ownFishChatPage:not([hidden])) #ownFishChatPage .own-chat-shell{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden;gap:0}
  body:has(#ownFishChatPage:not([hidden])) #ownFishChatPage .own-chat-stage{flex:0 0 clamp(180px,24vh,248px);height:auto;min-height:0}
  body:has(#ownFishChatPage:not([hidden])) #ownFishChatPage .own-chat-log{flex:1 1 0;min-height:0;height:auto;max-height:none;overflow-y:auto;overscroll-behavior:contain}
  body:has(#ownFishChatPage:not([hidden])) #ownFishChatPage .own-chat-composer{flex:0 0 auto;min-height:0;padding:8px 14px 7px}
  body:has(#ownFishChatPage:not([hidden])) #ownFishChatPage .own-chat-composer textarea{min-height:48px;max-height:88px}
}
@media(max-width:780px){
  body:has(#ownFishChatPage:not([hidden])) #ownFishChatPage .own-chat-shell{display:flex;flex-direction:column;min-height:calc(100dvh - 80px);height:calc(100dvh - 80px);overflow:hidden}
  body:has(#ownFishChatPage:not([hidden])) #ownFishChatPage .own-chat-stage{flex:0 0 clamp(170px,25dvh,230px);min-height:0}
  body:has(#ownFishChatPage:not([hidden])) #ownFishChatPage .own-chat-log{flex:1 1 0;min-height:0;height:auto;max-height:none;overflow-y:auto}
  body:has(#ownFishChatPage:not([hidden])) #ownFishChatPage .own-chat-composer{flex:0 0 auto;position:sticky;bottom:0;z-index:3}
}

.my-fish-card button#myFishPersonaSummary{appearance:none;font-family:inherit;cursor:pointer;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}.my-fish-card button#myFishPersonaSummary:hover{background:#e8f5ef;border-color:#9fcfc0;box-shadow:0 3px 10px rgba(40,125,117,.1)}.my-fish-card button#myFishPersonaSummary:focus-visible{outline:2px solid #4b9a8e;outline-offset:3px}

.my-page-title-row{display:flex;align-items:center;gap:14px}.my-page-title-row h1{margin-right:0}.catch-fish-button{margin-top:8px;padding:9px 14px}
@media(max-width:560px){.my-page-title-row{gap:10px}.catch-fish-button{padding:8px 11px}}

/* Compact own-fish composer: photo left, clear and settings grouped on the right. */
#ownFishChatPage .own-chat-compose-tools{display:contents}
#ownFishChatPage .own-chat-compose-row{grid-template-columns:36px minmax(0,1fr) auto 36px auto;align-items:center;gap:6px}
#ownFishChatPage #pickOwnFishImage{grid-column:1;grid-row:1;align-self:center}
#ownFishChatPage #ownFishChatInput{grid-column:2;grid-row:1;height:50px;min-height:50px;max-height:88px;resize:vertical;padding:8px 11px;line-height:1.45}
#ownFishChatPage #clearOwnFishChat{grid-column:3;grid-row:1;height:40px;min-width:58px;padding:7px 10px;white-space:nowrap}
#ownFishChatPage #ownFishTtsDebugToggle{grid-column:4;grid-row:1;align-self:center;width:36px;height:38px;min-height:38px;border:1px solid #dcebe5;border-radius:10px;background:#fff;color:#4d7d73;font-size:18px;box-shadow:none}
#ownFishChatPage #ownFishTtsDebugToggle:hover{background:#eaf5f0;border-color:#b8d8ca}
#ownFishChatPage #sendOwnFishMessage{grid-column:5;grid-row:1;height:40px;min-width:68px}
@media(max-width:560px){
  #ownFishChatPage .own-chat-composer{padding:7px 8px 6px}
  #ownFishChatPage .own-chat-compose-row{grid-template-columns:32px minmax(0,1fr) auto 34px auto;gap:4px}
  #ownFishChatPage #pickOwnFishImage{width:30px;height:34px}
  #ownFishChatPage #ownFishChatInput{height:48px;min-height:48px;padding:7px 8px}
  #ownFishChatPage #clearOwnFishChat{min-width:48px;padding:6px 7px;font-size:11px}
  #ownFishChatPage #ownFishTtsDebugToggle{width:32px;height:36px;min-height:36px}
  #ownFishChatPage #sendOwnFishMessage{min-width:54px;height:38px;padding:6px 10px}
}

.own-voice-sync-status{display:block;margin-top:4px;color:#668c83;font-size:10px;font-weight:500}.own-voice-sync-status[data-state=error]{color:#b35c51}.own-voice-sync-status[data-state=pending]{color:#987c43}

.fish-persona-sync-status{display:block;margin:6px 0;color:#668c83;font-size:12px}.fish-persona-sync-status[data-state=error]{color:#b35c51}.fish-persona-sync-status[data-state=pending]{color:#987c43}
#ownFishTtsDebugPanel .own-tts-debug-grid{display:grid!important;grid-template-columns:minmax(0,1fr);gap:14px}.own-legacy-tts-control{display:none!important}#ownFishTtsDebugPanel .own-tts-provider-card[data-tts-provider="fish"]{display:none!important}#ownFishTtsDebugPanel .own-tts-provider-card[data-tts-provider="doubao"]{display:grid!important}
.own-astrbot-tts-status{margin:10px 0;padding:11px 13px;border:1px solid #dceae5;border-radius:10px;background:#f2f8f6;color:#527772;font-size:12px;line-height:1.6}
.own-astrbot-tts-status[data-state="success"]{border-color:#b8ddd0;background:#eaf6f1;color:#28685f}
.own-astrbot-tts-status[data-state="error"]{border-color:#ecd8c8;background:#fff8f1;color:#805e48}
.memory-clear-card{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:16px 0 8px;padding:14px;border:1px solid #ead7d2;border-radius:12px;background:#fff9f7}.memory-clear-card>div{display:grid;gap:5px}.memory-clear-card small{color:#789198;font-size:12px;line-height:1.6}.memory-clear-card .danger{border-color:#e6b7ac;color:#a84b3a;white-space:nowrap}.memory-clear-card .danger:hover:not(:disabled){background:#fff0eb}.memory-clear-card button:disabled{cursor:not-allowed;opacity:.55}
@media(max-width:520px){.memory-clear-card{align-items:flex-start;flex-direction:column}.memory-clear-card button{width:100%}}

#ownFishTtsDebugPanel .own-tts-provider-card>label[hidden]{display:none!important}
#ownFishChatPage #ownFishTtsDebugPanel .own-tts-debug-heading{margin-bottom:10px}
#ownFishChatPage #ownFishTtsDebugPanel .own-tts-debug-grid{gap:10px}
#ownFishChatPage #ownFishTtsDebugPanel .own-tts-provider-card{gap:9px;padding:12px}
#ownFishChatPage #ownFishTtsDebugPanel .own-chat-voice-controls{gap:8px;margin:8px 0 12px}
#ownFishChatPage #ownFishTtsDebugPanel .own-tts-provider-card input:not([type=range]),#ownFishChatPage #ownFishTtsDebugPanel .own-doubao-custom-voice-form input{min-height:38px;padding:8px 10px}
#ownFishTtsDebugPanel .own-tts-debug-heading{margin-bottom:9px}
#ownFishTtsDebugPanel .own-tts-debug-heading b{font-size:16px}
#ownFishTtsDebugPanel .own-astrbot-tts-status,#ownFishTtsDebugPanel .own-tts-provider-title,#ownFishTtsDebugPanel .own-tts-debug-note{display:none!important}
#ownFishTtsDebugPanel #ownBreezeApiStatus{display:none!important}
#myPage .my-tabs button[data-my-tab="memories"],#myMemoryPanel{display:none!important}
#ownFishTtsDebugPanel .own-tts-debug-heading small,#ownFishTtsDebugPanel .own-tts-debug-note,#ownFishTtsDebugPanel .own-tts-provider-card>small{font-size:11px;line-height:1.45}
#ownFishTtsDebugPanel .own-astrbot-tts-status{font-size:11px;line-height:1.45;padding:8px 10px}
#ownFishTtsDebugPanel .own-chat-voice-controls{font-size:12px;gap:8px;margin:8px 0 10px}
#ownFishTtsDebugPanel .own-chat-voice-controls select{min-height:30px;padding:4px 8px;font-size:12px}
#ownFishTtsDebugPanel .own-tts-debug-grid{gap:9px}
#ownFishTtsDebugPanel .own-tts-provider-card{gap:8px;padding:11px}
#ownFishTtsDebugPanel .own-tts-provider-title{font-size:14px}
#ownFishTtsDebugPanel .own-tts-provider-title span,#ownFishTtsDebugPanel .own-tts-provider-card>label,#ownFishTtsDebugPanel .own-doubao-custom-voice-form label{font-size:11px;gap:5px}
#ownFishTtsDebugPanel .own-tts-provider-card input:not([type=range]),#ownFishTtsDebugPanel .own-doubao-custom-voice-form input{min-height:34px;padding:7px 9px;font-size:12px}
#ownFishTtsDebugPanel .own-tts-debug-actions{gap:7px}
#ownFishTtsDebugPanel .own-tts-debug-actions button,#ownFishTtsDebugPanel .own-doubao-custom-voice-form button{min-height:32px;padding:6px 9px;font-size:11px}
#ownFishTtsDebugPanel .own-setting-link{font-size:11px}
#ownFishTtsDebugPanel .own-tts-debug-heading{cursor:default;touch-action:auto;user-select:auto}
/* Arrange the main settings cards horizontally on tablet and desktop. */
#ownFishTtsDebugPanel .own-tts-debug-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)!important;align-items:start}
#ownFishTtsDebugPanel .own-tts-provider-card{min-width:0}
#ownFishTtsDebugPanel .own-doubao-custom-voice-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media(min-width:781px){
}
@media(max-width:1100px){#ownFishTtsDebugPanel .own-tts-debug-grid{grid-template-columns:minmax(0,1fr)!important}}
#ownFishTtsDebugPanel .own-doubao-custom-voice-form{gap:8px}
#ownFishTtsDebugPanel .own-doubao-custom-voice-actions{grid-column:1/-1}
#ownFishTtsDebugPanel #deleteOwnDoubaoVoice,
#ownFishTtsDebugPanel #restoreOwnDoubaoVoices,
#ownFishTtsDebugPanel #ownDoubaoVoiceNameMessage,
#ownFishTtsDebugPanel #ownDoubaoDebugPreview{grid-column:1/-1}
@media(max-width:520px){#ownFishTtsDebugPanel .own-doubao-custom-voice-form{grid-template-columns:minmax(0,1fr)}}

/* Right-side voice settings drawer; reserve matching room by shrinking chat. */
body.own-voice-settings-open{--own-voice-drawer-width:clamp(280px,24.5vw,380px)}
body.own-voice-settings-open #ownFishChatPage.own-fish-chat-page{width:calc(100% - var(--own-voice-drawer-width));max-width:none;margin:0 auto 0 0;justify-content:flex-start;padding-left:clamp(14px,2vw,30px);padding-right:12px;transition:width .22s ease,padding .22s ease}
body.own-voice-settings-open #ownFishChatPage .own-chat-shell{width:100%;max-width:none;transition:width .22s ease}
body>#ownFishTtsDebugPanel:not([hidden]){position:fixed!important;top:68px!important;right:0!important;bottom:0!important;left:auto!important;transform:none!important;z-index:1000!important;width:var(--own-voice-drawer-width,clamp(280px,24.5vw,380px))!important;height:auto!important;max-height:none!important;margin:0!important;padding:16px 14px!important;overflow-x:hidden!important;overflow-y:auto!important;display:block!important;box-sizing:border-box!important;overscroll-behavior:contain;background:#fbfdfc;box-shadow:-14px 0 36px rgba(22,58,55,.14)}
#ownFishTtsDebugPanel .own-chat-voice-controls label[for="ownFishVoiceMode"]:hover,#ownFishTtsDebugPanel .own-chat-voice-controls label[for="ownTtsProvider"]:hover{border-color:#a9c4ec!important;box-shadow:0 7px 18px rgba(31,71,121,.11)!important;transform:translateY(-1px)}
#ownFishTtsDebugPanel .own-chat-voice-controls label span{display:block;min-width:0;align-self:start;line-height:1.35;color:#34557f}
#ownFishTtsDebugPanel .own-chat-voice-controls label small{display:inline-block;color:#7893b3;font-size:10px;font-weight:500}
#ownFishTtsDebugPanel .own-tts-debug-grid{display:grid!important;width:100%;min-height:0;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto!important;gap:10px;overflow:visible!important;align-items:stretch!important}
#ownFishTtsDebugPanel .own-tts-provider-card{min-width:0;min-height:0;overflow:visible!important;overscroll-behavior:contain}
@media(max-width:780px){body.own-voice-settings-open #ownFishChatPage.own-fish-chat-page{width:100%;padding-left:12px;padding-right:12px}body>#ownFishTtsDebugPanel:not([hidden]){top:57px!important;right:0!important;bottom:0!important;width:min(420px,calc(100vw - 20px))!important;padding:12px!important}}
.memory-forgetting-dialog #resetMemoryForgetting{margin-top:4px;padding:8px 11px;font-size:11px}
.memory-forgetting-dialog #resetMemoryForgetting:disabled{opacity:.5;cursor:not-allowed}
/* Refined personal voice selectors and short lived sync feedback. */
#ownFishTtsDebugPanel .own-chat-voice-controls{align-items:end;gap:12px;margin:16px 0 18px}
#ownFishTtsDebugPanel .own-chat-voice-controls label[for="ownFishVoiceMode"]{position:relative;display:grid;align-content:start;gap:7px;min-width:210px;padding:10px 12px;border:1px solid #dcebe5;border-radius:13px;background:linear-gradient(145deg,#fbfefc,#f2f8f5);color:#527772;font-size:11px;font-weight:700;box-shadow:0 3px 10px rgba(40,87,81,.035)}
#ownFishTtsDebugPanel #ownFishVoiceMode,#ownFishTtsDebugPanel #ownFishTtsVoice,#ownFishTtsDebugPanel #ownTtsProvider{appearance:none;display:block;width:100%;min-width:0;min-height:40px;box-sizing:border-box;padding:8px 34px 8px 12px;border:1px solid #d5e7df;border-radius:10px;background-color:#fff;background-image:linear-gradient(45deg,transparent 50%,#5c9187 50%),linear-gradient(135deg,#5c9187 50%,transparent 50%);background-position:calc(100% - 15px) 17px,calc(100% - 10px) 17px;background-size:5px 5px;background-repeat:no-repeat;color:#285751;font-family:inherit;font-size:12px;font-weight:600;line-height:1.3;box-shadow:0 1px 3px rgba(40,87,81,.04);cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}
#ownFishTtsDebugPanel #ownFishVoiceMode:hover,#ownFishTtsDebugPanel #ownFishTtsVoice:hover,#ownFishTtsDebugPanel #ownTtsProvider:hover{border-color:#9ecbb9;background-color:#fcfffd}
#ownFishTtsDebugPanel #ownFishVoiceMode:focus-visible,#ownFishTtsDebugPanel #ownFishTtsVoice:focus-visible,#ownFishTtsDebugPanel #ownTtsProvider:focus-visible{outline:none;border-color:#4b9b8d;box-shadow:0 0 0 3px rgba(75,155,141,.16)}
@media(max-width:560px){#ownFishTtsDebugPanel .own-chat-voice-controls{align-items:stretch;gap:8px}#ownFishTtsDebugPanel .own-chat-voice-controls label[for="ownFishVoiceMode"],#ownFishTtsDebugPanel .own-chat-voice-controls label[for="ownFishTtsVoice"],#ownFishTtsDebugPanel .own-chat-voice-controls label[for="ownTtsProvider"]{flex:1;min-width:0;padding:9px 10px}}

/* Styled persona template selector */
.persona-preset-field .setting-label select{appearance:none;-webkit-appearance:none;display:block;width:100%;min-height:44px;box-sizing:border-box;margin:8px 0 10px;padding:0 42px 0 13px;border:1px solid #d5e7df;border-radius:11px;background-color:#f8fcfa;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m3.5 6 4.5 4 4.5-4' fill='none' stroke='%235b9588' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;color:#194f52;font-family:inherit;font-size:14px;font-weight:600;line-height:1.2;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}
.persona-preset-field .setting-label select:hover{border-color:#a9d1c3;background-color:#f2faf6}
.persona-preset-field .setting-label select:focus-visible{outline:none;border-color:#3d9c8d;box-shadow:0 0 0 3px rgba(61,156,141,.16)}
.persona-preset-field .setting-label select:disabled{cursor:wait;opacity:.7}
.catch-fish-button{display:inline-flex;align-items:center;gap:7px}
.catch-fish-net-icon{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}
.catch-fish-button:hover .catch-fish-net-icon{transform:rotate(-8deg) translateY(-1px)}

/* Voice drawer: keep the selector pair, personal provider settings, and voice library in a clear vertical sequence. */
#ownFishTtsDebugPanel .own-chat-voice-controls:not([hidden]){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:10px;margin:12px 0 16px;padding:0;border:0;border-radius:0;background:transparent;box-sizing:border-box}
#ownFishTtsDebugPanel .own-chat-voice-controls label[for="ownFishVoiceMode"],#ownFishTtsDebugPanel .own-chat-voice-controls label[for="ownFishTtsVoice"],#ownFishTtsDebugPanel .own-chat-voice-controls label[for="ownTtsProvider"]{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(28px,auto) 42px;align-content:start;gap:7px;min-width:0!important;min-height:96px;box-sizing:border-box;padding:11px!important;border:1px solid #d9e5f7!important;border-radius:14px!important;background:linear-gradient(155deg,#fff 0%,#f4f8ff 100%)!important;box-shadow:0 4px 14px rgba(31,71,121,.07)!important;color:#34557f;font-size:12px;font-weight:700;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
#ownFishTtsDebugPanel .own-tts-debug-grid{display:grid!important;width:100%;grid-template-columns:minmax(0,1fr)!important;gap:12px;align-items:stretch}
#ownFishTtsDebugPanel .own-tts-provider-card,
#ownFishTtsDebugPanel .own-voice-detail-card{width:100%;min-width:0;box-sizing:border-box}
#ownFishTtsDebugPanel .own-voice-detail-card{display:grid;gap:10px}
#ownFishTtsDebugPanel .own-voice-detail-heading{display:grid;gap:3px;color:#285751}
#ownFishTtsDebugPanel .own-voice-detail-heading>b{font-size:14px}
#ownFishTtsDebugPanel .own-voice-detail-heading>small{color:#78938d;font-size:11px;line-height:1.5}
@media(max-width:360px){#ownFishTtsDebugPanel .own-chat-voice-controls:not([hidden]){grid-template-columns:minmax(0,1fr);gap:9px;padding:0}#ownFishTtsDebugPanel .own-tts-debug-grid{grid-template-columns:minmax(0,1fr)!important}}

/* Enlarge the public fish memory map bubbles for easier reading. */
.profile-fish-memory-map{height:190px}
.profile-map-bubble{font-size:clamp(10px,1.2vw,12px);padding:6px}
@media(max-width:620px){.profile-fish-memory-map{height:176px}}


.profile-fish .profile-fish-facts{display:none!important}
.public-profile-memory-settings{margin:16px 0;padding:14px;border:1px solid #dcebe6;border-radius:12px;background:#f8fbf9}.public-profile-memory-settings>div:first-child{display:flex;flex-direction:column;gap:4px}.public-profile-memory-settings>div:first-child b{color:#174c55;font-size:14px}.public-profile-memory-settings>div:first-child small{color:#7a969b;font-size:12px;line-height:1.5}.public-profile-memory-options{display:grid;gap:8px;margin-top:12px;max-height:230px;overflow:auto}.public-profile-memory-option{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:8px;padding:10px;border:1px solid #e1eee8;border-radius:9px;background:#fff;color:#315d57;font-size:12px;line-height:1.5;cursor:pointer}.public-profile-memory-option input{margin:2px 0 0;accent-color:#27877e}.public-profile-memory-option>span{overflow-wrap:anywhere}.public-profile-memory-option small{color:#8aa29a;white-space:nowrap}.public-profile-memory-settings .caption{margin-bottom:0}
.compute-card-heading>span.compute-provider-logo{overflow:hidden;background:#fff}.compute-card-heading>span.compute-provider-logo img{display:block;width:24px;height:24px;object-fit:contain}

.compute-today-usage{display:block;margin-top:7px;color:var(--ink,#174b49);font-size:12px;font-weight:600}.compute-balance-card .compute-today-usage+ .compute-explain{margin-top:4px}

/* Keep fish and user conversations aligned; distinguish the user identity card. */
.conversation-page.content>.conversation-heading{border-bottom:0!important}
.conversation-page.content>.conversation-heading h1{margin:0}
.conversation-page.content>.conversation-target,.conversation-page.content>.user-chat-identities{margin:8px 0 2px!important;padding:0 4px 2px!important;gap:10px;align-items:center}
.user-chat-owner-card{order:0;background:linear-gradient(112deg,#fff 0%,#e6f1ff 100%)!important;border-color:#c9dcf4!important}
.user-chat-owner-card:hover{background:linear-gradient(112deg,#f9fcff 0%,#dceaff 100%)!important}
.user-chat-fish-card{order:1}/* Chat page bubble-memory module and private-message profile details. */
.chat-fish-memory-map{flex:1 1 300px;min-width:250px;height:132px;margin:0;border-color:#d7e5f6;background:radial-gradient(ellipse at 50% 48%,#fff 0,#f3f8ff 68%,#e9f2ff 100%)}
.chat-fish-memory-map .profile-map-orbit-one{width:126px;height:126px}
.chat-fish-memory-map .profile-map-orbit-two{width:186px;height:186px}
.chat-fish-memory-map .profile-map-center{top:50%}
.profile-map-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.chat-fish-memory-map .profile-map-avatar{width:48px;height:48px;font-size:30px;background:radial-gradient(circle at 50% 38%,#eff7ff 0%,#dbeafd 68%,#cfe2fa 100%)}
.chat-map-owner{display:block;margin-top:2px;font-size:11px;font-weight:650;color:#557aa3}
.chat-fish-memory-map .profile-map-center>b{font-size:12px}
.chat-fish-memory-map .profile-map-bubble{font-size:9px}
.user-chat-profile-bio{display:block;max-width:min(38vw,340px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8197a5;font-size:10px;line-height:1.2}
.user-profile-avatar-link{border:0;padding:0;cursor:pointer;font:inherit;transition:transform .16s ease,box-shadow .16s ease}
.user-profile-avatar-link:hover{transform:translateY(-1px);box-shadow:0 0 0 3px #dceaff}
@media(max-width:850px){.chat-fish-memory-map{flex-basis:100%;height:110px;min-width:0}.chat-fish-memory-map .profile-map-orbit-one{width:105px;height:105px}.chat-fish-memory-map .profile-map-orbit-two{width:155px;height:155px}}
@media(max-width:640px){.user-chat-profile-bio{max-width:28vw}.user-profile-avatar-link{width:34px;height:34px}}
/* Wide fish chat hero: reuse the profile memory map, showing only the fish and owner ID. */
#chatPage.content>.chat-fish-memory-map{grid-column:2;grid-row:1 / 3;align-self:stretch;width:100%;height:clamp(190px,21vh,245px);min-width:0;margin:0;border-radius:18px;border-color:#c9e0f2;background:radial-gradient(circle at 50% 42%,#e9f5ff 0,#d7ebfa 58%,#c8e3f4 100%);}
#chatPage .chat-fish-memory-map:after{content:"";position:absolute;z-index:0;left:-5%;right:-5%;bottom:-34px;height:82px;border-radius:50% 50% 0 0 / 44% 44% 0 0;background:linear-gradient(180deg,#a9d0e8aa,#91c1dfb8);pointer-events:none}
#chatPage .chat-fish-memory-map .profile-map-orbit{top:46%;border-color:#b7d8ef}
#chatPage .chat-fish-memory-map .profile-map-orbit-one{width:260px;height:260px}
#chatPage .chat-fish-memory-map .profile-map-orbit-two{width:390px;height:390px;border-color:#c0ddf0}
#chatPage .chat-fish-memory-map .profile-map-center{top:47%;gap:6px;color:#234f7d}
#chatPage .chat-fish-memory-map .profile-map-avatar{width:100px;height:100px;padding:0;border:8px solid #ffffffb8;font-size:60px;cursor:pointer}
#chatPage .chat-fish-memory-map .profile-map-avatar{animation:chat-map-avatar-float 3.6s ease-in-out infinite}
@keyframes chat-map-avatar-float{50%{transform:translateY(-6px)}}
@media(prefers-reduced-motion:reduce){#chatPage .chat-fish-memory-map .profile-map-avatar{animation:none}}
#chatPage .chat-fish-memory-map .profile-map-avatar:hover{box-shadow:0 0 0 5px #ffffff8c,0 8px 24px #28645224}
#chatPage .chat-fish-memory-map .profile-map-avatar>span{display:grid;place-items:center;width:100%;height:100%}
#chatPage .chat-fish-memory-map .profile-map-center>b{font-size:19px;color:#244f7c}
#chatPage .chat-fish-memory-map .profile-map-id{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 11px;border:1px solid #c6dcf2;border-radius:99px;background:#ffffffd9;color:#376da5;font-family:inherit;font-size:11px;font-weight:700;cursor:pointer}
#chatPage .chat-fish-memory-map .profile-map-id:hover{background:#fff;border-color:#8eb8df}
#chatPage .chat-fish-memory-map .profile-map-bubble{font-size:clamp(9px,.82vw,11px)}
@media(max-width:850px){#chatPage.content>.chat-fish-memory-map{grid-column:2;grid-row:1 / 3;height:clamp(180px,22vh,220px)}#chatPage .chat-fish-memory-map .profile-map-avatar{width:82px;height:82px;font-size:48px}#chatPage .chat-fish-memory-map .profile-map-orbit-one{width:210px;height:210px}#chatPage .chat-fish-memory-map .profile-map-orbit-two{width:310px;height:310px}}
@media(max-width:640px){#chatPage.content>.chat-fish-memory-map{grid-column:1;grid-row:auto;width:100%;height:190px;flex:none;margin:4px 0 2px}#chatPage .chat-fish-memory-map .profile-map-avatar{width:76px;height:76px;font-size:44px}#chatPage .chat-fish-memory-map .profile-map-orbit-one{width:190px;height:190px}#chatPage .chat-fish-memory-map .profile-map-orbit-two{width:280px;height:280px}}

/* Use the site's blue text palette in the fish profile and management dialogs. */
#ownFishModal .eyebrow,
#ownFishModal .fish-archive-identity,
#ownFishModal .fish-archive-identity *,
#ownFishModal .own-fish-description,
#ownFishModal .own-fish-facts *,
#ownFishModal .own-fish-bio *,
#ownFishModal .own-fish-stats *{color:#315fb5}
#upload .eyebrow,
#upload .muted,
#upload .steps *,
#upload .filebox *:not(input),
#upload .notice.privacy *,
#upload .caption{color:#315fb5}
#settingsModal .eyebrow,
#settingsModal .switch-row b,
#settingsModal .switch-row small,
#settingsModal .payer-options b,
#settingsModal .payer-options label,
#settingsModal .payer-options small,
#settingsModal .payer-budget,
#settingsModal .payer-budget-note,
#settingsModal .setting-label,
#settingsModal .exploration-token-note,
#settingsModal .exploration-demo-note,
#settingsModal .visitor-memory-tools *,
#settingsModal .notice,
#settingsModal .notice *{color:#315fb5}
#qqConnectModal .eyebrow,
#qqConnectModal .muted,
#qqConnectModal .qq-connect-warning,
#qqConnectModal .qq-binding-panel h3,
#qqConnectModal .qq-binding-panel p,
#qqConnectModal .qq-binding-panel small,
#qqConnectModal .qq-binding-panel code,
#qqConnectModal .qq-binding-state{color:#315fb5}
#ownFishModal .own-fish-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:620px){#ownFishModal .own-fish-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Replace the green-tinted panels in these dialogs with a soft white-to-blue wash. */
#ownFishModal .fish-archive-identity,
#ownFishModal .own-fish-stats>div,
#ownFishModal .own-fish-facts article,
#ownFishModal .own-feed-panel,
#upload .filebox,
#upload .notice.privacy,
#settingsModal .interaction-setting,
#settingsModal .exploration-setting,
#settingsModal .notice,
#settingsModal .payer-options label:has(input:checked),
#qqConnectModal .notice,
#qqConnectModal .qq-binding-panel{background:linear-gradient(135deg,#fff 0%,#f3f8ff 52%,#e8f2ff 100%)}
#upload .filebox>span{background:linear-gradient(135deg,#fff 0%,#f3f8ff 52%,#e8f2ff 100%)}
#ownFishModal .fish-archive-identity,
#ownFishModal .own-fish-stats>div,
#ownFishModal .own-fish-facts article,
#ownFishModal .own-feed-panel,
#upload .filebox,
#settingsModal .interaction-setting,
#settingsModal .exploration-setting,
#settingsModal .notice,
#qqConnectModal .qq-binding-panel{border-color:#d8e6f8}

.persona-identity-fields{margin:12px 0;padding:14px 16px;border:1px solid #dcebe6;border-radius:12px;background:#f7fbf9}.persona-identity-fields>div{display:grid;gap:5px;color:#174c55}.persona-identity-fields>div>b{font-size:14px}.persona-identity-fields>div>small{color:#7a969b;font-size:12px;line-height:1.5}.persona-identity-fields .setting-label{margin:12px 0 0}.persona-identity-fields input{width:100%;box-sizing:border-box;padding:10px;border:1px solid #d5e5df;border-radius:9px;background:#fff;color:var(--ink);font:inherit}

/* Persona settings use the site blue palette. */
.persona-modal .eyebrow,.persona-modal .muted,.persona-modal .persona-settings-heading>small,.persona-modal .persona-identity-fields>div>small,.persona-modal .setting-label,.persona-modal .persona-storage-note,.persona-modal .persona-server-status{color:#6f8ca6}.persona-modal .persona-settings,.persona-modal .persona-identity-fields{border-color:#d8e8f5;background:#f4f9fe}.persona-modal .persona-settings-heading,.persona-modal .persona-identity-fields>div{color:#234b72}.persona-modal .persona-mode-card,.persona-modal .persona-preset-field{border-color:#d8e8f5;background:#fff}.persona-modal .persona-mode-card:has(input:checked){border-color:#78afe0;background:#eef7ff;box-shadow:0 0 0 1px #78afe0 inset}.persona-modal .persona-mode-card input{accent-color:#4f8dc7}.persona-modal .setting-label input,.persona-modal .setting-label select,.persona-modal .persona-identity-fields input,.persona-modal .persona-preset-field select{border-color:#d5e5f3;background:#fff;color:#244c71}.persona-modal .persona-prompt-field textarea{border-color:#d5e5f3;background:#fff;color:#244c71}.persona-modal .persona-preset-field .outline{border-color:#d2e3f2;color:#3975ad;background:#f8fbff}.persona-modal .persona-confirm-note{border-color:#d5e7f5;background:#edf6fe;color:#6384a1}.persona-modal .fish-persona-sync-status{color:#6f8ca6}.persona-modal .close{color:#6f8ca6}

.persona-modal .persona-mode-card span small,.persona-modal .persona-preset-field>small{color:#7793ad}.persona-modal .persona-settings .outline:hover,.persona-modal .persona-preset-field .outline:hover{border-color:#9cc5e7;background:#eef7ff;color:#346fA7}

/* Darken explanatory copy in the fish management dialogs to a blue-ink tone. */
#ownFishModal .eyebrow,
#ownFishModal .fish-archive-identity,
#ownFishModal .fish-archive-identity *,
#ownFishModal .own-fish-description,
#ownFishModal .own-fish-facts *,
#ownFishModal .own-fish-bio *,
#ownFishModal .own-fish-stats *,
#upload .eyebrow,
#upload .muted,
#upload .steps *,
#upload .filebox *:not(input),
#upload .notice.privacy *,
#upload .caption,
#settingsModal .eyebrow,
#settingsModal .switch-row b,
#settingsModal .switch-row small,
#settingsModal .payer-options b,
#settingsModal .payer-options label,
#settingsModal .payer-options small,
#settingsModal .payer-budget,
#settingsModal .payer-budget-note,
#settingsModal .setting-label,
#settingsModal .exploration-token-note,
#settingsModal .exploration-demo-note,
#settingsModal .visitor-memory-tools *,
#settingsModal .notice,
#settingsModal .notice *,
#qqConnectModal .eyebrow,
#qqConnectModal .muted,
#qqConnectModal .qq-connect-warning,
#qqConnectModal .qq-binding-panel h3,
#qqConnectModal .qq-binding-panel p,
#qqConnectModal .qq-binding-panel small,
#qqConnectModal .qq-binding-panel code,
#qqConnectModal .qq-binding-state{color:#26384b}

/* Use pale blue for the non-destructive cards in the memory dialog. */
#memoryForgettingDialog .memory-forgetting-toggle,
#memoryForgettingDialog .public-profile-memory-settings{
  border-color:#d8e6f8;
  background:linear-gradient(135deg,#fff 0%,#f3f8ff 52%,#e8f2ff 100%);
}
#memoryForgettingDialog .public-profile-memory-option{border-color:#d8e6f8;color:#26384b}
#memoryForgettingDialog .public-profile-memory-option input{accent-color:#4f8dc7}
#memoryForgettingDialog .memory-empty{border-color:#c8dcf2;background:#f4f9ff;color:#58728d}
#memoryForgettingDialog .memory-forgetting-toggle input:checked{background:#78afe0}
#memoryForgettingDialog .memory-forgetting-toggle small,
#memoryForgettingDialog .public-profile-memory-settings>div:first-child small,
#memoryForgettingDialog .public-profile-memory-option small,
#memoryForgettingDialog .caption{color:#58728d}

/* Keep chat headers within the viewport while preserving the full-size community layout. */
@media(min-width:781px){
  body:has(#ownFishChatPage:not([hidden])),
  body:has(#chatPage:not([hidden])),
  body:has(#userChatPage:not([hidden])){--client-ui-scale:1}
  body:has(#ownFishChatPage:not([hidden])) .shell,
  body:has(#chatPage:not([hidden])) .shell,
  body:has(#userChatPage:not([hidden])) .shell{height:calc(100dvh / var(--client-ui-scale))}
  body:has(#ownFishChatPage:not([hidden])) .sidebar,
  body:has(#chatPage:not([hidden])) .sidebar,
  body:has(#userChatPage:not([hidden])) .sidebar{height:calc(100dvh / var(--client-ui-scale))}
}

/* Blue-tinted phone sign-in dialog with high-contrast blue-black text. */
#signupModal{border-color:#cbdcf3;background:linear-gradient(145deg,#fff 0%,#f4f8ff 54%,#e8f2ff 100%);color:#20344d}

.home-region-label{color:#315f9f;font-size:11px;font-weight:700;white-space:nowrap}.home-local-info .weather-credit{color:#8ba0b8}.home-local-info button:disabled{opacity:.65;cursor:wait}

.region-dialog{width:min(420px,calc(100vw - 28px))}.region-dialog>label{display:block;margin:16px 0 7px;color:#315f9f;font-size:12px;font-weight:700}.region-dialog>input{width:100%;padding:11px 12px;border:1px solid #cbdcf2;border-radius:10px;background:#fff;color:#203d60;font:inherit}.region-dialog>input:focus{outline:2px solid #c6dcfb;outline-offset:1px}.region-dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:16px}

/* Account menu text follows the black-blue theme. */
.account-menu button{color:#263e5f}
.account-uid{color:#526983}
.account-uid small,.account-privacy small{color:#718198}
.account-uid b,.account-privacy b{color:#263e5f}
.account-logout{color:#315987}

.own-profile-cover-tools #editProfileButton{display:inline-flex!important}
.auto-generated-bio-preview{min-height:72px;margin-top:14px;padding:14px 16px;border:1px solid #dceae5;border-radius:12px;background:#fbfdfc;color:#315b57;line-height:1.8;font-size:14px}
.own-fish-bio-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.own-fish-bio-heading .outline{padding:6px 10px;font-size:11px}.own-fish-bio-status{display:block;margin-top:7px}
.payer-note{margin:6px 0 0;font-size:12px;line-height:1.7;color:#5f7d77}
#ownFishChatStatus{display:none!important}

.chat-typing span,.own-chat-typing span{display:inline-block;animation:chatTypingJump 1s ease-in-out infinite}
@keyframes chatTypingJump{0%,60%,100%{transform:translateY(0);opacity:.55}30%{transform:translateY(-4px);opacity:1}}

.own-chat-message.theirs>div,.chat-bubble.fish-bubble{position:relative;overflow:visible;padding-right:10px;border-radius:16px}
.own-chat-message.theirs>div::after,.chat-bubble.fish-bubble::after{content:"";position:absolute;display:none}
.own-chat-message.theirs>div>p,.own-chat-message.theirs>div>audio,.chat-bubble.fish-bubble>p{position:relative;z-index:1}

/* Solid blue frame for the web app's top bar and navigation rail. */
:root{--teal:#316fc5;--ink:#1c3d69}
.shell{grid-template-columns:76px minmax(0,1fr);max-width:none}
.shell>main{min-width:0}
.topbar{height:60px;gap:20px;justify-content:flex-start;padding:0 clamp(18px,2.4vw,34px);background:#316fc5;border-bottom:0;backdrop-filter:none;box-shadow:0 2px 10px #174b9026}
.topbar-brand{flex:none;margin-right:auto;color:#fff;font-size:17px;line-height:1.2}
.topbar-brand small{color:#e5efff}
.top-tools{flex:none;margin-left:0;gap:10px}
.search-wrap{flex:0 1 260px;width:min(260px,24vw);min-width:190px}
.search-wrap .search{width:100%;background:#ffffff18;border-color:#ffffff55;color:#fff}
.search-wrap .search input{color:#fff}
.search-wrap .search input::placeholder{color:#e5efff}
.search-topic-ticker,.search-topic-ticker b{color:#e9f2ff}
.top-tools .verify-button,.top-tools .rice-wallet{border-color:#ffffff70;background:#fff;color:#28558f}
.top-tools .bell{color:#fff}
.sidebar{background:#316fc5;border-right:0;color:#fff}
.sidebar .brand{background:transparent;color:#fff}
.sidebar .nav{color:#e9f2ff}
.sidebar .nav:hover,.sidebar .nav:focus-visible{background:#ffffff24;color:#fff}
.sidebar .nav.active{background:#ffffff30;color:#fff}
.sidebar .nav i{background:#fff;color:#316fc5}
.sidebar .nav-icon{color:inherit}
.sidebar .self-fish-nav .nav-icon{background:transparent}
.sidebar-bottom .bottom-me-brand{color:#e5efff}
.sidebar-bottom .bottom-me-nav:hover{background:transparent}
.sidebar .settings-logo-mark{outline:1px solid #ffffff88}
@media(max-width:1000px){.topbar{height:60px;padding-left:18px;padding-right:18px;gap:14px}.top-tools{gap:8px}.search-wrap{width:220px;min-width:160px}}
@media(max-width:780px){.topbar{height:57px;padding:0 14px}.mobile-brand{color:#fff}.top-tools{gap:6px}.search-wrap{display:none}.topbar .mobile-own-fish-nav{border-color:#ffffff70;background:#ffffff20;color:#fff}}



#ownFishChatPage .own-chat-compose-row{grid-template-columns:36px minmax(0,1fr) 36px auto}
#ownFishChatPage #ownFishTtsDebugToggle{grid-column:3}
#ownFishChatPage #sendOwnFishMessage{grid-column:4}
@media(max-width:560px){#ownFishChatPage .own-chat-compose-row{grid-template-columns:32px minmax(0,1fr) 34px auto}}

.own-tts-provider-switch{display:grid;grid-template-columns:minmax(150px,240px) 1fr;align-items:end;gap:12px;margin:0 0 12px}.own-tts-provider-switch label{display:grid;gap:5px;color:#527772;font-size:11px;font-weight:700}.own-tts-provider-switch select{width:100%;border:1px solid #dceae5;border-radius:9px;padding:9px 10px;background:#fff;color:#254c49;font:inherit}.own-tts-provider-switch small{color:#78938d;font-size:10px;line-height:1.5;padding-bottom:8px}.own-tts-provider-pane[hidden]{display:none!important}@media(max-width:620px){.own-tts-provider-switch{grid-template-columns:1fr;gap:4px}.own-tts-provider-switch small{padding-bottom:0}}

[data-provider-pane='breeze_blue'] .own-tts-debug-grid{grid-template-columns:minmax(0,1fr)}.own-tts-provider-card textarea{min-width:0;width:100%;box-sizing:border-box;border:1px solid #dceae5;border-radius:8px;padding:9px 10px;background:#fbfdfc;color:#254c49;font:inherit;resize:vertical}
.breeze-preset-select-label{display:grid;gap:5px;color:#527772;font-size:10px;font-weight:650}.breeze-preset-select-label select{width:100%;min-height:38px;box-sizing:border-box;border:1px solid #cfe0ef;border-radius:9px;padding:8px 10px;background:#fff;color:#254c69;font:inherit;font-size:12px}.breeze-preset-select-label select:focus{outline:2px solid #b9d6f0;border-color:#7da8d2}
.visitor-memory-policy{display:grid;gap:5px;margin:12px 0 2px;padding:12px 14px;border:1px solid #d7e5f3;border-radius:11px;background:linear-gradient(135deg,#f2f8ff,#fbfdff);color:#28527d}.visitor-memory-policy b{font-size:12px}.visitor-memory-policy small{color:#66819c;font-size:11px;line-height:1.55}.encounter-result-grid span:last-child{grid-column:1/-1}.encounter-result-grid b{line-height:1.5}
.breeze-preset-select-label{display:grid;gap:5px;color:#527772;font-size:10px;font-weight:650}.breeze-preset-select-label select{width:100%;min-height:38px;box-sizing:border-box;border:1px solid #cfe0ef;border-radius:9px;padding:8px 10px;background:#fff;color:#254c69;font:inherit;font-size:12px}.breeze-preset-select-label select:focus{outline:2px solid #b9d6f0;border-color:#7da8d2}

/* Daily share modal: replace green accents with the app's dark blue palette. */
#composeDialog .media-pick{
  color:#294f7b;border-color:#cddbeb;background:#f4f7fb;
}
#composeDialog .media-pick:hover{color:#173c67;border-color:#9fb5d1;background:#eaf1f8}
#composeDialog .media-hint,#composeDialog .caption{color:#6d8199}
#composeDialog .moderation-note{
  color:#4d6683;background:#eef3f8;border:1px solid #dce6f0;
}
#composeDialog .count,#composeDialog .count span{color:#315783}
#composeDialog #composeFishName{font-weight:650}
#composeDialog .compose-media-item{border-color:#d9e4ef;background:#f7f9fc}
#composeDialog .compose-media-item img,#composeDialog .compose-media-item video{background:#eaf0f6}
#composeDialog .compose-media-item>span{color:#6d8199}
#composeDialog .compose-media-item>button{background:#1e416a}
#composeDialog .primary.wide{background:#1e416a;border-color:#1e416a;color:#fff}
#composeDialog .primary.wide:hover{background:#285381;border-color:#285381}
/* Voice frequency is one full-width rectangular control; API binding lives in wallet. */
#ownFishTtsDebugPanel .own-chat-voice-controls:not([hidden]){display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%;margin:12px 0 16px}
#ownFishTtsDebugPanel .own-chat-voice-controls label[for="ownFishVoiceMode"]{width:100%;min-height:0;grid-template-rows:auto 44px;border-radius:10px!important}
#ownFishTtsDebugPanel .own-chat-voice-controls label[for="ownFishVoiceMode"] select{width:100%;min-width:0;box-sizing:border-box;border-radius:8px}
#ownFishTtsDebugPanel .own-tts-debug-heading b{font-size:16px}

.exploration-history{margin:14px 0 18px;padding:13px;border:1px solid #d6e3f2;border-radius:12px;background:#f8fbff}.exploration-history-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.exploration-history-heading>div{display:grid;gap:3px}.exploration-history-heading b{color:#25466e;font-size:14px}.exploration-history-heading small,.exploration-history-detail small{color:#7589a0;font-size:11px;line-height:1.45}.exploration-history-list{display:grid;gap:9px;max-height:300px;overflow:auto}.exploration-history-empty{margin:0;padding:12px;border:1px dashed #cddced;border-radius:9px;color:#7a8ca1;font-size:12px;line-height:1.6}.exploration-history-card{min-width:0;padding:11px;border:1px solid #dce7f2;border-radius:10px;background:white}.exploration-history-meta{display:flex;justify-content:space-between;align-items:start;gap:8px}.exploration-history-meta b{min-width:0;color:#365b82;font-size:12px;overflow-wrap:anywhere}.exploration-history-meta time{flex:none;color:#8997a7;font-size:10px}.exploration-history-detail{margin-top:8px}.exploration-history-detail p{margin:3px 0 0;color:#536a82;font-size:12px;line-height:1.55;overflow-wrap:anywhere}.exploration-history-detail.own{padding-top:7px;border-top:1px solid #edf1f6}.exploration-history-detail.own p{color:#285a8d}@media(max-width:520px){.exploration-history{padding:10px}.exploration-history-meta{display:grid;gap:3px}.exploration-history-list{max-height:240px}}

.exploration-memory-toggle{margin:0 0 10px;padding:10px 11px;border:1px solid #dce7f2;border-radius:10px;background:#fff}.exploration-memory-toggle label{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}.exploration-memory-toggle label>span{display:grid;gap:3px}.exploration-memory-toggle b{color:#34557f;font-size:12px}.exploration-memory-toggle label small,.exploration-memory-toggle>#explorationMemoryStatus{color:#7b8da1;font-size:10px;line-height:1.45}.exploration-memory-toggle input{flex:none;width:18px;height:18px;accent-color:#3567ae}.exploration-memory-toggle>small{display:block;margin-top:7px}

.exploration-history-status{display:block;margin:0 0 8px;color:#7b8da1;font-size:10px;line-height:1.45}


.exploration-memory-sync-status{display:block;margin-top:7px;color:#73879b;font-size:10px;line-height:1.4}

/* DeepSeek account binding modal in the blue-black wallet theme. */
#deepSeekAccountModal{border:1px solid #cbdcf3;background:#fff;color:#20344d}
#deepSeekAccountModal .eyebrow,#deepSeekAccountModal>label{color:#315f9f}
#deepSeekAccountModal h2,#deepSeekAccountModal p{color:#20344d}
#deepSeekAccountModal>label{font-weight:700}
#deepSeekAccountApiKey{border-color:#cbdcf2;background:#fff;color:#20344d}
#deepSeekAccountApiKey::placeholder{color:#8191a6}
#deepSeekAccountApiKey:focus{outline:2px solid #c6dcfb;outline-offset:1px}
#deepSeekAccountModal .notice{border-color:#d6e5f8;background:#f1f7ff;color:#58728d}
#deepSeekAccountModal .notice *{color:#58728d}
#deepSeekAccountModal .account-binding-actions .outline{border-color:#cbdcf2;background:#fff;color:#315f9f}
#deepSeekAccountModal .caption{color:#58728d}
