:root{--bg-primary: #161617;--bg-secondary: #1c1c1e;--fg-primary: #f3f3f3;--fg-secondary: #b9b9b9;--border: #222224;--shadow: rgba(0,0,0,.5);--backdrop-blur: rgba(28, 28, 30, .9);--radius: 12px}*{margin:0;padding:0;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}html,body{height:100vh;height:-webkit-fill-available;height:100svh;overflow:hidden;touch-action:none;-ms-touch-action:none;-webkit-overflow-scrolling:touch}body{visibility:visible;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--fg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}polytope-viewer{width:100vw;width:-webkit-fill-available;width:100svw;height:100vh;height:-webkit-fill-available;height:100svh;display:block}.top-left-buttons{position:absolute;top:20px;left:20px;display:flex;gap:8px;align-items:center;z-index:1001}.options-button{background:var(--backdrop-blur);backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);padding:6px 12px;font-size:13px;font-weight:500;color:var(--fg-primary);cursor:pointer;transition:all .2s ease;user-select:none;min-width:80px;text-align:center}.options-button:hover{background:color-mix(in srgb,var(--bg-secondary) 60%,var(--border) 40%);border-color:color-mix(in srgb,var(--border) 70%,var(--fg-secondary) 30%)}.select-polytope-btn{background:var(--backdrop-blur);backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);padding:6px 12px;font-size:13px;font-weight:500;color:var(--fg-primary);cursor:pointer;transition:all .2s ease;user-select:none}.select-polytope-btn:hover{background:color-mix(in srgb,var(--bg-secondary) 60%,var(--border) 40%);border-color:color-mix(in srgb,var(--border) 70%,var(--fg-secondary) 30%)}.control-group{margin-bottom:12px}.control-group:last-child{margin-bottom:0}.control-label{font-size:12px;color:var(--fg-secondary);margin-bottom:4px;display:block}.toggle-wrapper{display:flex;align-items:center;gap:12px}.toggle{position:relative;width:44px;height:24px;background-color:var(--border);border-radius:12px;cursor:pointer;transition:all .2s ease}.toggle.active{background-color:color-mix(in srgb,var(--fg-secondary) 70%,var(--bg-secondary) 30%)}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.toggle.active:after{transform:translate(20px)}.toggle-label{font-size:13px;color:var(--fg-secondary);cursor:pointer;user-select:none}.slider-wrapper{margin-bottom:0}.slider{width:100%;margin-bottom:4px;height:6px;background:var(--border);border-radius:3px;outline:none;appearance:none;cursor:pointer}.slider::-webkit-slider-thumb{appearance:none;width:16px;height:16px;background:color-mix(in srgb,var(--fg-secondary) 70%,var(--bg-secondary) 30%);border-radius:50%;cursor:pointer;box-shadow:0 2px 4px #0000001a;transition:all .1s ease}.slider::-webkit-slider-thumb:hover{background:color-mix(in srgb,var(--fg-secondary) 80%,var(--bg-secondary) 20%);transform:scale(1.1)}.slider::-moz-range-thumb{width:16px;height:16px;background:color-mix(in srgb,var(--fg-secondary) 70%,var(--bg-secondary) 30%);border-radius:50%;cursor:pointer;border:none;box-shadow:0 2px 4px #0000001a}.slider-value{font-size:12px;color:var(--fg-secondary);text-align:right;margin-bottom:12px}.action-btn{width:100%;min-width:140px;padding:8px 12px;margin-bottom:8px;background:color-mix(in srgb,var(--bg-secondary) 80%,var(--border) 20%);border:1px solid var(--border);border-radius:6px;color:var(--fg-primary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.action-btn:hover{background:color-mix(in srgb,var(--bg-secondary) 60%,var(--border) 40%);border-color:color-mix(in srgb,var(--border) 70%,var(--fg-secondary) 30%)}.action-btn:last-child{margin-bottom:0}.modal-overlay{position:fixed;top:0;left:0;width:100vw;width:-webkit-fill-available;width:100svw;height:100vh;height:-webkit-fill-available;height:100svh;background:#0009;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000;opacity:0;visibility:hidden;transition:all .3s ease;overflow:hidden;pointer-events:none}.modal-overlay.active{opacity:1;visibility:visible;pointer-events:auto}.modal-content{background:var(--backdrop-blur);backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;max-width:500px;width:90%;height:80vh;height:-webkit-fill-available;height:80svh;max-height:500px;display:flex;flex-direction:column;transform:scale(.9) translateY(20px);transition:all .3s ease;overflow:hidden}.modal-overlay.active .modal-content{transform:scale(1) translateY(0)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.modal-title{font-size:16px;font-weight:600;color:var(--fg-primary);flex:1}.close-button{background:none;border:none;font-size:24px;color:var(--fg-secondary);cursor:pointer;padding:4px;border-radius:6px;transition:all .2s ease}.close-button:hover{background:var(--border);color:var(--fg-primary)}.modal-body{flex:1;overflow-y:auto;padding:16px}.polytope-grid{display:grid;gap:10px}.polytope-card{background:var(--bg-secondary);border:2px solid var(--border);border-radius:6px;padding:12px;cursor:pointer;transition:all .2s ease;text-align:center;min-height:50px;display:flex;flex-direction:column;justify-content:center}.polytope-card:hover{border-color:color-mix(in srgb,var(--border) 70%,var(--fg-secondary) 30%);box-shadow:0 2px 8px #0000000d;transform:translateY(-1px)}.polytope-card.active{border-color:color-mix(in srgb,var(--border) 70%,var(--fg-secondary) 30%);background:color-mix(in srgb,var(--bg-secondary) 95%,var(--fg-secondary) 5%)}.polytope-name{font-size:14px;font-weight:600;color:var(--fg-primary)}.polytope-description{font-size:11px;color:var(--fg-secondary);line-height:1.3;margin-top:4px}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:transparent}.modal-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--fg-secondary)}body.modal-open{overflow:hidden}.skeleton-loader{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-primary);z-index:999;transition:opacity .3s ease}.skeleton-loader.fade-out{opacity:0;pointer-events:none}.skeleton-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--fg-secondary);border-radius:50%;-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite;margin-bottom:16px;will-change:transform;-webkit-transform:translateZ(0);transform:translateZ(0)}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.skeleton-text{font-size:14px;color:var(--fg-secondary)}@media(max-width:768px){.floating-panel{min-width:180px}.top-left-buttons{top:15px;left:15px;gap:6px}.controls-panel{top:60px;left:15px;padding:12px}.options-button,.select-polytope-btn{padding:6px 10px;font-size:12px}.modal-content{width:calc(100% - 40px);max-height:calc(100vh - 40px);max-height:-webkit-fill-available;max-height:calc(100svh - 40px)}.floating-panel{max-height:60vh;max-height:-webkit-fill-available;max-height:60svh}}.text-list-select[data-astro-cid-nvmee3sj]{display:flex;flex-direction:column;gap:8px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:15px;color:inherit}.text-list-option[data-astro-cid-nvmee3sj]{display:flex;align-items:center;gap:8px;background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;opacity:.5;transition:opacity .15s ease,filter .15s ease;text-align:left}.text-list-option[data-astro-cid-nvmee3sj]:hover{filter:brightness(1.4)}.text-list-option[data-astro-cid-nvmee3sj].active{opacity:1}.text-list-indicator[data-astro-cid-nvmee3sj]{font-family:ui-monospace,monospace;width:12px;flex-shrink:0;text-align:center}.text-list-label[data-astro-cid-nvmee3sj]{white-space:nowrap}@media(max-width:768px){.text-list-select[data-astro-cid-nvmee3sj]{gap:12px}.text-list-indicator[data-astro-cid-nvmee3sj]{width:16px}}polytope-viewer[data-astro-cid-rg6fbrkw]{width:100%;height:100%;display:block}
