:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#2b2b2b;background:#fbfaf6;font-family:system-ui,-apple-system,sans-serif}html,body,#root{height:100%;margin:0}.app{height:100dvh;padding-top:env(safe-area-inset-top);box-sizing:border-box;flex-direction:column;display:flex}header{border-bottom:1px solid #ece8de;align-items:center;gap:6px;padding:8px 12px;display:flex}header .spacer,.menu .spacer{flex:1}button,select{font:inherit;color:inherit;background:#fff;border:1px solid #c9c4b8;border-radius:8px;padding:4px 10px;font-size:14px}button:disabled{opacity:.4}button.icon{min-width:40px;min-height:36px;padding:2px 8px;font-size:18px}.view-tools{align-items:center;gap:6px;font-size:14px;display:flex}.stability-wrap{position:relative}.stability{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-color:#2b2b2b;border-radius:14px}.bubble{z-index:10;color:#fbfaf6;background:#2b2b2b;border-radius:8px;width:max-content;max-width:260px;padding:6px 10px;font-size:13px;position:absolute;top:calc(100% + 6px);left:0}.menu{border-bottom:1px solid #ece8de;max-height:60dvh;padding:8px 12px 12px;overflow-y:auto}.menu h2{margin:4px 0 8px;font-size:14px}.menu .examples{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.menu details{margin:10px 0;font-size:14px}.menu details .examples{margin-top:8px}.menu details button{text-align:left;font-size:13px}.menu .row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;font-size:14px;display:flex}.notices{left:8px;right:8px;top:calc(60px + env(safe-area-inset-top));z-index:20;flex-direction:column;gap:6px;display:flex;position:fixed}.notice{background:#fff7df;border:1px solid #ece8de;border-radius:10px;justify-content:space-between;align-items:flex-start;gap:8px;padding:8px 12px;font-size:14px;display:flex;box-shadow:0 2px 10px #0000001f}.notice.error{background:#fdecea}.notice details{color:#555;margin-top:4px;font-size:12px}.scroller{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.beam-panel{z-index:2;background:#fbfaf6;position:sticky;top:0}.beam-panel canvas{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:100%;display:block}.motion{pointer-events:none;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex;position:absolute;top:4px;left:12px;right:12px}.motion>*{pointer-events:auto}.motion>span:first-child{flex-basis:100%}.motion ul{background:#fff;border:1px solid #ece8de;border-radius:8px;flex-basis:100%;margin:0;padding:6px 10px 6px 24px}.diagram-panel h2{color:#555;height:20px;margin:0;padding:8px 20px 0;font-size:13px;font-weight:600}.diagram-panel canvas{touch-action:pan-y;width:100%;display:block}.menu .model button[aria-pressed=true]{color:#fbfaf6;background:#2b2b2b;border-color:#2b2b2b}.radial{bottom:calc(14px + env(safe-area-inset-bottom));z-index:15;width:0;height:0;position:fixed}.radial.left{left:46px}.radial.right{right:46px}.radial-main{white-space:nowrap;border-radius:24px;align-items:center;gap:6px;padding:10px 14px;display:flex;position:absolute;transform:translate(-50%,-100%);box-shadow:0 2px 10px #00000026}.radial-item{touch-action:none;border-radius:50%;place-items:center;width:52px;height:52px;padding:0;transition:transform .22s cubic-bezier(.34,1.56,.64,1),opacity .16s;display:grid;position:absolute;top:-78px;left:-26px;box-shadow:0 2px 8px #00000026}.ghost{z-index:30;pointer-events:none;color:#d35400;position:fixed;transform:translate(-50%,-100%)}.trash{left:50%;bottom:calc(80px + env(safe-area-inset-bottom));z-index:25;color:#c0392b;pointer-events:none;background:#fdecea;border-radius:16px;flex-direction:column;align-items:center;gap:2px;padding:10px 16px;font-size:12px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 2px 10px #00000026}.dialog-backdrop{z-index:40;background:#00000040;place-items:center;display:grid;position:fixed;inset:0}.dialog{background:#fff;border-radius:12px;flex-direction:column;gap:10px;min-width:260px;padding:16px;font-size:15px;display:flex}.dialog label{flex-direction:column;gap:6px;display:flex}.dialog .value-row{align-items:center;gap:8px;display:flex}.dialog input{font:inherit;border:1px solid #c9c4b8;border-radius:8px;width:9em;padding:6px 8px;font-size:18px}.dialog .row{justify-content:flex-end;gap:8px;display:flex}.dialog-error,.dialog-warn{color:#c0392b;margin:0;font-size:13px}
