:root{--bg:#06070b;--panel:rgba(18,20,30,0.82);--text:#f2f4f8;--muted:#98a2b3;--accent:#ffffff}*{box-sizing:border-box}body,html{margin:0;width:100%;height:100%;overflow:hidden;background:radial-gradient(circle at 50% 35%,#111425 0,#090b12 45%,#030407 100%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}html:has(.auth-shell),html:has(.auth-shell) body{height:auto;min-height:100%;overflow:auto}canvas#view{display:block;width:100vw;height:100vh;position:relative;z-index:0}.ui{position:fixed;left:16px;top:16px;width:min(340px,calc(100vw - 32px));padding:14px 14px 12px;background:var(--panel);border:1px solid rgba(255,255,255,.08);border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.35);z-index:10}.ui.hidden{display:none}.title{font-size:15px;font-weight:700;letter-spacing:.01em}.subtitle{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.35}.grid{display:grid;grid-template-columns:1fr minmax(108px,46%);grid-gap:8px 10px;gap:8px 10px;margin-top:14px;align-items:center}.grid label{font-size:12px;color:#d4d7df}.grid input,.grid select{width:100%;background:rgba(255,255,255,.06);color:var(--text);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:6px 8px;font-size:12px}.row{display:flex;gap:8px;margin-top:12px;margin-left:-8px;margin-right:-8px;padding-left:8px;-webkit-padding-end:20px;padding-inline-end:20px;flex-wrap:nowrap;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;scrollbar-width:thin;position:relative;z-index:1}.row button{flex:0 0 auto;white-space:nowrap}button{background:rgba(255,255,255,.08);color:var(--text);border:1px solid rgba(255,255,255,.08);border-radius:11px;padding:9px 12px;font-size:12px;cursor:pointer}button:hover{background:rgba(255,255,255,.12)}.hint{margin-top:10px;font-size:11px;color:var(--muted);line-height:1.4}.inner-gear-val{color:var(--muted);font-weight:500}.grid-divider{grid-column:1/-1;margin:4px 0 2px;border:none;border-top:1px solid rgba(255,255,255,.12)}.badge{display:block;position:fixed;right:16px;bottom:16px;padding:8px 10px;font-size:11px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);color:#d8dce5;z-index:10;letter-spacing:.02em}.badge.hidden{display:none}.account-panel{position:fixed;right:16px;top:16px;width:min(280px,calc(100vw - 32px));max-height:min(420px,calc(100vh - 120px));overflow:auto;padding:12px 14px;background:var(--panel);border:1px solid rgba(255,255,255,.08);border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.35);z-index:10;font-size:12px}.account-modal-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px 16px;background:rgba(3,4,8,.65);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.account-modal{width:100%;max-width:340px;padding:18px 18px 16px;background:var(--panel);border:1px solid rgba(255,255,255,.1);border-radius:16px;box-shadow:0 16px 48px rgba(0,0,0,.45);font-size:12px;color:var(--text)}.account-modal-title{margin:0;font-size:15px;font-weight:700;letter-spacing:.01em}.account-modal-desc{margin:8px 0 0;font-size:12px;color:var(--muted);line-height:1.45}.account-modal-strong{font-weight:600;color:var(--text)}.account-modal form{margin:0}.account-modal-label{display:block;margin-top:14px;font-size:12px;color:#d4d7df}.account-modal-input{display:block;width:100%;margin-top:6px;box-sizing:border-box;background:rgba(255,255,255,.06);color:var(--text);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:9px 10px;font-size:13px}.account-modal-input:focus{outline:none;border-color:rgba(255,255,255,.22)}.account-modal-input:disabled{opacity:.65}.account-modal-error{margin:8px 0 0;font-size:11px;color:#f0a8a8;line-height:1.35}.account-modal-actions{display:flex;gap:8px;margin-top:16px}.account-modal-btn{flex:1 1;padding:9px 12px;font-size:12px;font-weight:500;border-radius:11px;cursor:pointer;border:1px solid rgba(255,255,255,.1);color:var(--text)}.account-modal-btn:disabled{opacity:.55;cursor:default}.account-modal-btn-muted{background:rgba(255,255,255,.06)}.account-modal-btn-muted:hover:not(:disabled){background:rgba(255,255,255,.1)}.account-modal-btn-primary{font-weight:600;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.14)}.account-modal-btn-primary:hover:not(:disabled){background:rgba(255,255,255,.16)}.account-modal-btn-danger{font-weight:600;background:rgba(140,45,45,.4);border-color:rgba(255,120,120,.35);color:#ffe0e0}.account-modal-btn-danger:hover:not(:disabled){background:rgba(160,55,55,.5)}.account-title{font-weight:700;font-size:13px;letter-spacing:.01em}.account-user{margin:6px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-muted,.account-user{color:var(--muted);font-size:11px}.account-muted{margin:8px 0 0;line-height:1.35}.account-hint{margin-top:10px}.account-error{margin:8px 0 0;color:#f0a8a8;font-size:11px}.account-actions{display:flex;flex-direction:column;gap:8px;margin-top:10px}.account-actions button{width:100%}.account-auth-link{display:block;text-align:center;text-decoration:none;background:rgba(255,255,255,.08);color:var(--text);border:1px solid rgba(255,255,255,.08);border-radius:11px;padding:9px 12px;font-size:12px}.account-auth-link:hover{background:rgba(255,255,255,.12)}.account-auth-link-secondary{background:rgba(255,255,255,.04)}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px}.auth-panel{width:100%;max-width:380px;padding:22px 20px 18px;background:var(--panel);border:1px solid rgba(255,255,255,.08);border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.35)}.auth-heading{margin:0;font-size:17px;font-weight:700;letter-spacing:.01em}.auth-sub{margin:8px 0 0;font-size:12px;color:var(--muted);line-height:1.45}.auth-form{margin-top:18px;gap:14px}.auth-field,.auth-form{display:flex;flex-direction:column}.auth-field{gap:6px}.auth-field label{font-size:12px;color:#d4d7df}.auth-field input{width:100%;background:rgba(255,255,255,.06);color:var(--text);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:9px 10px;font-size:13px}.auth-field input:focus{outline:none;border-color:rgba(255,255,255,.22)}.auth-field input:disabled{opacity:.65}.auth-error{margin:0;font-size:12px;color:#f0a8a8;line-height:1.35}.auth-submit{margin-top:4px;width:100%;background:rgba(255,255,255,.1);color:var(--text);border:1px solid rgba(255,255,255,.12);border-radius:11px;padding:11px 14px;font-size:13px;font-weight:600;cursor:pointer}.auth-submit:hover:not(:disabled){background:rgba(255,255,255,.14)}.auth-submit:disabled{opacity:.65;cursor:default}.auth-footer{margin:18px 0 0;text-align:center;font-size:12px;color:var(--muted);line-height:1.4}.auth-footer a{color:var(--text);font-weight:500;text-decoration:underline;text-underline-offset:3px}.auth-footer a:hover{color:#fff}.auth-back{margin:14px 0 0;text-align:center;font-size:12px}.auth-back a{color:var(--muted);text-decoration:none}.auth-back a:hover{color:var(--text);text-decoration:underline}.account-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.account-list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;padding:8px 10px;background:rgba(255,255,255,.04);border-radius:10px;border:1px solid rgba(255,255,255,.06)}.account-list-title{flex:1 1 120px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-list-btns{display:flex;gap:6px;flex-shrink:0}.account-list-btns button{padding:6px 10px;font-size:11px}