aboutsummaryrefslogtreecommitdiffstats
path: root/src/public/css/style.css
diff options
context:
space:
mode:
Diffstat (limited to 'src/public/css/style.css')
-rw-r--r--src/public/css/style.css203
1 files changed, 203 insertions, 0 deletions
diff --git a/src/public/css/style.css b/src/public/css/style.css
index 897f54b..e152519 100644
--- a/src/public/css/style.css
+++ b/src/public/css/style.css
@@ -207,9 +207,212 @@ footer {
height: 1rem;
}
+/* Gallery page */
+.gallery-page {
+ max-width: 600px;
+ margin: 0 auto;
+}
+
+.gallery-page h1 {
+ margin-bottom: 1.5rem;
+}
+
+.gallery-feed {
+ display: flex;
+ flex-direction: column;
+ gap: 1.5rem;
+}
+
+.gallery-post {
+ background: #fff;
+ border: 1px solid #dbdbdb;
+ border-radius: 8px;
+ overflow: hidden;
+}
+
+.post-header {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding: 0.75rem 1rem;
+}
+
+.post-header time {
+ color: #999;
+ font-size: 0.85rem;
+}
+
+.gallery-post img {
+ width: 100%;
+ display: block;
+}
+
+.pagination {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ gap: 0.5rem;
+ margin-top: 2rem;
+}
+
+.pagination a {
+ padding: 0.4rem 0.75rem;
+ border: 1px solid #dbdbdb;
+ border-radius: 4px;
+ text-decoration: none;
+ color: #0095f6;
+}
+
+.pagination a:hover {
+ background: #f0f0f0;
+}
+
+.pagination .current-page {
+ padding: 0.4rem 0.75rem;
+ background: #0095f6;
+ color: #fff;
+ border-radius: 4px;
+}
+
+/* Editor page */
+.editor-page {
+ max-width: 960px;
+ margin: 0 auto;
+}
+
+.editor-page h1 {
+ margin-bottom: 1.5rem;
+}
+
+.editor-layout {
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ gap: 1.5rem;
+ align-items: start;
+}
+
+.editor-source,
+.editor-preview {
+ background: #fff;
+ border: 1px solid #dbdbdb;
+ border-radius: 8px;
+ padding: 1rem;
+}
+
+.source-tabs {
+ display: flex;
+ gap: 0.5rem;
+ margin-bottom: 1rem;
+}
+
+.tab {
+ flex: 1;
+ padding: 0.5rem;
+ background: #fafafa;
+ border: 1px solid #dbdbdb;
+ border-radius: 4px;
+ cursor: pointer;
+ font-size: 0.95rem;
+}
+
+.tab.active {
+ background: #0095f6;
+ color: #fff;
+ border-color: #0095f6;
+}
+
+#webcam-video {
+ width: 100%;
+ aspect-ratio: 1;
+ object-fit: cover;
+ border-radius: 4px;
+ background: #000;
+}
+
+#preview-canvas {
+ width: 100%;
+ height: auto;
+ border-radius: 4px;
+ border: 1px solid #dbdbdb;
+}
+
+.overlay-controls {
+ margin: 0.75rem 0;
+ display: flex;
+ align-items: center;
+ gap: 0.5rem;
+}
+
+.overlay-controls input[type="range"] {
+ flex: 1;
+}
+
+.editor-preview h2 {
+ font-size: 1rem;
+ margin-bottom: 0.5rem;
+}
+
+.overlay-grid {
+ display: grid;
+ grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
+ gap: 0.5rem;
+ margin-bottom: 1rem;
+}
+
+.overlay-thumb {
+ width: 100%;
+ aspect-ratio: 1;
+ object-fit: contain;
+ border: 2px solid #dbdbdb;
+ border-radius: 4px;
+ cursor: pointer;
+ opacity: 0.6;
+ transition: opacity 0.15s, border-color 0.15s;
+ background: #fafafa;
+ padding: 4px;
+}
+
+.overlay-thumb:hover {
+ opacity: 0.8;
+}
+
+.overlay-thumb.selected {
+ opacity: 1;
+ border-color: #0095f6;
+}
+
+.btn {
+ width: 100%;
+ padding: 0.6rem;
+ background: #0095f6;
+ color: #fff;
+ border: none;
+ border-radius: 4px;
+ font-size: 1rem;
+ cursor: pointer;
+ margin-top: 0.5rem;
+}
+
+.btn:hover {
+ background: #007ad9;
+}
+
+.btn:disabled {
+ opacity: 0.5;
+ cursor: not-allowed;
+}
+
+#file-input {
+ width: 100%;
+ margin-top: 0.5rem;
+}
+
@media (max-width: 600px) {
header nav {
flex-direction: column;
gap: 0.5rem;
}
+ .editor-layout {
+ grid-template-columns: 1fr;
+ }
}