:root{--color-primary: #364832;--color-primary-light: #4A5E44;--color-primary-dark: #283828;--color-secondary: #C45A34;--color-secondary-light: #D56B45;--color-secondary-dark: #A3492A;--color-accent: #F4C430;--color-background: #F9F5EB;--color-surface: rgba(240, 235, 220, .7);--color-surface-elevated: rgba(240, 235, 220, .9);--color-text: #1A1A1A;--color-text-muted: #4A4A4A;--color-text-on-primary: #FFFFFF;--color-border: rgba(0, 0, 0, .1);--color-border-glass: rgba(255, 255, 255, .18);--color-success: #2D5A27;--color-error: #B22222;--color-warning: #DAA520;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-4xl: 2.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-base: 1.5;--line-height-relaxed: 1.75;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .1);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .15);--glass-blur: 10px;--glass-background: var(--color-surface);--glass-border: var(--color-border-glass);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-toast: 500;--touch-target-min: 44px;--touch-target-comfortable: 48px;--header-height: 36px}[data-theme=dark]{--color-primary: #6B8E63;--color-primary-light: #7E9F76;--color-primary-dark: #5A7D52;--color-secondary: #D37B5D;--color-secondary-light: #E09075;--color-secondary-dark: #C06648;--color-accent: #F4C430;--color-background: #1C1F1C;--color-surface: rgba(45, 45, 40, .7);--color-surface-elevated: rgba(60, 60, 55, .8);--color-text: #F0EBE0;--color-text-muted: #A8A49D;--color-text-on-primary: #FFFFFF;--color-border: rgba(255, 255, 255, .1);--color-border-glass: rgba(255, 255, 255, .08);--color-success: #4A7C59;--color-error: #CD5C5C;--color-warning: #F0C040;--shadow-lg: 0 8px 32px rgba(0, 0, 0, .3);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .4)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--color-primary: #4A7C59;--color-primary-light: #5A9C69;--color-primary-dark: #3A6C49;--color-secondary: #D2691E;--color-secondary-light: #E2792E;--color-secondary-dark: #B2590E;--color-accent: #6B8E23;--color-background: #0D1117;--color-surface: rgba(30, 40, 50, .7);--color-surface-elevated: rgba(40, 50, 60, .8);--color-text: #E6E6E6;--color-text-muted: #A0A0A0;--color-border: rgba(255, 255, 255, .1);--color-border-glass: rgba(255, 255, 255, .08);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .3);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .4)}}@media (prefers-reduced-motion: reduce){:root{--transition-fast: 0ms;--transition-base: 0ms;--transition-slow: 0ms}}.main-container{height:100%;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:0 var(--space-lg) var(--space-xl);overflow-y:auto}.hero{width:100%;max-width:800px;margin:0 auto;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.actions{width:100%;max-width:400px;display:flex;flex-direction:column;gap:var(--space-md);align-items:stretch}.results{width:100%;max-width:800px;margin-top:var(--space-lg)}@media (min-width: 768px){.main-container{padding:var(--space-2xl);gap:var(--space-3xl)}}@media (min-width: 1024px){.main-container{gap:var(--space-3xl)}}.prompt-card{padding:var(--space-2xl) var(--space-xl);text-align:center;margin:0 auto;max-width:600px;position:relative}.prompt-card:before{content:'"';position:absolute;top:var(--space-md);left:var(--space-md);font-size:var(--font-size-4xl);font-family:Georgia,serif;color:var(--color-primary);opacity:.3;line-height:1}.prompt-card__text{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-base);color:var(--color-text);margin:0;font-style:italic}@media (min-width: 768px){.prompt-card{padding:var(--space-3xl) var(--space-2xl)}.prompt-card__text{font-size:var(--font-size-3xl)}}@media (min-width: 1024px){.prompt-card__text{font-size:var(--font-size-4xl)}}.btn{border:none;background:none;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:var(--space-md) var(--space-xl);border-radius:var(--radius-lg);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:1;text-decoration:none;transition-property:background,box-shadow,transform,border-color;transition-duration:var(--transition-base);transition-timing-function:ease;min-height:48px;min-width:48px;user-select:none;-webkit-tap-highlight-color:transparent}.btn:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.btn--loading{position:relative;color:transparent!important}.btn--loading:after{content:"";position:absolute;width:20px;height:20px;border:2px solid var(--color-text-on-primary);border-top-color:transparent;border-radius:50%;animation:btn-spin .8s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.btn--loading:after{animation:none;border:2px solid var(--color-text-on-primary)}}.btn--primary{background:var(--color-primary);color:var(--color-text-on-primary);box-shadow:var(--shadow-md)}.btn--primary:hover:not(:disabled){background:var(--color-primary-light);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn--primary:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.btn--secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.btn--secondary:hover:not(:disabled){background:var(--color-surface-elevated);border-color:var(--color-primary)}.btn__text{display:block}@media (prefers-reduced-motion: reduce){.btn{transition:none}.btn--primary:hover:not(:disabled),.btn--primary:active:not(:disabled){transform:none}}@media (min-width: 768px){.btn{padding:var(--space-lg) var(--space-2xl);font-size:var(--font-size-xl)}}.error-view{width:100%;max-width:600px;margin:0 auto}.error-card{padding:var(--space-2xl) var(--space-xl);text-align:center}.error-card__title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-error);margin-bottom:var(--space-md)}.error-card__message{font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);color:var(--color-text);margin-bottom:var(--space-lg)}.error-card__help{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-text-muted);text-align:left;padding:var(--space-md);background:var(--color-surface-elevated);border-radius:var(--radius-md);margin-top:var(--space-lg)}@media (min-width: 768px){.error-card{padding:var(--space-3xl) var(--space-2xl)}.error-card__title{font-size:var(--font-size-4xl)}}.results-header{text-align:center;margin-bottom:var(--space-xl)}.results-header__title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:var(--space-sm)}.results-header__subtitle{font-size:var(--font-size-base);color:var(--color-text-muted)}.parks-list{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-xl);list-style:none;padding:0}.park-card{padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-sm);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.park-card:active{transform:scale(.98)}@media (prefers-reduced-motion: reduce){.park-card{transition:none}.park-card:active{transform:none}}.park-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md)}.park-card__name{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0;flex:1;display:flex;align-items:center;gap:var(--space-sm)}.park-card__icon{font-size:var(--font-size-xl);flex-shrink:0}.park-card__distance{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-on-primary);background:var(--color-primary);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);white-space:nowrap}.park-card__type{font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:capitalize;margin-left:calc(var(--font-size-xl) + var(--space-sm))}.park-card__actions{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border)}.park-card__link{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-primary);text-decoration:none;background:var(--color-surface-elevated);border-radius:var(--radius-md);transition:background var(--transition-fast)}.park-card__link:hover,.park-card__link:focus{background:var(--color-primary);color:var(--color-text-on-primary);text-decoration:none}.empty-state{text-align:center;padding:var(--space-2xl)}.empty-state__icon{font-size:4rem;margin-bottom:var(--space-lg);opacity:.6}.empty-state__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:var(--space-sm)}.empty-state__message{font-size:var(--font-size-base);color:var(--color-text-muted);margin-bottom:var(--space-lg);line-height:var(--line-height-relaxed)}@media (min-width: 768px){.results-header__title{font-size:var(--font-size-3xl)}.park-card__name{font-size:var(--font-size-xl)}}.cache-notice{position:fixed;top:0;left:0;right:0;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-primary);color:var(--color-text-inverse, #fff);text-align:center;font-size:var(--font-size-sm);font-weight:500;z-index:var(--z-index-toast, 1000);transform:translateY(0);transition:transform var(--transition-base),opacity var(--transition-base)}.cache-notice--dismissed{transform:translateY(-100%);opacity:0}@media (prefers-reduced-motion: reduce){.cache-notice{transition:none}.cache-notice--dismissed{transform:none}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text);background-color:var(--color-background);height:100vh;height:100dvh;overflow:hidden;background-image:linear-gradient(to bottom,#f9f5eb80,#f9f5eb99),url(/Get_Outside_img0.png);background-size:200%;background-position:center center;background-repeat:no-repeat;background-attachment:fixed}@media (min-width: 768px){body{background-size:100%}}[data-theme=dark] body{background-image:linear-gradient(to bottom,#1c1f1c99,#1c1f1ccc),url(/Get_Outside_img0.png)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) body{background-image:linear-gradient(to bottom,#1c1f1c99,#1c1f1ccc),url(/Get_Outside_img0.png)}}#app{height:100vh;height:100dvh;width:100%;overflow:hidden;padding-top:calc(var(--header-height) + var(--space-md) + var(--space-xl))}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}p{margin-bottom:var(--space-md)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover,a:focus{color:var(--color-primary-light)}.glass-card{background:var(--glass-background);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-lg)}.glass-card--elevated{background:var(--color-surface-elevated);box-shadow:var(--shadow-xl)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);min-height:var(--touch-target-comfortable);padding:var(--space-sm) var(--space-lg);font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:1;text-align:center;text-decoration:none;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.btn:focus{outline:2px solid var(--color-primary);outline-offset:2px}.btn:focus:not(:focus-visible){outline:none}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.6;cursor:not-allowed}.animated-button{position:relative;display:flex;align-items:center;justify-content:center;gap:4px;padding:16px 36px;border:4px solid transparent;font-size:16px;font-family:inherit;background-color:transparent;border-radius:100px;font-weight:600;color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary);cursor:pointer;overflow:hidden;transition:all .6s cubic-bezier(.23,1,.32,1);-webkit-tap-highlight-color:transparent}.animated-button svg{position:absolute;width:24px;height:24px;fill:var(--color-primary);z-index:9;transition:all .8s cubic-bezier(.23,1,.32,1)}.animated-button .arr-1{right:16px}.animated-button .arr-2{left:-25%}.animated-button .circle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;background-color:var(--color-primary);border-radius:50%;opacity:0;transition:all .8s cubic-bezier(.23,1,.32,1);pointer-events:none}.animated-button .text{position:relative;z-index:10;transform:translate(-12px);transition:all .8s cubic-bezier(.23,1,.32,1);white-space:nowrap}.animated-button:hover{box-shadow:0 0 0 12px transparent;color:var(--color-text-on-primary);border-radius:12px}.animated-button:hover .arr-1{right:-25%}.animated-button:hover .arr-2{left:16px}.animated-button:hover .text{transform:translate(12px)}.animated-button:hover svg{fill:var(--color-text-on-primary)}.animated-button:active{transform:scale(.95);box-shadow:0 0 0 4px var(--color-primary)}.animated-button:focus-visible{outline:3px solid var(--color-accent);outline-offset:4px}.animated-button:hover .circle{width:220px;height:220px;opacity:1}.animated-button:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.animated-button.btn--loading .text{transform:none}.btn--full{width:100%}.hero{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:var(--space-xl) 0}.hero__voice{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text);max-width:90%}@media (min-width: 768px){.hero__voice{font-size:var(--font-size-3xl)}}.park-list{display:flex;flex-direction:column;gap:var(--space-md);list-style:none}.park-card{display:flex;flex-direction:column;gap:var(--space-sm)}.park-card__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.park-card__distance{font-size:var(--font-size-sm);color:var(--color-text-muted)}.park-card__action{align-self:flex-start;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.loading{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);color:var(--color-text-muted)}.loading__spinner{width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error{padding:var(--space-md);background-color:#b222221a;border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-center{text-align:center}.text-muted{color:var(--color-text-muted)}[data-theme=dark] body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:-1;background-image:radial-gradient(1px 1px at 10% 20%,rgba(255,255,255,.3),transparent),radial-gradient(1px 1px at 30% 60%,rgba(255,255,255,.2),transparent),radial-gradient(1px 1px at 50% 10%,rgba(255,255,255,.4),transparent),radial-gradient(1px 1px at 70% 40%,rgba(255,255,255,.2),transparent),radial-gradient(1px 1px at 90% 80%,rgba(255,255,255,.3),transparent),radial-gradient(1px 1px at 15% 85%,rgba(255,255,255,.2),transparent),radial-gradient(1px 1px at 45% 45%,rgba(255,255,255,.3),transparent),radial-gradient(1px 1px at 75% 15%,rgba(255,255,255,.2),transparent)}@media (min-width: 768px){#app{padding:var(--space-xl)}}@media (min-width: 1024px){#app{padding:var(--space-2xl)}}.app-header{position:fixed;top:var(--space-md);left:var(--space-md);right:var(--space-md);max-width:600px;margin:0 auto;z-index:var(--z-sticky);display:flex;justify-content:space-between;align-items:center;padding:var(--space-xs) var(--space-md);background:var(--color-surface);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--color-border-glass);border-radius:100px;box-shadow:var(--shadow-md);animation:slide-down .5s cubic-bezier(.2,.8,.2,1)}@keyframes slide-down{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.app-header__brand{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text);letter-spacing:-.01em}.app-header__logo{font-size:1.25rem;transition:transform var(--transition-base)}.app-header:hover .app-header__logo{transform:rotate(10deg)}.app-header__actions{display:flex;align-items:center;gap:var(--space-xs)}.icon-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;background:transparent;border-radius:50%;cursor:pointer;font-size:1.1rem;color:var(--color-text-muted);transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent}.icon-btn:hover{background:var(--color-surface-elevated);color:var(--color-text);transform:translateY(-1px)}.icon-btn:active{transform:scale(.95)}.icon-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;color:var(--color-primary)}@media (prefers-reduced-motion: reduce){.icon-btn,.app-header,.app-header__logo{transition:none;animation:none}}@media (prefers-reduced-motion: reduce){.icon-btn{transition:none}.icon-btn:active{transform:none}}.theme-toggle__icon--light,.theme-toggle__icon--dark{display:none}[data-theme=dark] .theme-toggle__icon--light{display:block}:root:not([data-theme=dark]) .theme-toggle__icon--dark{display:block}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .theme-toggle__icon--light{display:block}:root:not([data-theme=light]) .theme-toggle__icon--dark{display:none}}
