:root{--color-space:#050914;--color-panel:#101a2c;--color-panel-raised:#16243a;--color-border:#2a4056;--color-text:#edf3fa;--color-text-muted:#a9b8cc;--color-accent:#68c8ff;--color-success:#70dbb0;--color-notice:#f2c36b;--color-error:#ff8a91;--radius-card:12px;--control-height:30px;--touch-size:30px;--chip-background:#101a2ce0;--menu-width:340px;--edge-gap:12px;--bar-space:56px;--hud-space:56px;color:var(--color-text);background:var(--color-space);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;-webkit-text-size-adjust:100%;font-family:Microsoft JhengHei,PingFang TC,Noto Sans TC,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px}*{box-sizing:border-box}html,body{background:var(--color-space);height:100%;margin:0;overflow:hidden}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}[hidden]{display:none!important}.app{position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.scene-container{position:absolute;top:0;bottom:0;left:0;right:0}.scene-canvas{outline:none;width:100%;height:100%;display:block}.label-layer{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.scene-label{color:var(--color-text);white-space:nowrap;pointer-events:none;will-change:transform;background:0 0;border:0;align-items:center;margin-top:-10px;margin-left:-4px;padding:0;font-size:13px;line-height:20px;display:flex;position:absolute;top:0;left:0}.scene-label:disabled{opacity:1;cursor:default}.scene-label-marker{border:1.5px solid var(--color-text-muted);visibility:hidden;border-radius:50%;flex:none;width:8px;height:8px}.scene-label.has-marker .scene-label-marker{visibility:visible;pointer-events:auto}.scene-label-text{pointer-events:auto;text-shadow:0 0 3px #000;background:#0509148c;border-radius:6px;padding:0 6px}.scene-label.text-hidden .scene-label-text{display:none}.scene-label:hover .scene-label-text{color:var(--color-accent)}.scene-label.is-selected .scene-label-text{color:#06121f;background:var(--color-accent);text-shadow:none;font-weight:600}.scene-label.is-selected .scene-label-marker{border-color:var(--color-accent)}.scene-label.kind-star .scene-label-text{color:#d9e6ff;font-size:12px}.scene-label.kind-figure .scene-label-text{color:var(--color-notice)}.scene-label.kind-zodiac .scene-label-text{color:#a9d3ff}.scene-label.kind-member .scene-label-text{color:#ffe27a;background:#05091466;font-size:11px}.scene-label.is-selected.kind-zodiac .scene-label-text,.scene-label.is-selected.kind-figure .scene-label-text{color:#06121f}.scene-label.kind-pane-title .scene-label-text{border:1px solid var(--color-accent);color:var(--color-text);background:#101a2ce6;font-size:13px}.scene-label.kind-direction{font-size:15px;font-weight:700}.scene-label.kind-direction .scene-label-text{color:var(--color-notice);background:0 0}.control-button{height:var(--control-height);min-width:var(--touch-size);white-space:nowrap;border:1px solid var(--color-border);border-radius:calc(var(--control-height) / 2);background:var(--chip-background);color:var(--color-text);padding:0 14px;font-size:14px}.control-button:hover:not(:disabled){border-color:var(--color-accent)}.control-button[aria-pressed=true]{border-color:var(--color-accent);color:var(--color-text);background:#68c8ff2e}.control-button.is-primary{background:var(--color-accent);border-color:var(--color-accent);color:#06121f;font-weight:600}.compact-select{height:var(--control-height);border:1px solid var(--color-border);border-radius:calc(var(--control-height) / 2);background:var(--color-panel);padding:0 10px;font-size:14px}select option,select optgroup{background-color:var(--color-panel);color:var(--color-text)}.segmented{height:var(--control-height);border:1px solid var(--color-border);border-radius:calc(var(--control-height) / 2);background:var(--chip-background);align-items:stretch;display:inline-flex;overflow:hidden}.segmented .control-button{border:none;border-left:1px solid var(--color-border);background:0 0;border-radius:0;height:auto}.segmented>:first-child{border-left:none}.segmented .control-button:hover:not(:disabled):not([aria-pressed=true]){background:#ffffff0f}.segmented .control-button[aria-pressed=true]{color:#fff;background:#68c8ff42}.ui-icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.icon-only{justify-content:center;align-items:center;padding:0;display:inline-flex}.hud{left:var(--view-center-x,50%);bottom:calc(var(--edge-gap) + env(safe-area-inset-bottom,0px));width:max-content;max-width:calc(var(--view-width,100vw) - 2 * var(--edge-gap));z-index:20;pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;transform:translate(-50%)}.status-bar{border:1px solid var(--color-border);background:var(--chip-background);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto;border-radius:18px;flex-wrap:wrap;justify-content:center;align-items:stretch;max-width:100%;display:flex;overflow:hidden;box-shadow:0 6px 24px #00000059}.time-bar,.play-slot{display:contents}.status-item,.step-controls .control-button{height:calc(var(--control-height) + 2px);min-width:0;color:var(--color-text);white-space:nowrap;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:14px;display:inline-flex}.status-item:hover,.step-controls .control-button:hover:not(.is-primary){background:#ffffff12}.mode-button,.time-display,.step-controls,.step-controls .control-button+.control-button{border-left:1px solid var(--color-border)}.menu-button{width:44px;color:var(--color-text-muted);padding:0}.app[data-menu-open=true] .menu-button{color:var(--color-accent);background:#68c8ff24}.music-button{width:40px;color:var(--color-text-muted);border-left:1px solid var(--color-border);padding:0}.music-button[data-status=playing]{color:var(--color-accent)}.music-button[data-status=waiting]{color:var(--color-text)}.music-button[data-status=error]{color:var(--color-error)}.music-section{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.music-volume{color:var(--color-text-muted);align-items:center;gap:8px;font-size:14px;display:inline-flex}.music-volume input{width:140px;accent-color:var(--color-accent)}.music-section .field-hint{flex-basis:100%;margin:0}.mode-button{font-weight:600}.mode-button-caret{color:var(--color-text-muted);font-size:12px}.time-display{line-height:calc(var(--control-height) + 2px);align-items:baseline}.time-display-date{font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:15px;font-weight:600}.time-display-zone{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:12px}.step-controls{display:flex}.step-controls .control-button{padding:0 12px}.step-controls .control-button.is-primary{background:var(--color-accent);color:#06121f}.play-button{min-width:84px}.scale-badge{max-width:100%;color:var(--color-notice);white-space:nowrap;text-overflow:ellipsis;background:#05091499;border-radius:10px;padding:2px 10px;font-size:12px;overflow:hidden}.scale-badge:empty{display:none}.view-caption{border:1px solid var(--color-border);border-radius:var(--radius-card);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);max-width:min(560px,100%);color:var(--color-text);background:#101a2cd1;padding:8px 14px;font-size:14px;line-height:1.6}.view-caption p{margin:0}.view-caption .caption-note{color:var(--color-text-muted);font-size:13px}.app[data-caption-collapsed=true] .view-caption{display:none}.menu-panel{top:calc(var(--edge-gap) + env(safe-area-inset-top,0px));bottom:calc(var(--edge-gap) + env(safe-area-inset-bottom,0px));left:calc(var(--edge-gap) + env(safe-area-inset-left,0px));width:min(var(--menu-width), calc(100vw - 2 * var(--edge-gap)));border:1px solid var(--color-border);border-radius:var(--radius-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:30;background:#0c1423f2;flex-direction:column;display:flex;position:absolute;overflow:hidden;box-shadow:0 12px 40px #00000073}.menu-header{justify-content:space-between;align-items:center;padding:14px 12px 8px 18px;display:flex}.brand{letter-spacing:.14em;white-space:nowrap;margin:0;font-size:18px;font-weight:700}.panel-close{border:1px solid var(--color-border);width:30px;height:30px;color:var(--color-text-muted);background:0 0;border-radius:50%}.panel-close:hover{border-color:var(--color-accent);color:var(--color-text)}.menu-tabs{border-bottom:1px solid var(--color-border);padding:0 8px;display:flex}.menu-tab{height:36px;color:var(--color-text-muted);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-1px;padding:0;font-size:14px}.menu-tab:hover{color:var(--color-text)}.menu-tab[aria-selected=true]{color:var(--color-text);border-bottom-color:var(--color-accent);font-weight:600}.language-button{border:1px solid var(--color-border);background:var(--chip-background);min-width:38px;height:26px;color:var(--color-text-muted);border-radius:13px;margin-left:auto;margin-right:8px;padding:0 10px;font-size:13px;font-weight:600}.language-button:hover{border-color:var(--color-accent);color:var(--color-text)}html[lang=en] .menu-tab{flex:auto;padding:0 3px;font-size:13px}.menu-pages{overscroll-behavior:contain;flex:1;min-height:0;padding:4px 16px 16px;overflow-y:auto}.menu-section-title{color:var(--color-text-muted);letter-spacing:.08em;margin:14px 0 4px;font-size:13px;font-weight:600}.menu-footer{border-top:1px solid var(--color-border);flex-direction:column;gap:6px;padding:8px 16px 10px;display:flex}.menu-keys{color:var(--color-text-muted);flex-wrap:wrap;gap:4px 14px;margin:0;font-size:12px;display:flex}.menu-credit{color:var(--color-text-muted);text-align:center;margin:0;font-size:12px}.menu-credit a{color:var(--color-accent);text-decoration:none}.menu-credit a:hover{text-underline-offset:3px;text-decoration:underline}.menu-keys kbd{border:1px solid var(--color-border);background:var(--color-panel-raised);min-width:20px;color:var(--color-text);text-align:center;border-radius:4px;margin-right:3px;padding:0 5px;font-family:inherit;font-size:11px;line-height:18px;display:inline-block}@media not ((hover:hover) and (pointer:fine)){.menu-keys{display:none}}.option-row{grid-template-columns:4.5em minmax(0,1fr);align-items:center;gap:4px 10px;padding:6px 0;display:grid}.option-label{color:var(--color-text-muted);font-size:14px}.option-controls{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.option-hint{color:var(--color-text-muted);grid-column:2;margin:0;font-size:12px;line-height:1.6}.option-hint.is-notice{color:var(--color-notice);margin:4px 0;font-size:13px}.toggle-group{flex-wrap:wrap;gap:6px;display:flex}.alias-hint{color:var(--color-notice);grid-column:2;align-items:flex-start;gap:6px;margin:0;font-size:12px;line-height:1.6;display:flex}.alias-hint .ui-icon{width:15px;height:15px;margin-top:2px}.mode-list{flex-direction:column;gap:4px;padding-top:10px;display:flex}.mode-option{text-align:left;background:0 0;border:none;border-left:3px solid #0000;border-radius:10px;flex-direction:column;align-items:flex-start;gap:2px;padding:9px 14px;display:flex}.mode-option:hover{background:var(--color-panel-raised)}.mode-option[aria-pressed=true]{border-left-color:var(--color-accent);background:#68c8ff1f}.mode-option-name{letter-spacing:.04em;font-size:17px;font-weight:600}.mode-option-desc{color:var(--color-text-muted);font-size:13px;line-height:1.5}.inline-form{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-panel-raised);margin:6px 0 10px;padding:12px 14px}.inline-form h3{margin:0 0 10px;font-size:15px}.field{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.field label{color:var(--color-text-muted);font-size:14px}.field select,.field input{min-height:var(--control-height);border:1px solid var(--color-border);background:var(--color-panel);border-radius:10px;padding:0 10px}.field-hint{color:var(--color-text-muted);font-size:13px;line-height:1.6}.field-error{color:var(--color-error);font-size:14px}.offset-choice{border:1px solid var(--color-notice);border-radius:10px;margin:0 0 12px;padding:8px 12px}.offset-choice legend{color:var(--color-notice);font-size:14px}.radio-option{align-items:center;gap:6px;min-height:24px;display:flex}.search-box{z-index:1;width:100%;height:var(--control-height);border:1px solid var(--color-border);border-radius:calc(var(--control-height) / 2);background:var(--color-space);margin-top:10px;padding:0 12px;position:sticky;top:0;box-shadow:0 -10px #0c1423}.list-group{margin-top:14px}.list-group h3{color:var(--color-text-muted);letter-spacing:.08em;margin:0 0 6px;font-size:13px;font-weight:600}.list-items{margin:0;padding:0;list-style:none}.list-item{width:100%;min-height:var(--touch-size);text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:3px 10px;display:flex}.list-item:hover{background:var(--color-panel-raised)}.list-item[aria-current=true]{border-color:var(--color-accent);background:#68c8ff1a}.list-item-name{font-size:16px}.list-item-sub{color:var(--color-text-muted);font-size:13px}.empty-note{color:var(--color-text-muted);font-size:14px;line-height:1.7}.back-button{height:var(--control-height);border:1px solid var(--color-border);border-radius:calc(var(--control-height) / 2);color:var(--color-text-muted);background:0 0;margin:12px 0 10px;padding:0 12px;font-size:14px}.back-button:hover{border-color:var(--color-accent);color:var(--color-text)}.info-title{margin:0;font-size:22px;font-weight:600}.info-subtitle{color:var(--color-text-muted);margin:4px 0 10px;font-size:14px}.info-description{margin:0 0 12px;line-height:1.7}.info-badge{border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:12px;margin:0 6px 8px 0;padding:2px 10px;font-size:13px;display:inline-block}.info-badge.is-verified{border-color:var(--color-success);color:var(--color-success)}.info-badge.is-notice{border-color:var(--color-notice);color:var(--color-notice)}.info-badge.is-error{border-color:var(--color-error);color:var(--color-error)}.info-facts{grid-template-columns:auto 1fr;gap:6px 12px;margin:0 0 12px;font-size:15px;display:grid}.info-facts dt{color:var(--color-text-muted)}.info-facts dd{font-variant-numeric:tabular-nums;margin:0}.info-section-title{color:var(--color-text-muted);margin:14px 0 6px;font-size:15px}.info-sources{color:var(--color-text-muted);margin:0;padding-left:18px;font-size:13px;line-height:1.7}.info-sources a{color:var(--color-accent)}.info-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.figure-detail{margin:4px 0 12px}.figure-visibility{border-left:3px solid var(--color-notice);background:var(--color-panel-raised);border-radius:8px;margin:0;padding:8px 12px;font-size:14px;line-height:1.6}.figure-visibility[data-kind=visible]{border-left-color:var(--color-success)}.figure-visibility+.info-actions{margin-top:8px}.figure-diagram svg{border:1px solid var(--color-border);background:#050a16;border-radius:10px;width:100%;height:auto;display:block}.figure-diagram-line{stroke:#ffe27a;stroke-width:1.4px;stroke-linecap:round;opacity:.85}.figure-diagram-dot{fill:#edf3fa;transition:fill .2s}.figure-diagram-dot.is-endpoint{fill:#ffe27a}.figure-diagram-dot.is-active{fill:var(--color-accent)}.figure-diagram-hit{fill:#0000}.figure-diagram-star{cursor:pointer;outline:none}.figure-diagram-star:focus-visible .figure-diagram-hit{stroke:var(--color-accent);stroke-width:1.5px}.figure-diagram-letter{fill:#a9b8cc;pointer-events:none;font-size:10px}.figure-diagram-compass{fill:#6f86a3;font-size:10px}.figure-diagram-caption{min-height:3em;color:var(--color-text-muted);margin:6px 0 0;font-size:13px;line-height:1.6}.figure-diagram .info-actions{margin-top:4px}.member-list{margin:0;padding:0;list-style:none}.member-item{text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;grid-template-columns:1fr auto;gap:0 8px;width:100%;padding:5px 10px;display:grid}.member-item:hover{background:var(--color-panel-raised);border-color:var(--color-border)}.member-name{font-size:15px}.member-meta{color:var(--color-text-muted);white-space:nowrap;font-size:13px}.member-position{color:var(--color-text-muted);font-variant-numeric:tabular-nums;grid-column:1/-1;font-size:12px}.zodiac-sun-line{margin-top:4px}.zodiac-grid{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px;display:grid}.zodiac-option{border:1px solid var(--color-border);background:var(--chip-background);text-align:left;border-radius:10px;flex-direction:column;align-items:flex-start;gap:2px;min-height:52px;padding:7px 10px;display:flex}.zodiac-option:hover{border-color:var(--color-accent)}.zodiac-option[aria-current=true]{border-color:var(--color-accent);background:#68c8ff29}.zodiac-option-name{font-size:15px;font-weight:600}.zodiac-option-status{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:12px}.zodiac-option[data-visibility=visible] .zodiac-option-status{color:var(--color-success)}.toast{left:var(--view-center-x,50%);bottom:calc(var(--hud-space) + 10px);border:1px solid var(--color-border);background:var(--color-panel-raised);z-index:40;border-radius:10px;width:max-content;max-width:min(92vw,560px);padding:10px 16px;font-size:15px;line-height:1.6;position:absolute;transform:translate(-50%)}.toast-line{margin:0}.toast-line+.toast-line{border-top:1px solid var(--color-border);margin-top:6px;padding-top:6px}.toast.is-error{border-color:var(--color-error)}.toast.is-notice{border-color:var(--color-notice)}.startup-screen,.fatal-error{background:radial-gradient(ellipse at 50% 20%, #142442 0%, var(--color-space) 65%);text-align:center;z-index:50;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.startup-title{letter-spacing:.12em;margin:0;font-size:32px}.startup-slow-hint{max-width:420px;color:var(--color-text-muted);margin:12px 0 0;line-height:1.7}.fatal-error h2{color:var(--color-error)}.fatal-error p{max-width:560px;color:var(--color-text-muted);line-height:1.8}.app[data-bar-stacked=true] .status-bar{border-radius:16px;grid-template-columns:auto auto auto minmax(0,1fr);display:grid}.app[data-bar-stacked=true] .step-controls{border-left:none;border-top:1px solid var(--color-border);grid-column:1/-1}.app[data-bar-stacked=true] .step-controls .control-button{flex:1}@media (max-width:1023px){:root{--menu-width:320px}}@media (max-height:520px){:root{--edge-gap:8px;--menu-width:300px}.menu-header{padding-top:8px;padding-bottom:4px}.view-caption{padding:4px 12px;font-size:13px}.view-caption .caption-note{display:none}.step-controls .control-button{padding:0 10px}}@media (max-width:767px) and (min-height:521px){:root{--edge-gap:8px}.menu-panel{width:auto;top:auto;left:0;right:0;bottom:calc(var(--bar-space) + 6px);max-height:min(62dvh, calc(100dvh - var(--bar-space) - 24px));border-left:none;border-right:none;border-radius:16px 16px 0 0}.menu-header{padding-top:10px;padding-bottom:4px}.menu-tab{font-size:15px}.hud{width:calc(100vw - 2 * var(--edge-gap));max-width:none;left:50%}.status-bar{width:100%}.step-controls .control-button{padding:0 8px}.mode-button{padding:0 10px}.time-display{flex-direction:column;justify-content:center;align-items:flex-start;gap:0;padding:0 12px;line-height:1.15}.time-display-date{font-size:14px}.time-display-zone{font-size:10px}.view-caption{padding:5px 12px;font-size:13px}.view-caption .caption-note{display:none}.scale-badge{font-size:11px}}
