/*! Shared 789.work identity. The main site's approved logo, colour icons and landscape own this layer. */
:root{
 --m-maxw:1920px;--m-aside-w:200px;--m-nav-h:80px;--m-radius:12px;
 --m-blur:rgba(246,248,246,.82);--m-aside-bg:rgba(245,245,245,.75);--brand-blue:#0087ff;--brand-green:#00b978;--brand-orange:#ff8b20;
 --main-color:#484b4f;--title-color:#343b43;--muted-color:#6e7782;
 --body-bg-color:#f2f4f7;--main-bg-color:#fff;--muted-bg-color-l:#f5f6f8;--line-color:#e7eaee;
 --theme-color:#f1404b;--hover-color:#d92536;--focus-shadow:rgba(241,64,75,.2);
 --shadow:0 1px 3px rgba(24,28,33,.025),0 5px 18px rgba(24,28,33,.025);
 --font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei UI","Microsoft YaHei",sans-serif;
}
html[data-theme="dark"]{
 color-scheme:dark;--m-blur:rgba(35,40,46,.88);--m-aside-bg:rgba(36,43,53,.94);--main-color:#ccd2da;--title-color:#f1f4f8;
 --muted-color:#a0a9b5;--main-bg-color:#262b32;--body-bg-color:#191d23;
 --muted-bg-color-l:#20252c;--line-color:#3a414b;--input-bg:#30363f;
 --shadow:0 3px 14px rgba(0,0,0,.12);
}
html:not([data-theme="dark"]){color-scheme:light}
body{font-family:var(--font)}
.wb-icon-definitions{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.wb-brand-icon{display:inline-block;flex-shrink:0;vertical-align:middle;overflow:visible}

/* Same floating header geometry as the main site, with a clear toolbox destination. */
.m-header{padding:10px;}
.m-header .m-bar{height:60px;padding:0 16px;border-radius:12px;gap:20px;box-shadow:0 2px 14px rgba(26,40,50,.035);}
.m-brand{gap:14px;flex-shrink:0;min-height:44px;}
.m-brand-art{position:relative;display:inline-block;flex-shrink:0;line-height:1;}
.m-brand-art picture{display:block}
.m-brand-art img{display:block;width:157px;height:42px;max-width:none;object-fit:contain}
.m-brand-art .brand-dark{display:none;position:absolute;inset:0;filter:brightness(0) invert(1);clip-path:polygon(58% 0,100% 0,100% 100%,51% 100%,51% 78%,58% 78%);pointer-events:none}
html[data-theme="dark"] .m-brand-art .brand-dark{display:block}
.m-brand-label{padding-left:14px;border-left:1px solid var(--line-color);font-size:14px;font-weight:600;line-height:1.4;color:var(--main-color)}
.m-menu{gap:6px;margin:0}
.m-menu a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 12px;border-radius:8px;font-size:14px}
.m-menu a:hover{background:rgba(255,255,255,.6)}
.m-actions{gap:8px}
.m-actions #wb-focus,.m-actions #btn-theme{height:40px;min-height:40px;padding:7px 12px;gap:6px;border:1px solid var(--line-color);border-radius:9px;background:var(--main-bg-color);color:var(--main-color);font-size:13px;font-weight:500;line-height:1.5}
.m-actions #btn-theme svg{width:19px;height:19px}
.m-actions #wb-focus:hover,.m-actions #wb-focus[aria-pressed="true"],.m-actions #btn-theme:hover{border-color:var(--theme-color);color:var(--theme-color);background:var(--main-bg-color)}
.m-header :focus-visible{outline:3px solid var(--brand-blue);outline-offset:3px}

/* Local, responsive copies of the approved main-site painting; same spacing on every route. */
.m-hero{padding-top:80px;background-color:#dce2df;background-position:center 58%;background-image:linear-gradient(180deg,rgba(218,226,221,.32),rgba(218,226,221,.18) 48%,rgba(218,226,221,.46)),url("../brand/guilin-desktop.jpg");background-image:linear-gradient(180deg,rgba(218,226,221,.32),rgba(218,226,221,.18) 48%,rgba(218,226,221,.46)),image-set(url("../brand/guilin-desktop.webp") type("image/webp"),url("../brand/guilin-desktop.jpg") type("image/jpeg"));}
.m-hero-in{padding:0 16px 0 calc(var(--m-aside-w) + 25px);}
.m-bigsearch{max-width:800px;padding:32px 0;}
.m-searchform input,.m-hero-tool .m-searchform input{height:50px;border-radius:12px;padding:0 62px 0 20px;background:rgba(255,255,255,.95);font-size:16px;box-shadow:0 5px 20px rgba(30,44,54,.08)}
.m-searchform:focus-within input{box-shadow:0 5px 20px rgba(30,44,54,.08),0 0 0 3px rgba(0,135,255,.25)}
.m-searchbtn,.m-hero-tool .m-searchbtn{top:3px;right:3px;width:44px;height:44px;border-radius:10px;}
.m-searchpop,.m-hero-tool .m-searchpop{top:86px;max-height:min(420px,55vh);border:1px solid var(--line-color);}
.m-hotchips{gap:8px;margin-top:14px;}
.m-hotchips a{padding:5px 12px;border:1px solid rgba(255,255,255,.6);background:rgba(250,253,251,.77);color:#34434c;font-size:12px;line-height:1.5;text-shadow:none;backdrop-filter:blur(6px)}
.m-hotchips a:hover{color:#9e2739;background:#fff;}
html[data-theme="dark"] .m-hero{background-color:#1c2930;background-image:linear-gradient(rgba(20,30,37,.48),rgba(20,30,37,.62)),url("../brand/guilin-desktop.webp")}
html[data-theme="dark"] .m-hotchips a{background:rgba(29,40,48,.8);color:#eef3f7;border-color:rgba(255,255,255,.26)}

/* Keep all categories visible; match the main site's slim colour icons and bottom collapse control. */
.m-wrap{padding:20px 10px 30px;}
.m-content{margin-left:calc(var(--m-aside-w) + 15px);}
.m-aside{top:80px;left:max(10px,calc(50% - var(--m-maxw)/2 + 10px));padding:10px;background:var(--m-aside-bg);-webkit-backdrop-filter:saturate(2) blur(15px);backdrop-filter:saturate(2) blur(15px);box-shadow:0 5px 15px -5px rgba(0,0,0,.1);}
.m-aside .mcat{gap:10px;border-radius:8px;font-size:14px;font-weight:400;}
.m-aside .mcat svg{width:23px;height:23px;flex-basis:23px;}
.m-aside .mcat.on{background:var(--main-bg-color);color:var(--title-color);box-shadow:inset 3px 0 0 var(--theme-color);font-weight:600;}
.m-aside .mcat:hover{background:rgba(255,255,255,.72);color:var(--title-color);}
.m-aside-toggle{background:transparent;border-radius:0 0 8px 8px;font-size:14px;}
.m-aside-toggle:hover{background:transparent;color:var(--theme-color);}
.m-aside-toggle .wb-brand-icon{width:23px;height:23px;flex-basis:23px;}
@media(min-width:992px){
 /* The grid reserves the rail on short pages and bounds sticky positioning above the footer. */
 .m-two-col{display:grid;grid-template-columns:var(--m-aside-w) minmax(0,1fr)}
 .m-content{margin-left:0}
 .m-aside{position:sticky;left:auto;align-self:start;margin-top:calc(-1 * var(--m-aside-lift,0px));--m-aside-row-h:clamp(20px,calc((100vh - 164px)/var(--m-aside-items,14)),42px);max-height:none;overflow:visible}
 .m-aside-collapsible{min-height:min(calc(100dvh - 90px),760px)}
 .m-aside-toggle{margin-top:auto;min-height:44px;padding:10px 8px;}
 html[data-aside-collapsed="true"]{--m-aside-w:64px}
 html[data-aside-collapsed="true"] .m-brand-label{display:inline-block}
 html[data-aside-collapsed="true"] .m-aside .mcat{padding:0 4px}
}
@media(min-width:992px) and (max-height:459px){.m-aside{position:relative;top:auto}.m-aside-collapsible{min-height:0}.m-aside-toggle{margin-top:8px}}
html[data-theme="dark"] .m-aside .mcat:hover{background:#323a44}

/* White modules and low-contrast cards, with related tool icons in the brand palette. */
.m-ccard{padding:16px;box-shadow:none;}
.m-ccard-head{gap:9px;margin-bottom:12px;}
.m-ccard-head .c-ico{width:26px;height:26px;flex-basis:26px;background:transparent;border-radius:0;}
.c-ico .wb-brand-icon{width:23px;height:23px}
.m-ccard-head h2{font-size:16px;font-weight:600;color:var(--main-color)}
.m-ccard-head .more{font-size:12px;min-height:30px;display:inline-flex;align-items:center}
.m-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;}
.m-sitem{gap:10px;padding:11px 10px;min-height:68px;border-radius:12px;background:var(--muted-bg-color-l);transition:background .18s,box-shadow .18s,transform .18s;}
.m-sitem:hover{background:var(--main-bg-color);box-shadow:0 4px 14px rgba(26,40,54,.09);transform:translateY(-1px);}
.m-sitem:focus-visible{outline:3px solid var(--brand-blue);outline-offset:2px;}
.m-sitem .s-ico{width:38px;height:38px;flex-basis:38px;background:transparent;border-radius:0;}
.s-ico .wb-brand-icon{width:34px;height:34px}
.m-sitem .s-txt b{font-size:14px;font-weight:600;line-height:1.5;color:var(--main-color)}
.m-sitem .s-txt span{line-height:1.6;color:var(--muted-color);}
.card{border-radius:12px;padding:22px;box-shadow:var(--shadow);}
.pg-title h1,.geo-intro h1{font-size:24px;line-height:1.5}
.pg-desc{line-height:1.8;color:var(--muted-color);}
.wb-page-icon{display:inline-flex;width:32px;height:32px;margin-right:10px;vertical-align:-6px;}
.wb-page-icon .wb-brand-icon{width:32px;height:32px;}
.wb-toolbar{gap:8px;margin:12px 0 16px;}
.wb-toolbar .wb-button{min-height:38px;font-size:13px;}
.wb-personal{box-shadow:none;padding:18px!important}
.wb-personal h2{font-size:17px;}
.wb-personal>.wb-muted{margin:12px 0 0;font-size:13px;}
.wb-links a{display:inline-flex;align-items:center;gap:8px;min-height:40px;}
.wb-links .wb-brand-icon{width:23px;height:23px;}
.wb-button{border-radius:8px;}
.wb-dialog{border-radius:14px;}
.m-content > :is(.card,.m-ccard):not([hidden],.hide) ~ :is(.card,.m-ccard):not([hidden],.hide){margin-top:16px}
#m-other{margin-top:16px}
.m-crumb{line-height:1.8;margin-bottom:12px;}
.m-footer{padding:20px 10px 30px;}

@media(min-width:1600px){.m-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:1280px){
 .m-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .m-hero{background-image:linear-gradient(180deg,rgba(218,226,221,.32),rgba(218,226,221,.46)),image-set(url("../brand/guilin-compact.webp") type("image/webp"),url("../brand/guilin-compact.jpg") type("image/jpeg"));}
 html[data-theme="dark"] .m-hero{background-image:linear-gradient(rgba(20,30,37,.48),rgba(20,30,37,.62)),url("../brand/guilin-compact.webp")}
}
@media(max-width:991px){
 .m-hero-in{padding:0 16px;}
 .m-aside{position:relative;left:auto;top:auto;width:100%;padding:8px;max-height:none;min-height:0;overflow:visible;background:var(--main-bg-color)}
 .m-aside .mcat{min-height:40px;padding:8px 10px;}
 .m-aside .mcat svg{width:21px;height:21px;flex-basis:21px;}
 .m-aside .mcat.on{box-shadow:inset 0 -2px 0 var(--theme-color);background:var(--muted-bg-color-l);}
 .m-wrap{gap:16px;padding:16px 12px 28px;}
 .m-content{margin-left:0}
 .m-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:767px){
 .m-brand-label{display:none;}
 .m-hero{background-image:linear-gradient(180deg,rgba(218,226,221,.32),rgba(218,226,221,.46)),image-set(url("../brand/guilin-mobile.webp") type("image/webp"),url("../brand/guilin-mobile.jpg") type("image/jpeg"));}
 html[data-theme="dark"] .m-hero{background-image:linear-gradient(rgba(20,30,37,.48),rgba(20,30,37,.62)),url("../brand/guilin-mobile.webp")}
}
@media(max-width:640px){
 :root{--m-nav-h:72px;}
 .m-header{padding:6px;}
 .m-header .m-bar{height:60px;padding:0 10px;gap:6px;border-radius:11px;}
 .m-brand{gap:0;}
 .m-brand-art img{width:112px;height:30px;}
 .m-menu{margin:0;gap:0}
 .m-menu a[href="https://789.work/"]{display:inline-flex;padding:8px 6px;min-height:40px;}
 .m-menu a[href="https://789.work/"]::after{font-size:12px;}
 .m-actions{gap:5px;margin-left:auto;}
 .m-actions #wb-focus,.m-actions #btn-theme{height:38px;min-height:38px;padding:6px 7px;font-size:12px;gap:4px;}
 .m-actions #btn-theme svg{width:18px;height:18px}
 .m-hero{padding-top:72px}
 .m-bigsearch{padding:24px 0;}
 .m-searchform input,.m-hero-tool .m-searchform input{height:48px;padding-left:14px;font-size:14px;}
 .m-searchbtn,.m-hero-tool .m-searchbtn{width:42px;height:42px;}
 .m-searchpop,.m-hero-tool .m-searchpop{top:76px;}
 .m-hotchips{gap:6px;justify-content:flex-start;}
 .m-hotchips a{padding:4px 10px;font-size:11px;}
 .m-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
 .m-ccard{padding:14px 12px;}
 .m-ccard-head{gap:7px;}
 .m-ccard-head h2{font-size:15px;}
 .m-sitem{gap:7px;padding:10px 8px;min-height:60px;}
 .m-sitem .s-ico{width:28px;height:28px;flex-basis:28px}
 .s-ico .wb-brand-icon{width:28px;height:28px;}
 .m-sitem .s-txt b{font-size:13px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5;}
 .m-sitem .s-txt span{display:none;}
 .card{padding:18px 14px;}
 .pg-title h1,.geo-intro h1{font-size:20px;}
 .wb-page-icon{width:26px;height:26px;margin-right:7px;vertical-align:-5px;}
 .wb-page-icon .wb-brand-icon{width:26px;height:26px;}
 .wb-personal{padding:14px!important;}
 .wb-toolbar{gap:6px;}
 .wb-toolbar .wb-button{padding:7px 9px;font-size:12px;}
 .m-content .wb-brand-icon{height:auto;aspect-ratio:1;}
}
/* Long action labels and native file pickers must fit even with larger text. */
@media screen and (max-width:640px){
 .m-content label{min-width:0;max-width:100%;overflow-wrap:anywhere;}
 .m-content input[type="file"]{min-width:0;max-width:100%;width:100%;}
 .m-content .x-toolbar label:has(>input[type="file"]){flex-direction:column;align-items:stretch;width:100%;gap:6px;}
 .m-content .btn{min-width:0;max-width:100%;height:auto;min-height:38px;padding-top:8px;padding-bottom:8px;white-space:normal;overflow-wrap:anywhere;}
 .m-content .btn.sm{min-height:34px;padding-top:6px;padding-bottom:6px;}
}
@media(max-width:359px){
 .m-header .m-bar{padding:0 8px;gap:4px;}
 .m-brand-art img{width:105px;height:28px;}
 .m-actions{gap:4px}
 .m-actions #wb-focus,.m-actions #btn-theme{padding:6px;font-size:11px;gap:3px;}
 .m-menu a[href="https://789.work/"]{padding:8px 4px;}
}
@media(prefers-reduced-motion:reduce){.m-sitem{transition:none}.m-sitem:hover{transform:none}}
@media print{.wb-icon-definitions,.wb-page-icon{display:none!important}.card{box-shadow:none;padding:0}}
