/* BUBU r19: stable Chinese UI typography, measured numerals and one vector family. */
:root{--ui-font:-apple-system,BlinkMacSystemFont,'PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif;--number-font:Nunito,-apple-system,BlinkMacSystemFont,sans-serif}
.bubu-icon{display:inline-block;width:1.05em;height:1.05em;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.14em;flex-shrink:0;pointer-events:none;overflow:visible}
.button>span:has(>.bubu-icon),.text-link>span:has(>.bubu-icon){display:inline-flex;align-items:center;justify-content:center}
.nav-menu-button>span .bubu-icon{width:13px;height:13px}
.source-brand>b .bubu-icon{width:23px;height:23px}
.round-arrow>.bubu-icon{width:16px;height:16px}
.footer-statement>a .bubu-icon{width:25px;height:25px}
.icon-button .bubu-icon{width:20px;height:20px}
.family-flower .bubu-icon{width:34px;height:34px;stroke-width:1.1}
.about-sun .bubu-icon{width:37px;height:37px;stroke-width:1.1}
.route-home .product-tab>span,.routine-path a>span,.eyebrow,.hero-edition,.brand-intro-top>span{font-family:var(--number-font);font-variant-numeric:lining-nums tabular-nums}
.route-home .product-tab>span{font-size:14px;line-height:1.6;letter-spacing:.05em;font-style:normal;font-weight:650;padding-top:3px;color:#a48b60;min-width:22px}
.product-tab>b{width:22px;height:22px;display:grid;place-items:center}
.product-tab>b .bubu-icon{width:18px;height:18px}
.route-home .product-tab h3{font-family:var(--ui-font);font-size:21px;font-weight:550;line-height:1.55;letter-spacing:0;word-break:normal;overflow-wrap:break-word}
.route-home .product-tab p{font-family:var(--ui-font);font-size:12px;line-height:1.95}
.product-preview{min-height:700px;padding-block:78px 70px;align-items:center;overflow:hidden}
.screen-preview-open{position:relative;display:block;width:246px;margin-left:40px;transform:rotate(2deg);padding:7px;background:#30332e;border-radius:32px;border:1px solid #a99d86;box-shadow:20px 30px 40px #4e432c2e;z-index:2;transition:transform .25s;flex-shrink:0}
.screen-preview-open:hover{transform:rotate(0deg) translateY(-3px)}
.product-preview #product-screen{position:static;display:block;width:100%;height:auto;max-height:none;margin:0;transform:none;border:0;outline:0;border-radius:24px;box-shadow:none;object-fit:contain;background:#fffcf4}
.preview-mascot{width:160px;left:5px;bottom:65px;z-index:3;pointer-events:none}
.preview-float{top:119px;right:16px;max-width:185px;pointer-events:none;z-index:3}
.preview-chip{font-family:var(--ui-font);font-size:10px;pointer-events:none}
.preview-word{font-size:64px;top:78px;left:24px;z-index:0}
.product-preview .preview-top{left:32px;right:25px;font-size:7px}
.product-panel>span{font-family:var(--ui-font);font-size:11px!important;line-height:1.9;display:block}
.screen-dialog{padding:0;border:1px solid #d8ccb2;border-radius:16px;background:#fcfaf4;color:#294638;width:min(92vw,620px);max-height:92dvh;box-shadow:0 30px 100px #1a322a40;overflow:hidden}
.screen-dialog .dialog-top{padding:20px 23px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #e3d9c3;background:#f8f3e7}
.screen-dialog .dialog-top h2{font-family:var(--ui-font);font-size:18px;line-height:1.5;font-weight:550;margin-top:6px}
.screen-dialog .eyebrow{font-size:8px;color:#a08b62}
.screen-dialog .icon-button{display:grid;place-items:center;flex-shrink:0;background:transparent;width:32px;height:32px;border:1px solid #d8ccb5;border-radius:50%}
.screen-dialog-body{max-height:calc(92dvh - 95px);overflow:auto;padding:20px;overscroll-behavior:contain}
.screen-dialog-body>img{display:block;width:100%;height:auto;border:1px solid #eee6d5;border-radius:10px;background:#fff}
.screen-dialog-body>p{font-family:var(--ui-font);font-size:10px;line-height:1.9;color:#92856d;padding:17px 0 4px;text-align:center}

/* The journal identity and its navigation stay in normal document flow. */
.route-dashboard{font-family:var(--ui-font)}
.route-dashboard .dashboard-shell{grid-template-columns:232px minmax(0,1fr)}
.route-dashboard .dash-sidebar{position:sticky;top:var(--brand-header-height);height:calc(100dvh - var(--brand-header-height));padding:28px 22px 24px;overflow:auto;min-width:0}
.route-dashboard .journal-identity{display:block;padding:0 0 24px;border-bottom:1px solid #d9d5c3;margin-bottom:20px}
.route-dashboard .studio-brandline{position:static;inset:auto;margin:0;padding:0;border:0;width:auto}
.route-dashboard .studio-brandline>span{display:block;font-family:var(--number-font);font-size:8px;letter-spacing:.13em;line-height:1.7;white-space:nowrap}
.route-dashboard .studio-brandline>strong{display:block;font-family:var(--ui-font)!important;font-size:23px!important;font-weight:550;line-height:1.45!important;letter-spacing:0!important;white-space:nowrap;margin-top:14px;word-break:keep-all;overflow-wrap:normal}
.route-dashboard .studio-label{position:static;inset:auto;margin:16px 0 0;padding:0;width:auto;text-align:left}
.route-dashboard .studio-label>span{display:none}
.route-dashboard .studio-label>p{font-family:var(--ui-font);font-size:12px;line-height:1.85;color:#89816a;max-width:none;margin:0;word-break:normal}
.route-dashboard .dash-nav{position:static!important;display:flex!important;flex-direction:column;padding:0!important;margin:0!important;gap:7px;width:auto}
.route-dashboard .dash-nav button{display:flex;align-items:center;justify-content:flex-start;gap:11px;min-width:0;min-height:64px;padding:13px 12px;border-radius:10px;white-space:normal}
.route-dashboard .dash-nav button>span{display:inline-flex;flex-shrink:0;align-items:center;font-size:19px}
.route-dashboard .dash-nav button>span .bubu-icon{width:19px;height:19px}
.route-dashboard .dash-nav button>div{font-family:var(--ui-font);font-size:13px;line-height:1.55;text-align:left;min-width:0;white-space:normal}
.journal-nav-long{display:block}
.journal-nav-short{display:none}
.route-dashboard .dash-nav button small{display:block;font-family:var(--number-font);font-size:9px;font-weight:400;line-height:1.5;letter-spacing:0;margin-top:4px;color:#9d9075}
.route-dashboard .dash-nav button.active small{color:#82916d}
.route-dashboard :is(.dash-title h1,.card-heading h2,.plan-card h3){font-family:var(--ui-font);letter-spacing:0;font-weight:550}
.route-dashboard .dash-title h1{font-size:30px;line-height:1.5;word-break:normal}
.route-dashboard .card-heading h2{font-size:17px;line-height:1.6}
.route-dashboard .demo-banner{align-items:flex-start;gap:12px}
.route-dashboard .demo-banner>p{font-family:var(--ui-font);font-size:11px;line-height:1.9;word-break:normal;overflow-wrap:break-word}
.route-dashboard .demo-banner>span{margin-top:3px}
.route-dashboard .demo-banner small{white-space:normal;line-height:1.9}
.route-dashboard :is(.stat-grid strong,.chart-summary>strong,.focus-member-score,.plan-dose,.record-value,.stock-estimate,.stock-preview-row>b,.family-context b){font-family:var(--number-font);font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.02em;font-style:normal}
.route-dashboard .data-table{font-variant-numeric:lining-nums tabular-nums}
.route-dashboard .dash-header p{font-family:var(--ui-font);font-size:12px;line-height:1.8}
.route-dashboard .sync-entry-icon .bubu-icon{width:23px;height:23px}
.route-dashboard .all-icon .bubu-icon{width:19px;height:19px}
.route-dashboard .card-icon .bubu-icon{width:19px;height:19px}
.route-dashboard .sync-device-flow>span>.bubu-icon{width:26px;height:26px}
.route-dashboard .sync-scan-placeholder>span>.bubu-icon{width:52px;height:52px;stroke-width:1.1}
.route-dashboard .quiet-button,.route-dashboard .inline-button,.route-dashboard .record-button{font-family:var(--ui-font)}
.route-dashboard .inline-button>.bubu-icon,.route-dashboard .record-button>.bubu-icon{width:13px;height:13px;margin-left:5px}
.route-dashboard .dash-title .eyebrow,.route-dashboard .card-heading p{font-family:var(--number-font);letter-spacing:.1em}
.route-dashboard .dash-date input{font-family:var(--ui-font);font-variant-numeric:tabular-nums}
.route-dashboard .schedule-card:after{content:'表格可左右滑动 / Swipe to explore'}

@media(min-width:761px) and (max-width:1050px){
 .route-dashboard .dashboard-shell{grid-template-columns:188px minmax(0,1fr)}
 .route-dashboard .dash-sidebar{padding:24px 16px}
 .route-dashboard .studio-brandline>strong{font-size:21px!important}
 .route-dashboard .dash-nav button{padding:12px 10px;gap:9px}
 .route-dashboard .dash-nav button>div{font-size:12px}
 .route-dashboard .studio-label>p{font-size:11px}
 .route-home .product-tab h3{font-size:20px}
 .screen-preview-open{width:218px;margin-left:28px}
 .product-preview{min-height:655px}
 .preview-mascot{width:140px}
}
@media(max-width:760px){
 .route-dashboard .dashboard-shell{display:block;min-height:0}
 .route-dashboard .dash-sidebar{position:relative;top:auto;inset:auto;height:auto;padding:21px 16px 14px;display:block;overflow:visible;border-bottom:1px solid #dcd8c5}
 .route-dashboard .journal-identity{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0;margin:0 0 20px;border:0}
 .route-dashboard .studio-brandline{position:static;flex-shrink:0;width:auto;padding:0}
 .route-dashboard .studio-brandline>span{font-size:7px;line-height:1.6;letter-spacing:.1em}
 .route-dashboard .studio-brandline>strong{font-size:22px!important;line-height:1.4!important;letter-spacing:0!important;margin-top:8px}
 .route-dashboard .studio-label{position:static;flex-shrink:0;width:auto;margin:0;text-align:right}
 .route-dashboard .studio-label>p{font-size:10px;line-height:1.8;color:#939078;text-align:right;max-width:none;margin:0}
 .route-dashboard .dash-nav{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:0!important;margin:0!important;width:100%}
 .route-dashboard .dash-nav button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:0;padding:11px 3px;min-height:57px;border-radius:8px;min-width:0}
 .route-dashboard .dash-nav button>span{display:none}
 .route-dashboard .dash-nav button>div{font-family:var(--ui-font);font-size:12px;line-height:1.4;text-align:center;white-space:nowrap;font-weight:500}
 .route-dashboard .dash-nav .journal-nav-long{display:none}
 .route-dashboard .dash-nav .journal-nav-short{display:block}
 .route-dashboard .dash-nav button small{font-family:var(--number-font);font-size:8px;line-height:1.5;margin-top:5px;letter-spacing:0;white-space:nowrap}
 .route-dashboard .dash-header{padding-inline:16px;min-height:57px;gap:10px;height:auto;padding-block:12px}
 .route-dashboard .dash-header p{font-size:10px;line-height:1.7}
 .route-dashboard .dash-header p b{margin-inline:5px}
 .route-dashboard .dash-header-actions{gap:9px}
 .route-dashboard .dash-home{font-size:9px;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
 .route-dashboard .dash-header .quiet-button{font-size:9px;padding:6px 9px}
 .route-dashboard .demo-banner{padding:12px 11px;gap:9px}
 .route-dashboard .demo-banner>p{font-size:10px;line-height:1.95}
 .route-dashboard .demo-banner>span{font-size:7px;letter-spacing:.04em}
 .route-dashboard .dash-title h1{font-size:25px;line-height:1.6;letter-spacing:0}
 .route-dashboard .dash-title>div>p:last-child:not(.eyebrow){font-family:var(--ui-font);font-size:11px;line-height:1.95}
 .route-dashboard .card-heading h2{font-size:16px}
 .route-dashboard .stat-grid strong{font-size:32px}
 .route-dashboard .sync-entry strong{font-family:var(--ui-font);font-size:14px;font-weight:550}
 .route-dashboard .sync-entry p{font-family:var(--ui-font);font-size:10px;line-height:1.9}
 .route-home .product-tab>span{font-size:13px;min-width:20px;padding-top:3px}
 .route-home .product-tab h3{font-size:19px;line-height:1.6;letter-spacing:0}
 .route-home .product-tab small{font-size:7px;letter-spacing:.09em;line-height:1.8}
 .route-home .product-tab p{font-size:12px;line-height:1.95}
 .product-preview{min-height:635px;padding-top:80px;padding-bottom:66px}
 .screen-preview-open{width:224px;margin-left:26px;border-radius:29px;padding:6px;transform:rotate(1deg)}
 .product-preview #product-screen{border-radius:22px}
 .preview-float{top:113px;right:14px;max-width:160px;padding:10px 12px}
 .preview-float strong{font-size:9px}
 .preview-word{font-size:54px;left:17px;top:78px}
 .product-preview .preview-top{left:25px;right:19px;font-size:6px;gap:10px}
 .preview-mascot{width:132px;left:-3px;bottom:65px}
 .preview-chip{font-size:8px;left:15px;right:15px;bottom:19px;line-height:1.8}
 .screen-dialog{width:94vw;max-height:94dvh;border-radius:12px}
 .screen-dialog .dialog-top{padding:16px 17px;gap:14px}
 .screen-dialog .dialog-top h2{font-size:16px}
 .screen-dialog .eyebrow{font-size:7px}
 .screen-dialog-body{padding:12px;max-height:calc(94dvh - 88px)}
 .screen-dialog-body>p{font-size:9px;padding-block:14px}
 .button>span>.bubu-icon{width:18px;height:18px}
}
@media(max-width:360px){.route-dashboard .studio-brandline>strong{font-size:21px!important}.route-dashboard .studio-label>p{font-size:9px}.route-dashboard .journal-identity{gap:12px}.route-dashboard .dash-nav button>div{font-size:11px}.route-dashboard .dash-nav button small{font-size:7px}.route-dashboard .dash-home{font-size:8px}.screen-preview-open{width:205px;margin-left:24px}.product-preview{min-height:595px}.preview-mascot{width:115px}.preview-float{max-width:149px;right:8px}.route-home .product-tab h3{font-size:18px}}
@media(prefers-reduced-motion:reduce){.screen-preview-open,.screen-preview-open:hover{transform:none;transition:none}}
