:root{--cal-bg:rgba(255,255,255,0.8);--cal-panel:rgba(255,255,255,0.92);--cal-border:rgba(13,4,37,0.1);--cal-grid:rgba(13,4,37,0.08);--cal-muted:#5E6CE7;--chip-shadow:0 4px 20px rgba(0,0,0,0.1);--chip-1:#C645F9;--chip-2:#5E6CE7;--chip-3:#FDE68A;--chip-4:#34D399;--chip-5:#FCA5A5;--chip-6:#60A5FA;--chip-7:#F9A8D4;--chip-8:#FDBA74}.cal-canvas{background:transparent;color:#0D0425}.cal-panel{background:var(--cal-panel);border:1px solid var(--cal-border);border-radius:20px;backdrop-filter:blur(18px) saturate(110%)}.cal-grid-border{border-color:var(--cal-grid)}.cal-muted{color:var(--cal-muted)}.cal-scrollbar::-webkit-scrollbar{height:10px;width:10px}.cal-scrollbar::-webkit-scrollbar-thumb{background:var(--cal-grid);border-radius:9999px}.cal-scrollbar::-webkit-scrollbar-track{background:transparent}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.cal-chip{border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.08);backdrop-filter:saturate(115%) blur(1.5px);transition:box-shadow .2s ease,transform .2s ease;color:rgba(255,255,255,.98);border:1px solid rgba(255,255,255,.15)}.cal-chip:hover{box-shadow:0 4px 12px rgba(0,0,0,.16),0 2px 4px rgba(0,0,0,.12)}.cal-chip[data-color-index="0"]{background:color-mix(in hsl,var(--chip-1) 92%,black 0%)}.cal-chip[data-color-index="1"]{background:color-mix(in hsl,var(--chip-2) 92%,black 0%)}.cal-chip[data-color-index="2"]{background:color-mix(in hsl,var(--chip-3) 92%,black 0%);color:#1a1a1a}.cal-chip[data-color-index="3"]{background:color-mix(in hsl,var(--chip-4) 92%,black 0%)}.cal-chip[data-color-index="4"]{background:color-mix(in hsl,var(--chip-5) 92%,black 0%)}.cal-chip[data-color-index="5"]{background:color-mix(in hsl,var(--chip-6) 92%,black 0%)}.cal-chip[data-color-index="6"]{background:color-mix(in hsl,var(--chip-7) 92%,black 0%)}.cal-chip[data-color-index="7"]{background:color-mix(in hsl,var(--chip-8) 92%,black 0%);color:#1a1a1a}.cal-chip-outline{border:1px dashed var(--cal-muted);background:color-mix(in oklab,var(--cal-panel) 80%,white 2%)}.cal-chip.cal-chip-unconfirmed,.cal-chip[data-color-index].cal-chip-unconfirmed{opacity:.8!important;position:relative;border:2px dashed rgba(255,255,255,.9)!important;border-image:none!important}.cal-chip.cal-chip-unconfirmed:before{content:"";position:absolute;inset:-2px;border-radius:12px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.9) 0,rgba(255,255,255,.9) 8px,transparent 0,transparent 16px) top /100% 2px no-repeat,repeating-linear-gradient(180deg,rgba(255,255,255,.9) 0,rgba(255,255,255,.9) 8px,transparent 0,transparent 16px) 100% /2px 100% no-repeat,repeating-linear-gradient(90deg,rgba(255,255,255,.9) 0,rgba(255,255,255,.9) 8px,transparent 0,transparent 16px) bottom /100% 2px no-repeat,repeating-linear-gradient(180deg,rgba(255,255,255,.9) 0,rgba(255,255,255,.9) 8px,transparent 0,transparent 16px) 0 /2px 100% no-repeat;pointer-events:none;z-index:1}.month-unconfirmed-session{background-image:repeating-linear-gradient(45deg,transparent,transparent 4px,rgba(255,255,255,.15) 0,rgba(255,255,255,.15) 8px)!important;background-size:8px 8px}.cal-hairline-now{height:2px;background:#C645F9;box-shadow:0 0 12px rgba(198,69,249,.6)}.cal-unavailable{position:absolute;left:0;right:0;background:rgba(0,0,0,.35);pointer-events:none}.cal-sticky{position:sticky;top:6.15rem;z-index:30}.cal-fab{position:fixed;right:16px;bottom:16px;background:linear-gradient(135deg,#C645F9,#5E6CE7);color:white;border-radius:9999px;padding:10px 14px;box-shadow:0 10px 34px rgba(98,79,216,.32);backdrop-filter:blur(20px)}@keyframes cal-tick{0%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.85}to{transform:scale(1);opacity:1}}.cal-hour-active{animation:cal-tick 1.2s ease-in-out}.cursor-grab{cursor:grab}.cursor-grab:active{cursor:grabbing}