diff --git a/index.html b/index.html
index 56a7160..4d02ce6 100644
--- a/index.html
+++ b/index.html
@@ -163,6 +163,65 @@
.locate-fab:active { transform: scale(0.9); background: var(--ivory); }
.locate-fab.locating { color: var(--terracotta); }
+ .layer-fab {
+ position: absolute;
+ bottom: 64px;
+ right: 16px;
+ z-index: 1000;
+ width: 40px;
+ height: 40px;
+ border-radius: 10px;
+ background: white;
+ border: 1.5px solid var(--border-warm);
+ cursor: pointer;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ box-shadow: 0 2px 8px rgba(0,0,0,0.12);
+ transition: background 0.15s, transform 0.15s, border-color 0.15s, color 0.15s;
+ color: var(--muted);
+ }
+ .layer-fab:active { transform: scale(0.9); background: var(--ivory); }
+ .layer-fab.active { color: var(--terracotta); border-color: var(--terracotta); }
+
+ .layer-panel {
+ position: absolute;
+ bottom: 64px;
+ right: 64px;
+ z-index: 1001;
+ background: white;
+ border: 1.5px solid var(--border-warm);
+ border-radius: 12px;
+ box-shadow: 0 4px 20px rgba(0,0,0,0.15);
+ overflow: hidden;
+ display: none;
+ min-width: 152px;
+ }
+ .layer-panel.open { display: block; }
+ .layer-option {
+ display: flex;
+ align-items: center;
+ gap: 10px;
+ padding: 10px 14px;
+ cursor: pointer;
+ font-size: 13px;
+ font-family: var(--sans);
+ color: var(--ink);
+ border-bottom: 1px solid var(--border);
+ transition: background 0.1s;
+ white-space: nowrap;
+ }
+ .layer-option:last-child { border-bottom: none; }
+ .layer-option:hover { background: var(--ivory); }
+ .layer-option.active { color: var(--terracotta); font-weight: 500; }
+ .layer-swatch {
+ width: 22px;
+ height: 22px;
+ border-radius: 5px;
+ border: 1.5px solid rgba(0,0,0,0.1);
+ flex-shrink: 0;
+ }
+
/* Bottom sheet list */
.sheet {
background: var(--card);
@@ -1189,6 +1248,27 @@
Hidden Gems
+
+