/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */.calendar-page{width:100%;animation:calendarReveal var(--transition-slow)80ms both;flex-direction:column;gap:1rem;display:flex}.calendar-toolbar{border-bottom:1px dashed rgba(var(--text-main-rgb),.12);justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.8rem;display:flex}.week-actions{align-items:center;gap:.35rem;display:inline-flex}.calendar-icon-btn,.calendar-text-btn,.busy-submit,.busy-delete,.busy-list-delete{color:var(--text-main);cursor:pointer;font-family:var(--font-mono);letter-spacing:0;text-transform:uppercase;transition:color var(--transition-fast),opacity var(--transition-fast),background-color var(--transition-fast);background:0 0;border:0;justify-content:center;align-items:center;font-weight:850;display:inline-flex}.calendar-icon-btn{border:1px solid rgba(var(--text-main-rgb),.12);opacity:.48;width:28px;height:28px;font-size:.62rem}.calendar-text-btn{border:1px solid rgba(var(--text-main-rgb),.12);opacity:.52;min-width:56px;height:28px;padding:0 .65rem;font-size:.58rem}.calendar-icon-btn:hover,.calendar-icon-btn:focus-visible,.calendar-text-btn:hover,.calendar-text-btn:focus-visible,.busy-submit:hover,.busy-submit:focus-visible,.busy-delete:hover,.busy-delete:focus-visible,.busy-list-delete:hover,.busy-list-delete:focus-visible{color:var(--accent);opacity:1}.week-range{min-width:0;color:var(--accent);font-family:var(--font-mono);letter-spacing:0;text-align:right;text-transform:uppercase;font-size:.72rem;font-weight:900}.busy-form{border-bottom:1px dashed rgba(var(--text-main-rgb),.12);grid-template-columns:minmax(136px,1fr) 96px minmax(136px,1fr) 96px minmax(140px,1.2fr) 92px 96px auto;align-items:end;gap:.8rem;padding-bottom:.95rem;display:grid}.busy-field{flex-direction:column;gap:.35rem;min-width:0;display:flex}.busy-field span{color:var(--text-main);font-family:var(--font-mono);letter-spacing:0;opacity:.42;font-size:.56rem;font-weight:850}.busy-field input{border:0;border-bottom:1px dotted rgba(var(--text-main-rgb),.28);width:100%;min-width:0;height:30px;color:var(--text-main);font-family:var(--font-mono);letter-spacing:0;background:0 0;outline:none;font-size:.68rem;font-weight:750}.busy-field input::placeholder{color:var(--text-main);opacity:.25}.busy-field input:focus{border-color:var(--accent)}.busy-toggle{border:1px solid rgba(var(--text-main-rgb),.14);width:100%;height:30px;color:var(--text-main);cursor:pointer;font-family:var(--font-mono);letter-spacing:0;opacity:.52;text-transform:uppercase;transition:border-color var(--transition-fast),color var(--transition-fast),opacity var(--transition-fast);justify-content:center;align-items:center;font-size:.58rem;font-weight:850;display:inline-flex}.busy-toggle input{opacity:0;pointer-events:none;border:0;width:1px;height:1px;margin:0;padding:0;position:absolute}.busy-toggle:has(input:checked){border-color:rgba(var(--accent-rgb),.32);color:var(--accent);opacity:1}.busy-toggle:has(input:disabled){cursor:default;opacity:.26}.busy-toggle:hover,.busy-toggle:focus-within{border-color:rgba(var(--accent-rgb),.28);color:var(--accent);opacity:.86}.busy-submit{border:1px solid rgba(var(--accent-rgb),.24);height:30px;color:var(--accent);opacity:.82;gap:.42rem;padding:0 .75rem;font-size:.6rem}.busy-duration-preview{min-height:1rem;color:var(--accent);font-family:var(--font-mono);letter-spacing:0;opacity:.72;text-transform:uppercase;grid-column:1/-1;align-items:center;font-size:.6rem;font-weight:850;display:flex}.busy-duration-preview.is-invalid{color:var(--color-danger,#f44)}.calendar-status{min-height:1rem;color:var(--accent);font-family:var(--font-mono);letter-spacing:0;opacity:.72;text-transform:uppercase;font-size:.58rem;font-weight:850}.calendar-board-wrap{width:100%;padding-bottom:0;overflow-x:hidden}.calendar-board{--hour-height:44px;--slot-height:calc(var(--hour-height)/4);border-top:1px solid rgba(var(--text-main-rgb),.1);border-bottom:1px solid rgba(var(--text-main-rgb),.1);grid-template-columns:clamp(34px,4.2vw,54px) repeat(7,minmax(0,1fr));align-items:start;width:100%;min-width:0;display:grid}.calendar-time-column,.calendar-day-column{min-width:0}.calendar-time-column{border-right:1px solid rgba(var(--text-main-rgb),.1)}.calendar-day-column{border-right:1px solid rgba(var(--text-main-rgb),.08)}.calendar-day-column.is-current-day{background:linear-gradient(180deg,rgba(var(--accent-rgb),.035),transparent 36%)}.calendar-day-column:last-child{border-right:0}.calendar-corner,.calendar-day-head{border-bottom:1px solid rgba(var(--text-main-rgb),.1);height:48px}.calendar-day-head{width:100%;color:var(--text-main);cursor:pointer;text-align:left;background:0 0;border-top:0;border-left:0;border-right:0;flex-direction:column;justify-content:center;align-items:flex-start;gap:.12rem;padding:0 clamp(.16rem,.7vw,.55rem);display:flex}.calendar-day-name,.calendar-day-date{max-width:100%;font-family:var(--font-mono);letter-spacing:0;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-weight:850;display:block;overflow:hidden}.calendar-day-name{color:var(--accent);opacity:.72;font-size:clamp(.46rem,.9vw,.58rem)}.calendar-day-date{color:var(--text-main);opacity:.42;font-size:clamp(.42rem,.82vw,.52rem)}.calendar-day-head.is-today .calendar-day-date,.calendar-day-head.is-selected .calendar-day-date{color:var(--accent);opacity:.92}.calendar-time-cell{box-sizing:border-box;height:var(--hour-height);border-bottom:1px dashed rgba(var(--text-main-rgb),.08);color:var(--text-main);font-family:var(--font-mono);letter-spacing:0;opacity:.38;justify-content:flex-end;align-items:flex-start;padding:.35rem clamp(.16rem,.55vw,.45rem) 0 0;font-size:clamp(.42rem,.8vw,.52rem);font-weight:800;display:flex}.calendar-day-slots{position:relative}.calendar-slot{box-sizing:border-box;width:100%;height:var(--slot-height);border:0;border-bottom:1px dashed rgba(var(--text-main-rgb),.08);background:linear-gradient(90deg,rgba(var(--accent-rgb),.03),transparent 70%);cursor:pointer;opacity:.76;transition:background-color var(--transition-fast),opacity var(--transition-fast);padding:0;display:block}.calendar-slot:hover,.calendar-slot:focus-visible,.calendar-slot.is-selected,.calendar-slot.is-range-selected{background-color:rgba(var(--accent-rgb),.08);opacity:1}.calendar-slot.is-range-selected{box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.2)}.calendar-slot.is-current-slot{background-color:rgba(var(--accent-rgb),.1);box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.22);opacity:1}.calendar-now-line{z-index:5;border-top:1px solid rgba(var(--accent-rgb),.9);pointer-events:none;position:absolute;left:0;right:0}.calendar-now-line:before{content:"";background:var(--accent);width:7px;height:7px;box-shadow:0 0 10px rgba(var(--accent-rgb),.42);position:absolute;top:-4px;left:0}.calendar-now-line span{border:1px solid rgba(var(--accent-rgb),.34);background:var(--bg-body);max-width:calc(100% - .55rem);color:var(--accent);font-family:var(--font-mono);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;padding:.1rem .18rem;font-size:clamp(.36rem,.7vw,.46rem);font-weight:900;line-height:1;position:absolute;top:0;right:.24rem;overflow:hidden;transform:translateY(-50%)}.calendar-page.is-range-dragging{-webkit-user-select:none;user-select:none}.calendar-page[data-calendar-editable=false] .calendar-slot{cursor:default;pointer-events:none}.calendar-page[data-calendar-editable=false] .calendar-slot:hover{opacity:.76;background-color:#0000}.busy-block{z-index:2;background:linear-gradient(135deg,rgba(var(--accent-rgb),.12),rgba(var(--text-main-rgb),.04)),var(--bg-body);min-height:22px;color:var(--text-main);cursor:pointer;box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.16);flex-direction:column;justify-content:space-between;padding:.34rem 1.5rem .34rem .45rem;display:flex;position:absolute;left:4px;right:4px;overflow:hidden}.calendar-page[data-calendar-editable=false] .busy-block{cursor:default}.busy-block.is-editing{background:linear-gradient(135deg,rgba(var(--accent-rgb),.18),rgba(var(--text-main-rgb),.065)),var(--bg-body);box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.42)}.busy-block.is-sleep{background:linear-gradient(135deg,rgba(var(--accent-rgb),.16),rgba(var(--text-main-rgb),.025)),var(--bg-body);box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.28),inset 3px 0 rgba(var(--accent-rgb),.74)}.busy-block.is-past{background:linear-gradient(135deg,rgba(var(--text-main-rgb),.055),rgba(var(--text-main-rgb),.018)),var(--bg-body);color:rgba(var(--text-main-rgb),.58);box-shadow:inset 0 0 0 1px rgba(var(--text-main-rgb),.13)}.busy-block-title,.busy-block-time,.busy-block-duration{max-width:100%;font-family:var(--font-mono);letter-spacing:0;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-weight:850;line-height:1.08;display:block;overflow:hidden}.busy-block-title{color:var(--text-main);opacity:.88;font-size:.56rem}.busy-block-time{color:var(--accent);opacity:.85;font-size:.48rem}.busy-block-duration{color:var(--accent);opacity:.68;font-size:.46rem}.busy-block.is-past .busy-block-title{opacity:.5}.busy-block.is-sleep .busy-block-title:before{content:"SLEEP · ";color:var(--accent)}.busy-block.is-past .busy-block-time,.busy-block.is-past .busy-block-duration{color:var(--text-main);opacity:.34}.busy-delete{opacity:0;width:18px;height:18px;font-size:.5rem;position:absolute;top:2px;right:2px}.busy-block:hover .busy-delete,.busy-block:focus-within .busy-delete{opacity:.86}.busy-summary{flex-direction:column;gap:.6rem;padding-top:.15rem;display:flex}.summary-heading{color:var(--accent);font-family:var(--font-mono);letter-spacing:0;text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.45rem 1rem;font-size:.62rem;font-weight:900;display:flex}.summary-heading:after{content:"";border-bottom:1px dotted rgba(var(--text-main-rgb),.2);flex:1;order:1}.summary-title{order:0}.busy-next{min-width:0;max-width:min(46vw,520px);color:var(--text-main);opacity:.62;text-overflow:ellipsis;white-space:nowrap;order:2;overflow:hidden}.busy-count{order:3}.busy-list{flex-direction:column;gap:.15rem;display:flex}.busy-row,.busy-empty{min-width:0;color:var(--text-main);font-family:var(--font-mono);letter-spacing:0;text-transform:uppercase;align-items:baseline;gap:.5rem;font-size:.62rem;font-weight:800;display:flex}.busy-row{cursor:pointer}.calendar-page[data-calendar-editable=false] .busy-row{cursor:default}.busy-row.is-editing{color:var(--accent)}.busy-row.is-sleep .busy-row-date:before{content:"SLEEP · "}.busy-row.is-past{color:var(--text-main);opacity:.42}.busy-row.is-past .busy-row-date{color:var(--text-main)}.busy-row-date,.busy-row-time,.busy-row-note{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.busy-row-date{width:172px;color:var(--accent);opacity:.82;flex:0 0 172px}.busy-row-time{opacity:.54;flex:0 0 108px;width:108px}.busy-row-note{opacity:.72;flex:auto}.busy-row-rule{border-bottom:1px dotted rgba(var(--text-main-rgb),.16);flex:auto;min-width:24px;height:1px}.busy-list-delete{opacity:.42;flex:0 0 22px;width:22px;height:22px;font-size:.56rem}.busy-empty{opacity:.42}@keyframes calendarReveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:760px){.calendar-toolbar{flex-direction:column;align-items:flex-start}.week-range{text-align:left}.busy-form{grid-template-columns:repeat(2,minmax(0,1fr))}.busy-note,.busy-source,.busy-visibility,.busy-submit{grid-column:1/-1}.busy-submit{width:100%}.calendar-board{--hour-height:38px;grid-template-columns:34px repeat(7,minmax(0,1fr))}.calendar-corner,.calendar-day-head{height:44px}.busy-block{padding:.28rem .32rem;left:2px;right:2px}.busy-block-title{font-size:.48rem}.busy-block-time{font-size:.42rem}.busy-block-duration{font-size:.4rem}.calendar-now-line span{display:none}.busy-delete{width:16px;height:16px}.busy-row{gap:.35rem}.busy-next{flex-basis:100%;max-width:100%}.busy-row-date{flex-basis:118px;width:118px}.busy-row-time{flex-basis:96px;width:96px}}
