diff --git a/apps/web/src/components/BottomNav.vue b/apps/web/src/components/BottomNav.vue
index c6c0edc..9d73621 100644
--- a/apps/web/src/components/BottomNav.vue
+++ b/apps/web/src/components/BottomNav.vue
@@ -1,10 +1,42 @@
+
+
+
+
+
+
+
+
@@ -25,11 +57,45 @@
transition: color .12s;
}
.fc-bottom-nav__item.router-link-active { color: var(--fc-accent-2); }
-.fc-bottom-nav__item.add {
- font-size: 18px; color: var(--fc-accent);
- text-shadow: 0 0 8px var(--fc-accent);
+.fc-bottom-nav__more {
+ background: none; border: none; cursor: pointer;
+ font-size: 14px; letter-spacing: 1px;
}
+.fc-bottom-nav__more.active { color: var(--fc-accent); }
+
+/* overlay */
+.fc-more-overlay {
+ display: none;
+ position: fixed; inset: 0; bottom: 56px;
+ z-index: 99;
+ background: rgba(0,0,0,.5);
+ align-items: flex-end;
+}
+.fc-more-menu {
+ width: 100%;
+ background: var(--fc-bg-panel);
+ border-top: 2px solid var(--fc-panel-edge);
+ display: grid;
+ grid-template-columns: repeat(4, 1fr);
+}
+.fc-more-menu__item {
+ display: flex; align-items: center; justify-content: center;
+ padding: 16px 4px;
+ font-size: 7px; color: var(--fc-text-dim);
+ text-decoration: none;
+ border-right: 1px solid var(--fc-panel-edge);
+ transition: color .12s, background .12s;
+}
+.fc-more-menu__item:last-child { border-right: none; }
+.fc-more-menu__item.router-link-active,
+.fc-more-menu__item:active { color: var(--fc-accent-2); background: rgba(0,240,255,.05); }
+
+/* transitions */
+.fc-more-enter-active, .fc-more-leave-active { transition: opacity .15s; }
+.fc-more-enter-from, .fc-more-leave-to { opacity: 0; }
+
@media (max-width: 767px) {
.fc-bottom-nav { display: flex; }
+ .fc-more-overlay { display: flex; }
}