:root{--color-green-50:#ebf9f2;--color-green-100:#d1f0df;--color-green-200:#a3e0c4;--color-green-300:#6ec8a0;--color-green-400:#34ad75;--color-green-500:#008540;--color-green-600:#006f35;--color-green-700:#005a2c;--color-green-800:#004523;--color-green-900:#00301a;--color-slate-50:#f8fafc;--color-slate-100:#f1f5f9;--color-slate-200:#e2e8f0;--color-slate-300:#cbd5e1;--color-slate-400:#94a3b8;--color-slate-500:#64748b;--color-slate-600:#475569;--color-slate-700:#334155;--color-slate-800:#1e293b;--color-slate-900:#0f172a;--color-slate-950:#020617;--color-red-50:#fef2f2;--color-red-300:#fca5a5;--color-red-400:#f87171;--color-red-500:#ef4444;--color-red-600:#dc2626;--color-red-700:#b91c1c;--color-yellow-50:#fefce8;--color-yellow-300:#fde047;--color-yellow-400:#facc15;--color-yellow-500:#eab308;--color-yellow-600:#ca8a04;--color-yellow-700:#a16207;--color-yellow-800:#854d0e;--color-yellow-900:#422006;--color-blue-50:#eff6ff;--color-blue-100:#dbeafe;--color-blue-200:#bfdbfe;--color-blue-300:#93c5fd;--color-blue-400:#60a5fa;--color-blue-500:#3b82f6;--color-blue-600:#2563eb;--color-blue-700:#1d4ed8;--color-pink-100:#fce7f3;--color-pink-200:#fbcfe8;--color-pink-500:#ec4899;--color-pink-700:#be185d;--color-amber-100:#fef3c7;--color-amber-200:#fde68a;--color-amber-500:#f59e0b;--color-amber-700:#a16207;--color-purple-100:#ede9fe;--color-purple-200:#ddd6fe;--color-purple-500:#8b5cf6;--color-purple-700:#6d28d9;--color-indigo-100:#e0e7ff;--color-indigo-200:#c7d2fe;--color-indigo-500:#6366f1;--color-indigo-700:#4338ca;--color-orange-300:#fdba74;--color-orange-500:#f97316;--color-orange-900:#9a3412;--color-maroon-300:#fc8181;--color-maroon-700:#7e0023;--avatar-brand-bg:var(--color-green-100);--avatar-brand-text:var(--color-green-700);--avatar-pink-bg:var(--color-pink-200);--avatar-pink-text:var(--color-pink-700);--avatar-blue-bg:var(--color-blue-200);--avatar-blue-text:var(--color-blue-700);--avatar-amber-bg:var(--color-amber-200);--avatar-amber-text:var(--color-amber-700);--avatar-green-bg:var(--color-green-200);--avatar-green-text:var(--color-green-700);--avatar-purple-bg:var(--color-purple-200);--avatar-purple-text:var(--color-purple-700);--avatar-indigo-bg:var(--color-indigo-200);--avatar-indigo-text:var(--color-indigo-700);--color-pioneer-50:#eab30814;--color-pioneer-100:#eab30826;--color-pioneer-border:#ca8a04;--color-pioneer-text:#a06800;--color-pioneer-icon:#eab308}:root,:root[data-theme=light]{--bg-app:var(--color-slate-50);--bg-base:var(--color-slate-50);--bg-surface:#fff;--bg-surface-elevated:#fff;--bg-hover:var(--color-slate-100);--bg-overlay:#0f172a8c;--bg-image-overlay-strong:#0f172ab3;--bg-brand-subtle:color-mix(in srgb, var(--color-green-500) 8%, transparent);--bg-subtle:var(--color-slate-50);--brand-50:var(--color-green-50);--bg-app-gradient:linear-gradient(to right, color-mix(in srgb, var(--color-blue-600) 10%, transparent), color-mix(in srgb, var(--color-green-500) 15%, transparent));--on-dark-bg-subtle:#ffffff0f;--on-dark-bg:#ffffff14;--on-dark-bg-hover:#ffffff1f;--on-dark-border-subtle:#ffffff1a;--on-dark-border:#ffffff26;--on-dark-border-hover:#ffffff40;--brand-300:var(--color-green-300);--brand-500:var(--color-green-500);--brand-600:var(--color-green-600);--brand-700:var(--color-green-700);--profile-cover-gradient:linear-gradient(135deg, var(--color-green-600), var(--color-green-400));--text-primary:var(--color-slate-900);--text-secondary:var(--color-slate-600);--text-tertiary:var(--color-slate-500);--text-brand:var(--color-green-700);--text-inverse:#fff;--text-disabled:var(--color-slate-300);--text-danger:var(--color-red-600);--text-warning:#a06800;--text-info:var(--color-blue-700);--text-success:var(--color-green-700);--border-subtle:var(--color-slate-200);--border-default:var(--color-slate-300);--border-strong:var(--color-slate-400);--border-focus:var(--color-blue-600);--border-danger:var(--color-red-500);--border-brand:var(--color-green-500);--action-primary-bg:var(--color-green-500);--action-primary-bg-hover:var(--color-green-600);--action-primary-text:#fff;--action-primary-disabled-bg:var(--color-green-200);--action-primary-disabled-text:#fffc;--action-secondary-bg:transparent;--action-secondary-bg-hover:var(--color-slate-50);--action-secondary-text:var(--color-slate-900);--action-secondary-border:var(--color-slate-300);--action-ghost-bg:transparent;--action-ghost-bg-hover:var(--color-slate-100);--action-ghost-text:var(--color-slate-700);--action-danger-bg:var(--color-red-500);--action-danger-bg-hover:var(--color-red-600);--action-danger-text:#fff;--bg-success:var(--color-green-50);--bg-success-border:var(--color-green-300);--bg-error:var(--color-red-50);--bg-error-border:var(--color-red-500);--bg-warning:var(--color-yellow-50);--bg-warning-border:var(--color-yellow-500);--bg-info:var(--color-blue-50);--bg-info-border:var(--color-blue-500);--window-dot-red:#ff5f57;--window-dot-yellow:#febc2e;--window-dot-green:#28c840;--badge-pioneer-border:#ca8a04;--badge-pioneer-bg:#eab3081f;--badge-pioneer-text:#a06800;--badge-pioneer-icon:#eab308;--badge-pioneer-bg-hover:#eab30838;--bg-error-hover:var(--color-red-50);--divider-color:var(--border-subtle);--moon-lit:var(--color-amber-200);--moon-dark:var(--color-slate-300);--moon-rim:var(--color-slate-400);--tier-bronze-bg:#cd7f321f;--tier-bronze-border:#cd7f32;--tier-bronze-text:#8b4513;--tier-bronze-icon:#cd7f32;--tier-bronze-medallion-from:#d8a47f;--tier-bronze-medallion-to:#8b4513;--tier-silver-bg:#94a3b829;--tier-silver-border:var(--color-slate-400);--tier-silver-text:var(--color-slate-700);--tier-silver-icon:var(--color-slate-500);--tier-silver-medallion-from:#e2e8f0;--tier-silver-medallion-to:var(--color-slate-500);--tier-gold-bg:#eab30824;--tier-gold-border:#ca8a04;--tier-gold-text:#a06800;--tier-gold-icon:#eab308;--tier-gold-medallion-from:#fde68a;--tier-gold-medallion-to:#ca8a04;--tier-legendary-bg:#8b5cf624;--tier-legendary-border:var(--color-purple-500);--tier-legendary-text:var(--color-purple-700);--tier-legendary-icon:var(--color-purple-500);--tier-legendary-medallion-from:var(--color-purple-200);--tier-legendary-medallion-to:var(--color-indigo-500);--medallion-icon-shadow:0 1px 2px #0006;--btn-pioneer-bg-from:#d4a017;--btn-pioneer-bg-to:#f59e0b;--btn-pioneer-text:#422006;--brand-apple-bg:#000;--brand-apple-text:#fff;--brand-apple-bg-hover:#1a1a1a;--color-white:#fff;--color-black:#000;--bg-overlay-photo-label:#ffffffeb;--overlay-photo-bottom:linear-gradient(to top, #000000b3 0%, #0000 60%);--text-shadow-photo:0 2px 8px #0006;--photo-tint:var(--brand-500);--photo-tint-opacity:.1;--photo-tint-blend:soft-light;--badge-pro-bg:#0085401a;--badge-pro-text:var(--color-green-700);--badge-bronze-bg:#b0704024;--badge-bronze-text:#8a5a2b;--badge-silver-bg:#64748b24;--badge-silver-text:#475569;--badge-gold-bg:#eab30829;--badge-gold-text:#a06800;--heat-0:var(--color-slate-200);--heat-1:var(--color-green-200);--heat-2:var(--color-green-400);--heat-3:var(--color-green-600);--badge-beta-bg:#6366f11a;--badge-beta-text:#4338ca;--badge-legendary-bg:#8b5cf61a;--badge-legendary-text:#6d28d9;--badge-legal-bg:var(--color-green-50);--badge-legal-text:var(--color-green-700);--badge-gray-bg:var(--color-yellow-50);--badge-gray-text:var(--color-yellow-800);--badge-illegal-bg:var(--color-red-50);--badge-illegal-text:var(--color-red-700);--badge-unknown-text:var(--text-secondary);--legal-solid-legal-bg:var(--color-green-600);--legal-solid-gray-bg:var(--color-yellow-600);--legal-solid-illegal-bg:var(--color-red-500);--legal-solid-unknown-bg:var(--color-slate-500);--legal-solid-text:var(--color-white);--rating-star:var(--color-yellow-400);--rating-star-shadow:0 1px 4px #00000080;--heart-active:var(--color-red-500);--pin-legal-bg:var(--color-green-600);--pin-gray-bg:var(--color-yellow-600);--pin-illegal-bg:var(--color-red-600);--pin-unknown-bg:var(--color-slate-600);--pin-default-bg:var(--brand-500);--pin-wizard-bg:var(--color-amber-500);--pin-border:var(--color-white);--pin-shadow:0 4px 6px #0000002e;--pin-icon:var(--color-white);--pin-ground:#00000057;--glass-surface:#ffffffeb;--glass-border:#00000014;--glass-blur:blur(20px) saturate(180%);--zwl-swatch-fill:color-mix(in srgb, var(--color-green-300) 30%, transparent);--zwl-swatch-border:var(--brand-500);--pioneer-amenity-from:color-mix(in srgb, var(--color-yellow-300) 35%, var(--color-yellow-50));--pioneer-amenity-to:color-mix(in srgb, var(--color-yellow-500) 5%, transparent);--pioneer-amenity-text:var(--color-yellow-900);--overlay-photo-shade:linear-gradient(to top, #0000008c 0%, transparent 50%);--overlay-photo-chip-bg:#0000008c;--shadow-brand-fab:0 8px 24px color-mix(in srgb, var(--brand-500) 35%, transparent);--shadow-none:none;--shadow-xs:0 1px 1px 0 #0000000a;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--shadow-2xl:0 25px 50px -12px #00000040;--skeleton-base:var(--color-slate-100);--skeleton-highlight:var(--color-slate-200)}:root[data-theme=dark]{--photo-tint-opacity:.13;--bg-app:var(--color-slate-950);--bg-base:var(--color-slate-950);--bg-surface:var(--color-slate-900);--bg-surface-elevated:var(--color-slate-800);--bg-hover:var(--color-slate-700);--bg-overlay:#000000b3;--bg-image-overlay-strong:#000c;--bg-brand-subtle:color-mix(in srgb, var(--color-green-500) 18%, transparent);--bg-subtle:var(--color-slate-800);--brand-50:color-mix(in srgb, var(--color-green-500) 14%, transparent);--bg-app-gradient:linear-gradient(to right, color-mix(in srgb, var(--color-blue-400) 15%, transparent), color-mix(in srgb, var(--color-green-400) 5%, transparent));--brand-300:var(--color-green-300);--brand-500:var(--color-green-500);--brand-600:var(--color-green-600);--brand-700:var(--color-green-800);--profile-cover-gradient:linear-gradient(135deg, var(--color-green-800), var(--color-green-600));--text-primary:var(--color-slate-100);--text-secondary:var(--color-slate-400);--text-tertiary:var(--color-slate-400);--text-brand:var(--color-green-400);--text-inverse:var(--color-slate-950);--text-disabled:var(--color-slate-700);--text-danger:var(--color-red-400);--text-warning:var(--color-yellow-400);--text-info:var(--color-blue-400);--text-success:var(--color-green-400);--border-subtle:var(--color-slate-800);--border-default:var(--color-slate-700);--border-strong:var(--color-slate-600);--border-focus:var(--color-blue-300);--border-danger:var(--color-red-400);--border-brand:var(--color-green-400);--action-primary-bg:var(--color-green-500);--action-primary-bg-hover:var(--color-green-400);--action-primary-text:#fff;--action-primary-disabled-bg:var(--color-green-700);--action-primary-disabled-text:#fff6;--action-secondary-bg:transparent;--action-secondary-bg-hover:var(--color-slate-800);--action-secondary-text:var(--color-slate-100);--action-secondary-border:var(--color-slate-700);--action-ghost-bg:transparent;--action-ghost-bg-hover:var(--color-slate-800);--action-ghost-text:var(--color-slate-300);--action-danger-bg:var(--color-red-500);--action-danger-bg-hover:var(--color-red-400);--action-danger-text:#fff;--bg-success:#00854026;--bg-success-border:var(--color-green-600);--bg-error:#ef444426;--bg-error-border:var(--color-red-500);--bg-warning:#eab30826;--bg-warning-border:var(--color-yellow-500);--bg-info:#2563eb26;--bg-info-border:var(--color-blue-500);--badge-pioneer-border:#fbbf24;--badge-pioneer-bg:#eab30833;--badge-pioneer-text:#fbbf24;--badge-pioneer-icon:#fbbf24;--badge-pioneer-bg-hover:var(--color-slate-700);--bg-error-hover:#ef44441a;--divider-color:var(--on-dark-border-hover);--moon-lit:#f3ead0;--moon-dark:var(--color-slate-700);--moon-rim:var(--color-slate-600);--brand-apple-bg:#fff;--brand-apple-text:#000;--brand-apple-bg-hover:#f0f0f0;--badge-pro-bg:#00854033;--badge-pro-text:var(--color-green-400);--badge-bronze-bg:#b0704038;--badge-bronze-text:#c8915c;--badge-silver-bg:#94a3b833;--badge-silver-text:#cbd5e1;--badge-gold-bg:#eab30833;--badge-gold-text:#fbbf24;--heat-0:var(--color-slate-700);--heat-1:var(--color-green-800);--heat-2:var(--color-green-600);--heat-3:var(--color-green-400);--badge-beta-bg:#6366f133;--badge-beta-text:#a5b4fc;--badge-legendary-bg:#8b5cf633;--badge-legendary-text:#c4b5fd;--tier-bronze-text:#d8a47f;--tier-silver-text:var(--color-slate-300);--tier-gold-text:#fcd34d;--tier-legendary-text:#c4b5fd;--badge-legal-bg:#00854033;--badge-legal-text:var(--color-green-300);--badge-gray-bg:#eab3082e;--badge-gray-text:var(--color-yellow-400);--badge-illegal-bg:#ef44442e;--badge-illegal-text:var(--color-red-300);--badge-unknown-text:var(--color-slate-300);--legal-solid-legal-bg:var(--color-green-500);--legal-solid-gray-bg:var(--color-yellow-500);--legal-solid-illegal-bg:var(--color-red-500);--legal-solid-unknown-bg:var(--color-slate-500);--legal-solid-text:var(--color-white);--rating-star:var(--color-yellow-400);--rating-star-shadow:0 1px 4px #000000b3;--heart-active:var(--color-red-400);--pin-legal-bg:var(--color-green-500);--pin-gray-bg:var(--color-yellow-600);--pin-illegal-bg:var(--color-red-500);--pin-unknown-bg:var(--color-slate-500);--pin-default-bg:var(--brand-500);--pin-border:var(--color-slate-900);--pin-shadow:0 4px 8px #00000080;--pin-icon:var(--color-slate-100);--pin-ground:#0000008c;--glass-surface:#0f172ae6;--glass-border:#ffffff1f;--zwl-swatch-fill:color-mix(in srgb, var(--color-green-400) 35%, transparent);--zwl-swatch-border:var(--brand-300);--pioneer-amenity-from:color-mix(in srgb, var(--color-yellow-500) 25%, transparent);--pioneer-amenity-to:color-mix(in srgb, var(--color-yellow-500) 8%, transparent);--pioneer-amenity-text:var(--color-yellow-300);--overlay-photo-shade:linear-gradient(to top, #000000a6 0%, transparent 50%);--overlay-photo-chip-bg:#000000a6;--shadow-brand-fab:0 8px 24px color-mix(in srgb, var(--brand-500) 50%, transparent);--shadow-xs:0 1px 1px 0 #0003;--shadow-sm:0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #0006, 0 2px 4px -2px #0006;--shadow-lg:0 10px 15px -3px #00000080, 0 4px 6px -4px #00000080;--shadow-xl:0 20px 25px -5px #0009, 0 8px 10px -6px #0009;--shadow-2xl:0 25px 50px -12px #000000b3;--skeleton-base:var(--color-slate-800);--skeleton-highlight:var(--color-slate-700)}:root{--font-family-base:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-mono:"JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;--text-2xs:.5625rem;--text-2xs-up:.625rem;--text-xs:.6875rem;--text-sm:.75rem;--text-mid:.8125rem;--text-base:.875rem;--text-mid-up:.9375rem;--text-md:1rem;--text-lg:clamp(1rem, .9085rem + .3902vw, 1.125rem);--text-xl:clamp(1.0625rem, .9878rem + .5854vw, 1.25rem);--text-2xl:clamp(1.125rem, 1.0024rem + .6829vw, 1.5rem);--text-3xl:clamp(1.3125rem, 1.1524rem + .7805vw, 1.75rem);--text-4xl:clamp(1.5rem, 1.317rem + .9756vw, 2rem);--text-5xl:clamp(1.875rem, 1.6463rem + 1.1707vw, 2.5rem);--text-6xl:clamp(2.25rem, 1.72rem + 2.4vw, 3.5rem);--leading-tight:1.1;--leading-snug:1.3;--leading-mid:1.4;--leading-normal:1.5;--leading-relaxed:1.6;--tracking-tight:-.02em;--tracking-normal:0;--tracking-wide:.05em;--tracking-caps:.08em;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--space-0:0;--space-0-5:.125rem;--space-1:.25rem;--space-1-5:.375rem;--space-2:.5rem;--space-2-5:.625rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-11:2.75rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--content-max-width:80rem;--touch-target-compact:2.25rem;--touch-target-min:2.75rem;--button-height-sm:1.75rem;--button-height-md:2.25rem;--button-height-lg:3rem;--input-height-sm:2rem;--input-height-md:2.5rem;--input-height-lg:3rem;--tab-height-md:2.25rem;--icon-button-md:2rem;--icon-xs:.75rem;--icon-sm:.875rem;--icon-md:1rem;--icon-lg:1.25rem;--radius-xs:.25rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--z-base:0;--z-raised:10;--z-header:100;--z-dropdown:200;--z-drawer-backdrop:300;--z-drawer:301;--z-modal-backdrop:400;--z-modal:401;--z-toast:500;--z-tooltip:600;--z-critical:9999;--duration-instant:50ms;--duration-fast:.15s;--duration-base:.2s;--duration-slow:.3s;--duration-slower:.5s;--duration-shimmer:1.5s;--ease-standard:cubic-bezier(.4, 0, .2, 1);--ease-decelerate:cubic-bezier(0, 0, .2, 1);--ease-accelerate:cubic-bezier(.4, 0, 1, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--focus-ring-width:3px;--focus-ring-offset:2px;--focus-ring-color:var(--border-focus)}*,:before,:after{box-sizing:border-box}html{font-family:var(--font-family-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px}@media (prefers-reduced-motion:no-preference){html:focus-within{scroll-behavior:smooth}}:target{scroll-margin-top:5rem}body{background-color:var(--bg-app);background-image:var(--bg-app-gradient);color:var(--text-primary);font-size:var(--text-base);line-height:var(--leading-normal);font-weight:var(--fw-regular);transition:background-color var(--duration-base) var(--ease-standard), color var(--duration-base) var(--ease-standard);background-attachment:fixed;margin:0;padding:0}@media (pointer:coarse){:root{--text-base:1rem;--touch-target-compact:2.75rem;--button-height-sm:2.25rem;--button-height-md:2.75rem;--button-height-lg:3.25rem;--input-height-sm:2.5rem;--input-height-md:2.75rem;--input-height-lg:3.25rem;--tab-height-md:2.75rem;--icon-button-md:2.75rem}input,textarea,select{font-size:max(16px,1em)}}img,svg,video{max-width:100%;display:block}img{height:auto}button{cursor:pointer;font-family:inherit}a{color:var(--text-brand);text-decoration:none}a:hover{text-decoration:underline}:focus{outline:none}:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);border-radius:inherit}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:0;border-color:var(--focus-ring-color)}h1,.h1{font-size:var(--text-4xl);line-height:var(--leading-tight);font-weight:var(--fw-bold);letter-spacing:var(--tracking-tight);margin:0}h2,.h2{font-size:var(--text-3xl);line-height:var(--leading-tight);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight);margin:0}h3,.h3{font-size:var(--text-2xl);line-height:var(--leading-snug);font-weight:var(--fw-semibold);margin:0}h4,.h4{font-size:var(--text-xl);line-height:var(--leading-snug);font-weight:var(--fw-medium);margin:0}h5,.h5{font-size:var(--text-lg);line-height:var(--leading-normal);font-weight:var(--fw-medium);margin:0}h6,.h6{font-size:var(--text-base);line-height:var(--leading-normal);font-weight:var(--fw-medium);margin:0}.text-xs{font-size:var(--text-xs);line-height:var(--leading-normal)}.text-sm{font-size:var(--text-sm);line-height:var(--leading-normal)}.text-base{font-size:var(--text-base);line-height:var(--leading-relaxed)}.text-lg{font-size:var(--text-lg);line-height:var(--leading-normal)}.text-xl{font-size:var(--text-xl);line-height:var(--leading-snug)}.font-regular{font-weight:var(--fw-regular)}.font-medium{font-weight:var(--fw-medium)}.font-semibold{font-weight:var(--fw-semibold)}.font-bold{font-weight:var(--fw-bold)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-brand{color:var(--text-brand)}.text-danger{color:var(--text-danger)}.text-warning{color:var(--text-warning)}.text-info{color:var(--text-info)}.uppercase{text-transform:uppercase;letter-spacing:var(--tracking-caps)}.prose,.place-description,.review-body{-webkit-hyphens:auto;hyphens:auto;hyphenate-limit-chars:8 4 3;overflow-wrap:break-word;max-width:65ch}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:var(--z-critical);padding:var(--space-3) var(--space-6);background:var(--action-primary-bg);color:var(--action-primary-text);font-weight:var(--fw-semibold);border-radius:0 0 var(--radius-md) var(--radius-md);transition:top var(--duration-fast) var(--ease-standard);text-decoration:none;position:absolute;top:-100%;left:50%;transform:translate(-50%)}.skip-link:focus,.skip-link:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);top:0}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.hide-mobile{display:none}.show-mobile{display:block}@media (width>=48em){.hide-mobile{display:block}.show-mobile{display:none}}.desktop-only{display:none}@media (width>=64em){.desktop-only{display:block}}.safe-area-top{padding-top:env(safe-area-inset-top)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-area-x{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}@media print{body{color:#000;background:#fff}.no-print{display:none}}:root{--app-header-height:calc(3.25rem + env(safe-area-inset-top,0px))}@media (width>=48em){:root{--app-header-height:3.5rem}}@media (width<=47.9375em){:root{--mobile-tabbar-height:calc(3.5rem + env(safe-area-inset-bottom,0px))}body:has(.mobile-tabbar){--tabbar-offset:var(--mobile-tabbar-height);padding-bottom:var(--tabbar-offset)}}.app-header-mobile__spacer{flex:1}@media (hover:none){.app-logo:hover,.app-nav__item:hover:not(.app-nav__item--active),.lang-switcher__trigger:hover,.theme-switch:hover{color:var(--text-secondary);background:0 0}}.app-header{z-index:var(--z-header);background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);height:3.5rem;position:sticky;top:0}.app-header__inner{max-width:calc(80rem + 2 * var(--space-6));height:100%;padding:0 var(--space-6);align-items:center;gap:var(--space-4);margin:0 auto;display:flex}.app-logo{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);margin:calc(-1 * var(--space-1)) calc(-1 * var(--space-2));border-radius:var(--radius-md);color:var(--text-brand);flex-shrink:0;display:inline-flex;text-decoration:none!important}.app-logo:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.app-logo--centered{margin-inline:auto}.app-logo--footer,.app-logo--footer .app-logo__text{color:var(--color-white)}.app-logo--footer .app-logo__beta{background:var(--on-dark-border-subtle);color:var(--color-slate-300)}.app-logo__img{object-fit:contain;flex-shrink:0;width:23px;height:26px;display:block}.app-logo__text{align-items:center;gap:var(--space-1);font-size:var(--text-lg);font-weight:var(--fw-bold);color:var(--text-primary);letter-spacing:-.02em;line-height:1;display:inline-flex}.app-logo__beta{font-size:var(--text-2xs);font-weight:var(--fw-bold);padding:2px var(--space-1);border-radius:var(--radius-xs);background:var(--badge-beta-bg);color:var(--badge-beta-text);text-transform:uppercase;letter-spacing:var(--tracking-wide);align-items:center;line-height:1;display:inline-flex}.app-logo__chip--pro{background:var(--badge-pro-bg);color:var(--badge-pro-text)}.app-logo__chip--pioneer{background:var(--badge-pioneer-bg);color:var(--badge-pioneer-text);border:1px solid var(--badge-pioneer-border)}.app-nav{justify-content:center;gap:var(--space-2);flex:1;display:flex}.app-nav__item{height:var(--button-height-md);padding:0 var(--space-3);align-items:center;gap:var(--space-1-5);color:var(--text-primary);font-family:inherit;font-size:var(--text-base);font-weight:var(--fw-semibold);border-radius:var(--radius-md);cursor:pointer;background:0 0;border:0;text-decoration:none;display:inline-flex}.app-nav__item:hover{background:var(--bg-hover);text-decoration:none}.app-nav__item--active{background:var(--bg-brand-subtle);color:var(--text-brand);font-weight:var(--fw-bold)}[data-theme=dark] .app-nav__item--active{color:var(--brand-300)}.app-search{flex:1;min-width:0;max-width:22rem;position:relative}.app-search__input{width:100%;height:var(--button-height-md);padding:0 var(--space-3) 0 2.25rem;background:var(--bg-app);border:1px solid var(--border-subtle);border-radius:var(--radius-full);color:var(--text-primary);font-family:inherit;font-size:var(--text-base)}.app-search__input:focus-visible{border-color:var(--border-focus);background:var(--bg-surface);box-shadow:0 0 0 3px color-mix(in srgb, var(--border-focus) 15%, transparent);outline:none}.app-search__icon{left:var(--space-3);color:var(--text-tertiary);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.app-search__kbd{right:var(--space-2);gap:var(--space-0-5);pointer-events:none;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.app-search__kbd kbd{min-width:1.125rem;height:1.125rem;padding:0 var(--space-1);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xs);font-family:var(--font-family-mono);font-size:var(--text-2xs-up);color:var(--text-tertiary);justify-content:center;align-items:center;display:inline-flex}.app-actions{gap:var(--space-1);align-items:center;display:flex}.app-actions>.theme-switch{margin-right:var(--space-6)}.app-icon-btn{border-radius:var(--radius-full);width:2.25rem;height:2.25rem;color:var(--text-secondary);cursor:pointer;isolation:isolate;background:0 0;border:0;place-items:center;display:grid;position:relative}.app-icon-btn:before{content:"";border-radius:var(--radius-full);z-index:-1;width:2.25rem;height:2.25rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (hover:hover){.app-icon-btn:hover{color:var(--text-primary)}.app-icon-btn:hover:before{background:var(--bg-hover)}}.app-icon-btn--active{color:var(--text-primary)}.app-icon-btn--active:before{background:var(--bg-hover)}@media (pointer:coarse){.app-icon-btn{width:var(--icon-button-md);height:var(--icon-button-md)}}.app-icon-btn__badge{top:var(--space-0-5);min-width:1rem;height:1rem;padding:0 var(--space-0-5);background:var(--action-danger-bg);color:var(--action-danger-text);border-radius:var(--radius-full);font-size:var(--text-2xs);font-weight:var(--fw-bold);border:2px solid var(--bg-surface);place-items:center;line-height:1;display:grid;position:absolute;right:0}@media (pointer:coarse){.app-icon-btn__badge{top:calc(var(--space-0-5) + (var(--icon-button-md) - 2.25rem) / 2);right:calc((var(--icon-button-md) - 2.25rem) / 2)}}.app-cta{height:var(--button-height-md);padding:0 var(--space-4);background:var(--action-primary-bg);color:var(--action-primary-text);border-radius:var(--radius-full);font-family:inherit;font-size:var(--text-sm);font-weight:var(--fw-semibold);cursor:pointer;align-items:center;gap:var(--space-1-5);border:0;text-decoration:none;display:inline-flex}.app-cta:hover{background:var(--action-primary-bg-hover);color:var(--action-primary-text);text-decoration:none}.app-avatar{aspect-ratio:1;background:var(--avatar-brand-bg);width:2rem;height:2rem;color:var(--avatar-brand-text);border-radius:var(--radius-full);font-size:var(--text-sm);line-height:1;font-weight:var(--fw-bold);cursor:pointer;background-position:50%;background-repeat:no-repeat;background-size:cover;border:2px solid #0000;flex-shrink:0;place-items:center;padding:0;display:grid}.app-avatar:hover{border-color:var(--border-strong)}.app-avatar--brand{background:var(--avatar-brand-bg);color:var(--avatar-brand-text)}.app-avatar--pink{background:var(--avatar-pink-bg);color:var(--avatar-pink-text)}.app-avatar--blue{background:var(--avatar-blue-bg);color:var(--avatar-blue-text)}.app-avatar--amber{background:var(--avatar-amber-bg);color:var(--avatar-amber-text)}.app-avatar--green{background:var(--avatar-green-bg);color:var(--avatar-green-text)}.app-avatar--purple{background:var(--avatar-purple-bg);color:var(--avatar-purple-text)}.app-avatar--indigo{background:var(--avatar-indigo-bg);color:var(--avatar-indigo-text)}.app-avatar--pro{box-shadow:0 0 0 2px var(--badge-pioneer-icon)}.app-avatar--photo{color:#0000;background-color:var(--bg-hover);background-position:50%;background-repeat:no-repeat;background-size:cover;background-origin:border-box}.app-header-mobile{padding:env(safe-area-inset-top,0) var(--space-3) 0;padding-left:max(var(--space-3), env(safe-area-inset-left));padding-right:max(var(--space-3), env(safe-area-inset-right));height:calc(3.25rem + env(safe-area-inset-top,0));background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);align-items:center;gap:var(--space-2);z-index:var(--z-header);display:flex;position:sticky;top:0}.lang-switcher__trigger{align-items:center;gap:var(--space-1);height:var(--button-height-md);padding:0 var(--space-2-5);border-radius:var(--radius-md);color:var(--text-secondary);font-family:inherit;font-size:var(--text-sm);font-weight:var(--fw-semibold);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast);background:0 0;border:1px solid #0000;display:inline-flex}.lang-switcher__trigger:hover{background:var(--bg-hover);color:var(--text-primary)}.lang-switcher__trigger:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.lang-switcher__chevron{transition:transform var(--duration-fast) var(--ease-standard);align-items:center;display:inline-flex}.lang-switcher__trigger[aria-expanded=true] .lang-switcher__chevron{transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.lang-switcher__chevron{transition:none}}.lang-switcher__current{font-variant-numeric:tabular-nums;letter-spacing:.02em}.user-menu{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-2);top:calc(100% + var(--space-2));min-width:18rem;z-index:var(--z-dropdown);flex-direction:column;display:flex;position:absolute;right:0}.user-menu--narrow{width:10rem;min-width:0}.user-menu--wide{min-width:22rem;max-width:calc(100vw - var(--space-4) * 2)}.user-menu--fixed{width:22rem}.user-menu__list{margin:0;padding:0;list-style:none}.user-menu__count--inline{align-self:center;margin-left:0}.user-menu__progress-row--spaced{margin-top:var(--space-1-5)}.user-menu__head{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-3);display:flex}.user-menu__avatar{background:var(--bg-brand-subtle);width:2.5rem;height:2.5rem;color:var(--text-brand);border-radius:var(--radius-full);font-size:var(--text-base);font-weight:var(--fw-bold);background-position:50%;background-repeat:no-repeat;background-size:cover;flex-shrink:0;place-items:center;display:grid}.user-menu__avatar--pro{background:var(--badge-pioneer-bg);color:var(--badge-pioneer-text);box-shadow:0 0 0 2px var(--badge-pioneer-icon)}.user-menu__avatar--photo{color:#0000;background-color:var(--bg-hover);background-position:50%;background-repeat:no-repeat;background-size:cover;background-origin:border-box}.user-menu__identity{flex:1;min-width:0}.user-menu__name{font-size:var(--text-base);font-weight:var(--fw-semibold);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-menu__handle{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:1px}.user-menu__divider{background:var(--divider-color);height:1px;margin:var(--space-1) 0}.user-menu__item{align-items:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--fw-medium);cursor:pointer;text-align:left;background:0 0;border:0;width:100%;font-family:inherit;display:flex;text-decoration:none!important}.user-menu__item:hover{background:var(--bg-hover);color:var(--text-brand);text-decoration:none}.user-menu__item--utility{color:var(--text-secondary)}.user-menu__item--upsell{background:var(--badge-pioneer-bg);color:var(--badge-pioneer-text);font-weight:var(--fw-semibold);margin-bottom:var(--space-1)}.user-menu__item--upsell:hover{background:var(--badge-pioneer-bg-hover);color:var(--badge-pioneer-text)}.user-menu__item--danger{color:var(--text-danger)}.user-menu__item--danger:hover{background:var(--bg-error-hover);color:var(--text-danger)}.user-menu__item--active{background:var(--bg-brand-subtle);color:var(--text-brand);font-weight:var(--fw-semibold)}.user-menu__item--switch{cursor:default}.user-menu__item--switch:hover{color:var(--text-secondary);background:0 0}.user-menu__switch-label{margin-right:auto}.user-menu__value{color:var(--text-tertiary);font-size:var(--text-sm);margin-left:auto}.user-menu__chevron{color:var(--text-tertiary);flex-shrink:0}.user-menu__count{min-width:1.25rem;height:1.25rem;padding:0 var(--space-1-5);background:var(--bg-brand-subtle);color:var(--text-brand);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--fw-bold);justify-content:center;align-items:center;margin-left:auto;display:inline-flex}.user-menu__progress{padding:var(--space-3);margin:var(--space-1) 0;background:var(--bg-app);border-radius:var(--radius-md);color:inherit;transition:background var(--duration-fast);display:block;text-decoration:none!important}.user-menu__progress:hover{background:var(--bg-hover)}.user-menu__progress-row{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.user-menu__level{align-items:center;gap:var(--space-1);color:var(--text-primary);font-size:var(--text-base);font-weight:var(--fw-semibold);display:inline-flex}.user-menu__xp{color:var(--text-tertiary);font-size:var(--text-xs);font-weight:var(--fw-medium);font-variant-numeric:tabular-nums}.user-menu__progress-bar{background:var(--bg-hover);border-radius:var(--radius-full);width:100%;height:.375rem;margin:var(--space-1-5) 0 var(--space-1);overflow:hidden}.user-menu__progress-fill{background:linear-gradient(90deg, var(--action-primary-bg) 0%, var(--color-green-400) 100%);border-radius:var(--radius-full);height:100%}.user-menu__pioneer-badge{align-items:center;gap:var(--space-1);color:var(--badge-pioneer-text);font-size:var(--text-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--tracking-caps);display:inline-flex}.user-menu__badges{gap:var(--space-1);margin-top:var(--space-1-5);display:flex}.user-menu__badge{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-full);width:1.5rem;height:1.5rem;font-size:var(--text-sm);place-items:center;display:inline-grid}.user-menu__badge--locked{opacity:.4;filter:grayscale()}.user-menu__badges-count{color:var(--text-tertiary);font-size:var(--text-xs);font-weight:var(--fw-medium);align-self:center;margin-left:auto}.notif-menu__head{padding:var(--space-3);justify-content:space-between;align-items:center;display:flex}.notif-menu__title{font-size:var(--text-base);font-weight:var(--fw-semibold);color:var(--text-primary);align-items:center;gap:var(--space-2);margin:0;display:inline-flex}.notif-menu__action{cursor:pointer;color:var(--text-brand);font-family:inherit;font-size:var(--text-xs);font-weight:var(--fw-medium);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);background:0 0;border:0}.notif-menu__action:hover{background:var(--bg-hover)}.notif-menu__see-all{padding:var(--space-3);text-align:center;color:var(--text-brand);font-size:var(--text-sm);font-weight:var(--fw-semibold);border-radius:var(--radius-md);display:block;text-decoration:none!important}.notif-menu__see-all:hover{background:var(--bg-hover)}.notif-item{align-items:flex-start;gap:var(--space-2);padding:var(--space-3);color:var(--text-primary);border-radius:var(--radius-md);margin-bottom:1px;display:flex;text-decoration:none!important}.notif-item:hover{background:var(--bg-hover)}.notif-item--unread{background:var(--bg-brand-subtle)}.notif-item--unread:hover{background:var(--bg-hover)}.notif-item__avatar{border-radius:var(--radius-full);background-color:var(--bg-hover);background-position:50%;background-repeat:no-repeat;background-size:cover;flex-shrink:0;place-items:center;width:2.25rem;height:2.25rem;display:grid}.notif-item__avatar--system{background:var(--bg-brand-subtle);color:var(--text-brand);place-items:center;display:grid}.notif-item__avatar--warning{background:var(--badge-gray-bg);color:var(--badge-gray-text);place-items:center;display:grid}.notif-item__avatar--danger{background:var(--bg-error);color:var(--text-danger);place-items:center;display:grid}.notif-item__body{flex:1;min-width:0}.notif-item__text{font-size:var(--text-sm);color:var(--text-primary);line-height:var(--leading-snug)}.notif-item__time{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:2px;display:block}.notif-item__dot{background:var(--action-primary-bg);border-radius:var(--radius-full);flex-shrink:0;align-self:center;width:.5rem;height:.5rem}.msg-item{align-items:flex-start;gap:var(--space-2);padding:var(--space-3);color:var(--text-primary);border-radius:var(--radius-md);margin-bottom:1px;display:flex;text-decoration:none!important}.msg-item:hover{background:var(--bg-hover)}.msg-item--unread{background:var(--bg-brand-subtle)}.msg-item--unread:hover{background:var(--bg-hover)}.msg-item__body{flex:1;min-width:0}.msg-item__top{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.msg-item__name{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.msg-item__preview{font-size:var(--text-xs);color:var(--text-tertiary);line-height:var(--leading-snug);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;overflow:hidden}.drawer{background:var(--bg-surface-elevated);box-shadow:var(--shadow-xl);z-index:var(--z-drawer);width:22rem;max-width:90%;padding-left:env(safe-area-inset-left,0);padding-bottom:env(safe-area-inset-bottom,0);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.drawer__head{padding:calc(var(--space-4) + env(safe-area-inset-top,0)) var(--space-4) var(--space-4);border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;display:flex}.drawer__title{font-size:var(--text-base);font-weight:var(--fw-semibold)}.drawer__body{padding:var(--space-4);flex:1;overflow-y:auto}.app-actions__slot{z-index:var(--z-dropdown);position:relative}.app-icon-btn--cta{background:var(--action-primary-bg);color:var(--action-primary-text)}.app-icon-btn--cta:hover{background:var(--action-primary-bg-hover);color:var(--action-primary-text)}@media (width<=47.9375em){.nav-tablet-only,.nav-desktop-only,.nav-md-up{display:none!important}}@media (width>=48em) and (width<=63.9375em){.nav-mobile-only,.nav-desktop-only{display:none!important}}@media (width>=64em){.nav-mobile-only,.nav-tablet-only{display:none!important}}@media (width>=48em) and (width<=63.9375em){.app-header__inner{gap:var(--space-3)}.app-nav{scrollbar-width:none;flex:1;justify-content:safe center;min-width:0;overflow-x:auto}.app-nav::-webkit-scrollbar{display:none}.app-nav__item{padding:0 var(--space-2);flex-shrink:0}.app-actions{gap:var(--space-0-5);margin-left:0}}.field{gap:var(--space-1);flex-direction:column;max-width:24rem;display:flex}.field__label{align-items:center;gap:var(--space-1);font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-primary);display:flex}.field__label--required:after{content:" *";color:var(--text-danger);margin-left:2px}.field__hint{font-size:var(--text-sm);color:var(--text-tertiary)}.field__error,.field__success{align-items:flex-start;gap:var(--space-1);font-size:var(--text-sm);line-height:var(--leading-normal);display:flex}.field__error>span:not(.field__icon),.field__success>span:not(.field__icon){flex:1;min-width:0}.field__error{color:var(--text-danger);font-weight:var(--fw-semibold);margin-top:var(--space-1)}.field__success{color:var(--text-success)}.field__icon{height:calc(1em * var(--leading-normal));flex-shrink:0;align-items:center;display:inline-flex}.field__meta{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.field__meta-link{font-size:var(--text-sm);color:var(--text-brand);text-decoration:none}.field__meta-link:hover{text-decoration:underline}.field__counter{font-size:var(--text-sm);color:var(--text-tertiary);font-variant-numeric:tabular-nums}.field__counter--warn{color:var(--text-warning)}.field__counter--danger{color:var(--text-danger);font-weight:var(--fw-semibold)}.input{width:100%;height:var(--input-height-md);padding:0 var(--space-3);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;font-size:var(--text-base);line-height:var(--leading-mid);transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard)}.input::placeholder{color:var(--text-tertiary)}.input:hover:not(:disabled):not(:read-only){border-color:var(--border-strong)}.input:focus-visible{border-color:var(--border-focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--border-focus) 25%, transparent);outline:none}.input:disabled{background:var(--bg-hover);color:var(--text-disabled);cursor:not-allowed}.input:read-only{color:var(--text-secondary);cursor:default;background:0 0;border-style:dashed}.input--sm{height:var(--input-height-sm);padding:0 var(--space-2-5);font-size:var(--text-sm)}.input--lg{height:var(--input-height-lg);padding:0 var(--space-4);font-size:var(--text-base)}.input[type=search]::-webkit-search-cancel-button{appearance:none;display:none}.input[type=search]::-webkit-search-decoration{appearance:none;display:none}.field--error .input{border-color:var(--border-danger)}.field--error .input:focus-visible{outline-color:var(--border-danger);border-color:var(--border-danger)}.field--success .input{border-color:var(--color-green-500)}.field--success .input:focus-visible{outline-color:var(--color-green-500);border-color:var(--color-green-500)}.input-wrap{position:relative}.input-wrap .input{padding-left:2.25rem}.input-wrap--suffix .input{padding-right:2.25rem;padding-left:var(--space-3)}.input-wrap--both .input{padding-left:2.25rem;padding-right:2.25rem}.input-wrap__icon{top:50%;left:var(--space-3);color:var(--text-tertiary);pointer-events:none;display:flex;position:absolute;transform:translateY(-50%)}.input-wrap__icon--suffix{left:auto;right:var(--space-3)}.input-wrap__clear{top:50%;right:var(--space-2);background:var(--bg-hover);width:1.5rem;height:1.5rem;color:var(--text-tertiary);border-radius:var(--radius-full);cursor:pointer;border:0;place-items:center;display:grid;position:absolute;transform:translateY(-50%)}.input-wrap__clear:hover{background:var(--border-subtle);color:var(--text-primary)}.input-wrap__toggle{top:50%;right:var(--space-2-5);width:1.75rem;height:1.75rem;color:var(--text-tertiary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute;transform:translateY(-50%)}.input-wrap__toggle:hover{color:var(--text-primary)}.input-wrap__toggle:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{appearance:textfield}.widget{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:visible}.widget__header{justify-content:space-between;align-items:baseline;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);display:flex}.widget__title{font-size:var(--text-md);font-weight:var(--fw-bold);letter-spacing:-.01em;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;min-width:0;margin:0;overflow:hidden}.widget__header-extra{white-space:nowrap;font-size:var(--text-sm);color:var(--text-tertiary);flex-shrink:0;align-items:center;gap:.25rem;display:inline-flex}.widget__header-extra svg{flex-shrink:0;width:.75rem;height:.75rem}.widget__header-extra--loading svg{animation:1s linear infinite widget-spin}@keyframes widget-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.widget__header-extra--loading svg{animation:none}}.widget__body{padding:var(--space-4)}.widget__body>*+*{margin-top:var(--space-3)}.widget__body>.sr-only+*{margin-top:0}.widget-state{text-align:center;align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.widget-state__icon{border-radius:var(--radius-full);place-items:center;width:3rem;height:3rem;display:grid}.widget-state__icon svg{width:1.5rem;height:1.5rem}.widget-state__icon--error{background:var(--bg-error);color:var(--text-danger)}.widget-state__icon--empty{background:var(--bg-hover);color:var(--text-tertiary)}.widget-state__text{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed);margin:0}.widget-state__retry{margin-top:var(--space-1)}.place-weather__current{align-items:center;gap:var(--space-3);display:flex}.place-weather__temp-block{flex-direction:column;flex-shrink:0;align-items:flex-start;gap:0;display:flex}.place-weather__temp-block .place-weather__unit-toggle{order:-1}.place-weather__temp{font-size:var(--text-3xl);font-weight:var(--fw-bold);color:var(--text-primary);letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1}.place-weather__unit-toggle{font-size:var(--text-base);color:var(--text-tertiary);align-items:center;gap:.125rem;display:inline-flex}.place-weather__unit-btn{min-width:2.75rem;min-height:2.75rem;color:var(--text-secondary);font-family:inherit;font-size:var(--text-base);font-weight:var(--fw-semibold);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.place-weather__unit-btn:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px;border-radius:var(--radius-sm)}.place-weather__unit-btn--active{color:var(--text-primary)}.place-weather__unit-sep{color:var(--border-strong)}.place-weather__current-info{flex:1;min-width:0}.place-weather__condition{font-size:var(--text-base);font-weight:var(--fw-semibold);color:var(--text-primary);margin-bottom:.25rem}.place-weather__wind{font-size:var(--text-sm);color:var(--text-tertiary);align-items:center;gap:.25rem;display:inline-flex}.place-weather__wind svg{width:.875rem;height:.875rem}.place-weather__forecast{gap:var(--space-1);margin:var(--space-3) 0 0 0;padding:var(--space-3) 0 0 0;border-top:1px solid var(--border-subtle);grid-template-columns:repeat(7,1fr);list-style:none;display:grid}.place-weather__day{text-align:center;font-size:var(--text-base);color:var(--text-tertiary);flex-direction:column;align-items:center;gap:.25rem;display:flex}.place-weather__day-name{text-transform:lowercase;font-weight:var(--fw-semibold)}.place-weather__day--today .place-weather__day-name{color:var(--brand-700);font-weight:var(--fw-bold)}[data-theme=dark] .place-weather__day--today .place-weather__day-name{color:var(--brand-300)}.place-weather__day-icon{width:1.25rem;height:1.25rem;color:var(--text-secondary)}.place-weather__day-max{color:var(--text-primary);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.place-weather__day-min{color:var(--text-tertiary);font-size:var(--text-base);font-variant-numeric:tabular-nums}.place-weather__precip-wrap{width:100%;margin-top:.125rem}.place-weather__precip-bar{background:var(--bg-hover);border-radius:var(--radius-full);width:100%;height:.25rem;display:block}.place-weather__precip-fill{background:var(--color-blue-500);border-radius:var(--radius-full);height:100%;display:block}.place-weather__skeleton-body{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#64748b0f;flex-direction:column;display:flex}[data-theme=dark] .place-weather__skeleton-body{border-color:var(--color-slate-700);background:#94a3b814}.place-weather__skeleton-current{gap:var(--space-3);align-items:center;display:flex}.place-weather__skeleton-temp{border-radius:var(--radius-md);flex-shrink:0;width:4rem;height:3rem}.place-weather__skeleton-info{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.place-weather__skeleton-forecast{gap:var(--space-1);padding-top:var(--space-3);border-top:1px solid var(--border-subtle);grid-template-columns:repeat(7,1fr);display:grid}.place-weather__pro-hint{margin:var(--space-3) 0 calc(-1 * var(--space-2));padding-top:var(--space-3);border-top:1px solid var(--border-subtle);text-align:center;font-size:var(--text-sm);color:var(--text-tertiary)}.place-weather__pro-hint a{color:var(--text-brand);align-items:center;gap:.25rem;text-decoration:none;display:inline-flex}.place-weather__pro-hint a:hover{text-decoration:underline}.place-weather-hourly__tabs{gap:var(--space-1);grid-template-columns:repeat(7,1fr);display:grid}.place-weather-hourly__tab{padding:var(--space-1) 0 .375rem;border-radius:var(--radius-md);color:var(--text-tertiary);cursor:pointer;background:0 0;border:1px solid #0000;flex-direction:column;align-items:center;gap:.125rem;font-family:inherit;display:flex;position:relative}.place-weather-hourly__tab:hover{background:var(--bg-hover)}.place-weather-hourly__tab:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.place-weather-hourly__tab--active{background:var(--bg-brand-subtle);border-color:var(--brand-500);color:var(--text-primary)}.place-weather-hourly__tab--has-rain:after{content:"";border-radius:var(--radius-full);background:var(--color-blue-500);width:.25rem;height:.25rem;position:absolute;bottom:.1875rem}.place-weather-hourly__tab-name{text-transform:lowercase;font-size:var(--text-xs);font-weight:var(--fw-semibold)}.place-weather-hourly__tab-temp{font-size:var(--text-base);font-weight:var(--fw-bold);color:var(--text-primary);font-variant-numeric:tabular-nums}.place-weather-hourly__tab-icon{width:1rem;height:1rem;color:var(--text-secondary)}.place-weather-hourly__panel[hidden]{display:none}.place-weather-hourly__hours{gap:var(--space-1);padding:var(--space-1) 0 var(--space-2);scroll-snap-type:x mandatory;scroll-padding-left:var(--space-1);scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;-webkit-overflow-scrolling:touch;margin:0;list-style:none;display:flex;overflow-x:auto}.place-weather-hourly__hours::-webkit-scrollbar{height:6px}.place-weather-hourly__hours::-webkit-scrollbar-track{background:var(--bg-base);border-radius:var(--radius-full)}.place-weather-hourly__hours::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}.place-weather-hourly__hour{min-width:3rem;padding:var(--space-1);border-radius:var(--radius-md);scroll-snap-align:start;font-size:var(--text-xs);color:var(--text-tertiary);text-align:center;flex-direction:column;flex-shrink:0;align-items:center;gap:.25rem;display:flex}@media (width>=48rem){.place-weather-hourly__hour{min-width:3.5rem}}.place-weather-hourly__hour--now{background:var(--bg-brand-subtle)}.place-weather-hourly__hour--now .place-weather-hourly__time{color:var(--brand-700);font-weight:var(--fw-bold)}[data-theme=dark] .place-weather-hourly__hour--now .place-weather-hourly__time{color:var(--brand-300)}.place-weather-hourly__hour--rain{background:color-mix(in srgb, var(--color-blue-500) 6%, transparent)}[data-theme=dark] .place-weather-hourly__hour--rain{background:color-mix(in srgb, var(--color-blue-400) 8%, transparent)}.place-weather-hourly__hour--dawn-marker,.place-weather-hourly__hour--dusk-marker{min-width:1.75rem;padding:var(--space-2) .125rem;border-left:3px solid var(--color-yellow-500);background:color-mix(in srgb, var(--color-yellow-400) 8%, transparent);pointer-events:none;cursor:default;border-radius:0;justify-content:center;align-items:center}[data-theme=dark] .place-weather-hourly__hour--dawn-marker,[data-theme=dark] .place-weather-hourly__hour--dusk-marker{border-left-color:var(--color-yellow-400);background:color-mix(in srgb, var(--color-yellow-400) 12%, transparent)}.place-weather-hourly__marker-icon{width:.875rem;height:.875rem;color:var(--color-yellow-600);flex-shrink:0}[data-theme=dark] .place-weather-hourly__marker-icon{color:var(--color-yellow-400)}.place-weather-hourly__time{font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;white-space:nowrap}.place-weather-hourly__icon{width:1.125rem;height:1.125rem;color:var(--text-secondary)}.place-weather-hourly__temp{font-size:var(--text-base);font-weight:var(--fw-semibold);color:var(--text-primary);font-variant-numeric:tabular-nums}.place-weather-hourly__precip{font-size:var(--text-xs);color:var(--text-tertiary);font-variant-numeric:tabular-nums}.place-weather-hourly__precip--rain{color:var(--color-blue-500);font-weight:var(--fw-semibold)}.place-weather-hourly__skeleton{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#64748b0f;flex-direction:column;display:flex}[data-theme=dark] .place-weather-hourly__skeleton{border-color:var(--color-slate-700);background:#94a3b814}.place-weather-hourly__skeleton-tabs{gap:var(--space-1);grid-template-columns:repeat(7,1fr);display:grid}.place-weather-hourly__skeleton-hours{gap:var(--space-1);padding-top:var(--space-3);border-top:1px solid var(--border-subtle);grid-template-columns:repeat(5,1fr);display:grid}.place-astronomy__day-context{transition:color var(--duration-base) var(--ease-standard)}.place-astronomy__sun-row{align-items:center;gap:var(--space-2);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle);grid-template-columns:auto 1fr auto;display:grid}.place-astronomy__sun-event{font-size:var(--text-base);color:var(--text-primary);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;align-items:center;gap:.25rem;display:inline-flex}.place-astronomy__sun-event--right{justify-self:end}.place-astronomy__sun-icon{width:1rem;height:1rem;color:var(--badge-pioneer-text)}.place-astronomy__daylight{text-align:center;font-size:var(--text-base);color:var(--text-tertiary);font-variant-numeric:tabular-nums}.place-astronomy__moon-row{align-items:center;gap:var(--space-2);grid-template-columns:auto 1fr auto;display:grid}.place-astronomy__moon-svg{width:1.5rem;height:1.5rem}.place-astronomy__moon-base{fill:var(--moon-dark)}.place-astronomy__moon-illum-overlay{fill:var(--moon-lit)}.place-astronomy__moon-rim{fill:none;stroke:var(--moon-rim);stroke-width:1px}.place-astronomy__moon-phase{font-size:var(--text-base);color:var(--text-primary)}.place-astronomy__moon-illum{font-size:var(--text-base);color:var(--text-tertiary);font-variant-numeric:tabular-nums;justify-self:end}.place-astronomy__sun-row>[aria-label]{position:relative}.place-astronomy__sun-row>[aria-label]:after{content:attr(aria-label);padding:var(--space-1) var(--space-2);background:var(--color-slate-900);color:var(--color-white);font-size:var(--text-sm);font-weight:var(--fw-medium);border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;z-index:var(--z-tooltip);box-shadow:var(--shadow-md);opacity:0;visibility:hidden;transition:opacity var(--duration-fast) var(--ease-standard);position:absolute;bottom:calc(100% + .5rem);left:50%;transform:translate(-50%)}.place-astronomy__sun-row>[aria-label]:before{content:"";border:4px solid #0000;border-top-color:var(--color-slate-900);pointer-events:none;z-index:var(--z-tooltip);opacity:0;visibility:hidden;transition:opacity var(--duration-fast) var(--ease-standard);position:absolute;bottom:calc(100% + .125rem);left:50%;transform:translate(-50%)}.place-astronomy__sun-row>[aria-label]:hover:after,.place-astronomy__sun-row>[aria-label]:hover:before,.place-astronomy__sun-row>[aria-label]:focus-visible:after,.place-astronomy__sun-row>[aria-label]:focus-visible:before{opacity:1;visibility:visible}[data-theme=dark] .place-astronomy__sun-row>[aria-label]:after{background:var(--color-slate-700)}[data-theme=dark] .place-astronomy__sun-row>[aria-label]:before{border-top-color:var(--color-slate-700)}@media (prefers-reduced-motion:reduce){.place-astronomy__day-context,.place-astronomy__sun-row>[aria-label]:after,.place-astronomy__sun-row>[aria-label]:before{transition:none}}.place-astronomy__skeleton{gap:var(--space-3);flex-direction:column;display:flex}.place-astronomy__skeleton-row{align-items:center;gap:var(--space-2);grid-template-columns:auto 1fr auto;display:grid}.place-astronomy__skeleton-row:first-child{padding-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle)}::selection{background:var(--color-green-500);color:var(--color-white)}html,body{min-height:100dvh}body.no-scroll{overflow:hidden}#app{min-height:inherit;flex-direction:column;display:flex}main{flex:auto}[tabindex="-1"]:focus,[tabindex="-1"]:focus-visible{outline:none}
