@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-ease:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:"Manrope", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--font-weight-semibold:600;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"Manrope", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--default-mono-font-family:var(--font-mono);--color-destructive:#ad332f}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.inset-0{inset:0}.inset-x-0{inset-inline:0}.inset-y-0{inset-block:0}.top-0{top:0}.top-2{top:calc(var(--spacing) * 2)}.right-0{right:0}.right-2{right:calc(var(--spacing) * 2)}.bottom-0{bottom:0}.left-0{left:0}.z-50{z-index:50}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-auto{height:auto}.h-full{height:100%}.w-3\/4{width:75%}.shrink-0{flex-shrink:0}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.rounded-md{border-radius:var(--radius-control)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.bg-background{background-color:var(--background)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-destructive{background-color:#ad332f}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.p-4{padding:calc(var(--spacing) * 4)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-2{padding-block:calc(var(--spacing) * 2)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--foreground)}.text-white{color:var(--color-white)}.underline-offset-4{text-underline-offset:4px}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}@media(hover:hover){.hover\:bg-accent:hover{background-color:var(--secondary)}.hover\:bg-destructive\/90:hover{background-color:#ad332fe6}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary) 90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary) 80%,transparent)}}.hover\:text-accent-foreground:hover,.hover\:text-foreground:hover{color:var(--foreground)}.hover\:underline:hover{text-decoration-line:underline}}.focus-visible\:border-ring:focus-visible{border-color:var(--primary)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:oklab(50.4637% .142382 .0709388/.2)}.focus-visible\:ring-ring:focus-visible,.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--primary) 50%, transparent)}}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:outline-hidden:focus-visible{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus-visible\:outline-hidden:focus-visible{outline-offset:2px;outline:2px solid #0000}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.has-\[\>svg\]\:px-1\.5:has(>svg){padding-inline:calc(var(--spacing) * 1.5)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:#ad332f}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:oklab(50.4637% .142382 .0709388/.2)}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}@media(min-width:40rem){.sm\:max-w-sm{max-width:var(--container-sm)}}@media(prefers-color-scheme:dark){.dark\:border-input{border-color:var(--border)}.dark\:bg-destructive\/60{background-color:#ad332f99}.dark\:bg-input\/30{background-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30{background-color:color-mix(in oklab,var(--border) 30%,transparent)}}@media(hover:hover){.dark\:hover\:bg-accent\/50:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:hover{background-color:color-mix(in oklab,var(--secondary) 50%,transparent)}}.dark\:hover\:bg-input\/50:hover{background-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:hover{background-color:color-mix(in oklab,var(--border) 50%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:focus-visible,.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:oklab(50.4637% .142382 .0709388/.4)}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}}@font-face{font-family:Manrope;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/manrope-latin-variable.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--background:#fffaf0;--foreground:#293b2c;--primary:#244b31;--primary-hover:#193a25;--primary-foreground:#fff;--brand-bar:#3f4a2c;--secondary:#fbf1ca;--condition-background:#f5eedb;--condition-border:#d8ceb5;--muted:#f6f1e5;--muted-foreground:#686b55;--border:#e9e3d5;--surface:#fffdf7;--selected:#e8eecf;--coral:#ec8960;--radius-control:14px;--radius-card:22px;--radius-sheet:24px;--shadow-surface:0 3px 10px #3e431f0f;--shadow-overlay:0 16px 48px #243a2629;--gutter:20px;font-family:var(--font-sans);color:var(--foreground);background:var(--background);font-synthesis:none;text-rendering:optimizelegibility;font-size:16px;line-height:1.6}*{box-sizing:border-box}.lucide{stroke-width:1.75px;flex-shrink:0}body{margin:0}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{transition:background-color .18s,border-color .18s,color .18s,box-shadow .18s,transform .18s}button:active:not(:disabled),a[data-slot=button]:active{transform:translateY(1px)}[data-slot=button]{border-radius:var(--radius-control);min-width:44px;height:auto;min-height:44px;font-size:14px;font-weight:600}[data-variant=default]:hover:not(:disabled){background:var(--primary-hover)}[data-variant=secondary]{color:var(--foreground);background:var(--secondary)}[data-variant=outline]{border-color:var(--border);background:var(--surface);box-shadow:none}[data-variant=outline]:hover:not(:disabled){border-color:var(--primary);background:var(--muted)}button:not([data-slot]){min-height:44px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--primary);outline-offset:4px}input,textarea,select{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control);width:100%;min-height:48px;color:var(--foreground);outline:none;padding:12px 14px;font-size:16px;font-weight:400;line-height:1.5}input:focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary)}@supports (color:color-mix(in lab,red,red)){input:focus,textarea:focus,select:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 15%,transparent)}}input::placeholder,textarea::placeholder{color:var(--muted-foreground);opacity:1}textarea{resize:vertical}h1,h2,p{margin:0}h1{letter-spacing:-.5px;font-size:28px;font-weight:700;line-height:1.3}h2{font-size:20px;font-weight:700;line-height:1.5}p{line-height:1.6}fieldset{border:0;margin:0;padding:0}legend,.field-label{font-size:16px;font-weight:600}legend{margin-bottom:8px;line-height:1.2}legend span,.field-label>span{color:var(--muted-foreground);margin-left:6px;font-size:14px;font-weight:400}.app-shell{background:var(--background);max-width:540px;min-height:100dvh;margin:0 auto;position:relative}.brand{height:68px;padding:0 var(--gutter);margin-inline:calc(-1 * var(--gutter));white-space:nowrap;align-items:center;gap:8px;font-size:21px;font-weight:700;display:flex}.brand>svg{color:var(--primary);width:34px;height:34px}main{padding:0 var(--gutter) calc(92px + env(safe-area-inset-bottom));min-height:100dvh}.page-hero{isolation:isolate;background:var(--secondary);border-radius:0 0 var(--radius-sheet) var(--radius-sheet);margin:0 calc(-1 * var(--gutter)) 24px;padding:28px var(--gutter);animation:.2s ease-out page-enter;position:relative;overflow:hidden}@keyframes page-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.page-hero h1{letter-spacing:-.5px;font-size:28px;font-weight:600;line-height:1.3}.home-header,.history-hero,.profile-hero{background:0 0;border-radius:0;margin:0;padding:16px 0 8px;display:block;overflow:visible}.mobile-brand-row{margin:-16px calc(-1 * var(--gutter)) 16px;padding:12px var(--gutter);background:var(--brand-bar);color:var(--surface);justify-content:space-between;align-items:center;gap:12px;display:flex}.mobile-brand-row .brand{height:44px;margin:0;padding:0;font-size:20px}.mobile-brand-row .brand>svg{color:inherit}.mobile-brand-row .location-link{max-width:43%;min-height:44px;box-shadow:none;background:0 0;border:1px solid #fffdf74d;border-radius:999px;gap:5px;padding:7px 10px}.mobile-brand-row .location-link svg,.mobile-brand-row .location-link>svg:first-child{width:16px;height:16px;color:inherit}.mobile-brand-row .profile-settings-trigger{color:inherit;background:0 0;border-color:#fffdf74d}.mobile-brand-row .profile-settings-trigger:hover{background:#fffdf71f}.mobile-brand-row :is(a,button):focus-visible{outline-color:var(--surface)}.auth-shell main{padding-bottom:40px}.error-shell main{align-items:center;padding-bottom:0;display:grid}.service-error{text-align:center;flex-direction:column;align-items:center;gap:18px;padding:48px 8px;display:flex}.service-error-icon{background:var(--secondary);width:104px;height:104px;color:var(--primary);border-radius:50%;place-items:center;margin-bottom:10px;display:grid}.service-error-icon svg{width:44px;height:44px}.service-error h1{font-size:28px;line-height:1.3}.service-error p{color:var(--muted-foreground);font-size:16px}.service-error>button{margin-top:14px}.auth-page{min-height:calc(100dvh - 40px)}.auth-hero{flex-direction:column;justify-content:space-between;height:clamp(224px,28dvh,260px);margin-bottom:0;padding-block:52px 32px;display:flex}.auth-hero .brand{height:auto;margin:0;padding:0}.auth-hero h1{font-size:28px}.auth-card{width:100%;padding:34px 0}.auth-card>p{color:var(--muted-foreground);margin-top:8px;font-size:14px}.auth-card form{flex-direction:column;gap:24px;display:flex}.auth-card .field-label{font-size:16px;line-height:1.5;display:block}.auth-card .field-label input{min-height:48px;margin-top:8px;display:block}.auth-switch{text-align:left}.auth-card>.auth-switch{margin-top:26px}.auth-switch a{color:var(--primary);font-weight:600}.account-sheet{border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;max-height:92dvh;padding:0;overflow-y:auto}.account-sheet[data-side=right]{border-radius:var(--radius-sheet) 0 0 var(--radius-sheet);width:440px;max-width:100vw;max-height:100dvh}.account-sheet-heading{padding:24px 56px 0 24px}.account-settings-heading{align-items:center;gap:8px;display:flex}.account-settings{padding:0 24px calc(24px + env(safe-area-inset-bottom));flex-direction:column;gap:16px;display:flex}.account-details{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);flex-direction:column;gap:16px;margin:0;padding:16px;display:flex}.account-details dt{color:var(--muted-foreground);margin-bottom:4px;font-size:14px}.account-details dd{justify-content:space-between;align-items:center;gap:12px;margin:0;display:flex}.account-details dd>span,.account-details strong{overflow-wrap:anywhere;min-width:0}.account-setting-action{justify-content:space-between;width:100%}.account-setting-action>span{align-items:center;gap:10px;display:flex}.account-form,.account-form-fields{flex-direction:column;gap:16px;display:flex}.account-form{padding:0 24px calc(24px + env(safe-area-inset-bottom))}.account-form .field-label{display:block}.account-form input{margin-top:8px}.account-form .error{margin:0}.auth-card .auth-notice{border-radius:var(--radius-control);background:var(--secondary);color:var(--foreground);margin:0 0 20px;padding:12px 14px}.learning-control{border-radius:var(--radius-control);background:var(--selected);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.learning-control strong{font-size:16px;font-weight:600;line-height:1.3}.learning-control button{flex-shrink:0}.learning-control p{color:var(--muted-foreground);margin-top:3px;font-size:12px;line-height:1.5}.learning-switch{background:0 0;border:0;width:56px;height:44px;padding:0;position:relative}.learning-switch:before{content:"";background:var(--border);border-radius:20px;position:absolute;inset:8px 0}.learning-switch[aria-checked=true]:before{background:var(--primary)}.switch-thumb{z-index:1;background:var(--surface);border-radius:50%;width:24px;height:24px;transition:transform .18s;position:absolute;top:10px;left:2px}.learning-switch[aria-checked=true] .switch-thumb{transform:translate(28px)}.profile-settings-trigger{border-radius:var(--radius-control);width:44px;height:44px}.history-hero,.profile-hero{margin-bottom:16px}.history-hero h1,.profile-hero h1{font-size:32px;font-weight:700}.page-heading{margin-bottom:26px}.page-heading p{color:var(--muted-foreground);margin-top:7px;font-size:14px}.location-link{align-items:center;gap:6px;min-width:0;max-width:49%;min-height:44px;display:flex}.location-link>svg{flex-shrink:0}.location-link>svg:first-child{color:var(--primary)}.location-link span{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;overflow:hidden}.preference-form{flex-direction:column;gap:20px;display:flex}.home-preferences .food-section{margin:0}.home-preferences{gap:16px}.personal-preferences{gap:6px}.personal-preferences legend,.personal-preferences .field-label{font-size:16px}.personal-preferences legend,.personal-preferences .field-heading{margin-bottom:6px}.home-header h1{width:fit-content;margin:0;font-size:32px;font-weight:700;position:relative}.home-header h1:after{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28' fill='none' stroke='%23ec8960' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 12 5 4M13 15l5-7M17 22l7-3'/%3E%3C/svg%3E") 50%/contain no-repeat;width:27px;height:27px;position:absolute;top:-6px;right:-24px}.food-controls{flex-direction:column;gap:12px;display:flex}.food-input{display:block}.food-input input{min-height:48px}.food-controls .chips{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.personal-preferences .food-controls .chips{display:flex}.personal-preferences .food-controls .chips button{padding:8px 12px;font-size:14px}.personal-preferences .food-controls{gap:8px}.personal-preferences .food-input input{min-height:44px;padding:8px 12px}.personal-preferences .food-limit{font-size:12px;line-height:1.5}.food-controls .chips button{background:var(--surface);border-color:var(--border);font-size:16px}.food-limit{margin-top:-6px}.food-controls .chips button[aria-pressed=true]{background:var(--selected);border-color:var(--primary)}.budget-section>legend{justify-content:space-between;width:100%;display:flex}.field-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;width:100%;margin-bottom:8px;display:flex}.field-heading .field-label{line-height:1.3}.other-condition{margin-top:12px}.budget-range{width:100%}.budget-slider{touch-action:none;-webkit-user-select:none;user-select:none;align-items:center;width:100%;height:44px;margin-top:8px;display:flex;position:relative}.budget-slider-track{background:linear-gradient(90deg,#e9ddb0 80%,#0000 80%),repeating-linear-gradient(90deg,#d8cba0 0 4px,#0000 4px 8px);border-radius:999px;flex:1;height:7px;position:relative}.budget-slider-track:after{content:"";background:#b5a979;width:1px;height:15px;position:absolute;top:-4px;left:80%}.budget-slider-selection{border-radius:inherit;background:#c9df61;height:100%;position:absolute}.budget-slider-thumb{background:var(--surface);cursor:grab;border:1px solid #94ac48;border-radius:50%;width:24px;height:24px;display:block;position:relative}.budget-slider-thumb:after{content:"";border-radius:inherit;position:absolute;inset:-10px}.budget-slider-thumb:focus-visible{outline:3px solid var(--selected);outline-offset:3px}.budget-slider[data-disabled]{opacity:.45}.budget-slider-scale{color:var(--muted-foreground);justify-content:space-between;margin-top:-5px;font-size:12px;display:flex;position:relative}.budget-slider-limit{position:absolute;left:80%;transform:translate(-100%)}.budget-inputs{align-items:center;gap:14px;display:flex}.budget-inputs input{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);font-variant-numeric:tabular-nums;min-width:0;height:48px;padding:0 12px;font-size:24px;font-weight:600;line-height:1;display:block}.budget-field{flex:1;min-width:0}.budget-inputs>span{color:var(--muted-foreground);align-self:center;font-size:20px}.four-options{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.four-options button{white-space:nowrap}.four-options button,.chips button,.refine-row button{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-control);justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:16px;display:flex}.four-options button[aria-pressed=true],.four-options button[data-state=on],.chips button[aria-pressed=true]{background:var(--selected);border-color:var(--primary);color:var(--foreground)}.four-options button:hover:not(:disabled),.chips button:hover:not(:disabled),.refine-row button:hover:not(:disabled){border-color:var(--primary)}.four-options svg,.chips svg{width:16px;height:16px;color:var(--primary);flex-shrink:0}.chips{flex-wrap:wrap;gap:9px;display:flex}.chips button{border-radius:999px;font-size:14px}.field-label{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.note-section>textarea{height:64px;min-height:64px;margin-top:0;padding-block:8px;font-weight:400;line-height:1.4}.note-section .field-label{gap:6px;line-height:1.35}.personal-preferences .note-section>textarea{height:48px;min-height:48px}.primary-full{width:100%;min-height:48px;font-size:16px}.advanced{width:100%;color:var(--foreground);justify-content:flex-start;height:auto;min-height:44px;padding-left:0;font-size:16px}.preference-form .advanced>svg{width:20px;height:20px}.advanced>svg:last-child{margin-left:auto}.footnote{color:var(--muted-foreground);text-align:center;margin-top:18px;font-size:12px}.bottom-nav{width:min(100%,540px);height:calc(76px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--border);z-index:20;border-radius:0;grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -3px 14px #3e431f08}.bottom-nav a{border-radius:var(--radius-control);min-height:48px;color:var(--muted-foreground);flex-direction:column;justify-content:center;align-items:center;gap:2px;margin:6px 8px;font-size:13px;display:flex}.bottom-nav a.active{color:var(--foreground);background:0 0;font-weight:600}.bottom-nav a.active .lucide{color:var(--primary);background:#f0f6bf}.bottom-nav svg{box-sizing:content-box;border-radius:999px;width:24px;height:24px;padding:4px 18px}.compact-heading{justify-content:flex-start;align-items:center;gap:12px;min-height:68px;margin-bottom:18px;display:flex}.compact-heading h1{letter-spacing:-.4px;font-size:28px}.compact-heading a{color:var(--primary);flex-shrink:0;font-size:14px}.compact-heading button{justify-content:center;align-items:center;display:flex}.compact-heading>button,.compact-heading>a{border-radius:var(--radius-control);min-width:44px;min-height:44px}.search-row{gap:9px;margin-bottom:15px;display:flex}.search-row label{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control);flex:1;align-items:center;gap:8px;min-width:0;padding:0 11px;display:flex}.search-row input{box-shadow:none;border:0;padding-left:0;font-size:16px}.search-row label svg{color:var(--muted-foreground);flex-shrink:0}.search-row>button{min-height:46px}.map-wrap{border:1px solid var(--border);border-radius:var(--radius-card);height:330px;box-shadow:var(--shadow-surface);background:#f1f0db;margin-bottom:18px;position:relative;overflow:hidden}.map-canvas{width:100%;height:100%}.map-message{color:var(--muted-foreground);text-align:center;background:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex;position:absolute;inset:0}.map-message p{max-width:280px;font-size:14px}.map-message button{align-items:center;gap:7px;font-size:13px;display:flex}.selected-address,.address-summary{align-items:center;gap:9px;margin-bottom:18px;font-size:13px;line-height:1.7;display:flex}.selected-address svg,.address-summary svg{color:var(--primary);flex-shrink:0}.selected-address{background:var(--secondary);border-radius:var(--radius-control);min-height:55px;padding:14px;font-size:17px;font-weight:600}.location-page .map-wrap{height:clamp(300px,100dvh - 390px,540px)}.location-page .compact-heading{min-height:64px;margin-bottom:6px}.location-page .search-row{margin-bottom:12px}.location-page .primary-full{margin-top:0}.location-page .footnote{margin-top:12px}.error,.configuration-notice{color:var(--color-destructive);border-radius:var(--radius-control);background:#fbede9;margin:12px 0;padding:14px 16px;font-size:14px;line-height:1.7}.configuration-notice{margin:14px 20px 0}.error button{margin-top:8px;display:block}.address-tips{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control);margin-bottom:16px;overflow:hidden}.address-tips button{text-align:left;border-bottom:1px solid var(--border);align-items:center;gap:9px;width:100%;padding:10px 12px;font-size:14px;display:flex}[data-slot=sheet-overlay]{background:#382d2659}[data-slot=sheet-overlay][data-state=open]{animation:.18s ease-out overlay-enter}[data-slot=sheet-overlay][data-state=closed]{animation:.18s ease-in overlay-exit}[data-slot=sheet-content]{background:var(--surface);box-shadow:var(--shadow-overlay)}.advanced-sheet{border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;overscroll-behavior:contain;max-width:540px;max-height:90dvh;margin:0 auto;overflow-y:auto}.advanced-sheet[data-state=open]{animation:.24s cubic-bezier(.2,.8,.2,1) sheet-enter}.advanced-sheet[data-state=closed]{animation:.18s ease-in sheet-exit}@keyframes overlay-enter{0%{opacity:0}to{opacity:1}}@keyframes overlay-exit{0%{opacity:1}to{opacity:0}}@keyframes sheet-enter{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes sheet-exit{0%{transform:translateY(0)}to{transform:translateY(100%)}}.advanced-sheet .sheet-fields{padding-top:64px;padding-bottom:calc(24px + env(safe-area-inset-bottom))}.sheet-fields{flex-direction:column;gap:22px;padding:24px;display:flex}.muted{color:var(--muted-foreground);font-size:14px}.empty{text-align:center;flex-direction:column;align-items:center;gap:17px;padding:45px 8px;display:flex}.empty>svg{color:var(--primary)}.empty p{color:var(--muted-foreground);text-wrap:balance;font-size:16px}.empty a{color:var(--primary);min-height:44px;font-size:14px}.empty a[data-slot=button][data-variant=default]{color:var(--primary-foreground)}.history-empty{padding-top:70px}.history-list{flex-direction:column;gap:24px;display:flex}.history-list article{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-surface);padding:20px}.history-list time{color:var(--muted-foreground);font-size:15px}.history-list h2{overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:12px;margin:10px 0 6px;font-size:20px;font-weight:600;display:flex}.history-list p{color:var(--muted-foreground);font-size:16px}.text-button{color:var(--primary);min-height:44px;font-size:14px}.spin{animation:1.5s linear infinite rotate}@keyframes rotate{to{transform:rotate(360deg)}}.refine-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.refine-row button{white-space:nowrap;padding:10px 5px;font-size:14px}.recommendation-results{flex-direction:column;display:flex}.back-link{align-items:center;gap:10px;width:fit-content;min-height:44px;font-size:16px;display:flex}.back-link svg{width:24px;height:24px}.discovery-hero{grid-template-columns:minmax(0,1fr);margin-bottom:12px;padding-block:12px;display:grid}.discovery-hero .back-link,.discovery-hero h1{grid-column:1/-1}.discovery-hero h1{text-wrap:balance;margin:8px 0 12px;font-size:28px}.discovery-hero .address-summary{grid-column:1;margin-bottom:4px;font-size:14px;line-height:1.4}.condition-summary{grid-column:1;font-size:14px;line-height:1.5}.condition-summary>span{max-width:100%;display:inline-block}.hero-actions{grid-area:3/2/5;align-self:center;gap:6px;display:flex}.discovery-hero .hero-actions{grid-area:auto/1;align-self:stretch;margin-top:12px}.discovery-hero .hero-actions>[data-slot=button]{flex:1}.hero-actions [data-slot=button]{background:var(--surface);border-color:var(--border);gap:4px;padding-inline:10px;font-size:14px}.hero-actions [data-slot=button] svg{width:16px;height:16px}.candidates{flex-direction:column;gap:16px;display:flex}.place-card{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-surface);grid-template-columns:84px minmax(0,1fr);align-items:start;gap:14px;padding:16px;transition:background-color .22s,border-color .22s,box-shadow .22s;display:grid}.place-card.first-place{border-color:var(--border)}.place-card.selected{background:#f5f8ce;border-color:#e1e8ac;box-shadow:0 3px 8px #3e431f14}.place-options{margin-top:8px}.place-options summary{cursor:pointer;min-height:44px;color:var(--muted-foreground);justify-content:space-between;align-items:center;gap:8px;font-size:12px;list-style:none;display:flex}.place-options summary::-webkit-details-marker{display:none}.place-options summary>span:last-child{align-items:center;gap:4px;display:flex}.place-options .data-source{margin:0}.place-options[open] summary svg{transform:rotate(180deg)}.place-title{text-align:left;justify-content:space-between;align-items:center;gap:8px;width:100%;min-width:0;padding:0;line-height:1.35;display:flex}.place-title>span{overflow-wrap:anywhere;flex:1;min-width:0;font-size:19px;font-weight:700}.rank{width:24px;height:24px;color:var(--muted-foreground);border:1px solid var(--border);background:var(--surface);font-variant-numeric:tabular-nums;border-radius:999px;flex-shrink:0;place-items:center;font-size:12px;font-weight:600;display:grid;position:absolute;bottom:6px;left:6px}.first-place .rank{color:var(--foreground);background:var(--selected)}.place-facts{margin-top:12px}.place-meta{color:var(--muted-foreground);flex-direction:column;gap:8px;display:flex}.place-meta p{align-items:flex-start;gap:8px;font-size:14px;display:flex}.place-meta .lucide{margin-top:3px}.place-meta-label{flex-shrink:0}.place-meta p>span:last-child{overflow-wrap:anywhere;min-width:0}.place-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:20px 0 0;display:grid}.place-metrics>div{min-width:0;position:relative}.place-metrics>div+div:before{content:"";background:var(--border);width:1px;position:absolute;top:2px;bottom:2px;left:-12px}.place-metrics dt{color:var(--muted-foreground);align-items:center;gap:5px;font-size:14px;display:flex}.place-metrics dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:8px 0 0;font-size:24px;font-weight:600;line-height:1.3}.place-metrics dd[data-missing]{color:var(--muted-foreground);padding-block:4px;font-size:14px;font-weight:400;line-height:1.6}.warning-text{color:#89551e;margin:4px 0;font-size:14px}.card-actions{gap:10px;margin-top:16px;display:flex}.card-actions>button,.card-actions>a{flex:1;min-height:44px}.card-actions>button{flex:1.4;font-size:16px;font-weight:600}.data-source{color:var(--muted-foreground);margin-top:13px;font-size:12px}.detail-hero{margin-bottom:18px;padding-top:12px;padding-bottom:8px}.detail-hero h1{overflow-wrap:anywhere;margin-block:16px 8px;font-size:28px}.place-detail .place-facts{margin:0 0 24px}.place-detail .map-wrap{height:180px;margin-bottom:14px}.place-detail .address-summary{border-bottom:1px solid var(--border);padding-bottom:12px;font-size:17px;font-weight:600}.place-detail .footnote{text-align:left;margin-top:10px;line-height:1.5}.new-meal{width:100%;margin-top:6px;font-size:16px}.navigation-button{background:var(--primary);min-height:48px;color:var(--primary-foreground);border-radius:var(--radius-control);justify-content:center;align-items:center;gap:12px;margin-top:12px;font-size:16px;font-weight:600;display:flex}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media(max-width:360px){:root{--gutter:16px}.location-link{max-width:46%}.refine-row button{gap:4px;font-size:13px}.first-place .place-title h2{font-size:20px}.four-options button,.food-controls .chips button{white-space:nowrap;gap:4px;padding-inline:5px;font-size:14px}.four-options svg,.food-controls .chips svg{width:18px;height:18px}.advanced{white-space:normal}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.background-activity{margin:0 var(--gutter) 18px;border:1px solid var(--border);background:var(--secondary);border-radius:12px;padding:16px;font-size:13px}.discovery-hero .background-activity{background:var(--surface);grid-column:1/-1;margin:18px 0 0}.activity-heading,.activity-steps li,.activity-actions{align-items:center;gap:8px;display:flex}.activity-heading{color:var(--foreground)}.activity-heading .lucide{color:var(--primary)}.activity-steps{margin:10px 0;padding:0;list-style:none}.activity-steps li{margin-top:4px}.activity-actions{flex-wrap:wrap;margin-top:10px}.activity-actions:empty{display:none}.background-activity .error{overflow-wrap:anywhere;margin-top:8px}.activity-compact{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;display:flex}.activity-compact .activity-actions{margin:0}.mobile-form-layout,.mobile-form-fields,.app-shell .financial-fields,.mobile-profile-layout,.app-shell .profile-editor{display:contents}.preference-form .mobile-form-fields{border:1px solid var(--condition-border);border-radius:var(--radius-card);background:var(--condition-background);flex-direction:column;gap:14px;padding:18px 18px 8px;display:flex}.home-preferences .mobile-form-fields .financial-fields{flex-direction:column;gap:14px;display:flex}.home-preferences .mobile-form-fields .financial-fields>fieldset,.home-preferences .mobile-form-fields>.food-section{border-bottom:1px solid var(--border);padding-bottom:16px}.home-preferences .mobile-form-fields .food-controls .chips{flex-wrap:wrap;gap:8px;display:flex}.home-preferences .mobile-form-fields .food-controls .chips button{flex:auto;min-height:44px;padding:6px 10px;font-size:14px}.home-preferences .mobile-form-fields .four-options{gap:7px}.home-preferences .mobile-form-fields .four-options button{border-radius:999px;min-height:44px;padding:6px 4px;font-size:14px}.home-preferences .mobile-form-fields .four-options svg{display:none}.home-preferences .mobile-form-fields .budget-inputs input{text-align:center;font-size:22px}.home-preferences .mobile-form-fields .note-section>textarea{min-height:64px;padding:10px 12px}.home-preferences .mobile-form-fields .advanced{justify-content:center;gap:6px;padding:0;font-size:14px}.home-preferences .mobile-form-fields .advanced>svg:first-child{display:none}.home-preferences .mobile-form-fields .advanced>svg:last-child{width:16px;height:16px;margin:0;transform:rotate(90deg)}.home-preferences>.primary-full{border-radius:18px;min-height:52px;font-size:18px;box-shadow:0 3px 8px #244b311a}.advanced-sheet .food-input{margin-bottom:14px}.condition-chips{flex-wrap:wrap;gap:8px;display:flex}.condition-chips>span{background:var(--secondary);overflow-wrap:anywhere;border-radius:12px;min-width:0;max-width:100%;padding:6px 12px;font-size:13px;line-height:1.6}.condition-chips .request-chip{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.discovery-hero{background:0 0}.results-heading,.results-controls{align-items:center;gap:8px;display:flex}.results-heading{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;margin-bottom:2px;padding:18px 0}.results-heading h2{font-size:22px}.results-controls>[data-slot=button]{min-height:44px;padding:7px 12px;font-size:13px}.place-photo{background:var(--secondary);color:#9b9b66;border-radius:14px;place-items:center;height:88px;transition:height .22s;display:grid;position:relative;overflow:hidden}.place-photo img{object-fit:cover;width:100%;height:100%}.place-card.selected .place-photo{height:140px}.place-content{min-width:0}.place-title>svg{transition:transform .22s}.selected .place-title>svg{transform:rotate(180deg)}.place-facts.compact{margin:2px 0 0}.place-facts.compact .place-meta p:first-child>svg,.place-facts.compact .place-meta p:last-child,.place-card:not(.selected) .place-meta{display:none}.place-facts.compact .place-metrics{flex-wrap:wrap;align-items:center;gap:6px 10px;margin:10px 0 0;display:flex}.place-facts.compact .place-metrics>div{align-items:center;gap:4px;display:flex}.place-facts.compact .place-metrics>div+div{border-left:1px solid var(--border);padding-left:10px}.place-facts.compact .place-metrics>div:before{display:none}.place-facts.compact .place-metrics dd{margin:0;font-size:14px;font-weight:600;line-height:1.5}.place-facts.compact .place-metrics dt svg{width:14px;height:14px}.place-facts.compact .place-metrics>div:last-child svg{color:var(--coral);fill:#f5b16b}.place-facts.compact .place-metrics dd[data-missing]{padding:0;font-size:12px}.metric-unit{font-weight:400}.place-expansion{visibility:hidden;grid-template-rows:0fr;transition:grid-template-rows .22s,visibility 0s .22s;display:grid}.selected .place-expansion{visibility:visible;grid-template-rows:1fr;transition:grid-template-rows .22s,visibility}.place-expansion>div{min-height:0;overflow:hidden}.place-reason{color:var(--muted-foreground);margin-top:12px;font-size:14px;line-height:1.65}.place-card .card-actions>button{border-radius:16px;width:100%}.place-options summary{justify-content:flex-start}.opening-hours,.place-navigation{align-items:center;gap:6px;font-size:13px;display:flex}.place-options>.text-button{align-items:center;gap:4px;margin-right:12px;display:inline-flex}.map-food-pin{transform-origin:bottom;background:url(/images/food-map-pins.png) 0%/300% 100% no-repeat;border:0;border-radius:14px;width:76px;height:76px;padding:0;transition:transform .18s,filter .18s;display:block;position:relative}.map-food-pin[data-food=noodles]{background-position-x:50%}.map-food-pin[data-food=dumplings]{background-position-x:100%}.map-food-pin[aria-pressed=true],.map-food-pin:hover{filter:drop-shadow(0 3px 3px #31381f29);transform:translateY(-4px)scale(1.1)}.desktop-shell .map-food-pin{width:92px;height:92px}.map-pin-rank{border:1px solid var(--border);background:var(--surface);width:22px;height:22px;color:var(--foreground);border-radius:999px;place-items:center;font-size:12px;font-weight:700;display:grid;position:absolute;top:2px;right:1px}.map-origin{border:4px solid var(--surface);background:var(--primary);border-radius:50%;width:22px;height:22px;position:relative;box-shadow:0 0 0 1px #a0ad83,0 2px 5px #244b312e}.map-origin>span{border:1px solid var(--border);background:var(--surface);color:var(--foreground);white-space:nowrap;border-radius:10px;padding:3px 8px;font-size:12px;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.map-zoom{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-surface);border-radius:14px;position:absolute;bottom:30px;right:14px;overflow:hidden}.map-zoom button{place-items:center;width:44px;padding:0;display:grid}.map-zoom button+button{border-top:1px solid var(--border)}.map-radius{background:var(--surface);border:1px solid #b3c58d;border-radius:999px;padding:3px 12px;font-size:12px;position:absolute;bottom:134px;right:14px}@media(max-width:360px){.mobile-brand-row .brand{gap:6px;font-size:18px}.mobile-brand-row .brand svg{width:28px;height:28px}.preference-form .mobile-form-fields{padding-inline:14px}.place-card{grid-template-columns:64px minmax(0,1fr);gap:10px;padding:12px}.place-title>span{font-size:18px}.place-facts.compact .place-metrics{column-gap:6px}.place-facts.compact .place-metrics>div+div{padding-left:6px}.results-heading h2{font-size:20px}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ease{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}.desktop-shell{display:flow-root;--gutter: 32px;min-height:100dvh;padding-left:224px;background:var(--background)}.desktop-shell>main{width:100%;max-width:1440px;min-height:100dvh;margin:0 auto;padding:40px var(--gutter) 56px}.desktop-sidebar{--sidebar-gutter: 16px;position:fixed;inset:0 auto 0 0;z-index:20;display:flex;flex-direction:column;width:224px;padding:32px var(--sidebar-gutter) 24px;border-right:1px solid var(--border);background:#fcf5df}.desktop-sidebar>a:first-child{margin:-32px calc(-1 * var(--sidebar-gutter)) 0;padding:20px var(--sidebar-gutter);color:var(--surface);background:var(--brand-bar)}.desktop-sidebar>a:first-child:focus-visible{outline-color:var(--surface);outline-offset:-4px}.desktop-sidebar .brand{height:44px;margin:0;padding:0 8px;font-size:21px}.desktop-sidebar .brand>svg{color:inherit}.desktop-sidebar nav{display:flex;flex-direction:column;gap:12px;margin-top:38px}.desktop-sidebar nav a,.desktop-account{display:flex;align-items:center;gap:14px;min-height:48px;padding:12px 16px;border-radius:var(--radius-control);font-size:16px}.desktop-sidebar nav a.active{color:var(--foreground);background:var(--selected);font-weight:700}.desktop-sidebar nav a.active .lucide{color:var(--primary)}.desktop-sidebar nav a:hover,.desktop-account:hover{background:var(--muted)}.desktop-account{margin-top:auto;padding-top:20px;border-top:1px solid var(--border);border-radius:0}.desktop-account span{overflow-wrap:anywhere}.desktop-page-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px}.desktop-page-header h1{font-size:32px;line-height:1.3;letter-spacing:-.5px;overflow-wrap:anywhere}.desktop-page-header>div{min-width:0}.desktop-page-header p{margin-top:10px;color:var(--muted-foreground);font-size:14px;line-height:1.7}.desktop-page-header>[data-slot=button]{flex-shrink:0}.desktop-shell .preference-form{display:block}.desktop-meal-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);align-items:start;gap:24px}.desktop-form-fields{display:flex;flex-direction:column;gap:24px;min-width:0;padding:24px;border:1px solid var(--condition-border);border-radius:var(--radius-card);background:var(--condition-background);box-shadow:0 2px 8px #3e431f08}.desktop-shell .food-section,.desktop-shell .home-preferences .food-section{margin:0;padding:0}.desktop-shell legend,.desktop-shell .field-label,.desktop-section-title{font-size:16px;font-weight:600}.desktop-shell legend{margin-bottom:16px}.desktop-shell .food-controls .chips{display:flex;gap:10px}.desktop-shell .chips button{padding:9px 14px;font-size:14px}.desktop-shell .financial-fields{display:grid;gap:24px}.desktop-shell .financial-fields>fieldset{min-width:0}.desktop-shell .budget-inputs>span{align-self:center;margin:0;font-size:20px}.desktop-shell .four-options{gap:6px}.desktop-shell .four-options button{padding:8px 5px;font-size:14px}.desktop-shell .four-options svg{width:16px;height:16px}.desktop-shell .note-section textarea{min-height:100px;padding:12px 14px;font-size:16px;line-height:1.6}.desktop-shell .field-heading{margin-bottom:12px}.desktop-advanced{border-top:1px solid var(--border);padding-top:12px}.desktop-advanced>summary{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer;list-style:none;font-size:14px}.desktop-advanced>summary::-webkit-details-marker{display:none}.desktop-advanced>summary>svg:last-child{margin-left:auto}.desktop-advanced[open]>summary>svg:last-child{transform:rotate(180deg)}.desktop-advanced .sheet-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px;padding:20px 0 0}.desktop-advanced .sheet-fields>fieldset{grid-column:1 / -1;min-width:0}.desktop-shell .meal-summary{position:sticky;top:32px;isolation:isolate;overflow:hidden;min-width:0;min-height:0;padding:24px;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface)}.meal-summary h2{font-size:24px;margin-bottom:24px}.meal-summary .location-link{width:100%;max-width:none}.meal-summary .location-link span{overflow:visible;white-space:normal;font-size:14px;line-height:1.7}.meal-summary dl{margin:20px 0 28px;border-top:1px solid var(--border)}.meal-summary dl>div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;padding:18px 0;border-bottom:1px solid var(--border);font-size:14px;line-height:1.6}.meal-summary dt{color:var(--muted-foreground)}.meal-summary dd{margin:0;text-align:right;overflow-wrap:anywhere}.desktop-shell>.background-activity,.desktop-shell>.configuration-notice{max-width:1360px;margin:24px var(--gutter) 0}.desktop-shell .personal-preferences .desktop-meal-layout{display:block}.desktop-shell .personal-preferences .desktop-form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px 24px;padding:16px}.desktop-shell .personal-preferences fieldset{min-width:0}.desktop-shell .personal-preferences legend{margin-bottom:12px}.desktop-shell .personal-preferences .chips{gap:8px}.desktop-shell .personal-preferences .chips button{padding:8px 10px}.desktop-shell .personal-preferences .financial-fields{grid-area:1 / 1;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.desktop-shell .personal-preferences .food-section{grid-area:2 / 1}.desktop-shell .personal-preferences .note-section{grid-area:3 / 1}.desktop-shell .personal-preferences .note-section textarea{min-height:72px}.desktop-shell .personal-preferences .sheet-fields{display:contents}.desktop-shell .personal-preferences .taste-section{grid-area:1 / 2}.desktop-shell .personal-preferences .excluded-foods-section{grid-area:2 / 2}.desktop-shell .personal-preferences .desktop-form-fields>.primary-full{grid-area:3 / 2;align-self:end;justify-self:end;width:180px}.desktop-shell.public-layout{padding-left:0}.desktop-shell.error-shell main{min-height:100dvh}.desktop-origin{display:flex;align-items:center;gap:8px;color:var(--foreground);font-size:15px}.desktop-origin svg{color:var(--primary);flex-shrink:0}.desktop-conditions{display:block;margin-top:4px;font-size:14px}.desktop-shell .hero-actions{align-self:center}.desktop-shell .hero-actions [data-slot=button]{padding-inline:16px;font-size:14px}.desktop-shell main>.background-activity{margin:0 0 24px}.desktop-discovery-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);align-items:start;gap:24px}.desktop-results-list{min-width:0}.desktop-shell .refine-row{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.desktop-shell .refine-row button{flex:1 1 auto;gap:5px;padding:8px;font-size:14px}.desktop-shell .refine-row svg{width:16px;height:16px}.desktop-shell .place-card{grid-template-columns:100px minmax(0,1fr);padding:18px}.desktop-shell .place-title{gap:12px}.desktop-shell .place-title>span{min-width:0;font-size:21px;overflow-wrap:anywhere}.desktop-shell .rank,.desktop-shell .first-place .rank{width:24px;height:24px;font-size:12px}.desktop-shell .card-actions{margin-top:12px}.desktop-shell .card-actions>button{font-size:16px}.desktop-shell .card-actions>a{font-size:14px}.desktop-results-map{position:sticky;top:24px;min-width:0;padding:0;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-surface)}.desktop-results-map>header{position:absolute;z-index:5;top:14px;left:14px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:7px 12px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-surface)}.desktop-results-map h2{font-size:16px}.desktop-results-map header p{font-size:14px;color:var(--muted-foreground)}.desktop-results-map .map-wrap{height:clamp(640px,calc(100dvh - 80px),920px);margin:0;border:0;border-radius:var(--radius-card);box-shadow:none}.desktop-profile-layout{display:flex;flex-direction:column;gap:16px}.desktop-shell .profile-editor{display:block;min-width:0}.desktop-history{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-surface)}.desktop-history table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:14px}.desktop-history th,.desktop-history td{padding:22px 18px;border-bottom:1px solid var(--border);text-align:left;line-height:1.6;overflow-wrap:anywhere}.desktop-history th{padding-block:16px;background:var(--muted);color:var(--muted-foreground);font-size:13px;font-weight:500}.desktop-history th:nth-child(1){width:18%}.desktop-history th:nth-child(2){width:24%}.desktop-history th:nth-child(3){width:22%}.desktop-history th:nth-child(4){width:14%}.desktop-history th:nth-child(5){width:22%}.desktop-history time{font-size:13px;color:var(--muted-foreground)}.history-place-link{display:flex;align-items:center;gap:8px;min-height:44px;font-weight:600}.history-place-link svg{flex-shrink:0;color:var(--primary)}.history-distance{display:block;margin-top:4px;font-size:12px;color:var(--muted-foreground)}.desktop-history>button{display:block;margin:20px auto}.desktop-location-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:24px}.desktop-location-map .map-wrap{height:clamp(480px,calc(100dvh - 200px),820px);margin:0}.desktop-location-controls{padding:24px;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-surface)}.desktop-location-controls h2{margin-bottom:24px;font-size:20px}.desktop-location-controls .search-row{flex-wrap:wrap}.desktop-location-controls .search-row label{flex-basis:100%}.desktop-location-controls .search-row>button{width:100%}.desktop-location-controls .selected-address{padding:16px;font-size:14px;font-weight:500}.desktop-location-controls .footnote{text-align:left}.desktop-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start;gap:24px}.desktop-shell>main:has(.place-detail){padding-block:24px}.place-detail>.desktop-page-header{margin-bottom:20px}.desktop-detail-map .map-wrap{height:clamp(280px,calc(100dvh - 180px),560px)}.desktop-detail-info{padding:24px;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-surface)}.desktop-shell .place-detail .address-summary{padding-block:20px;font-size:14px;font-weight:500}.desktop-shell .navigation-button{font-size:16px}.desktop-shell.auth-shell>main{display:grid;align-items:center;max-width:1160px;padding-block:48px}.desktop-auth-page{display:grid;grid-template-columns:1fr 1fr;min-height:640px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-surface)}.desktop-auth-intro{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:80px;padding:40px;background:var(--secondary)}.desktop-auth-intro .brand{height:auto;margin:0;padding:0}.desktop-auth-intro h2{position:relative;z-index:1;font-size:40px;line-height:1.5;letter-spacing:-1px}.desktop-auth-intro p{margin-top:20px;font-size:14px}.desktop-auth-page .auth-card{align-self:center;padding:48px}.desktop-auth-page .auth-card>header{margin-bottom:36px}.desktop-auth-page h1{font-size:32px}.desktop-auth-page header p{margin-top:10px;font-size:14px;color:var(--muted-foreground)}.desktop-auth-page .auth-card .field-label{font-size:16px}.desktop-auth-page .auth-card .field-label input{min-height:48px;font-size:16px}@media(min-width:1280px){.desktop-shell .financial-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1199px){.desktop-shell{--gutter: 24px}.desktop-form-fields,.desktop-shell .meal-summary{padding:24px}}.desktop-results-list>.desktop-page-header{justify-content:flex-start;gap:24px;margin:6px 0 18px}.desktop-results-list>.desktop-page-header h1{font-size:clamp(24px,2.3vw,34px)}.desktop-results-list>.condition-chips{margin-bottom:24px}.desktop-results-list>.background-activity{margin:0 0 20px}.desktop-shell .home-preferences .desktop-form-fields{gap:24px}.desktop-shell .home-preferences .financial-fields{padding-bottom:24px;border-bottom:1px solid var(--border)}.desktop-shell .home-preferences .note-section textarea{min-height:80px}@media(min-width:1024px)and (max-width:1199px){.desktop-shell{padding-left:192px;--gutter: 22px}.desktop-sidebar{width:192px;--sidebar-gutter: 12px}.desktop-sidebar .brand{font-size:19px}.desktop-discovery-layout{gap:18px;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.desktop-shell .place-card{grid-template-columns:72px minmax(0,1fr);padding:14px;gap:10px}.desktop-shell .place-title>span{font-size:19px}.desktop-results-list .desktop-page-header{flex-wrap:wrap}}
