@import "https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800;900&display=swap";
*{box-sizing:border-box}body{color:var(--ink);background:#fff;margin:0;font-family:Noto Sans KR,Arial,sans-serif;font-size:14px}button,input,select{font:inherit}button,a,select,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #738ace}a{color:inherit;text-decoration:none}button{color:inherit}.explorer{flex-direction:column;height:100dvh;min-height:650px;display:flex}.site-header{border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;gap:58px;height:76px;padding:0 42px;display:flex}.brand{letter-spacing:-1.5px;align-items:center;font-size:23px;font-weight:900;display:flex}.brand-symbol{background:var(--green);width:34px;height:34px;color:var(--accent);border-radius:50%;place-items:center;margin-right:9px;display:grid}.site-header nav{align-items:center;gap:28px;height:100%;font-size:13px;font-weight:600;display:flex}.nav-active{border-bottom:3px solid var(--green);align-items:center;gap:7px;height:100%;padding-top:3px;display:flex}.nav-active span{color:#738ace}.nav-note{color:#888ea1;font-size:12px;font-weight:400}.header-right{color:#878ca8;align-items:center;gap:7px;margin-left:auto;font-size:11px;display:flex}.live-dot{background:#738ace;border-radius:100%;width:6px;height:6px;display:inline-block}.intro{background:var(--cream);flex-shrink:0;justify-content:space-between;align-items:center;padding:30px 42px 26px;display:flex}.eyebrow{color:#5f6884;letter-spacing:2px;margin-bottom:8px;font-size:9px;font-weight:700}.intro h1{letter-spacing:-1.4px;margin:0;font-size:30px;font-weight:800}.intro h1 span{color:#525e81}.intro p{color:#737a91;margin:9px 0 0;font-size:12px}.intro-stamp{color:#4e5877;background:#e4e7f1;border:1px solid #d5dae7;border-radius:13px;align-items:center;gap:12px;padding:15px 22px;font-size:11px;line-height:1.8;display:flex}.intro-stamp strong{color:#384260;font-size:14px}.filter-bar{border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;gap:13px;padding:17px 42px;display:flex}.search-field{color:#686f85;border:1px solid #d8dae1;border-radius:7px;align-items:center;gap:11px;width:370px;height:44px;padding:0 13px;display:flex}.search-field input{width:100%;color:var(--ink);background:0 0;border:0;outline:none;font-size:12px}.search-field input::placeholder{color:#969bac}.search-field button{background:0 0;border:0;padding:0;display:flex}.select-field{color:#697085;border:1px solid #dee0e5;border-radius:7px;align-items:center;gap:9px;height:44px;padding:0 12px;display:flex}.select-field select{color:var(--ink);cursor:pointer;outline-offset:6px;background:0 0;border:0;min-width:100px;font-size:12px}.filter-summary{color:#80879b;align-items:center;gap:8px;margin-left:auto;font-size:11px;display:flex}.workspace{flex:1;grid-template-columns:minmax(0,1fr) 425px;min-height:0;display:grid}.map-panel{min-height:0;position:relative}.map-shell,.map-canvas{background:#edeef7;width:100%;height:100%}.map-loading{color:#7c82ad;background:#edeef7;place-items:center;height:100%;display:grid}.map-caption{z-index:450;pointer-events:none;background:#ffffffed;border:1px solid #e1e4f1;border-radius:7px;align-items:center;gap:8px;padding:11px 14px;font-size:11px;font-weight:600;display:flex;position:absolute;top:20px;left:22px;box-shadow:0 3px 12px #2428350b}.map-caption>span:last-child{color:#898fa2;border-left:1px solid #e3e4e9;margin-left:3px;padding-left:9px;font-size:10px;font-weight:400}.map-actions{z-index:450;flex-direction:column;gap:7px;display:flex;position:absolute;bottom:113px;right:12px}.map-actions button{background:#fff;border:1px solid #dce0f0;border-radius:5px;place-items:center;width:34px;height:34px;display:grid;box-shadow:0 2px 8px #00000013}.map-legend{z-index:450;color:#7d83a8;pointer-events:none;background:#ffffffed;border-radius:5px;align-items:center;gap:7px;padding:9px 12px;font-size:10px;display:flex;position:absolute;bottom:27px;left:22px;box-shadow:0 2px 8px #00000008}.map-legend span{color:var(--green);font-size:16px}.map-notice{z-index:450;background:#fff;border-radius:8px;padding:13px;font-size:12px;position:absolute;bottom:80px;left:20px;right:60px;box-shadow:0 3px 20px #0002}.map-notice button{float:right;background:0 0;border:0;font-size:20px}.list-panel{background:#fff;border-left:1px solid #e6e8f1;flex-direction:column;min-height:0;display:flex}.list-heading{justify-content:space-between;align-items:center;padding:21px 23px 16px;display:flex}.list-heading h2{letter-spacing:-.7px;align-items:center;gap:9px;margin:0;font-size:17px;display:flex}.list-heading h2>span{color:#445380;background:#dde2f2;border-radius:5px;justify-content:center;align-items:center;min-width:29px;padding:2px 7px;font-size:11px;display:inline-flex}.list-heading p{color:#8b91a3;margin:6px 0 0;font-size:10px}.sort-field{color:#798095;align-items:center;gap:4px;display:flex}.sort-field select{color:#62697d;background:0 0;border:0;max-width:86px;font-size:10px}.bounds-toggle{border-top:1px solid #edeef1;border-bottom:1px solid var(--line);color:#63697d;cursor:pointer;background:#fbfbfd;align-items:center;gap:7px;padding:12px 23px;font-size:10px;display:flex}.bounds-toggle input{opacity:0;width:15px;height:15px;position:absolute}.bounds-toggle input:focus-visible+.check-box{outline-offset:2px;outline:3px solid #738ace}.check-box{background:#e7ebf5;border:1px solid #8a94b3;border-radius:3px;place-items:center;width:14px;height:14px;display:grid}.list-total{color:#9399aa;margin-left:auto;font-size:9px}.festival-list{scrollbar-width:thin;scrollbar-color:#d6d9e2 transparent;flex:1;min-height:0;overflow-y:auto}.festival-card{text-align:left;background:#fff;border:0;border-bottom:1px solid #ebecf0;align-items:center;gap:14px;width:100%;padding:17px 22px;transition:background .15s;display:flex;position:relative}.festival-card:hover,.festival-card.card-selected{background:#f3f4fe}.festival-card.card-selected{box-shadow:inset 3px 0 #869ad5}.festival-picture{background:#eceefa;border-radius:7px;flex-shrink:0;width:96px;height:92px;overflow:hidden}.festival-picture img{object-fit:cover;width:100%;height:100%;display:block}.picture-fallback{color:#8b91bb;background:linear-gradient(135deg,#e4e7fa,#f1e8fa);flex-direction:column;justify-content:center;align-items:center;gap:10px;height:100%;display:flex}.picture-fallback span{text-align:center;max-width:90%;font-size:9px}.card-content{flex:1;min-width:0}.status-badge{border-radius:4px;padding:5px 6px;font-size:9px;font-weight:600;line-height:1;display:inline-block}.ongoing{color:#3b4b7d;background:#e2e6f4}.upcoming{color:#a88239;background:#faf1db}.past{color:#717990;background:#edeef0}.card-content h3{letter-spacing:-.4px;text-overflow:ellipsis;white-space:nowrap;margin:6px 0;font-size:13px;font-weight:700;line-height:1.5;overflow:hidden}.card-date{color:#6e768d;font-variant-numeric:tabular-nums;margin:0 0 5px;font-size:10px}.card-address{color:#9298a9;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:3px;margin:0;font-size:9px;display:flex;overflow:hidden}.card-address svg{flex-shrink:0}.card-arrow{color:#aeb2bf;flex-shrink:0}.list-footer{border-top:1px solid var(--line);color:#9296ad;background:#fafafe;justify-content:space-between;padding:12px 22px;font-size:9px;display:flex}.empty-state{text-align:center;color:#969bb5;flex-direction:column;align-items:center;padding:55px 22px;font-size:12px;line-height:1.8;display:flex}.empty-state h3{color:#626b9b;font-size:15px}.empty-state p{font-size:11px}.empty-state button{color:#869ad5;background:#eff1fc;border:1px solid #d5d9f0;border-radius:6px;margin-top:10px;padding:10px 17px}.detail-backdrop{z-index:1500;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#2529435c;justify-content:flex-end;align-items:center;padding:25px;display:flex;position:fixed;inset:0}.detail-panel{background:#fff;border-radius:16px;width:420px;max-height:calc(100dvh - 50px);position:relative;overflow-y:auto;box-shadow:0 20px 70px #25294338}.detail-close{z-index:2;background:#fff;border:0;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:14px;right:14px;box-shadow:0 2px 10px #0002}.detail-picture{border-radius:0;width:100%;height:250px}.detail-picture img{object-fit:contain;background:#f6f6fb}.detail-body h2{letter-spacing:-1px;margin:10px 0 5px;font-size:25px;line-height:1.5}.detail-subtitle{color:#9297b1;margin:0 0 25px;font-size:12px}.detail-body dl{margin:0}.detail-body dl>div{border-top:1px solid #e9ebf4;gap:16px;padding:16px 0;font-size:12px;display:flex}.detail-body dt{color:#9297b1;align-items:center;gap:7px;min-width:52px;font-size:11px;display:flex}.detail-body dd{overflow-wrap:anywhere;margin:0;line-height:1.7}.directions{color:#fff;background:#869ad5;border-radius:7px;justify-content:center;align-items:center;gap:15px;margin-top:15px;padding:14px;font-size:13px;font-weight:600;display:flex}.detail-source{color:#a0a4ba;margin-top:18px;font-size:10px;line-height:1.8}.invalid-selection{z-index:1600;background:#fff;border:1px solid #d6d9e2;border-radius:8px;padding:15px;position:fixed;bottom:30px;left:30px;box-shadow:0 3px 20px #0002}.invalid-selection button{margin-left:12px}@media (min-width:1600px){.workspace{grid-template-columns:minmax(0,1fr) 470px}.festival-picture{width:110px;height:100px}.festival-card{padding:20px 25px}.card-content h3{font-size:14px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}.map-setup{text-align:center;color:#666d9b;background:#f1f2fb;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:28px;display:flex;position:absolute;inset:0}.map-setup h2{margin:0;font-size:18px}.map-setup p{overflow-wrap:anywhere;max-width:400px;margin:0;font-size:12px;line-height:1.9}.map-setup>span{color:#9296b1;font-size:11px}.map-setup button{background:#fff;border:1px solid #d5d9f0;border-radius:6px;padding:10px 18px}.map-actions{bottom:45px}.site-header{gap:32px;height:44px;padding:0 20px}.brand{letter-spacing:-1px;font-size:18px}.brand-symbol{width:25px;height:25px;margin-right:6px}.brand-symbol svg{width:18px;height:18px}.site-header nav{gap:20px;font-size:11px}.nav-active{border-bottom-width:2px;padding-top:2px}.nav-note,.header-right{font-size:10px}.schedule-days{grid-template-columns:repeat(14,minmax(0,1fr));align-items:center;gap:3px;display:grid}.schedule-item{text-align:left;background:#fff;border:0;border-bottom:1px solid #edeef5;width:100%;padding:10px 12px;transition:background .15s;display:block}.calendar-date{text-align:center;flex-direction:column;gap:4px;min-width:0;display:flex}.calendar-weekday{color:#848b9f;font-size:9px;line-height:1.4}.calendar-date.weekend .calendar-weekday{color:#b78365}.schedule-cell{color:#acb0be;font-variant-numeric:tabular-nums;border-radius:3px;place-items:center;height:22px;font-size:10px;display:grid}.schedule-cell.weekend{background:#faf8f2}.schedule-cell.event-active{color:#fff;background:#b6bef0}.schedule-meta{grid-template-columns:minmax(0,1.1fr) auto minmax(0,1fr);align-items:center;gap:8px;margin-top:9px;line-height:1.6;display:grid}.schedule-meta>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.item-title{font-size:11px;font-weight:600}.item-period{color:#767d93;font-variant-numeric:tabular-nums;font-size:8px}.item-place{color:#858b9f;border-left:1px solid #d9dce7;padding-left:8px;font-size:9px}.schedule-item{padding-top:7px;padding-bottom:7px}.item-calendar,.calendar-date{gap:2px}.calendar-weekday{font-size:8px;line-height:1.2}.item-calendar .schedule-cell{border-radius:2px;height:15px;font-size:8px}.schedule-meta{margin-top:6px}.explorer{min-width:1000px;position:relative}.workspace{grid-template-columns:minmax(0,1fr) 340px}.schedule-item{flex-direction:column;gap:6px;display:flex}.schedule-meta{order:-1;width:100%;margin-top:0}.item-calendar{width:100%}.item-calendar .schedule-cell:not(.event-active){color:#bdc0d1;background:#f1f2f7}.item-calendar .schedule-cell.weekend.event-active{color:#ffe1c2;font-weight:700}.calendar-date.weekend .calendar-weekday{color:#9c9fb4;font-weight:400}.item-calendar .schedule-cell.weekend:not(.event-active){background:#e9ebf1}.item-calendar .schedule-cell:not(.event-active):not(.weekend),.item-calendar .schedule-cell:not(.event-active):not(.weekend),.item-calendar .schedule-cell.weekend:not(.event-active){background:#f8f8fc}.schedule-item{grid-template-columns:44px minmax(0,1fr);align-items:center;gap:5px 9px;display:grid}.schedule-thumbnail{border-radius:4px;grid-area:1/1/span 2;width:44px;height:48px}.schedule-thumbnail .picture-fallback{gap:0}.schedule-thumbnail .picture-fallback svg{width:18px;height:18px}.schedule-thumbnail .picture-fallback span{display:none}.schedule-meta{order:0;grid-area:1/2;gap:5px}.item-calendar{grid-area:2/2}.item-place{padding-left:5px}.item-calendar .schedule-cell.event-active:not(.weekend),.item-calendar .schedule-cell.weekend.event-active{color:#fff;background:#b6bef0;font-weight:400}.calendar-date.saturday .calendar-weekday,.calendar-date.sunday .calendar-weekday{color:#c46767;font-weight:700}.schedule-meta{grid-template-columns:minmax(0,1fr)}.calendar-weekday{color:#b7bac5;font-weight:400}:root{--ink:#30384f;--muted:#7e8599;--green:#869ad5;--accent:#ebedf4;--line:#e5e6ea;--cream:#f3f4f8}.brand-dot{color:#869ad5}.nav-active span,.live-dot{color:#374f96}.item-calendar .schedule-cell.event-active:not(.weekend),.item-calendar .schedule-cell.weekend.event-active{color:#30384f;background:#939bb3}.item-calendar .schedule-cell:not(.event-active):not(.weekend),.item-calendar .schedule-cell.weekend:not(.event-active){color:#b7bbc6;background:#f6f7fa}.list-panel{border-left-color:#dddfe5}.list-footer{color:#898fa2;background:#f9fafd}.list-footer span{color:#9ba0b0}.map-shell,.map-canvas,.map-loading{background:#e6e8ed}.map-loading{color:#646b80}.map-caption{border-color:#dbdde5}.map-legend{color:#646b80}.map-actions button{border-color:#d0d2da}.map-setup{color:#535c76;background:#e7eaf1}.map-setup>span{color:#7d8498}.map-setup button{border-color:#bdc3d6}.empty-state{color:#7e859a}.empty-state h3{color:#515972}.empty-state button{color:#3c4a76;background:#e4e8f3;border-color:#bcc3d9}.directions{background:#869ad5}.detail-subtitle,.detail-body dt{color:#7b8299}.detail-body dl>div{border-top-color:#e3e5ed}.detail-source{color:#8d93a5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-color:#465b9c}.schedule-item{gap:7px 10px;min-height:87px;padding:11px 12px}.schedule-thumbnail{align-self:center;height:58px}.item-title{-webkit-line-clamp:2;white-space:normal;text-overflow:ellipsis;word-break:keep-all;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:13px;font-weight:600;line-height:1.5;display:-webkit-box;overflow:hidden}.schedule-meta>span.item-title{white-space:normal}.calendar-date{gap:4px}.calendar-weekday{color:#697085;font-size:10px;font-weight:400;line-height:1.3}.calendar-date.weekend .calendar-weekday,.calendar-date.saturday .calendar-weekday,.calendar-date.sunday .calendar-weekday{color:#1f2128;font-weight:400}.item-calendar .schedule-cell{font-variant-numeric:tabular-nums;height:22px;font-size:11px;line-height:1.2}.item-calendar .schedule-cell.event-active:not(.weekend),.item-calendar .schedule-cell.weekend.event-active{background:#dcdfe9}.item-calendar .schedule-cell.event-active:not(.weekend),.item-calendar .schedule-cell:not(.event-active):not(.weekend){color:#535869;font-weight:400}.item-calendar .schedule-cell.weekend.event-active,.item-calendar .schedule-cell.weekend:not(.event-active){color:#1f2128;font-weight:400}.schedule-item:focus-visible{outline-offset:-2px;outline:2px solid #869ad5}.calendar-weekday{color:#60667a}.calendar-date.weekend .calendar-weekday,.calendar-date.saturday .calendar-weekday,.calendar-date.sunday .calendar-weekday{color:#1f2128;box-shadow:inset 0 -1px #a1a6b5;box-shadow:none;background:0 0;border-radius:2px;font-weight:400}.item-calendar .schedule-cell.weekend.event-active{color:#383c48;background:#d1d4df;font-weight:400}.item-calendar .schedule-cell.weekend:not(.event-active){color:#383c48;background:#f3f4f6;font-weight:400}.detail-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none;background:0 0;width:340px;padding:0;display:block;position:absolute;inset:44px 0 0 auto}.detail-panel{border-left:1px solid var(--line);pointer-events:auto;border-radius:0;width:100%;height:100%;max-height:none;box-shadow:-4px 0 16px #2024320a}.detail-picture{height:220px}.detail-body{padding:20px}.detail-body h2{font-size:22px}.detail-backdrop{overflow:clip}.detail-panel{opacity:1;transition:transform .22s cubic-bezier(.22,1,.36,1),opacity .18s;transform:translate(0)}.detail-panel.drawer-closing{opacity:.75;pointer-events:none;transform:translate(100%)}@starting-style{.detail-panel.drawer-opening{opacity:.75;transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.detail-panel{transition:none}}.detail-panel{background:#fff;flex-direction:column;display:flex;overflow:hidden}.detail-toolbar{background:#fff;border-bottom:1px solid #ebecf0;flex-shrink:0;justify-content:space-between;align-items:center;height:47px;padding:0 16px;display:flex}.detail-toolbar>span{color:#6d748a;align-items:center;gap:8px;font-size:11px;display:flex}.detail-toolbar .detail-close{width:28px;height:28px;box-shadow:none;color:#4d5363;background:#f1f2f5;border-radius:7px;position:static}.detail-toolbar .detail-close:hover{background:#e6e8ee}.detail-scroll{scrollbar-width:thin;scrollbar-color:#d6d9e2 transparent;flex:1;min-height:0;overflow-y:auto}.detail-hero{padding:16px 18px}.detail-hero .detail-picture{background:#f5f6f8;border:1px solid #e8eaf0;border-radius:10px;width:100%;height:205px;overflow:hidden}.detail-hero .detail-picture img{object-fit:contain;background:#f5f6f8;padding:8px}.detail-hero .picture-fallback{color:#7f879e;background:linear-gradient(145deg,#e8ebf3,#f8f5ea)}.detail-content{padding:19px 18px 17px}.detail-heading-meta{align-items:center;gap:8px;display:flex}.detail-heading .status-badge{border-radius:4px;padding:5px 7px;font-size:10px}.detail-heading .ongoing{color:#354063;background:#e8ebf2}.detail-region{color:#7b8297;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.detail-heading h2{letter-spacing:-.8px;word-break:keep-all;overflow-wrap:anywhere;margin:10px 0 18px;font-size:22px;font-weight:700;line-height:1.5}.detail-dates{background:#f0f1f6;border:1px solid #dfe2ec;border-radius:9px;padding:13px 14px}.detail-section-label{color:#666d82;align-items:center;gap:6px;margin-bottom:12px;font-size:10px;font-weight:500;display:flex}.detail-date-pair{justify-content:space-between;align-items:center;gap:7px;display:flex}.detail-date-pair>div{flex-direction:column;gap:5px;display:flex}.detail-date-pair>div:last-child{text-align:right}.detail-date-pair>div>span{color:#838a9e;font-size:9px}.detail-date-pair strong{letter-spacing:-.2px;color:#2e3447;font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.date-connector{color:#9ba1b3;margin-top:14px;font-size:13px}.detail-visit h3{color:#3b4151;margin:0 0 6px;font-size:12px;font-weight:600}.detail-visit dl{margin:0}.visit-row{border-bottom:1px solid #e8eaf0;padding:13px 0}.visit-row dt{color:#7a8197;align-items:center;gap:7px;margin-bottom:7px;font-size:10px;display:flex}.visit-icon{color:#6c7590;display:flex}.visit-row dd{color:#3d414e;overflow-wrap:anywhere;margin:0;padding-left:23px;font-size:12px;line-height:1.8}.detail-note{color:#848a9e;margin-top:15px;font-size:10px;line-height:1.8}.detail-credit{color:#9399ab;justify-content:space-between;gap:5px;margin-top:15px;font-size:9px;display:flex}.detail-actions{background:#fff;border-top:1px solid #e2e5ed;flex-shrink:0;padding:12px 18px}.detail-actions .directions{border-radius:8px;gap:8px;margin:0;padding:13px 12px;font-size:12px;box-shadow:0 2px 4px #242e4b10}.detail-actions .directions svg:last-child{margin-left:auto}.detail-actions .directions>span{text-align:center;flex:1}.detail-toolbar .detail-close:focus-visible{outline-offset:2px;outline:2px solid #838aa0}.detail-heading h2{letter-spacing:-.35px;margin:9px 0 15px;font-size:16px;line-height:1.5}.detail-visit{margin-top:0}.detail-visit h3{margin:0 0 5px;font-size:11px;line-height:1.5}.visit-row{align-items:center;gap:9px;padding:11px 0;display:flex}.visit-row dt{white-space:nowrap;flex-shrink:0;gap:6px;width:69px;margin:0;font-size:10px}.visit-row dd{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;padding:0;font-size:11px;line-height:1.6;overflow:hidden}.festival-marker{width:42px;height:42px;box-shadow:none;filter:drop-shadow(0 2px 2px #18232d55);transform-origin:50% 100%;touch-action:manipulation;background:0 0;border:0;border-radius:8px;place-items:center;padding:0;transition:transform .16s,filter .16s;display:grid;transform:none}.festival-marker img{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.festival-marker.selected,.festival-marker.hovered{filter:drop-shadow(0 3px 3px #18232d66);background:0 0;transform:scale(1.2)}.festival-marker:focus-visible{outline:2px solid var(--green);outline-offset:2px}.schedule-meta>span.item-title{white-space:nowrap;text-overflow:ellipsis;-webkit-line-clamp:unset;min-width:0;display:block;overflow:hidden}.festival-explorer{--theme-color:#869ad5;--ink:#30384f;--muted:#8991a5;--green:var(--theme-color);--accent:#eef1fa;--line:#e6e9f2;--cream:#f7f8fc}.brand-dot,.nav-active span{color:var(--green)}.live-dot{background:var(--green)}.nav-active{border-bottom-color:var(--green)}.header-right{color:#79839e}.schedule-item{border-bottom-color:var(--line)}.schedule-item:hover,.schedule-item.card-selected{background:#f2f4fb}.schedule-item.card-selected{box-shadow:inset 3px 0 var(--green)}.item-calendar .schedule-cell.event-active:not(.weekend){background:#e4e9f7}.item-calendar .schedule-cell.weekend.event-active{background:#d5def3}.festival-picture{background:#eef1fa}.picture-fallback{color:#869ad5;background:linear-gradient(135deg,#e2e7f5,#f1f3fb)}.list-panel,.detail-panel{border-left-color:var(--line)}.list-footer{background:#fafbfe}.detail-toolbar,.detail-actions{border-color:var(--line)}.detail-hero{background:#f7f8fc}.detail-heading h2{color:var(--ink)}.status-badge.ongoing{color:#53679e;background:#edf1fb}.status-badge.upcoming{color:#667bb8;background:#f1f3fc}.detail-actions .directions,.directions{background:var(--green);color:#202d50}.detail-actions .directions:hover{background:#738ace}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,.schedule-item:focus-visible,.detail-toolbar .detail-close:focus-visible{outline-color:#738ace}.site-header .brand,.site-header .brand-dot{color:#303033}.site-header .brand-symbol{color:#303033;background:0 0}.item-calendar .schedule-cell:not(.event-active):not(.weekend),.item-calendar .schedule-cell.weekend:not(.event-active){background:0 0}.item-calendar{gap:2px}.item-calendar .schedule-cell{border-radius:3px}.festival-picture .picture-fallback{color:#c3c6cc;background:#f6f6f7;gap:0}.picture-fallback .placeholder-icon{object-fit:contain;background:0 0;width:64px;height:64px}.schedule-thumbnail .picture-fallback .placeholder-icon{width:30px;height:30px}.item-calendar .schedule-cell.event-active:not(.weekend){color:#73777e;background:#e7e9eb}.item-calendar .schedule-cell.weekend.event-active{color:#515b76;background:#e3e8f6}.schedule-thumbnail{align-self:stretch;height:auto;min-height:0}.site-header nav,.site-header nav a,.site-header .nav-active{color:#303033}.site-header .nav-active{border-bottom-color:#77777c}.site-header .nav-active span{color:#77777c}.detail-calendar{border-bottom:1px solid var(--line);margin:0 0 16px;padding:0 0 15px}.detail-calendar-header,.detail-calendar .detail-calendar-week{text-align:center;grid-template-columns:46px repeat(7,minmax(0,1fr));align-items:center;gap:3px;display:grid}.detail-calendar-header{color:#8b8f98;margin-bottom:5px;font-size:10px;line-height:1.5}.detail-calendar-header .weekend{color:#515b76}.detail-calendar .detail-calendar-week{width:100%;margin-top:3px}.detail-week-label{text-align:left;color:#8b8f98;white-space:nowrap;font-size:9px}.detail-calendar .schedule-cell{border-radius:3px;height:25px;font-size:11px}.item-calendar .schedule-cell.is-today{position:relative}.item-calendar .schedule-cell.is-today:after{content:"";pointer-events:none;background:#30384f;border-radius:50%;width:3px;height:3px;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.detail-external{color:#42464e;background:#eceef1;border:1px solid #d9dce1;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;padding:13px 12px;font-size:12px;font-weight:600;line-height:1.5;display:flex}.detail-external>span{text-align:center;flex:1}.detail-external:hover{background:#e2e5e9}.detail-external:disabled{color:#b2b6bd;cursor:default;opacity:.7;background:#f3f4f5;border-color:#e9eaed}.detail-hero .detail-picture{height:auto}.detail-hero .detail-picture>img{object-fit:contain;background:0 0;width:100%;height:auto;padding:0;display:block}.detail-hero .detail-picture>.picture-fallback{min-height:160px}.item-calendar .schedule-cell{height:26px}.detail-calendar .schedule-cell{height:34px}.item-calendar .schedule-cell.is-today{padding:0}.item-calendar .schedule-cell.is-today:after{top:calc(50% + 10px);bottom:auto}
