@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Playfair+Display:wght@400;500;600;700&family=Source+Code+Pro:wght@300;400;500;600&display=swap');:root{--tw-color-primary:#0077B6;--tw-color-primary-dark:#005F92;--tw-color-secondary:#333333;--tw-color-secondary-light:#F1F5F9;--tw-color-accent:#C81D25;--tw-color-neutral-text:#2E2E2E;--tw-color-neutral-bg:#F8FAFC;--tw-color-white:#FFFFFF;--tw-color-hover-light:#E6F4FB;--font-primary:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--font-display:'Playfair Display',Georgia,serif;--font-mono:'Source Code Pro','Monaco','Menlo',monospace;--mobile-table-label-width:130px;--mobile-table-label-bg:#f8f9fa;--mobile-table-label-color:#495057;--mobile-table-cell-padding:15px;--mobile-table-border:#e9ecef;--mobile-table-shadow:0 2px 4px rgba(0,0,0,0.1);--mobile-base-font:14px;--mobile-small-font:12px;--mobile-large-font:16px;--mobile-header-max:2rem;--transition-base:0.3s cubic-bezier(0.4,0,0.2,1);--transition-fast:0.15s ease-out;--wave-animation:wave 3s ease-in-out infinite}.bg-primary{background-color:var(--tw-color-primary) !important}.bg-primary-dark{background-color:var(--tw-color-primary-dark) !important}.bg-secondary{background-color:var(--tw-color-secondary) !important}.bg-secondary-light{background-color:var(--tw-color-secondary-light) !important}.bg-accent{background-color:var(--tw-color-accent) !important}.bg-neutral{background-color:var(--tw-color-neutral-bg) !important}.bg-hover-light{background-color:var(--tw-color-hover-light) !important}.text-primary{color:var(--tw-color-primary) !important}.text-primary-dark{color:var(--tw-color-primary-dark) !important}.text-secondary{color:var(--tw-color-secondary) !important}.text-accent{color:var(--tw-color-accent) !important}.text-neutral{color:var(--tw-color-neutral-text) !important}body{font-family:var(--font-primary);font-size:16px;line-height:1.6;color:var(--tw-color-neutral-text);background-color:var(--tw-color-neutral-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (max-width:768px){body{font-size:var(--mobile-base-font);line-height:1.5}h1,h2,h3,h4,h5,h6{font-size:clamp(1.2rem,4vw,var(--mobile-header-max)) !important}.conste--title{font-size:var(--mobile-header-max) !important}}strong,b,.font-bold,.font-semibold{color:#1a1a1a !important;font-weight:600 !important}.bg-primary strong,.bg-secondary strong,.bg-accent strong{color:#ffffff !important}li strong,p strong,td strong,th strong,span strong{color:#2c3e50 !important;font-weight:600 !important}.conste--btn{padding:12px 24px;border-radius:8px;font-family:var(--font-primary);font-weight:500;font-size:14px;border:none;cursor:pointer;transition:all var(--transition-base);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;position:relative;overflow:hidden}.conste--btn::before{content:'';position:absolute;top:50%;left:50%;width:0;height:0;background:rgba(255,255,255,0.3);border-radius:50%;transform:translate(-50%,-50%);transition:width 0.6s,height 0.6s}.conste--btn:hover::before{width:300px;height:300px}.conste--btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,119,182,0.3)}.conste--btn:active{transform:translateY(0)}.conste--btn-sm{padding:8px 16px;font-size:12px}.conste--btn-lg{padding:16px 32px;font-size:16px}.conste--card{border-radius:12px;box-shadow:0 4px 6px rgba(0,0,0,0.05);transition:all var(--transition-base);overflow:hidden;position:relative}.conste--card::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:2px;background:linear-gradient(90deg,transparent,var(--tw-color-primary),transparent);transition:left 0.5s}.conste--card:hover::before{left:100%}.conste--card:hover{transform:translateY(-4px);box-shadow:0 12px 25px rgba(0,0,0,0.1)}.conste--card-header{padding:20px 24px 16px;border-bottom:1px solid #e5e7eb}.conste--card-body{padding:24px}.conste--card-footer{padding:16px 24px 20px;border-top:1px solid #e5e7eb}.conste--modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all var(--transition-base);z-index:1000;backdrop-filter:blur(4px)}.conste--modal.is-active{opacity:1;visibility:visible}.conste--modal-content{max-width:90vw;max-height:90vh;border-radius:12px;position:relative;transform:scale(0.8);transition:transform var(--transition-base);overflow:hidden}.conste--modal.is-active .conste--modal-content{transform:scale(1)}.conste--modal-header{padding:24px 24px 16px;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between}.conste--modal-body{padding:24px;max-height:60vh;overflow-y:auto}.conste--modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--tw-color-secondary);transition:color var(--transition-fast)}.conste--modal-close:hover{color:var(--tw-color-accent)}.conste--input{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-family:var(--font-primary);font-size:14px;transition:all var(--transition-base);background-color:var(--tw-color-white);color:var(--tw-color-neutral-text)}.conste--input:focus{outline:none;border-color:var(--tw-color-primary);box-shadow:0 0 0 3px rgba(0,119,182,0.1)}.conste--input::placeholder{color:#9ca3af}.conste--input-group{margin-bottom:20px}.conste--label{display:block;margin-bottom:8px;font-weight:500;color:var(--tw-color-neutral-text);font-size:14px}.conste--list{list-style:none;padding:0;margin:0}.conste--list-item{padding:12px 16px;border-bottom:1px solid #f1f5f9;transition:all var(--transition-fast);cursor:pointer;position:relative;overflow:hidden}.conste--list-item::before{content:'';position:absolute;left:0;top:0;height:100%;width:3px;background:var(--tw-color-primary);transform:scaleY(0);transition:transform var(--transition-base)}.conste--list-item:hover::before{transform:scaleY(1)}.conste--list-item:hover{background-color:var(--tw-color-hover-light);color:var(--tw-color-primary)}.conste--list-item:last-child{border-bottom:none}.conste--table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:20px}.conste--table{width:100%;border-collapse:collapse;font-family:var(--font-primary)}.conste--table th{font-weight:600;text-align:left;padding:12px 16px;border-bottom:2px solid #e5e7eb}.conste--table td{padding:12px 16px;border-bottom:1px solid #f1f5f9;vertical-align:middle}.conste--table img{max-width:80px;max-height:60px;width:auto;height:auto;border-radius:4px}@media (min-width:769px){.conste--table-responsive{overflow-x:auto;border-radius:8px;box-shadow:0 4px 6px rgba(0,0,0,0.05)}.conste--table th:first-child,.conste--table td:first-child{position:sticky;left:0;z-index:10}}@media (min-width:769px) and (max-width:1024px){.conste--table{font-size:13px}.conste--table th,.conste--table td{padding:10px 12px}}@media (max-width:768px){.conste--table-responsive table,.conste--table-responsive thead,.conste--table-responsive tbody,.conste--table-responsive th,.conste--table-responsive td,.conste--table-responsive tr{display:block !important}.conste--table-responsive thead tr{position:absolute !important;top:-9999px !important;left:-9999px !important;visibility:hidden !important}.conste--table-responsive tr{border:1px solid #ddd !important;border-radius:8px !important;margin-bottom:15px !important;background:white !important;box-shadow:var(--mobile-table-shadow) !important;padding:0 !important;overflow:hidden !important}.conste--table-responsive td{border:none !important;border-bottom:1px solid var(--mobile-table-border) !important;position:relative !important;padding:var(--mobile-table-cell-padding) 20px var(--mobile-table-cell-padding) 140px !important;min-height:50px !important;display:flex !important;align-items:center !important;word-wrap:break-word !important;overflow-wrap:break-word !important;white-space:normal !important;font-size:var(--mobile-base-font) !important;line-height:1.4 !important}.conste--table-responsive td::before{content:attr(data-label) ":" !important;position:absolute !important;left:0 !important;top:0 !important;bottom:0 !important;width:var(--mobile-table-label-width) !important;padding:var(--mobile-table-cell-padding) 10px !important;font-weight:600 !important;text-align:left !important;background:var(--mobile-table-label-bg) !important;color:var(--mobile-table-label-color) !important;font-size:13px !important;line-height:1.3 !important;display:flex !important;align-items:center !important;word-wrap:break-word !important;overflow-wrap:break-word !important;white-space:normal !important;border-right:1px solid var(--mobile-table-border) !important}.conste--table-responsive td:last-child{border-bottom:none !important}.conste--table-responsive td img{max-width:60px !important;max-height:60px !important;width:auto !important;height:auto !important;margin:0 !important;display:block !important}.conste--table-responsive td .conste--btn,.conste--table-responsive td button,.conste--table-responsive td a[class*="btn"]{width:auto !important;min-width:100px !important;margin:0 !important;font-size:var(--mobile-small-font) !important;padding:6px 12px !important;white-space:nowrap !important}.conste--table-responsive td[data-label*="Source"],.conste--table-responsive td[data-label*="Reference"],.conste--table-responsive td[data-label*="Description"]{padding-right:10px !important;font-size:13px !important;line-height:1.3 !important}.conste--table-responsive td[data-label*="Score"],.conste--table-responsive td[data-label*="Rating"]{font-size:var(--mobile-large-font) !important}.conste--table-responsive td>*{max-width:100% !important;word-wrap:break-word !important;overflow-wrap:break-word !important}.conste--table-responsive{overflow-x:visible !important;-webkit-overflow-scrolling:auto !important;margin-bottom:20px !important}}@media (max-width:480px){.conste--table-responsive td{padding:12px 15px 12px 120px !important;font-size:13px !important}.conste--table-responsive td::before{width:110px !important;padding:12px 8px !important;font-size:var(--mobile-small-font) !important}}@keyframes wave{0%,100%{transform:translateY(0px)}50%{transform:translateY(-10px)}}.conste--wave{animation:var(--wave-animation)}.conste--wave:nth-child(2){animation-delay:0.5s}.conste--wave:nth-child(3){animation-delay:1s}.conste--line-art{stroke:var(--tw-color-primary);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;transition:stroke var(--transition-base)}.conste--line-art:hover{stroke:var(--tw-color-accent)}.conste--music-icon{width:24px;height:24px;display:inline-block;color:var(--tw-color-primary);transition:all var(--transition-base)}.conste--music-icon:hover{color:var(--tw-color-accent);transform:scale(1.1)}.conste--fade-in{animation:fadeIn 0.6s ease-out}@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.conste--slide-up{animation:slideUp 0.6s ease-out}@keyframes slideUp{from{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.conste--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}.conste--btn:focus,.conste--input:focus{outline:2px solid var(--tw-color-primary);outline-offset:2px}@media (prefers-contrast:high){.conste--btn{border:2px solid currentColor}.conste--card{border:1px solid var(--tw-color-secondary)}}@media (prefers-reduced-motion:reduce){*{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important}.conste--wave{animation:none}}@media print{.conste--btn,.conste--modal{display:none !important}.conste--card{box-shadow:none;border:1px solid #000}}.festival-nav{display:flex;align-items:center}.festival-menu{list-style:none;margin:0;padding:0;display:flex;align-items:center}.festival-menu-item{position:relative}.festival-menu-item a{display:block;padding:8px 16px;text-decoration:none;border-radius:6px;transition:all var(--transition-base)}.festival-menu-item a:hover{background-color:rgba(255,255,255,0.1);transform:translateY(-1px)}@media (max-width:768px){.festival-menu{flex-direction:column;gap:4px}.festival-menu-item a{padding:6px 12px;font-size:14px}}
