/* Desktop task layouts. Mobile styles and functional chart geometry are owned
   by the existing modules. Internal workspaces never receive this stylesheet. */
@media screen and (min-width:1024px) {
 body.ls-public-ui { --desktop-header-offset:132px; }
 body.ls-public-ui #ls-site-header { position:sticky!important; top:0; z-index:100; }
 body.ls-public-ui #ls-site-header .ls-header-row { display:grid!important; grid-template-columns:110px minmax(0,1fr)!important; grid-template-areas:"brand actions" "nav nav"; gap:4px 18px!important; width:100%!important; max-width:1536px!important; min-height:104px!important; padding:8px 24px!important; align-items:center!important; }
 body.ls-public-ui #ls-site-header .ls-unified-brand { grid-area:brand; width:110px!important; max-width:110px!important; }
 body.ls-public-ui #ls-site-header .ls-unified-brand img { width:108px!important; height:40px!important; max-height:40px!important; }
 body.ls-public-ui #ls-site-header .ls-unified-nav { grid-area:nav; display:flex!important; flex-direction:row!important; flex-wrap:nowrap!important; justify-content:center!important; gap:3px!important; padding:0!important; margin:0!important; border:0!important; min-width:0; }
 body.ls-public-ui #ls-site-header .ls-unified-nav a { min-height:40px!important; padding:9px 12px!important; font-size:14px!important; }
 body.ls-public-ui #ls-site-header .ls-unified-actions { grid-area:actions; justify-self:end; margin:0!important; }
 body.ls-public-ui #ls-site-header .ls-unified-actions :is(a,button) { min-height:40px!important; padding:9px 10px!important; }
 body.ls-public-ui #ls-site-header .ls-menu-toggle { display:none!important; }
 body.ls-public-ui #ls-site-header .ls-header-subscribe,
 body.ls-public-ui #ls-site-header[data-menu-open] .ls-header-subscribe { display:block!important; position:static!important; }
 body.ls-public-ui #ls-site-header .ls-header-pricing:not([hidden]),
 body.ls-public-ui #ls-site-header[data-menu-open] .ls-header-pricing:not([hidden]) { display:block!important; position:static!important; }
 body.ls-public-ui #ls-site-header .ls-unified-nav a:hover { background:#efede1!important; }
 body.ls-public-ui #ls-site-header :is(a,button):focus-visible { scroll-margin-top:120px; }
 body.ls-public-ui :is(.skip,.lk-skip,.well-skip,.sp-skip):focus { z-index:120; }

 /* A wide working canvas and a separate readable measure for articles. */
 body.ls-public-ui :is(main.ls-page-width,#shell.ls-page-width,.well-directory,.ls-topic-reading),
 body.ls-public-ui #ls-page-heading { width:calc(100% - 64px)!important; max-width:1440px!important; }
 body.ls-public-ui .method-directory-link { width:calc(100% - 64px); max-width:1440px; }
 body.ls-public-ui #ls-page-heading { margin-top:20px!important; margin-bottom:22px!important; padding:18px 24px!important; }
 body.ls-public-ui #ls-page-heading.ls-heading-compact { padding:0!important; }
 body.ls-public-ui :is(main,#shell) :is(section[id],details[id],h1[id],h2[id],h3[id]) { scroll-margin-top:var(--desktop-header-offset); }
 body.ls-public-ui main :is(a,button,input,select,textarea,summary):focus { scroll-margin-top:var(--desktop-header-offset); }
 body.ls-public-ui :is(.direct-grid,.lk-grid,.well-card-grid,.ls-public-knowledge-grid) { grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:22px!important; }
 body.ls-public-ui :is(.ls-topic-card,.direct-card,.well-card,.ls-entry-card):hover { transform:none!important; }
 body.ls-public-ui :is(.directory-toolbar,.well-toolbar,.lk-toolbar) { gap:16px; }
 body.ls-public-ui :is(.lk-reader,.well-reader,.longread,.sp-reader) { max-width:820px; }
 body.ls-public-ui .lk-toc { position:sticky; top:var(--desktop-header-offset); align-self:start; max-height:calc(100dvh - var(--desktop-header-offset) - 24px); overflow:auto; scrollbar-gutter:stable; }
 body.ls-public-ui :is(.lk-reader,.well-reader,.sp-reader) :is(h2,h3,h4) { scroll-margin-top:var(--desktop-header-offset); }

 /* The first viewport presents both the brand and practical entry points. */
 body.ls-public-ui #home-panel .ls-hero { height:clamp(320px,25vw,380px)!important; margin:20px 0 24px!important; max-width:none!important; }
 body.ls-public-ui #home-panel .ls-hero-copy { padding:30px 40px!important; }
 body.ls-public-ui #home-panel .ls-eyebrow { margin-bottom:12px!important; font-size:11px!important; }
 body.ls-public-ui #home-panel .ls-hero h1 { font-size:clamp(30px,2.5vw,40px)!important; line-height:1.35!important; margin-bottom:14px!important; }
 body.ls-public-ui #home-panel .ls-hero-intro { margin-bottom:18px!important; line-height:1.7!important; }
 body.ls-public-ui #home-panel .ls-hero-foot { bottom:12px!important; }
 body.ls-public-ui #home-panel .ls-services { max-width:none!important; margin-bottom:28px!important; }
 body.ls-public-ui #ls-services > h2 { font-size:25px!important; margin-bottom:16px!important; }
 body.ls-public-ui .ls-public-entries { grid-template-columns:repeat(4,minmax(0,1fr))!important; gap:18px; }
 body.ls-public-ui .ls-entry-card img { height:120px; }
 body.ls-public-ui .ls-entry-card > div { padding:16px 18px; }
 body.ls-public-ui .ls-entry-card h3 { font-size:21px; margin-bottom:6px; }
 body.ls-public-ui .ls-entry-card p { margin-bottom:10px; font-size:14px; line-height:1.7; }
 body.ls-public-ui .ls-entry-action { padding:6px 0; }

 /* Fengshui inputs and results remain visible side by side. The diagrams,
    compass, ruler marks and drawing canvases keep their original layout. */
 body.ls-public-ui.fs-direct main.ls-page-width { display:grid; grid-template-columns:minmax(300px,.42fr) minmax(0,1fr); gap:24px; align-items:start; }
 body.ls-public-ui.fs-direct main > :is(.hero,.guide,.sources,.more-tools,footer,.ls-tool-switcher) { grid-column:1/-1; }
 body.ls-public-ui.fs-direct main > .hero { margin:0!important; padding-bottom:0!important; }
 body.ls-public-ui.fs-direct #workspace { grid-column:1; grid-row:2; min-width:0; margin:0; padding:22px; }
 body.ls-public-ui.fs-direct #result-section { grid-column:2; grid-row:2; min-width:0; margin:0; padding:22px; border:1px solid var(--page-line,#ded6c5); border-radius:12px; background:#fffdf8; }
 body.ls-public-ui.fs-direct .section-heading { flex-wrap:wrap; align-items:start; }
 body.ls-public-ui.fs-direct #controls :is(input,select,textarea) { max-width:100%; min-width:0; }
 body.ls-public-ui.fs-direct :is(#workspace,#result-section) .section-heading h2 { font-size:23px; }
 body.ls-public-ui.fs-direct #result { min-width:0; }
 body.ls-public-ui.fs-direct #guide { margin-top:8px; }

 /* Birth inputs keep a generous preview; generated charts retain enough room
    to inspect and export without changing the calculation or cell geometry. */
 body.ls-public-ui .ls-ziwei-input-layout:not([hidden]) { grid-template-columns:minmax(320px,360px) minmax(0,1fr)!important; gap:28px!important; align-items:start; }
 body.ls-public-ui #ziwei-panel .ls-ziwei-preview { align-self:start; padding:24px; }
 body.ls-public-ui #ziwei-panel #zw-input-view { padding:22px; font-size:15px; }
 body.ls-public-ui #ziwei-panel #zw-input-view label { font-size:14px; line-height:1.6; }
 body.ls-public-ui #ziwei-panel #zw-input-view :is(input,select) { min-height:44px; padding:10px 12px; font-size:16px; line-height:1.5; }
 body.ls-public-ui #ziwei-panel #zw-input-view #zw-city-search { height:auto; min-height:44px; padding:10px 12px; font-size:16px; line-height:1.5; }
 body.ls-public-ui #ziwei-panel #zw-input-view .zw-birth-row { grid-template-columns:minmax(0,1fr); }
 body.ls-public-ui #ziwei-panel #zw-input-view :is(#zw-solar-fields,.zw-time-field) { grid-column:1/-1; }
 body.ls-public-ui #ziwei-panel #zw-input-view button,
 body.ls-public-ui #ziwei-panel #zw-input-view .zw-group-title button { min-height:42px; padding:9px 12px; font-size:14px; line-height:1.5; }
 body.ls-public-ui #ziwei-panel #zw-input-view :is(.zw-help,.zw-status) { font-size:12px; line-height:1.7; }
 body.ls-public-ui #ziwei-panel #zw-input-view h4 { margin-top:20px; margin-bottom:10px; font-size:17px; }
 body.ls-public-ui #ziwei-panel .zw-submit-row { gap:10px; }
 body.ls-public-ui #zw-chart-view { min-width:0; margin-top:0; }
 body.ls-public-ui .zw-result-toolbar { gap:16px; flex-wrap:wrap; align-items:center; }
 body.ls-public-ui #ziwei-panel #zw-chart-view .zw-chart-scroll { width:min(100%,calc((100svh - var(--desktop-header-offset) - 144px)*.937759))!important; max-width:100%; margin-inline:auto; }
 body.ls-public-ui #ziwei-panel .zw-report-profile { max-width:100%; margin:16px 0 24px; font-size:16px; line-height:1.8; }
 body.ls-public-ui #ziwei-panel #zw-chart-view :is(.zw-report-tools button,#zw-edit) { min-height:40px; padding:8px 12px; font-size:14px; }
 body.ls-public-ui #ziwei-panel .zw-number-results { gap:14px; margin-top:22px; padding:20px 0; }
 body.ls-public-ui #ziwei-panel .zw-number-results .zw-rating-heading { font-size:22px; }
 body.ls-public-ui #ziwei-panel .zw-number-results :is(li,p) { font-size:16px; line-height:1.8; }

 /* The checkout total stays close to the products being edited. */
 body.ls-public-ui .cart-layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:24px; align-items:start; }
 body.ls-public-ui .cart-summary { position:sticky; top:var(--desktop-header-offset); align-self:start; }
 body.ls-public-ui .cart-orders { grid-column:1/-1; }
 body.ls-public-ui .cart-box { min-width:0; }
}

@media screen and (min-width:1280px) {
 body.ls-public-ui { --desktop-header-offset:88px; }
 body.ls-public-ui #ls-site-header .ls-header-row { grid-template-columns:110px minmax(0,1fr) auto!important; grid-template-areas:"brand nav actions"; min-height:72px!important; gap:16px!important; }
 body.ls-public-ui #ls-site-header .ls-unified-nav { gap:1px!important; }
 body.ls-public-ui #ls-site-header .ls-unified-nav a { padding:10px 8px!important; font-size:13px!important; }
 body.ls-public-ui #ls-site-header .ls-unified-actions :is(a,button) { padding:9px 8px!important; font-size:12px!important; }
 body.ls-public-ui.fs-direct main.ls-page-width { grid-template-columns:minmax(340px,.4fr) minmax(0,1fr); }
}

@media screen and (min-width:1600px) {
 body.ls-public-ui :is(.direct-grid,.lk-grid,.well-card-grid,.ls-public-knowledge-grid) { grid-template-columns:repeat(4,minmax(0,1fr))!important; }
 body.ls-public-ui #ls-site-header .ls-unified-nav a { padding:10px 12px!important; font-size:14px!important; }
 body.ls-public-ui .ls-ziwei-input-layout:not([hidden]) { grid-template-columns:minmax(360px,400px) minmax(0,1fr)!important; }
}

@media screen and (min-width:1024px) and (prefers-reduced-motion:reduce) {
 body.ls-public-ui :is(.ls-entry-card,.ls-topic-card,.direct-card,.well-card) { transition:none!important; }
}
