diff --git a/src/renderer/components/DragRegion/index.vue b/src/renderer/components/DragRegion/index.vue
new file mode 100644
index 0000000..f71677a
--- /dev/null
+++ b/src/renderer/components/DragRegion/index.vue
@@ -0,0 +1,13 @@
+
+
+
+ _hidden
+
+
+
+
+
diff --git a/src/renderer/components/TitleBar/index.vue b/src/renderer/components/TitleBar/index.vue
new file mode 100644
index 0000000..e69de29
diff --git a/src/renderer/hooks/useWinManager.ts b/src/renderer/hooks/useWinManager.ts
new file mode 100644
index 0000000..e69de29
diff --git a/src/renderer/styles/index.css b/src/renderer/styles/index.css
index 7e89054..abecbe6 100644
--- a/src/renderer/styles/index.css
+++ b/src/renderer/styles/index.css
@@ -2,11 +2,52 @@
@import "./theme/index.css";
@plugin "@tailwindcss/typography";
-body {
- margin: 0;
- padding: 0;
-}
-
.bg {
background: linear-gradient(180deg, #EFF6FF 0%, #F5F7FA 40%);
+}
+
+* {
+ user-select: none;
+}
+
+body, #app {
+ overflow: hidden;
+}
+
+body {
+ font-size: 16px;
+ line-height: 1.6;
+ height: 100vh;
+ width: 100vw;
+}
+
+#app {
+ height: 100%;
+ width: 100%;
+ background-color: var(--bg-secondary);
+}
+
+.no-drag {
+ -webkit-app-region: no-drag;
+}
+
+.drag-region {
+ -webkit-app-region: drag;
+}
+
+.dialog-overlay {
+ opacity: 0;
+ transition: opacity 0.8s ease;
+ position: fixed;
+ top: 0;
+ left: 0;
+ bottom: 0;
+ right: 0;
+ width: 100%;
+ height: 100%;
+ z-index: 9999;
+
+ &.show {
+ opacity: 1;
+ }
}
\ No newline at end of file