.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}.skip-link{position:absolute;top:-100px;left:0;z-index:9999;padding:1rem 1.5rem;background:gold;color:#000;font-weight:600;text-decoration:none;transition:top .2s ease}.skip-link:focus{top:0;outline:3px solid gold;outline-offset:2px}:focus{outline:none}:focus-visible{outline:3px solid gold;outline-offset:2px;border-radius:4px}[role=button]:focus-visible,[role=link]:focus-visible,[tabindex="0"]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid gold;outline-offset:2px}.bg-black :focus-visible,.bg-black button:focus-visible{outline-color:gold;box-shadow:0 0 0 3px rgba(255,215,0,.3)}.bg-white :focus-visible,.bg-white button:focus-visible{outline-color:#b8860b;box-shadow:0 0 0 3px rgba(184,134,11,.3)}[data-keyboard-hint]:after{content:attr(data-keyboard-hint);position:absolute;bottom:100%;left:50%;transform:translateX(-50%) translateY(-8px);padding:.5rem .75rem;background:#000;color:gold;font-size:.75rem;border:1px solid rgba(255,215,0,.3);border-radius:4px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:1000}[data-keyboard-hint]:focus:after{opacity:1}@media (prefers-contrast:high){body{--text-primary:#fff;--text-secondary:#ccc;--bg-primary:#000}button,input,select,textarea{border-width:2px}:focus-visible{outline-width:4px;outline-offset:3px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}[aria-required=true]:after,[required]:after{content:" *";color:#ef4444;font-weight:600}[aria-invalid=true],input:invalid,select:invalid,textarea:invalid{border-color:#ef4444}[aria-invalid=true]:focus,input:invalid:focus,select:invalid:focus,textarea:invalid:focus{outline-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.3)}.error-message{display:flex;align-items:center;gap:.5rem;padding:.5rem;margin-top:.5rem;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);border-radius:4px;color:#ef4444;font-size:.875rem}[aria-disabled=true],button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.5;cursor:not-allowed}[aria-busy=true]{cursor:wait;opacity:.7}[aria-live]{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}a:hover{text-decoration-thickness:2px}a[target=_blank]:after{content:"↗";display:inline-block;margin-left:.25rem;font-size:.875em}[role=button],button{min-height:44px;min-width:44px;padding:.75rem 1.5rem}[role=button]:empty:before,button:empty:before{content:"⚠️ Missing aria-label";color:#ef4444;font-size:.75rem}[role=button][aria-label]:empty:before,button[aria-label]:empty:before{content:none}body[data-dev=true] [data-low-contrast=true]{outline:2px dashed #ef4444;outline-offset:2px}body[data-dev=true] [data-low-contrast=true]:before{content:"⚠️ Low Contrast";position:absolute;top:-1.5rem;left:0;padding:.25rem .5rem;background:#ef4444;color:#fff;font-size:.625rem;font-weight:600;border-radius:2px;z-index:9999}html{font-size:16px}@media (min-width:1024px){html{font-size:18px}}@media (prefers-reduced-data:reduce){html{font-size:14px}}th{font-weight:600;text-align:left;background:hsla(0,0%,100%,.05)}tr:nth-child(2n){background:hsla(0,0%,100%,.02)}[aria-modal=true]::backdrop,[role=dialog]::backdrop{background:rgba(0,0,0,.8)}[aria-modal=true],[role=dialog]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);max-height:90vh;max-width:90vw;overflow-y:auto;padding:2rem}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:hsla(0,0%,100%,.05)}::-webkit-scrollbar-thumb{background:rgba(255,215,0,.3);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:rgba(255,215,0,.5)}*{scrollbar-width:thin;scrollbar-color:rgba(255,215,0,.3) hsla(0,0%,100%,.05)}:root{--golden-whisper:rgba(255,215,0,.02);--golden-breath:rgba(255,215,0,.04);--golden-glow:rgba(255,215,0,.08);--golden-pulse:rgba(255,215,0,.15);--golden-focus:rgba(255,215,0,.25);--golden-shine:rgba(255,215,0,.4);--golden-bright:rgba(255,215,0,.6);--golden-full:rgba(255,215,0,.9);--golden-solid:gold;--glass-whisper:hsla(0,0%,100%,.02);--glass-breath:hsla(0,0%,100%,.04);--glass-presence:hsla(0,0%,100%,.08);--glass-surface:hsla(0,0%,100%,.12);--glass-border:hsla(0,0%,100%,.1);--glass-divider:hsla(0,0%,100%,.05);--text-whisper:hsla(0,0%,100%,.2);--text-soft:hsla(0,0%,100%,.4);--text-medium:hsla(0,0%,100%,.6);--text-strong:hsla(0,0%,100%,.8);--text-bright:hsla(0,0%,100%,.95);--shadow-whisper:0 0 20px rgba(255,215,0,.05);--shadow-glow:0 0 40px rgba(255,215,0,.1);--shadow-bright:0 0 60px rgba(255,215,0,.15);--shadow-radiant:0 0 80px rgba(255,215,0,.2);--blur-soft:blur(8px);--blur-medium:blur(12px);--blur-strong:blur(16px);--breathe-duration:6s;--transition-fast:200ms;--transition-medium:400ms;--transition-slow:600ms}.glass-whisper{background:var(--glass-whisper);-webkit-backdrop-filter:var(--blur-soft);backdrop-filter:var(--blur-soft);border:1px solid var(--glass-divider)}.glass-breath{background:var(--glass-breath)}.glass-breath,.glass-presence{-webkit-backdrop-filter:var(--blur-medium);backdrop-filter:var(--blur-medium);border:1px solid var(--glass-border)}.glass-presence{background:var(--glass-presence)}.glass-surface{background:var(--glass-surface);-webkit-backdrop-filter:var(--blur-strong);backdrop-filter:var(--blur-strong);border:1px solid var(--glass-border)}.golden-glow{background:radial-gradient(circle at center,var(--golden-glow) 0,transparent 70%)}.golden-glow,.golden-glow-intense{position:absolute;inset:0;pointer-events:none;border-radius:inherit}.golden-glow-intense{background:radial-gradient(circle at center,var(--golden-focus) 0,transparent 70%)}.golden-border{border-color:var(--golden-pulse)}.golden-border-bright{border-color:var(--golden-shine)}.golden-shadow{box-shadow:var(--shadow-glow)}.golden-shadow-bright{box-shadow:var(--shadow-bright)}@keyframes breathe{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes breathe-subtle{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}@keyframes breathe-glow{0%,to{opacity:.3;filter:blur(8px);transform:scale(1)}50%{opacity:.8;filter:blur(12px);transform:scale(1.05)}}.breathing{animation:breathe var(--breathe-duration) ease-in-out infinite}.breathing-subtle{animation:breathe-subtle var(--breathe-duration) ease-in-out infinite}.breathing-glow{animation:breathe-glow var(--breathe-duration) ease-in-out infinite}.pulsing{animation:pulse 2s ease-in-out infinite}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}.shimmer{background:linear-gradient(90deg,transparent 0,var(--golden-whisper) 50%,transparent 100%);background-size:200% 100%;animation:shimmer 2s linear infinite}.hover-lift{transition:transform var(--transition-medium) ease-out}.hover-lift:hover{transform:translateY(-2px)}.hover-glow{transition:box-shadow var(--transition-medium) ease-out}.hover-glow:hover{box-shadow:var(--shadow-glow)}.hover-golden{transition:all var(--transition-medium) ease-out}.hover-golden:hover{border-color:var(--golden-pulse);background:var(--golden-whisper)}.trip-card{position:relative;cursor:pointer;overflow:hidden;border-radius:1rem;padding:1rem;background:var(--glass-breath);-webkit-backdrop-filter:var(--blur-medium);backdrop-filter:var(--blur-medium);border:1px solid var(--glass-border)}@media print{.trip-card{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid #ccc}}.trip-card{transition:all var(--transition-medium) ease-out}.trip-card.selected{background:var(--golden-breath);border-color:var(--golden-pulse);box-shadow:var(--shadow-glow)}.trip-card.past{opacity:.3}.trip-card.current{border-color:var(--golden-shine)}.trip-card:hover:not(.selected){background:var(--glass-presence);transform:scale(1.02)}.confidence-badge{display:inline-flex;align-items:center;gap:.25rem;border-radius:9999px;padding:.25rem .5rem;font-size:.75rem;line-height:1rem;font-weight:300;letter-spacing:.05em}.confidence-badge.high{background:var(--golden-whisper);color:var(--golden-full);border:1px solid var(--golden-pulse)}.confidence-badge.medium{background:var(--glass-breath);color:var(--text-medium);border:1px solid var(--glass-border)}.confidence-badge.low{background:hsla(0,100%,70%,.04);color:hsla(0,100%,70%,.8);border:1px solid hsla(0,100%,70%,.2)}.expert-card{position:relative;overflow:hidden;border-radius:.75rem;padding:.75rem;background:var(--glass-breath);-webkit-backdrop-filter:var(--blur-medium);backdrop-filter:var(--blur-medium);border:1px solid var(--glass-border)}@media print{.expert-card{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid #ccc}}.expert-card{transition:all var(--transition-medium) ease-out}.expert-card:hover{background:var(--glass-presence);border-color:var(--golden-pulse);transform:translateX(4px)}.expert-badge{display:inline-block;border-radius:.25rem;padding:.125rem .5rem;font-size:10px;letter-spacing:.075em;font-weight:300;text-transform:uppercase}.expert-badge.local{background:var(--golden-breath);color:var(--golden-full);border:1px solid var(--golden-pulse)}.expert-badge.expert{background:var(--golden-whisper);color:var(--golden-bright);border:1px solid var(--golden-pulse)}.expert-badge.regular{background:var(--glass-breath);color:var(--text-soft);border:1px solid var(--glass-border)}.expert-badge.explorer{background:var(--glass-whisper);color:var(--text-whisper);border:1px solid var(--glass-divider)}@keyframes pulse{50%{opacity:.5}}.loading-skeleton{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;border-radius:.25rem;background:var(--glass-breath);-webkit-backdrop-filter:var(--blur-medium);backdrop-filter:var(--blur-medium);border:1px solid var(--glass-border)}@media print{.loading-skeleton{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid #ccc}}.loading-skeleton{background:linear-gradient(90deg,var(--glass-breath) 0,var(--glass-presence) 50%,var(--glass-breath) 100%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.loading-spinner{display:inline-block;height:1.25rem;width:1.25rem}@keyframes spin{to{transform:rotate(1turn)}}.loading-spinner{animation:spin 1s linear infinite;border-radius:9999px;border-width:2px;border-color:var(--golden-pulse);border-top-color:transparent}.empty-state{flex-direction:column;padding-top:3rem;padding-bottom:3rem;text-align:center}.empty-state,.empty-state-icon{display:flex;align-items:center;justify-content:center}.empty-state-icon{margin-bottom:1rem;height:4rem;width:4rem;border-radius:9999px;background:var(--golden-whisper);border:2px solid var(--golden-pulse);color:var(--golden-bright);font-size:2rem}.empty-state-text{color:var(--text-soft);font-weight:300;letter-spacing:.05em}.btn-whisper{border-radius:.5rem;padding:.5rem 1rem;background:var(--glass-breath);-webkit-backdrop-filter:var(--blur-medium);backdrop-filter:var(--blur-medium);border:1px solid var(--glass-border)}@media print{.btn-whisper{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid #ccc}}.btn-whisper{color:var(--text-medium);font-weight:300;letter-spacing:.05em;transition:all var(--transition-medium) ease-out}.btn-whisper:hover{background:var(--glass-presence);color:var(--text-strong);transform:translateY(-1px)}.btn-golden{border-radius:.5rem;padding:.5rem 1rem;background:var(--golden-whisper);border:1px solid var(--golden-pulse);color:var(--golden-full);font-weight:300;letter-spacing:.05em;transition:all var(--transition-medium) ease-out}.btn-golden:hover{background:var(--golden-breath);border-color:var(--golden-shine);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.btn-golden:active{transform:translateY(0)}.toast{border-radius:.75rem;padding:1rem;--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);background:var(--glass-presence);-webkit-backdrop-filter:var(--blur-medium);backdrop-filter:var(--blur-medium)}@media (max-width:768px){.toast{-webkit-backdrop-filter:var(--blur-medium);backdrop-filter:var(--blur-medium)}}@media print{.toast{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid #ccc}}.toast{border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.toast.success{border-color:var(--golden-pulse);box-shadow:var(--shadow-glow)}.toast.error{border-color:hsla(0,100%,70%,.2);box-shadow:0 0 20px hsla(0,100%,70%,.1)}.scrollbar-whisper::-webkit-scrollbar{width:6px;height:6px}.scrollbar-whisper::-webkit-scrollbar-track{background:var(--glass-whisper)}.scrollbar-whisper::-webkit-scrollbar-thumb{background:var(--glass-presence);border-radius:3px}.scrollbar-whisper::-webkit-scrollbar-thumb:hover{background:var(--golden-pulse)}.text-whisper{color:var(--text-whisper)}.text-soft{color:var(--text-soft)}.text-medium{color:var(--text-medium)}.text-strong{color:var(--text-strong)}.text-bright{color:var(--text-bright)}.text-golden{color:var(--golden-full)}.bg-whisper{background:var(--glass-whisper)}.bg-breath{background:var(--glass-breath)}.bg-presence{background:var(--glass-presence)}.border-whisper{border-color:var(--glass-divider)}.border-glass{border-color:var(--glass-border)}.border-golden{border-color:var(--golden-pulse)}@media (max-width:768px){:root{--blur-soft:blur(6px);--blur-medium:blur(10px);--blur-strong:blur(14px)}.glass-presence,.glass-surface{-webkit-backdrop-filter:var(--blur-medium);backdrop-filter:var(--blur-medium)}}@media print{.breathing,.breathing-glow,.breathing-subtle,.golden-glow,.golden-glow-intense{display:none!important}.glass-breath,.glass-presence,.glass-surface,.glass-whisper{background:#fff!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border:1px solid #ccc!important}}