:root{--bg: #05060a;--panel-bg: rgba(14, 16, 26, .72);--panel-border: rgba(255, 255, 255, .08);--text: #e6e8ef;--text-dim: rgba(230, 232, 239, .6);--accent: #7fd6ff;--radius: 12px;color-scheme:dark}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}#app{position:fixed;inset:0}#app canvas{display:block;width:100%;height:100%;touch-action:none}button{font:inherit;color:inherit}.corner{position:fixed;top:max(4px,env(safe-area-inset-top));left:4px;display:flex;align-items:center;gap:6px;pointer-events:none}.corner[hidden]{display:none}.corner-figure{height:64px;width:auto;cursor:pointer;pointer-events:auto;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 2px 4px rgba(0,0,0,.6));transition:transform .15s ease}.corner-figure:active{transform:scale(.92)}.massacre{visibility:hidden;color:#ff2a2a;font-size:12px;font-weight:800;letter-spacing:.04em;text-shadow:0 0 6px rgba(255,30,30,.8),0 1px 2px #000;user-select:none}.massacre.show{animation:massacre-blink .5s steps(1,end) 10}@keyframes massacre-blink{0%{visibility:visible}50%{visibility:hidden}}.panel{position:fixed;top:16px;right:16px;width:300px;max-height:calc(100dvh - 32px);display:flex;flex-direction:column;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);box-shadow:0 8px 32px #00000073;font-size:12px;overflow:hidden}.panel[hidden]{display:none}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:10px 10px 10px 14px;flex:none}.panel-title{font-size:14px;font-weight:600;letter-spacing:.01em}.panel-toggle{width:28px;height:28px;border:0;border-radius:8px;background:transparent;cursor:pointer;opacity:.7}.panel-toggle:before{content:"";display:inline-block;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transition:transform .16s ease}.panel-toggle:before{transform:translateY(2px) rotate(-135deg)}.panel.collapsed .panel-toggle:before{transform:translateY(-2px) rotate(45deg)}.panel-toggle:hover,.panel-toggle:focus-visible{opacity:1;background:#ffffff14;outline:none}.panel-body{overflow-y:auto;overscroll-behavior:contain;padding:0 10px 12px;scrollbar-width:thin}.panel.collapsed .panel-body{display:none}.picker{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:10px}.pick{display:flex;flex-direction:column;gap:3px;padding:0;border:0;background:none;cursor:pointer;text-align:center;font-size:10px;color:var(--text-dim);min-width:0}.pick img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:7px;box-shadow:0 0 0 1px var(--panel-border);transition:box-shadow .12s ease,transform .12s ease}.pick span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pick:hover img,.pick:focus-visible img{transform:translateY(-1px);box-shadow:0 0 0 1px #fff6}.pick:focus-visible{outline:none}.pick.active{color:var(--text)}.pick.active img{box-shadow:0 0 0 2px var(--accent)}.equations{font-family:ui-monospace,Cascadia Code,Menlo,monospace;font-size:11px;line-height:1.6;color:var(--text-dim);padding:8px 10px;margin-bottom:8px;background:#ffffff0a;border-radius:8px}.meter{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-bottom:8px;padding:8px 10px;border-radius:8px;background:#ffffff0a;cursor:help}.meter-label{color:var(--text-dim)}.verdict{padding:1px 8px;border-radius:999px;font-weight:600;font-size:11px;background:#ffffff14;color:var(--text-dim)}.verdict-chaotic{background:#ff785033;color:#ffb199}.verdict-periodic{background:#50dcc82e;color:#8ff0de}.verdict-fixed-point{background:#8ca0ff2e;color:#b8c4ff}.verdict-diverges{background:#ffaa3c2e;color:#ffcf8a}.meter-detail{flex-basis:100%;font-family:ui-monospace,Cascadia Code,Menlo,monospace;font-size:11px;line-height:1.5;color:var(--text-dim)}.status{margin-bottom:8px;padding:8px 10px;border-radius:8px;background:#ffaa3c1f;color:#ffcf8a;line-height:1.4}.status[hidden]{display:none}.tp-host{margin-bottom:6px;--tp-base-background-color: transparent;--tp-base-shadow-color: transparent;--tp-container-background-color: rgba(255, 255, 255, .07);--tp-container-background-color-active: rgba(255, 255, 255, .16);--tp-container-background-color-focus: rgba(255, 255, 255, .13);--tp-container-background-color-hover: rgba(255, 255, 255, .1);--tp-container-foreground-color: var(--text);--tp-groove-foreground-color: rgba(255, 255, 255, .08);--tp-input-background-color: rgba(255, 255, 255, .07);--tp-input-background-color-active: rgba(255, 255, 255, .16);--tp-input-background-color-focus: rgba(255, 255, 255, .13);--tp-input-background-color-hover: rgba(255, 255, 255, .1);--tp-input-foreground-color: var(--text);--tp-label-foreground-color: var(--text-dim);--tp-monitor-background-color: rgba(0, 0, 0, .25);--tp-monitor-foreground-color: var(--accent);--tp-button-background-color: rgba(127, 214, 255, .16);--tp-button-background-color-active: rgba(127, 214, 255, .34);--tp-button-background-color-focus: rgba(127, 214, 255, .26);--tp-button-background-color-hover: rgba(127, 214, 255, .24);--tp-button-foreground-color: var(--text);--tp-blade-value-width: 176px}.tp-host .tp-rotv{font-family:inherit}.tp-host .tp-rotv_t,.tp-host .tp-fldv_t,.sweep>summary,.shortcuts>summary{color:#fff;font-weight:700;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.tp-host .tp-rotv_b,.tp-host .tp-fldv_b,.sweep>summary{border-left:3px solid var(--accent);background:#7fd6ff12}.tp-host .tp-rotv_b:hover,.tp-host .tp-fldv_b:hover,.sweep>summary:hover{background:#7fd6ff21}.tp-host .tp-btnv_b{font-weight:400}.tp-host .tp-rotv_m,.tp-host .tp-fldv_m{opacity:1;color:var(--accent)}.panel select{color-scheme:dark}.panel select option{background:#1a1d29;color:#e6e8ef}.panel select option:checked{background:#2c4a66;color:#fff}.sweep{margin:0 0 8px;padding:6px 8px 8px;border-radius:8px;background:#ffffff0a}.sweep summary{cursor:pointer;margin:-6px -8px 0;padding:6px 8px;border-radius:8px}.sweep[open] summary{margin-bottom:8px}.sweep-row{display:flex;align-items:center;gap:6px;margin-bottom:6px}.sweep select,.sweep input{min-width:0;font:inherit;font-size:11px;color:var(--text);background:#ffffff12;border:0;border-radius:4px;padding:4px 6px}.sweep input{flex:1;width:0;font-family:ui-monospace,Cascadia Code,Menlo,monospace}.sweep-dash{color:var(--text-dim)}.sweep-btn{flex:1;border:0;border-radius:4px;padding:5px 6px;font-size:11px;cursor:pointer;background:#7fd6ff29}.sweep-btn:hover,.sweep-btn:focus-visible{background:#7fd6ff42;outline:none}.sweep-plot-wrap{position:relative;height:150px;margin-bottom:4px;border-radius:6px;background:#0000004d;overflow:hidden}.sweep-plot,.sweep-cursor{position:absolute;inset:0;width:100%;height:100%}.sweep-cursor{cursor:crosshair}.sweep-caption{color:var(--text-dim);font-size:10.5px;line-height:1.4;margin-bottom:6px}.poincare input[type=range]{flex:1;width:0;padding:0;background:none;accent-color:#ffb070}.poincare-value{min-width:42px;text-align:right;font-family:ui-monospace,Cascadia Code,Menlo,monospace;font-size:11px;color:var(--text-dim)}.photos{margin:4px 0 8px;padding:8px 4px 0}.section-label{color:var(--text-dim);margin-bottom:6px}.family-tray{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.family-tray>*{flex-shrink:0}.family-tray .tray-break{flex-basis:100%;height:0}.family-tray button{cursor:pointer;border:0;padding:0}.family-thumb{width:36px;height:36px;border-radius:50%;background:#1a1d29 center / cover no-repeat;box-shadow:0 0 0 1px #ffffff40;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}.family-thumb:hover,.family-thumb:focus-visible{transform:scale(1.12);box-shadow:0 0 0 2px #ffffffb3;outline:none}.family-btn{width:28px;height:28px;border-radius:50%;background:#ffffff14;font-size:15px;line-height:28px;opacity:.75}.family-btn.restore-btn{width:auto;padding:0 10px;border-radius:14px;font-size:11px;font-weight:600}.family-btn:hover,.family-btn:focus-visible{opacity:1;background:#ffffff29;outline:none}.family-tray.off .family-thumb,.jet-btn.off{opacity:.35}.shortcuts{padding:4px;color:var(--text-dim)}.shortcuts summary{cursor:pointer}.shortcuts dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:8px 0 0}.shortcuts dt{font-family:ui-monospace,Cascadia Code,Menlo,monospace;color:var(--text)}.shortcuts dd{margin:0}@media(max-width:720px){.panel{inset:auto 0 0;width:auto;max-height:62dvh;border-radius:var(--radius) var(--radius) 0 0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom)}.panel-toggle:before{transform:translateY(-2px) rotate(45deg)}.panel.collapsed .panel-toggle:before{transform:translateY(2px) rotate(-135deg)}.panel-head{cursor:pointer;padding-top:14px;position:relative}.panel-head:before{content:"";position:absolute;top:5px;left:50%;width:36px;height:4px;margin-left:-18px;border-radius:2px;background:#ffffff40}.picker{display:flex;overflow-x:auto;scrollbar-width:none}.pick{flex:0 0 76px}.tp-host{--tp-blade-value-width: 60%}}
