*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{-webkit-font-smoothing:antialiased;font-family:ui-sans-serif,system-ui,Helvetica Neue,Helvetica,Arial,sans-serif}main{flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100vh;padding:24px;transition:background .4s;display:flex}.wall{border-radius:6px;padding:0;transition:background .4s;position:relative;overflow:hidden;box-shadow:0 1px 2px #0000001f,0 12px 40px #00000038,inset 0 1px #ffffff40}.wall canvas{width:100%;height:100%;position:absolute;inset:0}.caption{letter-spacing:.04em;-webkit-user-select:none;user-select:none;font-size:12.5px}.caption a{color:inherit;text-underline-offset:2px;text-decoration:underline}.caption a:hover{opacity:.75}main.stage{gap:0;padding:0}main.stage .wall{box-shadow:none;border-radius:0}main.rotate-gate{text-align:center;gap:14px}main.rotate-gate h1{letter-spacing:.01em;color:#3a3935;font-size:19px;font-weight:600}main.rotate-gate p{color:#6b6a66;font-size:13.5px}.phone-glyph{border:3px solid #3a3935;border-radius:10px;width:44px;height:74px;animation:2.6s ease-in-out infinite rotate-phone;position:relative}.phone-glyph span{background:#3a3935;border-radius:2px;width:14px;height:3px;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}@keyframes rotate-phone{0%,18%{transform:rotate(0)}50%,82%{transform:rotate(90deg)}to{transform:rotate(90deg)}}.fab.fs{font-size:17px;left:22px;right:auto}@media (max-width:900px){.panel{width:min(280px,100vw - 44px)}}.fab{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#333;cursor:pointer;z-index:20;background:#ffffffd9;border:1px solid #00000026;border-radius:50%;width:44px;height:44px;font-size:19px;line-height:1;transition:transform .15s;position:fixed;bottom:22px;right:22px;box-shadow:0 4px 16px #0000002e}.fab:hover{transform:scale(1.06)}.fab.dark{color:#eee;background:#222222d9;border-color:#ffffff2e}.panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:19;color:#1c1c1c;background:#fffffff2;border:1px solid #0000001a;border-radius:14px;width:280px;max-height:calc(100vh - 110px);padding:18px;position:fixed;bottom:78px;right:22px;overflow-y:auto;box-shadow:0 18px 50px #00000040}.panel.dark{color:#eceae6;background:#1b1b1bf2;border-color:#ffffff1f}.panel h2{letter-spacing:.02em;font-size:15px;font-weight:600}.panel .sub{opacity:.6;margin:2px 0 14px;font-size:11.5px}.panel section{margin-bottom:14px}.panel h3{text-transform:uppercase;letter-spacing:.1em;opacity:.55;margin-bottom:6px;font-size:10.5px;font-weight:600}.presets{gap:6px;display:grid}.preset{cursor:pointer;font:inherit;color:inherit;text-align:left;background:0 0;border:1px solid #0000001f;border-radius:9px;flex-direction:column;align-items:flex-start;gap:1px;padding:8px 10px;display:flex}.preset strong{font-size:12.5px;font-weight:600}.preset span{opacity:.55;font-size:10.5px}.preset.active{border-color:currentColor;box-shadow:inset 0 0 0 1px}.panel.dark .preset{border-color:#ffffff29}.seg{gap:4px;display:flex}.seg button{color:inherit;cursor:pointer;background:0 0;border:1px solid #0000001f;border-radius:8px;flex:1;padding:6px 0;font-family:inherit;font-size:11.5px}.panel.dark .seg button{border-color:#ffffff29}.seg button.active{border-color:currentColor;font-weight:600;box-shadow:inset 0 0 0 1px}.perform{color:#fff;letter-spacing:.02em;cursor:pointer;background:#161616;border:none;border-radius:9px;width:100%;margin-top:2px;padding:9px 0;font-family:inherit;font-size:12.5px;font-weight:600}.panel.dark .perform{color:#161616;background:#f0eee9}.perform:hover{opacity:.88}
