@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{--color-primary-50: #f0f4ff;--color-primary-100: #dce5ff;--color-primary-200: #c1d0ff;--color-primary-300: #a6bbff;--color-primary-400: #8ba6ff;--color-primary-500: #7db0ff;--color-primary-600: #5a8fff;--color-primary-700: #3d6fe6;--color-primary-800: #2651cc;--color-primary-900: #1a3a99;--color-accent-cyan-50: #e6f9ff;--color-accent-cyan-100: #ccf3ff;--color-accent-cyan-200: #99e7ff;--color-accent-cyan-300: #66dbff;--color-accent-cyan-400: #4fd9ff;--color-accent-cyan-500: #82e8ff;--color-accent-cyan-600: #33ceff;--color-accent-cyan-700: #00b8f0;--color-accent-cyan-800: #0095c7;--color-accent-cyan-900: #00729e;--color-success-50: #e6f9ef;--color-success-100: #cdf3df;--color-success-200: #9be7bf;--color-success-300: #6adb9f;--color-success-400: #53c981;--color-success-500: #3fb56f;--color-success-600: #2ea15d;--color-success-700: #258249;--color-success-800: #1c6337;--color-success-900: #134425;--color-error-50: #fff0f0;--color-error-100: #ffe0e0;--color-error-200: #ffc7c7;--color-error-300: #ffadad;--color-error-400: #ff9494;--color-error-500: #ff6e6e;--color-error-600: #ff4d4d;--color-error-700: #e63333;--color-error-800: #cc1a1a;--color-error-900: #990000;--color-warning-50: #fff4e6;--color-warning-100: #ffe9cc;--color-warning-200: #ffd399;--color-warning-300: #ffbd66;--color-warning-400: #ffa94d;--color-warning-500: #ff9633;--color-warning-600: #ff7f00;--color-warning-700: #e66b00;--color-warning-800: #cc5700;--color-warning-900: #994300;--color-rating-star: #f7c948;--color-rating-star-muted: rgba(247, 201, 72, .3);--color-rating-star-hover: #ffe08a;--color-neutral-50: #f5f7fb;--color-neutral-100: #e9edf5;--color-neutral-200: #d6dbe6;--color-neutral-300: #c2c7d1;--color-neutral-400: #aeb4c1;--color-neutral-500: #9aa0ad;--color-neutral-600: #7d8390;--color-neutral-700: #6b7280;--color-neutral-800: #4b5563;--color-neutral-900: #1f2937;--color-bg-primary: #060912;--color-bg-secondary: #0c1222;--color-bg-tertiary: #0b1020;--color-bg-elevated: #131929;--color-bg-overlay: rgba(6, 9, 18, .9);--color-surface-base: rgba(255, 255, 255, .02);--color-surface-raised: rgba(255, 255, 255, .04);--color-surface-overlay: rgba(255, 255, 255, .06);--color-border-subtle: rgba(255, 255, 255, .06);--color-border-default: rgba(255, 255, 255, .08);--color-border-strong: rgba(255, 255, 255, .12);--color-border-interactive: rgba(131, 160, 255, .35);--color-border-focus: rgba(139, 228, 255, .6);--color-text-primary: #e9edf5;--color-text-secondary: #c2c7d1;--color-text-tertiary: #aeb4c1;--color-text-inverse: #051327;--color-text-link: #82e8ff;--color-text-link-hover: #4fd9ff;--color-interactive-hover: rgba(255, 255, 255, .08);--color-interactive-active: rgba(255, 255, 255, .12);--color-interactive-disabled: rgba(255, 255, 255, .03);--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-9: 2.25rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--font-family-base: "Space Grotesk", "Helvetica Neue", Arial, sans-serif;--font-family-mono: "SF Mono", Monaco, "Courier New", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 2;--letter-spacing-tighter: -.05em;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--letter-spacing-wider: .05em;--letter-spacing-widest: .1em;--radius-none: 0;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.25rem;--radius-3xl: 1.5rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .15);--shadow-md: 0 8px 24px rgba(0, 0, 0, .25);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .35);--shadow-xl: 0 24px 64px rgba(0, 0, 0, .45);--shadow-2xl: 0 32px 80px rgba(0, 0, 0, .55);--shadow-inner: inset 0 2px 4px rgba(0, 0, 0, .06);--shadow-focus: 0 0 0 3px rgba(139, 228, 255, .4);--shadow-primary: 0 10px 30px rgba(130, 232, 255, .3);--shadow-success: 0 10px 30px rgba(83, 201, 129, .3);--shadow-error: 0 10px 30px rgba(255, 110, 110, .3);--z-index-dropdown: 1000;--z-index-sticky: 1100;--z-index-fixed: 1200;--z-index-modal-backdrop: 1300;--z-index-modal: 1400;--z-index-popover: 1500;--z-index-tooltip: 1600;--ease-linear: linear;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--duration-instant: 0ms;--duration-fast: .15s;--duration-base: .25s;--duration-slow: .35s;--duration-slower: .5s;--transition-fast: var(--duration-fast) var(--ease-out);--transition-base: var(--duration-base) var(--ease-in-out);--transition-slow: var(--duration-slow) var(--ease-in-out);--transition-colors: color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);--transition-transform: transform var(--duration-base) var(--ease-spring);--transition-all: all var(--duration-base) var(--ease-in-out);--backdrop-blur-sm: blur(8px);--backdrop-blur-md: blur(12px);--backdrop-blur-lg: blur(18px);--backdrop-blur-xl: blur(24px);--glass-background: rgba(10, 13, 24, .55);--glass-border: 1px solid rgba(255, 255, 255, .08);--glass-blur: var(--backdrop-blur-lg);--glass-shadow: var(--shadow-lg);--gradient-primary: linear-gradient(135deg, var(--color-primary-500), var(--color-accent-cyan-500));--gradient-success: linear-gradient(135deg, var(--color-success-500), var(--color-success-600));--gradient-hero: radial-gradient(circle at 20% 20%, rgba(102, 178, 255, .12), transparent 30%), radial-gradient(circle at 80% 20%, rgba(130, 232, 255, .12), transparent 32%), linear-gradient(180deg, var(--color-bg-primary), var(--color-bg-secondary) 60%, var(--color-bg-tertiary));--gradient-card: linear-gradient(145deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .02));--gradient-shimmer: linear-gradient(90deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .08), rgba(255, 255, 255, .05));--container-max-width: 1200px;--container-padding: var(--space-6);--content-max-width: 65ch;--button-padding-sm: var(--space-2) var(--space-4);--button-padding-md: var(--space-3) var(--space-5);--button-padding-lg: var(--space-4) var(--space-6);--button-radius: var(--radius-lg);--button-font-weight: var(--font-weight-semibold);--input-padding: var(--space-3) var(--space-4);--input-radius: var(--radius-lg);--input-border-width: 1px;--input-focus-ring: 2px;--card-padding-sm: var(--space-4);--card-padding-md: var(--space-5);--card-padding-lg: var(--space-6);--card-radius: var(--radius-xl);--panel-padding: var(--space-6);--panel-radius: var(--radius-2xl)}@media(prefers-reduced-motion:reduce){:root{--duration-instant: 0ms;--duration-fast: 0ms;--duration-base: 0ms;--duration-slow: 0ms;--duration-slower: 0ms;--transition-fast: none;--transition-base: none;--transition-slow: none;--transition-colors: none;--transition-transform: none;--transition-all: none}}body{font-family:var(--font-family-base);font-size:var(--text-base);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-synthesis:none;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-primary)}h1{font-size:var(--text-4xl);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tighter)}h2{font-size:var(--text-3xl);font-weight:var(--font-weight-bold)}h3{font-size:var(--text-2xl);font-weight:var(--font-weight-semibold)}h4{font-size:var(--text-xl);font-weight:var(--font-weight-semibold)}h5{font-size:var(--text-lg);font-weight:var(--font-weight-medium)}h6{font-size:var(--text-base);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider)}@media(max-width:900px){h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}}.display-1{font-size:var(--text-6xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tighter)}.display-2{font-size:var(--text-5xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tighter)}.display-3{font-size:var(--text-4xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug)}@media(max-width:900px){.display-1{font-size:var(--text-4xl)}.display-2{font-size:var(--text-3xl)}.display-3{font-size:var(--text-2xl)}}p{margin:0;line-height:var(--line-height-relaxed)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary,.muted{color:var(--color-text-tertiary)}.text-inverse{color:var(--color-text-inverse)}.text-brand{color:var(--color-primary-500)}.text-accent{color:var(--color-accent-cyan-500)}.text-success{color:var(--color-success-500)}.text-error{color:var(--color-error-500)}.text-warning{color:var(--color-warning-500)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.leading-tight{line-height:var(--line-height-tight)}.leading-snug{line-height:var(--line-height-snug)}.leading-normal{line-height:var(--line-height-normal)}.leading-relaxed{line-height:var(--line-height-relaxed)}.leading-loose{line-height:var(--line-height-loose)}.eyebrow{text-transform:uppercase;letter-spacing:var(--letter-spacing-widest);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);color:var(--color-primary-500);margin:0}.lede{font-size:var(--text-lg);line-height:var(--line-height-relaxed);color:var(--color-text-secondary);max-width:var(--content-max-width)}.caption{font-size:var(--text-sm);color:var(--color-text-tertiary);line-height:var(--line-height-normal)}.label{font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.overline{font-size:var(--text-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);color:var(--color-text-tertiary)}.code{font-family:var(--font-family-mono);font-size:.9em;background:var(--color-surface-raised);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--color-border-subtle)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}a{color:var(--color-text-link);text-decoration:none;transition:var(--transition-colors)}a:hover{color:var(--color-text-link-hover);text-decoration:underline}a:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px;border-radius:var(--radius-sm)}.link-unstyled{color:inherit;text-decoration:none}.link-unstyled:hover{text-decoration:none}ul,ol{margin:0;padding:0;list-style-position:inside}ul{list-style-type:disc}ol{list-style-type:decimal}.list-none{list-style:none}.list-disc{list-style-type:disc}.list-decimal{list-style-type:decimal}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.break-normal{overflow-wrap:normal;word-break:normal}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideInTop{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInBottom{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scaleOut{0%{transform:scale(1);opacity:1}to{transform:scale(.9);opacity:0}}@keyframes bounceIn{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05);opacity:1}70%{transform:scale(.9)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-10px)}20%,40%,60%,80%{transform:translate(10px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}@keyframes slideIndicator{0%{transform:translate(var(--from-x, 0));width:var(--from-width, 0)}to{transform:translate(var(--to-x, 0));width:var(--to-width, 100%)}}@keyframes progressFill{0%{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}@keyframes checkmark{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}@keyframes skeletonLoading{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}@keyframes glowPulse{0%,to{box-shadow:0 0 20px #82e8ff4d}50%{box-shadow:0 0 40px #82e8ff99}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-fadeIn{animation:fadeIn var(--duration-base) var(--ease-out)}.animate-fadeOut{animation:fadeOut var(--duration-base) var(--ease-out)}.animate-slideInTop{animation:slideInTop var(--duration-base) var(--ease-out)}.animate-slideInBottom{animation:slideInBottom var(--duration-base) var(--ease-out)}.animate-slideInLeft{animation:slideInLeft var(--duration-base) var(--ease-out)}.animate-slideInRight{animation:slideInRight var(--duration-base) var(--ease-out)}.animate-scaleIn{animation:scaleIn var(--duration-base) var(--ease-spring)}.animate-scaleOut{animation:scaleOut var(--duration-base) var(--ease-in)}.animate-bounceIn{animation:bounceIn var(--duration-slow) var(--ease-bounce)}.animate-shake{animation:shake var(--duration-slow) var(--ease-in-out)}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-shimmer{animation:shimmer 1.8s linear infinite;background:var(--gradient-shimmer);background-size:200% 100%}.animate-glow{animation:glowPulse 2s ease-in-out infinite}.animate-float{animation:float 3s ease-in-out infinite}.transition-none{transition:none!important}.transition-all{transition:var(--transition-all)}.transition-colors{transition:var(--transition-colors)}.transition-transform{transition:var(--transition-transform)}.transition-opacity{transition:opacity var(--duration-base) var(--ease-in-out)}.transition-fast{transition-duration:var(--duration-fast)}.transition-base{transition-duration:var(--duration-base)}.transition-slow{transition-duration:var(--duration-slow)}.hover-lift{transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.hover-scale{transition:transform var(--duration-fast) var(--ease-spring)}.hover-scale:hover{transform:scale(1.05)}.hover-glow{transition:box-shadow var(--duration-base) var(--ease-out)}.hover-glow:hover{box-shadow:0 0 30px #82e8ff66}.hover-brightness{transition:filter var(--duration-fast) var(--ease-out)}.hover-brightness:hover{filter:brightness(1.1)}.loading-spinner{display:inline-block;width:1em;height:1em;border:2px solid rgba(255,255,255,.2);border-top-color:currentColor;border-radius:50%;animation:spin .6s linear infinite}.loading-dots{display:inline-flex;gap:var(--space-1)}.loading-dots span{width:.5em;height:.5em;border-radius:50%;background:currentColor;animation:pulse 1.4s ease-in-out infinite}.loading-dots span:nth-child(1){animation-delay:0s}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}.loading-skeleton{background:var(--gradient-shimmer);background-size:200% 100%;animation:shimmer 1.8s linear infinite;border-radius:var(--radius-md)}.modal-enter{animation:scaleIn var(--duration-base) var(--ease-spring)}.modal-exit{animation:scaleOut var(--duration-base) var(--ease-in)}.backdrop-enter{animation:fadeIn var(--duration-fast) var(--ease-out)}.backdrop-exit{animation:fadeOut var(--duration-fast) var(--ease-in)}.toast-enter{animation:slideInRight var(--duration-base) var(--ease-spring)}.toast-exit{animation:slideInRight var(--duration-base) var(--ease-in) reverse}.page-enter{animation:fadeIn var(--duration-base) var(--ease-out)}.page-exit{animation:fadeOut var(--duration-fast) var(--ease-in)}.collapse-enter{max-height:0;overflow:hidden;transition:max-height var(--duration-slow) var(--ease-in-out)}.collapse-enter-active{max-height:1000px}.collapse-exit{max-height:1000px;overflow:hidden;transition:max-height var(--duration-slow) var(--ease-in-out)}.collapse-exit-active{max-height:0}.focus-ring{transition:outline var(--duration-fast) var(--ease-out),outline-offset var(--duration-fast) var(--ease-out)}.focus-ring:focus-visible{outline:3px solid var(--color-border-focus);outline-offset:3px}[disabled],.disabled{pointer-events:none;opacity:.6;cursor:not-allowed}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.loading-spinner,.loading-dots span,.loading-skeleton,.animate-spin,.animate-pulse,.animate-shimmer,.animate-glow,.animate-float{animation:none!important}.hover-lift:hover,.hover-scale:hover{transform:none}}.stagger-delay-1{animation-delay:.05s}.stagger-delay-2{animation-delay:.1s}.stagger-delay-3{animation-delay:.15s}.stagger-delay-4{animation-delay:.2s}.stagger-delay-5{animation-delay:.25s}.interactive{cursor:pointer;transition:var(--transition-all)}.interactive:hover{transform:translateY(-1px)}.interactive:active{transform:translateY(0)}.ripple-container{position:relative;overflow:hidden}.ripple{position:absolute;border-radius:50%;background:#ffffff4d;transform:scale(0);animation:ripple .6s ease-out;pointer-events:none}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--gradient-hero);background:radial-gradient(circle at 20% 20%,rgba(131,160,255,.12),transparent 30%),radial-gradient(circle at 80% 20%,rgba(130,232,255,.12),transparent 32%),linear-gradient(180deg,#060912,#0c1222 60%,#0b1020)}#root{min-height:100vh}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-family-base);font-weight:var(--button-font-weight);border-radius:var(--button-radius);border:none;cursor:pointer;text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:transform var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out);-webkit-appearance:none;-moz-appearance:none;appearance:none}.btn:focus-visible{outline:3px solid var(--color-border-focus);outline-offset:3px}.btn--sm{padding:var(--button-padding-sm);font-size:var(--text-sm);line-height:1.25}.btn--md{padding:var(--button-padding-md);font-size:var(--text-base);line-height:1.5}.btn--lg{padding:var(--button-padding-lg);font-size:var(--text-lg);line-height:1.5}.btn--primary{background:var(--gradient-primary);color:var(--color-text-inverse);box-shadow:var(--shadow-primary)}.btn--primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 36px #82e8ff66}.btn--primary:active:not(:disabled){transform:translateY(0);box-shadow:0 8px 24px #82e8ff4d}.btn--secondary{background:var(--color-surface-raised);color:var(--color-text-primary);border:1px solid var(--color-border-strong)}.btn--secondary:hover:not(:disabled){background:var(--color-surface-overlay);border-color:var(--color-border-interactive);transform:translateY(-1px)}.btn--secondary:active:not(:disabled){background:var(--color-surface-base);transform:translateY(0)}.btn--ghost{background:#82e8ff14;color:var(--color-accent-cyan-500);border:1px solid rgba(130,232,255,.3)}.btn--ghost:hover:not(:disabled){background:#82e8ff26;border-color:#82e8ff80;transform:translateY(-1px)}.btn--ghost:active:not(:disabled){background:#82e8ff1a;transform:translateY(0)}.btn--text{background:transparent;color:var(--color-text-link);padding-left:var(--space-2);padding-right:var(--space-2)}.btn--text:hover:not(:disabled){background:var(--color-interactive-hover);color:var(--color-text-link-hover)}.btn--text:active:not(:disabled){background:var(--color-interactive-active)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn--loading{position:relative;pointer-events:none}.btn--loading .btn__content{opacity:.4}.btn__spinner{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center}.btn--full-width{width:100%}.btn__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.btn__icon svg{width:1.25em;height:1.25em}.btn__icon--before{margin-right:calc(var(--space-1) * -1)}.btn__icon--after{margin-left:calc(var(--space-1) * -1)}.btn__content{display:inline-flex;align-items:center;justify-content:center;transition:opacity var(--duration-fast) var(--ease-out)}.btn--icon-only{padding:var(--space-3);aspect-ratio:1}.btn--icon-only.btn--sm{padding:var(--space-2)}.btn--icon-only.btn--lg{padding:var(--space-4)}.btn--icon-only .btn__content{display:none}.btn-group{display:inline-flex;gap:var(--space-2)}.btn-group--attached{gap:0}.btn-group--attached .btn{border-radius:0}.btn-group--attached .btn:first-child{border-top-left-radius:var(--button-radius);border-bottom-left-radius:var(--button-radius)}.btn-group--attached .btn:last-child{border-top-right-radius:var(--button-radius);border-bottom-right-radius:var(--button-radius)}.btn-group--attached .btn:not(:last-child){border-right-width:0}@media(max-width:700px){.btn--lg{padding:var(--button-padding-md);font-size:var(--text-base)}}@media(prefers-reduced-motion:reduce){.btn{transition:none}.btn:hover:not(:disabled),.btn:active:not(:disabled){transform:none}}.input-wrapper{display:flex;flex-direction:column;gap:var(--space-2);width:100%}.input-wrapper--full-width{width:100%}.input-label{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;transition:color var(--duration-fast) var(--ease-out)}.input-wrapper:focus-within .input-label{color:var(--color-text-primary)}.input-label__required{color:var(--color-error-500);font-weight:var(--font-weight-bold)}.input-container{position:relative;display:flex;align-items:center;width:100%}.input{width:100%;padding:var(--input-padding);font-family:var(--font-family-base);font-size:var(--text-base);font-weight:var(--font-weight-normal);line-height:1.5;color:var(--color-text-primary);background:var(--color-surface-raised);border:var(--input-border-width) solid var(--color-border-default);border-radius:var(--input-radius);outline:none;transition:border-color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);-webkit-appearance:none;-moz-appearance:none;appearance:none}.input::placeholder{color:var(--color-text-tertiary);opacity:1}.input:hover:not(:disabled){border-color:var(--color-border-strong);background:var(--color-surface-overlay)}.input:focus{border-color:var(--color-border-interactive);background:var(--color-surface-overlay);box-shadow:0 0 0 var(--input-focus-ring) #83a0ff33}.input:disabled{background:var(--color-interactive-disabled);border-color:var(--color-border-subtle);color:var(--color-text-tertiary);cursor:not-allowed;opacity:.6}.input-wrapper--sm .input{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.input-wrapper--md .input{padding:var(--input-padding);font-size:var(--text-base)}.input-wrapper--lg .input{padding:var(--space-4) var(--space-5);font-size:var(--text-lg)}.input-wrapper--search .input{padding-left:var(--space-10);border-radius:var(--radius-full)}.input-wrapper--search .input-icon--before{left:var(--space-4)}.input-wrapper--error .input{border-color:var(--color-error-500);background:#ff6e6e0d}.input-wrapper--error .input:focus{border-color:var(--color-error-500);box-shadow:0 0 0 var(--input-focus-ring) #ff6e6e33}.input-wrapper--success .input{border-color:var(--color-success-500);background:#53c9810d}.input-wrapper--success .input:focus{border-color:var(--color-success-500);box-shadow:0 0 0 var(--input-focus-ring) #53c98133}.input-icon{position:absolute;display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);pointer-events:none;transition:color var(--duration-fast) var(--ease-out)}.input-icon--before{left:var(--space-3)}.input-icon--after{right:var(--space-3)}.input-icon svg{width:1.25em;height:1.25em}.input:focus~.input-icon{color:var(--color-text-secondary)}.input--has-icon-before{padding-left:var(--space-10)}.input--has-icon-after{padding-right:var(--space-10)}.input-status-icon{position:absolute;right:var(--space-3);display:flex;align-items:center;justify-content:center;pointer-events:none}.input-status-icon--error{color:var(--color-error-500)}.input-status-icon--success{color:var(--color-success-500);animation:scaleIn var(--duration-base) var(--ease-spring)}.input-wrapper--error .input,.input-wrapper--success .input{padding-right:var(--space-10)}.input-wrapper--error .input--has-icon-after,.input-wrapper--success .input--has-icon-after{padding-right:var(--space-12)}.input-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2);min-height:1.25rem}.input-message{flex:1;font-size:var(--text-sm);line-height:1.25}.input-message--error{color:var(--color-error-500);animation:slideInBottom var(--duration-fast) var(--ease-out)}.input-message--success{color:var(--color-success-500);animation:slideInBottom var(--duration-fast) var(--ease-out)}.input-message--helper{color:var(--color-text-tertiary)}.input-counter{flex-shrink:0;font-size:var(--text-xs);color:var(--color-text-tertiary);font-variant-numeric:tabular-nums}.input-wrapper--error .input-counter{color:var(--color-error-500)}.input[type=number]::-webkit-outer-spin-button,.input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input[type=number]{-moz-appearance:textfield}.input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;height:1em;width:1em;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23aeb4c1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E") no-repeat center;cursor:pointer;opacity:.6;transition:opacity var(--duration-fast) var(--ease-out)}.input[type=search]::-webkit-search-cancel-button:hover{opacity:1}.input[type=date],.input[type=time],.input[type=datetime-local]{cursor:pointer}.input[type=date]::-webkit-calendar-picker-indicator,.input[type=time]::-webkit-calendar-picker-indicator,.input[type=datetime-local]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6;transition:opacity var(--duration-fast) var(--ease-out)}.input[type=date]::-webkit-calendar-picker-indicator:hover,.input[type=time]::-webkit-calendar-picker-indicator:hover,.input[type=datetime-local]::-webkit-calendar-picker-indicator:hover{opacity:1}.input[type=file]{padding:var(--space-2);cursor:pointer}.input[type=file]::file-selector-button{margin-right:var(--space-3);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-raised);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--text-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition-colors)}.input[type=file]::file-selector-button:hover{background:var(--color-surface-overlay);border-color:var(--color-border-interactive)}textarea.input{min-height:120px;resize:vertical;line-height:var(--line-height-relaxed)}textarea.input--sm{min-height:80px}textarea.input--lg{min-height:160px}@media(max-width:700px){.input-wrapper--lg .input{padding:var(--input-padding);font-size:var(--text-base)}}@media(prefers-contrast:high){.input{border-width:2px}.input:focus{outline:2px solid currentColor;outline-offset:2px}}@media(prefers-reduced-motion:reduce){.input,.input-icon,.input-label{transition:none}.input-status-icon--success,.input-message--error,.input-message--success{animation:none}}.card{display:flex;flex-direction:column;background:var(--color-surface-base);border:1px solid var(--color-border-subtle);border-radius:var(--card-radius);box-shadow:var(--shadow-sm);transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.card--padding-none{padding:0}.card--padding-sm{padding:var(--card-padding-sm);gap:var(--space-3)}.card--padding-md{padding:var(--card-padding-md);gap:var(--space-4)}.card--padding-lg{padding:var(--card-padding-lg);gap:var(--space-5)}.card--default{background:var(--color-surface-base);border-color:var(--color-border-subtle)}.card--elevated{background:var(--color-surface-raised);border-color:var(--color-border-default);box-shadow:var(--shadow-md)}.card--outlined{background:transparent;border:2px solid var(--color-border-default);box-shadow:none}.card--interactive{background:var(--color-surface-base);border-color:var(--color-border-subtle);cursor:pointer}.card--interactive:hover{transform:translateY(-2px);border-color:var(--color-border-interactive);box-shadow:var(--shadow-lg)}.card--interactive:active{transform:translateY(0);box-shadow:var(--shadow-md)}.card--interactive:focus-visible{outline:3px solid var(--color-border-focus);outline-offset:3px}.card--feature{background:var(--gradient-card);border-color:var(--color-border-default);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.card--feature:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-primary)}.card-header{display:flex;flex-direction:column;gap:var(--space-2)}.card-header:not(:last-child){padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border-subtle)}.card-body{flex:1;display:flex;flex-direction:column;gap:var(--space-3)}.card-footer{display:flex;align-items:center;gap:var(--space-3)}.card-footer:not(:first-child){padding-top:var(--space-4);border-top:1px solid var(--color-border-subtle)}.card-title{margin:0;font-size:var(--text-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary)}.card-description{margin:0;font-size:var(--text-sm);line-height:var(--line-height-relaxed);color:var(--color-text-secondary)}.card-image{width:100%;height:auto;object-fit:cover;border-radius:var(--radius-lg)}.card--padding-none .card-image:first-child{border-top-left-radius:var(--card-radius);border-top-right-radius:var(--card-radius);border-bottom-left-radius:0;border-bottom-right-radius:0}.card--padding-none .card-image:last-child{border-bottom-left-radius:var(--card-radius);border-bottom-right-radius:var(--card-radius);border-top-left-radius:0;border-top-right-radius:0}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}.card-grid--compact{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.card-grid--spacious{gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.card-list{display:flex;flex-direction:column;gap:var(--space-3)}.card-list--compact{gap:var(--space-2)}.card-list--spacious{gap:var(--space-5)}.card--loading{pointer-events:none;opacity:.6}.card--loading:after{content:"";position:absolute;inset:0;background:var(--gradient-shimmer);background-size:200% 100%;animation:shimmer 1.8s linear infinite;border-radius:inherit;opacity:.1}.card--disabled{opacity:.5;pointer-events:none;cursor:not-allowed}.card--success{border-color:var(--color-success-500);background:#53c9810d}.card--error{border-color:var(--color-error-500);background:#ff6e6e0d}.card--warning{border-color:var(--color-warning-500);background:#ffa94d0d}.card--info{border-color:var(--color-primary-500);background:#83a0ff0d}.card--compact{padding:var(--space-3);gap:var(--space-2)}.card--compact .card-title{font-size:var(--text-lg)}.card--compact .card-description{font-size:var(--text-xs)}.card--horizontal{flex-direction:row;align-items:center}.card--horizontal .card-body{flex:1}.card--horizontal .card-image{width:120px;height:120px;flex-shrink:0}@media(max-width:700px){.card--horizontal{flex-direction:column}.card--horizontal .card-image{width:100%;height:auto}}.card--glass{background:var(--glass-background);border:var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-shadow)}@media(max-width:900px){.card-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media(max-width:700px){.card-grid,.card-grid--compact,.card-grid--spacious{grid-template-columns:1fr}.card--padding-lg{padding:var(--card-padding-md)}.card-footer{flex-direction:column;align-items:stretch}}@media(prefers-reduced-motion:reduce){.card,.card--interactive{transition:none}.card--interactive:hover{transform:none}.card--loading:after{animation:none}}@media print{.card{page-break-inside:avoid;box-shadow:none;border:1px solid #000}.card--interactive{cursor:default}}.pill{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-weight-medium);line-height:1.25;border:1px solid transparent;white-space:nowrap;transition:var(--transition-colors)}.pill--sm{padding:calc(var(--space-1) * .5) var(--space-2);font-size:var(--text-xs);gap:calc(var(--space-1) * .5)}.pill--md{padding:var(--space-1) var(--space-3);font-size:var(--text-sm);gap:var(--space-1)}.pill--lg{padding:var(--space-2) var(--space-4);font-size:var(--text-base);gap:var(--space-2)}.pill--neutral{background:var(--color-surface-raised);border-color:var(--color-border-default);color:var(--color-text-primary)}.pill--success{background:#53c98124;border-color:#53c9814d;color:#86e0a3}.pill--error{background:#ff6e6e24;border-color:#ff6e6e4d;color:#ffc7c7}.pill--warning{background:#ffa94d24;border-color:#ffa94d4d;color:#ffd4a3}.pill--info{background:#83a0ff24;border-color:#83a0ff52;color:#dce5ff}.pill--primary{background:var(--gradient-primary);border-color:transparent;color:var(--color-text-inverse);font-weight:var(--font-weight-semibold)}.pill__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.pill__icon svg{width:1em;height:1em}.pill--sm .pill__icon svg{width:.875em;height:.875em}.pill--lg .pill__icon svg{width:1.125em;height:1.125em}.pill__content{display:inline-flex;align-items:center}.pill--removable{padding-right:var(--space-1)}.pill__remove{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-1);margin-left:calc(var(--space-1) * -.5);background:none;border:none;border-radius:var(--radius-full);color:currentColor;cursor:pointer;opacity:.6;transition:opacity var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.pill__remove:hover{opacity:1;background:#0000001a}.pill__remove:active{background:#0003}.pill__remove:focus-visible{outline:2px solid currentColor;outline-offset:1px;opacity:1}.pill--primary .pill__remove:hover{background:#00000026}.pill--primary .pill__remove:active{background:#00000040}.pill--interactive{cursor:pointer;-webkit-user-select:none;user-select:none}.pill--interactive:hover{filter:brightness(1.1)}.pill--interactive:active{transform:scale(.98)}.pill--interactive:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.pill-group{display:inline-flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.pill-group--compact{gap:var(--space-1)}.pill-group--spacious{gap:var(--space-3)}.pill-group--vertical{flex-direction:column;align-items:flex-start}.pill--with-dot:before{content:"";width:.5em;height:.5em;border-radius:50%;background:currentColor;margin-right:var(--space-1)}.pill--sm.pill--with-dot:before{width:.375em;height:.375em}.pill--lg.pill--with-dot:before{width:.625em;height:.625em}.pill--pulse:before{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.pill--outlined{background:transparent;border-width:1.5px}.pill--outlined.pill--neutral{border-color:var(--color-border-strong);color:var(--color-text-primary)}.pill--outlined.pill--success{border-color:var(--color-success-500);color:var(--color-success-500)}.pill--outlined.pill--error{border-color:var(--color-error-500);color:var(--color-error-500)}.pill--outlined.pill--warning{border-color:var(--color-warning-500);color:var(--color-warning-500)}.pill--outlined.pill--info{border-color:var(--color-primary-500);color:var(--color-primary-500)}.pill--solid.pill--success{background:var(--color-success-500);color:#fff;border-color:transparent}.pill--solid.pill--error{background:var(--color-error-500);color:#fff;border-color:transparent}.pill--solid.pill--warning{background:var(--color-warning-500);color:#fff;border-color:transparent}.pill--solid.pill--info{background:var(--color-primary-500);color:#fff;border-color:transparent}.pill--badge{min-width:1.5em;height:1.5em;padding:0 var(--space-1);justify-content:center;font-size:var(--text-xs);font-weight:var(--font-weight-bold);border-radius:var(--radius-full)}.pill--count{font-variant-numeric:tabular-nums;font-weight:var(--font-weight-semibold)}@media(max-width:700px){.pill--lg{padding:var(--space-1) var(--space-3);font-size:var(--text-sm)}.pill-group{gap:var(--space-1)}}@media(prefers-reduced-motion:reduce){.pill,.pill__remove{transition:none}.pill--interactive:active{transform:none}.pill--pulse:before{animation:none}}@media print{.pill{border:1px solid currentColor;box-shadow:none}.pill__remove{display:none}}.alert{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid transparent;animation:slideInBottom var(--duration-base) var(--ease-out)}.alert--sm{padding:var(--space-3);gap:var(--space-2);font-size:var(--text-sm)}.alert--md{padding:var(--space-4);gap:var(--space-3);font-size:var(--text-base)}.alert--lg{padding:var(--space-5);gap:var(--space-4);font-size:var(--text-lg)}.alert--success{background:#53c98126;border-color:#53c98166;color:#b8ffd2}.alert--success .alert__icon{color:var(--color-success-500)}.alert--error{background:#ff6e6e26;border-color:#ff6e6e59;color:#ffc7c7}.alert--error .alert__icon{color:var(--color-error-500)}.alert--warning{background:#ffa94d26;border-color:#ffa94d59;color:#ffd4a3}.alert--warning .alert__icon{color:var(--color-warning-500)}.alert--info{background:#83a0ff26;border-color:#83a0ff59;color:#dce5ff}.alert--info .alert__icon{color:var(--color-primary-500)}.alert__icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;margin-top:.125rem}.alert__icon svg{width:1.25em;height:1.25em}.alert--sm .alert__icon svg{width:1em;height:1em}.alert--lg .alert__icon svg{width:1.5em;height:1.5em}.alert__content{flex:1;display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.alert__title{font-weight:var(--font-weight-semibold);font-size:1em;line-height:var(--line-height-tight)}.alert__message{line-height:var(--line-height-relaxed);opacity:.95}.alert__message p{margin:0}.alert__message p+p{margin-top:var(--space-2)}.alert--dismissible{padding-right:var(--space-3)}.alert__dismiss{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;padding:var(--space-1);margin:calc(var(--space-1) * -1);margin-left:0;background:none;border:none;border-radius:var(--radius-md);color:currentColor;cursor:pointer;opacity:.6;transition:opacity var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.alert__dismiss:hover{opacity:1;background:#0000001a}.alert__dismiss:active{background:#00000026}.alert__dismiss:focus-visible{outline:2px solid currentColor;outline-offset:2px;opacity:1}.alert__dismiss svg{width:1em;height:1em}.alert--outlined{background:transparent;border-width:2px}.alert--outlined.alert--success{color:var(--color-success-500)}.alert--outlined.alert--error{color:var(--color-error-500)}.alert--outlined.alert--warning{color:var(--color-warning-500)}.alert--outlined.alert--info{color:var(--color-primary-500)}.alert--solid.alert--success{background:var(--color-success-500);border-color:transparent;color:#fff}.alert--solid.alert--success .alert__icon{color:#fff}.alert--solid.alert--error{background:var(--color-error-500);border-color:transparent;color:#fff}.alert--solid.alert--error .alert__icon{color:#fff}.alert--solid.alert--warning{background:var(--color-warning-500);border-color:transparent;color:#fff}.alert--solid.alert--warning .alert__icon{color:#fff}.alert--solid.alert--info{background:var(--color-primary-500);border-color:transparent;color:#fff}.alert--solid.alert--info .alert__icon{color:#fff}.alert__actions{display:flex;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap}.alert__actions button{font-size:var(--text-sm)}.alert-list{display:flex;flex-direction:column;gap:var(--space-3)}.alert-list--compact{gap:var(--space-2)}.alert--banner{border-radius:0;border-left:none;border-right:none;margin-left:calc(var(--space-6) * -1);margin-right:calc(var(--space-6) * -1);padding-left:var(--space-6);padding-right:var(--space-6)}.alert a{color:inherit;text-decoration:underline;font-weight:var(--font-weight-medium);transition:opacity var(--duration-fast) var(--ease-out)}.alert a:hover{opacity:.8}.alert a:focus-visible{outline:2px solid currentColor;outline-offset:2px;border-radius:var(--radius-sm)}.alert--dismissing{animation:slideOutRight var(--duration-base) var(--ease-in);pointer-events:none}@keyframes slideOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@media(max-width:700px){.alert--lg{padding:var(--space-4);gap:var(--space-3);font-size:var(--text-base)}.alert--banner{margin-left:calc(var(--space-4) * -1);margin-right:calc(var(--space-4) * -1);padding-left:var(--space-4);padding-right:var(--space-4)}.alert__actions{flex-direction:column;align-items:stretch}.alert__actions button{width:100%}}@media(prefers-reduced-motion:reduce){.alert{animation:none}.alert--dismissing{animation:none;opacity:0}.alert__dismiss{transition:none}}@media print{.alert{border:2px solid currentColor;box-shadow:none;page-break-inside:avoid}.alert__dismiss{display:none}.alert--banner{margin:0;padding-left:var(--space-4);padding-right:var(--space-4)}}.skeleton{display:block;background:var(--gradient-shimmer);background-size:200% 100%;animation:shimmer 1.8s linear infinite;border-radius:var(--radius-md);position:relative;overflow:hidden}.skeleton:before{content:" "}.skeleton--text{width:100%;height:1em;border-radius:var(--radius-sm);transform:scaleY(.8)}.skeleton--circular{width:48px;height:48px;border-radius:50%}.skeleton--rectangular{width:100%;min-height:120px;border-radius:var(--radius-lg)}.skeleton--no-animation{animation:none;background:#ffffff14}.skeleton-group{display:flex;flex-direction:column;gap:var(--space-3)}.skeleton-group--horizontal{flex-direction:row;align-items:center}.skeleton-text-block{display:flex;flex-direction:column;gap:var(--space-2)}.skeleton-text-block .skeleton--text:last-child{width:60%}.skeleton-card{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5);background:var(--color-surface-base);border:1px solid var(--color-border-subtle);border-radius:var(--card-radius)}.skeleton-card__header{display:flex;align-items:center;gap:var(--space-3)}.skeleton-card__body{display:flex;flex-direction:column;gap:var(--space-2)}.skeleton-profile{display:flex;align-items:center;gap:var(--space-3)}.skeleton-profile__avatar{flex-shrink:0}.skeleton-profile__content{flex:1;display:flex;flex-direction:column;gap:var(--space-2)}.skeleton-list-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-surface-base);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg)}.skeleton-list-item__icon{flex-shrink:0}.skeleton-list-item__content{flex:1;display:flex;flex-direction:column;gap:var(--space-2)}.skeleton-table-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:var(--space-4);padding:var(--space-3)}.skeleton-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--space-4)}.skeleton--xs{min-height:40px}.skeleton--sm{min-height:80px}.skeleton--md{min-height:120px}.skeleton--lg{min-height:200px}.skeleton--xl{min-height:320px}.skeleton--pulse{animation:skeletonPulse 2s cubic-bezier(.4,0,.6,1) infinite;background:#ffffff14}@keyframes skeletonPulse{0%,to{opacity:1}50%{opacity:.5}}.skeleton-wave .skeleton{animation:skeletonWave 1.6s ease-in-out infinite}.skeleton-wave .skeleton:nth-child(1){animation-delay:0s}.skeleton-wave .skeleton:nth-child(2){animation-delay:.1s}.skeleton-wave .skeleton:nth-child(3){animation-delay:.2s}.skeleton-wave .skeleton:nth-child(4){animation-delay:.3s}.skeleton-wave .skeleton:nth-child(5){animation-delay:.4s}@keyframes skeletonWave{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.skeleton-pub-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface-base);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg)}.skeleton-pub-card__badges{display:flex;gap:var(--space-2)}.skeleton-pub-card__badges .skeleton{width:60px;height:24px;border-radius:var(--radius-full)}.skeleton-pub-card__title{height:1.5em;width:70%}.skeleton-pub-card__description{height:3em;width:100%}.skeleton-pub-card__images{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2);height:80px}.skeleton-review-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);background:var(--color-surface-base);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg)}.skeleton-review-card__header{display:flex;justify-content:space-between;align-items:flex-start}.skeleton-review-card__user{display:flex;align-items:center;gap:var(--space-3)}.skeleton-review-card__avatar{width:40px;height:40px;border-radius:50%}.skeleton-review-card__info{display:flex;flex-direction:column;gap:var(--space-2)}.skeleton-review-card__rating{width:80px;height:24px;border-radius:var(--radius-full)}.skeleton-review-card__body{display:flex;flex-direction:column;gap:var(--space-2)}@media(max-width:900px){.skeleton-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}@media(max-width:700px){.skeleton-grid{grid-template-columns:1fr}.skeleton--xl{min-height:240px}.skeleton--lg{min-height:160px}}@media(prefers-reduced-motion:reduce){.skeleton,.skeleton--pulse,.skeleton-wave .skeleton{animation:none!important;background:#ffffff14}}@media(prefers-color-scheme:light){.skeleton{background:linear-gradient(90deg,#0000000f,#0000001f,#0000000f)}.skeleton--no-animation,.skeleton--pulse{background:#00000014}}.rating-input{display:inline-flex;align-items:center;gap:var(--space-3)}.rating-input__stars{display:inline-flex;align-items:center;gap:var(--space-1)}.rating-input__star{padding:0;margin:0;background:none;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:transform var(--duration-fast) var(--ease-out);position:relative;--rating-star-color: var(--color-rating-star, #f7c948);--rating-star-muted: var(--color-rating-star-muted, rgba(247, 201, 72, .3));--rating-star-color-hover: var(--color-rating-star-hover, #ffe08a);--rating-star-muted-hover: rgba(255, 224, 138, .45)}.rating-input__star:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px;border-radius:var(--radius-sm)}.rating-input--interactive .rating-input__star:hover{transform:scale(1.15)}.rating-input--interactive .rating-input__star:active{transform:scale(1.05)}.rating-input--sm .rating-input__star{width:16px;height:16px}.rating-input--md .rating-input__star{width:24px;height:24px}.rating-input--lg .rating-input__star{width:32px;height:32px}.rating-input__star-svg{width:100%;height:100%;display:block;color:var(--rating-star-color)}.rating-input__star-empty{color:var(--rating-star-muted);transition:color var(--duration-fast) var(--ease-out)}.rating-input__star-filled{color:var(--rating-star-color);transition:color var(--duration-fast) var(--ease-out);filter:drop-shadow(0 1px 4px rgba(247,201,72,.45))}.rating-input--interactive .rating-input__star:hover .rating-input__star-empty,.rating-input--interactive .rating-input__star--active:hover .rating-input__star-empty{color:var(--rating-star-muted-hover)}.rating-input--interactive .rating-input__star:hover .rating-input__star-filled,.rating-input--interactive .rating-input__star--active:hover .rating-input__star-filled{color:var(--rating-star-color-hover);filter:drop-shadow(0 2px 6px rgba(247,201,72,.6))}.rating-input--interactive .rating-input__star:hover,.rating-input--interactive .rating-input__star--active:hover{--rating-star-color: var(--rating-star-color-hover);--rating-star-muted: var(--rating-star-muted-hover)}.rating-input__star--active .rating-input__star-empty{color:var(--rating-star-muted)}.rating-input__star--active .rating-input__star-filled{color:var(--rating-star-color);filter:drop-shadow(0 1px 3px rgba(247,201,72,.4))}.rating-input__value{font-size:var(--text-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-variant-numeric:tabular-nums;min-width:3ch;text-align:left}.rating-input--sm .rating-input__value{font-size:var(--text-sm)}.rating-input--lg .rating-input__value{font-size:var(--text-lg)}.rating-input--readonly .rating-input__star{cursor:default;pointer-events:none}.rating-input--readonly .rating-input__star:hover{transform:none}.rating-input--disabled{opacity:.5;cursor:not-allowed}.rating-input--disabled .rating-input__star{cursor:not-allowed;pointer-events:none}.rating-input--disabled .rating-input__star:hover{transform:none}.rating-input--success .rating-input__star-filled{color:#53c981;filter:drop-shadow(0 1px 3px rgba(83,201,129,.4))}.rating-input--success .rating-input__star--active .rating-input__star-empty{color:#53c98140}.rating-input--primary .rating-input__star-filled{color:#83a0ff;filter:drop-shadow(0 1px 3px rgba(131,160,255,.4))}.rating-input--primary .rating-input__star--active .rating-input__star-empty{color:#83a0ff40}.rating-input--accent .rating-input__star-filled{color:#82e8ff;filter:drop-shadow(0 1px 3px rgba(130,232,255,.4))}.rating-input--accent .rating-input__star--active .rating-input__star-empty{color:#82e8ff40}.rating-input-wrapper{display:flex;flex-direction:column;gap:var(--space-2)}.rating-input-label{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.rating-input--compact{gap:var(--space-2)}.rating-input--compact .rating-input__stars{gap:calc(var(--space-1) * .5)}.rating-with-count{display:inline-flex;align-items:center;gap:var(--space-2)}.rating-count{font-size:var(--text-sm);color:var(--color-text-tertiary)}.rating-count:before{content:"("}.rating-count:after{content:")"}@keyframes starPop{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.rating-input--interactive .rating-input__star--active.rating-input__star--just-clicked{animation:starPop var(--duration-base) var(--ease-spring)}.rating-input--glow .rating-input__star--active .rating-input__star-filled{filter:drop-shadow(0 0 4px currentColor)}@media(max-width:700px){.rating-input--lg .rating-input__star{width:28px;height:28px}}@media(prefers-contrast:high){.rating-input__star-empty{color:currentColor;opacity:.3}.rating-input__star--active .rating-input__star-filled{color:currentColor;opacity:1}}@media(prefers-reduced-motion:reduce){.rating-input__star,.rating-input__star-empty,.rating-input__star-filled{transition:none}.rating-input--interactive .rating-input__star:hover,.rating-input--interactive .rating-input__star:active{transform:none}.rating-input__star--just-clicked{animation:none!important}}@media print{.rating-input__star{-webkit-print-color-adjust:exact;print-color-adjust:exact}.rating-input--interactive .rating-input__star:hover{transform:none}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-10) var(--space-6);border:1px dashed var(--color-border-default);border-radius:var(--radius-xl);background:var(--color-surface-base);gap:var(--space-4);min-height:280px}.empty-state--sm{padding:var(--space-6) var(--space-4);gap:var(--space-3);min-height:200px}.empty-state--md{padding:var(--space-10) var(--space-6);gap:var(--space-4);min-height:280px}.empty-state--lg{padding:var(--space-16) var(--space-8);gap:var(--space-6);min-height:400px}.empty-state__icon{display:flex;align-items:center;justify-content:center;width:80px;height:80px;color:var(--color-text-tertiary);opacity:.6}.empty-state__icon svg{width:100%;height:100%}.empty-state__default-icon{stroke-dasharray:4 4;animation:rotateDash 8s linear infinite}@keyframes rotateDash{0%{stroke-dashoffset:0}to{stroke-dashoffset:32}}.empty-state--sm .empty-state__icon{width:56px;height:56px}.empty-state--lg .empty-state__icon{width:120px;height:120px}.empty-state__content{display:flex;flex-direction:column;gap:var(--space-2);max-width:400px}.empty-state--lg .empty-state__content{max-width:500px}.empty-state__title{margin:0;font-size:var(--text-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary)}.empty-state--sm .empty-state__title{font-size:var(--text-lg)}.empty-state--lg .empty-state__title{font-size:var(--text-2xl)}.empty-state__description{margin:0;font-size:var(--text-base);line-height:var(--line-height-relaxed);color:var(--color-text-secondary)}.empty-state--sm .empty-state__description{font-size:var(--text-sm)}.empty-state--lg .empty-state__description{font-size:var(--text-lg)}.empty-state__action{display:flex;gap:var(--space-2);flex-wrap:wrap;justify-content:center;margin-top:var(--space-2)}.empty-state--lg .empty-state__action{margin-top:var(--space-4)}.empty-state--error{border-color:#ff6e6e4d;background:#ff6e6e0d}.empty-state--error .empty-state__icon{color:var(--color-error-500);opacity:1}.empty-state--success{border-color:#53c9814d;background:#53c9810d}.empty-state--success .empty-state__icon{color:var(--color-success-500);opacity:1}.empty-state--info{border-color:#83a0ff4d;background:#83a0ff0d}.empty-state--info .empty-state__icon{color:var(--color-primary-500);opacity:1}.empty-state--compact{flex-direction:row;text-align:left;padding:var(--space-5);min-height:auto;gap:var(--space-4)}.empty-state--compact .empty-state__icon{width:48px;height:48px;flex-shrink:0}.empty-state--compact .empty-state__content{align-items:flex-start;text-align:left}.empty-state--compact .empty-state__action{justify-content:flex-start;margin-top:var(--space-3)}.empty-state--illustrated .empty-state__icon{width:200px;height:200px}.empty-state--illustrated.empty-state--sm .empty-state__icon{width:120px;height:120px}.empty-state--illustrated.empty-state--lg .empty-state__icon{width:280px;height:280px}.empty-state{animation:emptyStateFadeIn var(--duration-slow) var(--ease-out)}@keyframes emptyStateFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.empty-state--interactive{cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.empty-state--interactive:hover{border-color:var(--color-border-interactive);background:var(--color-surface-raised);transform:translateY(-2px)}.empty-state--interactive:active{transform:translateY(0)}.empty-state--interactive:focus-visible{outline:3px solid var(--color-border-focus);outline-offset:3px}@media(max-width:700px){.empty-state{padding:var(--space-8) var(--space-4);min-height:240px}.empty-state--lg{padding:var(--space-12) var(--space-6);min-height:320px}.empty-state__icon{width:64px;height:64px}.empty-state--lg .empty-state__icon{width:96px;height:96px}.empty-state__title{font-size:var(--text-lg)}.empty-state__description{font-size:var(--text-sm)}.empty-state--compact{flex-direction:column;text-align:center}.empty-state--compact .empty-state__content{align-items:center;text-align:center}.empty-state--compact .empty-state__action{justify-content:center}.empty-state__action{flex-direction:column;width:100%}.empty-state__action button{width:100%}}@media(prefers-reduced-motion:reduce){.empty-state,.empty-state__default-icon{animation:none}.empty-state--interactive:hover{transform:none}}@media print{.empty-state{border:1px solid currentColor;box-shadow:none;page-break-inside:avoid}.empty-state__action{display:none}}.image-upload-wrapper{display:flex;flex-direction:column;gap:var(--space-3);width:100%}.image-upload{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;padding:var(--space-8) var(--space-6);border:2px dashed var(--color-border-default);border-radius:var(--radius-lg);background:var(--color-surface-base);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.image-upload:hover:not(.image-upload--disabled){border-color:var(--color-border-interactive);background:var(--color-surface-raised)}.image-upload:focus-visible{outline:3px solid var(--color-border-focus);outline-offset:3px}.image-upload__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.image-upload__content{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);pointer-events:none}.image-upload__icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;color:var(--color-text-tertiary);opacity:.6;transition:color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.image-upload__icon svg{width:100%;height:100%}.image-upload:hover:not(.image-upload--disabled) .image-upload__icon{color:var(--color-primary-500);opacity:.8;transform:scale(1.05)}.image-upload__text{text-align:center}.image-upload__title{margin:0;font-size:var(--text-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.image-upload__subtitle{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--color-text-secondary)}.image-upload__browse{color:var(--color-primary-500);font-weight:var(--font-weight-medium);text-decoration:underline}.image-upload__hint{margin:0;font-size:var(--text-xs);color:var(--color-text-tertiary)}.image-upload--dragging{border-color:var(--color-primary-500);background:#83a0ff1a;transform:scale(1.02)}.image-upload--dragging .image-upload__icon{color:var(--color-primary-500);opacity:1;transform:scale(1.1);animation:iconBounce var(--duration-base) var(--ease-spring)}@keyframes iconBounce{0%,to{transform:scale(1.1)}50%{transform:scale(1.2)}}.image-upload--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.image-upload__error{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:#ff6e6e26;border:1px solid rgba(255,110,110,.35);color:#ffc7c7;font-size:var(--text-sm);animation:slideInBottom var(--duration-base) var(--ease-out)}.image-upload__preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--space-3);width:100%;animation:fadeIn var(--duration-base) var(--ease-out)}.image-upload__preview-item{position:relative;aspect-ratio:1;border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface-raised);border:1px solid var(--color-border-default)}.image-upload__preview-image{width:100%;height:100%;object-fit:cover;transition:transform var(--duration-fast) var(--ease-out)}.image-upload__preview-item:hover .image-upload__preview-image{transform:scale(1.05)}.image-upload__remove{position:absolute;top:var(--space-2);right:var(--space-2);display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:#000c;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-full);color:#fff;cursor:pointer;opacity:0;transform:scale(.9);transition:opacity var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.image-upload__preview-item:hover .image-upload__remove{opacity:1;transform:scale(1)}.image-upload__remove:hover{background:#000000e6}.image-upload__remove:active{transform:scale(.95)}.image-upload__remove:focus-visible{opacity:1;transform:scale(1);outline:2px solid var(--color-border-focus);outline-offset:2px}.image-upload--compact{min-height:140px;padding:var(--space-6) var(--space-4)}.image-upload--compact .image-upload__icon{width:48px;height:48px}.image-upload--compact .image-upload__title{font-size:var(--text-sm)}.image-upload--compact .image-upload__subtitle{font-size:var(--text-xs)}.image-upload--inline{flex-direction:row;min-height:auto;padding:var(--space-4);justify-content:flex-start}.image-upload--inline .image-upload__content{flex-direction:row;gap:var(--space-3)}.image-upload--inline .image-upload__icon{width:40px;height:40px}.image-upload--inline .image-upload__text{text-align:left}.image-upload--single .image-upload__preview{grid-template-columns:1fr;max-width:300px;margin:0 auto}.image-upload--loading{pointer-events:none;opacity:.6}.image-upload--loading .image-upload__icon{animation:spin 1s linear infinite}@media(max-width:900px){.image-upload__preview{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}}@media(max-width:700px){.image-upload{min-height:160px;padding:var(--space-6) var(--space-4)}.image-upload__icon{width:48px;height:48px}.image-upload__title{font-size:var(--text-sm)}.image-upload__subtitle{font-size:var(--text-xs)}.image-upload__preview{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:var(--space-2)}.image-upload--inline,.image-upload--inline .image-upload__content{flex-direction:column}.image-upload--inline .image-upload__text{text-align:center}}@media(prefers-reduced-motion:reduce){.image-upload,.image-upload__icon,.image-upload__preview-image,.image-upload__remove{transition:none}.image-upload:hover:not(.image-upload--disabled),.image-upload--dragging{transform:none}.image-upload:hover:not(.image-upload--disabled) .image-upload__icon,.image-upload--dragging .image-upload__icon{transform:none;animation:none}.image-upload__preview-item:hover .image-upload__preview-image{transform:none}.image-upload__error,.image-upload__preview,.image-upload--loading .image-upload__icon{animation:none}}@media print{.image-upload{display:none}.image-upload__preview{display:grid}.image-upload__remove{display:none}}.tabs{display:flex;flex-direction:column;gap:var(--space-4)}.tabs__list{display:flex;gap:var(--space-2);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.tabs__list::-webkit-scrollbar{height:4px}.tabs__list::-webkit-scrollbar-track{background:var(--color-surface-base)}.tabs__list::-webkit-scrollbar-thumb{background:var(--color-border-default);border-radius:var(--radius-full)}.tabs__tab{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid transparent;border-radius:var(--radius-lg);background:transparent;color:var(--color-text-secondary);font-family:var(--font-family-base);font-size:var(--text-base);font-weight:var(--font-weight-medium);line-height:1.5;white-space:nowrap;cursor:pointer;transition:var(--transition-colors),background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out);-webkit-appearance:none;-moz-appearance:none;appearance:none}.tabs__tab:hover:not(:disabled){color:var(--color-text-primary);background:var(--color-surface-raised)}.tabs__tab:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.tabs__tab--active{color:var(--color-text-primary);background:var(--color-surface-raised);border-color:var(--color-border-default)}.tabs__tab--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.tabs__tab-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.tabs__tab-icon svg{width:1.25em;height:1.25em}.tabs__tab-label{flex:1}.tabs__tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.5em;height:1.5em;padding:0 var(--space-1);border-radius:var(--radius-full);background:var(--color-surface-overlay);color:var(--color-text-tertiary);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums}.tabs__tab--active .tabs__tab-badge{background:#83a0ff33;color:var(--color-primary-500)}.tabs--sm .tabs__tab{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);gap:var(--space-1)}.tabs--sm .tabs__tab-icon svg{width:1em;height:1em}.tabs--md .tabs__tab{padding:var(--space-3) var(--space-4);font-size:var(--text-base);gap:var(--space-2)}.tabs--lg .tabs__tab{padding:var(--space-4) var(--space-5);font-size:var(--text-lg);gap:var(--space-2)}.tabs--pills .tabs__tab{border-radius:var(--radius-full)}.tabs--pills .tabs__tab--active{background:#83a0ff2e;border-color:#83a0ff73;box-shadow:0 8px 30px #00000040}.tabs--underline .tabs__list{border-bottom:1px solid var(--color-border-default);gap:var(--space-4)}.tabs--underline .tabs__tab{padding:var(--space-3) var(--space-2);border-radius:0;border-bottom:2px solid transparent;margin-bottom:-1px;background:transparent}.tabs--underline .tabs__tab:hover:not(:disabled){background:transparent;border-bottom-color:var(--color-border-strong)}.tabs--underline .tabs__tab--active{background:transparent;border-bottom-color:var(--color-primary-500);border-left-color:transparent;border-right-color:transparent;border-top-color:transparent}.tabs--full-width .tabs__list{width:100%}.tabs--full-width .tabs__tab{flex:1;justify-content:center}.tabs__panels{position:relative}.tabs__panel{animation:tabPanelFadeIn var(--duration-base) var(--ease-out)}.tabs__panel[hidden]{display:none}@keyframes tabPanelFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.tabs--vertical{flex-direction:row;gap:var(--space-6)}.tabs--vertical .tabs__list{flex-direction:column;width:auto;min-width:200px}.tabs--vertical .tabs__tab{justify-content:flex-start}.tabs--vertical .tabs__panels{flex:1}.tabs__list-wrapper{position:relative}.tabs__list-wrapper--scrollable-left:before{content:"";position:absolute;left:0;top:0;bottom:0;width:20px;background:linear-gradient(to right,var(--color-bg-primary),transparent);pointer-events:none;z-index:1}.tabs__list-wrapper--scrollable-right:after{content:"";position:absolute;right:0;top:0;bottom:0;width:20px;background:linear-gradient(to left,var(--color-bg-primary),transparent);pointer-events:none;z-index:1}@media(max-width:900px){.tabs--vertical{flex-direction:column}.tabs--vertical .tabs__list{flex-direction:row;width:100%;min-width:auto}}@media(max-width:700px){.tabs__list{gap:var(--space-1)}.tabs--lg .tabs__tab{padding:var(--space-3) var(--space-4);font-size:var(--text-base)}.tabs--underline .tabs__list{gap:var(--space-2)}.tabs__list{overflow-x:auto;-webkit-overflow-scrolling:touch}.tabs__list::-webkit-scrollbar{display:none}.tabs__list{scrollbar-width:none}}@media(prefers-reduced-motion:reduce){.tabs__tab{transition:none}.tabs__panel{animation:none}}@media print{.tabs__list{display:none}.tabs__panel[hidden]{display:block!important}.tabs__panel{page-break-inside:avoid}}.cheers-button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#d6dbe6;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:inherit}.cheers-button:hover:not(:disabled){background:#ffffff14;border-color:#fff3;transform:translateY(-1px)}.cheers-button:active:not(:disabled){transform:translateY(0)}.cheers-button:disabled{opacity:.5;cursor:not-allowed}.cheers-button:focus-visible{outline:2px solid #82e8ff;outline-offset:2px}.cheers-button--active{background:linear-gradient(135deg,#ffb03b26,#ff8c0026);border-color:#ffb03b66;color:#ffb03b}.cheers-button--active:hover:not(:disabled){background:linear-gradient(135deg,#ffb03b40,#ff8c0040);border-color:#ffb03b99}.cheers-button--active .cheers-button__glass{fill:#ffb03b;animation:cheersToast .3s ease-out}.cheers-button__icon{width:1.25rem;height:1.25rem;flex-shrink:0;transition:transform .2s ease}.cheers-button:hover:not(:disabled) .cheers-button__icon{transform:rotate(-10deg) translateY(-2px)}.cheers-button--active .cheers-button__icon{color:#ffb03b}.cheers-button__glass{transition:fill .2s ease}.cheers-button__foam{opacity:.8}.cheers-button__text{font-weight:600;letter-spacing:.01em}.cheers-button__count{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;padding:.125rem .375rem;background:#ffffff1a;border-radius:12px;font-size:.75rem;font-weight:700;line-height:1}.cheers-button--active .cheers-button__count{background:#ffb03b33;color:#ffb03b}.cheers-button--sm{padding:.375rem .75rem;font-size:.813rem;gap:.375rem}.cheers-button--sm .cheers-button__icon{width:1rem;height:1rem}.cheers-button--sm .cheers-button__count{min-width:1.25rem;padding:.125rem .25rem;font-size:.688rem}.cheers-button--lg{padding:.75rem 1.25rem;font-size:1rem;gap:.625rem}.cheers-button--lg .cheers-button__icon{width:1.5rem;height:1.5rem}.cheers-button--lg .cheers-button__count{min-width:1.75rem;padding:.25rem .5rem;font-size:.875rem}.cheers-button--loading{pointer-events:none}.cheers-button--loading .cheers-button__icon{animation:cheersLoading 1s ease-in-out infinite}@keyframes cheersToast{0%{transform:rotate(0) translateY(0)}30%{transform:rotate(-15deg) translateY(-4px)}60%{transform:rotate(10deg) translateY(-2px)}to{transform:rotate(0) translateY(0)}}@keyframes cheersLoading{0%,to{opacity:1}50%{opacity:.4}}@media(prefers-reduced-motion:reduce){.cheers-button,.cheers-button__icon,.cheers-button__glass{animation:none!important;transition:none!important}.cheers-button:hover:not(:disabled){transform:none}.cheers-button:hover:not(:disabled) .cheers-button__icon{transform:none}}.topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);border:1px solid var(--color-border-default);border-radius:var(--radius-2xl);background:var(--glass-background);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-lg);margin-bottom:var(--space-6)}.brand{display:flex;align-items:baseline;gap:var(--space-3);min-width:180px}.brand-link{font-size:var(--text-xl);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);text-decoration:none;color:var(--color-text-primary);transition:color var(--duration-fast) var(--ease-out)}.brand-link:hover{color:var(--color-primary-500)}.brand-tag{color:var(--color-text-tertiary);font-size:var(--text-sm)}.topnav{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center;align-items:center}.topnav-link{text-decoration:none;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);border:1px solid transparent;color:var(--color-text-secondary);font-weight:var(--font-weight-medium);font-size:var(--text-sm);transition:var(--transition-colors),background-color var(--duration-fast) var(--ease-out)}.topnav-link:hover{background:var(--color-interactive-hover);border-color:var(--color-border-default);color:var(--color-text-primary)}.topnav-link.active{background:#83a0ff24;border-color:#83a0ff52;color:var(--color-primary-100)}.topbar-right{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap;justify-content:flex-end;min-width:fit-content}.topbar-menu-toggle{display:none;align-items:center;justify-content:center;min-height:2.75rem;padding:var(--space-2) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-full);background:#ffffff0a;color:var(--color-text-primary);font-size:var(--text-sm);font-weight:var(--font-weight-semibold)}.skip-link{position:absolute;left:-9999px;top:-9999px;background:var(--color-bg-elevated);color:var(--color-text-primary);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:var(--z-index-modal);font-weight:var(--font-weight-medium);text-decoration:none;border:2px solid var(--color-border-focus)}.skip-link:focus{left:var(--space-4);top:var(--space-4)}@media(max-width:900px){.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:var(--space-4)}.brand{min-width:0;justify-content:flex-start}.topbar-menu-toggle{display:inline-flex}.topnav,.topbar-right{display:none}.topnav.is-open,.topbar-right.is-open{display:flex;grid-column:1 / -1;width:100%}.topnav.is-open{justify-content:flex-start;width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:var(--space-1)}.topnav.is-open .topnav-link{flex:0 0 auto}.topbar-right.is-open{justify-content:space-between;width:100%}}@media(max-width:700px){.brand{flex-direction:column;align-items:flex-start;gap:var(--space-1)}.brand-link{font-size:var(--text-lg)}.brand-tag{font-size:var(--text-xs)}.topnav.is-open{flex-direction:column;align-items:stretch;width:100%;gap:var(--space-1);overflow-x:visible}.topnav.is-open .topnav-link{width:100%;text-align:left}.topbar-right.is-open{flex-direction:column;align-items:stretch;width:100%}.topbar-right.is-open .btn{width:100%}}.topbar--sticky{position:sticky;top:var(--space-4);z-index:var(--z-index-sticky)}@media print{.topbar{border:1px solid currentColor;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;page-break-inside:avoid}.topbar-right .btn,.skip-link{display:none}}@media(prefers-reduced-motion:reduce){.topnav-link,.brand-link{transition:none}}.review-card{width:100%}.review-card__content{display:flex;flex-direction:column;gap:var(--space-3)}.review-card__pub-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:calc(var(--space-1) * -1)}.review-card__pub-label{text-transform:uppercase;letter-spacing:.1em;font-size:.688rem;font-weight:var(--font-weight-semibold);color:var(--color-text-tertiary);opacity:.7}.review-card__meta{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.review-card__title{font-size:var(--text-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0;line-height:var(--line-height-tight)}.review-card__body{font-size:var(--text-base);color:var(--color-text-secondary);margin:0;line-height:var(--line-height-relaxed);white-space:pre-wrap;word-wrap:break-word}.review-card__images{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-2)}.review-card__image{width:120px;height:120px;object-fit:cover;border-radius:var(--radius-md);background:var(--color-surface-overlay);border:1px solid var(--color-border-subtle);cursor:pointer;transition:var(--transition-fast)}.review-card__image:hover{border-color:var(--color-border-default);transform:scale(1.02)}.review-card__image-more{width:120px;height:120px;display:flex;align-items:center;justify-content:center;background:var(--color-surface-overlay);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary)}.review-card__attribution{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border-subtle)}.review-card__author{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0;display:inline-flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.review-card__author-link{color:var(--color-primary-400);text-decoration:none;font-weight:var(--font-weight-medium);transition:var(--transition-fast)}.review-card__author-link:hover{color:var(--color-primary-300);text-decoration:underline}.review-card__author-link--owner{color:var(--color-success-600);font-weight:var(--font-weight-semibold)}.review-card__author-link--owner:hover{color:var(--color-success-500)}.review-card__author-link:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px;border-radius:var(--radius-sm)}.review-card__pub-link{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-tertiary);text-decoration:none;font-weight:var(--font-weight-medium);transition:var(--transition-fast)}.review-card__pub-link--header{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:linear-gradient(135deg,#82e8ff14,#83a0ff14);border:1px solid rgba(130,232,255,.15);border-radius:var(--radius-lg);color:#82e8ff;font-size:var(--text-sm);font-weight:var(--font-weight-semibold);text-decoration:none;transition:all .2s ease;position:relative;overflow:hidden}.review-card__pub-link--header:before{content:"🍺";font-size:.875rem;margin-right:.125rem}.review-card__pub-link--header:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(130,232,255,.1),transparent);opacity:0;transition:opacity .2s ease}.review-card__pub-link--header:hover{background:linear-gradient(135deg,#82e8ff1f,#83a0ff1f);border-color:#82e8ff4d;color:#9ef1ff;transform:translateY(-1px);box-shadow:0 4px 12px #82e8ff26}.review-card__pub-link--header:hover:after{opacity:1}.review-card__pub-link--header:active{transform:translateY(0)}.review-card__pub-link--header:focus-visible{outline:2px solid #82e8ff;outline-offset:2px;border-radius:var(--radius-lg)}.review-card__pub-link:not(.review-card__pub-link--header):before{content:"";display:inline-block;width:4px;height:4px;border-radius:var(--radius-full);background:var(--color-text-tertiary)}.review-card__pub-link:not(.review-card__pub-link--header):hover{color:var(--color-primary-400)}.review-card__pub-link:not(.review-card__pub-link--header):focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px;border-radius:var(--radius-sm)}.review-card__date{font-size:var(--text-sm);color:var(--color-text-tertiary);margin:0}.review-card__actions{display:flex;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border-subtle)}.review-card__actions-spacer{flex:1}@media(max-width:700px){.review-card__title{font-size:var(--text-lg)}.review-card__body{font-size:var(--text-sm)}.review-card__image{width:80px;height:80px}.review-card__image-more{width:80px;height:80px;font-size:var(--text-sm)}}@media(prefers-reduced-motion:reduce){.review-card__image{transition:none}.review-card__image:hover{transform:none}.review-card__author-link,.review-card__pub-link,.review-card__pub-link--header{transition:none}.review-card__pub-link--header:hover{transform:none}.review-card__pub-link--header:after{transition:none}}.auth-form{display:flex;flex-direction:column;gap:var(--space-6);max-width:500px;width:100%}.auth-form__title{text-align:center}.auth-form__fields{display:flex;flex-direction:column;gap:var(--space-4)}.auth-form__helper-text{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0;line-height:var(--line-height-relaxed)}.auth-form__actions{display:flex;flex-direction:column;gap:var(--space-3)}.comment-item{--comment-depth: 1;--indent-size: calc(var(--space-6) * var(--comment-depth));position:relative;margin-left:calc(var(--indent-size) - var(--space-6));padding:var(--space-4);border-left:2px solid var(--color-border-subtle);transition:var(--transition-fast);scroll-margin-top:6rem}.comment-item:first-child{margin-left:0}.comment-item--active{background:#83a0ff0d;border-left-color:var(--color-primary-500)}.comment-item--highlight{background:#82e8ff14;border-left-color:#82e8ffb3}.comment-item--hidden{opacity:.5}.comment-item__content{display:flex;flex-direction:column;gap:var(--space-3)}.comment-item__meta{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;font-size:var(--text-sm)}.comment-item__author{color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.comment-item__author-link{color:inherit;text-decoration:none;border-bottom:1px solid transparent}.comment-item__author-link--owner{color:var(--color-success-600);font-weight:var(--font-weight-semibold)}.comment-item__author-link:hover{border-bottom-color:var(--color-border-default)}.comment-item__author-link--owner:hover{color:var(--color-success-500)}.comment-item__author-link:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px;border-radius:4px}.comment-item__date{color:var(--color-text-tertiary);font-size:var(--text-xs)}.comment-item__body{color:var(--color-text-primary);margin:0;line-height:var(--line-height-relaxed);white-space:pre-wrap;word-wrap:break-word}.comment-item__edit-form{display:flex;flex-direction:column;gap:var(--space-2)}.comment-item__edit-input{width:100%;min-height:4rem;padding:var(--space-2);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);font:inherit;line-height:var(--line-height-relaxed);resize:vertical}.comment-item__edit-actions,.comment-item__actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.comment-item__children{margin-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}@media(max-width:700px){.comment-item{--indent-size: calc(var(--space-4) * var(--comment-depth));padding:var(--space-3)}.comment-item__meta{font-size:var(--text-xs)}.comment-item__body{font-size:var(--text-sm)}}@media(prefers-reduced-motion:reduce){.comment-item{transition:none}}.comment-thread{display:flex;flex-direction:column;gap:var(--space-2)}.comment-thread--loading{opacity:.6}.comment-thread__loading{padding:var(--space-8);text-align:center;color:var(--color-text-secondary);font-size:var(--text-base)}@media(max-width:700px){.comment-thread{gap:var(--space-1)}.comment-thread__loading{padding:var(--space-6);font-size:var(--text-sm)}}.pub-card{all:unset;display:block;width:100%;cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent}.pub-card:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px;border-radius:var(--radius-lg)}.pub-card__inner{transition:var(--transition-base);height:100%}.pub-card__layout{display:grid;grid-template-columns:minmax(180px,240px) 1fr;gap:var(--space-4);align-items:center}.pub-card__media{display:flex;align-items:center;justify-content:center}.pub-card__hero{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);background:var(--color-surface-overlay)}.pub-card__hero--empty{background:linear-gradient(135deg,#ffffff0a,#ffffff03)}.pub-card__content{display:grid;gap:var(--space-2)}.pub-card:hover .pub-card__inner{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.pub-card--active .pub-card__inner{border-color:var(--color-primary-500);box-shadow:0 0 0 1px var(--color-primary-500),var(--shadow-md)}.pub-card__meta{display:flex;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap}.pub-card__title{font-size:var(--text-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-2) 0;line-height:var(--line-height-tight)}.pub-card__description{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0 0 var(--space-3) 0;line-height:var(--line-height-relaxed);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.pub-card__address{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-tertiary);margin:0;line-height:var(--line-height-normal)}.pub-card__address-icon{width:14px;height:14px;flex-shrink:0;opacity:.7}@media(max-width:700px){.pub-card__layout{grid-template-columns:1fr}.pub-card__media{justify-content:flex-start}.pub-card__hero{aspect-ratio:16 / 9}.pub-card__title{font-size:var(--text-base)}.pub-card__description{font-size:var(--text-xs)}}@media(prefers-reduced-motion:reduce){.pub-card__inner{transition:none}.pub-card:hover .pub-card__inner{transform:none}.pub-card__image{transition:none}}.pub-map-card{display:flex;flex-direction:column;gap:1rem;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:1.25rem;box-shadow:0 14px 40px #00000040;position:sticky;top:1.5rem}.pub-map-header{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:flex-start}.pub-map-frame{position:relative;height:clamp(420px,60vh,640px);border-radius:14px;overflow:hidden;background:#0f172a73;border:1px solid rgba(148,163,184,.2)}.pub-map-container{height:100%;width:100%}.pub-map-empty{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:1.5rem;text-align:center;gap:.5rem}.pub-map-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0f172a8c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);font-size:.95rem}.pub-map-marker{width:34px;height:34px;background:#f6c453;border:2px solid #0f172a;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 12px #0000004d}.pub-map-marker span{transform:rotate(45deg);font-size:16px}.pub-map-popup{display:flex;flex-direction:column;gap:.35rem}.pub-map-popup .secondary{width:fit-content}@media(max-width:1100px){.pub-map-card{position:static}}.app-shell{max-width:1200px;margin:0 auto;padding:clamp(1.25rem,3vw,2.5rem) clamp(.9rem,3.8vw,1.5rem) clamp(2.25rem,6vw,4rem);color:#e9edf5}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.1rem;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:#0a0d188c;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 18px 55px #0000004d}.brand{display:flex;align-items:baseline;gap:.75rem;min-width:180px}.brand-link{font-size:1.1rem;font-weight:700;letter-spacing:-.01em;text-decoration:none}.brand-tag{color:#aeb4c1;font-size:.92rem}.topnav{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.topnav-link{text-decoration:none;padding:.45rem .75rem;border-radius:999px;border:1px solid transparent;color:#e9edf5}.topnav-link:hover{background:#ffffff0f;border-color:#ffffff1f}.topnav-link.active{background:#83a0ff24;border-color:#83a0ff52;color:#dce5ff}.topbar-right{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;justify-content:flex-end;min-width:0}.topbar-menu-toggle{display:none;align-items:center;justify-content:center;min-height:2.75rem;padding:.55rem .95rem;border-radius:999px;border:1px solid rgba(255,255,255,.15);background:#ffffff0a;color:#e9edf5;font-size:.92rem;letter-spacing:.01em}.skip-link{position:absolute;left:-999px;top:-999px;background:#0e1a33;color:#f5f7fb;padding:.75rem 1rem;border-radius:10px;box-shadow:0 10px 30px #00000059;z-index:10}.skip-link:focus{left:1rem;top:1rem}.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}.focus-ring:focus-visible,input:focus-visible,button:focus-visible,.pub-card[role=button]:focus-visible{outline:3px solid #8be4ff;outline-offset:3px}.hero{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem;padding:1.75rem;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:radial-gradient(circle at 20% 20%,rgba(102,178,255,.08),transparent 30%),radial-gradient(circle at 80% 20%,rgba(255,198,102,.1),transparent 32%),linear-gradient(135deg,#0f192de6,#0a0d18f2);box-shadow:0 20px 60px #00000059}.hero h1{margin:.15rem 0 .5rem;font-size:clamp(1.8rem,3vw,2.4rem);letter-spacing:-.01em}.hero .lede{margin:0 0 .75rem;color:#c2c7d1;max-width:40ch}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:#83a0ff;margin:0 0 .15rem}.status-row{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.8rem}.nav-preview{margin-top:1rem}.pill-list{display:flex;gap:.5rem;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border-radius:999px;font-size:.9rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.08)}.pill.success{background:#53c98124;border-color:#53c9814d;color:#86e0a3}.pill.neutral{color:#eef3ff}.hero-card{background:linear-gradient(145deg,#ffffff0f,#ffffff05);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:1.25rem;box-shadow:inset 0 1px #ffffff0d}.hero-card h3{margin:0 0 .6rem}.hero-card ol{margin:0 0 .75rem 1rem;color:#cdd2dc}.grid{display:flex;flex-direction:column;gap:1.5rem;margin-top:1.5rem}.panel{background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:1.5rem;box-shadow:0 10px 30px #00000040}.panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.panel-header-actions{display:flex;gap:.5rem;align-items:center}.panel h2{margin:.15rem 0 .35rem}.panel .muted{margin:.2rem 0 0}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.form-grid--centered{justify-items:center}.card{background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:1.1rem;display:grid;gap:.8rem}.card.inline{margin-top:1rem}.card-title{display:flex;justify-content:space-between;align-items:center}label{display:grid;gap:.35rem;color:#d6dbe6;font-weight:500;font-size:.95rem}input,select{background:#ffffff0a;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:.6rem .75rem;color:#f5f7fb;font-size:1rem}input:focus{outline:2px solid rgba(131,160,255,.5);border-color:#83a0ffcc}textarea{background:#ffffff0a;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:.6rem .75rem;color:#f5f7fb;font-size:1rem;min-height:120px;resize:vertical}textarea:focus{outline:2px solid rgba(131,160,255,.5);border-color:#83a0ffcc}select:focus{outline:2px solid rgba(131,160,255,.5);border-color:#83a0ffcc}button{border:none;border-radius:10px;padding:.65rem .9rem;min-height:2.75rem;font-weight:600;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .12s ease;font-size:1rem}button.primary{background:linear-gradient(135deg,#7db0ff,#82e8ff);color:#051327;box-shadow:0 10px 30px #82e8ff4d}button.primary.ghost{background:#82e8ff26;color:#dff7ff;border:1px solid rgba(130,232,255,.4)}button.secondary{background:#ffffff0f;color:#e9edf5;border:1px solid rgba(255,255,255,.15)}button.ghost{background:#ffffff0a;color:#e9edf5;border:1px solid rgba(255,255,255,.12)}button.danger{background:#ff5f5f33;color:#ffdada;border:1px solid rgba(255,95,95,.5);box-shadow:0 10px 30px #ff5f5f33}.icon-button{padding:.45rem .6rem;border-radius:8px;font-size:.95rem;display:inline-flex;align-items:center;justify-content:center;gap:.25rem}button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}button:not(:disabled):hover{transform:translateY(-1px)}.alert{margin-top:1rem;padding:.9rem 1rem;border-radius:12px;border:1px solid rgba(255,255,255,.08)}.alert.success{background:#53c98126;color:#b8ffd2;border-color:#53c98166}.alert.error{background:#ff6e6e26;color:#ffc7c7;border-color:#ff6e6e59}.token-box{background:#ffffff0a;border:1px dashed rgba(255,255,255,.2);padding:.75rem;border-radius:10px}.token-box code{word-break:break-all;color:#f6fbff;display:block;margin-top:.25rem}.pubs .search-row{display:flex;gap:.6rem;align-items:center;justify-content:center;max-width:640px;margin:0 auto;width:100%}.pubs .search-row input{flex:0 1 420px;width:min(420px,100%)}.pubs-browse-content{display:grid;grid-template-columns:minmax(0,3fr) minmax(260px,1fr);gap:2rem;max-width:100%;margin:0 auto;width:100%;align-items:start}.pubs-browse-main{display:flex;flex-direction:column;gap:2rem;min-width:0}.pubs-browse-map{min-width:0}.search-section{display:flex;justify-content:center}.pub-request-banner{width:min(100%,860px);margin:0 auto .85rem;padding:.78rem .95rem;border-radius:16px;border:1px solid rgba(130,232,255,.22);background:linear-gradient(130deg,#82e8ff26,#7db0ff26);box-shadow:0 14px 40px #121c3457;display:flex;align-items:center;justify-content:space-between;gap:.7rem}.pub-request-banner__copy{display:grid;gap:.28rem;min-width:0}.pub-request-banner__eyebrow{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:.69rem;color:#0b223d}.pub-request-banner h3{margin:0}.pub-request-banner__text{margin:0;max-width:54ch}.pub-request-banner__action{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.62rem 1.05rem;border-radius:999px;border:1px solid rgba(5,24,40,.16);background:#fffffff5;color:#041a36;font-weight:700;font-size:.95rem;text-decoration:none;min-height:2.35rem;white-space:nowrap;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.pub-request-banner__action:hover{transform:translateY(-1px);box-shadow:0 10px 24px #07213c2e}.search-card{width:100%;max-width:100%;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:1.5rem;box-shadow:0 14px 40px #00000040}.search-card .search-row{display:flex;gap:.6rem;align-items:center;justify-content:flex-start;width:min(100%,640px);max-width:100%;margin:0 auto}.search-card .search-row input{flex:1 1 320px;width:min(420px,100%);min-width:0;max-width:100%}.search-card .filter-row{display:flex;gap:.75rem;align-items:center;margin-top:.9rem;flex-wrap:wrap}.search-card .filter-row label{display:inline-flex;align-items:center;gap:.4rem;margin:0;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#d6dbe6d9}.search-card .filter-row .select-wrap{position:relative;display:inline-flex;align-items:center}.search-card .filter-row select{appearance:none;background:#ffffff0a;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:.55rem 2.2rem .55rem .75rem;color:#f5f7fb;font-size:.95rem;min-width:210px}.search-card .filter-row select option{background:#f8fafc;color:#0f172a}.search-card .filter-row select:focus{outline:2px solid rgba(131,160,255,.5);border-color:#83a0ffcc}.search-card .filter-row .select-wrap:after{content:"▾";position:absolute;right:.75rem;color:#d6dbe6cc;pointer-events:none;font-size:.9rem}button.pill{padding:.35rem .85rem;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:#ffffff0f;font-size:.9rem;box-shadow:none}button.pill.active{background:#82e8ff2e;border-color:#82e8ff73;color:#dff7ff}.search-card .filter-row input[type=number]{width:160px;min-width:120px}.filter-hint{font-size:.85rem;color:#e6ebf8b3}.pub-browse-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;width:100%}.pub-detail-page{max-width:1200px;margin:0 auto}.pub-detail-content{margin-top:1.5rem;width:100%;max-width:100%}.pubs-layout{display:grid;grid-template-columns:minmax(280px,340px) 1fr;gap:1.25rem;align-items:start}@media(max-width:1100px){.pubs-layout{grid-template-columns:1fr}}.pubs-sidebar{display:flex;flex-direction:column;gap:1rem}.sidebar-card{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:1rem;box-shadow:0 14px 40px #00000040}@media(max-width:900px){.pubs-browse-content,.pub-browse-grid{grid-template-columns:1fr}}@media(max-width:600px){.pub-browse-grid{grid-template-columns:1fr}.search-card{padding:1rem}.search-card .filter-row{flex-direction:column;align-items:flex-start}.search-card .filter-row .select-wrap,.search-card .filter-row select{width:100%}}@media(max-width:700px){.pub-request-banner{flex-direction:column;align-items:stretch;text-align:left}.pub-request-banner__action{width:fit-content}.search-card .search-row{width:min(92vw,420px);flex-wrap:wrap;justify-content:stretch}.search-card .search-row input{flex:1 1 260px;width:min(100%,320px)}}.pub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-top:1rem;width:100%}.admin-users-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;margin-top:1rem;width:100%}.admin-pub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem}.admin-user-card{align-content:start;cursor:pointer}.admin-user-card__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.admin-user-stack{display:grid;gap:1.25rem}.admin-user-section{display:grid;gap:.55rem;padding-bottom:1.25rem;border-bottom:1px solid rgba(255,255,255,.08)}.admin-user-section:last-of-type{padding-bottom:0;border-bottom:0}.admin-user-pair{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.admin-user-section--danger .danger{justify-self:flex-start}.admin-owner-grid{display:grid;gap:.75rem;margin-top:.75rem}.owner-dashboard-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:1rem;align-items:start}.admin-owner-grid .admin-user-card{grid-template-columns:1fr;align-items:start;min-height:0}.owner-dashboard-grid .pub-card,.owner-alerts-card,.owner-management-card,.pub-card.owner-management-card,.pub-card.owner-alerts-card{grid-template-columns:1fr;align-items:start}.pub-card.owner-management-card .card.inline.stacked{width:100%;margin-top:.75rem}.owner-review-item{display:grid;gap:.75rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.08)}.owner-review-item:first-of-type{border-top:0;padding-top:0}.admin-owner-card__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.admin-owner-card h4{margin:.2rem 0;font-size:1rem}.admin-owner-search{width:fit-content;max-width:100%}.admin-owner-search-input{width:210px;flex:0 1 210px}.notifications-list{display:grid;gap:.85rem;margin-top:1rem}.notification-card{background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:1rem 1.1rem;display:grid;gap:.6rem}button.notification-card{width:100%;text-align:left;color:inherit;font:inherit}.notification-card--new{border-color:#82e8ff66;box-shadow:0 0 0 1px #82e8ff33}.notification-card--link{cursor:pointer;transition:border-color .12s ease,transform .12s ease}.notification-card--link:hover{border-color:#82e8ff59;transform:translateY(-1px)}.notification-card--link:focus-visible{outline:2px solid rgba(130,232,255,.6);outline-offset:2px}.notification-card__header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}.notification-card__tags{display:flex;gap:.4rem;flex-wrap:wrap}.notification-card__body{display:flex;flex-direction:column;gap:.5rem}.notification-card__body p{margin:0}.notification-card__time{font-size:.85rem}.reviews-grid,.claims-grid{grid-template-columns:1fr;width:100%}.pill-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.profile-panel{background:linear-gradient(135deg,#0d111ee6,#080c14e6);border:1px solid rgba(255,255,255,.06);box-shadow:0 20px 70px #00000073}.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;margin-top:1.5rem}.profile-panel .profile-grid{width:min(100%,980px);margin-inline:auto}.profile-card{background:linear-gradient(135deg,#ffffff0d,#ffffff05);border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0000004d,inset 0 1px #ffffff0d;height:100%;border-radius:16px}.profile-card--wide{grid-column:1 / -1}.profile-card .card-title{text-align:center;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:1.5rem}.profile-card .card-title h3{font-size:1.35rem;margin:.25rem 0 0;font-weight:600}.profile-card .card-title .eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;opacity:.7;margin:0}.profile-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.profile-details>div{padding:1.5rem;background:linear-gradient(135deg,#0003,#0000001a);border-radius:16px;border:1px solid rgba(255,255,255,.08);transition:all .3s ease}.profile-details>div:hover{background:linear-gradient(135deg,#00000040,#00000026);border-color:#82e8ff33}.profile-details .eyebrow{margin-bottom:.75rem;font-weight:600;font-size:.813rem;text-transform:uppercase;letter-spacing:.1em;color:#82e8ff}.profile-details .muted{line-height:1.6;font-size:.938rem}.profile-form{display:grid;gap:.9rem}.profile-overview{display:flex;flex-direction:column;gap:0}@media(max-width:1100px){.profile-overview{flex-direction:column}}.profile-identity{display:flex;gap:2rem;align-items:center;padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.15);margin-bottom:2rem}.profile-identity .eyebrow{margin:0;font-size:.688rem;opacity:.65;text-transform:uppercase;letter-spacing:.1em;font-weight:600}.profile-identity h3{margin:.5rem 0;font-size:1.75rem;font-weight:700;color:var(--color-text-primary)}.profile-avatar{width:140px;height:140px;border-radius:24px;object-fit:cover;border:3px solid rgba(130,232,255,.4);box-shadow:0 12px 32px #82e8ff40,0 0 48px #82e8ff1f;transition:all .3s ease;flex-shrink:0}.profile-avatar:hover{transform:scale(1.02);box-shadow:0 16px 40px #82e8ff4d,0 0 56px #82e8ff26}.profile-avatar--empty{background:#ffffff0f}.profile-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1.25rem;padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.15);margin-bottom:2rem}.profile-meta>div{text-align:center;padding:1.5rem 1rem;background:linear-gradient(135deg,#00000040,#00000026);border-radius:16px;border:1px solid rgba(255,255,255,.08);transition:all .3s ease;position:relative;overflow:hidden}.profile-meta>div:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(130,232,255,.5),transparent);opacity:0;transition:opacity .3s ease}.profile-meta>div:hover{background:linear-gradient(135deg,#0000004d,#0003);border-color:#82e8ff66;transform:translateY(-3px);box-shadow:0 8px 24px #82e8ff26}.profile-meta>div:hover:before{opacity:1}.profile-meta .eyebrow{margin:0 0 .75rem;font-size:.688rem;text-transform:uppercase;letter-spacing:.12em;font-weight:600;color:var(--color-text-tertiary)}.profile-meta strong{display:block;font-size:2rem;font-weight:700;color:#82e8ff;text-shadow:0 0 20px rgba(130,232,255,.3)}.profile-list{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.profile-list-item{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem;border-radius:12px;background:linear-gradient(135deg,#0003,#0000001a);border:1px solid rgba(255,255,255,.08);transition:all .2s ease}.profile-list-item:hover{background:linear-gradient(135deg,#00000040,#00000026);border-color:#82e8ff4d;transform:translate(4px)}.profile-list-item h4{margin:.5rem 0 .35rem;font-size:1.1rem}.friend-search-card{background:linear-gradient(140deg,#12203ab3,#0c1220f2);border:1px solid rgba(130,232,255,.18);box-shadow:0 18px 40px #00000059}.friend-search-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:end}.friend-list{display:grid;gap:.9rem}.friend-card .pub-card-image{height:110px}@media(max-width:720px){.friend-search-controls{grid-template-columns:1fr}}.favorites-tabs{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-bottom:1.5rem}.favorites-tab{background:#ffffff0a;border:1px solid rgba(255,255,255,.15);color:var(--color-text-primary);padding:.6rem 1rem;border-radius:999px;font-weight:600}.favorites-tab.is-active{background:linear-gradient(135deg,#82e8ff40,#7db0ff33);border-color:#82e8ff73;box-shadow:0 10px 24px #82e8ff33}.favorites-panel{display:grid;gap:1rem;padding:1.25rem;border-radius:16px;background:linear-gradient(135deg,#0003,#0000001a);border:1px solid rgba(255,255,255,.08)}.favorites-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.favorites-header h4{margin:0;font-size:1.1rem}.favorites-form label{display:grid;gap:.5rem}.favorites-input-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.favorites-input-row input{flex:1;min-width:220px}.favorites-list{display:grid;gap:.75rem}.favorites-item{display:flex;align-items:center;justify-content:flex-start;gap:1rem;padding:.9rem 1rem;border-radius:12px;background:linear-gradient(135deg,#0003,#0000001f);border:1px solid rgba(255,255,255,.08)}.favorites-item-content{display:grid;gap:.25rem;min-width:0}.favorites-actions{margin-left:auto}.favorites-item--pub{cursor:grab}.favorites-item--pub.is-dragging{opacity:.6;transform:scale(.98)}.favorites-item--pub.is-drop-target{border-color:#82e8ff99;box-shadow:0 0 20px #82e8ff33}.favorites-rank{width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:#051327;background:linear-gradient(135deg,#82e8ffcc,#7db0ffcc);box-shadow:0 8px 18px #82e8ff40;flex-shrink:0}.favorites-item>div{display:grid;gap:.25rem}.favorites-search-results{display:grid;gap:.75rem;padding:1rem;border-radius:14px;background:#ffffff08;border:1px solid rgba(255,255,255,.08)}.favorites-search-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.08)}.favorites-search-item:last-child{border-bottom:none;padding-bottom:0}.pub-card{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:1rem;display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:1rem;align-items:center;text-align:left}.pub-card-body{display:grid;gap:.4rem}.pub-card-header{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem .9rem;justify-content:space-between}.pub-card-header h3{margin:.2rem 0}.pub-card-meta{display:inline-flex;align-items:center;gap:.6rem;flex-wrap:wrap}.pub-card-image{width:100%;height:140px;border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#0003;justify-self:end}.pub-card-image img{width:100%;height:100%;object-fit:cover;display:block}.pub-card-image.placeholder{display:flex;align-items:center;justify-content:center;color:#aeb4c1;font-size:.85rem;letter-spacing:.02em}.pub-description{margin:.1rem 0 0;line-height:1.45}@media(max-width:720px){.pub-card{grid-template-columns:1fr;align-items:start}.pub-card-image{height:180px;justify-self:stretch}}.pub-list .pub-card{transition:transform .12s ease,border-color .12s ease}.pub-list .pub-card:hover{transform:translateY(-2px);border-color:#82e8ff59}.pub-card.active{border-color:#82e8ff80;box-shadow:0 0 0 1px #82e8ff66}.pub-meta{display:flex;gap:.4rem;flex-wrap:wrap}.pub-card h3{margin:.2rem 0;font-size:1.15rem}.muted{color:#aeb4c1}.address{color:#dce2ed;font-weight:600;margin:.2rem 0 0}.pubs-main{min-height:320px}.pub-detail{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:100%}.pub-detail-hero{display:flex;justify-content:space-between;gap:1rem;padding:1.25rem;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:linear-gradient(135deg,#0f192dd9,#0a1120e6);box-shadow:0 20px 60px #00000059}.hero-thumb{min-width:160px;max-width:220px}.hero-thumb img{width:100%;height:140px;object-fit:cover;border-radius:12px;border:1px solid rgba(255,255,255,.08)}.pub-sections{display:flex;flex-direction:column;gap:2.5rem;margin-top:1.5rem;width:100%}.pub-edit-form{display:grid;gap:1.5rem}.pub-edit-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;align-items:start}.image-order-grid{display:grid;gap:.75rem}.image-order-card{display:grid;grid-template-columns:140px 1fr;gap:1rem;align-items:center;padding:.75rem;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.image-order-card.is-drag-over{border-color:#82e8ff80;box-shadow:0 0 0 1px #82e8ff66}.image-order-card.is-dragging{opacity:.6;transform:scale(.98)}.image-order-thumb{width:100%;height:90px;object-fit:cover;border-radius:10px;border:1px solid rgba(255,255,255,.08)}.image-order-meta{display:flex;flex-direction:column;gap:.5rem}.image-order-actions{margin-top:.25rem}.pub-edit-actions{margin-top:.5rem}@media(max-width:720px){.image-order-card{grid-template-columns:1fr}.image-order-thumb{height:160px}}.pub-section{display:flex;flex-direction:column;gap:1rem;width:100%}.pub-section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;width:100%}@media(max-width:700px){.info-grid{grid-template-columns:1fr}}.info-list{display:grid;gap:.35rem;margin-top:.5rem}.info-list div{display:flex;gap:.35rem;align-items:baseline;color:#dce2ed}.info-list strong{color:#a3b0c6;font-size:.95rem}.pub-hero-actions{margin-top:.75rem}.card.stacked{display:grid;gap:.75rem}.card.soft{background:#ffffff05;border-color:#ffffff0d}.empty-state{border:1px dashed rgba(255,255,255,.15);border-radius:14px;padding:1.25rem;background:#ffffff05}.skeleton{background:linear-gradient(90deg,#ffffff0d,#ffffff14,#ffffff0d);border-radius:12px;padding:1rem;min-height:120px;animation:shimmer 1.8s infinite linear}.actions-row{display:flex;gap:.5rem;flex-wrap:wrap}.auth-tabs{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.auth-tabs .active{border-color:#82e8ff66}.comment-stack{margin-top:1rem;display:grid;gap:.8rem}.review-comments,.review-comment-form{margin-top:.9rem;padding-top:.9rem;border-top:1px solid rgba(255,255,255,.08);display:grid;gap:.75rem}.review-anchor{scroll-margin-top:6rem}.review-anchor--active .review-card{border-color:#82e8ff80;box-shadow:0 0 0 1px #82e8ff40}.comment{--comment-depth: 1;position:relative;background:linear-gradient(135deg,#83a0ff0f,#ffffff05);border:1px solid rgba(255,255,255,.08);padding:.85rem;border-radius:12px;box-shadow:0 4px 14px #00000040}.comment:before{content:"";position:absolute;left:-.45rem;top:.75rem;width:.35rem;height:.35rem;background:#83a0ff;border-radius:50%;opacity:.35}.comment-active{border-color:#83a0ff99;box-shadow:0 0 0 2px #83a0ff40}.comment-meta{display:flex;gap:.5rem;align-items:center;color:#aeb4c1}.comment-body{margin:.25rem 0;line-height:1.5}.comment-actions{display:flex;gap:.5rem;flex-wrap:wrap}.comment-children{margin-left:1.25rem;border-left:2px solid rgba(131,160,255,.25);padding-left:.9rem;margin-top:.6rem;display:grid;gap:.6rem}.reply-chip{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;padding:.65rem .75rem;border-radius:10px;background:#83a0ff1f;border:1px solid rgba(131,160,255,.35)}.reply-chip .muted{margin:.25rem 0 0}.form-inline{display:grid;gap:.5rem}.file-picker{display:grid;gap:.35rem;padding:.9rem;border:1px dashed rgba(255,255,255,.18);border-radius:12px;background:#ffffff05;cursor:pointer}.file-picker input[type=file]{padding:.25rem 0}.upload-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.6rem;padding:.6rem 0 .2rem}.upload-meta p{margin:0}.file-name{color:#f5f7fb;word-break:break-all}.image-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(90px,140px);gap:.6rem;margin-top:.4rem;overflow-x:auto;padding-bottom:.2rem;scroll-snap-type:x proximity}.image-strip.compact{grid-auto-columns:minmax(72px,110px)}.section-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.image-thumb{width:100%;height:100%;min-height:80px;object-fit:cover;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#ffffff05;box-shadow:inset 0 1px #ffffff0d;scroll-snap-align:start}.gallery-page{display:grid;gap:1rem}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.9rem;margin-top:.5rem}.gallery-image{width:100%;height:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;box-shadow:0 10px 24px #0a0c1240}.gallery-image--landscape{aspect-ratio:4 / 3}.gallery-image--portrait{aspect-ratio:3 / 4}.gallery-image--square{aspect-ratio:1 / 1}.history-grid{display:grid;grid-template-columns:1fr;gap:1rem;width:100%}.history-card{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:100%;overflow:hidden}.history-title{align-items:flex-start}.history-row{background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:100%;overflow:hidden}.history-meta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.diff-list{list-style:none;padding:.75rem;margin:0;display:flex;flex-direction:column;gap:.5rem;color:#d6dbe6;background:#0003;border-radius:8px;font-size:.875rem;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word}.diff-list li{display:flex;flex-direction:column;gap:.25rem;padding:.5rem;background:#ffffff08;border-radius:6px;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word}.diff-list li strong{color:#82e8ff;font-weight:600;font-size:.813rem;text-transform:capitalize}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.skeleton{animation:none}button:not(:disabled):hover{transform:none}}@media(max-width:900px){.hero{grid-template-columns:1fr}.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.85rem}.brand{min-width:0}.topbar-menu-toggle{display:inline-flex}.topnav,.topbar-right{display:none}.topnav.is-open,.topbar-right.is-open{display:flex;grid-column:1 / -1;width:100%}.topnav.is-open{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding-bottom:.25rem}.topnav.is-open .topnav-link{flex:0 0 auto}.topbar-right.is-open{justify-content:space-between;align-items:center}.pub-detail-hero{flex-direction:column}.hero-thumb{width:100%;min-width:0;max-width:none}.hero-thumb img{height:clamp(180px,42vw,260px)}.profile-grid,.profile-details,.pub-edit-layout,.admin-user-layout,.admin-pub-grid,.admin-users-grid,.owner-dashboard-grid{grid-template-columns:1fr}.profile-card--wide{grid-column:auto}.profile-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.panel,.hero,.search-card{padding:1rem}.grid{gap:1rem;margin-top:1rem}.search-card .search-row,.pubs .search-row{flex-direction:column;align-items:stretch}.search-card .search-row button,.pubs .search-row button{width:100%}.search-card .filter-row{flex-direction:column;align-items:stretch;gap:.65rem}.search-card .filter-row label,.search-card .filter-row .select-wrap,.search-card .filter-row select,.search-card .filter-row input[type=number],.search-card .filter-row button.pill{width:100%}.search-card .filter-row select,.search-card .filter-row input[type=number]{min-width:0}.pub-map-frame{height:clamp(260px,50vh,380px)}}@media(max-width:700px){.panel-header{flex-direction:column}.panel-header-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}.topnav.is-open{flex-direction:column;overflow-x:visible}.topnav.is-open .topnav-link{width:100%;text-align:left}.topbar-right.is-open{flex-direction:column;align-items:stretch}.topbar-right.is-open .btn{width:100%}.pub-card{grid-template-columns:1fr;align-items:start}.pub-card-image{justify-self:stretch}.profile-identity{flex-direction:column;text-align:center;gap:1rem;padding-bottom:1.25rem;margin-bottom:1.25rem}.profile-identity>div{width:100%}.profile-avatar{width:112px;height:112px}.profile-identity h3{font-size:1.35rem}.profile-meta{gap:.65rem;padding-bottom:1.25rem;margin-bottom:1.25rem}.profile-meta>div{padding:1rem .75rem}.profile-meta strong{font-size:1.35rem}.favorites-item,.favorites-search-item,.profile-list-item,.section-actions,.notification-card__header,.pub-card-header,.reply-chip{flex-direction:column;align-items:flex-start}.admin-owner-search{width:100%}.admin-owner-search-input{width:min(100%,280px)}}@media(max-width:560px){.brand{flex-direction:column;align-items:flex-start;gap:.35rem}.hero h1{font-size:clamp(1.4rem,7.5vw,1.8rem)}.hero-card{padding:1rem}.profile-meta{grid-template-columns:1fr}.comment-children{margin-left:.65rem;padding-left:.6rem}.image-order-card{grid-template-columns:1fr}}
