.rich-text{line-height:1.6}.rich-text h1,.rich-text h2,.rich-text h3,.rich-text h4{margin-top:1.5em;margin-bottom:.5em}.rich-text p{margin-bottom:1em}.rich-text ul,.rich-text ol{margin-bottom:1em;padding-left:1.5em}.rich-text a{color:inherit;text-decoration:underline}.rich-text-2cols{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.col{line-height:1.6}.col h1,.col h2,.col h3,.col h4{margin-top:1.5em;margin-bottom:.5em}.col p{margin-bottom:1em}@media(max-width:768px){.rich-text-2cols{grid-template-columns:1fr}}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-border-style:solid;--tw-duration:initial;--tw-font-weight:initial;--tw-leading:initial}}}[data-scope=accordion][data-part=root]{width:100%;max-width:var(--container-md,28rem);--tw-gradient-position:to bottom right;margin-inline:auto}@supports (background-image:linear-gradient(in lab,red,red)){[data-scope=accordion][data-part=root]{--tw-gradient-position:to bottom right in oklab}}[data-scope=accordion][data-part=root]{background-image:linear-gradient(var(--tw-gradient-stops));--tw-gradient-from:color-mix(in oklab,var(--color-gray-100,oklch(96.7% .003 264.542))80%,transparent);--tw-gradient-to:color-mix(in oklab,var(--color-gray-200,oklch(92.8% .006 264.531))80%,transparent);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position));--tw-backdrop-blur:blur(var(--blur-xs,4px));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}[data-scope=accordion][data-part=root]:is(.dark *){--tw-gradient-from:#101828cc}@supports (color:color-mix(in lab,red,red)){[data-scope=accordion][data-part=root]:is(.dark *){--tw-gradient-from:color-mix(in oklab,var(--color-gray-900,oklch(21% .034 264.665))80%,transparent)}}[data-scope=accordion][data-part=root]:is(.dark *){--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position));--tw-gradient-to:#1e2939cc}@supports (color:color-mix(in lab,red,red)){[data-scope=accordion][data-part=root]:is(.dark *){--tw-gradient-to:color-mix(in oklab,var(--color-gray-800,oklch(27.8% .033 256.848))80%,transparent)}}[data-scope=accordion][data-part=root]:is(.dark *){--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}[data-scope=accordion][data-part=item]{border-bottom-style:var(--tw-border-style);border-color:#e5e7eb80;border-bottom-width:1px}@supports (color:color-mix(in lab,red,red)){[data-scope=accordion][data-part=item]{border-color:color-mix(in oklab,var(--color-gray-200,oklch(92.8% .006 264.531))50%,transparent)}}[data-scope=accordion][data-part=item]:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}[data-scope=accordion][data-part=item]:is(.dark *){border-color:#36415380}@supports (color:color-mix(in lab,red,red)){[data-scope=accordion][data-part=item]:is(.dark *){border-color:color-mix(in oklab,var(--color-gray-700,oklch(37.3% .034 259.733))50%,transparent)}}[data-scope=accordion][data-part=item-trigger]{width:100%;padding-inline:calc(var(--spacing,.25rem)*4);padding-block:calc(var(--spacing,.25rem)*3);text-align:left;transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-duration:.2s;justify-content:space-between;align-items:center;transition-duration:.2s;display:flex}@media(hover:hover){[data-scope=accordion][data-part=item-trigger]:hover{--tw-gradient-position:to right}@supports (background-image:linear-gradient(in lab,red,red)){[data-scope=accordion][data-part=item-trigger]:hover{--tw-gradient-position:to right in oklab}}[data-scope=accordion][data-part=item-trigger]:hover{background-image:linear-gradient(var(--tw-gradient-stops));--tw-gradient-from:#3080ff0d}@supports (color:color-mix(in lab,red,red)){[data-scope=accordion][data-part=item-trigger]:hover{--tw-gradient-from:color-mix(in oklab,var(--color-blue-500,oklch(62.3% .214 259.815))5%,transparent)}}[data-scope=accordion][data-part=item-trigger]:hover{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position));--tw-gradient-to:#ac4bff0d}@supports (color:color-mix(in lab,red,red)){[data-scope=accordion][data-part=item-trigger]:hover{--tw-gradient-to:color-mix(in oklab,var(--color-purple-500,oklch(62.7% .265 303.9))5%,transparent)}}[data-scope=accordion][data-part=item-trigger]:hover{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}}[data-scope=accordion][data-part=item-trigger] span{--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-gray-900,oklch(21% .034 264.665))}[data-scope=accordion][data-part=item-trigger] span:is(.dark *){color:var(--color-white,#fff)}[data-scope=accordion][data-part=item-indicator]{margin-left:calc(var(--spacing,.25rem)*2);transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-duration:.2s;transition-duration:.2s}[data-scope=accordion][data-part=item-indicator][data-state=open]{rotate:180deg}[data-scope=accordion][data-part=item-indicator] svg{height:calc(var(--spacing,.25rem)*4);width:calc(var(--spacing,.25rem)*4);color:var(--color-gray-600,oklch(44.6% .03 256.802))}[data-scope=accordion][data-part=item-indicator] svg:is(.dark *){color:var(--color-gray-400,oklch(70.7% .022 261.325))}[data-scope=accordion][data-part=item-content]{padding-inline:calc(var(--spacing,.25rem)*4);font-size:var(--text-sm,calc(14/18*1rem));line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));--tw-leading:var(--leading-relaxed,1.625);line-height:var(--leading-relaxed,1.625);color:var(--color-gray-700,oklch(37.3% .034 259.733));overflow:hidden}[data-scope=accordion][data-part=item-content]:is(.dark *){color:var(--color-gray-300,oklch(87.2% .01 258.338))}[data-scope=accordion][data-part=item-content][data-state=open]{animation:.3s cubic-bezier(.4,0,.2,1) accordionSlideDown}[data-scope=accordion][data-part=item-content][data-state=closed]{animation:.25s cubic-bezier(.4,0,.2,1) accordionSlideUp}@keyframes accordionSlideDown{0%{opacity:0;height:0;transform:translateY(-8px)}to{opacity:1;height:var(--height);transform:translateY(0)}}@keyframes accordionSlideUp{0%{opacity:1;height:var(--height);transform:translateY(0)}to{opacity:0;height:0;transform:translateY(-8px)}}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-leading{syntax:"*";inherits:false}.bild{margin:1rem 0}.bild picture,.bild img{max-width:100%;height:auto;display:block}.bild figcaption{color:#666;margin-top:.5rem;font-size:.875rem}.gallery{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin:1rem 0;display:grid}.gallery-item{margin:0}.gallery-item img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto;display:block}.gallery-item figcaption{color:#666;margin-top:.5rem;font-size:.875rem}.section{padding:2rem 0}.section-hero{justify-content:center;align-items:center;min-height:60vh;display:flex;position:relative}.hero-image{z-index:-1;position:absolute;inset:0}.hero-image img{object-fit:cover;width:100%;height:100%}.hero-content{text-align:center;color:#fff;text-shadow:0 2px 4px #00000080;padding:2rem}.hero-content h1{margin-bottom:1rem;font-size:3rem}.section-teaser{grid-template-columns:1fr 1fr;gap:2rem;padding:2rem;display:grid}.teaser-red{color:#c00}.teaser-blue{color:#006}@media(max-width:768px){.section-teaser{grid-template-columns:1fr}}.section-about{padding:2rem}.section-image-teaser{grid-template-columns:1fr 1fr;align-items:center;gap:2rem;padding:2rem;display:grid}.image img{width:100%;height:auto}@media(max-width:768px){.section-image-teaser{grid-template-columns:1fr}}.productlist{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1rem;display:grid}.product-item{width:100%}.group-heading{color:var(--color-foreground);border-bottom:2px solid var(--color-border);grid-column:1/-1;margin:1rem 0 0;padding-bottom:.5rem;font-size:1.25rem;font-weight:600}.group-heading.first{margin-top:0}.presentation-bar{z-index:50;margin-bottom:1rem;position:sticky;top:5rem}.date-nav-day{color:#9ca3af;cursor:pointer;border-radius:.5rem;flex-direction:column;align-items:center;min-width:3rem;padding:.25rem .5rem;font-size:.75rem;transition:all .2s;display:flex}.date-nav-day:hover:not(:disabled),.date-nav-day[data-state=active]{color:#fff;background-color:#1f2937}.date-nav-day[data-state=past]{color:#4b5563;cursor:not-allowed}.date-nav-day[data-today]{font-weight:700;position:relative}.date-nav-day[data-today]:after{content:"";background-color:#9ca3af;width:13px;height:2px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.date-nav-day-name{text-transform:uppercase;font-size:.625rem}.date-nav-day-number{font-weight:500}.event-card{display:flex;flex-direction:column;gap:2px;padding:6px 10px;border-radius:6px;font-size:.75rem;text-align:left;cursor:pointer;transition:all .15s ease;border:1px solid transparent;background:linear-gradient(135deg,#3b82f64d,#2563eb33);border-color:#3b82f666;color:#bfdbfe}.event-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000004d;border-color:#3b82f699}.event-card.alt-1{background:linear-gradient(135deg,#10b9814d,#05966933);border-color:#10b98166;color:#a7f3d0}.event-card.alt-1:hover{border-color:#10b98199}.event-card.alt-2{background:linear-gradient(135deg,#f59e0b4d,#d9770633);border-color:#f59e0b66;color:#fde68a}.event-card.alt-2:hover{border-color:#f59e0b99}.event-card.alt-3{background:linear-gradient(135deg,#ec48994d,#db277733);border-color:#ec489966;color:#fbcfe8}.event-card.alt-3:hover{border-color:#ec489999}.event-card.alt-4{background:linear-gradient(135deg,#8b5cf64d,#7c3aed33);border-color:#8b5cf666;color:#ddd6fe}.event-card.alt-4:hover{border-color:#8b5cf699}.event-card.variant-grid{position:absolute;inset:3px 2px;width:auto;height:auto;overflow:hidden}.event-card.variant-list{flex-direction:row;align-items:flex-start;gap:12px;padding:12px 16px;width:100%}.event-time{display:flex;flex-direction:column;align-items:center;min-width:50px;font-weight:600;color:#ffffffe6}.time-start{font-size:.875rem}.time-duration{font-size:.625rem;font-weight:400;opacity:.7}.event-content{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0;position:relative}.event-header{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.event-text{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fffffff2}.variant-list .event-text{white-space:normal;font-size:.875rem}.event-badge{position:absolute;top:0;right:0;font-size:.625rem;padding:1px 4px;background:#ffffff26;border-radius:3px;white-space:nowrap}.variant-grid .event-badge{top:-3px;right:-4px}.event-meta{display:flex;flex-direction:column;align-items:flex-start;gap:2px;font-size:.625rem;opacity:.7}.variant-list .event-meta{flex-direction:column;gap:2px;font-size:.75rem}.event-desc{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.event-location{display:flex;align-items:center;gap:4px}.event-location:before{content:"📍";font-size:.625rem}.event-id{white-space:nowrap}.timetable-container{position:relative;min-height:400px;background:linear-gradient(to bottom right,#11182799,#1f293799);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:.75rem;border:1px solid rgb(55 65 81 / .3);overflow:hidden}.timetable-container .loading-overlay{position:absolute;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background-color:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:.75rem;animation:fadeIn .2s ease-out}.timetable-container .loading-overlay[data-state=closed]{animation:fadeOut .2s ease-out}.timetable-container .loading-overlay-content{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem 3rem;background:linear-gradient(135deg,#1f2937f2,#111827f2);border-radius:1rem;border:1px solid rgb(55 65 81);box-shadow:0 25px 50px -12px #00000080}.timetable-container .loading-overlay-content p{color:#d1d5db;font-size:.875rem;font-weight:500;margin:0}.timetable-container .loading-overlay .loading-spinner{width:2.5rem;height:2.5rem;border:3px solid rgb(55 65 81);border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.timetable-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem;color:#9ca3af}.loading-spinner{width:2rem;height:2rem;border:2px solid rgb(75 85 99);border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}.timetable-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem;color:#f87171}.timetable-error button{padding:.5rem 1rem;background:#1f2937;border:1px solid rgb(75 85 99);border-radius:.5rem;color:#d1d5db;cursor:pointer;transition:all .2s}.timetable-error button:hover{background:#374151;border-color:#6b7280}.timetable-empty{display:flex;align-items:center;justify-content:center;min-height:200px;color:#9ca3af}.day-group{margin-bottom:1.5rem}.day-group:last-child{margin-bottom:0}.day-group-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#1f2937cc;border-bottom:1px solid rgb(55 65 81 / .5);position:sticky;top:0;z-index:20}.day-group-header.today{background:#3b82f633;border-color:#3b82f64d}.day-name{font-size:1rem;font-weight:600;color:#e5e7eb}.day-group-header.today .day-name{color:#60a5fa}.day-date{font-size:.75rem;color:#9ca3af}.day-count{font-size:.625rem;color:#9ca3af;background:#374151;padding:.125rem .5rem;border-radius:9999px;margin-left:auto}.schedule-grid{display:grid;gap:0;overflow-x:auto}.grid-header{background:#1f2937e6;padding:.5rem .25rem;text-align:center;border-bottom:1px solid rgb(55 65 81 / .5);border-right:1px solid rgb(55 65 81 / .3);position:sticky;top:0;z-index:10}.grid-corner{position:sticky;left:0;z-index:15;background:#1f2937}.time-header{display:flex;flex-direction:column;align-items:center;min-width:60px}.time-range{font-size:.75rem;font-weight:600;color:#d1d5db}.time-full{font-size:.625rem;color:#6b7280}.location-group{display:flex;border-bottom:1px solid rgb(55 65 81 / .3)}.location-group:last-child{border-bottom:none}.location-label{position:sticky;left:0;z-index:5;width:120px;min-width:120px;background:#1f2937f2;padding:.75rem .75rem .5rem;font-size:.75rem;font-weight:500;color:#d1d5db;display:flex;align-items:flex-start;border-right:1px solid rgb(55 65 81 / .5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lanes-container{flex:1;display:flex;flex-direction:column}.event-lane{position:relative;min-height:4.5rem;border-bottom:1px solid rgb(55 65 81 / .1)}.event-lane>div{position:absolute;top:0;bottom:0}@media(max-width:768px){.location-label{font-size:.625rem;padding:.375rem .5rem;width:80px;min-width:80px}.time-header{min-width:50px}.time-range{font-size:.625rem}.time-full{display:none}.day-group-header{padding:.5rem .75rem}.day-name{font-size:.875rem}.event-lane{min-height:4rem}}.timetable-loading-more{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1.5rem;color:#9ca3af}.timetable-loading-more .loading-spinner{width:1.5rem;height:1.5rem;border:2px solid rgb(75 85 99);border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}.timelist-container{position:relative;min-height:400px;background:linear-gradient(to bottom right,#11182799,#1f293799);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:.75rem;border:1px solid rgb(55 65 81 / .3);overflow:hidden}.timelist-container .loading-overlay{position:absolute;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background-color:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:.75rem;animation:fadeIn .2s ease-out}.timelist-container .loading-overlay[data-state=closed]{animation:fadeOut .2s ease-out}.timelist-container .loading-overlay-content{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem 3rem;background:linear-gradient(135deg,#1f2937f2,#111827f2);border-radius:1rem;border:1px solid rgb(55 65 81);box-shadow:0 25px 50px -12px #00000080}.timelist-container .loading-overlay-content p{color:#d1d5db;font-size:.875rem;font-weight:500;margin:0}.timelist-container .loading-overlay .loading-spinner{width:2.5rem;height:2.5rem;border:3px solid rgb(55 65 81);border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.timelist-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem;color:#9ca3af}.timelist-loading .loading-spinner{width:2rem;height:2rem;border:2px solid rgb(75 85 99);border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.timelist-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem;color:#f87171}.timelist-error button{padding:.5rem 1rem;background:#1f2937;border:1px solid rgb(75 85 99);border-radius:.5rem;color:#d1d5db;cursor:pointer;transition:all .2s}.timelist-error button:hover{background:#374151;border-color:#6b7280}.timelist-empty{display:flex;align-items:center;justify-content:center;min-height:200px;color:#9ca3af}.timelist-container .day-group{margin-bottom:1.5rem}.timelist-container .day-group:last-child{margin-bottom:0}.timelist-container .day-group-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#1f2937cc;border-bottom:1px solid rgb(55 65 81 / .5);position:sticky;top:0;z-index:20}.timelist-container .day-group-header.today{background:#3b82f633;border-color:#3b82f64d}.timelist-container .day-name{font-size:1rem;font-weight:600;color:#e5e7eb}.timelist-container .day-group-header.today .day-name{color:#60a5fa}.timelist-container .day-count{font-size:.625rem;color:#9ca3af;background:#374151;padding:.125rem .5rem;border-radius:9999px;margin-left:auto}.events-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;padding:1rem}@media(max-width:768px){.events-grid{grid-template-columns:1fr;gap:.5rem;padding:.75rem}.timelist-container .day-group-header{padding:.5rem .75rem}.timelist-container .day-name{font-size:.875rem}}@media(min-width:1280px){.events-grid{grid-template-columns:repeat(3,1fr)}}.timelist-loading-more{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1.5rem;color:#9ca3af}.timelist-loading-more .loading-spinner{width:1.5rem;height:1.5rem;border:2px solid rgb(75 85 99);border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}.error{color:#dc2626;background:#fef2f2;border-radius:4px;padding:1rem}.loading-skeleton{flex-direction:column;gap:1.5rem;display:flex}.skeleton-filter{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%) 0 0/200% 100%;border-radius:8px;height:48px;animation:1.5s infinite shimmer}.skeleton-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.skeleton-card{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%) 0 0/200% 100%;border-radius:12px;height:320px;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.unknown-section{background:#fff3cd;border:1px solid #ffc107;border-radius:4px;margin:1rem 0;padding:1rem}.unknown-section pre{margin:0;font-size:.75rem;overflow:auto}
