.otd-panel{--otd-text:#171717;--otd-text-sub:#737373;--otd-text-mute:#95938e;--otd-border:#e5e5e5;--otd-border-strong:#d4d4d4;--otd-surface:#fbf8f3;--otd-accent:#c15f3c;--otd-accent-soft:#c15f3c14;flex-direction:column;width:min(720px,92vw);max-height:min(85vh,800px);padding:0;display:flex;overflow:hidden}.otd-header{border-bottom:1px solid var(--otd-border);background:var(--otd-surface);align-items:center;gap:12px;padding:16px 48px 12px 16px;display:flex}.otd-title{text-align:center;flex-direction:column;flex:1;align-items:center;gap:2px;margin:0;font-weight:600;display:flex}.otd-title-main{color:var(--otd-text-sub);font-size:.82rem;font-weight:500}.otd-title-date{color:var(--otd-text);font-size:1.2rem}.otd-step{border:1px solid var(--otd-border);color:var(--otd-text-sub);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;padding:6px 10px;transition:all .15s}.otd-step:hover{border-color:var(--otd-accent);color:var(--otd-accent);background:var(--otd-accent-soft)}.otd-body{flex:1;padding:14px 16px 18px;overflow-y:auto}.otd-filters{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:.75rem;display:flex}.otd-filter{border:1px solid var(--otd-border);color:var(--otd-text-mute);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.78rem;font-weight:600;transition:all .15s;display:inline-flex}.otd-filter:hover{border-color:var(--otd-border-strong)}.otd-filter-count{color:var(--otd-text-mute);background:var(--otd-surface);text-align:center;border-radius:999px;min-width:20px;padding:1px 6px;font-size:.7rem;font-weight:500}.otd-filter.is-active{color:var(--otd-text);border-color:var(--otd-text);background:var(--otd-accent-soft)}.otd-summary{color:var(--otd-text-sub);text-align:center;margin-bottom:.75rem;font-size:.85rem}.otd-loading,.otd-empty,.otd-error{background:var(--otd-surface);border:1px solid var(--otd-border);text-align:center;color:var(--otd-text-mute);border-radius:10px;padding:1.5rem;font-size:.92rem}.otd-error{color:#b23838}.otd-year-block{border:1px solid var(--otd-border);background:#fff;border-radius:10px;margin-bottom:10px;overflow:hidden}.otd-year-header{background:var(--otd-surface);border-bottom:1px solid var(--otd-border);align-items:baseline;gap:12px;padding:8px 14px;display:flex}.otd-year{color:var(--otd-accent);font-family:JetBrains Mono,ui-monospace,monospace;font-size:1.1rem;font-weight:700}.otd-year-meta{color:var(--otd-text-sub);font-size:.82rem}.otd-year-count{color:var(--otd-text-mute);margin-left:auto;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.76rem}.otd-list{margin:0;padding:0;list-style:none}.otd-item{border-bottom:1px solid var(--otd-border);flex-wrap:wrap;align-items:center;gap:10px;padding:7px 14px;display:flex}.otd-item:last-child{border-bottom:none}.otd-item:hover{background:var(--otd-accent-soft)}.otd-flag{width:22px;height:16px;box-shadow:0 0 0 1px var(--otd-border);border-radius:2px;flex-shrink:0}.otd-comp-name{color:var(--otd-text);flex-shrink:1;min-width:0;font-weight:500;text-decoration:none}.otd-comp-name:hover{color:var(--otd-accent);text-decoration:underline}.otd-meta{color:var(--otd-text-mute);align-items:center;gap:4px;margin-left:auto;font-size:.8rem;display:inline-flex}.otd-icon{color:var(--otd-text-mute)}@media (max-width:480px){.otd-panel{border-radius:0;width:100vw;max-height:92vh}.otd-header{padding:14px 44px 10px 12px}.otd-title-date{font-size:1.05rem}.otd-body{padding:12px 12px 16px}.otd-item{gap:8px;padding:7px 10px}.otd-meta{flex-basis:100%;margin-left:0;padding-left:30px;font-size:.74rem}}
.calendar-page{--bg:var(--background);--surface:var(--card);--surface-alt:var(--muted);--text:var(--foreground);--text-sub:var(--muted-foreground);--text-muted:var(--faint-foreground);--border:var(--border-default);--accent-soft:color-mix(in srgb, var(--accent) 10%, transparent);--accent-soft-strong:color-mix(in srgb, var(--accent) 22%, transparent);--wr-current:#dc2626;--wr-former:#d69755;background:var(--bg);color:var(--text);box-sizing:border-box;max-width:1200px;min-height:100dvh;margin:0 auto;padding:1.5rem 1.25rem 3rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.calendar-page .back-link{color:var(--text-sub);align-items:center;margin-bottom:1rem;font-size:.85rem;text-decoration:none;transition:color .15s;display:inline-flex}.calendar-page .back-link:hover{color:var(--accent)}.calendar-page .upcoming-header{grid-template-columns:1fr auto;align-items:start;column-gap:1rem;margin-bottom:1.25rem;display:grid}.calendar-page .upcoming-header-right{grid-area:1/2/span 2}.calendar-page .upcoming-title{letter-spacing:-.02em;color:var(--text);align-items:center;gap:8px;margin:0 0 .25rem;font-family:Fraunces,Times New Roman,serif;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:500;display:inline-flex}.calendar-page .calendar-title-help{color:var(--text-sub);opacity:.6;align-items:center;font-size:1rem;text-decoration:none;transition:opacity .15s,color .15s;display:inline-flex}.calendar-page .calendar-title-help:hover{opacity:1;color:var(--accent)}.calendar-page .upcoming-meta{color:var(--text-sub);font-size:.8rem}.calendar-page .toolbar{background:var(--bg);padding:calc(.75rem + var(--sat)) 0 .75rem;z-index:10;border-bottom:1px solid #0000;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex;position:sticky;top:0}.calendar-page--list .toolbar{position:static}.calendar-page .search-box{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px;outline:none;flex:1;min-width:180px;max-width:320px;padding:.5rem .75rem;font-family:inherit;font-size:.85rem;transition:border-color .15s,box-shadow .15s}.calendar-page .search-box:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.calendar-page .search-box-wrap{flex:1;min-width:180px;max-width:320px;display:flex;position:relative}.calendar-page .search-box-wrap .search-box{flex:1;min-width:0;max-width:none;padding-right:28px}.calendar-page .country-filter{width:auto;min-width:200px}.calendar-page .mode-toggle{background:var(--surface);border:1px solid var(--border);border-radius:8px;gap:2px;padding:2px;display:inline-flex}.calendar-page .mode-btn{color:var(--text-sub);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:5px;padding:.35rem .7rem;font-family:inherit;font-size:.8rem;font-weight:500;transition:all .15s;display:inline-flex}.calendar-page .mode-btn:hover{color:var(--text)}.calendar-page .mode-btn.is-active{background:var(--accent-soft);color:var(--accent)}.calendar-page .cancelled-toggle{border:1px solid var(--border);background:var(--surface);color:var(--text-sub);cursor:pointer;border-radius:8px;align-items:center;gap:5px;padding:.35rem .7rem;font-family:inherit;font-size:.8rem;font-weight:500;transition:all .15s;display:inline-flex}.calendar-page .cancelled-toggle:hover{color:#a04a2e;border-color:#c97a5c}.calendar-page .cancelled-toggle.is-active{color:#a04a2e;background:#fce9e3;border-color:#c97a5c}.calendar-page .mode-status{background:var(--accent-soft);color:var(--accent);text-align:center;border-radius:8px;margin-bottom:.5rem;padding:.5rem .75rem;font-size:.8rem}.calendar-page .mode-status.is-error{color:#a04a2e;background:#fce9e3}.calendar-page .event-chips{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.calendar-page .event-chip{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:30px;min-height:36px;padding:2px 0;line-height:1;transition:all .15s;display:inline-flex}.calendar-page .event-chip:hover{border-color:var(--accent);background:var(--accent-soft)}.calendar-page .event-chip.is-active{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent-soft)}.calendar-page .event-chip .cubing-icon{font-size:1.1rem}.calendar-page .event-chip-rounds{font-variant-numeric:tabular-nums;color:var(--accent);min-height:.7rem;font-size:.6rem;font-weight:700;line-height:1}.calendar-page .event-chip-rounds.is-empty{visibility:hidden}.calendar-page .event-chips--list-header{border-bottom:1px solid var(--border);z-index:11;background:var(--bg);width:100%;padding-top:var(--sat);box-sizing:border-box;scrollbar-width:none;flex-basis:100%;margin:0;position:sticky;top:0;overflow:hidden}.calendar-page .event-chips--list-header::-webkit-scrollbar{display:none}.calendar-page .event-chips-grid{grid-template-columns:var(--cl-cols);width:100%;min-width:var(--cl-min-width);box-sizing:border-box;align-items:center;gap:6px;padding:4px 12px;display:grid}.calendar-page .event-chips--list-header .event-chip{justify-self:center;width:auto;min-height:32px}.calendar-page .event-chips--list-header .cl-h-spacer{height:0}.calendar-page .globe-link{color:var(--accent);align-items:center;gap:3px;font-weight:500;text-decoration:none;display:inline-flex}.calendar-page .globe-link:hover{text-decoration:underline}.calendar-page .month-bar{flex-wrap:wrap;align-items:center;gap:.75rem;margin:.5rem 0 .75rem;display:flex}.calendar-page .month-nav{align-items:center;gap:.35rem;display:flex}.calendar-page .nav-btn{border:1px solid var(--border);background:var(--surface);width:32px;height:32px;color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.calendar-page .nav-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.calendar-page .nav-today{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:8px;padding:.35rem .75rem;font-family:inherit;font-size:.8rem;transition:all .15s}.calendar-page .nav-today:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.calendar-page .month-label{align-items:baseline;gap:.35rem;margin-left:.75rem;line-height:1;display:inline-flex}.calendar-page .month-label-btn{cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px 6px;transition:background .15s}.calendar-page .month-label-btn:hover,.calendar-page .month-label-btn:focus-visible,.calendar-page .month-label-btn[aria-expanded=true]{background:var(--accent-soft);outline:none}.calendar-page .month-label-year{letter-spacing:.12em;color:var(--text-sub);text-transform:uppercase;font-size:.72rem;font-weight:500}.calendar-page .month-label-month{letter-spacing:-.02em;color:var(--text);font-feature-settings:"tnum" 1;font-family:Fraunces,Times New Roman,serif;font-size:1.65rem;font-weight:500}.calendar-page .calendar{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.calendar-page .weekday-header{border-bottom:1px solid var(--border);background:var(--surface-alt);grid-template-columns:repeat(7,1fr);display:grid}.calendar-page .weekday-cell{color:var(--text-sub);letter-spacing:.08em;text-transform:uppercase;text-align:center;padding:.5rem;font-size:.72rem;font-weight:600}.calendar-page .week-row{grid-template-columns:repeat(7,1fr);grid-template-rows:22px repeat(var(--tracks,1), minmax(22px, auto)) 1fr;border-bottom:1px solid var(--border);grid-auto-rows:minmax(22px,auto);min-height:120px;padding:0 0 4px;display:grid;position:relative}.calendar-page .week-row:last-child{border-bottom:none}.calendar-page .day-cell{background:var(--surface);grid-row:1/-1;min-width:0;padding:4px 6px 2px;position:relative}.calendar-page .day-cell.out-of-month{background:0 0}.calendar-page .day-cell.is-today{z-index:1}.calendar-page .day-number{color:var(--text-sub);text-align:center;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;width:fit-content;min-width:20px;height:20px;margin:0 auto;padding:0 5px;font-family:inherit;font-size:.78rem;font-weight:700;transition:background .12s,border-color .12s,color .12s;display:flex}.calendar-page .day-number:hover{background:var(--accent-soft,#c15f3c14);border-color:var(--accent,#c15f3c);color:var(--accent,#c15f3c)}.calendar-page .day-cell.is-today .day-number{color:#fff;background:#dc2626;border-color:#dc2626}.calendar-page .day-cell.is-today .day-number:hover{color:#fff;background:#b91c1c;border-color:#b91c1c}.calendar-page .event-bar{background:var(--accent-soft);min-width:0;min-height:22px;color:var(--text);text-align:left;cursor:pointer;z-index:2;border:none;border-radius:5px;align-self:start;margin:1px 3px;padding:4px 7px;font-family:inherit;font-size:.75rem;font-weight:500;line-height:1.2;transition:background .15s,opacity .15s;display:block;position:relative;overflow:hidden}.calendar-page .event-bar>*{vertical-align:top}.calendar-page .event-bar>.flag-span,.calendar-page .event-bar>.flag-img,.calendar-page .event-bar>.record-badge{margin-right:5px;display:inline-block}.calendar-page .event-bar:hover{background:var(--accent-soft-strong)}.calendar-page .event-bar.is-clash{background:var(--accent);color:#fff}.calendar-page .event-bar.is-clash:hover{background:#ae5434}.calendar-page .event-bar.is-none-top{color:var(--text-sub);background:#edece8}.calendar-page .event-bar.is-none-top:hover{background:#e0ded9}.calendar-page .event-bar.continues-prev{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:0}.calendar-page .event-bar.continues-next{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0}.calendar-page .event-bar-name{white-space:normal;word-break:break-word;text-overflow:clip;min-width:0;display:inline;overflow:visible}.calendar-page .flag-span{border-radius:2px;flex-shrink:0;width:14px;height:10.5px;display:inline-block}.calendar-page .flag-img{object-fit:cover;border-radius:2px;flex-shrink:0;width:14px;height:10.5px}.calendar-page .more-btn{height:22px;color:var(--text-sub);border:1px dashed var(--border-strong);cursor:pointer;z-index:2;background:0 0;border-radius:5px;margin:1px 3px;padding:0 6px;font-family:inherit;font-size:.7rem;transition:all .15s;position:relative}.calendar-page .more-btn:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.calendar-page .month-stats{color:var(--text-sub);align-items:center;gap:.85rem;font-size:.82rem;display:inline-flex}.calendar-page .month-stats>span{align-items:center;gap:4px;display:inline-flex}.calendar-page .legend{color:var(--text-sub);flex-wrap:wrap;gap:1.25rem;margin-bottom:1.5rem;font-size:.72rem;display:flex}.calendar-page .legend-item{align-items:center;gap:6px;display:inline-flex}.calendar-page .legend-swatch{border-radius:3px;width:18px;height:12px;display:inline-block}.calendar-page .legend-swatch.swatch-default{background:var(--accent-soft)}.calendar-page .legend-swatch.swatch-clash{background:var(--accent)}.calendar-page .legend-swatch.swatch-none-top{background:#edece8}.calendar-page .state-message{text-align:center;color:var(--text-sub);padding:3rem 1rem;font-size:.9rem}.calendar-page .state-error{color:var(--accent)}.calendar-page .modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:100;background:#18171659;justify-content:center;align-items:flex-start;padding:8vh 1rem 2rem;animation:.18s ease-out modal-fade;display:flex;position:fixed;inset:0}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}.calendar-page .modal-panel{background:var(--surface);border:1px solid var(--border);border-radius:14px;width:100%;max-width:560px;padding:1.5rem;animation:.2s ease-out modal-slide;position:relative;box-shadow:0 20px 50px #18171626}@keyframes modal-slide{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.calendar-page .modal-close{color:var(--text-sub);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:1.5rem;line-height:1;transition:all .15s;position:absolute;top:12px;right:14px}.calendar-page .modal-close:hover{color:var(--accent);background:var(--accent-soft)}.calendar-page .modal-title{letter-spacing:-.01em;color:var(--text);margin:0 2rem .5rem 0;font-family:Fraunces,serif;font-size:1.4rem;font-weight:500;line-height:1.25}.calendar-page .modal-title a{color:inherit;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.calendar-page .modal-title a:hover{color:var(--accent)}.calendar-page .modal-title .flag-span,.calendar-page .modal-title .flag-img{width:24px;height:18px}.calendar-page .day-list-panel .modal-title{align-items:center;gap:10px;display:inline-flex}.calendar-page .day-list-country-name{color:var(--text-sub);font-size:1.05rem;font-weight:400}.calendar-page .modal-meta{color:var(--text-sub);margin-bottom:.75rem;font-size:.88rem}.calendar-page .modal-events{color:var(--text-sub);flex-wrap:wrap;gap:6px 10px;margin-bottom:1.25rem;font-size:1rem;display:inline-flex}.calendar-page .modal-event{flex-direction:column;align-items:center;gap:2px;line-height:1;display:flex}.calendar-page .modal-event-rounds{color:var(--text-sub);font-variant-numeric:tabular-nums;font-size:.7rem;font-weight:600;line-height:1}.calendar-page .modal-event-rounds--placeholder{opacity:.3}.calendar-page .modal-cubers-title{color:var(--text-sub);letter-spacing:.04em;text-transform:uppercase;margin-bottom:.5rem;font-size:.8rem;font-weight:600}.calendar-page .modal-records{margin-bottom:1.25rem}.calendar-page .modal-records-title{color:var(--text-sub);letter-spacing:.04em;text-transform:uppercase;margin-bottom:.5rem;font-size:.8rem;font-weight:600}.calendar-page .modal-record-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.calendar-page .modal-record-item{background:var(--surface-alt);border-radius:8px;align-items:center;gap:8px;padding:6px 10px;font-size:.82rem;display:flex}.calendar-page .modal-record-item .cubing-icon{color:var(--text-sub);font-size:18px}.calendar-page .modal-record-item .record-kind{color:var(--text-sub);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.calendar-page .modal-record-item .record-value{font-family:Roboto Mono,monospace;font-weight:600}.calendar-page .modal-record-item .record-person{color:inherit;align-items:center;gap:5px;margin-left:auto;text-decoration:none;display:inline-flex}.calendar-page .modal-record-item .record-person:hover{color:var(--accent)}.calendar-page .modal-cuber-list{flex-wrap:wrap;gap:6px;display:flex}.calendar-page .cuber-tag{background:var(--accent-soft);color:var(--text);border:1px solid #0000;border-radius:14px;flex-wrap:wrap;align-items:center;gap:4px;padding:4px 10px;font-size:.78rem;text-decoration:none;transition:all .15s;display:inline-flex}.calendar-page .cuber-tag:hover{border-color:var(--accent);background:var(--accent-soft-strong)}.calendar-page .cuber-tag .event-label{color:var(--text-sub);gap:2px;margin-left:2px;font-size:.7rem;display:inline-flex}.calendar-page .cuber-tag .event-label .cubing-icon{vertical-align:middle;font-size:13px}.calendar-page .wr-current{color:var(--wr-current)}.calendar-page .wr-former{color:var(--wr-former)}.calendar-page .wr-legend{color:var(--text-sub);gap:1rem;margin-bottom:.6rem;font-size:.7rem;display:flex}.calendar-page .wr-legend-item{align-items:center;gap:5px;display:inline-flex}.calendar-page .wr-swatch{border-radius:2px;width:10px;height:10px;display:inline-block}.calendar-page .wr-swatch.wr-current{background:var(--wr-current)}.calendar-page .wr-swatch.wr-former{background:var(--wr-former)}.calendar-page .wr-swatch.wr-top10{background:var(--text-sub)}.calendar-page .day-list-panel{flex-direction:column;max-width:440px;max-height:90vh;display:flex}.calendar-page .day-list{flex-direction:column;flex:auto;gap:4px;min-height:0;display:flex;overflow-y:auto}.calendar-page .day-list-item{border:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--text);text-align:left;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-family:inherit;font-size:.85rem;transition:all .15s;display:flex}.calendar-page .day-list-item:hover{border-color:var(--accent);background:var(--accent-soft)}.calendar-page .day-list-item .day-list-item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.calendar-page .day-list-count{color:var(--text-sub);background:var(--surface-alt);border-radius:10px;padding:2px 7px;font-size:.75rem}.calendar-page .view-toggle{background:var(--surface);border:1px solid var(--border);border-radius:8px;gap:2px;padding:2px;display:inline-flex}.calendar-page .view-btn{color:var(--text-sub);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:5px;padding:.35rem .7rem;font-family:inherit;font-size:.8rem;font-weight:500;transition:all .15s;display:inline-flex}.calendar-page .view-btn:hover{color:var(--text)}.calendar-page .view-btn.is-active{background:var(--accent-soft);color:var(--accent)}.calendar-page{--cl-cols:7.2rem 1.4rem var(--cl-name-width,28rem) repeat(21, 1.3rem);--cl-min-width:65rem}.calendar-page .comp-list{flex-direction:column;gap:.5rem;display:flex}.calendar-page .comp-list-empty{text-align:center;color:var(--text-sub);background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:3rem 1rem;font-size:.85rem}.calendar-page .comp-list-virtual{width:100%;min-width:var(--cl-min-width);position:relative}.calendar-page .comp-list-row{box-sizing:border-box;position:absolute;left:0;right:0}.calendar-page .cl-year-cell{white-space:nowrap;align-items:baseline;gap:6px;display:inline-flex;overflow:hidden}.calendar-page .cl-year-num{letter-spacing:-.01em;color:var(--text);font-feature-settings:"tnum" 1;font-family:Fraunces,Times New Roman,serif;font-size:1.15rem;font-weight:500;line-height:1}.calendar-page .cl-year-count{color:var(--text-sub);background:var(--surface-alt);border-radius:10px;padding:2px 7px;font-size:.7rem}.calendar-page .comp-list-row{grid-template-columns:var(--cl-cols);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;text-align:left;border-radius:8px;align-items:center;gap:6px;padding:0 12px;font-family:inherit;font-size:.85rem;transition:border-color .12s,background .12s;display:grid;overflow:hidden}.calendar-page .comp-list-row:hover{border-color:var(--accent);background:var(--accent-soft)}.calendar-page .comp-list-date{color:var(--text-sub);font-size:.78rem}.calendar-page .cl-date-half{white-space:nowrap;display:block}.calendar-page .comp-list-name-cell{align-items:baseline;gap:.5rem;min-width:0;margin-left:-6px;display:flex;overflow:hidden}.calendar-page .comp-list-name{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;font-weight:500;overflow:hidden}.calendar-page .comp-list-city{color:var(--text-sub);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;font-size:.78rem;overflow:hidden}.calendar-page .cl-event-cell{text-align:center;color:var(--text);font-variant-numeric:tabular-nums;font-size:.7rem;font-weight:600;line-height:1}.calendar-page .comp-list-row.is-cancelled{opacity:.55}.calendar-page .comp-list-row.is-cancelled .comp-list-name,.calendar-page .comp-list-row.is-cancelled .comp-list-date{text-decoration:line-through;text-decoration-thickness:1px}.calendar-page .event-bar.is-cancelled{opacity:.55}.calendar-page .event-bar.is-cancelled .event-bar-name{text-decoration:line-through}.calendar-page .day-list-item.is-cancelled{opacity:.6}.calendar-page .day-list-item.is-cancelled .day-list-item-name,.calendar-page .modal-title-name.is-cancelled{text-decoration:line-through}.calendar-page .modal-cancelled-tag{color:#a04a2e;vertical-align:middle;letter-spacing:.02em;background:#fce9e3;border-radius:6px;margin-left:8px;padding:2px 8px;font-size:.7rem;font-weight:600;display:inline-block}.calendar-page .date-range-nav{align-items:center;gap:.35rem;display:inline-flex}.calendar-page .date-range-pick{background:var(--surface);border:1px solid var(--border);color:var(--text);font-feature-settings:"tnum" 1;cursor:pointer;text-align:center;border-radius:8px;min-width:6.5rem;padding:.4rem .7rem;font-family:Roboto Mono,ui-monospace,monospace;font-size:.82rem;transition:all .15s}.calendar-page .date-range-pick:hover,.calendar-page .date-range-pick[aria-expanded=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.calendar-page .date-range-pick.is-empty{color:var(--text-sub);font-family:inherit}.calendar-page .date-range-sep{color:var(--text-sub);font-size:.85rem}.calendar-page .date-range-summary{color:var(--text-sub);margin-left:.5rem;font-size:.8rem}@keyframes calSlideForward{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes calSlideBack{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes cellSlideForward{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes cellSlideBack{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes flagPopIn{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.calendar-page .calendar--slide-forward{animation:.38s cubic-bezier(.22,1,.36,1) calSlideForward}.calendar-page .calendar--slide-back{animation:.38s cubic-bezier(.22,1,.36,1) calSlideBack}.calendar-page .calendar--slide-forward .week-row,.calendar-page .calendar--slide-back .week-row{animation-duration:.46s;animation-timing-function:cubic-bezier(.22,1,.36,1);animation-fill-mode:backwards}.calendar-page .calendar--slide-forward .week-row{animation-name:cellSlideForward}.calendar-page .calendar--slide-back .week-row{animation-name:cellSlideBack}.calendar-page .calendar--slide-forward .week-row:nth-child(2),.calendar-page .calendar--slide-back .week-row:nth-child(2){animation-delay:30ms}.calendar-page .calendar--slide-forward .week-row:nth-child(3),.calendar-page .calendar--slide-back .week-row:nth-child(3){animation-delay:60ms}.calendar-page .calendar--slide-forward .week-row:nth-child(4),.calendar-page .calendar--slide-back .week-row:nth-child(4){animation-delay:90ms}.calendar-page .calendar--slide-forward .week-row:nth-child(5),.calendar-page .calendar--slide-back .week-row:nth-child(5){animation-delay:.12s}.calendar-page .calendar--slide-forward .week-row:nth-child(6),.calendar-page .calendar--slide-back .week-row:nth-child(6){animation-delay:.15s}.calendar-page .calendar--slide-forward .compact-flag-tile,.calendar-page .calendar--slide-back .compact-flag-tile{animation:.32s cubic-bezier(.34,1.56,.64,1) .2s backwards flagPopIn}.calendar-page .calendar--slide-forward .event-bar,.calendar-page .calendar--slide-back .event-bar{animation:.32s cubic-bezier(.22,1,.36,1) .2s backwards flagPopIn}@media (prefers-reduced-motion:reduce){.calendar-page .calendar--slide-forward,.calendar-page .calendar--slide-back,.calendar-page .calendar--slide-forward .week-row,.calendar-page .calendar--slide-back .week-row,.calendar-page .calendar--slide-forward .compact-flag-tile,.calendar-page .calendar--slide-back .compact-flag-tile,.calendar-page .calendar--slide-forward .event-bar,.calendar-page .calendar--slide-back .event-bar{animation:none}}.calendar-page--compact .calendar--compact .week-row{grid-template-rows:auto;grid-template-columns:var(--compact-cols,repeat(7, 1fr));min-height:80px}.calendar-page--compact .calendar--compact .weekday-header{grid-template-columns:var(--compact-cols,repeat(7, 1fr))}.calendar-page--compact .calendar--compact .day-cell{flex-direction:column;grid-row:1;gap:4px;padding:4px 4px 6px;display:flex}.calendar-page--compact .calendar--compact .day-cell.is-clickable{cursor:pointer}.calendar-page--compact .calendar--compact .day-cell.is-clickable:hover{background:color-mix(in srgb, var(--accent) 4%, var(--surface))}.calendar-page--compact .calendar--compact .day-cell.is-clickable:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.calendar-page--compact .calendar--compact .day-number{pointer-events:none}.compact-flag-grid{flex-wrap:wrap;place-content:flex-start center;gap:3px;display:flex}.compact-flag-tile{cursor:pointer;background:0 0;border:none;border-radius:2px;width:22px;height:16px;padding:0;transition:transform .1s,box-shadow .1s;position:relative}.compact-flag-tile .flag-span,.compact-flag-tile .flag-img{border-radius:2px;width:100%;height:100%;display:block}.compact-flag-tile:hover{z-index:3;transform:scale(1.25);box-shadow:0 2px 6px #00000040}.compact-flag-tile.is-cancelled{opacity:.4}.compact-flag-tile.is-cancelled:after{content:"";background:linear-gradient(to bottom right, transparent calc(50% - .5px), var(--text-sub) calc(50% - .5px), var(--text-sub) calc(50% + .5px), transparent calc(50% + .5px));pointer-events:none;position:absolute;inset:0}.compact-flag-count{background:var(--text,#222);min-width:11px;height:11px;color:var(--surface,#fff);text-align:center;pointer-events:none;box-shadow:0 0 0 1px var(--surface,#fff);border-radius:6px;padding:0 2px;font-size:.55rem;font-weight:700;line-height:11px;position:absolute;bottom:-4px;right:-4px}@media (max-width:768px){.calendar-page .toolbar{gap:.4rem}.calendar-page .search-box{min-width:100%}.calendar-page .search-box-wrap{min-width:100%;max-width:100%}.calendar-page .country-filter{flex:1;min-width:0}.calendar-page .weekday-cell{padding:.4rem .2rem;font-size:.65rem}.calendar-page .day-cell{min-width:0;padding:3px 3px 1px}.calendar-page .week-row{min-height:90px}.calendar-page .day-number{font-size:.7rem}.calendar-page .event-bar{gap:3px;min-height:18px;padding:0 4px;font-size:.65rem}.calendar-page .event-bar .flag-span,.calendar-page .event-bar .flag-img{width:11px;height:8px}.calendar-page .week-row{grid-template-rows:18px repeat(var(--tracks,1), minmax(20px, auto)) 1fr}.calendar-page .more-btn{height:18px;padding:0 4px;font-size:.62rem}.calendar-page--compact .calendar--compact .week-row{min-height:70px}.calendar-page--compact .calendar--compact .day-cell{padding:3px 3px 4px}.calendar-page--compact .compact-flag-grid{gap:2px}.calendar-page--compact .compact-flag-tile{width:16px;height:12px}.calendar-page{--cl-cols:5.5rem 1.2rem var(--cl-name-width,22rem) repeat(21, 1.1rem);--cl-min-width:53rem}.calendar-page .comp-list{overflow-x:auto}.calendar-page .event-chips-grid{gap:4px;padding:4px 8px}.calendar-page .comp-list-row{gap:4px;padding:0 8px;font-size:.78rem}.calendar-page .comp-list-name-cell{margin-left:-4px}.calendar-page .comp-list-date{font-size:.7rem}.calendar-page .cl-event-cell{font-size:.65rem}.calendar-page .cl-year-num{font-size:1rem}.calendar-page .date-range-pick{min-width:5.4rem;padding:.3rem .5rem;font-size:.72rem}}.calendar-page .ym-popover-overlay{z-index:50;background:0 0;position:fixed;inset:0}.calendar-page .ym-popover-panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;gap:8px;padding:10px;display:flex;position:fixed;box-shadow:0 8px 24px #0000001f}.calendar-page .ym-popover-panel .wheel-picker{--wp-bg:var(--surface);--wp-text:#a8a69c;--wp-text-active:var(--text);--wp-highlight:var(--accent-soft);--wp-text-fade-2:#b8b6ac;--wp-text-fade-3:#d4d4d4;--wp-text-fade-4:#e5e5e5;min-height:260px}
