.cal-root{--cal-accent: 79 70 229;--cal-accent-fg: 255 255 255;--cal-surface: 255 255 255;--cal-surface-muted: 248 250 252;--cal-border: 226 232 240;--cal-text: 15 23 42;--cal-text-muted: 100 116 139;--cal-event-default: 234 221 255;--cal-event-text: 15 23 42;--cal-danger: 220 38 38;--cal-warn: 249 115 22;--cal-success: 34 197 94;--cal-radius: .5rem;--cal-duration-fast: .15s;--cal-duration-normal: .25s;--cal-ease: cubic-bezier(.23, 1, .32, 1);--cal-shadow-sm: 0 1px 2px rgb(15 23 42 / .06);--cal-shadow-md: 0 4px 12px rgb(15 23 42 / .1);--cal-shadow-lg: 0 8px 24px rgb(15 23 42 / .18);--cal-ring: var(--cal-accent);--cal-font: inherit;--cal-font-size: .875rem;--cal-popover-width: 32rem;--cal-cell-min-height: 6.75rem;--cal-hour-height: 3rem}.cal-root.cal-dark{--cal-surface: 15 23 42;--cal-surface-muted: 30 41 59;--cal-border: 51 65 85;--cal-text: 241 245 249;--cal-text-muted: 148 163 184;--cal-shadow-sm: 0 1px 2px rgb(0 0 0 / .4);--cal-shadow-md: 0 4px 12px rgb(0 0 0 / .5);--cal-shadow-lg: 0 8px 24px rgb(0 0 0 / .6)}.cal-root{--cal-accent:79 70 229;--cal-accent-fg:255 255 255;--cal-surface:255 255 255;--cal-surface-muted:248 250 252;--cal-border:226 232 240;--cal-text:15 23 42;--cal-text-muted:100 116 139;--cal-event-default:234 221 255;--cal-event-text:15 23 42;--cal-danger:220 38 38;--cal-warn:249 115 22;--cal-success:34 197 94;--cal-radius:.5rem;--cal-duration-fast:.15s;--cal-duration-normal:.25s;--cal-ease:cubic-bezier(.23,1,.32,1);--cal-shadow-sm:0 1px 2px rgba(15,23,42,.06);--cal-shadow-md:0 4px 12px rgba(15,23,42,.1);--cal-shadow-lg:0 8px 24px rgba(15,23,42,.18);--cal-ring:var(--cal-accent);--cal-font:inherit;--cal-font-size:.875rem;--cal-popover-width:32rem;--cal-cell-min-height:6.75rem;--cal-hour-height:3rem}.cal-root.cal-dark{--cal-surface:15 23 42;--cal-surface-muted:30 41 59;--cal-border:51 65 85;--cal-text:241 245 249;--cal-text-muted:148 163 184;--cal-shadow-sm:0 1px 2px rgba(0,0,0,.4);--cal-shadow-md:0 4px 12px rgba(0,0,0,.5);--cal-shadow-lg:0 8px 24px rgba(0,0,0,.6)}.cal-root{color:rgb(var(--cal-text));background:rgb(var(--cal-surface));font-family:var(--cal-font);font-size:var(--cal-font-size);position:relative}.cal-root :focus-visible{outline:2px solid rgb(var(--cal-accent));outline-offset:1px}.cal-root button{transition:background-color var(--cal-duration-fast) var(--cal-ease),border-color var(--cal-duration-fast) var(--cal-ease),color var(--cal-duration-fast) var(--cal-ease)}.cal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding:.875rem 1rem;border-bottom:1px solid rgb(var(--cal-border));margin-bottom:1rem}.cal-toolbar-end,.cal-toolbar-start{display:flex;align-items:center;gap:.625rem}.cal-toolbar-label{font-size:1.375rem;font-weight:500;margin:0;text-transform:capitalize;letter-spacing:-.01em}.cal-toolbar-nav{display:flex;align-items:center;gap:.25rem}.cal-toolbar-nav>.cal-button-ghost{font-size:1.375rem;line-height:1;min-width:2.5rem;padding:0 .5rem}.cal-toolbar-datepicker{margin-left:.5rem;display:inline-flex}.cal-toolbar-datepicker input{border:1px solid rgb(var(--cal-border));background:rgb(var(--cal-surface));color:inherit;font:inherit;padding:.25rem .5rem;border-radius:calc(var(--cal-radius)/1.5)}.cal-button,.cal-button-ghost,.cal-button-primary{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;height:2.5rem;padding:0 .875rem;border-radius:var(--cal-radius);font:inherit;font-weight:500;cursor:pointer;transition:background-color .12s var(--cal-ease),border-color .12s var(--cal-ease),color .12s var(--cal-ease),box-shadow .12s var(--cal-ease),transform .12s var(--cal-ease),filter .12s var(--cal-ease)}.cal-button{border:1px solid rgb(var(--cal-border));background:rgb(var(--cal-surface));color:inherit}.cal-button:hover{background:rgb(var(--cal-surface-muted))}.cal-button-ghost{border:0;background:transparent;color:inherit}.cal-button-ghost:hover{background:rgb(var(--cal-surface-muted))}.cal-button-primary{border:0;font-weight:600;background:rgb(var(--cal-accent));color:rgb(var(--cal-accent-fg));box-shadow:var(--cal-shadow-sm),0 1px 3px rgb(var(--cal-accent)/.24)}.cal-button-primary:hover{transform:translateY(-1px);box-shadow:var(--cal-shadow-md),0 1px 3px rgb(var(--cal-accent)/.24);filter:brightness(1.06)}.cal-button-primary:active{transform:translateY(0) scale(.985)}.cal-button-ghost:focus-visible,.cal-button:focus-visible{outline:none;box-shadow:0 0 0 3px rgb(var(--cal-ring)/.35)}.cal-button-primary:focus-visible{outline:none;box-shadow:var(--cal-shadow-sm),0 0 0 3px rgb(var(--cal-ring)/.35)}.cal-button-ghost:disabled,.cal-button-primary:disabled,.cal-button:disabled{opacity:.5;cursor:not-allowed;transform:none;filter:none}.cal-button-icon{width:16px;height:16px;flex:none}.cal-segmented{display:inline-flex;align-items:stretch;border:1px solid rgb(var(--cal-border));border-radius:var(--cal-radius);overflow:hidden;background:rgb(var(--cal-surface))}.cal-segment{border:0;background:transparent;color:inherit;font:inherit;font-weight:500;height:2.375rem;padding:0 .875rem;cursor:pointer;transition:background-color .12s var(--cal-ease),color .12s var(--cal-ease)}.cal-segment+.cal-segment{border-left:1px solid rgb(var(--cal-border))}.cal-segment:hover{background:rgb(var(--cal-surface-muted))}.cal-segment[aria-pressed=true]{background:rgb(var(--cal-accent));color:rgb(var(--cal-accent-fg))}.cal-segment[aria-pressed=true]+.cal-segment{border-left-color:rgb(var(--cal-accent))}.cal-segment:focus-visible{outline:none;box-shadow:inset 0 0 0 3px rgb(var(--cal-ring)/.35)}@media (prefers-reduced-motion:reduce){.cal-button,.cal-button-ghost,.cal-button-primary,.cal-segment{transition-duration:0ms}.cal-button-primary:active,.cal-button-primary:hover{transform:none}}.cal-layout{display:grid;grid-template-columns:14rem minmax(0,1fr);gap:1rem;align-items:start}.cal-preset-rail{display:flex;flex-direction:column;gap:.75rem;padding:.875rem 0 .875rem .875rem}.cal-rail-create{width:100%;height:2.75rem}.cal-preset-heading{margin:.25rem 0 0;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:rgb(var(--cal-text-muted))}.cal-preset-list{display:flex;flex-direction:column;gap:.375rem}.cal-preset-item{position:relative;display:flex;align-items:stretch;gap:.125rem}.cal-preset-card{flex:1;display:flex;align-items:stretch;gap:.5rem;border:1px solid rgb(var(--cal-border));background:rgb(var(--cal-surface));color:inherit;font:inherit;text-align:left;padding:.5rem .625rem;border-radius:calc(var(--cal-radius)/1.5);cursor:grab;touch-action:pan-y}.cal-preset-card:hover{background:rgb(var(--cal-surface-muted))}.cal-preset-card-bar{width:3px;border-radius:9999px;background:rgb(var(--cal-accent));flex:none}.cal-preset-card-body{display:flex;flex-direction:column;gap:.125rem;min-width:0}.cal-preset-card-label{font-weight:600;font-size:.8125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-preset-card-duration{font-size:.75rem;color:rgb(var(--cal-text-muted));font-variant-numeric:tabular-nums}.cal-preset-add{height:2.25rem;justify-content:flex-start;color:rgb(var(--cal-text-muted));font-size:.8125rem}.cal-preset-menu{position:relative;display:inline-flex;align-items:flex-start}.cal-preset-menu-items{position:absolute;right:0;top:100%;z-index:45;display:flex;flex-direction:column;min-width:7rem;background:rgb(var(--cal-surface));border:1px solid rgb(var(--cal-border));border-radius:calc(var(--cal-radius)/1.5);box-shadow:var(--cal-shadow-md);overflow:hidden}.cal-preset-menu-items button{border:0;background:transparent;color:inherit;font:inherit;font-size:.8125rem;text-align:left;padding:.4375rem .625rem;cursor:pointer}.cal-preset-menu-items button:hover{background:rgb(var(--cal-surface-muted))}.cal-preset-fly{position:fixed;left:0;top:0;z-index:60;opacity:.9;pointer-events:none;display:flex;gap:.5rem;padding:.5rem .625rem;border:1px solid rgb(var(--cal-border));border-radius:calc(var(--cal-radius)/1.5);background:rgb(var(--cal-surface));box-shadow:var(--cal-shadow-lg);will-change:transform}.cal-preset-fly[data-returning]{transition:transform .2s var(--cal-ease),opacity .2s var(--cal-ease);opacity:.4}@media (prefers-reduced-motion:reduce){.cal-preset-fly[data-returning]{transition-duration:0ms}}@media (max-width:48rem){.cal-layout{grid-template-columns:minmax(0,1fr)}.cal-preset-rail{padding:.875rem .875rem 0}.cal-preset-list{flex-direction:row;overflow-x:auto;padding-bottom:.25rem}.cal-preset-item{flex:none}}.cal-month-grid{width:100%;-moz-user-select:none;user-select:none;-webkit-user-select:none}.cal-month-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.cal-month-week:not(:last-child){border-bottom:1px solid rgb(var(--cal-border))}.cal-month-cell-weekday{color:rgb(var(--cal-text-muted));font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;height:1rem;line-height:1rem;margin-bottom:.25rem}.cal-month-cell{min-height:var(--cal-cell-min-height);padding:.3125rem .375rem .375rem;overflow:hidden;outline-offset:-2px;cursor:default}.cal-month-cell:not(:last-child){border-right:1px solid rgb(var(--cal-border))}.cal-month-cell:hover{background:rgb(var(--cal-surface-muted)/.6)}.cal-month-cell-outside .cal-month-cell-date{color:rgb(var(--cal-text-muted));opacity:.55}.cal-month-cell-selected{background:rgb(var(--cal-accent)/.08)}.cal-month-cell-date{display:inline-flex;align-items:center;justify-content:center;min-width:1.375rem;height:1.375rem;border-radius:9999px;margin-bottom:.375rem;font-size:.8125rem;font-weight:500;font-variant-numeric:tabular-nums}.cal-month-cell-today .cal-month-cell-date{background:rgb(var(--cal-accent));color:rgb(var(--cal-accent-fg));font-weight:700}.cal-month-cell-chips{display:flex;flex-direction:column;gap:2px}.cal-month-compact{display:flex;flex-direction:column;padding:.5rem .25rem .75rem;-moz-user-select:none;user-select:none;-webkit-user-select:none}.cal-compact-week,.cal-compact-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.cal-compact-weekday{text-align:center;font-size:.6875rem;font-weight:600;color:rgb(var(--cal-text-muted));padding:.25rem 0}.cal-compact-day{display:flex;flex-direction:column;align-items:center;gap:.3125rem;border:2px solid transparent;border-radius:calc(var(--cal-radius)/1.5);background:transparent;color:inherit;font:inherit;padding:.375rem 0 .25rem;min-height:2.875rem;cursor:pointer}.cal-compact-day-selected{border-color:rgb(var(--cal-accent))}.cal-compact-day-outside .cal-compact-day-num{color:rgb(var(--cal-text-muted));opacity:.55}.cal-compact-day-num{display:inline-flex;align-items:center;justify-content:center;min-width:1.375rem;height:1.375rem;border-radius:9999px;font-size:.8125rem;font-weight:500;font-variant-numeric:tabular-nums}.cal-compact-day-today .cal-compact-day-num{background:rgb(var(--cal-accent));color:rgb(var(--cal-accent-fg));font-weight:700}.cal-compact-dots{display:flex;gap:3px;height:.3125rem}.cal-compact-dot{width:.3125rem;height:.3125rem;border-radius:9999px}.cal-compact-daylist{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.cal-compact-empty{color:rgb(var(--cal-text-muted));text-align:center;padding:1rem 0;margin:0}.cal-compact-event{display:flex;flex-direction:column;gap:.25rem;width:100%;text-align:left;border:0;border-radius:calc(var(--cal-radius)/1.5);padding:.625rem .75rem;font:inherit;background:rgb(var(--cal-event-default));color:rgb(var(--cal-text));cursor:pointer;box-shadow:inset 3px 0 rgb(var(--cal-accent)/.45)}.cal-compact-event:hover{filter:brightness(.96)}.cal-compact-event-title{font-weight:600;font-size:.8125rem}.cal-compact-event-when{display:flex;align-items:center;gap:.375rem;font-size:.75rem;opacity:.85;font-variant-numeric:tabular-nums}.cal-compact-event-icon{width:14px;height:14px;flex:none}.cal-compact-add{width:100%;height:3rem;margin-top:.75rem}.cal-chip,.cal-lane-bar,.cal-more-button{display:block;width:100%;text-align:left;border:0;border-radius:4px;padding:.1875rem .4375rem;font:inherit;font-size:.75rem;font-weight:500;line-height:1.3;background:rgb(var(--cal-event-default));color:rgb(var(--cal-text));cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:inset 3px 0 rgb(var(--cal-accent)/.45)}.cal-chip:hover,.cal-lane-bar:hover{filter:brightness(.96)}.cal-chip[data-dragging],.cal-lane-bar[data-dragging]{opacity:.35}.cal-chip[data-draggable],.cal-lane-bar[data-draggable]{cursor:grab}.cal-drag-ghost{opacity:.85;transform:scale(1.02);box-shadow:var(--cal-shadow-lg);pointer-events:none;z-index:30}.cal-ghost-badge{display:block;font-variant-numeric:tabular-nums;font-weight:700;font-size:.6875rem}.cal-resize-badge{white-space:nowrap}.cal-chip-resize-end,.cal-chip-resize-start{position:absolute;left:0;right:0;height:8px;cursor:ns-resize}.cal-chip-resize-start{top:0}.cal-chip-resize-end{bottom:0}@media (pointer:coarse){.cal-chip-resize-end:before,.cal-chip-resize-start:before{content:"";position:absolute;left:0;right:0;height:24px}.cal-chip-resize-start:before{top:0}.cal-chip-resize-end:before{bottom:0}}.cal-chip:hover .cal-chip-resize-end,.cal-chip:hover .cal-chip-resize-start{border-bottom:2px solid rgb(var(--cal-accent)/.6)}.cal-chip:hover .cal-chip-resize-start{border-bottom:0;border-top:2px solid rgb(var(--cal-accent)/.6)}.cal-chip-grip{position:absolute;right:2px;bottom:2px;width:12px;height:12px;pointer-events:none;opacity:0;transition:opacity .12s var(--cal-ease);background:linear-gradient(315deg,transparent 2px,currentColor 0,currentColor 3.5px,transparent 0,transparent 5.5px,currentColor 0,currentColor 7px,transparent 0)}.cal-chip:focus-visible .cal-chip-grip,.cal-chip:focus-within .cal-chip-grip,.cal-chip:hover .cal-chip-grip{opacity:.9}@media (prefers-reduced-motion:reduce){.cal-chip-grip{transition-duration:0ms}}.cal-lane-resize-end,.cal-lane-resize-start{position:absolute;top:0;bottom:0;width:6px;cursor:ew-resize}.cal-lane-resize-start{left:0}.cal-lane-resize-end{right:0}@media (pointer:coarse){.cal-lane-resize-end:before,.cal-lane-resize-start:before{content:"";position:absolute;top:0;bottom:0;width:24px}.cal-lane-resize-start:before{left:0}.cal-lane-resize-end:before{right:0}}.cal-lane-bar:hover .cal-lane-resize-start{border-left:2px solid rgb(var(--cal-accent)/.6)}.cal-lane-bar:hover .cal-lane-resize-end{border-right:2px solid rgb(var(--cal-accent)/.6)}.cal-chip-cancelled{text-decoration:line-through;opacity:.55}.cal-lane-bar[data-continues-left]{border-top-left-radius:0;border-bottom-left-radius:0;box-shadow:none}.cal-lane-bar[data-continues-right]{border-top-right-radius:0;border-bottom-right-radius:0}.cal-more-button{background:transparent;color:rgb(var(--cal-text-muted));font-weight:600;box-shadow:none}.cal-more-button:hover{background:rgb(var(--cal-surface-muted));color:rgb(var(--cal-text))}.cal-more-static,.cal-more-static:hover{background:transparent;color:rgb(var(--cal-text-muted));cursor:default}.cal-time-grid{-moz-user-select:none;user-select:none;-webkit-user-select:none}.cal-time-grid-header{border-bottom:1px solid rgb(var(--cal-border))}.cal-time-grid-body{position:relative;overflow-y:auto;max-height:min(72rem,70vh)}.cal-time-gutter,.cal-time-gutter-spacer{width:3.5rem;flex:none}.cal-time-gutter-label{height:var(--cal-hour-height);font-size:.6875rem;color:rgb(var(--cal-text-muted));text-align:right;padding-right:.5rem;transform:translateY(-.5em);font-variant-numeric:tabular-nums}.cal-day-column{border-left:1px solid rgb(var(--cal-border));min-height:72rem;background-image:linear-gradient(to bottom,rgb(var(--cal-border)/.55) 1px,transparent 1px);background-size:100% var(--cal-hour-height)}.cal-day-column-today{background-color:rgb(var(--cal-accent)/.04)}.cal-day-heading{padding:.5rem .375rem;text-align:center;text-transform:capitalize;font-size:.8125rem;font-weight:600}.cal-day-heading-today{color:rgb(var(--cal-accent));font-weight:700}.cal-allday-strip{border-bottom:1px solid rgb(var(--cal-border));margin-left:3.5rem;padding:.25rem 0}.cal-time-grid .cal-chip{border:1px solid rgb(var(--cal-surface)/.9);white-space:normal;font-size:.71875rem}.cal-day-column .cal-chip:focus-visible,.cal-day-column .cal-chip[data-popover-open]{z-index:25!important}.cal-now-line{height:2px;background:rgb(var(--cal-danger));pointer-events:none;z-index:5}.cal-now-line:before{content:"";position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:9999px;background:rgb(var(--cal-danger))}.cal-drag-preview{background:rgb(var(--cal-accent)/.16);border:1.5px dashed rgb(var(--cal-accent));border-radius:4px}.cal-agenda{padding:.25rem 0}.cal-agenda-day{padding:.5rem 0}.cal-agenda-day:not(:last-child){border-bottom:1px solid rgb(var(--cal-border))}.cal-agenda-heading{font-size:.75rem;font-weight:600;color:rgb(var(--cal-text-muted));text-transform:uppercase;letter-spacing:.05em;margin:0 0 .375rem}.cal-agenda-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.cal-agenda-row{display:flex;gap:.75rem;align-items:baseline;width:100%;border:0;background:transparent;color:inherit;font:inherit;text-align:left;padding:.3125rem .5rem;border-radius:calc(var(--cal-radius)/2);cursor:pointer}.cal-agenda-row:hover{background:rgb(var(--cal-surface-muted))}.cal-agenda-time{color:rgb(var(--cal-text-muted));flex:none;font-variant-numeric:tabular-nums}.cal-agenda-empty{color:rgb(var(--cal-text-muted));padding:1.5rem;text-align:center}@keyframes cal-spin{to{transform:rotate(1turn)}}.cal-busy{position:relative;color:transparent!important;pointer-events:none}.cal-busy:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:1rem;height:1rem;border-radius:9999px;border:2px solid rgb(var(--cal-text-muted)/.35);border-top-color:rgb(var(--cal-text-muted));animation:cal-spin .7s linear infinite}.cal-form-submit.cal-busy:after{border-color:rgb(var(--cal-accent-fg)/.4);border-top-color:rgb(var(--cal-accent-fg))}.cal-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.cal-preview-iconrow{display:flex;gap:2px;flex:none}.cal-icon-action{border:0;background:transparent;color:rgb(var(--cal-text-muted));padding:.375rem;border-radius:calc(var(--cal-radius)/2);cursor:pointer;display:inline-flex}.cal-icon-action:hover{background:rgb(var(--cal-surface-muted));color:rgb(var(--cal-accent))}.cal-icon-action-warn:hover{color:#f97316}.cal-icon-action-danger:hover{color:rgb(var(--cal-danger))}.cal-popover-back-arrow{border:0;background:transparent;color:rgb(var(--cal-text-muted));font-size:1.375rem;line-height:1;cursor:pointer;border-radius:calc(var(--cal-radius)/2);padding:0 .375rem;margin-right:.25rem}.cal-popover-back-arrow:hover{background:rgb(var(--cal-surface-muted));color:rgb(var(--cal-text))}.cal-preview{display:flex;flex-direction:column;gap:.5rem}.cal-preview-when{display:flex;gap:.625rem;align-items:stretch}.cal-preview-when-bar{width:4px;border-radius:9999px;background:rgb(var(--cal-accent));flex:none}.cal-preview-when-date{font-weight:700;font-size:.9375rem;margin:0}.cal-preview-when-time{color:rgb(var(--cal-text-muted));margin:.125rem 0 0}.cal-preview-repeats{gap:.375rem;color:rgb(var(--cal-accent));background:rgb(var(--cal-accent)/.08);border:1px solid rgb(var(--cal-accent)/.2);border-radius:calc(var(--cal-radius)/1.5);font-weight:500;margin:0}.cal-preview-repeats,.cal-preview-row{display:flex;align-items:center;padding:.4375rem .625rem}.cal-preview-card,.cal-preview-row{gap:.5rem;border:1px solid rgb(var(--cal-border));border-radius:calc(var(--cal-radius)/1.5)}.cal-preview-card{background:rgb(var(--cal-surface-muted)/.6);padding:.75rem;display:flex;flex-direction:column}.cal-popover{z-index:40;width:min(var(--cal-popover-width),calc(100vw - 2rem));background:rgb(var(--cal-surface));color:rgb(var(--cal-text));border:1px solid rgb(var(--cal-border));border-radius:var(--cal-radius);box-shadow:0 2px 6px #0000000f,0 16px 40px #00000029;padding:.875rem 1rem 1rem}.cal-popover-center{translate:-50% 0}.cal-sheet-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.cal-sheet-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080}.cal-popover-sheet{position:absolute;left:0;right:0;bottom:0;width:100%;max-width:none;display:flex;flex-direction:column;border:0;border-radius:1.5rem 1.5rem 0 0;padding:0;overflow:hidden;box-shadow:0 -8px 40px #00000040;max-height:calc(100dvh - 1rem)}.cal-sheet-handle{display:flex;justify-content:center;padding:.75rem 0 .5rem;flex:none;cursor:grab;touch-action:none}.cal-sheet-handle:active{cursor:grabbing}.cal-sheet-handle-bar{width:3rem;height:.375rem;border-radius:9999px;background:rgb(var(--cal-border))}.cal-sheet-header{margin-bottom:0;padding:.25rem 1.25rem 1rem;border-bottom:1px solid rgb(var(--cal-border));flex:none;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none}.cal-sheet-header .cal-popover-title{font-size:1.0625rem}.cal-sheet-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:.875rem 1rem 1.5rem}.cal-popover-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;cursor:grab;margin-bottom:.5rem}.cal-popover-header:active{cursor:grabbing}.cal-popover-title{font-weight:700;font-size:.9375rem}.cal-popover-close{border:0;background:transparent;color:rgb(var(--cal-text-muted));font-size:1.25rem;line-height:1;cursor:pointer;border-radius:calc(var(--cal-radius)/2);padding:.125rem .375rem}.cal-popover-close:hover{background:rgb(var(--cal-surface-muted));color:rgb(var(--cal-text))}.cal-popover-time{color:rgb(var(--cal-text-muted));margin:0 0 .5rem}.cal-popover-cancelled{color:rgb(var(--cal-danger));text-transform:capitalize;font-weight:600;margin:0 0 .5rem}.cal-popover-banner{display:flex;align-items:center;justify-content:space-between;gap:.5rem;background:rgb(var(--cal-accent)/.1);border:1px solid rgb(var(--cal-accent)/.4);border-radius:calc(var(--cal-radius)/2);padding:.375rem .5rem;margin-bottom:.5rem;font-size:.8125rem}.cal-popover-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.625rem}.cal-popover-actions button,.cal-popover-back,.cal-popover-banner button{border:1px solid rgb(var(--cal-border));background:rgb(var(--cal-surface-muted));color:inherit;font:inherit;font-weight:500;padding:.3125rem .75rem;border-radius:calc(var(--cal-radius)/1.5);cursor:pointer}.cal-popover-actions button:hover,.cal-popover-banner button:hover{background:rgb(var(--cal-border)/.5)}.cal-popover-back{border:0;background:transparent;color:rgb(var(--cal-text-muted));margin-top:.5rem;padding-left:0}.cal-popover-back:hover{color:rgb(var(--cal-text))}.cal-confirm{display:flex;flex-direction:column;align-items:center;gap:1.25rem;padding:1rem 0 .5rem;text-align:center}.cal-confirm-icon{width:56px;height:56px;display:inline-flex}.cal-confirm-icon svg{width:100%;height:100%}.cal-tone-danger{color:rgb(var(--cal-danger))}.cal-tone-warn{color:rgb(var(--cal-warn))}.cal-tone-success{color:rgb(var(--cal-success))}.cal-tone-accent{color:rgb(var(--cal-accent))}.cal-confirm-question{font-size:1rem;color:rgb(var(--cal-text-muted));margin:0;max-width:26rem}.cal-confirm-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.cal-modal-button{display:inline-flex;align-items:center;gap:.375rem;border:0;border-radius:calc(var(--cal-radius)/1.25);padding:.625rem 1.25rem;font:inherit;font-weight:500;color:#fff;background:rgb(var(--cal-accent));cursor:pointer}.cal-modal-button:hover{filter:brightness(1.08)}.cal-modal-button:disabled{opacity:.7;cursor:not-allowed}.cal-modal-button-danger{background:rgb(var(--cal-danger))}.cal-modal-button-warn{background:rgb(var(--cal-warn))}.cal-modal-button-success{background:rgb(var(--cal-success))}.cal-modal-button-icon{width:17px;height:17px}.cal-tabs{display:flex;width:100%;border:1px solid rgb(var(--cal-border));border-radius:calc(var(--cal-radius)/1.2);padding:2px;gap:2px}.cal-tab{flex:1;border:0;background:transparent;color:rgb(var(--cal-text-muted));font:inherit;font-weight:500;padding:.5rem .75rem;border-radius:calc(var(--cal-radius)/1.5);cursor:pointer}.cal-tab[aria-selected=true]{background:rgb(var(--cal-accent));color:rgb(var(--cal-accent-fg))}.cal-form-dates,.cal-tab-panel{display:flex;flex-direction:column;gap:.875rem}.cal-form-enddate{display:flex;align-items:center;gap:.5rem}.cal-form-enddate>:first-child{flex:1}.cal-icon-button{border:0;background:transparent;color:rgb(var(--cal-text-muted));font-size:1.125rem;cursor:pointer;border-radius:calc(var(--cal-radius)/2);padding:.25rem .5rem}.cal-icon-button:hover{background:rgb(var(--cal-surface-muted));color:rgb(var(--cal-text))}.cal-link-button{border:0;background:transparent;color:rgb(var(--cal-text-muted));font:inherit;font-size:.8125rem;cursor:pointer;align-self:flex-start;padding:.25rem 0}.cal-link-button:hover{color:rgb(var(--cal-text))}.cal-form-times{display:flex;align-items:center;gap:.5rem}.cal-form-label,.cal-form-times-dash{color:rgb(var(--cal-text-muted))}.cal-form-label{font-size:.8125rem;display:flex;align-items:center;gap:.5rem}.cal-recurrence{display:flex;flex-direction:column;gap:.75rem}.cal-repeat-select{width:100%;border:1px solid rgb(var(--cal-border));background:rgb(var(--cal-surface));color:inherit;font:inherit;padding:.625rem .75rem;border-radius:calc(var(--cal-radius)/1.2)}.cal-repeat-days{flex-direction:column}.cal-day-circles,.cal-repeat-days{display:flex;gap:.5rem}.cal-day-circle{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:9999px;background:rgb(var(--cal-surface-muted));color:rgb(var(--cal-text-muted));font-size:.875rem;font-weight:500;cursor:pointer;text-transform:uppercase;transition:background-color var(--cal-duration-fast) var(--cal-ease)}.cal-day-circle:hover{background:rgb(var(--cal-border))}.cal-day-circle-on{background:rgb(var(--cal-accent));color:rgb(var(--cal-accent-fg))}.cal-day-circle input{position:absolute;opacity:0;pointer-events:none}.cal-projection{border:1px solid rgb(var(--cal-accent)/.25);background:rgb(var(--cal-accent)/.07);border-radius:calc(var(--cal-radius)/1.2);padding:.625rem .75rem}.cal-projection-label{margin:0 0 .125rem;font-size:.625rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgb(var(--cal-accent)/.8)}.cal-projection-line{margin:0;font-weight:500;color:rgb(var(--cal-accent))}.cal-projection-secondary{margin:.125rem 0 0;font-size:.75rem;color:rgb(var(--cal-text-muted))}.cal-color-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.cal-color-swatch{width:2.25rem;height:2.25rem;border-radius:9999px;border:2px solid transparent;background:rgb(var(--cal-event-default));cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:.875rem;color:rgb(var(--cal-text));position:relative}.cal-color-swatch-on{border-color:rgb(var(--cal-text))}.cal-color-swatch-custom{background:transparent;border:2px dashed rgb(var(--cal-border));color:rgb(var(--cal-text-muted))}.cal-color-swatch-custom input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.cal-form-submit{width:100%;height:2.75rem;margin-top:.25rem}.cal-form-allday{align-self:flex-start}.cal-event-form{display:flex;flex-direction:column;gap:.625rem}.cal-form-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.cal-form-row>label:first-child{min-width:6.5rem;color:rgb(var(--cal-text-muted));font-size:.8125rem}.cal-event-form input:not([type=checkbox]):not([type=color]),.cal-event-form select,.cal-event-form textarea{border:1px solid rgb(var(--cal-border));background:rgb(var(--cal-surface));color:inherit;font:inherit;font-size:.8438rem;padding:.3125rem .5rem;border-radius:calc(var(--cal-radius)/1.5);min-width:0}.cal-event-form input[type=number]{width:5rem}.cal-event-form input:focus,.cal-event-form select:focus,.cal-event-form textarea:focus{border-color:rgb(var(--cal-accent))}.cal-recurrence-block{border:1px solid rgb(var(--cal-border));border-radius:calc(var(--cal-radius)/1.5);padding:.625rem;display:flex;flex-direction:column;gap:.5rem;margin:0}.cal-byday{display:flex;gap:.25rem}.cal-byday label{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;border:1px solid rgb(var(--cal-border));border-radius:calc(var(--cal-radius)/2);padding:.125rem .375rem;cursor:pointer}.cal-byday label:has(input:checked){background:rgb(var(--cal-accent)/.12);border-color:rgb(var(--cal-accent))}.cal-form-error{color:rgb(var(--cal-danger));font-size:.75rem;margin:0}.cal-form-warning,.cal-recurrence-summary{color:rgb(var(--cal-text-muted));font-size:.75rem;margin:0}.cal-main{container-type:inline-size;container-name:cal}.cal-main,.cal-toolbar-end,.cal-toolbar-start{min-width:0}.cal-segment,.cal-toolbar-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@container cal (max-width: 34rem){.cal-toolbar{flex-direction:column;align-items:stretch;gap:clamp(.5rem,2cqi,.625rem);padding:clamp(.625rem,2.4cqi,.875rem) clamp(.5rem,2.4cqi,.875rem)}.cal-toolbar-start{gap:clamp(.375rem,1.8cqi,.625rem)}.cal-toolbar-start>.cal-button{height:clamp(2.125rem,7.5cqi,2.5rem);padding:0 clamp(.5rem,2.6cqi,.875rem);font-size:clamp(.75rem,3cqi,.875rem)}.cal-toolbar-nav>.cal-button-ghost{min-width:clamp(1.875rem,6.5cqi,2.5rem);height:clamp(2.125rem,7.5cqi,2.5rem);font-size:clamp(1.0625rem,4.2cqi,1.375rem)}.cal-toolbar-label{margin-left:auto;font-size:clamp(.9375rem,4cqi,1.25rem)}.cal-toolbar-end{flex-wrap:wrap;gap:clamp(.375rem,1.8cqi,.5rem)}.cal-toolbar-end .cal-button-primary{flex:1 1 100%;height:clamp(2.375rem,8.5cqi,2.75rem)}.cal-segmented,.cal-toolbar-datepicker{flex:1 1 100%;display:flex;margin-left:0}.cal-segment{flex:1 1 0;height:clamp(2rem,7cqi,2.375rem);padding:0 clamp(.125rem,1cqi,.5rem);font-size:clamp(.6875rem,2.9cqi,.8125rem)}.cal-toolbar-datepicker input{width:100%;height:clamp(2.125rem,7.5cqi,2.5rem);font-size:clamp(.75rem,3cqi,.875rem)}.cal-compact-add{height:clamp(2.5rem,9cqi,3rem)}}:root{color-scheme:light;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;--skillnet-color-dark-50: #f7f9fb;--skillnet-color-dark-100: #eef1f5;--skillnet-color-dark-200: #dde3ea;--skillnet-color-dark-300: #b3bcc9;--skillnet-color-dark-400: #8b95a7;--skillnet-color-dark-500: #667081;--skillnet-color-dark-600: #4d5666;--skillnet-color-dark-700: #3a4250;--skillnet-color-dark-750: #303845;--skillnet-color-dark-800: #272e39;--skillnet-color-dark-900: #1e242e;--skillnet-color-dark-950: #161b23;--skillnet-color-theme-50: #eef0fe;--skillnet-color-theme-100: #e0e2fc;--skillnet-color-theme-200: #c3c6f8;--skillnet-color-theme-300: #9da1f2;--skillnet-color-theme-400: #7f83eb;--skillnet-color-theme-500: #4847cd;--skillnet-color-theme-600: #4140b9;--skillnet-color-theme-700: #3a39a4;--skillnet-color-theme-800: #32328f;--skillnet-color-theme-900: #2a2a6f;--skillnet-color-theme-950: #1f1f52;--bg: var(--skillnet-color-dark-950);--surface: var(--skillnet-color-dark-900);--surface-raised: var(--skillnet-color-dark-800);--border: var(--skillnet-color-dark-700);--text: var(--skillnet-color-dark-50);--text-muted: var(--skillnet-color-dark-300);--accent: var(--skillnet-color-theme-500);--accent-hover: var(--skillnet-color-theme-400);--accent-fg: #ffffff;--code-bg: var(--skillnet-color-dark-800)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text)}a{color:var(--skillnet-color-theme-300)}a:hover{color:var(--skillnet-color-theme-200)}code,pre{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace}pre{background:var(--code-bg);border:1px solid var(--border);border-radius:.5rem;padding:1rem;overflow-x:auto;font-size:.85rem;line-height:1.6}code:not(pre code){background:var(--code-bg);border:1px solid var(--border);border-radius:.25rem;padding:.1rem .35rem;font-size:.85em}table{border-collapse:collapse;width:100%}th,td{border:1px solid var(--border);padding:.5rem .75rem;text-align:left;font-size:.9rem}th{background:var(--surface-raised);color:var(--text-muted);font-weight:600}::selection{background:var(--skillnet-color-theme-700);color:#fff}:root{--docs-max: 60rem;--shell-nav: 17rem;--radius-sm: .4rem;--radius: .65rem;--radius-lg: 1rem;--radius-xl: 1.35rem;--ease: cubic-bezier(.23, 1, .32, 1);--fast: .15s;--normal: .26s;--glass: color-mix(in srgb, var(--skillnet-color-dark-900) 82%, transparent);--glass-line: color-mix(in srgb, var(--skillnet-color-theme-300) 14%, transparent);--hairline: color-mix(in srgb, var(--skillnet-color-dark-50) 8%, transparent);--glow-accent: color-mix(in srgb, var(--skillnet-color-theme-400) 45%, transparent)}body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(42rem 30rem at 78% -8%,color-mix(in srgb,var(--skillnet-color-theme-500) 26%,transparent),transparent 70%),radial-gradient(36rem 26rem at 4% 8%,color-mix(in srgb,var(--skillnet-color-theme-700) 22%,transparent),transparent 68%),linear-gradient(var(--hairline) 1px,transparent 1px) 0 0 / 100% 4.5rem,linear-gradient(90deg,var(--hairline) 1px,transparent 1px) 0 0 / 4.5rem 100%;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 40%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 40%,transparent 100%);opacity:.7}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--skillnet-color-dark-500) 55%,transparent);border-radius:99px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--skillnet-color-theme-300) 55%,transparent);background-clip:content-box}.shell{display:flex;min-height:100vh;align-items:flex-start}.shell-nav{width:var(--shell-nav);flex-shrink:0;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:1.35rem .9rem 1rem;background:linear-gradient(to bottom,color-mix(in srgb,var(--skillnet-color-dark-900) 92%,transparent),color-mix(in srgb,var(--skillnet-color-dark-950) 92%,transparent));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-right:1px solid var(--border);z-index:30}.brand{display:flex;align-items:center;gap:.6rem;padding:0 .4rem .25rem;margin-bottom:1.15rem;text-decoration:none;color:inherit}.brand:hover{color:inherit}.brand-mark{width:2.1rem;height:2.1rem;flex-shrink:0;border-radius:.6rem;display:grid;place-items:center;background:linear-gradient(135deg,var(--skillnet-color-theme-400),var(--skillnet-color-theme-700));box-shadow:0 0 0 1px color-mix(in srgb,var(--skillnet-color-theme-200) 30%,transparent),0 6px 18px -6px var(--glow-accent)}.brand-mark svg{width:1.15rem;height:1.15rem;display:block}.brand-text{min-width:0;line-height:1.15}.brand-scope{font-size:.7rem;color:var(--text-muted);letter-spacing:.01em}.brand-name{font-weight:650;font-size:.98rem;letter-spacing:-.01em}.brand-version{margin-left:auto;font-size:.68rem;font-variant-numeric:tabular-nums;padding:.12rem .4rem;border-radius:99px;color:var(--skillnet-color-theme-200);background:color-mix(in srgb,var(--skillnet-color-theme-500) 22%,transparent);border:1px solid color-mix(in srgb,var(--skillnet-color-theme-300) 22%,transparent)}.nav-scroll{flex:1;overflow-y:auto;margin:0 -.35rem;padding:0 .35rem}.nav-group{margin-bottom:1.1rem}.nav-group-title{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--skillnet-color-dark-400);font-weight:650;padding:0 .5rem;margin-bottom:.35rem}.nav-link{position:relative;display:flex;align-items:center;gap:.5rem;padding:.4rem .55rem;border-radius:var(--radius-sm);font-size:.875rem;text-decoration:none;color:var(--skillnet-color-dark-300);transition:color var(--fast) var(--ease),background-color var(--fast) var(--ease)}.nav-link:hover{color:var(--text);background:color-mix(in srgb,var(--skillnet-color-dark-50) 5%,transparent)}.nav-link-on{color:#fff;background:linear-gradient(to right,color-mix(in srgb,var(--skillnet-color-theme-500) 40%,transparent),color-mix(in srgb,var(--skillnet-color-theme-500) 12%,transparent));font-weight:550}.nav-link-on:before{content:"";position:absolute;left:-.35rem;top:20%;bottom:20%;width:2px;border-radius:99px;background:var(--skillnet-color-theme-300);box-shadow:0 0 8px var(--glow-accent)}.nav-dot{width:.3rem;height:.3rem;border-radius:99px;flex-shrink:0;background:currentColor;opacity:.35}.nav-link-on .nav-dot{opacity:1}.nav-foot{border-top:1px solid var(--border);padding-top:.85rem;margin-top:.6rem;font-size:.78rem;color:var(--text-muted)}.nav-user{display:block;margin-bottom:.45rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-signout{background:none;border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-sm);padding:.3rem .6rem;cursor:pointer;font-size:.78rem;font-family:inherit;transition:border-color var(--fast) var(--ease),color var(--fast) var(--ease)}.nav-signout:hover{border-color:var(--skillnet-color-theme-400);color:var(--text)}.shell-main{flex:1;min-width:0;padding:3rem 3.25rem 6rem}.shell-main>*{max-width:var(--docs-max)}.nav-toggle{display:none;position:fixed;top:.85rem;left:.85rem;z-index:50;width:2.5rem;height:2.5rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text);cursor:pointer;align-items:center;justify-content:center}.nav-scrim{display:none}@media (max-width: 900px){.nav-toggle{display:flex}.shell-nav{position:fixed;left:0;top:0;transform:translate(-100%);transition:transform var(--normal) var(--ease);box-shadow:0 0 60px #00000080}.shell-nav.shell-nav-open{transform:translate(0)}.nav-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;background:#0000008c;border:0}.shell-main{padding:4rem 1.25rem}}article h1{font-size:clamp(1.85rem,1.3rem + 1.7vw,2.6rem);line-height:1.1;letter-spacing:-.028em;font-weight:680;margin:0 0 .7rem;background:linear-gradient(170deg,var(--text) 30%,color-mix(in srgb,var(--skillnet-color-theme-200) 75%,var(--text)));-webkit-background-clip:text;background-clip:text;color:transparent}article h2{font-size:1.32rem;letter-spacing:-.019em;font-weight:650;margin:2.75rem 0 .75rem;scroll-margin-top:1.5rem}article h3{font-size:1.03rem;font-weight:640;letter-spacing:-.012em;margin:1.85rem 0 .5rem}article p,article li{color:var(--skillnet-color-dark-200);font-size:.945rem;line-height:1.68}article p{margin:0 0 .95rem}article strong{color:var(--text);font-weight:620}article ul,article ol{padding-left:1.15rem;margin:0 0 1rem}article li{margin-bottom:.42rem}article li::marker{color:var(--skillnet-color-theme-300)}article hr{border:0;height:1px;margin:2.5rem 0;background:linear-gradient(to right,var(--border),transparent)}.page-head{margin-bottom:2rem}.eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.11em;font-weight:680;color:var(--skillnet-color-theme-300);margin-bottom:.55rem}.lead{font-size:1.06rem!important;line-height:1.62;color:var(--skillnet-color-dark-300)!important;max-width:46rem}.doc-section h2 .anchor{float:left;margin-left:-1.1rem;width:1.1rem;text-decoration:none;color:var(--skillnet-color-theme-400);opacity:0;font-weight:400;transition:opacity var(--fast) var(--ease)}.doc-section h2:hover .anchor{opacity:1}.code-wrap{margin:0 0 1.1rem;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--code-bg);box-shadow:0 1px color-mix(in srgb,var(--skillnet-color-dark-50) 4%,transparent) inset}.code-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.3rem .35rem .3rem .75rem;background:color-mix(in srgb,var(--skillnet-color-dark-900) 70%,transparent);border-bottom:1px solid var(--border)}.code-title{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.72rem;color:var(--skillnet-color-dark-400);letter-spacing:.01em}.code-copy{font-family:inherit;font-size:.72rem;padding:.22rem .5rem;border-radius:var(--radius-sm);border:1px solid transparent;background:none;color:var(--skillnet-color-dark-400);cursor:pointer;transition:color var(--fast) var(--ease),background-color var(--fast) var(--ease)}.code-copy:hover{color:var(--text);background:color-mix(in srgb,var(--skillnet-color-dark-50) 7%,transparent)}.code-wrap pre{margin:0;border:0;border-radius:0;background:none;font-size:.815rem;line-height:1.65;padding:.9rem 1rem}.tok-comment{color:#6b7a90;font-style:italic}.tok-string{color:#a5e3a0}.tok-keyword{color:#c3a6ff}.tok-number{color:#ffcb8b}.tok-type,.tok-builtin{color:#8fd3ff}.tok-tag{color:#ff9ec4}.tok-fn{color:#9db8ff}.tok-property{color:#ffcb8b}.tok-punct{color:#8b95a7}.demo{margin:1.5rem 0 2rem;border:1px solid var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--skillnet-color-dark-900) 88%,transparent);box-shadow:0 1px color-mix(in srgb,var(--skillnet-color-dark-50) 5%,transparent) inset,0 18px 44px -28px #000000a6}.demo-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.9rem 1.1rem;border-bottom:1px solid var(--border);border-radius:calc(var(--radius-lg) - 1px) calc(var(--radius-lg) - 1px) 0 0;background:linear-gradient(to right,color-mix(in srgb,var(--skillnet-color-theme-500) 10%,transparent),transparent 60%)}.demo>*:last-child,.demo>*:last-child>.code-wrap,.demo>*:last-child>.code-wrap>pre{border-bottom-left-radius:calc(var(--radius-lg) - 1px);border-bottom-right-radius:calc(var(--radius-lg) - 1px)}.demo-title{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.92rem;font-weight:640;letter-spacing:-.008em}.demo-live{width:.45rem;height:.45rem;border-radius:99px;flex-shrink:0;background:var(--skillnet-color-theme-300);box-shadow:0 0 0 0 var(--glow-accent);animation:live-pulse 2.4s var(--ease) infinite}@keyframes live-pulse{0%{box-shadow:0 0 0 0 var(--glow-accent)}70%{box-shadow:0 0 0 .42rem transparent}to{box-shadow:0 0 0 0 transparent}}.demo-hint{margin:.35rem 0 0!important;font-size:.83rem!important;color:var(--text-muted)!important;line-height:1.55;max-width:44rem}.demo-source-toggle{flex-shrink:0;font-family:inherit;font-size:.76rem;padding:.3rem .65rem;border-radius:99px;border:1px solid var(--border);background:color-mix(in srgb,var(--skillnet-color-dark-800) 70%,transparent);color:var(--text-muted);cursor:pointer;transition:border-color var(--fast) var(--ease),color var(--fast) var(--ease)}.demo-source-toggle:hover{border-color:var(--skillnet-color-theme-400);color:var(--text)}.demo-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem 1.15rem;padding:.7rem 1.1rem;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--skillnet-color-dark-950) 35%,transparent)}.feature-toggle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.35rem 1rem;width:100%}.demo-stage{position:relative;background:radial-gradient(24rem 12rem at 50% -20%,color-mix(in srgb,var(--skillnet-color-theme-500) 12%,transparent),transparent 70%),color-mix(in srgb,var(--skillnet-color-dark-950) 55%,transparent)}.demo-stage-padded{padding:1.1rem}.demo-source{border-top:1px solid var(--border)}.demo-source .code-wrap{margin:0;border:0;border-radius:0}.cal-surface-host .cal-root{--cal-accent: 72 71 205;--cal-accent-fg: 255 255 255;--cal-surface: 30 36 46;--cal-surface-muted: 39 46 57;--cal-border: 58 66 80;--cal-text: 247 249 251;--cal-text-muted: 179 188 201;--cal-font: inherit;--cal-radius: .55rem}.cal-surface-host{padding:.85rem}.cal-surface-host .cal-root{border-radius:var(--radius)}.control{display:flex;align-items:center;gap:.5rem}.control-label{font-size:.76rem;color:var(--text-muted);font-weight:550;white-space:nowrap}.segmented{display:inline-flex;padding:.15rem;gap:.1rem;border-radius:99px;border:1px solid var(--border);background:color-mix(in srgb,var(--skillnet-color-dark-950) 60%,transparent)}.segment{font-family:inherit;font-size:.78rem;padding:.26rem .7rem;border-radius:99px;border:0;background:none;color:var(--text-muted);cursor:pointer;transition:background-color var(--fast) var(--ease),color var(--fast) var(--ease);white-space:nowrap}.segment:hover{color:var(--text)}.segment-on{background:var(--accent);color:#fff;font-weight:550;box-shadow:0 2px 10px -4px var(--glow-accent)}.toggle{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle input{position:absolute;opacity:0;width:0;height:0}.toggle-track{width:2.1rem;height:1.15rem;border-radius:99px;background:color-mix(in srgb,var(--skillnet-color-dark-600) 70%,transparent);border:1px solid var(--border);padding:.11rem;display:flex;transition:background-color var(--fast) var(--ease)}.toggle-thumb{width:.85rem;height:.85rem;border-radius:99px;background:var(--skillnet-color-dark-300);transition:transform var(--normal) var(--ease),background-color var(--fast) var(--ease)}.toggle input:checked+.toggle-track{background:var(--accent);border-color:var(--skillnet-color-theme-400)}.toggle input:checked+.toggle-track .toggle-thumb{transform:translate(.93rem);background:#fff}.toggle input:focus-visible+.toggle-track{outline:2px solid var(--skillnet-color-theme-300);outline-offset:2px}.toggle-label{font-size:.8rem;color:var(--skillnet-color-dark-200)}.number-field{display:inline-flex;align-items:center;gap:.3rem}.number-field input,.select-field,.text-field{font-family:inherit;font-size:.8rem;padding:.28rem .5rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:color-mix(in srgb,var(--skillnet-color-dark-950) 60%,transparent);color:var(--text)}.number-field input{width:4.2rem}.number-field input:focus-visible,.select-field:focus-visible,.text-field:focus-visible{outline:2px solid var(--skillnet-color-theme-400);outline-offset:1px}.number-suffix{font-size:.76rem;color:var(--text-muted)}.btn{font-family:inherit;font-size:.8rem;padding:.34rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:color-mix(in srgb,var(--skillnet-color-dark-800) 80%,transparent);color:var(--skillnet-color-dark-100);cursor:pointer;transition:border-color var(--fast) var(--ease),background-color var(--fast) var(--ease),color var(--fast) var(--ease)}.btn:hover{border-color:var(--skillnet-color-theme-400);color:#fff}.btn:disabled{opacity:.45;cursor:default}.btn:disabled:hover{border-color:var(--border);color:var(--skillnet-color-dark-100)}.btn-accent{background:var(--accent);border-color:var(--skillnet-color-theme-400);color:#fff;font-weight:550}.btn-accent:hover{background:var(--accent-hover)}.callout{display:grid;grid-template-columns:auto 1fr;gap:.15rem .7rem;margin:1.25rem 0;padding:.85rem 1rem;border-radius:var(--radius);border:1px solid var(--border);border-left-width:3px;background:color-mix(in srgb,var(--skillnet-color-dark-900) 65%,transparent);font-size:.9rem}.callout-title{grid-column:1 / -1;font-size:.73rem;text-transform:uppercase;letter-spacing:.075em;font-weight:700}.callout-body{grid-column:1 / -1;color:var(--skillnet-color-dark-200);line-height:1.62}.callout-body>p:last-child,.callout-body>ul:last-child{margin-bottom:0}.callout-body p,.callout-body li{font-size:.9rem!important}.callout-note{border-left-color:var(--skillnet-color-theme-400)}.callout-note .callout-title{color:var(--skillnet-color-theme-200)}.callout-warn{border-left-color:#f97316}.callout-warn .callout-title{color:#fdba74}.callout-danger{border-left-color:#ef4444}.callout-danger .callout-title{color:#fca5a5}.callout-good{border-left-color:#22c55e}.callout-good .callout-title{color:#86efac}.badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.7rem;font-weight:620;letter-spacing:.015em;padding:.14rem .5rem;border-radius:99px;border:1px solid transparent;white-space:nowrap;vertical-align:middle}.badge-neutral{background:color-mix(in srgb,var(--skillnet-color-dark-600) 40%,transparent);border-color:var(--border);color:var(--skillnet-color-dark-200)}.badge-accent{background:color-mix(in srgb,var(--skillnet-color-theme-500) 25%,transparent);border-color:color-mix(in srgb,var(--skillnet-color-theme-300) 30%,transparent);color:var(--skillnet-color-theme-100)}.badge-good{background:color-mix(in srgb,#22c55e 18%,transparent);border-color:color-mix(in srgb,#22c55e 32%,transparent);color:#86efac}.badge-warn{background:color-mix(in srgb,#f97316 18%,transparent);border-color:color-mix(in srgb,#f97316 32%,transparent);color:#fdba74}.badge-danger{background:color-mix(in srgb,#ef4444 18%,transparent);border-color:color-mix(in srgb,#ef4444 32%,transparent);color:#fca5a5}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15.5rem,1fr));gap:.85rem;margin:1.4rem 0 2rem}.feature-card{position:relative;padding:1.05rem 1.1rem;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--glass);overflow:hidden;transition:transform var(--normal) var(--ease),border-color var(--normal) var(--ease),box-shadow var(--normal) var(--ease)}.feature-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:inherit;background:radial-gradient(14rem 8rem at 100% 0%,color-mix(in srgb,var(--skillnet-color-theme-400) 14%,transparent),transparent 70%);opacity:0;transition:opacity var(--normal) var(--ease)}.feature-card-link{display:block;text-decoration:none;color:inherit}.feature-card-link:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--skillnet-color-theme-300) 35%,transparent);box-shadow:0 16px 36px -22px #000c;color:inherit}.feature-card-link:hover:after{opacity:1}.feature-icon{width:2rem;height:2rem;border-radius:.55rem;display:grid;place-items:center;margin-bottom:.65rem;color:var(--skillnet-color-theme-200);background:color-mix(in srgb,var(--skillnet-color-theme-500) 20%,transparent);border:1px solid color-mix(in srgb,var(--skillnet-color-theme-300) 20%,transparent)}.feature-icon svg{width:1.05rem;height:1.05rem}.feature-title{font-weight:620;font-size:.94rem;letter-spacing:-.01em;margin-bottom:.28rem}.feature-body{font-size:.85rem;line-height:1.58;color:var(--text-muted)}.feature-more{margin-top:.7rem;font-size:.78rem;font-weight:600;color:var(--skillnet-color-theme-300)}.table-scroll{overflow-x:auto;margin:0 0 1.2rem;border:1px solid var(--border);border-radius:var(--radius)}.table-scroll table{border:0;margin:0}.table-scroll th,.table-scroll td{border:0;border-bottom:1px solid var(--border);vertical-align:top;font-size:.86rem;line-height:1.55}.table-scroll th{background:color-mix(in srgb,var(--skillnet-color-dark-800) 70%,transparent);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.table-scroll tr:last-child td{border-bottom:0}.table-scroll tbody tr:hover td{background:color-mix(in srgb,var(--skillnet-color-dark-50) 3%,transparent)}.props-table td:first-child{white-space:nowrap}.prop-name{color:var(--skillnet-color-theme-200)!important;font-weight:600}.prop-type{color:#8fd3ff!important;font-size:.78em!important;white-space:pre-wrap}.prop-default{margin-top:.25rem;font-size:.72rem;color:var(--skillnet-color-dark-400)}.prop-default code{font-size:.95em!important}.steps{list-style:none;padding:0;margin:1.3rem 0;counter-reset:step}.step{position:relative;counter-increment:step;padding:0 0 1.35rem 2.35rem;border-left:1px solid var(--border);margin-left:.85rem}.step:last-child{border-left-color:transparent;padding-bottom:0}.step:before{content:counter(step);position:absolute;left:-.85rem;top:-.1rem;width:1.7rem;height:1.7rem;border-radius:99px;display:grid;place-items:center;font-size:.78rem;font-weight:680;color:var(--skillnet-color-theme-100);background:color-mix(in srgb,var(--skillnet-color-theme-600) 60%,var(--bg));border:1px solid color-mix(in srgb,var(--skillnet-color-theme-300) 28%,transparent)}.step-title{font-weight:620;font-size:.96rem;margin-bottom:.35rem;padding-top:.1rem}.step-body>*:last-child{margin-bottom:0}.compare{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:.85rem;margin:1.3rem 0}.compare-side{border:1px solid var(--border);border-radius:var(--radius);padding:.85rem;background:color-mix(in srgb,var(--skillnet-color-dark-900) 55%,transparent)}.compare-side .code-wrap{margin:0}.compare-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin-bottom:.55rem}.compare-bad{border-color:color-mix(in srgb,#ef4444 30%,var(--border))}.compare-bad .compare-label{color:#fca5a5}.compare-good{border-color:color-mix(in srgb,#22c55e 30%,var(--border))}.compare-good .compare-label{color:#86efac}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.7rem;margin:1.3rem 0 1.8rem}.stat{padding:.8rem .9rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--glass)}.stat-value{font-size:1.42rem;font-weight:680;letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums;background:linear-gradient(150deg,var(--skillnet-color-theme-100),var(--skillnet-color-theme-400));-webkit-background-clip:text;background-clip:text;color:transparent}.stat-label{margin-top:.25rem;font-size:.76rem;color:var(--text-muted);line-height:1.45}.event-log{border-top:1px solid var(--border);padding:.75rem 1.1rem .9rem;background:color-mix(in srgb,var(--skillnet-color-dark-950) 45%,transparent)}.event-log-head{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:680;color:var(--skillnet-color-dark-400);margin-bottom:.45rem}.event-log-empty{font-size:.8rem;color:var(--skillnet-color-dark-500)}.event-log-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.22rem}.event-log-list li{margin:0;animation:log-in var(--normal) var(--ease)}.event-log-list code{font-size:.76rem!important;background:none!important;border:0!important;padding:0!important;color:var(--skillnet-color-dark-200)}.event-log-list li:first-child code{color:var(--skillnet-color-theme-200)}@keyframes log-in{0%{opacity:0;transform:translateY(-3px)}}.hero{position:relative;margin:-.5rem 0 2.25rem}.hero-badges{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.hero h1{margin-bottom:.85rem}.hero-lead{font-size:1.1rem!important;line-height:1.6;color:var(--skillnet-color-dark-300)!important;max-width:44rem}.hero-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.35rem}.hero-cta{display:inline-flex;align-items:center;gap:.4rem;padding:.52rem 1.05rem;border-radius:99px;font-size:.88rem;font-weight:600;text-decoration:none;border:1px solid transparent;transition:transform var(--fast) var(--ease),box-shadow var(--normal) var(--ease),background-color var(--fast) var(--ease)}.hero-cta-primary{background:linear-gradient(135deg,var(--skillnet-color-theme-400),var(--skillnet-color-theme-600));color:#fff!important;box-shadow:0 10px 26px -14px var(--glow-accent)}.hero-cta-primary:hover{transform:translateY(-1px);box-shadow:0 14px 32px -14px var(--glow-accent);color:#fff!important}.hero-cta-ghost{border-color:var(--border);color:var(--skillnet-color-dark-200)!important;background:color-mix(in srgb,var(--skillnet-color-dark-800) 60%,transparent)}.hero-cta-ghost:hover{border-color:var(--skillnet-color-theme-400);color:#fff!important}.figure{margin:1.4rem 0 1.9rem;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--glass);overflow:hidden}.figure-body{padding:1.2rem 1.1rem;overflow-x:auto}.figure svg{display:block;max-width:100%;height:auto;margin:0 auto}.figure-caption{padding:.65rem 1.1rem;border-top:1px solid var(--border);font-size:.82rem;color:var(--text-muted);line-height:1.55;background:color-mix(in srgb,var(--skillnet-color-dark-950) 35%,transparent)}.svg-label{font-size:11px;font-weight:600;fill:var(--skillnet-color-dark-300);font-family:inherit}.svg-label-strong{fill:var(--text)}.svg-mono{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:10.5px;fill:var(--skillnet-color-dark-400)}@keyframes dash-march{to{stroke-dashoffset:-16}}.svg-marching{stroke-dasharray:4 4;animation:dash-march 1.1s linear infinite}.occ-list{display:flex;flex-direction:column;gap:.25rem;max-height:17rem;overflow-y:auto;padding:.85rem 1.1rem}.occ-row{display:flex;align-items:center;gap:.6rem;padding:.32rem .5rem;border-radius:var(--radius-sm);border:1px solid transparent;background:color-mix(in srgb,var(--skillnet-color-dark-800) 45%,transparent);font-size:.8rem}.occ-row-cancelled{opacity:.55}.occ-row-cancelled .occ-key{text-decoration:line-through}.occ-row-detached{border-color:color-mix(in srgb,#f97316 35%,transparent)}.occ-index{font-variant-numeric:tabular-nums;font-size:.72rem;color:var(--skillnet-color-dark-500);min-width:1.6rem}.occ-key{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.76rem;color:var(--skillnet-color-theme-200)}.occ-time{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--text-muted);font-size:.76rem}.empty-note{padding:1.4rem 1.1rem;text-align:center;font-size:.85rem;color:var(--skillnet-color-dark-500)}.token-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.55rem 1rem;padding:.95rem 1.1rem}.token-grid-sliders{grid-template-columns:repeat(auto-fit,minmax(19rem,1fr));border-top:1px solid var(--border)}.token-row{display:flex;align-items:center;gap:.55rem}.token-grid-sliders .token-name{white-space:nowrap;min-width:9.5rem}.token-row input[type=color]{width:1.75rem;height:1.75rem;padding:0;border:1px solid var(--border);border-radius:.35rem;background:none;cursor:pointer;flex-shrink:0}.token-name{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.74rem;color:var(--skillnet-color-dark-300);overflow:hidden;text-overflow:ellipsis}.token-row input[type=range]{flex:1;min-width:4rem;accent-color:var(--accent)}.token-value{font-variant-numeric:tabular-nums;font-size:.72rem;color:var(--text-muted);min-width:3.2rem;text-align:right}.page-loading{display:flex;align-items:center;gap:.6rem;min-height:60vh;font-size:.9rem;color:var(--text-muted)}.page-loading-spinner{width:1rem;height:1rem;border-radius:99px;border:2px solid color-mix(in srgb,var(--skillnet-color-theme-300) 30%,transparent);border-top-color:var(--skillnet-color-theme-300);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.try-live{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin:1.3rem 0;padding:.7rem .95rem;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--skillnet-color-theme-300) 26%,transparent);background:linear-gradient(to right,color-mix(in srgb,var(--skillnet-color-theme-500) 16%,transparent),transparent 75%);font-size:.88rem}.try-live-dot{width:.45rem;height:.45rem;border-radius:99px;flex-shrink:0;background:var(--skillnet-color-theme-300);animation:live-pulse 2.4s var(--ease) infinite}.try-live-body{flex:1;min-width:12rem;color:var(--skillnet-color-dark-200);line-height:1.55}.try-live-cta{flex-shrink:0;font-weight:620;text-decoration:none;white-space:nowrap}.slot-chip{display:flex;align-items:baseline;gap:.35rem;min-width:0;padding:.05rem .3rem;border-left:3px solid var(--skillnet-color-theme-300);border-radius:.2rem;background:color-mix(in srgb,var(--skillnet-color-dark-50) 8%,transparent);font-size:.72rem;overflow:hidden}.slot-chip-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:560}.slot-chip-meta{font-size:.65rem;opacity:.7;white-space:nowrap}.slot-chip-full{margin-left:auto;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:0 .22rem;border-radius:.2rem;background:#ef4444;color:#fff}.slot-daycell{display:inline-flex;gap:.15rem;align-items:center}.slot-daycell-dot{width:.32rem;height:.32rem;border-radius:99px;display:block;opacity:.85}.slot-panel{margin:.5rem 0;padding:.7rem .8rem;border-radius:.5rem;border:1px dashed color-mix(in srgb,var(--skillnet-color-theme-300) 40%,transparent);background:color-mix(in srgb,var(--skillnet-color-theme-500) 8%,transparent)}.slot-panel-head{display:flex;align-items:center;gap:.45rem;font-size:.72rem;font-weight:650;text-transform:uppercase;letter-spacing:.06em;color:var(--skillnet-color-theme-200);margin-bottom:.55rem}.slot-panel-note{margin:.55rem 0 0!important;font-size:.75rem!important;line-height:1.5;color:var(--text-muted)!important}.slot-field{display:flex;align-items:center;gap:.45rem;margin-bottom:.35rem}.slot-field-label{font-size:.74rem;color:var(--text-muted);min-width:3.2rem}.slot-field-tag{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.05rem .3rem;border-radius:.2rem;color:var(--skillnet-color-theme-100);background:color-mix(in srgb,var(--skillnet-color-theme-500) 45%,transparent)}.slot-preview{display:flex;flex-wrap:wrap;gap:.35rem 1.1rem;font-size:.8rem}.slot-preview-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-right:.25rem}kbd{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.75em;padding:.1rem .35rem;border-radius:.25rem;border:1px solid var(--border);border-bottom-width:2px;background:var(--code-bg);color:var(--skillnet-color-dark-100)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.feature-card-link:hover,.hero-cta-primary:hover{transform:none}}
