html,body{color:#edf3fb;background:radial-gradient(circle at top,#548bad29,#0000 32%),linear-gradient(#09111a 0%,#04070b 100%);width:100%;height:100%;margin:0;font-family:Segoe UI,sans-serif;overflow:hidden}*,:before,:after{box-sizing:border-box}#app{touch-action:none;width:100vw;height:100vh;display:block}.simulation-panels-viewport{z-index:10;pointer-events:none;width:min(360px,100vw - 24px);max-width:min(360px,100vw - 24px);height:calc(100vh - 32px);max-height:calc(100dvh - 32px);position:fixed;top:16px;right:16px}.simulation-panels-viewport--collapsed{pointer-events:none}.simulation-panels-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;-ms-overflow-style:none;scrollbar-width:none;touch-action:pan-y;pointer-events:auto;opacity:1;visibility:visible;width:100%;height:100%;padding-top:56px;padding-bottom:4px;transition:opacity .18s,transform .18s,visibility linear;overflow:hidden auto;transform:translate(0)}.simulation-panels-scroll::-webkit-scrollbar{width:0;height:0}.simulation-panels{opacity:1;pointer-events:auto;flex-direction:column;gap:12px;width:100%;min-height:max-content;display:flex}.simulation-panels-viewport--collapsed .simulation-panels-scroll{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s,transform .18s,visibility 0s linear .18s;transform:translate(12px)}.simulation-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);pointer-events:auto;background:#090e16db;border:1px solid #a5c3dc3d;border-radius:16px;width:100%;max-width:100%;position:relative;overflow:hidden;box-shadow:0 20px 60px #00000059}.simulation-panels-toggle{z-index:11;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;background:#080c139e;border:1px solid #b0cde32e;border-radius:14px;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:0 11px;display:inline-flex;position:fixed;top:16px;right:16px;box-shadow:0 12px 30px #00000038}.simulation-panels-toggle span{background:#edf3fbeb;border-radius:999px;width:100%;height:2px;transition:transform .18s,opacity .18s;display:block}.simulation-panels-toggle:not(.simulation-panels-toggle--collapsed) span:first-child{transform:translateY(7px)rotate(45deg)}.simulation-panels-toggle:not(.simulation-panels-toggle--collapsed) span:nth-child(2){opacity:0}.simulation-panels-toggle:not(.simulation-panels-toggle--collapsed) span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.simulation-hint{z-index:9;color:#eff8ff;text-align:center;text-shadow:0 2px 18px #00000073;pointer-events:none;opacity:1;visibility:visible;max-width:min(760px,100vw - 48px);font-size:clamp(28px,3vw,44px);font-weight:800;line-height:1.15;transition:opacity .32s,visibility linear;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.simulation-hint--hidden{opacity:0;visibility:hidden;transition:opacity .32s,visibility 0s linear .32s}.simulation-view-reset{z-index:8;color:#edf3fbe6;font:inherit;letter-spacing:.02em;cursor:pointer;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);opacity:1;visibility:visible;background:#080c138a;border:1px solid #b0cde329;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:600;transition:opacity .18s,visibility linear,background .18s,border-color .18s;position:fixed;top:16px;left:16px;box-shadow:0 12px 30px #0000002e}.simulation-view-reset:hover{background:#0e1622b8;border-color:#b0cde347}.simulation-view-reset--hidden{opacity:0;visibility:hidden;transition:opacity .18s,visibility 0s linear .18s}.simulation-readout{z-index:8;color:#eef7ff;letter-spacing:.01em;pointer-events:none;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);opacity:1;visibility:visible;background:#080c1385;border:1px solid #b0cde324;border-radius:12px;gap:4px;padding:10px 12px;font-size:11px;line-height:1.4;transition:opacity .16s,visibility linear;display:grid;position:fixed;bottom:16px;left:16px;box-shadow:0 12px 30px #00000029}.simulation-readout--hidden{opacity:0;visibility:hidden;transition:opacity .16s,visibility 0s linear .16s}.simulation-readout__coords{color:#a8bfd8}.simulation-readout__value{color:#f4fbff;font-weight:600}.simulation-panel__summary{cursor:pointer;-webkit-user-select:none;user-select:none;letter-spacing:.08em;text-transform:uppercase;color:#d7e8f9;white-space:nowrap;touch-action:manipulation;justify-content:space-between;align-items:center;padding:14px 16px;font-size:13px;font-weight:700;list-style:none;display:flex}.simulation-panel__summary::-webkit-details-marker{display:none}.simulation-panel__summary:after{content:"";border-bottom:2px solid #d7e8f9eb;border-right:2px solid #d7e8f9eb;flex:none;width:9px;height:9px;margin-left:12px;transition:transform .14s;transform:rotate(-45deg)}.simulation-panel[open] .simulation-panel__summary:after{transform:rotate(45deg)}.simulation-panel__content{gap:12px;padding:0 16px 16px;display:grid}.simulation-panel__derived{color:#dce9f6;background:#7193ad1a;border-radius:12px;justify-content:space-between;align-items:center;margin:0;padding:10px 12px;font-size:12px;line-height:1.5;display:flex}.simulation-panel__legend{background:#7193ad14;border:1px solid #b0cde31f;border-radius:12px;gap:8px;padding:12px;display:grid}.simulation-panel__legend--hidden{display:none}.simulation-panel__legend-title{color:#dce9f6;letter-spacing:.01em;font-size:12px;font-weight:600}.simulation-panel__legend-bar{border-radius:999px;height:12px;box-shadow:inset 0 0 0 1px #ffffff14}.simulation-panel__legend-range{color:#c4d4e6;justify-content:space-between;gap:12px;font-size:11px;display:flex}.simulation-panel__legend-context{color:#90a5bb;font-size:11px;line-height:1.4}.simulation-panel__row{gap:8px;display:grid}.simulation-panel__help{color:#8ea6bf;font-size:11px;line-height:1.4}.simulation-panel__link{color:#bbd8f2;text-decoration:none}.simulation-panel__link:hover{color:#e6f4ff;text-decoration:underline}.simulation-panel__mode-group{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.simulation-panel__mode-group--views{grid-template-columns:repeat(2,minmax(0,1fr))}.simulation-panel__mode-button{color:#bbd1e8;font:inherit;cursor:pointer;background:#0f1824cc;border:1px solid #b0cde32e;border-radius:12px;padding:10px 12px;font-size:12px;font-weight:600}.simulation-panel__mode-button--active{color:#eff8ff;background:#4891bb52;border-color:#92d5ff73}.simulation-panel__label{color:#dce9f6;letter-spacing:.01em;font-size:12px;font-weight:600}.simulation-panel__select{color:#f1f7ff;width:100%;font:inherit;background:#04080ea6;border:1px solid #b0cde333;border-radius:10px;padding:10px 12px}.simulation-panel__inputs{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.simulation-panel__range{accent-color:#8cd7ff;width:100%}.simulation-panel__number-wrap{grid-template-columns:minmax(76px,auto) auto;align-items:center;gap:8px;display:inline-grid}.simulation-panel__number{color:#f1f7ff;width:88px;font:inherit;background:#04080ea6;border:1px solid #b0cde333;border-radius:10px;padding:8px 10px}.simulation-panel__number--wide{width:124px}.simulation-panel__unit{color:#8ea6bf;white-space:nowrap;font-size:11px}.simulation-panel__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.simulation-panel__button{color:#ecf7ff;font:inherit;cursor:pointer;background:#5996b829;border:1px solid #b0cde342;border-radius:999px;padding:9px 14px;font-size:12px;font-weight:600}.simulation-panel__button:hover{background:#5996b847}.simulation-panel__button--secondary{background:#ffffff0a;border-color:#b0cde32e}.simulation-panel__button--secondary:hover{background:#ffffff14}@media (width<=720px){.simulation-panels-viewport{width:min(360px,100vw - 24px);max-width:min(360px,100vw - 24px);height:calc(100vh - 24px);max-height:calc(100dvh - 24px);top:12px;left:50%;right:auto;transform:translate(-50%)}.simulation-panels-scroll{padding-top:52px}.simulation-hint{max-width:min(420px,100vw - 32px);font-size:clamp(22px,7vw,32px);top:50%;left:50%;right:auto}.simulation-panel__inputs{grid-template-columns:1fr}.simulation-panel__number-wrap{grid-template-columns:minmax(0,1fr) auto}.simulation-panel__mode-group{grid-template-columns:1fr}.simulation-view-reset{top:12px;left:12px}.simulation-panels-toggle{top:12px;right:12px}.simulation-readout{bottom:12px;left:12px}}
