body{margin:0;padding:0;overflow:hidden;background-color:#222;font-family:system-ui,-apple-system,sans-serif}.webgl{position:absolute;top:0;left:0;width:100%;height:100%}.title-container .title a,.title-container .about a{text-shadow:-1px 1px 1px #212121}.title-container .about .about-modal a{text-shadow:none}.next-sketch a{text-shadow:-1px 1px 1px #212121;z-index:101}.record-btn{position:fixed;bottom:24px;right:24px;z-index:100;width:48px;height:48px;border-radius:50%;border:none;background:#1e1e1ed9;color:#fff;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px);box-shadow:0 2px 12px #0006;transition:transform .15s,box-shadow .15s}.record-btn:hover{transform:scale(1.1);box-shadow:0 4px 20px #0009}.record-btn.recording:before{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:#e53935;animation:pulse-dot 1.2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}.modal-overlay{position:fixed;inset:0;z-index:200;background:#0009;display:flex;align-items:center;justify-content:center}.modal-card{background:#2a2a2a;color:#eee;border-radius:12px;padding:28px 32px;min-width:340px;max-width:420px;box-shadow:0 8px 40px #00000080}.modal-title{margin:0 0 20px;font-size:18px;font-weight:600}.modal-row{margin-bottom:14px}.modal-label{display:block;font-size:13px;color:#aaa;margin-bottom:4px}.modal-input{width:100%;padding:8px 10px;border-radius:6px;border:1px solid #444;background:#1e1e1e;color:#eee;font-size:14px;box-sizing:border-box}.modal-slider-group{display:flex;align-items:center;gap:10px}.modal-slider{flex:1;accent-color:#DB5461}.modal-slider-value{font-size:16px;font-variant-numeric:tabular-nums;min-width:32px;text-align:right}.modal-unit{color:#888;font-size:13px}.modal-info{font-size:13px;color:#888;margin:16px 0}.modal-actions{display:flex;gap:10px}.btn{flex:1;padding:10px 16px;border-radius:8px;border:none;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s}.btn-primary{background:#db5461;color:#fff}.btn-primary:hover{background:#c44552}.btn-secondary{background:#444;color:#ccc}.btn-secondary:hover{background:#555}.hidden{display:none!important}#osk{position:fixed;bottom:0;left:0;right:0;z-index:100;padding:6px 4px 12px;user-select:none;-webkit-user-select:none;will-change:transform}#osk{transition:transform .4s ease}.osk-panel-hidden{display:none}.osk-row{display:flex;justify-content:center;gap:6px;margin-bottom:6px}.osk-key{min-width:64px;height:64px;padding:0 6px;border:2px solid #000000a8;border-radius:10px;background:#f0f0f0b0;color:#212121;font-family:GeistPixel,JetBrains Mono,monospace;font-size:24px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .1s}.osk-key svg{stroke-width:1.5}.osk-key:active,.osk-key.osk-pressed{background:#ffffffde;transform:scale(.99)}.osk-key-wide{min-width:205px}.osk-key-control,.osk-key-sw{min-width:96px}#osk-toggle-btn{position:fixed;bottom:0;left:0;right:0;margin:0 auto;width:fit-content;z-index:101;padding:8px 32px;border:none;background:transparent;color:#fff;text-shadow:-1px 1px 1px #212121;font-family:GeistPixel,JetBrains Mono,monospace;font-size:16px;cursor:pointer;transition:transform .4s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}@media(max-width:768px){.osk-row{gap:3px}.osk-key{min-width:44px;height:44px;font-size:18px;border-radius:6px}.osk-key-wide{min-width:160px}.osk-key-sw,.osk-key-control{min-width:64px}}@media(max-width:480px){.osk-row{gap:3px}.osk-key{min-width:34px;height:36px;font-size:16px;border-radius:6px}.osk-key-wide{min-width:240px}.osk-key-sw,.osk-key-control{min-width:48px}#osk-toggle-btn{border-radius:6px 6px 0 0;padding:6px 24px}}@media(max-width:375px){.osk-row{gap:3px}.osk-key{min-width:30px;height:36px;font-size:16px;border-radius:6px}.osk-key-wide{min-width:146px}.osk-key-sw,.osk-key-control{min-width:48px}#osk-toggle-btn{border-radius:6px 6px 0 0;padding:6px 24px}}#panel-container{--tp-base-background-color: #FFFFFF;--tp-base-foreground-color: #000000;--tp-base-accent-color: #593C8F;--tp-base-shadow-color: hsla(0, 0%, 0%, .1);--tp-base-font-family: "GeistPixel", sans-serif;--tp-base-font-size: 14px;--tp-base-border-radius: 16px;--tp-about-text-font-size: 16px;--tp-value-text-font-size: 14px;--tp-button-background-color: hsla(230, 7%, 75%, 1);--tp-button-background-color-active: hsla(230, 7%, 60%, 1);--tp-button-background-color-focus: hsla(230, 7%, 65%, 1);--tp-button-background-color-hover: hsla(230, 7%, 70%, 1);--tp-button-foreground-color: hsla(230, 10%, 30%, 1);--tp-container-background-color: hsla(230, 15%, 30%, .2);--tp-container-background-color-active: hsla(230, 15%, 30%, .32);--tp-container-background-color-focus: hsla(230, 15%, 30%, .28);--tp-container-background-color-hover: hsla(230, 15%, 30%, .24);--tp-container-foreground-color: var(--tp-base-foreground-color);--tp-groove-foreground-color: hsla(230, 15%, 30%, .1);--tp-input-background-color: hsla(230, 15%, 30%, .1);--tp-input-background-color-active: hsla(230, 15%, 30%, .22);--tp-input-background-color-focus: hsla(230, 15%, 30%, .18);--tp-input-background-color-hover: hsla(230, 15%, 30%, .14);--tp-input-foreground-color: hsla(230, 10%, 30%, 1);--tp-label-foreground-color: var(--tp-base-foreground-color);--tp-monitor-background-color: hsla(230, 15%, 30%, .1);--tp-monitor-foreground-color: hsla(230, 10%, 30%, .5);--tp-blade-value-width: 175px}#panel-container code{font-family:JetBrains Mono,"monospace"}#panel-container{position:absolute;bottom:16px;left:32px;z-index:1000;pointer-events:none}#panel-container a{color:var(--tp-container-foreground-color)}#panel-toggle{position:absolute;bottom:0;left:0;box-sizing:border-box;padding:6px 14px;border:0px;border-radius:var(--tp-base-border-radius);font-family:var(--tp-base-font-family);font-size:var(--tp-about-text-font-size);color:contrast-color(var(--tp-base-accent-color));background:var(--tp-base-accent-color);cursor:pointer;pointer-events:all;touch-action:manipulation;-webkit-tap-highlight-color:transparent}#panel-toggle:active,#panel-toggle.pressed{transform:scale(.95)}#panel-container .tp-dfwv{width:fit-content!important}#panel-container .tp-rotv{position:relative;bottom:44px;border:4px solid var(--tp-base-accent-color);font-size:var(--tp-base-font-size)!important;opacity:0;transform:scale(.9);transform-origin:bottom left;transition:transform .125s ease-out,opacity .125s ease-out;pointer-events:none}#panel-container.active .tp-rotv{opacity:1;transform:scale(1);pointer-events:all}#panel-container .tp-rotv_b,#panel-container .tp-rotv_b:hover,#panel-container .tp-rotv_b:active,#panel-container .tp-rotv_b:focus{display:none!important;background-color:var(--tp-container-background-color)!important;cursor:default!important}#panel-container .tp-rotv_m{display:none!important}#panel-container .tp-rotv_c{width:min(400px,100vw - 64px)!important;padding-top:0;border:2px solid var(--tp-container-foreground-color);border-radius:12px}#panel-container .tp-fldv_i{display:none}#panel-container .tp-fldv_t{padding-left:10px!important}#panel-container .tp-fldv_c{padding:14px 6px!important}#panel-container .tp-tabv{display:flex!important;flex-direction:column-reverse!important}#panel-container .tp-tabv_t:before{top:0!important;height:1px!important}#panel-container .tp-tabv_t{font-size:var(--tp-base-font-size);border-radius:0 0 var(--tp-base-border-radius) var(--tp-base-border-radius)!important}#panel-container .tp-tabv_i{display:none}#panel-container .tp-tabv_c{padding:14px 6px!important}#panel-container .tp-tbiv{margin-left:0!important}#panel-container .tp-tbiv-sel{background-color:var(--tp-base-background-color)}#panel-container .tp-tbiv_b{padding:4px 6px!important;cursor:pointer!important}#panel-container .tp-tbiv_b:before{background:var(--tp-button-background-color)!important;height:1px!important;inset:0!important}#panel-container .tp-tbiv-sel .tp-tbiv_b:before{background:var(--tp-container-foreground-color)!important;height:2px!important;inset:0!important}#panel-container .tp-tbpv_c{overflow:auto;max-height:calc(100vh - 220px);padding:0!important}#panel-container .tp-lblv_l{padding-right:0!important}#panel-container .tp-sldtxtv_s{flex:2.75!important}#panel-container .tp-induv_t{font-size:var(--tp-about-text-font-size)}#panel-container .tp-radv_t,#panel-container .tp-txtv_i{font-size:var(--tp-value-text-font-size)}@media screen and (orientation:landscape){#panel-container{left:calc(50vw - 50vh + 32px)}}@media screen and (max-width:640px){#panel-container{left:21px}}
