@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600&family=JetBrains+Mono:wght@100;400&display=swap";:root{--bg-color:#0a0a0c;--text-main:#e2e2e5;--text-dim:#8b8b93;--accent:#4a88ff;--panel-bg:#14141966;--border:#ffffff0d}body.light-theme{--bg-color:#fff;--text-main:#1a1a1c;--text-dim:#6b6b73;--panel-bg:#f0f0f599;--border:#0000001a}*{box-sizing:border-box;margin:0;padding:0}.setting-group{justify-content:space-between;align-items:center;margin-bottom:12px;font-family:JetBrains Mono,monospace;font-size:.65rem;display:flex}.setting-group label{color:var(--text-dim)}.setting-group select{color:var(--text-main);border:1px solid var(--border);background:#0003;border-radius:4px;outline:none;padding:4px 8px;font-family:Inter,sans-serif;font-size:.7rem}body.light-theme .setting-group select{background:#ffffff80}.action-btn{background:var(--text-main);width:100%;color:var(--bg-color);cursor:pointer;border:none;border-radius:4px;padding:8px;font-family:Inter,sans-serif;font-size:.75rem;font-weight:600;transition:opacity .2s}.share-row{align-items:center;gap:8px;margin-top:10px;display:flex}.share-icons{flex:1;justify-content:space-between;gap:6px;display:flex}.share-lead,.share-btn{background:var(--panel-bg);border:1px solid var(--border);width:32px;height:32px;color:var(--text-main);cursor:pointer;letter-spacing:.02em;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-family:Inter,sans-serif;font-size:.62rem;font-weight:700;text-decoration:none;transition:border-color .2s,color .2s,background .2s;display:flex}.share-lead{background:0 0}.share-lead:hover,.share-btn:hover{border-color:var(--accent);color:var(--accent)}.share-btn svg,.share-lead svg{width:16px;height:16px}.share-btn.copied{color:#27ae60;border-color:#27ae60}@media (width<=900px){.share-row{gap:6px}.share-icons{gap:5px}.share-lead,.share-btn{width:30px;height:30px;font-size:.58rem}.share-btn svg,.share-lead svg{width:15px;height:15px}}.action-btn:hover{opacity:.8}.toggle-switch{align-items:center;gap:8px;display:flex}.toggle-switch input{display:none}.slider{background:var(--border);cursor:pointer;border:1px solid var(--text-dim);border-radius:16px;width:30px;height:16px;position:relative}.slider:before{content:"";background:var(--text-main);border-radius:50%;width:12px;height:12px;transition:all .3s;position:absolute;top:1px;left:2px}input:checked+.slider:before{transform:translate(14px)}.theme-label{color:var(--text-main)}body{background-color:var(--bg-color);color:var(--text-main);width:100vw;height:100vh;font-family:Inter,sans-serif;overflow:hidden}#webgl-canvas{z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}#ui-layer{z-index:10;pointer-events:none;flex-direction:column;justify-content:space-between;width:100%;height:100%;padding:40px;display:flex;position:absolute;top:0;left:0}.header{text-align:left}h1{letter-spacing:.2em;text-transform:uppercase;font-family:Inter,sans-serif;font-size:1.5rem;font-weight:300}.subtitle{color:var(--text-dim);letter-spacing:.05em;text-transform:uppercase;margin-top:8px;font-family:JetBrains Mono,monospace;font-size:.75rem}.controls-container{pointer-events:auto;flex-direction:column;align-items:center;display:flex;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.status-indicator{color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em;margin-bottom:20px;font-family:JetBrains Mono,monospace;font-size:.8rem;transition:color .3s}.record-btn{border:1px solid var(--text-dim);color:var(--text-main);letter-spacing:.1em;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:0 0;border-radius:50px;padding:15px 40px;font-family:Inter,sans-serif;font-size:.9rem;font-weight:400;transition:all .3s;position:relative;overflow:hidden}.record-btn:hover{border-color:var(--text-main);background:var(--border)}.record-btn.recording{color:#ff4a4a;border-color:#ff4a4a}.pulse-ring{opacity:0;pointer-events:none;border:1px solid #ff4a4a;border-radius:50px;width:100%;height:100%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.record-btn.recording .pulse-ring{animation:1.5s cubic-bezier(.215,.61,.355,1) infinite pulse}@keyframes pulse{0%{opacity:.8;width:100%;height:100%}to{opacity:0;width:150%;height:150%}}.data-panel{background:var(--panel-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);pointer-events:auto;border-radius:8px;width:280px;padding:24px;position:absolute;top:50%;transform:translateY(-50%)}.data-panel.left{left:40px}.data-panel.right{right:40px}.data-panel h3{letter-spacing:.1em;color:var(--text-main);border-bottom:1px solid var(--border);margin-bottom:20px;padding-bottom:8px;font-family:JetBrains Mono,monospace;font-size:.7rem}.data-panel ul{list-style:none}.data-panel li{color:var(--text-dim);justify-content:space-between;margin-bottom:12px;font-family:JetBrains Mono,monospace;font-size:.65rem;display:flex}.data-panel .val{color:var(--text-main)}.progress-bar-container{background:var(--border);width:100%;height:2px;margin-top:10px;position:relative;overflow:hidden}.progress-bar{background:var(--text-main);width:0%;height:100%;transition:width .1s linear;position:absolute;top:0;left:0}.data-panel.right p{color:var(--text-dim);font-family:JetBrains Mono,monospace;font-size:.65rem}.fab-menu{z-index:100;pointer-events:auto;flex-direction:column;align-items:flex-end;gap:16px;display:flex;position:absolute;top:40px;right:40px}.fab-item.return-site{color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none;padding:0;font-family:Inter,sans-serif;font-size:.8rem;font-weight:600;text-decoration:none;transition:color .3s}.fab-item.return-site:hover{color:var(--text-main);background:0 0;border:none}.fab-item.fab-btn{background:var(--panel-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);color:var(--text-main);cursor:pointer;border-radius:30px;align-items:center;padding:10px;transition:all .3s;display:flex}.fab-item.fab-btn:hover{border-color:var(--text-main);background:#ffffff1a}.fab-btn{background:0 0;border-radius:50%;padding:10px}.mobile-icon{width:20px;height:20px;display:none}.fab-icon{width:20px;height:20px}.close-panel-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:5px;transition:color .3s,transform .3s;position:absolute;top:15px;right:15px}.close-panel-btn:hover{color:var(--text-main)}.close-icon{width:18px;height:18px}.cross-to-plus{transform:rotate(45deg)}.mobile-only{display:none!important}.sci-fi-panel{transition:opacity .3s,transform .4s cubic-bezier(.175,.885,.32,1.275)}.sci-fi-panel.closed{opacity:0;pointer-events:none;transform:translateY(-50%)scale(.95)}.side-toggle{background:var(--panel-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);color:var(--text-main);cursor:pointer;z-index:99;pointer-events:auto;border-radius:50%;padding:12px;transition:opacity .3s,transform .3s;position:absolute;top:50%;transform:translateY(-50%)}.side-toggle.hidden{opacity:0;pointer-events:none;transform:translateY(-50%)scale(.8)}.side-toggle:hover{background:#ffffff1a}.side-toggle.left{left:40px}.side-toggle.right{right:40px}.donate-btn{background:var(--panel-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);color:var(--text-main);z-index:100;border-radius:30px;flex-direction:row-reverse;align-items:center;padding:10px;text-decoration:none;transition:all .3s;display:flex;position:fixed;bottom:40px;right:40px;overflow:hidden}.donate-btn:hover{border-color:var(--text-main);color:var(--accent);background:#ffffff1a}.donate-btn .donate-text{opacity:0;white-space:nowrap;letter-spacing:.1em;max-width:0;font-family:Inter,sans-serif;font-size:.65rem;font-weight:600;transition:max-width .4s,opacity .3s,margin .3s}.donate-btn:hover .donate-text{opacity:1;max-width:200px;margin-right:8px}@media (width<=900px){.desktop-text{display:none}.mobile-icon{display:block}.fab-menu{top:104px;right:20px}.fab-item.return-site{background:var(--panel-bg);border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:50%;justify-content:center;align-items:center;padding:10px;display:flex}.side-toggle{display:none!important}.mobile-only{display:flex!important}.donate-btn{background:0 0;border:none;border-radius:50%;padding:10px;position:static}.donate-btn:hover{color:var(--accent);background:#ffffff1a;border:none}.donate-btn .donate-text{display:none!important}.data-panel{z-index:200;width:90vw;max-width:320px;top:50%!important;left:50%!important;right:auto!important;transform:translate(-50%,-50%)!important}.sci-fi-panel.closed{transform:translate(-50%,-50%)scale(.9)!important}}.lang-switcher{align-items:center;display:flex;position:relative}.lang-current{background:var(--panel-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);color:var(--text-main);letter-spacing:.08em;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:30px;align-items:center;gap:6px;padding:6px 12px;font-family:JetBrains Mono,monospace;font-size:.7rem;transition:all .3s;display:inline-flex}.lang-current:hover{border-color:var(--text-main);background:#ffffff1a}.lang-caret{width:10px;height:10px;transition:transform .2s}.lang-switcher.open .lang-caret{transform:rotate(180deg)}.lang-menu{background:var(--panel-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);z-index:150;border-radius:14px;flex-direction:column;gap:2px;min-width:160px;padding:6px;display:none;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 30px #00000059}.lang-switcher.open .lang-menu{display:flex}.lang-option{color:var(--text-main);letter-spacing:.06em;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;font-family:JetBrains Mono,monospace;font-size:.7rem;text-decoration:none;transition:background .15s;display:flex}.lang-option:hover{background:#ffffff14}.lang-option.active{background:var(--accent);color:#0a0a0c}.lang-option .lang-code{font-weight:600}.lang-option .lang-name{opacity:.75}.lang-option.active .lang-name{opacity:1}@media (width<=900px){.lang-current{border-radius:50%;gap:0;padding:9px 11px}.lang-current .lang-caret{display:none}.lang-menu{min-width:140px}}
