/* Four seasons of Jianghu. Palette tokens cover text as well as scenery. */
:root{--bg:#102320;--panel:#182e28;--panel2:#243c32;--ink:#f0f2e6;--muted:#b2c3b8;--gold:#e4c58e;--jade:#c3d4b5;--line:#b8c5a635;--surface:#162b24f5;--field:#10241fe6;--bubble:#253e34f2;--own:#39523ded;--accent-ink:#213528;--danger:#ffb7a7;--wash:#112920bb;--deep:#10231fec;--scene:var(--bns-resource-5a706ae5c50c,url("https://s.haory.cn/x/x137/bns-community/public237/assets/moonwater.jpg"));--focus:#eed3a3;--shadow:#03151066;color-scheme:dark}
:root[data-theme=snow]{--bg:#e9f0f6;--panel:#f6f9fc;--panel2:#e5edf4;--ink:#24394c;--muted:#52687b;--gold:#775124;--jade:#365f79;--line:#64869c40;--surface:#f5f9fcf5;--field:#ffffffed;--bubble:#f8fbfff5;--own:#dce9f3f5;--accent-ink:#fff;--danger:#a52c37;--wash:#eaf2f8a1;--deep:#e5edf3e8;--scene:var(--bns-resource-d56cbd164950,url("https://s.haory.cn/x/x137/bns-community/public237/assets/snow.webp"));--focus:#30637f;--shadow:#42647b25;color-scheme:light}
:root[data-theme=maple]{--bg:#29191d;--panel:#352126;--panel2:#452b30;--ink:#fff0e3;--muted:#d4b7ae;--gold:#f0b47e;--jade:#e3b89c;--line:#d5a69838;--surface:#321e25f5;--field:#25161de6;--bubble:#44282ef2;--own:#653638ed;--accent-ink:#3b201c;--danger:#ffaaa9;--wash:#31131b98;--deep:#28181de8;--scene:var(--bns-resource-32befd94e197,url("https://s.haory.cn/x/x137/bns-community/public237/assets/maple.svg"));--focus:#ffd3ac;--shadow:#17080c66}
:root[data-theme=night]{--bg:#0f131e;--panel:#191f2e;--panel2:#252c3e;--ink:#edf0ff;--muted:#b0bbd2;--gold:#d5c5a5;--jade:#c0cbe2;--line:#a5b6d538;--surface:#161c2bf5;--field:#101522e8;--bubble:#252d41f2;--own:#343f56ed;--accent-ink:#23293a;--danger:#ffb5b7;--wash:#11162696;--deep:#0d1322ea;--scene:var(--bns-resource-d1077fcb5bb4,url("https://s.haory.cn/x/x137/bns-community/public237/assets/night.webp"));--focus:#d1dcf7;--shadow:#0008}
:root[data-theme=snow] .logo img{background:#263945;border-radius:6px;padding:2px 3px}
body{background:var(--bg);color:var(--ink)}button,input,textarea,select{color:var(--ink)}button:hover{background:var(--panel2);border-color:var(--gold)}button:focus-visible,a:focus-visible{outline:2px solid var(--focus);outline-offset:3px}button.primary,button.jade{background:var(--gold);color:var(--accent-ink);border-color:var(--gold)}button.primary:hover,button.jade:hover{filter:brightness(1.09);background:var(--gold)}button.danger,.form-error{color:var(--danger)}input,textarea,select{background:var(--field);border-color:var(--line)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.85}input:focus,textarea:focus,select:focus{border-color:var(--focus)}label,.navlinks,.notice,.modal-note,.guide p,.side-note,.empty-mini,.subheading,.right-title,.message .meta,.voice-label,.composer-bottom span,.toolbar button{color:var(--muted)}input[type=checkbox]{accent-color:var(--gold)}.pill{border-color:var(--line)}.dot{background:var(--jade)}.badge{background:var(--gold);color:var(--accent-ink)}
.landing{background:linear-gradient(90deg,var(--deep),var(--wash)),var(--scene) center/cover no-repeat}.login-card{background:var(--surface);border-color:var(--line)}.hero h1{text-shadow:0 3px 28px var(--shadow)}.hero h1 em,.hero-motto b{color:var(--gold)}.hero-copy>p,.hero-motto small,.landing footer{color:var(--muted)}
.workspace{height:var(--app-height,100dvh);min-height:0;background:var(--bg)}.topbar,.rail,.composer{background:var(--surface)}.sidebar,.rightbar{background:var(--panel)}.layout,.chat-panel{min-height:0}.chat-panel{background:linear-gradient(var(--wash),var(--deep)),var(--scene) center/cover}.chat-header{background:var(--surface)}.chat-header>.row{min-width:0}.chat-header>.row>div{min-width:0}.chat-header h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-header>button{flex-shrink:0}.rail button.active,.side-filter button.active,.room-item.selected{background:var(--panel2);color:var(--gold);border-color:var(--line)}.official-room{background:var(--panel2);border-color:var(--line)}.official-announcement{background:var(--surface);color:var(--gold)}.bubble{background:var(--bubble);border-color:var(--line);color:var(--ink)}.own .bubble{background:var(--own);border-color:var(--line);color:var(--ink)}.bubble img{max-width:min(280px,100%);height:auto}.bubble audio{max-width:100%}.toolbar .send-money{color:var(--gold)}.wallet{background:var(--panel2);border-color:var(--line)}.balance{color:var(--gold);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.wallet-sync{color:var(--muted);font-size:10px;margin-bottom:8px}.landmark{background:linear-gradient(var(--wash),var(--deep)),var(--scene) center/cover}.landmark p{color:var(--muted)}.empty-symbol{color:var(--gold);opacity:.45}.person-card,.admin-card,.environment-card{background:var(--panel);border-color:var(--line)}.person-info{min-width:0;overflow-wrap:anywhere}.person-info b{word-break:break-word}.modal-note{background:var(--panel2);border-color:var(--gold)}dialog{background:var(--panel);border-color:var(--line);max-height:min(88dvh,calc(var(--app-height,100dvh) - 28px));overscroll-behavior:contain}dialog::backdrop{background:var(--shadow);backdrop-filter:blur(6px)}.toast{background:var(--ink);color:var(--bg)}.admin-page{background:var(--bg)}.environment-card pre{background:var(--field);color:var(--muted)}
.avatar{overflow:hidden;background:#18272a;border-color:var(--line);box-shadow:0 3px 10px var(--shadow)}.avatar img{display:block;width:100%;height:100%;object-fit:cover}.avatar-job img,.avatar-community img{padding:7px;object-fit:contain}.avatar.large img{padding:10px}.avatar-custom img,.avatar-custom.large img{padding:0}.avatar.group{background:#263b3e}.message .avatar img{padding:4px}.message .avatar-custom img{padding:0}.avatar-preview{display:flex;justify-content:center;margin:12px 0 20px}.avatar-preview>img{width:128px;height:128px;object-fit:cover;border-radius:22px;border:1px solid var(--line)}.avatar-preview .avatar.large{width:112px;height:112px}.balance-chip{max-width:160px;white-space:nowrap;color:var(--gold);font-variant-numeric:tabular-nums}.appearance-trigger{width:38px;height:38px;font-size:23px;line-height:1;padding:5px}.profile-settings{margin:26px 0;padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.profile-settings>p{font-size:12px;margin:8px 0 16px}.theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}.theme-choice{padding:7px;text-align:left;overflow:hidden;min-width:0;border-color:var(--line);background:var(--field)}.theme-choice strong{display:block;font:16px var(--serif);margin:8px 5px 0}.theme-choice small{display:block;color:var(--muted);font-size:10px;margin:3px 5px 6px}.theme-choice.selected{border-color:var(--gold);outline:1px solid var(--gold);background:var(--panel2)}.theme-preview{display:block;height:80px;border-radius:5px;background-position:center;background-size:cover}.theme-jade{background-image:linear-gradient(#163c2120,#152e2390),var(--bns-resource-5a706ae5c50c,url("https://s.haory.cn/x/x137/bns-community/public237/assets/moonwater.jpg"))}.theme-snow{background-image:var(--bns-resource-d56cbd164950,url("https://s.haory.cn/x/x137/bns-community/public237/assets/snow.webp"))}.theme-maple{background-image:var(--bns-resource-32befd94e197,url("https://s.haory.cn/x/x137/bns-community/public237/assets/maple.svg"))}.theme-night{background-image:var(--bns-resource-d1077fcb5bb4,url("https://s.haory.cn/x/x137/bns-community/public237/assets/night.webp"))}
@media(min-width:761px) and (max-width:1000px){.layout{grid-template-columns:64px 224px minmax(0,1fr)}.sidebar{padding:23px 10px}.topbar .environment{max-width:160px;overflow:hidden;text-overflow:ellipsis}.topbar{padding:0 18px}.messages{padding:22px}.chat-header{padding:0 22px}.message{max-width:96%}}
@media(max-width:760px){
 html,body,#app{min-width:0;width:100%}.workspace{grid-template-rows:60px minmax(0,1fr);overflow:hidden}.topbar{height:60px;padding:0 max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left));gap:8px}.topbar>.row{gap:6px;min-width:0}.topbar .environment,.topbar .desktop-logout,.connection{display:none}.topbar .logo{gap:3px}.topbar .logo strong{font-size:15px;letter-spacing:.6px}.topbar .logo img{width:44px;height:25px}.topbar .balance-chip{font-size:11px;padding:6px;max-width:100px;overflow:hidden;text-overflow:ellipsis}.topbar .appearance-trigger{width:34px;height:38px}.layout,.workspace.content-open .layout{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto}.rail{grid-row:2;grid-column:1;flex-direction:row;justify-content:space-around;gap:0;padding:5px 10px calc(5px + env(safe-area-inset-bottom));border-right:0;border-top:1px solid var(--line);z-index:2}.rail>.avatar,.rail>.bottom{display:none}.rail button{flex:1;width:auto;max-width:100px;padding:5px 0;min-height:49px;font-size:11px;border-radius:10px}.rail .glyph{font:22px/1.2 var(--serif);margin-bottom:2px}.sidebar{grid-row:1;grid-column:1;min-height:0;border-right:0;padding:24px 16px 12px}.sidebar-head{padding:0 4px 18px}.sidebar h2{font-size:28px}.sidebar .side-filter{padding:0;margin-bottom:14px}.side-filter button{padding:7px 20px;font-size:12px;border-radius:20px}.room-item{padding:15px 12px;gap:13px;margin-bottom:8px;min-height:83px}.room-item .avatar{width:48px;height:48px;border-radius:14px}.room-item b{font-size:14px}.room-item .preview{max-width:none;font-size:11px}.room-item .official-tag{font-size:10px}.side-note{padding:22px 12px;font-size:12px}.chat-panel{grid-row:1;grid-column:1;min-width:0}.workspace.room-open .layout{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.workspace.room-open .rail,.workspace.room-open .sidebar{display:none}.workspace.content-open .rail{display:flex}.workspace.content-open .sidebar{display:none}.workspace.content-open .chat-panel,.workspace.room-open .chat-panel{display:flex}.rightbar{display:none}.chat-header{padding:0 14px;height:66px;gap:8px}.chat-header h2{font-size:18px;letter-spacing:1px}.chat-header>.row{gap:5px;flex:1}.chat-header p{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-header>button{padding:10px 4px;min-height:44px;font-size:11px}.back-button{display:block;flex-shrink:0;padding:5px 12px 5px 0;min-height:44px}.official-announcement{max-height:70px;padding:9px 16px;font-size:10px}.messages{padding:18px 12px;gap:20px;overscroll-behavior:contain;scroll-behavior:auto}.message{max-width:95%;gap:8px}.message .avatar{width:31px;height:31px;border-radius:10px;flex:0 0 31px}.message .meta{font-size:10px}.bubble{padding:10px 13px;font-size:14px;line-height:1.75;max-width:100%}.bubble img{max-width:100%;min-width:0;max-height:250px}.bubble.voice{width:235px;max-width:100%}.bubble.voice audio{width:100%;min-width:0}.money-card{width:225px;max-width:100%}.money-main{padding:15px;gap:10px}.money-main b{font-size:17px}.money-icon{flex-shrink:0}.composer{padding:5px max(12px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));flex-shrink:0}.toolbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px}.toolbar button{font-size:12px;min-height:40px;padding:6px 0}.composer textarea{height:58px;max-height:96px;padding:9px 10px;font-size:16px;line-height:1.4;background:var(--field);border:1px solid var(--line);border-radius:10px;margin:3px 0 5px;display:block}.composer-bottom{justify-content:flex-end}.composer-bottom button{min-height:37px;padding:6px 20px}.scroll-panel{padding:24px 18px calc(24px + env(safe-area-inset-bottom));min-width:0;overscroll-behavior:contain}.section-head h2{font-size:28px}.section-head .eyebrow{font-size:9px;letter-spacing:2px}.person-card{gap:10px;padding:13px;min-width:0}.person-card .person-info{flex:1;min-width:100px}.person-card button{min-height:40px}.row.wrap{gap:9px}.row.wrap>button{min-height:44px}.profile-settings{padding:17px}.theme-grid{gap:10px}.theme-preview{height:72px}.theme-choice strong{font-size:15px}.theme-choice small{font-size:10px;line-height:1.6}.balance{font-size:36px}.wallet{padding:20px;margin:20px 0}.money-amount{font-size:38px;overflow-wrap:anywhere}.modal-header{gap:12px;margin-bottom:15px}.modal-header h2{font-size:23px;letter-spacing:1px}.modal-header button{min-height:42px;min-width:42px}.modal-footer{gap:8px;flex-wrap:wrap}dialog{width:calc(100% - 24px);padding:20px;border-radius:18px;max-height:calc(var(--app-height,100dvh) - 24px);margin:auto}dialog input,dialog textarea,dialog select,.scroll-panel input,.scroll-panel textarea{font-size:16px}dialog input[type=file]{padding:10px 6px;font-size:12px}.form-inline{flex-wrap:wrap}.form-inline input{min-width:0}.admin-nav{scrollbar-width:thin}.admin-page .topbar .environment{display:none}.admin-container{padding:24px 16px}.admin-container .between{flex-wrap:wrap}.admin-page h3{font-size:20px}.environment-card{padding:18px}.environment-card pre{padding:10px}.hero{padding:30px 20px}.hero h1{font-size:42px}.login-card{padding:24px}.nav{padding:0 20px}.nav .environment{max-width:132px;overflow:hidden}.nav .logo strong{font-size:16px}.nav .logo img{width:46px}.navlinks{gap:0}#toasts{bottom:calc(82px + env(safe-area-inset-bottom));max-width:calc(100vw - 24px)}
}
@media(max-width:360px){.topbar .logo strong{font-size:14px}.topbar .logo img{width:36px}.topbar .balance-chip{max-width:92px}.message{max-width:100%}.message .avatar{width:27px;height:27px;flex-basis:27px}.messages{padding:16px 10px}.bubble.voice{width:216px}.money-card{width:216px}.theme-choice small{font-size:9px}.profile-settings{padding:12px}.hero h1{font-size:37px}}
@media(max-width:760px){:root[data-theme=snow]{--scene:var(--bns-resource-4cd1ebc65e0d,url("https://s.haory.cn/x/x137/bns-community/public237/assets/snow-mobile.webp"))}:root[data-theme=night]{--scene:var(--bns-resource-2c838a79c7aa,url("https://s.haory.cn/x/x137/bns-community/public237/assets/night-mobile.webp"))}.theme-snow{background-image:var(--bns-resource-4cd1ebc65e0d,url("https://s.haory.cn/x/x137/bns-community/public237/assets/snow-mobile.webp"))}.theme-night{background-image:var(--bns-resource-2c838a79c7aa,url("https://s.haory.cn/x/x137/bns-community/public237/assets/night-mobile.webp"))}}
@media(max-height:560px) and (max-width:760px){.workspace{grid-template-rows:46px minmax(0,1fr)}.topbar{height:46px}.chat-header{height:50px}.official-announcement{max-height:36px;padding:5px 14px}.composer textarea{height:42px}.composer{padding-bottom:5px}.toolbar button{min-height:32px}.messages{padding-top:10px;padding-bottom:10px}.composer-bottom button{min-height:32px}}
