.base-analysis-stream-preparing--hidden{display:none}.chart-loader-page{background:linear-gradient(180deg,#0a0a0f,#1a1a25);padding:24px;color:#e5e5e5}.chart-loader-loading,.chart-loader-page{min-height:100vh;display:flex;align-items:center;justify-content:center}.chart-loader-loading{background:#0a0a0f;color:#888}.preparing-spline-page{position:fixed;inset:0;z-index:0;background:#050508;overflow:hidden}.preparing-spline-page__scene-wrap{position:fixed;inset:0;z-index:0;overflow:visible;pointer-events:none}.preparing-spline-page--transition{z-index:50}.preparing-spline-page__scene-wrap .preparing-spline-page__scene,.preparing-spline-page__scene-wrap .spline-interactive-scene{position:absolute;inset:0;width:100%;height:100%}.preparing-spline-page__scene--static,.spline-interactive-scene--static{position:relative;overflow:hidden;background:radial-gradient(ellipse 70% 55% at 50% 42%,rgba(88,72,140,.35),transparent 70%),#050508}.preparing-spline-page__scene--static:after,.preparing-spline-page__scene--static:before,.spline-interactive-scene--static:after,.spline-interactive-scene--static:before{content:"";position:absolute;border-radius:50%;pointer-events:none}.preparing-spline-page__scene--static:before,.spline-interactive-scene--static:before{width:min(72vw,320px);height:min(72vw,320px);left:50%;top:42%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(140,120,220,.45) 0,rgba(88,72,140,.12) 55%,transparent 72%);animation:preparing-orb-breathe 3.2s ease-in-out infinite}.preparing-spline-page__scene--static:after,.spline-interactive-scene--static:after{width:min(42vw,180px);height:min(42vw,180px);left:50%;top:42%;transform:translate(-50%,-50%);box-shadow:0 0 48px 12px rgba(180,160,255,.18);background:radial-gradient(circle,rgba(220,210,255,.35) 0,transparent 68%);animation:preparing-orb-spin 14s linear infinite}@keyframes preparing-orb-breathe{0%,to{opacity:.55;transform:translate(-50%,-50%) scale(.92)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.06)}}@keyframes preparing-orb-spin{to{transform:translate(-50%,-50%) rotate(1turn)}}.preparing-spline-page--block-input{touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.preparing-spline-page__shield{position:absolute;inset:0;z-index:1;pointer-events:auto;touch-action:none}.preparing-spline-page__overlay{position:fixed;left:0;right:0;bottom:max(5.5rem,calc(env(safe-area-inset-bottom) + 4.5rem));z-index:3;padding:20px 20px 12px;text-align:center;pointer-events:none;transform:none}.pwa-mode .preparing-spline-page__overlay:not(.preparing-spline-page__overlay--error){bottom:max(5.5rem,calc(var(--pwa-bottom-nav-height, 72px) + .75rem))}.preparing-spline-page__overlay.session-prep-loading{min-height:0}.preparing-spline-page__overlay--error{inset:0;display:flex;align-items:center;justify-content:center;pointer-events:auto;background:rgba(5,5,8,.88)}.error-view-inline{max-width:520px;width:calc(100% - 32px);pointer-events:auto}.preparing-spline-page__status{margin:0 0 10px;font-size:clamp(18px,4.5vw,22px);line-height:1.4;color:rgba(255,255,255,.96);font-weight:600;letter-spacing:.01em;text-shadow:0 1px 12px rgba(0,0,0,.65);animation:preparing-status-fade .45s ease}.preparing-spline-page__hint{margin:0 auto;max-width:28rem;font-size:clamp(15px,3.8vw,17px);line-height:1.5;color:rgba(255,255,255,.78);font-weight:500;text-shadow:0 1px 10px rgba(0,0,0,.55)}@keyframes preparing-status-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.chart-loader-content{max-width:600px;width:100%}.bazi-chart-display{background:rgba(212,175,55,.05);box-shadow:inset 0 0 0 .5px rgba(212,175,55,.2);border-radius:16px;padding:24px;margin-bottom:24px}.chart-header{text-align:center;margin-bottom:20px}.chart-header h3{color:#d4af37;font-size:18px;margin-bottom:8px}.birth-info-line{color:#888;font-size:13px;font-family:Inter,system-ui,sans-serif}.four-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:20px}.pillar-column{background:rgba(0,0,0,.3);box-shadow:inset 0 0 0 .5px rgba(255,255,255,.05);border-radius:8px;padding:12px 8px;text-align:center}.pillar-column.day-master{background:rgba(212,175,55,.1)}.pillar-label{color:#888;font-size:11px;margin-bottom:8px;text-transform:uppercase;letter-spacing:1px}.pillar-stem{color:#d4af37;font-size:24px;font-weight:700;margin-bottom:4px}.pillar-branch,.pillar-stem{font-family:"Noto Serif SC",Songti SC,serif}.pillar-branch{color:#e5e5e5;font-size:20px;font-weight:600}.chart-meta{background:rgba(0,0,0,.2);border-radius:8px;padding:12px}.meta-row{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:13px}.meta-label{color:#888;flex-shrink:0}.meta-value{color:#e5e5e5;font-weight:500;text-align:right}.meta-value.gold{color:#d4af37}.loader-status-section{text-align:center;padding:32px 16px}.streaming-view{display:flex;flex-direction:column;align-items:center}.streaming-spinner-container{margin-bottom:24px}.streaming-spinner{width:40px;height:40px;box-shadow:inset 0 0 0 1.5px rgba(212,175,55,.2);border-top-color:#d4af37;border-radius:50%;animation:chart-loader-spin .9s linear infinite}@keyframes chart-loader-spin{to{transform:rotate(1turn)}}.streaming-text-area{min-height:28px;margin-bottom:16px;max-width:100%}.streaming-current-line{color:#e5e5e5;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(520px,100vw - 48px);animation:fadeInLine .6s ease-in}@keyframes fadeInLine{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.streaming-hint{color:#666;font-size:12px;font-style:italic}.done-view,.error-view{display:flex;flex-direction:column;align-items:center}.done-icon{color:#4caf50;font-size:48px;margin-bottom:16px;line-height:1}.error-view h3{color:#e5e5e5;margin-bottom:8px}.error-icon{color:#f44336;font-size:48px;margin-bottom:16px;line-height:1}.error-details{margin-top:16px;background:rgba(0,0,0,.3);padding:8px 12px;border-radius:4px;font-size:11px;color:#aaa;max-width:100%;overflow-x:auto;text-align:left}.error-details pre{margin:8px 0 0;white-space:pre-wrap;word-break:break-word}.error-actions{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap;justify-content:center}.error-actions button{padding:12px 20px;border-radius:8px;border:none;cursor:pointer;font-weight:600;font-size:14px}.error-actions .primary{background:#d4af37;color:#0a0a0f}.error-actions .secondary{background:transparent;color:#888;box-shadow:inset 0 0 0 .5px rgba(255,255,255,.1)!important}.error-actions button:disabled{opacity:.5;cursor:not-allowed}@media (max-width:480px){.four-pillars{gap:4px}.pillar-stem{font-size:20px}.pillar-branch{font-size:17px}}