.constellation-strip[data-astro-cid-3nf3al2f]{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-3)}.constellation-glyph[data-astro-cid-3nf3al2f]{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);width:5.5rem;padding:var(--space-2);border-radius:var(--radius);background:var(--color-surface-alt);text-decoration:none;transition:background .15s ease}.constellation-glyph[data-astro-cid-3nf3al2f]:hover{background:var(--color-accent-soft)}.constellation-glyph[data-astro-cid-3nf3al2f] svg[data-astro-cid-3nf3al2f]{width:100%;height:3.5rem}.constellation-glyph[data-astro-cid-3nf3al2f] line[data-astro-cid-3nf3al2f]{stroke:var(--series-greek);stroke-width:1.4;opacity:.55}.constellation-glyph[data-astro-cid-3nf3al2f] circle[data-astro-cid-3nf3al2f]{fill:var(--series-greek)}.constellation-strip[data-astro-cid-3nf3al2f][data-anim] .constellation-glyph[data-astro-cid-3nf3al2f] circle[data-astro-cid-3nf3al2f]{opacity:0}.constellation-strip[data-astro-cid-3nf3al2f][data-anim] .constellation-glyph[data-astro-cid-3nf3al2f] line[data-astro-cid-3nf3al2f]{stroke-dasharray:1;stroke-dashoffset:1}.constellation-strip[data-astro-cid-3nf3al2f][data-anim=run] .constellation-glyph[data-astro-cid-3nf3al2f] circle[data-astro-cid-3nf3al2f]{animation:glyph-star .4s ease-out forwards;animation-delay:calc(var(--n) * 40ms)}.constellation-strip[data-astro-cid-3nf3al2f][data-anim=run] .constellation-glyph[data-astro-cid-3nf3al2f] line[data-astro-cid-3nf3al2f]{animation:glyph-line .34s ease-in-out forwards;animation-delay:calc(.6s + var(--n) * .11s)}@keyframes glyph-star{to{opacity:1}}@keyframes glyph-line{to{stroke-dashoffset:0}}@media print{.constellation-strip[data-astro-cid-3nf3al2f][data-anim] .constellation-glyph[data-astro-cid-3nf3al2f] circle[data-astro-cid-3nf3al2f]{opacity:1;animation:none}.constellation-strip[data-astro-cid-3nf3al2f][data-anim] .constellation-glyph[data-astro-cid-3nf3al2f] line[data-astro-cid-3nf3al2f]{stroke-dashoffset:0;animation:none}}.constellation-glyph-name[data-astro-cid-3nf3al2f]{font-size:.72rem;color:var(--color-text-muted);text-align:center;line-height:1.2}.scene-art{margin:var(--space-4) 0 0;padding:var(--space-3);border-radius:var(--radius);background:var(--color-surface-alt)}.scene-art svg{display:block;width:100%;max-width:32rem;margin:0 auto;height:auto;overflow:visible}.scene-art .draw,.scene-art .pop{fill:none;stroke:var(--color-text-muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.75}.scene-art .accent{stroke:var(--series-color, var(--color-accent));stroke-width:2.4;opacity:1}.scene-art .dot{fill:var(--series-color, var(--color-accent));stroke:none;opacity:1}.scene-art .faint{opacity:.4;stroke-dasharray:4 5}.scene-art[data-anim] .draw{stroke-dasharray:1;stroke-dashoffset:1}.scene-art[data-anim] .pop,.scene-art[data-anim] .dot{opacity:0}.scene-art[data-anim=run] .draw{animation:scene-draw .55s ease-in-out forwards;animation-delay:calc(var(--n, 0) * .13s)}.scene-art[data-anim=run] .pop,.scene-art[data-anim=run] .dot{animation:scene-pop .35s ease-out forwards;animation-delay:calc(var(--n, 0) * .13s)}@keyframes scene-draw{to{stroke-dashoffset:0}}@keyframes scene-pop{to{opacity:1}}.scene-art[data-anim] .draw.faint{stroke-dasharray:4 5;stroke-dashoffset:0;opacity:0}.scene-art[data-anim=run] .draw.faint{animation:scene-faint .4s ease-out forwards;animation-delay:calc(var(--n, 0) * .13s)}@keyframes scene-faint{to{opacity:.4}}@media print{.scene-art[data-anim] .draw{stroke-dashoffset:0;animation:none}.scene-art[data-anim] .pop,.scene-art[data-anim] .dot{opacity:1;animation:none}.scene-art[data-anim] .draw.faint{opacity:.4;animation:none}}.suggest-fab{position:fixed;right:1.25rem;bottom:1.25rem;z-index:60;font:inherit;font-size:.85rem;font-weight:600;padding:.55em 1.1em;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-accent-deep);box-shadow:var(--shadow-sm);cursor:pointer}.suggest-fab:hover{filter:brightness(1.05)}.suggest-panel{position:fixed;right:1.25rem;bottom:4.25rem;z-index:60;width:min(22rem,calc(100vw - 2.5rem));padding:var(--space-4);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.suggest-head{display:flex;align-items:center;justify-content:space-between}.suggest-x{font:inherit;font-size:1.1rem;line-height:1;padding:0 .3em;border:none;background:none;color:var(--color-text-muted);cursor:pointer}.suggest-hint{margin:var(--space-2) 0 0;font-size:.78rem;color:var(--color-text-muted)}.suggest-quote{margin:var(--space-2) 0 0;padding:var(--space-2) var(--space-3);max-height:6.5rem;overflow-y:auto;font-size:.85rem;border-left:3px solid var(--color-accent);border-radius:var(--radius-sm);background:var(--color-surface-alt);color:var(--color-text)}.suggest-quote-empty{color:var(--color-text-muted)}.suggest-memo{width:100%;margin-top:var(--space-3);padding:var(--space-2) var(--space-3);font:inherit;font-size:.9rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);resize:vertical}.suggest-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2)}.suggest-btn,.suggest-btn-ghost{font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;padding:.4em 1.1em;border-radius:999px}.suggest-btn{border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-on-accent)}.suggest-btn-ghost{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted)}.suggest-msg{margin:var(--space-2) 0 0;font-size:.8rem;color:var(--color-text-muted);min-height:1em}.suggest-msg.is-error{color:var(--series-sunzi)}
