*{box-sizing:border-box;margin:0;padding:0}body{background-color:#0e0e10;width:100vw;height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;position:relative;overflow:hidden}#app{width:100vw;height:100vh;position:relative;overflow:hidden}.empty-state{text-align:center;color:#efeff1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);-webkit-user-select:none;user-select:none;z-index:1;background:#18181bbf;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;align-items:center;gap:20px;width:90%;max-width:540px;padding:36px 32px;transition:opacity .2s,visibility .2s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 40px #00000080}.empty-state.hidden{opacity:0;visibility:hidden;pointer-events:none}.empty-state-icon{color:#9146ff;width:44px;height:44px}.empty-state h1{color:#f7f7f8;letter-spacing:-.5px;font-size:24px;font-weight:700}.empty-state p{color:#adadb8;font-size:14px;line-height:1.5}.instructions-list{text-align:left;color:#dedee3;background:#0e0e10a6;border:1px solid #ffffff0f;border-radius:8px;flex-direction:column;gap:12px;width:100%;padding:16px 20px;font-size:13px;display:flex}.instruction-item{align-items:flex-start;gap:10px;line-height:1.4;display:flex}.instruction-number{color:#fff;background:#9146ff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;margin-top:1px;font-size:11px;font-weight:700;display:flex}.kbd{color:#efeff1;background:#26262c;border:1px solid #3d3d44;border-radius:4px;padding:1px 5px;font-family:monospace;font-size:11px}.empty-cta-btn{color:#fff;cursor:pointer;background:#9146ff;border:none;border-radius:6px;align-items:center;gap:6px;padding:10px 22px;font-size:14px;font-weight:600;transition:background .15s,transform .1s;display:inline-flex}.empty-cta-btn:hover{background:#772ce8}.empty-cta-btn:active{transform:scale(.97)}.empty-mobile-notice{text-align:left;background:#eb04001f;border:1px solid #eb040059;border-radius:8px;align-items:flex-start;gap:10px;width:100%;padding:12px 14px;display:none;box-shadow:0 4px 12px #00000040}.empty-mobile-notice-icon{color:#ff6b6b;flex-shrink:0;width:20px;height:20px;margin-top:1px}.empty-mobile-notice-content{color:#dedee3;flex:1;font-size:13px;line-height:1.45}.empty-mobile-notice-content strong{color:#ff6b6b;margin-bottom:2px;font-weight:600;display:block}@media (pointer:coarse),(hover:none){.empty-mobile-notice{display:flex}}@media (height<=700px),(width<=600px){.empty-state{gap:16px;max-height:92vh;padding:24px 20px;overflow-y:auto}}.floating-window{z-index:2;background:#18181b;border:1px solid #303032;border-radius:8px;flex-direction:column;min-width:200px;min-height:150px;display:flex;position:absolute;overflow:hidden;box-shadow:0 10px 25px #0009}.window-header{color:#efeff1;cursor:grab;-webkit-user-select:none;user-select:none;background:#1f1f23;border-bottom:1px solid #2d2d30;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;height:32px;padding:0 8px 0 12px;font-size:13px;font-weight:600;display:flex}.window-header:active{cursor:grabbing}.window-title{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;display:flex;overflow:hidden}.window-type-badge{color:#bf94ff;text-transform:uppercase;letter-spacing:.5px;background:#9146ff2e;border:1px solid #9146ff4d;border-radius:3px;padding:1px 5px;font-size:10px;font-weight:500}.window-header-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.window-action-btn{color:#adadb8;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:15px;line-height:1;transition:background .15s,color .15s,transform .4s;display:flex}.window-action-btn:hover{color:#fff;background:#2d2d30}.window-refresh-btn{font-size:14px}.window-refresh-btn:hover{color:#bf94ff;background:#3a3a3e}.window-refresh-btn.spinning{transform:rotate(360deg)}.window-close-btn:hover{color:#fff;background:#eb0400}.window-body{flex:1;width:100%;height:100%;position:relative}.window-body iframe{border:none;width:100%;height:100%;display:block}.iframe-overlay{z-index:10;width:100%;height:100%;display:none;position:absolute;top:0;left:0}body.is-interacting .iframe-overlay{display:block}.resizer{z-index:20;position:absolute}.resizer-n{cursor:ns-resize;height:6px;top:0;left:8px;right:8px}.resizer-s{cursor:ns-resize;height:6px;bottom:0;left:8px;right:8px}.resizer-e{cursor:ew-resize;width:6px;top:8px;bottom:8px;right:0}.resizer-w{cursor:ew-resize;width:6px;top:8px;bottom:8px;left:0}.resizer-nw{cursor:nwse-resize;width:8px;height:8px;top:0;left:0}.resizer-ne{cursor:nesw-resize;width:8px;height:8px;top:0;right:0}.resizer-sw{cursor:nesw-resize;width:8px;height:8px;bottom:0;left:0}.resizer-se{cursor:nwse-resize;width:8px;height:8px;bottom:0;right:0}.controls-group{z-index:99999;opacity:.3;gap:6px;transition:opacity .2s;display:flex;position:fixed;bottom:12px;left:12px}.controls-group:hover{opacity:1}.ctrl-btn{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#adadb8;cursor:pointer;-webkit-user-select:none;user-select:none;background:#18181bbf;border:1px solid #ffffff1f;border-radius:6px;align-items:center;gap:4px;padding:5px 9px;font-size:11px;font-weight:500;transition:background .2s,color .2s,border-color .2s,transform .1s;display:inline-flex}.ctrl-btn:hover{color:#efeff1;background:#1f1f23;border-color:#9146ff}.ctrl-btn:active{transform:scale(.96)}.ctrl-btn.primary{color:#f7f7f8;background:#9146ff40;border-color:#9146ff80;font-weight:600}.ctrl-btn.primary:hover{color:#fff;background:#9146ff;border-color:#9146ff}.ctrl-btn.danger:hover{color:#ff6b6b;border-color:#eb0400}.controls-group.is-empty{opacity:1}.controls-group.is-empty .ctrl-btn{color:#efeff1;background:#18181b;border-color:#38383c;box-shadow:0 2px 8px #0006}.controls-group.is-empty .ctrl-btn:hover{color:#fff;background:#26262c;border-color:#9146ff}.controls-group.is-empty .ctrl-btn.primary{color:#fff;background:#9146ff;border-color:#9146ff;box-shadow:0 2px 8px #9146ff59}.controls-group.is-empty .ctrl-btn.primary:hover{background:#772ce8;border-color:#772ce8}.controls-group.is-empty .ctrl-btn.danger:hover{color:#ff6b6b;border-color:#eb0400}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999999;opacity:0;visibility:hidden;background:#000000b3;justify-content:center;align-items:center;width:100vw;height:100vh;transition:opacity .2s,visibility .2s;display:flex;position:fixed;top:0;left:0}.modal-overlay.active{opacity:1;visibility:visible}.modal-card{background:#18181b;border:1px solid #303032;border-radius:10px;width:440px;max-width:92vw;transition:transform .2s;overflow:hidden;transform:scale(.95);box-shadow:0 16px 36px #000000b3}.modal-overlay.active .modal-card{transform:scale(1)}.modal-header{color:#efeff1;background:#1f1f23;border-bottom:1px solid #2d2d30;justify-content:space-between;align-items:center;height:48px;padding:0 16px;font-size:15px;font-weight:600;display:flex}.modal-close-icon{color:#adadb8;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;font-size:20px;line-height:1;transition:color .15s}.modal-close-icon:hover{color:#fff}.modal-body{flex-direction:column;gap:16px;padding:20px 18px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:#dedee3;font-size:13px;font-weight:500}.form-input{color:#efeff1;background:#0e0e10;border:1px solid #303032;border-radius:6px;outline:none;padding:9px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.form-input:focus{border-color:#9146ff;box-shadow:0 0 0 2px #9146ff40}.form-input.has-error{border-color:#eb0400}.form-error{color:#ff6b6b;font-size:12px;display:none}.form-error.visible{display:block}.checkbox-label{color:#efeff1;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:flex}.checkbox-label input[type=checkbox]{accent-color:#9146ff;cursor:pointer;width:16px;height:16px}.modal-message{color:#adadb8;font-size:14px;line-height:1.5}.modal-actions{justify-content:flex-end;gap:10px;margin-top:6px;display:flex}.btn{cursor:pointer;border:none;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:background .15s,transform .1s}.btn:active{transform:scale(.97)}.btn-secondary{color:#efeff1;background:#2d2d30}.btn-secondary:hover{background:#3a3a3e}.btn-primary{color:#fff;background:#9146ff}.btn-primary:hover{background:#772ce8}.btn-danger{color:#fff;background:#eb0400}.btn-danger:hover{background:#c50300}
