/*! tailwindcss v4.1.13 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial;--tw-border-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-600:oklch(57.7% .245 27.325);--color-green-500:oklch(72.3% .219 149.579);--color-white:#fff;--spacing:.25rem;--container-7xl:80rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--radius-sm:.25rem;--radius-lg:.5rem;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.absolute{position:absolute}.relative{position:relative}.-right-4{right:calc(var(--spacing)*-4)}.-bottom-7{bottom:calc(var(--spacing)*-7)}.-bottom-8{bottom:calc(var(--spacing)*-8)}.z-10{z-index:10}.-mt-0\.5{margin-top:calc(var(--spacing)*-.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-6{margin-top:calc(var(--spacing)*6)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-16{margin-bottom:calc(var(--spacing)*16)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.flex-1{flex:1}.-rotate-1{rotate:-1deg}.resize{resize:both}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.justify-center{justify-content:center}.gap-0{gap:calc(var(--spacing)*0)}.gap-2{gap:calc(var(--spacing)*2)}.px-2{padding-inline:calc(var(--spacing)*2)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-white{color:var(--color-white)}.opacity-80{opacity:.8}@media (min-width:64rem){.lg\:ps-\[60px\]{padding-inline-start:60px}}}@font-face{font-family:mono;src:url(../../../fonts/BerkeleyMono-Regular.woff2)format("woff2");font-weight:400;font-style:normal}@font-face{font-family:mono;src:url(../../../fonts/BerkeleyMono-Medium.woff2)format("woff2");font-weight:500;font-style:normal}@font-face{font-family:mono;src:url(../../../fonts/BerkeleyMono-SemiBold.woff2)format("woff2");font-weight:600;font-style:normal}@font-face{font-family:mono;src:url(../../../fonts/BerkeleyMono-Bold.woff2)format("woff2");font-weight:700;font-style:normal}:root{--font-family:"mono",ui-monospace,"Cascadia Code","Source Code Pro",Menlo,Consolas,"DejaVu Sans Mono",monospace;--font-weight-base:500;--font-weight-large:700;--color-primary:#ff5e00;--color-primary-hover:#1d4ed8;--color-bg-main:black;--color-bg-header:#3a3e41;--color-bg-weekday:#3a3e41;--color-bg-other-month:#3a3e41;--color-bg-nav:#3a3e41;--color-border:#151719;--color-border-light:#151719;--color-text-primary:#d8dadc;--color-text-secondary:#d8dadc;--color-text-light:#d8dadc;--color-event-bg:#000;--color-event-text:#d8dadc;--color-event-hover:#000000e6;--color-cell-border:#3a3e41;--color-cell-bg:#151719;--radius-sm:0rem;--radius-md:0rem;--radius-lg:0rem;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--transition-fast:.15s;--transition-normal:.2s;--transition-slow:.3s;--swing-duration:20s;--swing-angle:35deg;--font-base:var(--small-font-base);--font-large:var(--small-font-large);--small-spacing-xs:.125rem;--small-spacing-sm:.25rem;--small-spacing-md:.5rem;--small-spacing-lg:.75rem;--small-spacing-xl:1rem;--small-grid-width:100%;--small-grid-height:500px;--small-cell-padding:3px;--small-event-padding:2px 3px;--small-font-base:.575rem;--small-font-large:1rem;--medium-spacing-xs:.25rem;--medium-spacing-sm:.375rem;--medium-spacing-md:.75rem;--medium-spacing-lg:1rem;--medium-spacing-xl:1.5rem;--medium-grid-width:100%;--medium-grid-height:700px;--medium-cell-padding:4px;--medium-event-padding:2px 4px;--medium-font-base:.8rem;--medium-font-large:1.1rem;--large-spacing-xs:.375rem;--large-spacing-sm:.5rem;--large-spacing-md:1rem;--large-spacing-lg:1.25rem;--large-spacing-xl:2rem;--large-grid-width:1200px;--large-grid-height:800px;--large-cell-padding:6px;--large-event-padding:3px 6px;--large-font-base:.9rem;--large-font-large:1.1rem;--xl-spacing-xs:.5rem;--xl-spacing-sm:.75rem;--xl-spacing-md:1.5rem;--xl-spacing-lg:2rem;--xl-spacing-xl:3rem;--xl-grid-width:1400px;--xl-grid-height:900px;--xl-cell-padding:8px;--xl-event-padding:4px 8px;--xl-font-large:1.1rem;--xl-font-base:.9rem;--spacing-xs:var(--small-spacing-xs);--spacing-sm:var(--small-spacing-sm);--spacing-md:var(--small-spacing-md);--spacing-lg:var(--small-spacing-lg);--spacing-xl:var(--small-spacing-xl);--grid-width:var(--small-grid-width);--grid-height:var(--small-grid-height);--cell-padding:var(--small-cell-padding);--event-padding:var(--small-event-padding)}body{background-color:var(--color-bg-main);font-family:var(--font-family)}.bg-primary{background-color:var(--color-primary)}.bg-secondary{background-color:var(--color-cell-bg)}.app-container{max-width:var(--container-7xl);padding:calc(var(--spacing)*8);font-family:var(--font-family);font-weight:var(--font-weight-base);margin-inline:auto}.page-title{margin-bottom:calc(var(--spacing)*8);text-align:center;font-size:var(--font-large);font-weight:var(--font-weight-large);color:var(--color-text-primary)}.loading-message{padding:var(--spacing-xl);justify-content:center;align-items:center;gap:var(--spacing-md);flex-direction:column;display:flex}.loading-spinner{height:calc(var(--spacing)*12);width:calc(var(--spacing)*12);animation:var(--animate-spin)}.loading-path{stroke:var(--color-primary);stroke-linecap:round;animation:1.5s ease-in-out infinite dash}.loading-text{font-size:var(--font-lg);color:var(--color-text-secondary)}@keyframes dash{0%{stroke-dasharray:1 150;stroke-dashoffset:0}50%{stroke-dasharray:90 150;stroke-dashoffset:-35px}to{stroke-dasharray:90 150;stroke-dashoffset:-124px}}@keyframes swingSettle{0%{transform:rotate(var(--swing-angle))}5%{transform:rotate(calc(var(--swing-angle)*-.8))}10%{transform:rotate(calc(var(--swing-angle)*.72))}15%{transform:rotate(calc(var(--swing-angle)*-.6))}20%{transform:rotate(calc(var(--swing-angle)*.48))}25%{transform:rotate(calc(var(--swing-angle)*-.4))}30%{transform:rotate(calc(var(--swing-angle)*.32))}35%{transform:rotate(calc(var(--swing-angle)*-.24))}40%{transform:rotate(calc(var(--swing-angle)*.2))}45%{transform:rotate(calc(var(--swing-angle)*-.16))}50%{transform:rotate(calc(var(--swing-angle)*.12))}55%{transform:rotate(calc(var(--swing-angle)*-.08))}60%{transform:rotate(calc(var(--swing-angle)*.08))}65%{transform:rotate(calc(var(--swing-angle)*-.04))}70%{transform:rotate(calc(var(--swing-angle)*.04))}75%{transform:rotate(calc(var(--swing-angle)*-.02))}80%{transform:rotate(calc(var(--swing-angle)*.02))}85%{transform:rotate(calc(var(--swing-angle)*-.01))}90%{transform:rotate(calc(var(--swing-angle)*.01))}95%{transform:rotate(calc(var(--swing-angle)*-.004))}to{transform:rotate(0)}}.swing-animation{transform-origin:top;animation:swingSettle var(--swing-duration)ease-out forwards}.error-message{text-align:center;color:var(--color-red-600);padding:var(--spacing-xl);font-size:var(--font-lg)}.cache-indicator{justify-content:center;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);font-size:var(--font-base);display:flex}.cache-dot{height:calc(var(--spacing)*2);width:calc(var(--spacing)*2);animation:var(--animate-pulse);background-color:var(--color-green-500);border-radius:3.40282e38px}.cache-text{color:var(--color-text-light)}.calendar-container{width:var(--grid-width);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-inline:auto;overflow:hidden}.calendar-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.view-switcher{justify-content:flex-end;align-items:flex-end;gap:calc(var(--spacing)*1);display:flex}.view-button{cursor:pointer;padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*1);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));background-color:var(--color-bg-nav);color:var(--color-text-secondary);font-size:var(--font-large);border:1px solid var(--color-bg-nav)}.view-button:hover{background-color:var(--color-bg-header)}.view-button.active{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.calendar-navigation{justify-content:center;align-items:center;gap:var(--spacing-md);display:flex}.nav-button{cursor:pointer;background-color:var(--color-bg-nav);padding:0 var(--spacing-xs);border-radius:var(--radius-sm);font-size:var(--font-large);transition:background-color var(--transition-normal)}.nav-button:hover{background-color:var(--color-primary);color:var(--color-text-primary)}.nav-button-placeholder{width:2rem;display:inline-block}.current-period{text-align:center;--tw-font-weight:var(--font-weight-medium);min-width:100px;font-weight:var(--font-weight-medium);font-size:var(--font-large);color:var(--color-text-primary)}.calendar-grid{width:100%}.weekdays-row{background-color:var(--color-bg-weekday);border-bottom:1px solid var(--color-border);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.weekday-header{text-align:center;padding:var(--spacing-xs)0;color:var(--color-text-secondary);font-size:var(--font-large)}.days-grid{display:grid}.days-grid.month-view{height:var(--grid-height);grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:1fr}.days-grid.week-view{grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:minmax(450px,1fr)}.days-grid.day-view{grid-template-columns:repeat(1,minmax(0,1fr));min-height:600px}.day-cell{padding:var(--cell-padding);background-color:var(--color-cell-bg);border-right:1px solid var(--color-cell-border);border-bottom:1px solid var(--color-cell-border);height:100%;overflow-y:auto}.day-cell:nth-child(5n){border-right-style:var(--tw-border-style);border-right-width:0}.day-cell.other-month{background-color:var(--color-cell-bg);opacity:.7}.day-cell.current-day{background-color:#2a2c2e;position:relative}.day-cell.current-day:after{content:"";background-color:var(--color-primary);height:4px;position:absolute;bottom:0;left:0;right:0}.day-cell.past-day{opacity:.7}.day-column.past-day .hour-slot{opacity:.6}.day-header{margin-bottom:var(--spacing-xs)}.day-number{padding-inline:calc(var(--spacing)*1);padding-block:calc(var(--spacing)*.5);color:#fff;background-color:var(--color-bg-header);font-size:var(--font-base);border-left:1px solid #626567;border-radius:1px}.day-label{padding-inline:calc(var(--spacing)*1);--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light);color:var(--color-text-primary);font-size:var(--font-base)}.day-events{flex-direction:column;gap:0;display:flex}.event-block{background-color:var(--color-event-bg);color:var(--color-event-text);padding:var(--event-padding);border-radius:var(--radius-sm);font-size:var(--font-base);text-overflow:ellipsis;white-space:nowrap;min-height:18px;transition:background-color var(--transition-normal);line-height:1.2;overflow:hidden}.event-label{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal);font-size:var(--font-base)}.toggle-container{margin-top:calc(var(--spacing)*2);gap:calc(var(--spacing)*1);display:flex}.toggle-button{cursor:pointer;padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*1);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));background-color:var(--color-bg-nav);color:var(--color-text-secondary);font-size:var(--font-large);border:1px solid var(--color-bg-nav)}.toggle-button:hover{background-color:var(--color-bg-header)}.toggle-button.active{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.event-block.available-block{color:#90ee90;background-color:#1a4d1a;border-left:2px solid #4a7c4a}.past-day .event-block.available-block,.past-day .time-event-block.available-block{opacity:.5}.time-grid-view{background-color:var(--color-bg-main);height:100%;min-height:600px;display:flex}.time-labels{border-right:1px solid var(--color-border);flex-shrink:0;width:60px}.time-header-spacer{border-bottom:1px solid var(--color-border);height:60px}.time-label{height:3rem;font-size:var(--font-base);color:var(--color-text-secondary);text-align:right;border-bottom:1px solid var(--color-border);padding:2px 8px}.time-grid-columns{flex-direction:column;flex:1;display:flex}.day-headers-row{height:60px;display:flex}.day-column-header{border-right:1px solid var(--color-border);border-left:1px solid var(--color-border);background-color:#2a2c2e;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.day-column-header:last-child{border-right:none}.day-column-header.current-day{background-color:var(--color-bg-header)}.day-column-header.past-day{opacity:.7}.day-name{font-size:var(--font-base);color:var(--color-text-secondary)}.day-date{font-size:var(--font-large);font-weight:var(--font-weight-large);color:var(--color-text-primary)}.time-slots-container{flex:1;display:flex;position:relative}.day-column{border-right:1px solid var(--color-border);flex:1;position:relative}.day-column:last-child{border-right:none}.hour-slot{border-bottom:1px solid #2a2a2a;height:3rem}.events-overlay{pointer-events:none;position:absolute;inset:0}.time-event-block{background-color:var(--color-event-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);pointer-events:auto;min-height:20px;position:absolute;left:0;right:0;overflow:hidden}.time-event-block.available-block{background-color:#1a4d1a;border-color:#4a7c4a}.time-event-content{font-size:var(--font-base);color:var(--color-event-text);padding:2px 4px;line-height:1.2}.time-event-block.available-block .time-event-content{color:#90ee90}.time-event-time{font-size:var(--font-base);opacity:.8}@media (max-width:768px){.app-container{padding:calc(var(--spacing)*2)}.calendar-header{gap:calc(var(--spacing)*2);padding:var(--spacing-sm);flex-direction:column}.weekday-header{padding:2px}.days-grid.month-view{height:450px}.event-label{letter-spacing:-.5px}.event-block{min-height:14px;padding:1px 2px;line-height:1}}@media (min-width:768px) and (max-width:1024px){:root{--font-base:var(--medium-font-base);--font-large:var(--medium-font-large);--spacing-xs:var(--medium-spacing-xs);--spacing-sm:var(--medium-spacing-sm);--spacing-md:var(--medium-spacing-md);--spacing-lg:var(--medium-spacing-lg);--spacing-xl:var(--medium-spacing-xl);--grid-width:var(--medium-grid-width);--grid-height:var(--medium-grid-height);--cell-padding:var(--medium-cell-padding);--event-padding:var(--medium-event-padding)}}@media (min-width:1024px) and (max-width:1440px){:root{--font-base:var(--large-font-base);--font-large:var(--large-font-large);--spacing-xs:var(--large-spacing-xs);--spacing-sm:var(--large-spacing-sm);--spacing-md:var(--large-spacing-md);--spacing-lg:var(--large-spacing-lg);--spacing-xl:var(--large-spacing-xl);--grid-width:var(--large-grid-width);--grid-height:var(--large-grid-height);--cell-padding:var(--large-cell-padding);--event-padding:var(--large-event-padding)}.days-grid.week-view{grid-auto-rows:minmax(480px,1fr)}}@media (min-width:1440px) and (max-width:1920px){:root{--font-base:var(--large-font-base);--font-large:var(--large-font-large);--spacing-xs:var(--large-spacing-xs);--spacing-sm:var(--large-spacing-sm);--spacing-md:var(--large-spacing-md);--spacing-lg:var(--large-spacing-lg);--spacing-xl:var(--large-spacing-xl);--grid-width:var(--large-grid-width);--grid-height:var(--large-grid-height);--cell-padding:var(--large-cell-padding);--event-padding:var(--large-event-padding)}.app-container{max-width:1400px}.days-grid.week-view{grid-auto-rows:minmax(550px,1fr)}}@media (min-width:1920px){:root{--font-base:var(--xl-font-base);--font-large:var(--xl-font-large);--spacing-xs:var(--xl-spacing-xs);--spacing-sm:var(--xl-spacing-sm);--spacing-md:var(--xl-spacing-md);--spacing-lg:var(--large-spacing-lg);--spacing-xl:var(--xl-spacing-xl);--grid-width:var(--xl-grid-width);--grid-height:calc(var(--xl-grid-height));--cell-padding:var(--xl-cell-padding);--event-padding:var(--xl-event-padding)}.app-container{max-width:1600px}.days-grid.week-view{grid-auto-rows:minmax(650px,1fr)}.days-grid.day-view{min-height:600px;max-height:600px}}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}
