:root{--ink:#171927;--muted:#666c7c;--line:#dde2ef;--paper:#fff8df;--panel:#fffdf4;--field:#f4f6ff;--accent:#0055da;--accent-soft:#e4edff;--accent-ink:#fff;--warn:#ff0052;--gold:#ffd400;--positive:#00c68d;--shadow:0 18px 48px #0055da1f;--shadow-soft:0 10px 26px #0055da14;--body-glow-warn:#ff005221;--body-glow-accent:#0055da26;--body-glow-gold:#ffd40038;--panel-sheen:#ffffffb8;--panel-sheen-soft:#ffffff70;--inset-highlight:#ffffffb8;--topbar-bg:linear-gradient(180deg, #fff8dff5, #fff8dfbd 74%, transparent);--sidebar-bg:#fffdf4d6;--utility-bg:#fffdf4e0;--bottom-nav-bg:#fffdf4e6;--panel-wash:#fff7dc;--selected-surface:#e4edff;--selected-surface-strong:#0055da;--selected-ink:#fff;--danger-ink:#fff;--overlay-bg:#17192757;--viewer-bg:#090c1beb;--viewer-ink:#fffdf4;--viewer-muted:#fffdf4b8;--viewer-control-bg:#090c1b9e;--map-marker-border:#fffdf4;--selection-bg:#ffd400;--button-hover-shadow:#0055da24;--touch-target:48px;--touch-target-sm:44px;--touch-gap:8px;--radius-sm:10px;--radius:14px;--radius-lg:22px;--radius-full:999px;--font-family:"Avenir Next", "Trebuchet MS", "Segoe UI", system-ui, -apple-system, sans-serif;--font-size-xs:clamp(.72rem, .7rem + .1vw, .78rem);--font-size-sm:clamp(.84rem, .8rem + .18vw, .94rem);--font-size-base:clamp(.96rem, .9rem + .24vw, 1.05rem);--font-size-lg:clamp(1.08rem, 1rem + .45vw, 1.28rem);--font-size-xl:clamp(1.28rem, 1.1rem + .9vw, 1.72rem);--font-size-2xl:clamp(1.62rem, 1.24rem + 1.9vw, 2.45rem);--space-1:clamp(.45rem, .4rem + .25vw, .65rem);--space-2:clamp(.75rem, .65rem + .45vw, 1rem);--space-3:clamp(1rem, .84rem + .8vw, 1.45rem);--space-4:clamp(1.35rem, 1rem + 1.4vw, 2.2rem);--safe-inset-top:env(safe-area-inset-top,0px);--safe-inset-bottom:env(safe-area-inset-bottom,0px);--safe-inset-left:env(safe-area-inset-left,0px);--safe-inset-right:env(safe-area-inset-right,0px);--z-backdrop:900;--z-sheet:950;--z-drawer:1000;--z-modal:1050;--z-toast:1100;--nav-height:72px;--nav-float-gap:8px}:root[data-theme=lavender]{--ink:#1e1b4b;--muted:#6c6ba5;--line:#cdd0ff;--paper:#f5f5ff;--panel:#ededff;--field:#e3e5ff;--accent:#9fa1ff;--accent-soft:#e8e8ff;--accent-ink:#1e1b4b;--warn:#ff0052;--gold:#aee2ff;--positive:#4ecb8e;--shadow:0 18px 48px #9fa1ff2e;--shadow-soft:0 10px 26px #9fa1ff1f;--body-glow-warn:#ff005214;--body-glow-accent:#9fa1ff38;--body-glow-gold:#aee2ff47;--panel-sheen:#ffffffd1;--panel-sheen-soft:#ffffff8a;--inset-highlight:#ffffffd1;--topbar-bg:linear-gradient(180deg, #f5f5fff5, #f5f5ffbd 74%, transparent);--sidebar-bg:#ededffdb;--utility-bg:#ededffe6;--bottom-nav-bg:#ededffeb;--panel-wash:#d9f9df;--selected-surface:#e0e0ff;--selected-surface-strong:#9fa1ff;--selected-ink:#1e1b4b;--danger-ink:#fff;--overlay-bg:#1e1b4b4d;--viewer-bg:#1e1b4beb;--viewer-ink:#f5f5ff;--viewer-muted:#f5f5ffb8;--viewer-control-bg:#1e1b4b9e;--map-marker-border:#ededff;--selection-bg:#b5baff;--button-hover-shadow:#9fa1ff2e}:root[data-theme=lavender-dark]{--ink:#eef;--muted:#9494cc;--line:#2c2855;--paper:#0d0b1e;--panel:#151232;--field:#1d1a45;--accent:#b5baff;--accent-soft:#1e1d50;--accent-ink:#0d0b1e;--warn:#ff7aa5;--gold:#aee2ff;--positive:#4ecb8e;--shadow:0 18px 52px #00000080;--shadow-soft:0 10px 28px #0000005c;--body-glow-warn:#ff7aa51a;--body-glow-accent:#b5baff26;--body-glow-gold:#aee2ff1a;--panel-sheen:#ffffff0f;--panel-sheen-soft:#ffffff0a;--inset-highlight:#ffffff12;--topbar-bg:linear-gradient(180deg, #0d0b1ef5, #0d0b1ebd 74%, transparent);--sidebar-bg:#120f2ce0;--utility-bg:#120f2ceb;--bottom-nav-bg:#151232eb;--panel-wash:#1a163a;--selected-surface:#201d55;--selected-surface-strong:#b5baff;--selected-ink:#0d0b1e;--danger-ink:#0d0b1e;--overlay-bg:#05040fad;--viewer-bg:#05040ff0;--viewer-ink:#eef;--viewer-muted:#eeeeffb3;--viewer-control-bg:#05040fbd;--map-marker-border:#151232;--selection-bg:#1e1d50;--button-hover-shadow:#0000004d}@media (prefers-color-scheme:dark){:root:not([data-theme]){--ink:#f7f9ff;--muted:#b3bdd4;--line:#26314f;--paper:#090c1b;--panel:#111833;--field:#182244;--accent:#ffd400;--accent-soft:#352f11;--accent-ink:#111216;--warn:#ff4b84;--gold:#ffd400;--positive:#00c68d;--shadow:0 18px 52px #0000006b;--shadow-soft:0 10px 28px #0000004d;--body-glow-warn:#ff00521f;--body-glow-accent:#0055da33;--body-glow-gold:#ffd4001a;--panel-sheen:#ffffff12;--panel-sheen-soft:#ffffff0d;--inset-highlight:#ffffff14;--topbar-bg:linear-gradient(180deg, #090c1bf5, #090c1bbd 74%, transparent);--sidebar-bg:#0d1327db;--utility-bg:#0d1327e6;--bottom-nav-bg:#111833e6;--panel-wash:#151d3a;--selected-surface:#202a50;--selected-surface-strong:#ffd400;--selected-ink:#111216;--danger-ink:#160c08;--overlay-bg:#02040cad;--viewer-bg:#02040cf0;--viewer-ink:#f7f9ff;--viewer-muted:#f7f9ffad;--viewer-control-bg:#02040cbd;--map-marker-border:#111833;--selection-bg:#0055da;--button-hover-shadow:#00000047}}:root[data-theme=dark]{--ink:#f7f9ff;--muted:#b3bdd4;--line:#26314f;--paper:#090c1b;--panel:#111833;--field:#182244;--accent:#ffd400;--accent-soft:#352f11;--accent-ink:#111216;--warn:#ff4b84;--gold:#ffd400;--positive:#00c68d;--shadow:0 18px 52px #0000006b;--shadow-soft:0 10px 28px #0000004d;--body-glow-warn:#ff00521f;--body-glow-accent:#0055da33;--body-glow-gold:#ffd4001a;--panel-sheen:#ffffff12;--panel-sheen-soft:#ffffff0d;--inset-highlight:#ffffff14;--topbar-bg:linear-gradient(180deg, #090c1bf5, #090c1bbd 74%, transparent);--sidebar-bg:#0d1327db;--utility-bg:#0d1327e6;--bottom-nav-bg:#111833e6;--panel-wash:#151d3a;--selected-surface:#202a50;--selected-surface-strong:#ffd400;--selected-ink:#111216;--danger-ink:#160c08;--overlay-bg:#02040cad;--viewer-bg:#02040cf0;--viewer-ink:#f7f9ff;--viewer-muted:#f7f9ffad;--viewer-control-bg:#02040cbd;--map-marker-border:#111833;--selection-bg:#0055da;--button-hover-shadow:#00000047}
*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{color:var(--ink);background:var(--paper);font-family:var(--font-family);font-size:var(--font-size-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-y:contain;margin:0;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button,a,[role=button]{touch-action:manipulation}button{border-radius:var(--radius);background:var(--accent);color:var(--accent-ink);min-height:var(--touch-target);cursor:pointer;justify-content:center;align-items:center;gap:var(--touch-gap);font-weight:700;font-size:var(--font-size-base);border:0;padding:0 16px;line-height:1.2;transition:opacity .15s,transform .15s,box-shadow .15s,border-color .15s,background .15s;display:inline-flex}@media (hover:hover){button:hover{box-shadow:0 8px 20px var(--button-hover-shadow)}}button:active{transform:scale(.97)}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{width:100%;min-height:var(--touch-target);border:1px solid var(--line);border-radius:var(--radius);background:var(--field);color:var(--ink);font-size:var(--font-size-base);box-shadow:0 1px 0 var(--inset-highlight) inset;padding:10px 12px}textarea{resize:vertical;min-height:88px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}a{color:var(--accent);text-underline-offset:2px;font-weight:700}h1,h2,h3,h4,h5,h6{letter-spacing:0}img{max-width:100%;height:auto}::selection{background:var(--selection-bg);color:var(--ink)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
.app{min-height:100svh;padding-bottom:calc(64px + var(--safe-inset-bottom));flex-direction:column;display:flex}.workbench{min-width:0;padding:max(12px, var(--safe-inset-top)) max(12px, var(--safe-inset-right)) 12px max(12px, var(--safe-inset-left));gap:var(--space-2);flex-direction:column;flex:1;display:flex}.workbench>div{gap:var(--space-2);flex-direction:column;flex:1;min-height:0;display:flex}@media (max-width:759px){.mobile-hidden-when-detail{display:none!important}}.sidebar,.utility{display:none}.content-grid{flex-direction:column;flex:1;min-height:0;display:flex;container-type:inline-size}.results-heading{font-size:var(--font-size-lg);margin:4px 0 8px;padding:0 4px;line-height:1.1;display:block}.results{flex:none;align-content:start;gap:10px;padding:0;display:grid;overflow:visible}.detail{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);display:none}.mobile-lists-view,.mobile-add-view,.mobile-detail-view{align-content:start;gap:var(--space-2);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:var(--space-2);flex:none;display:grid}.mobile-detail-view{flex:none;display:block;overflow:visible}.mobile-detail-view .detail-content{padding:0}.mobile-add-view{padding:0;overflow:hidden}.mobile-add-view .tool-panel{box-shadow:none;background:0 0;border:0;padding:14px}.mobile-page-header{padding:var(--space-2) var(--space-2) 0}.mobile-page-header h3{font-size:var(--font-size-xl);margin:0}@media (min-width:760px){.app{padding-bottom:0}.workbench{padding:var(--space-3)}.results{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);max-height:calc(100svh - 200px);box-shadow:var(--shadow-soft);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;gap:6px;padding:8px;overflow-y:auto}.results-heading{display:none}.content-grid{gap:var(--space-2);grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);display:grid}.detail{padding:var(--space-2);display:block;overflow:auto}.mobile-detail-view{display:none}}@media (min-width:1080px){.app{grid-template-columns:clamp(260px,20vw,320px) minmax(0,1fr) clamp(260px,22vw,340px);min-height:100svh;display:grid}.sidebar{gap:var(--space-2);background:var(--sidebar-bg);border-right:1px solid var(--line);padding:var(--space-3);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);flex-direction:column;display:flex}.utility{background:var(--utility-bg);border-left:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);flex-direction:column;display:flex;overflow:auto}.content-grid{grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr)}}@media (min-width:1440px){.content-grid{grid-template-columns:minmax(320px,.62fr) minmax(0,1.38fr)}}
.kicker{color:var(--warn);font-size:var(--font-size-xs);text-transform:uppercase;margin:0 0 6px;font-weight:800}.muted{color:var(--muted)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pill{border:1px solid var(--line);border-radius:var(--radius-full);background:var(--panel);min-height:30px;color:var(--muted);font-size:var(--font-size-sm);white-space:nowrap;justify-content:center;align-items:center;padding:4px 10px;font-weight:800;display:inline-flex}.microcopy{color:var(--muted);font-size:var(--font-size-sm);margin:-2px 0 10px}.ghost-button{background:color-mix(in srgb, var(--panel) 72%, transparent);width:100%;color:var(--ink);border:1px solid var(--line)}.compact-button{background:var(--panel);width:auto;color:var(--ink);border:1px solid var(--line);min-height:var(--touch-target-sm);padding:8px 12px}.icon-button{width:var(--touch-target);min-width:var(--touch-target);padding:0}.danger-button{background:var(--warn);color:var(--danger-ink)}.compact-icon-button{width:var(--touch-target-sm);min-width:var(--touch-target-sm);min-height:var(--touch-target-sm);color:var(--warn)}.icon-only{width:var(--touch-target);justify-content:center;padding:0}.auth-page,.empty-app{min-height:100svh;padding:var(--space-3);place-items:center;display:grid}.auth-panel,.empty-app>*{width:min(430px,100%)}.auth-panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(145deg, var(--panel-sheen), transparent 42%), var(--panel);box-shadow:var(--shadow);padding:var(--space-4)}.auth-panel h1,.brand h1,.topbar h2,.detail h3{letter-spacing:0;margin:0}.auth-panel p{color:var(--muted)}.auth-form,.stack-form{gap:10px;display:grid}.form-error{color:var(--danger);font-size:var(--font-size-sm);margin:0;font-weight:700}.inline-form,.form-actions{align-items:center;gap:10px;display:flex}.form-actions .ghost-button{width:auto}.section-head{justify-content:space-between;align-items:center;gap:var(--touch-gap);display:flex}.section-head h4{font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin:0;font-weight:800}.split{gap:var(--touch-gap);display:flex}.split>*{min-width:0}.toggle-row{align-items:center;gap:var(--touch-gap);margin:10px 0;font-weight:700;display:flex}.toggle-row input{width:auto;min-width:20px;min-height:20px}.field-intro{gap:6px;display:grid}.field-intro input{min-height:var(--touch-target)}.field-type-picker{border:0;gap:8px;margin:0;padding:0;display:grid}.field-type-picker legend{font-size:var(--font-size-sm);padding:0;font-weight:800}.field-type-grid{grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:8px;display:grid}.field-type-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--field);min-height:84px;color:var(--ink);text-align:left;align-content:start;gap:6px;padding:10px;display:grid}.field-type-card.active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 9%, var(--panel));box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 18%, transparent) inset}.field-type-icon{background:color-mix(in srgb, var(--accent) 8%, transparent);width:30px;height:30px;color:var(--accent);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.field-type-copy{gap:2px;display:grid}.field-type-copy strong{font-size:var(--font-size-xs)}.field-type-copy small{color:var(--muted);font-size:11px;line-height:1.25}.field-type-check{min-height:16px;font-size:var(--font-size-xs);color:var(--accent);font-weight:800}.field-extras{gap:8px;display:grid}.field-extra-block{font-size:var(--font-size-sm);gap:6px;font-weight:800;display:grid}.field-extra-block>span{line-height:1.2}.field-extra-block textarea{resize:vertical;min-height:92px}.field-extra-block small{color:var(--muted);font-weight:600;line-height:1.35}.panel-title{margin-bottom:12px}.panel-title h3{gap:var(--touch-gap);font-size:var(--font-size-base);align-items:center;margin:0 0 4px;display:flex}.panel-title p{color:var(--muted);font-size:var(--font-size-sm);margin:0}.manual-add{margin:10px 0}.manual-add summary{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;list-style:none;display:flex}.manual-add summary::-webkit-details-marker{display:none}.member-list{gap:6px;margin-bottom:10px;display:grid}.member-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--field);grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:6px;padding:7px 9px;display:grid}.member-row div{gap:2px;min-width:0;display:grid}.member-row small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.member-row select{min-width:130px}.preset-grid{gap:6px;margin-bottom:10px;display:grid}.preset-card{gap:var(--touch-gap);border:1px solid var(--line);border-radius:var(--radius);background:var(--field);grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:8px;display:grid}.preset-card.enabled{border-color:var(--accent);background:var(--selected-surface)}.preset-card div{gap:2px;min-width:0;display:grid}.preset-card small{color:var(--muted)}.attribute-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--field);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;display:grid}.attribute-card.enabled{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--panel))}.attribute-card-copy{gap:2px;min-width:0;display:grid}.attribute-card-copy small{color:var(--muted);line-height:1.25}.attribute-card-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.attribute-card-actions form{margin:0}.attribute-card-actions .compact-button{width:auto}@media (max-width:540px){.attribute-card{grid-template-columns:minmax(0,1fr)}.attribute-card-actions{justify-content:flex-start}}.settings-section{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel-wash);padding:var(--space-2)}code{overflow-wrap:anywhere;background:var(--field);border:1px solid var(--line);border-radius:var(--radius);font-size:var(--font-size-sm);margin:8px 0;padding:8px;display:block}.skeleton{background:linear-gradient(90deg, var(--field) 25%, var(--line) 50%, var(--field) 75%);border-radius:var(--radius);background-size:200% 100%;animation:1.5s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.offline-banner{background:var(--warn);color:var(--danger-ink);text-align:center;font-size:var(--font-size-sm);padding:6px 12px;font-weight:700}.install-prompt{bottom:calc(var(--nav-height) + var(--safe-inset-bottom) + 12px);z-index:var(--z-toast);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 8%, transparent), transparent 56%), var(--panel);border:2px solid var(--accent);border-radius:20px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:12px;display:grid;position:fixed;left:12px;right:12px;box-shadow:0 8px 30px #222a1f2e}.install-prompt p{font-weight:700;font-size:var(--font-size-sm);flex:1;margin:0}.install-prompt button{min-width:var(--touch-target);min-height:var(--touch-target);padding-inline:14px}.install-prompt .ghost-button{width:auto}.brand{gap:var(--touch-gap);align-items:center;display:flex}.brand h1{font-size:clamp(1.55rem,1.05rem + 1.05vw,2rem);line-height:1}.brand p{color:var(--muted);margin:2px 0 0}.list-nav{gap:8px;display:grid}.list-nav-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--field);min-height:var(--touch-target);box-shadow:0 1px 0 var(--inset-highlight) inset;align-items:center;display:flex;overflow:hidden}.list-nav-row.active{background:var(--selected-surface-strong);color:var(--selected-ink);box-shadow:0 8px 20px var(--button-hover-shadow)}.list-nav-row>a:first-child{justify-content:space-between;gap:var(--touch-gap);min-width:0;color:inherit;flex:1;align-items:center;padding:10px 12px;text-decoration:none;display:flex}.list-nav span{color:inherit;opacity:.72;font-size:var(--font-size-sm)}.list-settings-link{flex:0 0 var(--touch-target);width:var(--touch-target);min-height:var(--touch-target);color:inherit;border-left:1px solid color-mix(in srgb, var(--line) 75%, transparent);box-shadow:none;background:0 0;border-top:0;border-bottom:0;border-right:0;border-radius:0;justify-content:center;align-items:center;padding:0;text-decoration:none;display:inline-flex}.list-settings-link:hover{background:color-mix(in srgb, var(--panel-sheen) 48%, transparent)}.add-list-button{justify-content:center}.topbar{z-index:20;justify-content:space-between;align-items:center;gap:var(--touch-gap);margin:calc(-1 * max(12px, var(--safe-inset-top))) calc(-1 * max(12px, var(--safe-inset-right))) 0 calc(-1 * max(12px, var(--safe-inset-left)));padding:max(12px, var(--safe-inset-top)) max(12px, var(--safe-inset-right)) 10px max(12px, var(--safe-inset-left));background:var(--topbar-bg);-webkit-backdrop-filter:blur(14px);flex-wrap:wrap;display:flex;position:sticky;top:0}.topbar-title{align-items:center;gap:10px;min-width:0;display:flex}.topbar-brand{min-height:var(--touch-target-sm);min-width:0;color:inherit;align-items:center;gap:8px;text-decoration:none;display:inline-flex}.topbar-brand h2{text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-xl);line-height:1;overflow:hidden}.top-actions{gap:var(--touch-gap);flex-wrap:wrap;justify-content:flex-end;align-items:center;display:flex}.user-menu-wrap{position:relative}.user-menu-button{border-radius:var(--radius-full);background:color-mix(in srgb, var(--panel) 76%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--line) 80%, transparent), var(--shadow-soft)}.user-menu{z-index:var(--z-toast);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel);width:min(240px,100vw - 24px);box-shadow:var(--shadow);gap:6px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.user-menu-head{border-bottom:1px solid var(--line);gap:2px;padding:6px 8px 8px;display:grid}.user-menu-head span{color:var(--muted);font-size:var(--font-size-sm);text-transform:capitalize}.user-menu .ghost-button{justify-content:flex-start;width:100%}.theme-picker{border-bottom:1px solid var(--line);gap:8px;padding:8px;display:grid}.theme-picker>span{color:var(--muted);font-size:var(--font-size-xs);text-transform:uppercase;font-weight:800}.theme-picker-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.theme-picker-options button{min-height:var(--touch-target-sm);border:1.5px solid var(--line);border-radius:var(--radius);background:var(--field);color:var(--muted);font-size:var(--font-size-xs);text-align:left;flex-direction:column;align-items:flex-start;gap:6px;padding:7px 8px;font-weight:800;display:flex}.theme-picker-options button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.theme-swatch{border:1px solid #0000001a;border-radius:6px;width:100%;height:20px;display:flex;overflow:hidden}.theme-swatch span{flex:1}.theme-picker-options button:first-child{grid-column:1/-1}.mode-toggle{background:var(--field);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:4px;display:flex}.mode-toggle button{min-height:34px;color:var(--muted);font-size:var(--font-size-sm);background:0 0}.mode-toggle button.active{background:var(--panel);color:var(--ink);box-shadow:0 7px 16px var(--button-hover-shadow)}@media (max-width:759px){.mode-toggle{display:none}}.toolbar{gap:var(--touch-gap);z-index:5;align-items:stretch;display:flex;position:relative}.toolbar label,.search-box{align-items:center;gap:var(--touch-gap);border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--field) 88%, var(--panel));min-width:180px;box-shadow:var(--shadow-soft);padding:0 12px;display:flex}.search-box{flex:1}.filter-toggle{min-height:var(--touch-target);border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--field) 88%, var(--panel));color:var(--ink);box-shadow:var(--shadow-soft);flex:none;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:800;display:inline-flex}.filter-toggle.active{border-color:color-mix(in srgb, var(--accent) 55%, var(--line));background:color-mix(in srgb, var(--accent) 12%, var(--field));color:var(--accent)}.toolbar input,.toolbar select{min-height:var(--touch-target);background:0 0;border:0;padding-left:0}@media (max-width:759px){.toolbar{align-items:stretch;gap:6px;display:flex}.toolbar .search-box{min-width:0}.filter-toggle span{display:none}.filter-toggle{flex-basis:var(--touch-target);padding:0}}.filter-panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 10%, transparent), transparent 44%), var(--panel);box-shadow:var(--shadow-soft);gap:10px;padding:12px;display:grid}.filter-panel-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.filter-panel-head h3{font-size:var(--font-size-lg);margin:0}.filter-panel-actions{align-items:center;gap:6px;display:flex}.filter-panel label{color:var(--ink);gap:6px;font-weight:800;display:grid}.filter-panel label span{font-size:var(--font-size-sm);color:var(--muted)}.filter-panel select{width:100%;min-height:var(--touch-target);border:1px solid var(--line);border-radius:var(--radius);background:var(--field);padding:0 10px}.active-filter-chip{border:1px solid color-mix(in srgb, var(--accent) 45%, var(--line));border-radius:var(--radius-full);background:color-mix(in srgb, var(--accent) 10%, var(--panel));width:auto;min-height:36px;color:var(--accent);font-size:var(--font-size-sm);justify-self:start;align-items:center;gap:6px;padding:0 10px;font-weight:800;display:inline-flex}.empty-state{min-height:min(42svh,340px);padding:var(--space-3) var(--space-2);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}.empty-state-icon{color:var(--muted)}.empty-state-title{margin:0;font-weight:800}.empty-state-description{font-size:var(--font-size-sm);margin:4px 0 0}.icon-link{width:var(--touch-target);height:var(--touch-target);border-radius:var(--radius);background:var(--field);border:1px solid var(--line);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.icon-link:hover{background:var(--accent);border-color:var(--accent)}.utility-header{padding:var(--space-3);border-bottom:1px solid var(--line)}.utility-header h2{font-size:var(--font-size-xl);margin:0}.utility .tool-panel{padding:var(--space-2);background:linear-gradient(160deg, color-mix(in srgb, var(--accent) 8%, transparent), transparent 48%), var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);margin:var(--space-2)}@media (min-width:760px){.topbar{margin:calc(-1 * var(--space-3)) calc(-1 * var(--space-3)) 0;padding:var(--space-3) var(--space-3) var(--space-2)}.install-prompt{width:min(440px,100vw - 36px);bottom:18px;left:auto;right:18px}}@media (max-width:430px){.install-prompt{grid-template-columns:1fr 1fr}.install-prompt p{grid-column:1/-1}}.icon-picker-row{align-items:center;gap:6px;display:flex}.icon-picker-row select{min-height:var(--touch-target);flex:1}.icon-preview{width:var(--touch-target);height:var(--touch-target);border:1px solid var(--line);border-radius:var(--radius);background:var(--field);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-picker,.icon-picker-head{gap:10px;display:grid}.icon-picker-search{font-size:var(--font-size-sm);gap:4px;font-weight:700;display:grid}.icon-picker-search-box{min-height:var(--touch-target);border:1px solid var(--line);border-radius:var(--radius);background:var(--field);align-items:center;gap:8px;padding:0 10px;display:flex}.icon-picker-search-box input{min-height:calc(var(--touch-target) - 2px);background:0 0;border:0;padding:0}.icon-picker-search-box input:focus{outline:none}.icon-picker-current{border:1px solid color-mix(in srgb, var(--accent) 28%, var(--line));border-radius:var(--radius);background:color-mix(in srgb, var(--accent) 8%, var(--panel));align-items:center;gap:10px;padding:10px;display:flex}.icon-picker-current strong,.icon-picker-current small{display:block}.icon-picker-current small{color:var(--muted)}.icon-picker-groups{gap:12px;display:grid}.icon-picker-group h4{font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 8px}.icon-picker-grid{grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:8px;display:grid}.icon-choice{border:1px solid var(--line);border-radius:var(--radius);background:var(--field);min-height:88px;color:var(--ink);text-align:center;justify-items:center;gap:8px;padding:10px 8px;display:grid}.icon-choice.active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--panel));box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 18%, transparent) inset}.icon-choice-icon{background:color-mix(in srgb, var(--accent) 8%, transparent);width:34px;height:34px;color:var(--accent);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.icon-choice-label{font-size:var(--font-size-xs);word-break:break-word;font-weight:700;line-height:1.1}
.restaurant-row{text-align:left;background:linear-gradient(135deg, var(--panel-sheen), transparent 52%), var(--panel);width:100%;min-height:74px;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);content-visibility:auto;contain-intrinsic-size:76px;justify-content:space-between;padding:14px;font-weight:400;transition:border-color .15s,background .15s,transform .15s,box-shadow .15s}.restaurant-row.active{border-color:var(--accent);background:radial-gradient(circle at 0 0, color-mix(in srgb, var(--accent) 16%, transparent), transparent 44%), var(--accent-soft);box-shadow:0 10px 26px var(--button-hover-shadow)}@media (min-width:760px){.restaurant-row{min-height:58px;box-shadow:none;contain-intrinsic-size:58px;background:0 0;border-color:#0000;border-radius:12px;padding:10px 12px}.restaurant-row:hover{border-color:var(--line);background:color-mix(in srgb, var(--field) 64%, transparent)}}.restaurant-row span:first-child{gap:2px;min-width:0;display:grid}.restaurant-row-top{grid-template-columns:minmax(0,auto) minmax(0,1fr);align-items:center;gap:6px;min-width:0;display:grid}.restaurant-row-top strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--font-size-lg);line-height:1.12;overflow:hidden}.restaurant-row small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.meta{color:var(--muted);white-space:nowrap;font-size:var(--font-size-sm);font-weight:700}.rating-icons{vertical-align:middle;flex-wrap:wrap;align-items:center;gap:3px;max-width:100%;margin-left:4px;display:inline-flex}.rating-icons .entry-rating-badge{min-height:20px;box-shadow:none;padding:2px 6px;font-size:11px}.rating-icons .entry-rating-badge.icon-badge{white-space:nowrap;padding:2px 5px}.restaurant-row.active .rating-icons .entry-rating-badge{border-color:var(--accent);background:var(--selected-surface);color:var(--accent)}.restaurant-row.active .rating-icons .entry-rating-badge.price,.restaurant-row.active .rating-icons .entry-rating-badge.stars{color:var(--accent)}.detail{min-width:0;padding:var(--space-2);overflow:auto}.detail-content{gap:var(--space-3);display:grid}.detail-head{justify-content:space-between;align-items:flex-start;gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.detail-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.detail-title-group{gap:2px;min-width:0;display:grid}.detail-title-group h3{font-size:var(--font-size-2xl);margin:0;line-height:1.04}.detail-location{color:var(--muted);font-size:var(--font-size-sm);font-weight:600}.rating-summary{flex-wrap:wrap;align-items:center;gap:4px;margin-top:2px;display:flex}.rating-summary.empty{color:var(--muted);font-size:var(--font-size-sm);font-weight:600}.entry-rating-badge{border:1px solid var(--line);border-radius:var(--radius-full);background:var(--field);min-height:26px;color:var(--ink);font-size:var(--font-size-sm);white-space:nowrap;align-items:center;gap:4px;padding:3px 7px;font-weight:800;line-height:1;display:inline-flex}.entry-rating-badge.icon-badge{gap:2px;padding:3px 6px}.rating-icon-stack{color:inherit;white-space:nowrap;grid-auto-columns:max-content;grid-auto-flow:column;align-items:center;gap:1px;line-height:0;display:inline-grid}.rating-icon-stack-item{justify-content:center;align-items:center;line-height:0;display:inline-flex}.rating-icon-stack-item svg{display:block}.entry-rating-badge.positive{border-color:color-mix(in srgb, var(--positive) 38%, var(--line));background:var(--selected-surface);color:var(--accent)}.entry-rating-badge.price{color:var(--accent)}.entry-rating-badge.stars{color:var(--gold)}.rating-grid{gap:var(--touch-gap);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.rating-field{gap:6px;font-weight:700;display:grid}.rating-field>span,.notes-edit-field>span{font-size:var(--font-size-sm);color:var(--muted);text-transform:uppercase}.rating-choice-group{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.rating-choice{min-width:0;display:inline-flex;position:relative}.rating-choice input{opacity:0;pointer-events:none;position:absolute}.rating-choice span{min-width:var(--touch-target-sm);min-height:var(--touch-target-sm);border:1px solid var(--line);border-radius:var(--radius);background:var(--field);color:var(--ink);white-space:nowrap;justify-content:center;align-items:center;padding:7px 9px;font-weight:800;line-height:1;display:inline-flex}.rating-choice input:checked+span{border-color:var(--accent);background:var(--selected-surface-strong);color:var(--selected-ink);box-shadow:0 5px 14px #222a1f1f}.rating-choice input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.rating-choice input:disabled+span{cursor:default;opacity:.7}.rating-scale{align-items:center;gap:var(--touch-gap);min-width:0;display:inline-flex}.rating-scale-icons{border:1px solid var(--line);border-radius:var(--radius);background:var(--field);align-items:center;display:inline-flex;overflow:hidden}.rating-scale-icon,.rating-scale-clear{display:inline-flex;position:relative}.rating-scale-icon input,.rating-scale-clear input{opacity:0;pointer-events:none;position:absolute}.rating-scale-icon span{width:var(--touch-target-sm);min-height:var(--touch-target-sm);color:var(--muted);border-right:1px solid var(--line);justify-content:center;align-items:center;display:inline-flex}.rating-scale-icon:last-child span{border-right:0}.rating-scale-icon.active span{color:var(--accent);background:var(--selected-surface)}.rating-scale-icon input:focus-visible+span{outline:2px solid var(--accent);outline-offset:-2px}.rating-scale-clear span{min-height:var(--touch-target-sm);border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--muted);font-size:var(--font-size-xs);justify-content:center;align-items:center;padding:0 8px;font-weight:800;display:inline-flex}.notes-panel{padding:var(--space-2);border:1px solid color-mix(in srgb, var(--line) 84%, transparent);border-radius:var(--radius);background:color-mix(in srgb, var(--panel) 72%, var(--field));gap:8px;display:grid}.entry-edit-form{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:10px;margin-bottom:10px;padding:10px 0;display:grid}.entry-edit-grid{gap:10px;display:grid}.entry-edit-section{gap:var(--touch-gap);display:grid}.entry-edit-section .rating-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:start}.entry-edit-section .rating-field-card{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg, color-mix(in srgb, var(--panel) 82%, var(--paper)), var(--field));gap:10px;padding:12px;display:grid;box-shadow:0 8px 22px #191e160a}.entry-edit-section .rating-field-card-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.entry-edit-section .rating-field-card-head span{font-size:var(--font-size-xs);color:var(--warn);text-transform:uppercase;letter-spacing:.02em;font-weight:800}.entry-edit-section .rating-field-card-head small{color:var(--muted);white-space:nowrap;font-size:11px;font-weight:700}.entry-edit-section .rating-field-list{gap:10px;display:grid}.entry-edit-section .rating-field-row{grid-template-columns:minmax(92px,.42fr) minmax(0,1fr);align-items:center;gap:10px;display:grid}.entry-edit-section .rating-field-row small{font-size:var(--font-size-xs);color:var(--muted);font-weight:800;line-height:1.2}.entry-edit-section .rating-field-global .rating-field-row{grid-template-columns:1fr}.entry-edit-section .rating-field-global .rating-field-row small{color:var(--warn)}.entry-edit-section h5{color:var(--warn);font-size:var(--font-size-xs);text-transform:uppercase;margin:0}.notes-edit-field{gap:6px;font-weight:700;display:grid}.notes-edit-field textarea{min-height:108px}.markdown-sections{gap:6px;display:grid}.markdown-section{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--field) 80%, var(--panel));padding:10px 12px}.markdown-section h5{color:var(--warn);font-size:var(--font-size-xs);text-transform:uppercase;margin:0 0 6px}.markdown-section p,.markdown-section ul,.markdown-section ol{margin-top:0}.markdown-section :last-child{margin-bottom:0}.photo-section{gap:10px;display:grid}.photo-upload-form{padding:var(--space-2);border:1px solid color-mix(in srgb, var(--line) 84%, transparent);border-radius:var(--radius);background:color-mix(in srgb, var(--panel) 72%, var(--field));gap:10px;display:grid}.photo-upload-field{gap:6px;font-weight:700;display:grid}.photo-upload-field span{color:var(--muted);font-size:var(--font-size-sm)}.photo-upload-zone{min-height:var(--touch-target);border:1.5px dashed var(--line);border-radius:var(--radius);background:var(--field);cursor:pointer;font-size:var(--font-size-sm);color:var(--muted);align-items:center;gap:10px;padding:10px 14px;font-weight:600;transition:border-color .15s,color .15s,background .15s;display:flex;position:relative}.photo-upload-zone:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, var(--field))}.photo-upload-zone.has-file{border-color:var(--positive);color:var(--positive);background:color-mix(in srgb, var(--positive) 6%, var(--field))}.photo-upload-input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.upload-error{font-size:var(--font-size-sm);color:var(--warn);margin:0}.photo-upload-description textarea{min-height:76px}.photo-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;display:grid}.photo-card{gap:6px;display:grid;position:relative}.photo-thumb-button{text-align:left;background:0 0;border:0;width:100%;padding:0}.photo-thumb{aspect-ratio:1;object-fit:cover;border-radius:var(--radius);border:1px solid color-mix(in srgb, var(--line) 80%, var(--panel));background:var(--field);width:100%;display:block;box-shadow:0 8px 18px #222a1f0d}.photo-card-toolbar{z-index:1;gap:6px;display:flex;position:absolute;top:8px;right:8px}.photo-card-toolbar form{margin:0}.photo-card-toolbar .compact-icon-button{border-color:color-mix(in srgb, var(--panel) 72%, var(--line));background:color-mix(in srgb, var(--panel) 92%, transparent);width:34px;min-width:34px;min-height:34px;color:var(--ink);box-shadow:0 6px 14px #222a1f24}.photo-card-copy{gap:2px;padding:0 2px;display:grid}.photo-card-copy strong,.photo-viewer-copy strong{line-height:1.3;font-size:var(--font-size-sm);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:700;display:-webkit-box;overflow:hidden}.photo-card-copy small,.photo-viewer-copy small{color:var(--muted)}.photo-card-toolbar .photo-delete-button{color:var(--warn)}.photo-card-actions{flex-wrap:wrap;gap:8px;display:flex}.photo-card-actions form{margin:0}.photo-card-actions .compact-button{align-items:center;gap:6px;width:auto;display:inline-flex}.photo-delete-button{color:var(--warn)}.photo-card-edit{gap:8px;display:grid}.photo-viewer-backdrop{z-index:calc(var(--z-modal) + 10);background:var(--viewer-bg);padding:max(14px, var(--safe-inset-top)) max(14px, var(--safe-inset-right)) max(14px, var(--safe-inset-bottom)) max(14px, var(--safe-inset-left));overscroll-behavior:none;touch-action:none;justify-content:center;align-items:stretch;display:flex;position:fixed;inset:0}.photo-viewer{width:min(920px,100%);min-height:0;color:var(--viewer-ink);overscroll-behavior:contain;grid-template-rows:auto minmax(0,1fr) auto auto;gap:10px;display:grid}.photo-viewer-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.photo-viewer-head h3,.photo-viewer-head p{margin:0}.photo-viewer-head p{color:var(--viewer-muted);font-size:var(--font-size-sm)}.photo-viewer-head .ghost-button{border-color:color-mix(in srgb, var(--viewer-ink) 18%, transparent);color:var(--viewer-ink);background:color-mix(in srgb, var(--viewer-ink) 8%, transparent)}.photo-viewer-stage{border-radius:var(--radius-lg);background:color-mix(in srgb, var(--viewer-ink) 5%, transparent);touch-action:pan-x;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}.photo-viewer-image{object-fit:contain;width:100%;height:100%;min-height:280px}.photo-viewer-nav{z-index:1;border:1px solid color-mix(in srgb, var(--viewer-ink) 20%, transparent);background:var(--viewer-control-bg);width:42px;min-width:42px;min-height:42px;color:var(--viewer-ink);border-radius:999px;padding:0;position:absolute;top:50%;transform:translateY(-50%)}.photo-viewer-prev{left:10px}.photo-viewer-next{right:10px}.photo-viewer-copy{gap:4px;display:grid}.photo-viewer-strip{gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.photo-viewer-strip-button{border-radius:var(--radius);background:0 0;border:2px solid #0000;width:72px;min-width:72px;padding:0;overflow:hidden}.photo-viewer-strip-button.active{border-color:var(--viewer-ink)}.photo-viewer-strip-image{aspect-ratio:1;object-fit:cover;width:100%;display:block}.checkin-box{border:1px solid color-mix(in srgb, var(--line) 84%, transparent);border-radius:var(--radius);background:color-mix(in srgb, var(--panel) 78%, var(--field));padding:var(--space-2)}.checkin-list{gap:6px;display:grid}.checkin-card{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--field) 84%, var(--panel));gap:4px;padding:10px 12px;display:grid}.checkin-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;display:flex}.checkin-meta strong{font-size:var(--font-size-sm)}.checkin-date{border:1px solid var(--line);border-radius:var(--radius-full);background:var(--panel);min-height:26px;color:var(--muted);font-size:var(--font-size-xs);white-space:nowrap;align-items:center;gap:4px;padding:2px 7px;font-weight:800;display:inline-flex}.datetime-field{gap:5px;min-width:0;display:grid}.datetime-field span{color:var(--muted);font-size:var(--font-size-xs);text-transform:uppercase;align-items:center;gap:6px;font-weight:800;display:inline-flex}.datetime-field input{border-color:color-mix(in srgb, var(--accent) 24%, var(--line));background:var(--panel-wash);min-height:36px;font-size:var(--font-size-sm);padding:6px 9px;font-weight:700}.datetime-field.compact{min-width:min(210px,100%)}.checkin-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.checkin-actions .icon-button,.checkin-actions .icon-only{width:var(--touch-target-sm);min-width:var(--touch-target-sm);min-height:var(--touch-target-sm)}.checkin-actions .compact-button{min-height:var(--touch-target-sm);padding:0 12px}.checkin-new{margin-top:10px}.checkin-new-row{align-items:flex-end;gap:8px;display:flex}.checkin-datetime{flex:1;min-width:0}.checkin-log-btn{min-height:var(--touch-target-sm);white-space:nowrap;flex-shrink:0;padding:0 16px}.place-search{gap:var(--touch-gap);align-items:stretch;display:flex}.place-search input{min-width:0}.place-result{margin-top:0}.place-result button{text-align:left;background:linear-gradient(180deg, var(--panel-sheen-soft), transparent), var(--field);width:100%;min-height:70px;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);justify-items:start;padding-block:10px;display:grid}.place-result small{color:var(--muted)}.add-section-label{font-size:var(--font-size-sm);color:var(--muted);text-transform:uppercase;align-items:center;gap:6px;margin:8px 0 0;font-weight:800;display:flex}.add-results-list{gap:8px;display:grid}.external-links-panel{border:1px dashed var(--line);border-radius:var(--radius);background:var(--panel-wash);margin:10px 0;padding:8px}.external-links-panel summary{cursor:pointer;min-height:var(--touch-target);align-items:center;font-weight:800;display:inline-flex}.external-links-panel label{gap:6px;font-weight:700;display:grid}.list-membership-row{grid-template-columns:minmax(0,1fr) auto}.restaurant-lists-section{gap:8px;display:grid}.restaurant-lists-section .section-head{margin-bottom:0}.list-toggle-grid{gap:5px;display:grid}.list-toggle-form{margin:0}.list-toggle-btn{width:100%;min-height:var(--touch-target-sm);border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--field) 80%, var(--panel));color:var(--muted);font-weight:600;font-size:var(--font-size-sm);text-align:left;box-shadow:none;align-items:center;gap:10px;padding:8px 12px;display:flex}@media (hover:hover){.list-toggle-btn:hover{border-color:color-mix(in srgb, var(--accent) 28%, var(--line));background:color-mix(in srgb, var(--accent) 5%, var(--panel));color:var(--ink);box-shadow:none}}.list-toggle-btn.active{border-color:color-mix(in srgb, var(--accent) 55%, var(--line));background:var(--selected-surface);color:var(--ink)}.list-toggle-check{border:1.5px solid var(--line);width:22px;height:22px;color:var(--muted);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.list-toggle-btn.active .list-toggle-check{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.list-toggle-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:inherit;flex:1;overflow:hidden}.wizard-field-list{gap:var(--touch-gap);display:grid}.wizard-field-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--field);gap:6px;padding:8px;display:grid}@media (max-width:759px){.checkin-new-row{flex-direction:column;align-items:stretch}.entry-edit-section .rating-grid{grid-template-columns:1fr}.entry-edit-section .rating-field-row{grid-template-columns:1fr;gap:6px}.entry-edit-section .rating-field-card{padding:10px}.rating-choice-group{gap:5px}.rating-choice span{min-width:34px;min-height:34px;padding:6px 7px}.rating-scale{gap:6px}.rating-scale-icon span{width:31px;min-height:32px}.notes-edit-field textarea{min-height:72px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-viewer-backdrop{padding:max(10px, var(--safe-inset-top)) max(10px, var(--safe-inset-right)) max(10px, var(--safe-inset-bottom)) max(10px, var(--safe-inset-left))}.photo-viewer{grid-template-rows:auto minmax(0,1fr) auto auto}.photo-viewer-image{min-height:220px}.entry-edit-form{gap:var(--touch-gap);padding:8px 0}.entry-edit-grid{gap:var(--touch-gap)}.inline-form,.form-actions{grid-template-columns:1fr;display:grid}.compact-button{width:100%}.member-row{grid-template-columns:1fr}}
.drawer-backdrop{z-index:var(--z-drawer);background:var(--overlay-bg);justify-content:flex-end;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.lists-backdrop{justify-content:flex-start}.add-list-backdrop{justify-content:center;align-items:center;padding:18px}.drawer{border-right:1px solid var(--line);background:var(--panel);align-content:start;gap:10px;width:min(320px,85%);height:100%;padding:14px;animation:.25s slideInLeft;display:grid;overflow:auto;box-shadow:18px 0 48px #1f261f2e}.settings-drawer{border-left:1px solid var(--line);background:var(--panel);align-content:start;gap:10px;width:min(560px,100%);height:100%;padding:14px;animation:.25s slideInRight;display:grid;overflow:auto;box-shadow:-18px 0 48px #1f261f2e}.drawer-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:10px;padding-bottom:10px;display:flex}.drawer-head h2{margin:0}.drawer-section{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-wash);align-content:start;gap:10px;padding:10px;display:grid}.drawer-section .brand,.drawer-section .list-nav,.drawer-section .stack-form,.drawer-section form{width:100%}.add-list-modal{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);gap:10px;width:min(680px,100%);max-height:min(760px,100svh - 36px);padding:14px;animation:.2s scaleIn;display:grid;overflow:auto;box-shadow:0 24px 70px #1f261f38}.add-list-form{gap:10px;display:grid}.add-list-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.add-list-steps span{border:1px solid var(--line);border-radius:var(--radius);min-height:30px;color:var(--muted);font-size:var(--font-size-xs);justify-content:center;align-items:center;font-weight:800;display:inline-flex}.add-list-steps span.active{border-color:var(--accent);background:var(--selected-surface);color:var(--ink)}.add-list-search{width:100%}.restaurant-picker-list{gap:var(--touch-gap);max-height:310px;padding-right:2px;display:grid;overflow:auto}.restaurant-picker-row{gap:var(--touch-gap);border:1px solid var(--line);border-radius:var(--radius);background:var(--field);grid-template-columns:auto minmax(0,1fr);align-items:center;padding:8px;display:grid}.restaurant-picker-row.selected{border-color:var(--accent);background:var(--selected-surface)}.restaurant-picker-row span{gap:2px;min-width:0;display:grid}.restaurant-picker-row small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.add-list-actions{grid-template-columns:1fr 1fr}.bottom-sheet-backdrop{z-index:var(--z-sheet);background:var(--overlay-bg);align-items:flex-end;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.bottom-sheet{background:var(--panel);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-height:85svh;padding:0 14px calc(14px + var(--safe-inset-bottom)) 14px;gap:10px;animation:.3s slideUp;display:grid;overflow:auto;box-shadow:0 -12px 40px #1f261f2e}.bottom-sheet-handle{background:var(--line);border-radius:2px;flex-shrink:0;width:36px;height:4px;margin:10px auto 6px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}
.bottom-nav{bottom:calc(var(--safe-inset-bottom) + var(--nav-float-gap));left:max(10px, var(--safe-inset-left));right:max(10px, var(--safe-inset-right));z-index:var(--z-drawer);background:var(--bottom-nav-bg);border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);border-radius:24px;justify-content:space-around;align-items:center;height:64px;padding:6px;display:flex;position:fixed;box-shadow:0 14px 36px #1f261f29}.bottom-nav a{min-height:52px;color:var(--muted);font-size:var(--font-size-xs);background:0 0;border:0;border-radius:18px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:4px 8px;font-weight:700;text-decoration:none;transition:color .15s,background .15s,transform .15s;display:flex;position:relative}.bottom-nav a.active{color:var(--accent);background:var(--accent-soft)}.bottom-nav a svg{width:22px;height:22px}@media (min-width:760px){.bottom-nav{display:none}}
.map{border:1px solid var(--line);border-radius:var(--radius);width:100%;min-height:68svh;overflow:hidden}.restaurant-marker{background:0 0;border:0}.restaurant-marker span{border:3px solid var(--map-marker-border);background:var(--warn);border-radius:50% 50% 50% 4px;width:28px;height:28px;display:block;position:relative;transform:rotate(-45deg);box-shadow:0 5px 15px #1f261f47}.restaurant-marker span:after{content:"";background:var(--panel);border-radius:50%;position:absolute;inset:7px}.map-popup-title{min-height:0;color:var(--accent);text-align:left;text-underline-offset:2px;background:0 0;border:0;border-radius:0;padding:0;font-weight:800;text-decoration:underline;display:inline}

