diff --git a/index.html b/index.html
index a5835cb..d3d0c35 100644
--- a/index.html
+++ b/index.html
@@ -8,7 +8,7 @@
Recipe App - Modular
-
+
@@ -278,20 +278,45 @@
pointer-events: none;
}
#recipe-search-shell {
- min-height: 2.75rem;
- border-radius: 1.5rem;
- background: #3a3b38 !important;
- border: 1px solid rgba(79, 81, 76, 0.95) !important;
+ min-height: 3rem;
+ width: min(calc(100% - 0.5rem), 22.4rem);
+ margin-inline: auto;
+ position: relative;
+ z-index: 0;
+ isolation: isolate;
+ border-radius: 999px;
+ background: #393937 !important;
+ border: 1px solid #41423f !important;
box-shadow:
- inset 0 1px 0 rgba(255, 255, 255, 0.045),
- 0 0 0 1px rgba(255, 255, 255, 0.015) !important;
+ 0 5px 10px rgba(0, 0, 0, 0.16),
+ 0 14px 22px rgba(0, 0, 0, 0.24),
+ 0 22px 34px rgba(0, 0, 0, 0.18),
+ inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
+ backdrop-filter: blur(24px);
+ -webkit-backdrop-filter: blur(24px);
+ }
+ #recipe-search-shell::after {
+ content: '';
+ position: absolute;
+ left: 11%;
+ right: 11%;
+ bottom: -0.72rem;
+ height: 1.05rem;
+ border-radius: 999px;
+ background: rgba(0, 0, 0, 0.36);
+ filter: blur(12px);
+ opacity: 0.9;
+ z-index: -1;
+ pointer-events: none;
}
#recipe-search-shell:focus-within {
- background: #3a3b38 !important;
- border: 1px solid rgba(92, 94, 88, 0.98) !important;
+ background: #393937 !important;
+ border: 1px solid #4a4b47 !important;
box-shadow:
- inset 0 1px 0 rgba(255, 255, 255, 0.05),
- 0 0 0 1px rgba(255, 255, 255, 0.02) !important;
+ 0 6px 12px rgba(0, 0, 0, 0.18),
+ 0 16px 24px rgba(0, 0, 0, 0.24),
+ 0 24px 36px rgba(0, 0, 0, 0.18),
+ inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
}
#recipe-search-input {
appearance: none;
@@ -346,6 +371,128 @@
backdrop-filter: blur(10px);
}
+ /* Bottom dock */
+ #app-bottom-nav {
+ position: absolute;
+ inset-inline: 0;
+ bottom: 0;
+ z-index: 30;
+ display: flex;
+ justify-content: center;
+ padding: 0 0.85rem calc(1.12rem + env(safe-area-inset-bottom));
+ pointer-events: none;
+ }
+ #app-bottom-nav .bottom-dock {
+ position: relative;
+ z-index: 0;
+ isolation: isolate;
+ width: min(calc(100% - 2rem), 22.4rem);
+ min-height: 3.7rem;
+ display: grid;
+ grid-template-columns: repeat(4, minmax(0, 1fr));
+ align-items: center;
+ gap: 0.1rem;
+ padding: 0.35rem 0.45rem;
+ border-radius: 999px;
+ background: #393937;
+ border: 1px solid #41423f;
+ box-shadow:
+ 0 5px 10px rgba(0, 0, 0, 0.16),
+ 0 14px 22px rgba(0, 0, 0, 0.24),
+ 0 22px 34px rgba(0, 0, 0, 0.18),
+ inset 0 1px 0 rgba(255, 255, 255, 0.04);
+ backdrop-filter: blur(24px);
+ -webkit-backdrop-filter: blur(24px);
+ pointer-events: auto;
+ }
+ #app-bottom-nav .bottom-dock::after {
+ content: '';
+ position: absolute;
+ left: 11%;
+ right: 11%;
+ bottom: -0.72rem;
+ height: 1.05rem;
+ border-radius: 999px;
+ background: rgba(0, 0, 0, 0.36);
+ filter: blur(12px);
+ opacity: 0.9;
+ z-index: -1;
+ pointer-events: none;
+ }
+ #app-bottom-nav .nav-tab,
+ #app-bottom-nav .nav-action {
+ appearance: none;
+ -webkit-appearance: none;
+ border: 0;
+ background: transparent !important;
+ box-shadow: none !important;
+ width: 2.55rem;
+ height: 2.55rem;
+ margin: 0;
+ padding: 0;
+ border-radius: 999px;
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ justify-self: center;
+ color: #ece8e0;
+ cursor: pointer;
+ transition:
+ transform 160ms ease,
+ color 160ms ease,
+ background-color 160ms ease,
+ box-shadow 180ms ease;
+ }
+ #app-bottom-nav .nav-tab i,
+ #app-bottom-nav .nav-action i {
+ font-size: 0.95rem;
+ line-height: 1;
+ }
+ #app-bottom-nav .nav-tab:hover,
+ #app-bottom-nav .nav-action:hover {
+ transform: translateY(-1px);
+ color: #ffffff;
+ background: rgba(255, 255, 255, 0.04) !important;
+ }
+ #app-bottom-nav .nav-tab.is-active {
+ width: 2.95rem;
+ height: 2.95rem;
+ color: #fff;
+ background: #2d2e2b !important;
+ box-shadow:
+ inset 0 1px 0 rgba(255, 255, 255, 0.04),
+ 0 10px 20px rgba(0, 0, 0, 0.24) !important;
+ }
+ #app-bottom-nav .nav-tab:active,
+ #app-bottom-nav .nav-action:active {
+ transform: scale(0.97);
+ }
+ #app-bottom-nav button:focus-visible {
+ outline: none;
+ box-shadow:
+ 0 0 0 3px rgba(255, 255, 255, 0.08),
+ 0 0 0 6px rgba(var(--accent-rgb), 0.26) !important;
+ }
+ @media (max-width: 380px) {
+ #app-bottom-nav {
+ padding-inline: 0.7rem;
+ }
+ #app-bottom-nav .bottom-dock {
+ width: min(calc(100% - 1.4rem), 21.6rem);
+ min-height: 3.45rem;
+ padding-inline: 0.35rem;
+ }
+ #app-bottom-nav .nav-tab,
+ #app-bottom-nav .nav-action {
+ width: 2.35rem;
+ height: 2.35rem;
+ }
+ #app-bottom-nav .nav-tab.is-active {
+ width: 2.75rem;
+ height: 2.75rem;
+ }
+ }
+
/* Planner and common interactive surfaces */
#planner-open-ingredients,
.planner-pick-recipe,
@@ -381,7 +528,7 @@