/* Mobile flow enhancements. Desktop keeps the full chart/chat workspace. */
[hidden]{display:none!important}.mobile-only,.mobile-nav{display:none}
.birth-form{display:block}.birth-core{display:grid;grid-template-columns:1.3fr 1.2fr .65fr;gap:18px;align-items:start}.birth-form fieldset{padding:0;margin:0;border:0;min-width:0}.birth-form legend{font-size:12px;color:var(--muted);margin-bottom:8px}.date-inputs{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:6px}.date-inputs label{position:relative}.birth-form .date-inputs input{padding-right:25px;width:100%;height:40px}.date-inputs label>span:last-child{position:absolute;right:9px;top:10px;font-size:11px;color:#73809f}.birth-form .date-inputs .sr-only{position:absolute}.time-mode{display:flex;border:1px solid var(--border);border-radius:8px;padding:3px;background:#0b1020;margin-bottom:8px}.time-mode button{height:26px;font-size:10px;border:0;background:transparent;padding:2px 8px;flex:1;font-weight:400;color:var(--muted)}.time-mode button[aria-pressed=true]{color:#e1d3f6;background:#38304b}.exact-time{display:flex;align-items:center;gap:8px}.exact-time>label{flex:1}.exact-time>span{color:var(--muted)}.birth-form .exact-time select,.birth-form #birth-period{height:40px}.gender-options{display:flex;gap:7px}.gender-options label{flex:1;position:relative}.gender-options input{position:absolute;opacity:0;width:100%;height:100%;margin:0;inset:0;cursor:pointer}.gender-options span{border:1px solid var(--border);border-radius:8px;display:block;text-align:center;background:#0c1123;padding:9px 10px;font-size:13px}.gender-options input:checked+span{border-color:#ac8ace;background:#44315e80;color:#e4cffb}.gender-options input:focus-visible+span{outline:2px solid var(--purple);outline-offset:3px}.time-help{margin-top:7px;font-size:10px;color:#8994b3}.time-help summary{cursor:pointer}.time-help p{margin:8px 0;padding:9px;background:#a68ed90d;border-radius:8px;line-height:1.8}.birth-extra{margin-top:15px;border-top:1px solid #2b314b;padding-top:12px}.birth-extra summary{cursor:pointer;font-size:12px;color:#b8c0d9}.birth-extra summary span{margin-left:9px;font-size:10px;color:var(--muted)}.extra-inputs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.birth-form .extra-inputs label{font-size:11px}.birth-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:10px}.birth-form .birth-actions button{height:40px;padding:8px 18px}.birth-actions .primary span{margin-left:15px}.birth-form #birth-error:empty{display:none}.birth-privacy{color:var(--muted);font-size:11px}.chat-context{background:#14182c;border-bottom:1px solid var(--border)}.palace-sheet .sheet-handle{height:4px;width:35px;border-radius:5px;background:#5a536e;margin:0 auto 22px}.sheet-meta{font-size:12px;color:var(--muted);margin-top:-5px}.sheet-stars{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.sheet-star{padding:13px 16px;border:1px solid #594769;border-radius:12px;font-size:23px;color:var(--gold);background:#2d233c}.sheet-star small{font-size:12px;color:#aa9ab8;margin-left:5px}.sheet-empty{font-size:20px;color:var(--gold)}.sheet-opposite{font-size:12px;color:#b4a5ca}.sheet-detail{padding:15px 18px;border:1px solid var(--border);border-radius:12px;background:#10162a}.sheet-detail>span{color:#7c89a9;font-size:11px}.sheet-detail>p{color:#c7cce0;font-size:13px;margin:3px 0 14px}.sheet-detail>p:last-child{margin-bottom:0}.sheet-note{color:var(--muted);font-size:10px;text-align:center;margin:12px 0 0}.palace-sheet .full{min-height:48px;margin-top:22px}
@media(max-width:950px){
 :root{--mobile-header:68px;--mobile-nav:calc(66px + env(safe-area-inset-bottom,0px))}
 html{scroll-padding-top:80px}body{min-height:100dvh;background:radial-gradient(ellipse at 30% 4%,#231b3b55,transparent 55%),#090d1a}
 .mobile-only{display:block}.topbar{height:var(--mobile-header);padding:0 18px;position:sticky;top:0;z-index:10;background:#0b0f1eea;backdrop-filter:blur(14px)}.topbar .brand strong{font-size:16px;letter-spacing:1.3px}.topbar .brand small{font-size:8px;letter-spacing:.4px}.topbar .logo{width:35px;height:35px}.topbar .brand em,.topbar .status-pill,.topbar .nav-admin,.topbar nav button[data-info=index]{display:none}.topbar nav button[data-info=help]{display:block;font-size:11px;padding:7px 10px;min-height:36px;background:transparent}
 body .workspace{display:block;padding:16px 14px calc(var(--mobile-nav) + 24px);width:100%;max-width:720px;margin:0 auto}.left-column{width:100%}.left-column>.birth-panel,.left-column>.chart-panel,.left-column>.index-panel,.left-column>.bazi-panel,.left-column>.mobile-chart-summary,.left-column>.chart-return,.left-column>.chart-action,.left-column>.disclaimer,.workspace>.chat-panel{display:none}
 body[data-mobile-view=birth] .birth-panel{display:block}body[data-mobile-view=chart] .chart-panel,body[data-mobile-view=chart] .index-panel,body[data-mobile-view=chart] .bazi-panel,body[data-mobile-view=chart] .mobile-chart-summary,body[data-mobile-view=chart] .chart-return,body[data-mobile-view=chart] .chart-action,body[data-mobile-view=chart] .disclaimer{display:block}body[data-mobile-view=chat] .workspace>.chat-panel{display:flex}
 body>footer{display:none}.mobile-nav{position:fixed;bottom:0;left:0;right:0;height:var(--mobile-nav);padding:6px 15px calc(6px + env(safe-area-inset-bottom,0px));display:flex;align-items:stretch;justify-content:space-around;background:#111528f5;backdrop-filter:blur(20px);border-top:1px solid #32304b;z-index:15}.mobile-nav>button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1px;flex:1;max-width:145px;border:0;border-radius:13px;color:#7f8aa9;background:transparent;font-size:11px;min-height:52px}.mobile-nav>button>span{font-size:23px;line-height:1.15}.mobile-nav>button[aria-current=page]{color:#d3b5f2;background:linear-gradient(180deg,#b18bd715,#b18bd708)}
 .birth-panel{padding:0;border:0;background:transparent;box-shadow:none}.birth-intro{padding:16px 6px 23px}.birth-intro .eyebrow,.mobile-chart-summary .eyebrow{font-size:9px;letter-spacing:2px;color:#a18cb8}.birth-intro h1{font-size:34px;line-height:1.4;letter-spacing:1.5px;font-weight:550;margin:14px 0 13px;color:#eae3f2}.birth-intro h1::after{content:'✧';font-size:37px;color:#b99e7855;position:absolute;right:28px;top:118px}.birth-intro>p{font-size:12px;color:#939dbc;margin:0}.birth-panel>.section-heading{margin:0;background:#151a30;border:1px solid #31304a;border-bottom:0;border-radius:17px 17px 0 0;padding:18px 17px 6px;gap:6px}.birth-panel .birth-desktop-description{display:none}.birth-panel>.section-heading h2{font-size:13px}.birth-panel>.section-heading .tag{margin-left:auto;font-size:9px!important;background:#0d1224;padding:3px 7px}
 .birth-form{display:block;padding:18px 17px 20px;border:1px solid #31304a;border-top:0;border-radius:0 0 17px 17px;background:linear-gradient(160deg,#151a30,#111529)}.birth-core{display:flex;flex-direction:column;gap:23px}.birth-core>fieldset{width:100%}.birth-form legend{font-size:12px;color:#b6bfd8;letter-spacing:.2px;margin-bottom:10px}.date-inputs{grid-template-columns:1.4fr 1fr 1fr;gap:9px}.birth-form .date-inputs input{height:48px;font-size:17px;padding:11px 26px 11px 12px;border-radius:10px;background:#0c1123}.date-inputs label>span:last-child{top:13px;font-size:12px;right:10px}.birth-form .sr-only{display:block}.time-mode{max-width:none;padding:4px;margin-bottom:11px;border-radius:10px}.time-mode button{min-height:35px;font-size:12px;border-radius:7px}.birth-form .exact-time select,.birth-form #birth-period{height:48px;font-size:16px;border-radius:10px}.exact-time>span{font-size:18px}.time-help{font-size:11px;margin-top:10px}.time-help summary{padding:4px 0;min-height:28px}.time-help p{font-size:11px}.gender-options{gap:10px}.gender-options span{padding:11px;font-size:15px;border-radius:10px;min-height:46px}.birth-extra{margin-top:21px;padding-top:17px}.birth-extra summary{font-size:12px;min-height:32px}.birth-extra summary span{font-size:10px;margin-left:8px}.extra-inputs{grid-template-columns:1fr;margin-top:11px;gap:13px}.birth-form .extra-inputs input{height:46px;font-size:16px}.birth-form .birth-note{font-size:10px;line-height:1.8;margin-top:14px}.birth-actions{display:flex;flex-direction:column;gap:9px;margin-top:18px}.birth-form .birth-actions button{min-height:49px;width:100%;font-size:14px;border-radius:12px}.birth-actions>.primary{display:flex;align-items:center;justify-content:space-between;padding:11px 18px!important}.birth-actions>button:last-child{background:transparent;border-color:transparent;color:#a99ac6;font-size:12px!important;min-height:38px!important}.birth-privacy{font-size:10px;text-align:center;padding:15px 6px;margin:0;color:#7d88a8}.birth-privacy .text-button{font-size:10px;color:#ab96c6;margin-left:5px;white-space:normal}
 .mobile-chart-summary{align-items:center;justify-content:space-between;gap:8px;padding:11px 3px 18px}.mobile-chart-summary h1{font-size:24px;letter-spacing:.5px;font-weight:550;margin:7px 0}.mobile-chart-summary p{font-size:10px;color:#8f9cba;margin:0}.mobile-chart-summary>.text-button{font-size:10px;align-self:center;min-height:42px}.chart-return{padding:10px 12px;border:1px solid #66507c;background:#3c2a512e;border-radius:11px;margin-bottom:13px;font-size:10px;color:#beaccf}.chart-return button{background:transparent;border:0;font-size:10px;padding:3px;float:right;color:#ddc7f8}.chart-panel{padding:14px 10px 9px;border-radius:15px}.chart-panel .section-heading{margin-bottom:13px;flex-wrap:nowrap}.chart-panel h2{font-size:12px}.chart-panel .legend{font-size:9px;gap:3px}.chart-panel .legend .tag{display:none}.star-chart{grid-template-rows:repeat(4,minmax(96px,1fr));gap:5px;min-height:405px}.palace{padding:9px 6px;border-radius:9px;justify-content:flex-start;gap:7px}.palace-title{font-size:11px;align-items:start}.palace-title small{font-size:8px;line-height:1.6}.palace-title b{font-weight:550;line-height:1.5}.palace .stars{font-size:13px;margin:0;line-height:1.9;letter-spacing:0;font-weight:550;overflow-wrap:anywhere}.palace .stars small{display:none}.palace .mutagen{font-size:8px;line-height:1.3;vertical-align:middle}.palace .minor,.palace .palace-foot{display:none}.palace.active{box-shadow:inset 0 0 22px #c49be217,0 0 8px #b58bdf17;border-color:#bb98df;background:linear-gradient(145deg,#392c4e,#25203a)}.chart-center{padding:14px 10px;justify-content:center;border-radius:10px;background:radial-gradient(ellipse at top,#2e2442,#151a2d 80%)}.chart-center .eyebrow{font-size:8px;letter-spacing:.5px}.chart-person{font-size:19px;margin:9px 0 10px}.chart-person small{display:block;margin:3px 0 0;font-size:9px}.score-strip{padding:7px 6px;font-size:8px;margin-bottom:11px;line-height:1.6}.score-strip strong{font-size:22px;margin:0 4px}.chart-details{display:grid;grid-template-columns:1fr;font-size:8px;gap:5px;line-height:1.6}.chart-details div:nth-child(n+4){display:none}.chart-details span{margin-right:5px}.center-note{font-size:8px;margin-top:10px;padding-top:9px;line-height:1.7;color:#a08fb9}.panel-foot{font-size:8px;padding:9px 2px 0;gap:10px;line-height:1.8}.panel-foot button{font-size:9px;min-height:35px}.chart-action{margin:15px 1px 20px}.chart-action .full{min-height:47px;text-align:left;display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-radius:11px;font-size:13px}.chart-action p{color:#7885a5;font-size:9px;text-align:center;margin-top:8px}
 .mobile-collapsible{padding:14px 15px;border-radius:13px;margin-bottom:11px}.mobile-collapsible .section-heading{margin-bottom:2px;min-height:22px}.mobile-collapsible .section-heading h2{font-size:12px}.mobile-collapsible .section-heading>span,.mobile-collapsible .section-heading>.text-button{display:none}.mobile-collapsible>.fold-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:36px;padding:7px 0 0;background:transparent;border:0;font-size:11px;text-align:left;color:#9ba6c3}.fold-label{font-size:10px;color:#b39bce;white-space:nowrap}.mobile-collapsible:not(.is-expanded)>#index-content,.mobile-collapsible:not(.is-expanded)>#bazi-content{display:none}.mobile-collapsible.is-expanded>#index-content,.mobile-collapsible.is-expanded>#bazi-content{display:block;margin-top:18px}.bazi-content{grid-template-columns:1fr}.index-visuals{grid-template-columns:110px 1fr;gap:13px}.radar-wrap{display:none}.score-ring{height:103px;width:103px}.score-ring strong{font-size:35px}.axis-row{font-size:10px;margin:9px 0}.index-notes{grid-template-columns:1fr;gap:8px;margin-top:18px}.note-card{font-size:10px;padding:12px}.note-card h3{font-size:11px}.pillar strong{font-size:23px;letter-spacing:3px}.pillar small,.pillar p{font-size:9px}.element-bars{border-left:0;padding-left:0}.disclaimer{font-size:9px;line-height:1.9;margin:17px 3px 0}
 body[data-mobile-view=chat]{height:var(--app-height,100dvh);overflow:hidden}body[data-mobile-view=chat] .topbar{position:fixed;inset:0 0 auto;height:var(--mobile-header)}body[data-mobile-view=chat] .workspace{position:fixed;left:0;right:0;top:var(--mobile-header);height:calc(var(--app-height,100dvh) - var(--mobile-header) - var(--mobile-nav));padding:0;max-width:none;margin:0}body[data-mobile-view=chat] .left-column{display:none}.chat-panel{position:relative;top:0;width:100%;height:100%;min-height:0;max-height:none;margin:0;border:0;border-radius:0;background:linear-gradient(135deg,#13172c,#0c1224)}.chat-heading{padding:13px 17px;gap:10px;border-bottom:0;flex-shrink:0}.chat-heading h2{font-size:16px}.chat-heading small{font-size:9px}.chat-heading>button{height:36px;width:36px}.chat-context{display:flex;align-items:center;justify-content:space-between;padding:11px 17px 12px;gap:10px;flex-shrink:0;border-top:1px solid #262d46}.chat-context>div{min-width:0}.chat-context span{display:block;font-size:11px;color:#c1c7dd}.chat-context small{display:block;font-size:10px;color:#a995c8;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:235px}.chat-context button{font-size:10px;white-space:nowrap;min-height:35px;background:#28213980;border-color:#55466a;padding:5px 9px}.messages{padding:20px 13px 18px;gap:19px;overscroll-behavior:contain;scroll-padding-bottom:15px}.message{gap:7px}.message-avatar{width:23px;height:23px;font-size:16px;line-height:23px}.bubble{padding:13px 12px;font-size:12px;line-height:1.9;min-width:0}.message.user{max-width:94%}.message.user .bubble{padding:10px 12px}.link-chips{gap:6px}.link-chips button{min-height:33px;font-size:10px;padding:5px 9px}.answer-foot{font-size:9px}.chat-bottom{flex-shrink:0;padding:10px 12px 10px;background:#0c1020;border-top:1px solid #2c2f48}.quota{padding:8px 10px;font-size:10px;border-radius:10px}.quota strong{font-size:16px}.quota button{min-height:33px;font-size:10px;padding:5px 11px}.suggestions{flex-wrap:nowrap;overflow-x:auto;gap:6px;margin:10px 0;scrollbar-width:none}.suggestions button{font-size:10px;white-space:nowrap;min-height:31px;padding:5px 10px}.ask-form textarea{font-size:16px;line-height:1.5;min-height:69px;max-height:120px;border-radius:12px;padding:12px 48px 12px 12px}.ask-form .send{height:35px;width:35px;right:8px;bottom:9px;font-size:23px}.input-note{font-size:8px;margin-top:7px}.keyboard-open .mobile-nav{display:none}.keyboard-open[data-mobile-view=chat] .workspace{height:calc(var(--app-height,100dvh) - var(--mobile-header))}.keyboard-open .suggestions,.keyboard-open .input-note{display:none}.keyboard-open .quota{margin-bottom:9px}.keyboard-open .chat-context{padding-top:7px;padding-bottom:7px}
 .palace-sheet{position:fixed;inset:auto 0 0;max-width:none;width:100%;max-height:min(80dvh,680px);margin:0;padding:12px 24px calc(24px + env(safe-area-inset-bottom,0px));border:1px solid #665176;border-bottom:0;border-radius:23px 23px 0 0;background:radial-gradient(ellipse at 30% 0%,#30223e,#14192d 65%)}.palace-sheet::backdrop{background:#030713b8;backdrop-filter:blur(4px)}.palace-sheet h2{font-size:27px;letter-spacing:2px;margin:10px 0}.palace-sheet .eyebrow{font-size:9px;letter-spacing:1.5px}.close{min-height:40px;min-width:40px}.toast{bottom:calc(var(--mobile-nav) + 13px);width:max-content;max-width:calc(100% - 28px);font-size:11px;line-height:1.8;text-align:center;padding:11px 15px}.keyboard-open .toast{bottom:18px}dialog input,dialog select{font-size:16px;min-height:46px}
}
@media(max-width:380px){.topbar{padding-left:13px;padding-right:13px}body .workspace{padding-left:10px;padding-right:10px}.birth-form{padding-left:15px;padding-right:15px}.birth-intro h1{font-size:31px}.mobile-chart-summary h1{font-size:22px}.palace-title small{display:none}.palace .stars{font-size:12px}.chart-center{padding:11px 8px}.star-chart{gap:4px;min-height:389px;grid-template-rows:repeat(4,minmax(92px,1fr))}.chart-details{font-size:7px}.center-note{font-size:7px}.chat-context small{max-width:190px}}

@media(max-width:950px){body[data-mobile-view=chart] .mobile-chart-summary{display:flex}}
