@dodlhuat/basix 1.2.6 → 1.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/css/push-menu.scss +1 -0
- package/css/style.css +1 -2
- package/css/style.min.css +1 -1
- package/js/datepicker.js +3 -1
- package/js/datepicker.ts +3 -1
- package/js/lightbox.js +7 -5
- package/js/lightbox.ts +7 -5
- package/js/modal.js +3 -1
- package/js/modal.ts +3 -1
- package/js/tabs.js +2 -2
- package/js/tabs.ts +2 -2
- package/js/tooltip.js +1 -1
- package/js/tooltip.ts +1 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Basix 1.2.
|
|
1
|
+
# Basix 1.2.7
|
|
2
2
|
|
|
3
3
|
Basix is intended as a starter for the rapid development of a design. Each design element can be added individually to
|
|
4
4
|
include only the data required. It is using plain javascript / typescript and therefore is not dependent on any plugin.
|
package/css/push-menu.scss
CHANGED
package/css/style.css
CHANGED
|
@@ -2684,6 +2684,7 @@ nav.push-menu.pushed {
|
|
|
2684
2684
|
transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
2685
2685
|
overflow-y: auto;
|
|
2686
2686
|
overflow-x: hidden;
|
|
2687
|
+
overscroll-behavior: contain;
|
|
2687
2688
|
-webkit-overflow-scrolling: touch;
|
|
2688
2689
|
will-change: transform;
|
|
2689
2690
|
}
|
|
@@ -9016,5 +9017,3 @@ body {
|
|
|
9016
9017
|
display: flex;
|
|
9017
9018
|
gap: 1.25rem;
|
|
9018
9019
|
}
|
|
9019
|
-
|
|
9020
|
-
/*# sourceMappingURL=style.css.map */
|
package/css/style.min.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote::before,blockquote::after,q::before,q::after{content:none}table{border-collapse:collapse;border-spacing:0}:root{--primary-text: #1E1F24;--secondary-text: #62636C;--divider: #D8D9E0;--accent-text: #3D63DD;--error: #D64545;--error-tint: color-mix(in srgb, #D64545 12%, transparent);--warning: #C28A00;--warning-tint: color-mix(in srgb, #C28A00 12%, transparent);--success: #2E8B57;--success-tint: color-mix(in srgb, #2E8B57 12%, transparent);--secondary-background: #E7E8EC;--background: #F9F9FB;--primary-bg: #F9F9FB;--accent-color: #3D63DD;--accent-color-lighten: #87A5EF;--accent-color-tint: color-mix(in srgb, #3D63DD 12%, transparent);--accent-color-text: #D8D9E0;--disabled: #D8D9E0;--primary-dark: #1A1B1F;--primary-light: #F0F1F3;--hover: rgba(0, 0, 0, 0.04);--radius-sm: 0.25rem;--radius-md: 0.4rem;--radius-lg: 0.75rem;--radius-xl: 1rem;--radius-full: 9999px}[data-theme=dark]{--primary-text: #EEEEF0;--secondary-text: #B2B3BD;--divider: #393A40;--accent-text: #0E496D;--error: #FF6B6B;--error-tint: color-mix(in srgb, #FF6B6B 12%, transparent);--warning: #F7B500;--warning-tint: color-mix(in srgb, #F7B500 12%, transparent);--success: #5CC689;--success-tint: color-mix(in srgb, #5CC689 12%, transparent);--background: #111113;--primary-bg: #111113;--secondary-background: #19191B;--accent-color: #1B7BB4;--accent-color-lighten: #175982;--accent-color-tint: color-mix(in srgb, #1B7BB4 12%, transparent);--accent-color-text: #B2B3BD;--disabled: #303136;--primary-dark: #0C0C0E;--primary-light: #1E1F23;--hover: rgba(255, 255, 255, 0.05)}body{background:var(--background)}.warning{color:var(--warning)}.warning-bg{background:var(--warning)}.error{color:var(--error)}.error-bg{background:var(--error)}.success{color:var(--success)}.success-bg{background:var(--success)}.default-bg{background:var(--divider)}html,body{overflow:auto}body{position:relative;height:100%;width:100%;min-height:100vh}a{cursor:pointer}.content{margin-left:2rem;margin-right:2rem;margin-top:4rem}.hidden{display:none}.float-right{float:right}.float-left{float:left}.block{display:block;width:100%}.vertical-align-center{align-items:center;display:flex}.horizontal-align-center{text-align:center}.center{align-items:center;justify-content:center;display:flex}code.code{background:var(--divider);display:block;font-family:monospace;border-radius:.4rem;font-size:1.3rem;margin:1rem 0}code.code .code-header{display:block;background:var(--disabled);border-top-left-radius:.4rem;border-top-right-radius:.4rem;padding:.5rem 2rem;color:var(--primary-text);font-weight:bold}code.code .code-content{padding:2rem;white-space:break-spaces}.cursor-pointer{cursor:pointer}.spacing-right{margin-right:1rem}.flex{display:flex}.row{display:flex;flex-direction:row;gap:1rem;margin-bottom:1rem}.row.spacing-top{padding-top:.5rem}.row .column{flex:1;min-width:0;padding:1rem}.row .column.grow-2{flex-grow:2}.row .column.grow-3{flex-grow:3}.row .column.grow-4{flex-grow:4}.row .column.grow-5{flex-grow:5}.row .column.grow-6{flex-grow:6}.row .column .column{padding:0}.row .column .row{margin-bottom:0}@media screen and (max-width: 768px){.row{flex-wrap:wrap}.row .column{flex-basis:100%}}@font-face{font-family:"Outfit";src:url("../fonts/Outfit-VariableFont_wght.woff2") format("woff2");font-display:swap}body{font-family:"Outfit",helvetica,arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}p,li,td,th,div{font-size:1rem;line-height:1.6;color:var(--primary-text)}p{margin-bottom:.5rem}code{font-family:"Courier New",Courier,monospace;font-size:.875em;background:var(--secondary-background);border:1px solid var(--divider);padding:.15em .4em;border-radius:.2rem}pre code{display:block;padding:1rem;overflow-x:auto;border-radius:.4rem;line-height:1.5;border:none}strong{font-weight:700}em{font-style:italic}h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5{font-weight:700;color:var(--primary-text);letter-spacing:-0.02em}h1,.h1{font-size:2rem;font-weight:800;letter-spacing:-0.03em;line-height:1.1;margin:1.5rem 0 .6666666667rem 0}h2,.h2{font-size:1.625rem;font-weight:750;line-height:1.12;margin:1.5rem 0 .6666666667rem 0}h3,.h3{font-size:1.375rem;line-height:1.2;margin:1rem 0 .5rem 0}h4,.h4{font-size:1.125rem;letter-spacing:-0.01em;line-height:1.25;margin:1rem 0 .5rem 0}h5,.h5{font-size:1rem;font-weight:600;letter-spacing:0;line-height:1.3;margin:.5rem 0 .25rem 0}small,.text-small{font-size:.8125rem;line-height:1.4}.text-secondary{color:var(--secondary-text)}.text-caption{font-size:.75rem;line-height:1.4;color:var(--secondary-text);letter-spacing:.01em}.text-overline{font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--secondary-text)}blockquote{border-left:3px solid var(--divider);padding:.5rem 1rem;margin-block:.5rem;color:var(--secondary-text);font-style:italic}mark{background-color:color-mix(in srgb, var(--accent-color) 18%, transparent);color:var(--primary-text);border-radius:.1rem;padding:0 .2em}ul,ol{list-style-position:outside;padding-left:1.5rem;margin-bottom:.6666666667rem}ul li{list-style-type:disc}ul li li{list-style-type:circle}ol li{list-style-type:decimal}ol li li{list-style-type:lower-latin}li+li{margin-top:.25em}hr{border:none;height:1px;background:var(--divider);margin-block:1.5rem}a{color:var(--accent-color);text-decoration:none;font-weight:500;transition:color .2s ease}a:hover,a:focus-visible{color:var(--accent-color-lighten)}a:active{color:var(--accent-color)}a:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.text-center{text-align:center}.card{box-shadow:0 1px 2px rgba(56,65,74,.15);background:var(--secondary-background);border-radius:.4rem;padding:1rem;position:relative;overflow:hidden;display:flex;flex-direction:column}.card.row{flex-direction:row}.card .card-header{border-bottom:1px solid var(--divider);margin:-1rem -1rem 1rem -1rem;padding:1rem}.card .card-footer{border-top:1px solid var(--divider);margin:auto -1rem -1rem -1rem;padding:1rem}.card-flat{box-shadow:none;border:1px solid var(--divider)}.card-bordered{border:1px solid var(--divider)}.card-hover{transition:box-shadow .3s ease,transform .3s ease}.card-hover:hover{box-shadow:0 4px 8px var(--divider);transform:translateY(-2px)}.card-padding-none{padding:0}.card-padding-sm{padding:.5rem}.card-padding-lg{padding:2rem}.table-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.75rem}.table-wrapper{overflow-x:auto;border:1px solid var(--divider);border-radius:.4rem;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem}thead{background-color:var(--primary-light);border-bottom:1px solid var(--divider)}th{padding:.75rem 1rem;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--secondary-text);cursor:pointer;user-select:none;white-space:nowrap;transition:background 160ms ease}th:hover{background-color:var(--hover)}th.sort-asc::after,th.sort-desc::after{font-size:.65em;margin-left:.35em;opacity:.7}th.sort-asc::after{content:" ▲"}th.sort-desc::after{content:" ▼"}td{padding:.75rem 1rem;border-bottom:1px solid var(--divider);color:var(--primary-text)}tr:last-child td{border-bottom:none}tbody tr{transition:background 160ms ease}tbody tr:hover{background-color:var(--hover)}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--divider);flex-wrap:wrap;gap:.75rem}.pagination-info{font-size:.875rem;color:var(--secondary-text)}.pagination-buttons{display:flex;gap:4px}.page-btn{padding:.4rem .75rem;border:1px solid var(--divider);background:rgba(0,0,0,0);color:var(--primary-text);border-radius:.4rem;cursor:pointer;font-size:.875rem;transition:background 160ms ease,border-color 160ms ease}.page-btn:hover:not(:disabled){background:var(--hover);border-color:var(--secondary-text)}.page-btn.active{background-color:var(--accent-color);color:var(--accent-color-text);border-color:var(--accent-color)}.page-btn.active:hover:not(:disabled){background-color:var(--accent-color-lighten);border-color:var(--accent-color-lighten)}.page-btn:disabled{opacity:.4;cursor:not-allowed}@media(max-width: 768px){.table-controls{flex-direction:column;align-items:stretch}table,thead,tbody,th,td,tr{display:block}thead{display:none}tbody tr{border:1px solid var(--divider);border-radius:.4rem;margin-bottom:.75rem;padding:.75rem;background:var(--background)}tbody tr:hover{background-color:var(--hover)}td{border:none;padding:.5rem 0;display:flex;justify-content:space-between;align-items:center;text-align:right;border-bottom:1px solid var(--divider)}td:last-child{border-bottom:none}td::before{content:attr(data-label);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;color:var(--secondary-text);text-align:left;margin-right:.75rem}.table-wrapper{border:none}}.alert{position:relative;border-radius:.4rem;padding:.75rem 1rem .75rem calc(1rem + 4px);border-left:4px solid rgba(0,0,0,0);color:var(--primary-text);line-height:1.6;font-size:.9rem}.alert+.alert{margin-top:.5rem}.alert strong{font-weight:600;letter-spacing:-0.01em}.alert-default{background:var(--secondary-background);border-left-color:var(--divider);color:var(--primary-text)}.alert-info{background:color-mix(in srgb, var(--accent-color) 8%, var(--background));border-left-color:var(--accent-color);color:var(--primary-text)}.alert-info strong{color:var(--accent-color)}.alert-info .alert-icon{fill:var(--accent-color)}.alert-info .alert-close:hover{background:color-mix(in srgb, var(--accent-color) 12%, transparent)}.alert-success{background:color-mix(in srgb, var(--success) 8%, var(--background));border-left-color:var(--success);color:var(--primary-text)}.alert-success strong{color:var(--success)}.alert-success .alert-icon{fill:var(--success)}.alert-success .alert-close:hover{background:color-mix(in srgb, var(--success) 12%, transparent)}.alert-warning{background:color-mix(in srgb, var(--warning) 8%, var(--background));border-left-color:var(--warning);color:var(--primary-text)}.alert-warning strong{color:var(--warning)}.alert-warning .alert-icon{fill:var(--warning)}.alert-warning .alert-close:hover{background:color-mix(in srgb, var(--warning) 12%, transparent)}.alert-error{background:color-mix(in srgb, var(--error) 8%, var(--background));border-left-color:var(--error);color:var(--primary-text)}.alert-error strong{color:var(--error)}.alert-error .alert-icon{fill:var(--error)}.alert-error .alert-close:hover{background:color-mix(in srgb, var(--error) 12%, transparent)}.alert-dismissible{padding-right:3rem}.alert-dismissible .alert-close{position:absolute;top:50%;right:.75rem;transform:translateY(-50%);background:rgba(0,0,0,0);border:none;border-radius:.4rem;cursor:pointer;padding:.25rem .5rem;color:inherit;opacity:.5;transition:opacity .2s ease,background .2s ease}.alert-dismissible .alert-close:hover{opacity:1}.alert .alert-icon{width:1.1em;height:1.1em;margin-right:.5rem;vertical-align:-0.15em;fill:currentColor}[data-theme=dark] .alert-info{background:color-mix(in srgb, var(--accent-color) 10%, var(--background));border-left-color:var(--accent-color);color:var(--primary-text)}[data-theme=dark] .alert-info strong{color:var(--accent-color)}[data-theme=dark] .alert-info .alert-icon{fill:var(--accent-color)}[data-theme=dark] .alert-info .alert-close:hover{background:color-mix(in srgb, var(--accent-color) 12%, transparent)}[data-theme=dark] .alert-success{background:color-mix(in srgb, var(--success) 10%, var(--background));border-left-color:var(--success);color:var(--primary-text)}[data-theme=dark] .alert-success strong{color:var(--success)}[data-theme=dark] .alert-success .alert-icon{fill:var(--success)}[data-theme=dark] .alert-success .alert-close:hover{background:color-mix(in srgb, var(--success) 12%, transparent)}[data-theme=dark] .alert-warning{background:color-mix(in srgb, var(--warning) 10%, var(--background));border-left-color:var(--warning);color:var(--primary-text)}[data-theme=dark] .alert-warning strong{color:var(--warning)}[data-theme=dark] .alert-warning .alert-icon{fill:var(--warning)}[data-theme=dark] .alert-warning .alert-close:hover{background:color-mix(in srgb, var(--warning) 12%, transparent)}[data-theme=dark] .alert-error{background:color-mix(in srgb, var(--error) 10%, var(--background));border-left-color:var(--error);color:var(--primary-text)}[data-theme=dark] .alert-error strong{color:var(--error)}[data-theme=dark] .alert-error .alert-icon{fill:var(--error)}[data-theme=dark] .alert-error .alert-close:hover{background:color-mix(in srgb, var(--error) 12%, transparent)}@keyframes field-error-shake{0%,100%{transform:translateX(0)}18%{transform:translateX(-5px)}36%{transform:translateX(4px)}54%{transform:translateX(-3px)}72%{transform:translateX(2px)}}@keyframes dropdown-in{from{opacity:0;transform:translateY(-6px) scale(0.975)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes hint-appear{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}textarea,select,.select .dropdown,input{width:100%;border:1.5px solid var(--divider);border-radius:.6rem;padding:0 .65rem;box-sizing:border-box;background-color:var(--background);min-height:2.6rem;font-size:1rem;color:var(--primary-text);box-shadow:inset 0 1.5px 4px rgba(0,0,0,.05),0 1px 2px rgba(0,0,0,.04);transition:border-color .16s ease,box-shadow .22s cubic-bezier(0.16, 1, 0.3, 1),background-color .16s ease;outline:none}textarea::placeholder,select::placeholder,.select .dropdown::placeholder,input::placeholder{color:var(--secondary-text);opacity:.65;font-weight:400}textarea:hover:not(:focus):not(:disabled):not([readonly]),select:hover:not(:focus):not(:disabled):not([readonly]),.select .dropdown:hover:not(:focus):not(:disabled):not([readonly]),input:hover:not(:focus):not(:disabled):not([readonly]){border-color:color-mix(in srgb, var(--accent-color) 45%, var(--divider));box-shadow:inset 0 1.5px 4px rgba(0,0,0,.045),0 2px 8px rgba(0,0,0,.07)}textarea:focus,select:focus,.select .dropdown:focus,input:focus{border-color:var(--accent-color);box-shadow:inset 0 1px 3px rgba(0,0,0,.03),0 0 0 3.5px color-mix(in srgb, var(--accent-color) 13%, transparent),0 2px 12px rgba(0,0,0,.06)}textarea:disabled,select:disabled,.select .dropdown:disabled,input:disabled{background-color:var(--secondary-background);border-color:var(--disabled);color:var(--secondary-text);cursor:not-allowed;box-shadow:none;opacity:.58}textarea{padding-top:.55rem;padding-bottom:.55rem}select{padding:0 .65rem;cursor:pointer}.select-group .dropdown{position:relative;background-color:var(--background)}.select-group .dropdown-selected{border:1.5px solid var(--divider);padding:0 .65rem;border-radius:.6rem;cursor:pointer;background:var(--background);height:2.6rem;line-height:2.6rem;box-shadow:inset 0 1.5px 4px rgba(0,0,0,.05),0 1px 2px rgba(0,0,0,.04);transition:border-color .16s ease,box-shadow .22s cubic-bezier(0.16, 1, 0.3, 1);user-select:none}.select-group .dropdown-selected:hover{border-color:color-mix(in srgb, var(--accent-color) 45%, var(--divider));box-shadow:inset 0 1.5px 4px rgba(0,0,0,.045),0 2px 8px rgba(0,0,0,.07)}.select-group .dropdown-selected:focus,.select-group .dropdown-selected:focus-visible{outline:none;border-color:var(--accent-color);box-shadow:inset 0 1px 3px rgba(0,0,0,.03),0 0 0 3.5px color-mix(in srgb, var(--accent-color) 13%, transparent),0 2px 12px rgba(0,0,0,.06)}.select-group .dropdown-selected::after{font-family:"Material Symbols Outlined 24pt",serif;content:"";float:right;color:var(--secondary-text);transition:transform .26s cubic-bezier(0.34, 1.56, 0.64, 1);line-height:inherit}.select-group .dropdown.open .dropdown-selected{border-color:var(--accent-color);box-shadow:inset 0 1px 3px rgba(0,0,0,.03),0 0 0 3.5px color-mix(in srgb, var(--accent-color) 13%, transparent)}.select-group .dropdown.open .dropdown-selected::after{transform:rotate(180deg)}.select-group .dropdown-options{position:absolute;top:calc(100% + 6px);left:0;right:0;border:1.5px solid var(--divider);border-radius:.6rem;display:none;flex-direction:column;z-index:10;max-height:260px;overflow-y:auto;background-color:var(--background);box-shadow:0 8px 32px rgba(0,0,0,.11),0 2px 8px rgba(0,0,0,.06);padding:.25rem;gap:1px;transform-origin:top center}.select-group .dropdown-option{padding:.6rem .65rem;cursor:pointer;border-radius:.44rem;transition:background .1s ease;font-size:.9375rem;position:relative}.select-group .dropdown-option:hover{background:var(--hover)}.select-group .dropdown-option.selected{background:color-mix(in srgb, var(--accent-color) 10%, transparent);color:var(--accent-color);font-weight:500}.select-group .dropdown-option.selected::after{content:"✓";position:absolute;right:.65rem;top:50%;transform:translateY(-50%);font-size:.8125rem;line-height:1}.select-group .dropdown.open .dropdown-options{display:flex;animation:dropdown-in .2s cubic-bezier(0.16, 1, 0.3, 1) both}.select-group .hidden{display:none}@media(max-width: 768px){.select-group .dropdown-options-menu{position:fixed;top:0;left:0;width:100%;background:var(--background);color:var(--primary-text);text-align:center;padding:18px 15px;padding-top:calc(18px + env(safe-area-inset-top));font-weight:600;font-size:1rem;border-bottom:1px solid var(--divider);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);z-index:11;letter-spacing:.01em}.select-group .dropdown-options-menu .dropdown-options-icon{position:absolute;right:20px;top:50%;transform:translateY(-50%);cursor:pointer;color:var(--accent-color);font-size:.9375rem;font-weight:500;letter-spacing:0}.select-group .dropdown-options{position:fixed;top:0;left:0;right:0;bottom:0;border:none;border-radius:0;padding:0;padding-top:calc(62px + env(safe-area-inset-top));padding-bottom:env(safe-area-inset-bottom);font-size:1.0625rem;max-height:none;box-shadow:none;background-color:var(--background);gap:0}.select-group .dropdown-option{padding:15px 20px;border-bottom:1px solid var(--divider);border-radius:0;font-size:1.0625rem}.select-group .dropdown-option.selected::after{right:20px;font-size:.9375rem}}.form-group{display:flex;flex-direction:column;gap:.3rem}.form-group label{font-size:.8125rem;font-weight:600;color:var(--primary-text);letter-spacing:.025em}.form-group .form-hint{display:flex;align-items:flex-start;gap:.3rem;font-size:.75rem;line-height:1.5;color:var(--secondary-text);margin-top:.1rem}.form-group .form-hint::before{content:"";display:none;flex-shrink:0;width:13px;height:13px;border-radius:50%;margin-top:.1em;font-size:8.5px;font-weight:700;line-height:13px;text-align:center;color:#fff}.form-group.error input,.form-group.error textarea,.form-group.error select{border-color:var(--error);background-color:color-mix(in srgb, var(--error) 3%, var(--background));box-shadow:inset 0 1.5px 4px rgba(0,0,0,.05),0 1px 2px rgba(0,0,0,.04);animation:field-error-shake .42s cubic-bezier(0.36, 0.07, 0.19, 0.97) both}.form-group.error input:focus,.form-group.error textarea:focus,.form-group.error select:focus{border-color:var(--error);box-shadow:inset 0 1px 3px rgba(0,0,0,.03),0 0 0 3.5px color-mix(in srgb, var(--error) 13%, transparent)}.form-group.error .form-hint{color:var(--error);animation:hint-appear .2s ease both}.form-group.error .form-hint::before{content:"!";display:block;background:var(--error);opacity:1}.form-group.success input,.form-group.success textarea,.form-group.success select{border-color:var(--success)}.form-group.success input:focus,.form-group.success textarea:focus,.form-group.success select:focus{border-color:var(--success);box-shadow:inset 0 1px 3px rgba(0,0,0,.03),0 0 0 3.5px color-mix(in srgb, var(--success) 13%, transparent)}.form-group.success .form-hint{color:var(--success);animation:hint-appear .2s ease both}.form-group.success .form-hint::before{content:"✓";display:block;background:var(--success);opacity:1}.input-group{display:flex}.input-group input{flex:1;min-width:0}.input-group .input-addon{display:flex;align-items:center;padding:0 .65rem;background-color:var(--secondary-background);border:1.5px solid var(--divider);color:var(--secondary-text);font-size:1rem;white-space:nowrap;box-shadow:inset 0 1.5px 4px rgba(0,0,0,.04);font-weight:500;letter-spacing:.01em}.input-group .input-addon:first-child{border-right:none;border-radius:.6rem 0 0 .6rem}.input-group .input-addon:first-child+input{border-top-left-radius:0;border-bottom-left-radius:0}.input-group .input-addon:last-child{border-left:none;border-radius:0 .6rem .6rem 0}.input-group input:not(:last-child){border-right:none;border-top-right-radius:0;border-bottom-right-radius:0}input[readonly],textarea[readonly]{background-color:var(--secondary-background);color:var(--secondary-text);cursor:default;box-shadow:none;border-style:dashed}input.input-sm,textarea.input-sm{min-height:1.7rem;font-size:.875rem;padding:0 .5rem;border-radius:.44rem}input.input-lg,textarea.input-lg{min-height:3.3rem;font-size:1.125rem;padding:0 .75rem;border-radius:.7rem}@font-face{font-family:"Material Symbols Outlined 24pt";src:url("../fonts/MaterialSymbolsOutlined.woff2") format("woff2")}.icon{font-family:"Material Symbols Outlined 24pt",serif;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;font-size:24px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-delete::before{content:""}.icon-search::before{content:""}.icon-splitscreen_vertical_add::before{content:""}.icon-splitscreen_add::before{content:""}.icon-push_pin::before{content:""}.icon-block::before{content:""}.icon-check_circle::before{content:""}.icon-stars::before{content:""}.icon-support::before{content:""}.icon-refresh::before{content:""}.icon-sync::before{content:""}.icon-language::before{content:""}.icon-article::before{content:""}.icon-list_alt::before{content:""}.icon-add_box::before{content:""}.icon-disabled_by_default::before{content:""}.icon-help_center::before{content:""}.icon-pages::before{content:""}.icon-add_photo_alternate::before{content:""}.icon-calendar_today::before{content:""}.icon-assignment_turned_in::before{content:""}.icon-finance::before{content:""}.icon-save::before{content:""}.icon-folder::before{content:""}.icon-folder_off::before{content:""}.icon-folder_open::before{content:""}.icon-mail::before{content:""}.icon-attach_file::before{content:""}.icon-chat_bubble::before{content:""}.icon-cases::before{content:""}.icon-send::before{content:""}.icon-bookmark::before{content:""}.icon-label::before{content:""}.icon-filter_alt::before{content:""}.icon-filter_alt_off::before{content:""}.icon-notifications_active::before{content:""}.icon-more_horiz::before{content:""}.icon-more_vert::before{content:""}.icon-navigate_before::before{content:""}.icon-navigate_next::before{content:""}.icon-keyboard_double_arrow_left::before{content:""}.icon-keyboard_double_arrow_right::before{content:""}.icon-first_page::before{content:""}.icon-last_page::before{content:""}.icon-expand_less::before{content:""}.icon-expand_more::before{content:""}.icon-zoom_in_map::before{content:""}.icon-zoom_out_map::before{content:""}.icon-drag_pan::before{content:""}.icon-format_list_bulleted::before{content:""}.icon-format_list_numbered::before{content:""}.icon-check::before{content:""}.icon-remove::before{content:""}.icon-add::before{content:""}.icon-close::before{content:""}.icon-format_bold::before{content:""}.icon-format_italic::before{content:""}.icon-format_underlined::before{content:""}.icon-home::before{content:""}.icon-favorite::before{content:""}.icon-edit::before{content:""}.icon-layers::before{content:""}.icon-cloud::before{content:""}.icon-print::before{content:""}.icon-share::before{content:""}.icon-tune::before{content:""}.icon-power_settings_new::before{content:""}.icon-timeline::before{content:""}.icon-bar_chart::before{content:""}.icon-bar_chart_4_bars::before{content:""}.icon-finance_mode::before{content:""}.icon-database::before{content:""}.icon-settings::before{content:""}.icon-person::before{content:""}.icon-menu_open::before{content:""}.icon-menu::before{content:""}.icon-light::before{content:""}.icon-dark::before{content:""}:root{--track-width: 12px;--track-radius: 8px;--thumb-min: 28px;--track-gap: 6px}.scroll-container{position:relative;background:var(--secondary-background);border-radius:.4rem;box-shadow:0 1px 2px rgba(56,65,74,.15);overflow:hidden}.scroll-container .viewport{height:100%;width:100%;overflow:auto;box-sizing:border-box}.scroll-container .viewport .content{margin:0;margin-right:calc(var(--track-width) + var(--track-gap))}.scroll-container .viewport::-webkit-scrollbar{width:0;height:0}.scroll-container .viewport{scrollbar-width:none;-ms-overflow-style:none}.scroll-container .scrollbar{position:absolute;top:var(--track-gap);right:var(--track-gap);bottom:var(--track-gap);width:var(--track-width);pointer-events:none}.scroll-container .track{position:relative;height:100%;width:100%;border-radius:var(--track-radius);background:rgba(0,0,0,0);pointer-events:auto;transition:background .3s ease}.scroll-container .track:hover{background:var(--hover)}.scroll-container .track:hover .thumb{opacity:.7;transform:scaleX(0.7)}.scroll-container .thumb{position:absolute;left:0;right:0;top:0;height:40px;border-radius:var(--track-radius);background:var(--secondary-text);opacity:.2;cursor:pointer;pointer-events:auto;touch-action:none;transform:scaleX(0.3);transform-origin:right center;transition:opacity .4s ease,transform .3s cubic-bezier(0.34, 1.56, 0.64, 1),background .2s ease,box-shadow .25s ease;will-change:top,height,transform,opacity}.scroll-container:hover .thumb{opacity:.45;transform:scaleX(0.5)}.scroll-container.is-scrolling .thumb{opacity:.6;transform:scaleX(0.5)}.scroll-container.is-dragging{cursor:grabbing}.scroll-container.is-dragging .track{background:color-mix(in srgb, var(--accent-color) 8%, transparent)}.scroll-container.is-dragging .thumb{opacity:1;transform:scaleX(1);background:var(--accent-color);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-color) 18%, transparent);cursor:grabbing;transition:opacity .15s ease,transform .2s cubic-bezier(0.34, 1.56, 0.64, 1),background .15s ease,box-shadow .2s ease}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:.3333333333rem;padding:.6rem 1.25rem;border-radius:.4rem;background:var(--secondary-background);color:var(--primary-text);border:none;cursor:pointer;font-family:inherit;font-size:inherit;font-weight:500;line-height:1;white-space:nowrap;transition:background .15s ease,transform .1s ease,box-shadow .15s ease}button:hover:not(:disabled),.button:hover:not(:disabled){background:var(--divider)}button:active:not(:disabled),.button:active:not(:disabled){transform:scale(0.97)}button:focus-visible,.button:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-color) 35%, transparent)}button.active,.button.active{background:var(--divider);color:var(--accent-color)}button:disabled,.button:disabled{opacity:.45;cursor:not-allowed}button.is-loading,.button.is-loading{pointer-events:none;position:relative;color:rgba(0,0,0,0) !important}button.is-loading::after,.button.is-loading::after{content:"";position:absolute;width:1.1em;height:1.1em;border:2px solid currentColor;border-top-color:rgba(0,0,0,0);border-radius:50%;animation:spinner-rotate .8s ease-in-out infinite;color:var(--primary-text)}button.is-loading>*,.button.is-loading>*{visibility:hidden}.button-primary.is-loading::after,button.button-primary.is-loading::after,.button-success.is-loading::after,button.button-success.is-loading::after,.button-warning.is-loading::after,button.button-warning.is-loading::after,.button-error.is-loading::after,button.button-error.is-loading::after{color:var(--background)}.button-primary,button.button-primary{background:var(--accent-color);color:var(--background)}.button-primary:hover:not(:disabled),button.button-primary:hover:not(:disabled){background:color-mix(in srgb, var(--accent-color) 85%, black)}.button-primary:active:not(:disabled),button.button-primary:active:not(:disabled){background:color-mix(in srgb, var(--accent-color) 75%, black)}.button-success,button.button-success{background:var(--success);color:var(--background)}.button-success:hover:not(:disabled),button.button-success:hover:not(:disabled){background:color-mix(in srgb, var(--success) 85%, black)}.button-success:active:not(:disabled),button.button-success:active:not(:disabled){background:color-mix(in srgb, var(--success) 75%, black)}.button-warning,button.button-warning{background:var(--warning);color:var(--background)}.button-warning:hover:not(:disabled),button.button-warning:hover:not(:disabled){background:color-mix(in srgb, var(--warning) 85%, black)}.button-warning:active:not(:disabled),button.button-warning:active:not(:disabled){background:color-mix(in srgb, var(--warning) 75%, black)}.button-error,button.button-error{background:var(--error);color:var(--background)}.button-error:hover:not(:disabled),button.button-error:hover:not(:disabled){background:color-mix(in srgb, var(--error) 85%, black)}.button-error:active:not(:disabled),button.button-error:active:not(:disabled){background:color-mix(in srgb, var(--error) 75%, black)}.button-group{display:inline-flex}.button-group button,.button-group .button{border-radius:0;position:relative}.button-group button:not(:last-child)::after,.button-group .button:not(:last-child)::after{content:"";position:absolute;right:0;top:20%;height:60%;width:1px;background:color-mix(in srgb, currentColor 15%, transparent)}.button-group button:first-child,.button-group .button:first-child{border-radius:.4rem 0 0 .4rem}.button-group button:last-child,.button-group .button:last-child{border-radius:0 .4rem .4rem 0}.button-group button:only-child,.button-group .button:only-child{border-radius:.4rem}[data-theme=dark] button:hover:not(:disabled),[data-theme=dark] .button:hover:not(:disabled){background:var(--divider)}[data-theme=dark] .button-primary,[data-theme=dark] button.button-primary{color:var(--primary-text)}[data-theme=dark] .button-primary:hover:not(:disabled),[data-theme=dark] button.button-primary:hover:not(:disabled){background:color-mix(in srgb, var(--accent-color) 82%, white)}[data-theme=dark] .button-primary:active:not(:disabled),[data-theme=dark] button.button-primary:active:not(:disabled){background:color-mix(in srgb, var(--accent-color) 70%, white)}[data-theme=dark] .button-success,[data-theme=dark] button.button-success{color:var(--primary-text)}[data-theme=dark] .button-success:hover:not(:disabled),[data-theme=dark] button.button-success:hover:not(:disabled){background:color-mix(in srgb, var(--success) 82%, white)}[data-theme=dark] .button-success:active:not(:disabled),[data-theme=dark] button.button-success:active:not(:disabled){background:color-mix(in srgb, var(--success) 70%, white)}[data-theme=dark] .button-warning,[data-theme=dark] button.button-warning{color:var(--primary-text)}[data-theme=dark] .button-warning:hover:not(:disabled),[data-theme=dark] button.button-warning:hover:not(:disabled){background:color-mix(in srgb, var(--warning) 82%, white)}[data-theme=dark] .button-warning:active:not(:disabled),[data-theme=dark] button.button-warning:active:not(:disabled){background:color-mix(in srgb, var(--warning) 70%, white)}[data-theme=dark] .button-error,[data-theme=dark] button.button-error{color:var(--primary-text)}[data-theme=dark] .button-error:hover:not(:disabled),[data-theme=dark] button.button-error:hover:not(:disabled){background:color-mix(in srgb, var(--error) 82%, white)}[data-theme=dark] .button-error:active:not(:disabled),[data-theme=dark] button.button-error:active:not(:disabled){background:color-mix(in srgb, var(--error) 70%, white)}[data-theme=dark] .button-primary.is-loading::after,[data-theme=dark] button.button-primary.is-loading::after,[data-theme=dark] .button-success.is-loading::after,[data-theme=dark] button.button-success.is-loading::after,[data-theme=dark] .button-warning.is-loading::after,[data-theme=dark] button.button-warning.is-loading::after,[data-theme=dark] .button-error.is-loading::after,[data-theme=dark] button.button-error.is-loading::after{color:var(--primary-text)}.modal-wrapper{position:fixed;inset:0;z-index:999;pointer-events:none}.modal-wrapper.is-visible{pointer-events:auto}.modal-wrapper.is-visible .modal-background{opacity:1}.modal-wrapper.is-visible .modal{opacity:1;pointer-events:auto;transform:translate(-50%, -50%) scale(1)}.modal-background{position:absolute;inset:0;background:rgba(0,0,0,.45);opacity:0;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:opacity .3s ease}.modal{background:var(--background);border:1px solid var(--divider);border-radius:.8rem;box-shadow:0 20px 60px rgba(0,0,0,.15),0 4px 16px rgba(0,0,0,.08);padding:1rem;position:fixed;top:50%;left:50%;z-index:1000;width:90%;max-width:560px;max-height:90vh;overflow-x:hidden;overflow-y:auto;opacity:0;pointer-events:none;transform:translate(-50%, -50%) scale(0.96);transition:opacity .25s ease,transform .25s ease}.modal .close{position:absolute;top:1rem;right:1rem;cursor:pointer;z-index:1;color:var(--secondary-text);transition:color .15s ease}.modal .close:hover{color:var(--primary-text)}.modal .header{margin:-1rem -1rem 1rem;padding:1rem;border-bottom:1px solid var(--divider);border-radius:.8rem .8rem 0 0}.modal .footer{margin:1rem -1rem -1rem;padding:1rem;border-top:1px solid var(--divider);border-radius:0 0 .8rem .8rem;display:flex;justify-content:flex-end}.modal .footer .buttons{display:flex;gap:.5rem}@media screen and (max-width: 768px){.modal-wrapper.is-visible .modal{transform:translateY(0)}.modal{top:auto;bottom:0;left:0;right:0;width:100%;max-width:100%;max-height:85vh;border-radius:1.2rem 1.2rem 0 0;border-bottom:none;transform:translateY(20px);padding-bottom:calc(1rem + env(safe-area-inset-bottom))}.modal .header{border-radius:1.2rem 1.2rem 0 0}.modal .footer{border-radius:0}}.lightbox-wrapper{position:fixed;inset:0;z-index:999;pointer-events:none;display:flex;align-items:center;justify-content:center}.lightbox-wrapper.is-visible{pointer-events:auto}.lightbox-wrapper.is-visible .lightbox-background{opacity:1}.lightbox-wrapper.is-visible .lightbox{opacity:1;transform:scale(1)}.lightbox-wrapper.is-visible .lightbox-close,.lightbox-wrapper.is-visible .lightbox-prev,.lightbox-wrapper.is-visible .lightbox-next{opacity:1}.lightbox-background{position:absolute;inset:0;background:rgba(0,0,0,.88);opacity:0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:opacity .3s ease}.lightbox-close{position:absolute;top:1rem;right:1rem;z-index:1002;display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:none;border-radius:50%;background:hsla(0,0%,100%,.12);color:hsla(0,0%,100%,.8);cursor:pointer;opacity:0;transition:background .2s ease,color .2s ease,opacity .3s ease;-webkit-tap-highlight-color:rgba(0,0,0,0)}.lightbox-close .icon{font-size:1.25rem;line-height:1}.lightbox-close:hover{background:hsla(0,0%,100%,.22);color:#fff}.lightbox-close:focus-visible{outline:2px solid hsla(0,0%,100%,.6);outline-offset:2px}.lightbox{position:relative;z-index:1000;display:flex;flex-direction:column;align-items:center;max-width:min(90vw,1280px);opacity:0;transform:scale(0.97);transition:opacity .25s ease,transform .25s ease}.lightbox-img-wrap{position:relative;display:flex;align-items:center;justify-content:center;max-width:100%;max-height:calc(90dvh - 3.5rem);cursor:zoom-in;border-radius:.8rem;overflow:hidden;background:hsla(0,0%,100%,.04)}.lightbox-img-wrap.is-loading{min-width:6rem;min-height:6rem}.lightbox-img-wrap.is-loading .lightbox-img{opacity:0}.lightbox-img-wrap.is-loading .lightbox-spinner{display:flex}.lightbox-img-wrap.is-error{min-width:14rem;min-height:8rem;cursor:default}.lightbox-img-wrap.is-error .lightbox-img{display:none}.lightbox-img-wrap.is-error .lightbox-spinner{display:none}.lightbox-img-wrap.is-error::after{content:"Failed to load image";color:hsla(0,0%,100%,.4);font-size:.875rem;padding:2rem}.lightbox-img-wrap.is-zoomed{cursor:zoom-out;overflow:auto;max-height:90dvh;border-radius:0}.lightbox-spinner{position:absolute;inset:0;display:none;align-items:center;justify-content:center;z-index:1}.lightbox-spinner .spinner{border-color:hsla(0,0%,100%,.15);border-top-color:hsla(0,0%,100%,.7)}.lightbox-img{display:block;max-width:100%;max-height:calc(90dvh - 3.5rem);object-fit:contain;opacity:0;transition:opacity .25s ease;border-radius:.8rem;user-select:none;-webkit-user-drag:none}.lightbox-img.is-loaded{opacity:1}.lightbox-img.is-zoomed{max-width:none;max-height:none;border-radius:0}.lightbox-caption{margin:.6rem 0 0;color:hsla(0,0%,100%,.6);font-size:.875rem;text-align:center;max-width:60ch;line-height:1.5}.lightbox-counter{margin-top:.5rem;color:hsla(0,0%,100%,.4);font-size:.75rem;letter-spacing:.04em;text-align:center;user-select:none}.lightbox-prev,.lightbox-next{position:fixed;top:50%;transform:translateY(-50%);z-index:1001;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:none;border-radius:50%;background:rgba(0,0,0,.32);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:hsla(0,0%,100%,.92);cursor:pointer;opacity:0;transition:background .2s ease,opacity .3s ease,transform .2s ease;-webkit-tap-highlight-color:rgba(0,0,0,0)}.lightbox-prev .icon,.lightbox-next .icon{font-size:1.5rem;line-height:1}.lightbox-prev:hover,.lightbox-next:hover{background:rgba(0,0,0,.55)}.lightbox-prev:active,.lightbox-next:active{transform:translateY(-50%) scale(0.93)}.lightbox-prev:focus-visible,.lightbox-next:focus-visible{outline:2px solid hsla(0,0%,100%,.6);outline-offset:2px}.lightbox-prev{left:1rem}.lightbox-next{right:1rem}@media(max-width: 768px){.lightbox-prev,.lightbox-next{width:2rem;height:2rem}.lightbox-prev .icon,.lightbox-next .icon{font-size:1.25rem}.lightbox-prev{left:.5rem}.lightbox-next{right:.5rem}.lightbox{max-width:100vw}.lightbox-img,.lightbox-img-wrap{max-height:82dvh;border-radius:.4rem}.lightbox-close{top:.75rem;right:.75rem}}.popover{position:fixed;z-index:900;background:var(--background);border:1px solid var(--divider);border-radius:1rem;box-shadow:0 0 0 1px rgba(0,0,0,.03),0 4px 6px -2px rgba(0,0,0,.05),0 12px 24px -4px rgba(0,0,0,.12);min-width:160px;max-width:320px;opacity:0;pointer-events:none}.popover[data-placement=top]{transform-origin:bottom center;transform:translateY(6px) scale(0.95)}.popover[data-placement=bottom]{transform-origin:top center;transform:translateY(-6px) scale(0.95)}.popover[data-placement=left]{transform-origin:right center;transform:translateX(6px) scale(0.95)}.popover[data-placement=right]{transform-origin:left center;transform:translateX(-6px) scale(0.95)}.popover[data-placement=bottom][data-align=start]{transform-origin:top left}.popover[data-placement=bottom][data-align=end]{transform-origin:top right}.popover[data-placement=top][data-align=start]{transform-origin:bottom left}.popover[data-placement=top][data-align=end]{transform-origin:bottom right}.popover{transition:opacity .18s ease,transform .2s cubic-bezier(0.16, 1, 0.3, 1)}.popover.is-open{opacity:1;pointer-events:auto;transform:none !important}.popover[data-arrow=true]::before,.popover[data-arrow=true]::after{content:"";position:absolute;width:0;height:0;pointer-events:none}.popover[data-arrow=true][data-placement=bottom]::before{top:-7px;left:var(--popover-arrow-offset, 50%);transform:translateX(-50%);border:7px solid rgba(0,0,0,0);border-top-width:0;border-bottom-color:var(--divider)}.popover[data-arrow=true][data-placement=bottom]::after{top:-6px;left:var(--popover-arrow-offset, 50%);transform:translateX(-50%);border:6px solid rgba(0,0,0,0);border-top-width:0;border-bottom-color:var(--background)}.popover[data-arrow=true][data-placement=top]::before{bottom:-7px;left:var(--popover-arrow-offset, 50%);transform:translateX(-50%);border:7px solid rgba(0,0,0,0);border-bottom-width:0;border-top-color:var(--divider)}.popover[data-arrow=true][data-placement=top]::after{bottom:-6px;left:var(--popover-arrow-offset, 50%);transform:translateX(-50%);border:6px solid rgba(0,0,0,0);border-bottom-width:0;border-top-color:var(--background)}.popover[data-arrow=true][data-placement=right]::before{left:-7px;top:var(--popover-arrow-offset, 50%);transform:translateY(-50%);border:7px solid rgba(0,0,0,0);border-left-width:0;border-right-color:var(--divider)}.popover[data-arrow=true][data-placement=right]::after{left:-6px;top:var(--popover-arrow-offset, 50%);transform:translateY(-50%);border:6px solid rgba(0,0,0,0);border-left-width:0;border-right-color:var(--background)}.popover[data-arrow=true][data-placement=left]::before{right:-7px;top:var(--popover-arrow-offset, 50%);transform:translateY(-50%);border:7px solid rgba(0,0,0,0);border-right-width:0;border-left-color:var(--divider)}.popover[data-arrow=true][data-placement=left]::after{right:-6px;top:var(--popover-arrow-offset, 50%);transform:translateY(-50%);border:6px solid rgba(0,0,0,0);border-right-width:0;border-left-color:var(--background)}.popover-header{padding:.65rem 1rem;border-bottom:1px solid var(--divider);font-weight:600;font-size:.875rem;color:var(--primary-text);display:flex;align-items:center;justify-content:space-between;gap:.5rem;border-radius:1rem 1rem 0 0}.popover-body{padding:.75rem 1rem;color:var(--primary-text);font-size:.875rem;line-height:1.5}.popover-footer{padding:.65rem 1rem;border-top:1px solid var(--divider);display:flex;justify-content:flex-end;gap:.5rem;border-radius:0 0 1rem 1rem}.popover-menu{padding:.375rem 0}.popover-menu .popover-menu-item{display:flex;align-items:center;gap:.6rem;padding:.45rem 1rem;font-size:.875rem;color:var(--primary-text);cursor:pointer;transition:background .12s ease,color .12s ease;user-select:none}.popover-menu .popover-menu-item:hover{background:var(--hover)}.popover-menu .popover-menu-item.is-destructive{color:var(--error)}.popover-menu .popover-menu-item.is-destructive:hover{background:color-mix(in srgb, var(--error) 8%, transparent)}.popover-menu .popover-menu-divider{height:1px;background:var(--divider);margin:.375rem 0}.popover-menu .popover-menu-label{padding:.3rem 1rem .2rem;font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--secondary-text)}.placeholder{display:inline-block;cursor:wait;min-height:.65rem;margin-right:.5rem;border-radius:.4rem;background:linear-gradient(90deg, var(--divider) 25%, var(--secondary-background) 50%, var(--divider) 75%);background-size:200% 100%;animation:placeholder-shimmer 1.5s ease-in-out infinite}.placeholder.w-1{width:8.3333333333%}.placeholder.w-2{width:16.6666666667%}.placeholder.w-3{width:25%}.placeholder.w-4{width:33.3333333333%}.placeholder.w-5{width:41.6666666667%}.placeholder.w-6{width:50%}.placeholder.w-7{width:58.3333333333%}.placeholder.w-8{width:66.6666666667%}.placeholder.w-9{width:75%}.placeholder.w-10{width:83.3333333333%}.placeholder.w-11{width:91.6666666667%}.placeholder.w-12{width:100%}@keyframes placeholder-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.progress{width:100%;height:8px;background:var(--secondary-background);border-radius:.4rem;overflow:hidden}.progress-bar{height:100%;border-radius:.4rem;background:var(--primary-text);transition:width .3s ease;min-width:0}.progress-bar.accent{background:var(--accent-color)}.progress-bar.success{background:var(--success)}.progress-bar.warning{background:var(--warning)}.progress-bar.error{background:var(--error)}.progress-bar.animated{width:40% !important;background:var(--accent-color);animation:progress-indeterminate 1.4s ease-in-out infinite}@keyframes progress-indeterminate{0%{transform:translateX(-100%)}100%{transform:translateX(350%)}}@keyframes skeleton-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.skeleton-avatar,.skeleton-text,.skeleton{background:linear-gradient(90deg, var(--secondary-background) 25%, var(--divider) 50%, var(--secondary-background) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:.4rem;display:block}.skeleton-text{height:.85em;width:100%}.skeleton-avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0}.spinner{width:2.5rem;height:2.5rem;border:3px solid var(--divider);border-top-color:var(--accent-color);border-radius:50%;display:inline-block;animation:spinner-rotate .8s ease-in-out infinite}.spinner.small{width:1.25rem;height:1.25rem;border-width:2px}.spinner.large{width:3.5rem;height:3.5rem;border-width:4px}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.loading{display:inline-flex;align-items:center;gap:.5rem}.loading::before,.loading::after,.loading span{content:"";width:.5rem;height:.5rem;border-radius:50%;background-color:var(--accent-color);animation:loading-pulse 1.2s ease-in-out infinite}.loading span{animation-delay:.15s}.loading::after{animation-delay:.3s}@keyframes loading-pulse{0%,80%,100%{opacity:.25;transform:scale(0.8)}40%{opacity:1;transform:scale(1)}}.toast{display:flex;flex-direction:column;position:fixed;bottom:1rem;left:1rem;right:1rem;max-width:380px;margin:0 auto;background:var(--background);border-radius:.8rem;box-shadow:0 1px 2px rgba(56,65,74,.15),0 8px 24px rgba(0,0,0,.12);padding:.75rem 1rem;z-index:1000;overflow:hidden;transform:translateY(calc(100% + 2rem));opacity:0;transition:transform 300ms cubic-bezier(0.32, 0.72, 0, 1),opacity 200ms ease}.toast .bar{position:absolute;top:0;left:0;height:3px;width:100%;background:var(--accent-color);border-radius:0 0 2px 2px;transition:width 250ms linear}.toast.show{transform:translateY(0);opacity:1}.toast.success .bar{background:var(--success)}.toast.warning .bar{background:var(--warning)}.toast.error .bar{background:var(--error)}.toast .close{cursor:pointer;position:absolute;top:.75rem;right:.75rem;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:.4rem;transition:background 150ms ease}.toast .close:hover{background:var(--secondary-background)}.toast .header{padding-right:1.5rem;padding-bottom:.3333333333rem;font-weight:700}.toast .content{margin:0;color:var(--secondary-text);font-size:.875rem;line-height:1.5}nav.push-menu{position:fixed;top:0;left:0;width:280px;height:100%;overflow:hidden;transform:translateX(-100%);transition:transform 300ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1);z-index:10}nav.push-menu.pushed{transform:translateX(0);box-shadow:8px 0 32px rgba(0,0,0,.35)}.push-content{transition:transform 300ms cubic-bezier(0.4, 0, 0.2, 1);will-change:transform}.push-content.pushed{transform:translate3d(280px, 0, 0)}.push-menu-panel{position:absolute;inset:0;background:var(--primary-dark);transform:translateX(105%);transition:transform 300ms cubic-bezier(0.4, 0, 0.2, 1);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;will-change:transform}.push-menu-panel.is-active{transform:translateX(0)}.push-menu-panel.is-prev{transform:translateX(-20%)}.push-menu-panel[data-level="0"]>ul{padding-top:4.5rem;padding-bottom:1rem;margin:0;list-style:none;width:100%}.push-menu-panel-header{display:flex;align-items:center;gap:.75rem;padding:4.5rem 1.5rem 1rem 1.25rem;border-bottom:1px solid hsla(0,0%,100%,.07);position:sticky;top:0;background:var(--primary-dark);z-index:1;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0);transition:background 160ms ease}.push-menu-panel-header:hover{background:hsla(0,0%,100%,.05)}.push-menu-panel-header:hover .push-menu-back{background:hsla(0,0%,100%,.14);color:#fff}.push-menu-panel-header:active{background:hsla(0,0%,100%,.08)}.push-menu-panel-header:active .push-menu-back{transform:scale(0.92)}.push-menu-back{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.75rem;height:1.75rem;border-radius:.3rem;border:none;background:hsla(0,0%,100%,.08);color:hsla(0,0%,100%,.65);pointer-events:none;transition:background 160ms ease,color 160ms ease,transform 160ms ease}.push-menu-panel-title{color:hsla(0,0%,100%,.45);font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.push-menu-panel:not([data-level="0"])>ul{padding:.5rem 0;margin:0;list-style:none;width:100%}nav li{margin:0}nav a,.push-menu-item{color:var(--accent-color-text);font-size:.9rem;font-weight:500;letter-spacing:.03em;text-decoration:none;text-transform:uppercase;display:flex;align-items:center;padding:.85rem 1.5rem;transition:background 300ms cubic-bezier(0.4, 0, 0.2, 1),color 160ms ease;-webkit-tap-highlight-color:rgba(0,0,0,0);cursor:pointer;width:100%;box-sizing:border-box;user-select:none}nav a:hover,.push-menu-item:hover{color:#fff;background:hsla(0,0%,100%,.06)}nav a:active,.push-menu-item:active{background:hsla(0,0%,100%,.1)}nav li+li a,nav li+li .push-menu-item{border-top:1px solid hsla(0,0%,100%,.055)}.push-menu-chevron{margin-left:auto;flex-shrink:0;display:flex;align-items:center;opacity:.35;transition:opacity 160ms ease,transform 200ms cubic-bezier(0.4, 0, 0.2, 1)}.push-menu-item:hover .push-menu-chevron{opacity:.7;transform:translateX(2px)}.navigation-controls{line-height:inherit}.navigation-controls label{display:block;width:1.5rem;height:100%;color:var(--primary-text);text-align:center;top:0;left:0;z-index:500;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.navigation-controls input[type=checkbox]{display:none}.push-menu-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.4);opacity:0;visibility:hidden;transition:opacity 300ms cubic-bezier(0.4, 0, 0.2, 1),visibility 300ms cubic-bezier(0.4, 0, 0.2, 1);z-index:9;-webkit-tap-highlight-color:rgba(0,0,0,0)}.push-menu-backdrop.pushed{opacity:1;visibility:visible}.main-header{position:fixed;background:var(--secondary-background);width:100%;right:0;transition:width 300ms cubic-bezier(0.4, 0, 0.2, 1),transform 300ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1);height:3rem;display:flex;z-index:2;gap:1rem;border-bottom:1px solid var(--divider);top:0}.main-header>div:first-child{margin-left:1rem}.main-header>div:last-child{margin-right:1rem}.main-header>div{display:flex;align-items:center;line-height:3rem}.main-header .last{margin-left:auto}.main-header.pushed{width:calc(100% - 280px)}.main-header .navigation-controls{height:2.5rem}.main-header .navigation-controls label{display:block;position:relative;background:initial;width:inherit;height:inherit;border-radius:.4rem;transition:background 160ms ease}.main-header .navigation-controls label:active{background:rgba(0,0,0,.06)}.main-header .navigation-controls input[type=checkbox]:checked~label{left:0}.styled-checkbox{position:absolute;opacity:0;width:auto}.styled-checkbox+label{position:relative;cursor:pointer;padding:0;display:flex;margin-bottom:.5rem}.styled-checkbox+label::before{content:"";margin-right:10px;display:inline-block;flex-shrink:0;width:1rem;height:1rem;border:2px solid var(--divider);border-radius:.2rem;background-color:var(--background);margin-top:2px;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.styled-checkbox:hover+label::before{border-color:var(--accent-color)}.styled-checkbox:focus-visible+label::before{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-color) 15%, transparent);border-color:var(--accent-color)}.styled-checkbox:checked+label::before{background-color:var(--accent-color);border-color:var(--accent-color)}.styled-checkbox:checked+label::after{content:"";position:absolute;left:calc(2px + .5rem);top:calc(4px + .5rem);width:.28rem;height:.5rem;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:translate(-50%, -62%) rotate(45deg)}.styled-checkbox:disabled+label{color:var(--secondary-text);cursor:not-allowed}.styled-checkbox:disabled+label::before{background-color:var(--secondary-background);border-color:var(--disabled);box-shadow:none}.styled-checkbox:disabled:checked+label::before{background-color:var(--disabled);border-color:var(--disabled)}.radio-button-container{display:block;position:relative;padding-left:2rem;line-height:1.6rem;margin-bottom:.5rem;cursor:pointer;font-size:1rem;user-select:none}.radio-button-container input{position:absolute;opacity:0;width:0;height:0;cursor:pointer}.radio-button-container input:checked~.checkmark{border-color:var(--accent-color)}.radio-button-container input:checked~.checkmark::after{transform:translate(-50%, -50%) scale(1);opacity:1}.radio-button-container input:focus-visible~.checkmark{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-color) 15%, transparent);border-color:var(--accent-color)}.radio-button-container input:disabled~.checkmark{border-color:var(--disabled);cursor:not-allowed}.radio-button-container input:disabled~.checkmark::after{background:var(--disabled)}.radio-button-container input:disabled:checked~.checkmark{border-color:var(--disabled)}.radio-button-container:hover input:not(:disabled):not(:checked)~.checkmark{border-color:var(--accent-color)}.radio-button-container:has(input:disabled){cursor:not-allowed;color:var(--secondary-text)}.radio-button-container .checkmark{position:absolute;top:4px;left:0;height:1.15rem;width:1.15rem;background-color:var(--background);border-radius:50%;border:2px solid var(--divider);transition:border-color .15s ease,box-shadow .15s ease}.radio-button-container .checkmark::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%) scale(0);opacity:0;width:.55rem;height:.55rem;border-radius:50%;background:var(--accent-color);transition:transform .15s ease,opacity .15s ease}.switch input[type=checkbox]{position:absolute;opacity:0;width:auto}.switch label{cursor:pointer;width:3rem;height:1.5rem;background:var(--secondary-text);display:block;border-radius:1.5rem;position:relative;text-indent:3.5rem;white-space:nowrap}.switch label::after{content:"";position:absolute;top:.25rem;left:5px;width:1rem;height:1rem;background:var(--secondary-background);border-radius:50%;transition:.3s}.switch input:checked+label{background:var(--accent-color)}.switch input:checked+label::after{left:calc(100% - 5px);transform:translateX(-100%)}.tooltip{--tooltip-bg: var(--divider);position:fixed;z-index:10000;background:var(--divider);color:var(--primary-text);border-radius:.4rem;padding:.4rem .7rem;max-width:300px;font-size:.8rem;line-height:1.4;word-break:break-word;opacity:0;pointer-events:none;box-shadow:0 4px 12px rgba(0,0,0,.15);transition:opacity .2s ease,transform .2s ease}.tooltip[data-position=top]{transform:translateY(4px)}.tooltip[data-position=bottom]{transform:translateY(-4px)}.tooltip[data-position=left]{transform:translateX(4px)}.tooltip[data-position=right]{transform:translateX(-4px)}.tooltip.visible{opacity:1;transform:translate(0)}.tooltip::before{content:"";position:absolute;width:0;height:0;border:5px solid rgba(0,0,0,0)}.tooltip[data-position=top]::before{bottom:-5px;left:50%;transform:translateX(-50%);border-top-color:var(--tooltip-bg);border-bottom:none}.tooltip[data-position=bottom]::before{top:-5px;left:50%;transform:translateX(-50%);border-bottom-color:var(--tooltip-bg);border-top:none}.tooltip[data-position=left]::before{right:-5px;top:50%;transform:translateY(-50%);border-left-color:var(--tooltip-bg);border-right:none}.tooltip[data-position=right]::before{left:-5px;top:50%;transform:translateY(-50%);border-right-color:var(--tooltip-bg);border-left:none}.tooltip.tooltip-info{--tooltip-bg: var(--accent-color);background:var(--accent-color);color:var(--accent-color-text)}.tooltip.tooltip-success{--tooltip-bg: var(--success);background:var(--success);color:var(--background)}.tooltip.tooltip-warning{--tooltip-bg: var(--warning);background:var(--warning);color:var(--background)}.tooltip.tooltip-error{--tooltip-bg: var(--error);background:var(--error);color:var(--background)}.tooltip.tooltip-large{max-width:500px;font-size:.875rem;padding:.6rem .9rem}.tooltip code{padding:1px 5px;font-family:"Courier New",monospace;font-size:.9em;background:hsla(0,0%,100%,.15);border-radius:.2rem}.breadcrumb ol{display:flex;align-items:center;flex-wrap:wrap;row-gap:.25rem;list-style:none;margin:0;padding:0}.breadcrumb li{display:flex;align-items:center;min-width:0}.breadcrumb li+li::before{content:"";font-family:"Material Symbols Outlined 24pt";font-size:1.125rem;line-height:1;color:var(--divider);flex-shrink:0;user-select:none;pointer-events:none}.breadcrumb li a{display:flex;align-items:center;gap:.3rem;font-size:.8125rem;font-weight:450;color:var(--secondary-text);text-decoration:none;padding:.25rem .375rem;border-radius:.2rem;white-space:nowrap;transition:color .15s ease,background .15s ease}.breadcrumb li a .icon{font-size:1rem}.breadcrumb li a:hover{color:var(--primary-text);background:var(--secondary-background)}.breadcrumb li a:focus-visible{outline:2px solid var(--accent-color);outline-offset:-1px;border-radius:.2rem}.breadcrumb li[aria-current=page]>span{display:block;font-size:.8125rem;font-weight:550;color:var(--primary-text);padding:.25rem .375rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:28ch}@media(max-width: 600px){.breadcrumb--collapse li:not(:nth-last-child(-n+2)){display:none}.breadcrumb--collapse li:nth-last-child(2):not(:first-child)::before{content:"···";font-family:inherit;font-size:.875rem;letter-spacing:.04em;color:var(--divider);padding:0 .125rem}}.page-header{padding-block:1.25rem 1rem}.page-header .breadcrumb{margin-bottom:.5rem}.page-header__title-row{display:flex;align-items:flex-start;gap:1rem}.page-header__title-row h1,.page-header__title-row h2,.page-header__title-row h3,.page-header__title-row h4,.page-header__title-row .h1,.page-header__title-row .h2,.page-header__title-row .h3,.page-header__title-row .h4{margin:0;flex:1;min-width:0}.page-header__actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0;padding-top:.3rem}.page-header__description{margin:.375rem 0 0;padding-bottom:0;font-size:.875rem;line-height:1.55;color:var(--secondary-text)}.page-header--bordered{border-bottom:1px solid var(--divider);padding-bottom:1.25rem;margin-bottom:1.5rem}@media(max-width: 540px){.page-header__title-row{flex-wrap:wrap}.page-header__actions{width:100%;padding-top:.25rem}.page-header__actions button,.page-header__actions .button{flex:1;justify-content:center}}.chips{display:flex;flex-wrap:wrap;gap:.35rem}.chips .chip{display:inline-flex;align-items:center;gap:.35rem;background:var(--secondary-background);color:var(--primary-text);padding:.3rem .75rem;border-radius:1.6rem;font-size:.8125rem;font-weight:500;line-height:1.4;letter-spacing:.01em;white-space:nowrap;border:1px solid rgba(0,0,0,0);position:relative;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .15s ease}.chips .chip.clickable{cursor:pointer}.chips .chip.clickable:hover{background:var(--divider)}.chips .chip.clickable:active{transform:scale(0.96)}.chips .chip.clickable:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-color) 35%, transparent)}.chips .chip.closeable{padding-right:1.8rem}.chips .chip.closeable button{position:absolute;right:.4rem;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;padding:0;background:rgba(0,0,0,0);color:var(--secondary-text);border:0;height:1.1rem;width:1.1rem;border-radius:50%;cursor:pointer;transition:background .15s ease,color .15s ease}.chips .chip.closeable button:hover{background:color-mix(in srgb, var(--primary-text) 12%, transparent);color:var(--primary-text)}.chips .chip.closeable button:active{background:color-mix(in srgb, var(--primary-text) 18%, transparent)}.chips .chip.closeable button .icon,.chips .chip.closeable button .icon-svg{font-size:.8rem;width:.8rem;height:.8rem}.chips .chip-accent{background:color-mix(in srgb, var(--accent-color) 12%, var(--background));color:var(--accent-color);border-color:color-mix(in srgb, var(--accent-color) 20%, transparent)}.chips .chip-accent.closeable button:hover{background:color-mix(in srgb, var(--accent-color) 15%, transparent);color:var(--accent-color)}.chips .chip-success{background:color-mix(in srgb, var(--success) 12%, var(--background));color:var(--success);border-color:color-mix(in srgb, var(--success) 20%, transparent)}.chips .chip-success.closeable button:hover{background:color-mix(in srgb, var(--success) 15%, transparent);color:var(--success)}.chips .chip-warning{background:color-mix(in srgb, var(--warning) 12%, var(--background));color:var(--warning);border-color:color-mix(in srgb, var(--warning) 20%, transparent)}.chips .chip-warning.closeable button:hover{background:color-mix(in srgb, var(--warning) 15%, transparent);color:var(--warning)}.chips .chip-error{background:color-mix(in srgb, var(--error) 12%, var(--background));color:var(--error);border-color:color-mix(in srgb, var(--error) 20%, transparent)}.chips .chip-error.closeable button:hover{background:color-mix(in srgb, var(--error) 15%, transparent);color:var(--error)}.chips .chip-outline{background:rgba(0,0,0,0);border-color:var(--divider);color:var(--secondary-text)}.chips .chip-outline.clickable:hover{background:var(--hover);border-color:color-mix(in srgb, var(--divider) 80%, var(--primary-text))}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .5rem;border-radius:1.6rem;font-size:.75rem;font-weight:500;line-height:1.4;letter-spacing:.01em;white-space:nowrap;vertical-align:middle;border:1px solid rgba(0,0,0,0);background:var(--secondary-background);color:var(--secondary-text)}.badge-info{background:color-mix(in srgb, var(--accent-color) 12%, var(--background));color:var(--accent-color);border-color:color-mix(in srgb, var(--accent-color) 20%, transparent)}.badge-success{background:color-mix(in srgb, var(--success) 12%, var(--background));color:var(--success);border-color:color-mix(in srgb, var(--success) 20%, transparent)}.badge-warning{background:color-mix(in srgb, var(--warning) 12%, var(--background));color:var(--warning);border-color:color-mix(in srgb, var(--warning) 20%, transparent)}.badge-error{background:color-mix(in srgb, var(--error) 12%, var(--background));color:var(--error);border-color:color-mix(in srgb, var(--error) 20%, transparent)}.badge-solid.badge-info{background:var(--accent-color);color:#fff;border-color:rgba(0,0,0,0)}.badge-solid.badge-success{background:var(--success);color:#fff;border-color:rgba(0,0,0,0)}.badge-solid.badge-warning{background:var(--warning);color:#fff;border-color:rgba(0,0,0,0)}.badge-solid.badge-error{background:var(--error);color:#fff;border-color:rgba(0,0,0,0)}.badge-outline{background:rgba(0,0,0,0);border-color:var(--divider);color:var(--secondary-text)}.badge-outline.badge-info{border-color:var(--accent-color);color:var(--accent-color)}.badge-outline.badge-success{border-color:var(--success);color:var(--success)}.badge-outline.badge-warning{border-color:var(--warning);color:var(--warning)}.badge-outline.badge-error{border-color:var(--error);color:var(--error)}.badge-sm{padding:.1rem .35rem;font-size:.6875rem}.badge-lg{padding:.25rem .65rem;font-size:.875rem}.badge-dot{width:.5rem;height:.5rem;padding:0;border-radius:50%;background:var(--divider);border:none}.badge-dot.badge-info{background:var(--accent-color)}.badge-dot.badge-success{background:var(--success)}.badge-dot.badge-warning{background:var(--warning)}.badge-dot.badge-error{background:var(--error)}@keyframes stepper-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent-color) 35%, transparent)}65%{box-shadow:0 0 0 6px rgba(0,0,0,0)}100%{box-shadow:0 0 0 0 rgba(0,0,0,0)}}@keyframes stepper-check-in{0%{transform:scale(0.5);opacity:0}60%{transform:scale(1.15)}100%{transform:scale(1);opacity:1}}@keyframes stepper-complete-pop{0%{transform:scale(1)}40%{transform:scale(1.18)}100%{transform:scale(1)}}.stepper{display:flex;align-items:flex-start}.stepper-step{display:flex;flex-direction:column;align-items:center;gap:.4rem;flex-shrink:0}.stepper-indicator{width:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.8125rem;font-weight:600;line-height:1;border:2px solid var(--divider);background:var(--background);color:var(--secondary-text);transition:background .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease;position:relative;z-index:1}.stepper-indicator .icon-svg{width:1rem;height:1rem}.stepper-label{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.125rem}.stepper-title{font-size:.8125rem;font-weight:500;color:var(--secondary-text);transition:color .25s ease,font-weight .25s ease;white-space:nowrap}.stepper-desc{font-size:.6875rem;color:var(--secondary-text);opacity:.6;white-space:nowrap;transition:opacity .25s ease}.stepper-connector{flex:1;height:2px;margin-top:calc(2rem/2 - 2px/2);min-width:1rem;background:var(--divider);border-radius:2px;position:relative;overflow:hidden}.stepper-connector::after{content:"";position:absolute;inset:0;background:var(--accent-color);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(0.4, 0, 0.2, 1)}.stepper-connector.completed::after{transform:scaleX(1)}.stepper-step.active .stepper-indicator{border-color:var(--accent-color);background:color-mix(in srgb, var(--accent-color) 10%, var(--background));color:var(--accent-color);animation:stepper-pulse 2.4s ease-out infinite}.stepper-step.active .stepper-title{color:var(--accent-color);font-weight:600}.stepper-step.active .stepper-desc{opacity:.8}.stepper-step.completed .stepper-indicator{border-color:var(--accent-color);background:var(--accent-color);color:#fff;animation:stepper-complete-pop .35s ease-out}.stepper-step.completed .stepper-indicator .icon-svg{animation:stepper-check-in .3s ease-out .05s both}.stepper-step.completed .stepper-title{color:var(--primary-text)}.stepper-step.error .stepper-indicator{border-color:var(--error);background:color-mix(in srgb, var(--error) 10%, var(--background));color:var(--error);animation:none}.stepper-step.error .stepper-title{color:var(--error)}.stepper-step.error .stepper-desc{color:var(--error);opacity:.7}.stepper-vertical{flex-direction:column}.stepper-vertical .stepper-step{flex-direction:row;align-items:flex-start;gap:1rem}.stepper-vertical .stepper-label{align-items:flex-start;text-align:left;padding-top:calc((2rem - 1.15rem)/2)}.stepper-vertical .stepper-connector{width:2px;height:auto;min-height:1.5rem;min-width:unset;flex:unset;margin-top:0;margin-left:calc(2rem/2 - 2px/2);align-self:flex-start;border-radius:2px}.stepper-vertical .stepper-connector::after{transform:scaleY(0);transform-origin:top}.stepper-vertical .stepper-connector.completed::after{transform:scaleY(1)}.stepper-clickable .stepper-step.completed,.stepper-clickable .stepper-step.active{cursor:pointer}.stepper-clickable .stepper-step.completed .stepper-indicator,.stepper-clickable .stepper-step.active .stepper-indicator{transition:background .3s ease,border-color .3s ease,color .3s ease,transform .2s ease,box-shadow .2s ease}.stepper-clickable .stepper-step.completed:hover .stepper-indicator,.stepper-clickable .stepper-step.active:hover .stepper-indicator{transform:scale(1.12);box-shadow:0 2px 8px color-mix(in srgb, var(--accent-color) 25%, transparent)}.stepper-clickable .stepper-step.completed:active .stepper-indicator,.stepper-clickable .stepper-step.active:active .stepper-indicator{transform:scale(1.04)}@media(max-width: 480px){.stepper:not(.stepper-vertical) .stepper-label{display:none}.stepper:not(.stepper-vertical) .stepper-connector{min-width:.5rem}}ul.tree{list-style:none}ul.tree li{list-style:none}.tree-node{position:relative;margin:.25rem 0}.tree-item{position:relative;display:flex;align-items:center;min-height:3rem;padding:.875rem 1rem;cursor:pointer;user-select:none;overflow:hidden;border:1px solid rgba(0,0,0,0);border-radius:.8rem;transition:background .2s ease,border-color .2s ease;-webkit-tap-highlight-color:rgba(0,0,0,0)}.tree-item::before{content:"";position:absolute;inset:0;background:var(--secondary-background);opacity:0;transition:opacity .2s ease}.tree-item:hover:not(.selected)::before{opacity:1}.tree-item.selected{background:var(--accent-color);border-color:var(--accent-color)}.tree-item.selected .tree-label{color:var(--accent-color-text)}.tree-item.selected .tree-icon svg{stroke:var(--accent-color-text)}.tree-item.expanded>.tree-icon svg.chevron{transform:rotate(90deg)}.tree-item.file .tree-label{color:var(--secondary-text);font-weight:400}.tree-icon{position:relative;z-index:1;width:24px;height:24px;margin-right:.75rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tree-icon svg{width:100%;height:100%;stroke:var(--primary-text);stroke-width:2;fill:none;transition:transform .3s cubic-bezier(0.16, 1, 0.3, 1)}.tree-label{position:relative;z-index:1;flex:1;font-family:"JetBrains Mono",ui-monospace,"Cascadia Code","Fira Code",monospace;font-size:.9375rem;font-weight:500;letter-spacing:-0.3px;color:var(--primary-text)}.tree-children{list-style:none;margin-left:1rem;padding-left:1rem;border-left:2px solid var(--divider);height:0;overflow:hidden;opacity:0;transition:height .35s cubic-bezier(0.16, 1, 0.3, 1),opacity .25s ease}.tree-children.expanded{opacity:1;margin-top:.25rem;margin-bottom:.25rem}@media(max-width: 768px){.tree-item{min-height:3.5rem;padding:1rem}.tree-icon{width:28px;height:28px}.tree-label{font-size:1rem}.tree-children{margin-left:.75rem;padding-left:.75rem}}.container{max-width:800px;margin:0 auto}.datepicker{background:var(--background);border:1px solid var(--divider);border-radius:.4rem;width:320px;padding:1rem;user-select:none;box-shadow:0 1px 2px rgba(56,65,74,.15);display:none;position:absolute;z-index:1000;box-sizing:border-box}.datepicker.visible{display:block}.datepicker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.datepicker-nav{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:.4rem;color:var(--primary-text);transition:background-color .2s}.datepicker-nav:hover{background-color:var(--accent-color-lighten);color:var(--accent-color-text)}.datepicker-title{display:flex;gap:.5rem;font-weight:600}.datepicker-select{border:none;background:none;font-family:inherit;font-weight:600;font-size:1rem;cursor:pointer;padding:.25rem;border-radius:.25rem}.datepicker-select:hover{background-color:var(--accent-color-lighten)}.datepicker-grid{display:grid;grid-template-columns:repeat(7, 1fr);gap:.25rem;text-align:center}.datepicker-day-header{font-size:.875rem;color:var(--text-muted);font-weight:500;padding:.5rem 0}.datepicker-day{padding:.5rem 0;font-size:1rem;cursor:pointer;border-radius:.4rem;transition:all .2s}.datepicker-day:hover:not(.disabled){background-color:var(--accent-color-lighten)}.datepicker-day.other-month{color:var(--disabled)}.datepicker-day.selected{background-color:var(--accent-color);color:var(--accent-color-text)}.datepicker-day.in-range{background-color:var(--accent-color-lighten);color:var(--accent-color-text);border-radius:0}.datepicker-day.range-start{background-color:var(--accent-color);color:var(--accent-color-text);border-top-left-radius:.4rem;border-bottom-left-radius:.4rem}.datepicker-day.range-end{background-color:var(--accent-color);color:var(--accent-color-text);border-top-right-radius:.4rem;border-bottom-right-radius:.4rem}.datepicker-day.today{font-weight:bold;color:var(--accent-color)}.datepicker-day.selected.today{color:var(--accent-color-text)}.datepicker-grid-months,.datepicker-grid-years{display:grid;grid-template-columns:repeat(3, 1fr);gap:.5rem;text-align:center;padding:.5rem 0}.datepicker-month,.datepicker-year{padding:.75rem .25rem;font-size:.9rem;cursor:pointer;border-radius:.4rem;transition:all .2s}.datepicker-month:hover,.datepicker-year:hover{background-color:var(--accent-color-lighten)}.datepicker-month.selected,.datepicker-year.selected{background-color:var(--accent-color);color:var(--accent-color-text)}.datepicker-month.current,.datepicker-year.current{font-weight:bold;color:var(--accent-color)}.datepicker-month.selected.current,.datepicker-year.selected.current{color:var(--accent-color-text)}.datepicker-title-btn{background:none;border:none;font-family:inherit;font-weight:600;font-size:1rem;cursor:pointer;padding:.25rem .5rem;border-radius:.4rem;color:var(--primary-text);transition:background-color .2s}.datepicker-title-btn:hover{background-color:var(--accent-color-lighten)}.datepicker-time{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--divider);margin-top:1rem;padding-top:1rem}.datepicker-time-label{font-size:.875rem;font-weight:600;color:var(--primary-text)}.datepicker-time-controls{display:flex;align-items:center;gap:.25rem}.datepicker-time-separator{font-size:1.1rem;font-weight:600;color:var(--primary-text);padding:0 .125rem}.datepicker-time-spinner{display:flex;flex-direction:column;align-items:center;gap:.125rem}.datepicker-time-btn{background:none;border:1px solid var(--divider);border-radius:.4rem;cursor:pointer;padding:.125rem .5rem;font-size:.6rem;line-height:1;color:var(--primary-text);transition:background-color .2s}.datepicker-time-btn:hover{background-color:var(--accent-color-lighten);color:var(--accent-color-text)}.datepicker-time-display{width:2.5rem;text-align:center;font-size:1rem;font-weight:600;font-family:inherit;border:1px solid var(--divider);border-radius:.4rem;padding:.25rem 0;background:var(--background);color:var(--primary-text);-moz-appearance:textfield}.datepicker-time-display::-webkit-inner-spin-button,.datepicker-time-display::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.datepicker-time-display:focus{outline:2px solid var(--accent-color);outline-offset:-1px}.datepicker-set-btn{width:100%;padding:.5rem 1rem;margin-top:1rem;background-color:var(--accent-color);color:var(--accent-color-text);border:none;border-radius:.4rem;font-family:inherit;font-size:.875rem;font-weight:600;cursor:pointer;transition:opacity .2s}.datepicker-set-btn:hover{opacity:.9}@media(max-width: 640px){.datepicker-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:999;display:none}.datepicker-backdrop.visible{display:block}.datepicker.mobile{position:fixed;top:auto;bottom:0;left:0;width:100%;max-width:100%;border-radius:.4rem .4rem 0 0;box-shadow:0 1px 2px rgba(56,65,74,.15);animation:slideUp .3s ease-out;transform:none !important}@keyframes slideUp{from{transform:translateY(100%)}to{transform:translateY(0)}}.datepicker{width:100%;max-width:320px}.datepicker-day{padding:.75rem 0}}.flyout-menu,.flyout-overlay,.site-header,.main-content{--flyout-text: #f8fafc;--flyout-bg: rgba(15, 23, 42, 0.7);--flyout-border: rgba(255, 255, 255, 0.1)}:root{--menu-width: 320px;--transition-speed: 0.4s}*{box-sizing:border-box;margin:0;padding:0}body{overflow-x:hidden;min-height:100vh}.site-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;position:relative;z-index:10}.logo{font-size:1.5rem;font-weight:700;letter-spacing:-0.02em}.menu-trigger{background:none;border:none;color:var(--flyout-text);cursor:pointer;padding:.5rem;transition:transform .2s}.menu-trigger:hover{transform:scale(1.1);color:var(--accent-color)}.main-content{display:flex;flex-direction:column;align-items:center;justify-content:center;height:80vh;text-align:center;padding:2rem}.main-content h1{font-size:3rem;margin-bottom:1rem;background:linear-gradient(to right, #c084fc, #6366f1);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0)}.main-content p{color:#94a3b8;font-size:1.2rem}.flyout-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:opacity var(--transition-speed),visibility var(--transition-speed);z-index:200}.flyout-overlay.is-visible{opacity:1;visibility:visible}.flyout-menu{position:fixed;background:var(--flyout-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:210;display:flex;flex-direction:column;padding:2rem;box-shadow:0 0 30px rgba(0,0,0,.5);transition:transform var(--transition-speed) cubic-bezier(0.25, 1, 0.5, 1)}.flyout-from-right{top:0;right:0;width:var(--menu-width);height:100%;border-left:1px solid var(--flyout-border);transform:translateX(100%)}.flyout-from-left{top:0;left:0;width:var(--menu-width);height:100%;border-right:1px solid var(--flyout-border);transform:translateX(-100%)}.flyout-menu.is-open{transform:translate(0, 0)}.flyout-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:3rem}.flyout-title{font-size:1.25rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.1em}.close-menu{background:none;border:none;color:var(--flyout-text);cursor:pointer;padding:.5rem;transition:transform .2s,color .2s}.close-menu:hover{transform:rotate(90deg);color:var(--accent-color)}.flyout-links{list-style:none;flex-grow:1}.flyout-links li{margin-bottom:1.5rem;overflow:hidden}.flyout-links a,.submenu-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;font-size:2rem;font-weight:600;color:var(--flyout-text);text-decoration:none;cursor:pointer;font-family:inherit;padding:0;transform:translateY(100%);transition:transform .4s cubic-bezier(0.16, 1, 0.3, 1),color .2s;transition-delay:var(--delay);text-align:left}.flyout-menu.is-open .flyout-links a,.flyout-menu.is-open .submenu-toggle{transform:translateY(0)}.flyout-links a:hover,.submenu-toggle:hover{color:var(--accent-color)}.chevron{transition:transform .3s;opacity:.7}.submenu-toggle.active .chevron{transform:rotate(180deg)}.submenu{list-style:none;max-height:0;overflow:hidden;transition:max-height .3s ease-out;padding-left:1rem;border-left:1px solid hsla(0,0%,100%,.1);margin-top:0}.submenu.is-open{max-height:500px;margin-top:1rem;transition:max-height .4s cubic-bezier(0.16, 1, 0.3, 1)}.submenu li{margin-bottom:.5rem}.submenu a{font-size:1.25rem;font-weight:400;color:#cbd5e1;transform:none !important;transition-delay:0s !important}.submenu .submenu-toggle{font-size:1.25rem;font-weight:400;color:#cbd5e1;transform:none !important;transition-delay:0s !important;padding:0;margin:0}.flyout-footer{padding-top:2rem;border-top:1px solid var(--flyout-border);color:#64748b;font-size:.9rem;opacity:0;transform:translateY(20px);transition:opacity .4s,transform .4s;transition-delay:var(--delay)}.flyout-menu.is-open .flyout-footer{opacity:1;transform:translateY(0)}@media(max-width: 480px){:root{--menu-width: 100%}.main-content h1{font-size:2rem}.flyout-from-right,.flyout-from-left,.flyout-from-top{width:100% !important;height:100% !important;top:0 !important;left:0 !important;right:auto !important;bottom:auto !important;border:none !important;border-right:1px solid var(--flyout-border) !important;transform:translateX(-100%) !important}.flyout-from-right,.flyout-from-left,.flyout-from-top{transform:translateX(-100%) !important}.flyout-menu.is-open{transform:translate(0, 0) !important}.flyout-from-top .flyout-links{flex-direction:column;align-items:stretch;gap:0}.flyout-from-top .flyout-links>li{margin-bottom:1.5rem}.flyout-from-top .flyout-links>li>a,.flyout-from-top .flyout-links>li>.submenu-toggle{font-size:2rem;justify-content:space-between}.flyout-from-top .submenu{position:static;transform:none;margin-top:0;min-width:100%;box-shadow:none;border:none;background:rgba(0,0,0,0);padding-left:1rem;border-left:1px solid hsla(0,0%,100%,.1);text-align:left}.flyout-from-top .submenu.is-open{transform:none;margin-top:1rem}.flyout-from-top .submenu a{font-size:1.25rem;justify-content:space-between}}.tabs-container{display:flex;flex-direction:column;overflow:hidden}.tabs-container li{list-style:none}.tabs-container.tabs-vertical{flex-direction:row;min-height:300px}.tabs-header{border-bottom:1px solid var(--divider)}.tabs-list{display:flex;margin:0;padding:0;overflow-x:auto;scrollbar-width:none}.tabs-list::-webkit-scrollbar{display:none}.tab-item{padding:.75rem 1.25rem;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--secondary-text);white-space:nowrap;user-select:none;transition:color .15s ease,border-color .15s ease;border-bottom:2px solid rgba(0,0,0,0)}.tab-item:hover{color:var(--accent-color)}.tab-item.active{color:var(--accent-color);font-weight:600;border-bottom-color:var(--accent-color)}.tabs-content{padding:1.5rem}.tab-panel{display:none}.tab-panel.active{display:block}.tabs-container.tabs-vertical .tabs-header{border-bottom:none;border-right:1px solid var(--divider);min-width:200px}.tabs-container.tabs-vertical .tabs-list{flex-direction:column}.tabs-container.tabs-vertical .tab-item{width:100%;box-sizing:border-box;border-bottom:none;border-left:2px solid rgba(0,0,0,0)}.tabs-container.tabs-vertical .tab-item.active{border-left-color:var(--accent-color);font-weight:600}.tabs-container.tabs-vertical .tabs-content{flex:1}.tabs-container.tabs-pills .tabs-header{border-bottom:none;padding-bottom:.5rem}.tabs-container.tabs-pills .tabs-list{gap:.375rem}.tabs-container.tabs-pills .tab-item{border-bottom:none;border-radius:2rem;padding:.4rem 1rem;background:rgba(0,0,0,0)}.tabs-container.tabs-pills .tab-item:hover{background:var(--hover);color:var(--primary-text)}.tabs-container.tabs-pills .tab-item.active{background:var(--accent-color);color:#fff;border-bottom-color:rgba(0,0,0,0)}@media(max-width: 768px){.tabs-container.tabs-vertical{flex-direction:column}.tabs-container.tabs-vertical .tabs-header{width:100%;border-right:none;border-bottom:1px solid var(--divider)}.tabs-container.tabs-vertical .tabs-list{flex-direction:row;overflow-x:auto}.tabs-container.tabs-vertical .tab-item{width:auto;flex-shrink:0;border-left:none;border-bottom:2px solid rgba(0,0,0,0)}.tabs-container.tabs-vertical .tab-item.active{border-bottom-color:var(--accent-color)}}.accordion{margin:0 auto;border:1px solid var(--divider);border-radius:.4rem;overflow:hidden}.accordion-item{border-bottom:1px solid var(--divider)}.accordion-item:last-child{border-bottom:none}.accordion-toggle{display:none}.accordion-header{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1.25rem;background:rgba(0,0,0,0);font-weight:500;cursor:pointer;transition:background 160ms ease,color 160ms ease;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.accordion-header:hover{background:var(--hover)}.accordion-header:active{background:var(--hover)}.accordion-header::after{content:"";width:8px;height:8px;border-right:1.5px solid var(--secondary-text);border-bottom:1.5px solid var(--secondary-text);transform:rotate(45deg);transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),border-color 160ms ease;margin-left:1rem;flex-shrink:0}.accordion-toggle:checked+.accordion-header{color:var(--accent-color)}.accordion-toggle:checked+.accordion-header::after{transform:rotate(-135deg);border-color:var(--accent-color)}.accordion-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows 300ms cubic-bezier(0.4, 0, 0.2, 1);overflow:hidden}.accordion-toggle:checked~.accordion-content{grid-template-rows:1fr}.accordion-body{min-height:0;padding:0;overflow:hidden}.accordion-body>*{padding:0 1.25rem 1.25rem;color:var(--secondary-text);font-size:.9rem;line-height:1.6}.timeline{position:relative;list-style:none;padding:0;margin:0}.timeline::before{content:"";position:absolute;left:calc(.625rem - 1px);top:0;bottom:0;width:2px;background:var(--divider)}.timeline-item{display:flex;gap:1.25rem;align-items:flex-start;margin-bottom:2rem;position:relative}.timeline-item:last-child{margin-bottom:0}.timeline-marker{flex-shrink:0;width:1.25rem;height:1.25rem;border-radius:50%;border:2px solid var(--divider);background:var(--background);display:flex;align-items:center;justify-content:center;color:var(--secondary-text);position:relative;z-index:1;margin-top:.15rem}.timeline-marker.success{border-color:var(--success);background:var(--success);color:#fff}.timeline-marker.warning{border-color:var(--warning);background:var(--warning);color:#fff}.timeline-marker.error{border-color:var(--error);background:var(--error);color:#fff}.timeline-marker.accent{border-color:var(--accent-color);background:var(--accent-color);color:#fff}.timeline-marker svg{display:block}.timeline-content{flex:1;min-width:0;padding:1.25rem;border:1px solid var(--divider);border-radius:.4rem;background:var(--background);box-shadow:0 1px 2px rgba(56,65,74,.15)}.timeline-time{display:block;font-size:.78rem;font-weight:600;color:var(--secondary-text);margin-bottom:.2rem}.timeline-title{font-size:.95rem;font-weight:600;color:var(--primary-text);margin:0 0 .3rem}.timeline-content p{font-size:.875rem;line-height:1.6;color:var(--secondary-text);margin:0}:root{--bubble-radius: 18px}.chat{display:flex;flex-direction:column;gap:.4rem;padding:1rem;width:100%}.chat-message.incoming+.chat-message.outgoing,.chat-message.outgoing+.chat-message.incoming{margin-top:.5rem}.chat-message{display:flex;align-items:flex-end;gap:.6rem}.chat-message.outgoing{flex-direction:row-reverse}.chat-message.outgoing .chat-bubble{background:var(--accent-color);color:#fff;border-bottom-right-radius:0;filter:drop-shadow(0 1px 2px rgba(0, 0, 0, 0.15))}.chat-message.outgoing .chat-bubble::after{content:"";position:absolute;bottom:0;right:-8px;width:8px;height:8px;background:var(--accent-color);clip-path:polygon(0% 0%, 0% 100%, 100% 100%)}.chat-message.outgoing .chat-bubble .chat-time{color:hsla(0,0%,100%,.65)}.chat-message.incoming .chat-bubble{background:var(--secondary-background);color:var(--primary-text);border-bottom-left-radius:0;filter:drop-shadow(0 1px 2px rgba(0, 0, 0, 0.08))}.chat-message.incoming .chat-bubble::after{content:"";position:absolute;bottom:0;left:-8px;width:8px;height:8px;background:var(--secondary-background);clip-path:polygon(100% 0%, 0% 100%, 100% 100%)}.chat-avatar{flex-shrink:0;width:2rem;height:2rem;border-radius:50%;background:var(--accent-color-tint);color:var(--accent-color);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;overflow:hidden}.chat-avatar img{width:100%;height:100%;object-fit:cover}.chat-bubble{position:relative;max-width:72%;padding:.55rem .85rem;border-radius:var(--bubble-radius);line-height:1.45;word-wrap:break-word}.chat-bubble p{margin:0;font-size:.9rem}.chat-time{display:block;font-size:.68rem;letter-spacing:.01em;text-align:right;margin-top:4px;opacity:.5;color:inherit}[data-theme=dark] .chat-message.incoming .chat-bubble{filter:drop-shadow(0 1px 3px rgba(0, 0, 0, 0.35))}[data-theme=dark] .chat-message.outgoing .chat-bubble{filter:drop-shadow(0 1px 3px rgba(0, 0, 0, 0.4))}.carousel{position:relative;width:100%;margin:0 auto;overflow:hidden;border-radius:.4rem;box-shadow:0 1px 2px rgba(56,65,74,.15);background:var(--secondary-background)}.carousel::after{content:"";position:absolute;bottom:0;left:0;right:0;height:96px;background:linear-gradient(to top, rgba(0, 0, 0, 0.38), transparent);pointer-events:none;z-index:5}.carousel-track-container{overflow:hidden;width:100%}.carousel-track{display:flex;transition:transform .4s cubic-bezier(0.25, 0.46, 0.45, 0.94);width:100%;padding:0;margin:0;list-style:none}.carousel-slide{min-width:100%;box-sizing:border-box;min-height:400px;display:flex;align-items:center;justify-content:center;font-size:2rem;user-select:none}.carousel-button{position:absolute;top:50%;transform:translateY(-50%);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;width:2.5rem;height:2.5rem;border-radius:50%;border:none;background:rgba(0,0,0,.32);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:hsla(0,0%,100%,.92);opacity:.85;transition:background .2s ease,transform .2s ease,opacity .2s ease;-webkit-tap-highlight-color:rgba(0,0,0,0)}.carousel-button .icon{font-size:1.5rem;line-height:1}.carousel-button:hover{background:rgba(0,0,0,.55);opacity:1;transform:translateY(-50%) scale(1.08)}.carousel-button:active{transform:translateY(-50%) scale(0.93)}.carousel-button--left{left:.75rem}.carousel-button--right{right:.75rem}.carousel-nav{display:flex;align-items:center;justify-content:center;padding:.75rem 0;position:absolute;bottom:0;width:100%;z-index:10}.carousel-indicator{padding:0;border:none;width:.5rem;height:4px;background:hsla(0,0%,100%,.4);margin:0 .2rem;border-radius:99px;cursor:pointer;transition:width .35s cubic-bezier(0.25, 0.46, 0.45, 0.94),background .25s ease}.carousel-indicator.current-slide{width:1.5rem;background:#fff}.code-display{background:#1e1e1e;border-radius:.4rem;overflow:hidden;margin:1.25rem 0;box-shadow:0 1px 2px rgba(56,65,74,.15)}.code-header{background:#2d2d2d;padding:.6rem 1rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #3d3d3d}.code-language{color:#888;font-size:.75rem;text-transform:uppercase;font-weight:600}.copy-button{background:#4a4a4a;color:#fff;border:none;padding:.375rem .75rem;border-radius:.2rem;cursor:pointer;font-size:.75rem;transition:background .2s}.copy-button:hover{background:#5a5a5a}.copy-button.copied{background:var(--success)}.code-content{padding:1rem;overflow-x:auto}.code-content pre{margin:0;font-family:"Courier New",Courier,monospace;font-size:.875rem;line-height:1.5;color:#d4d4d4}.keyword{color:#569cd6}.string{color:#ce9178}.comment{color:#6a9955;font-style:italic}.function{color:#dcdcaa}.number{color:#b5cea8}.property{color:#9cdcfe}.tag{color:#4ec9b0}.attribute{color:#9cdcfe}.selector{color:#d7ba7d}.punctuation{color:#d4d4d4}@keyframes fileSlideIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.file-uploader .header h2{font-size:1.25rem;font-weight:600;margin-bottom:.25rem}.file-uploader .header p{color:var(--secondary-text);font-size:.875rem}.file-uploader .drop-zone{border:2px dashed var(--divider);border-radius:.4rem;padding:2rem 1rem;text-align:center;cursor:pointer;transition:border-color .2s ease,background-color .2s ease;background-color:var(--background)}.file-uploader .drop-zone:hover,.file-uploader .drop-zone.drag-over{border-color:var(--accent-color);background-color:color-mix(in srgb, var(--accent-color) 6%, var(--background))}.file-uploader .drop-zone-content{display:flex;flex-direction:column;align-items:center;gap:.5rem;pointer-events:none}.file-uploader .icon-container{width:40px;height:40px;border-radius:50%;background-color:color-mix(in srgb, var(--accent-color) 12%, var(--background));color:var(--accent-color);display:flex;align-items:center;justify-content:center;margin-bottom:.5rem}.file-uploader .primary-text{font-weight:500;color:var(--accent-color);font-size:.875rem}.file-uploader .secondary-text{color:var(--secondary-text);font-size:.75rem}.file-uploader .file-list{display:flex;flex-direction:column;gap:.75rem;max-height:300px;overflow-y:auto;margin-top:1rem}.file-uploader .file-item{display:flex;flex-direction:column;padding:.75rem;background-color:var(--secondary-background);border:1px solid var(--divider);border-radius:.4rem;animation:fileSlideIn .2s ease-out;gap:.75rem}.file-uploader .file-item-header{display:flex;align-items:center;justify-content:space-between;width:100%}.file-uploader .file-info{display:flex;align-items:center;gap:.75rem;overflow:hidden}.file-uploader .file-icon{color:var(--secondary-text);flex-shrink:0}.file-uploader .file-details{display:flex;flex-direction:column;overflow:hidden}.file-uploader .file-name{font-size:.875rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-uploader .file-size{font-size:.75rem;color:var(--secondary-text)}.file-uploader .remove-btn{flex-shrink:0;background:none;border:none;color:var(--secondary-text);cursor:pointer;padding:.25rem;border-radius:.2rem;transition:color .15s ease,background-color .15s ease;display:flex;align-items:center;justify-content:center}.file-uploader .remove-btn:hover{color:var(--error);background-color:color-mix(in srgb, var(--error) 10%, var(--background))}.file-uploader .progress-container{width:100%;height:4px;background-color:var(--divider);border-radius:.2rem;overflow:hidden;display:none}.file-uploader .progress-bar{height:100%;background-color:var(--accent-color);width:0%;transition:width .3s ease,background-color .3s ease}.file-uploader .status-text{font-size:.75rem;color:var(--secondary-text);text-align:right;display:none}.file-uploader .status-text.error{color:var(--error)}.file-uploader .status-text.success{color:var(--success)}@media(max-width: 480px){.file-uploader .drop-zone{padding:1.5rem 1rem}}.masonry-container{display:flex;gap:1rem;align-items:flex-start;width:100%}.masonry-column{display:flex;flex-direction:column;gap:1rem;flex:1;min-width:0}.masonry-item{background-color:var(--secondary-background);border-radius:.4rem;overflow:hidden;box-shadow:0 1px 2px rgba(56,65,74,.15);transition:transform .3s cubic-bezier(0.2, 0, 0, 1),box-shadow .3s cubic-bezier(0.2, 0, 0, 1);position:relative;cursor:pointer}.masonry-item:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.1),0 2px 8px rgba(0,0,0,.06)}.masonry-item:hover img.loaded{transform:scale(1.03)}.masonry-item:active{transform:translateY(-1px);transition-duration:.1s}.masonry-item:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.masonry-item img{width:100%;height:auto;display:block;object-fit:cover;opacity:0;transform:scale(1.06);filter:blur(4px);transition:opacity .5s ease,transform .6s cubic-bezier(0.2, 0, 0, 1),filter .5s ease}.masonry-item img.loaded{opacity:1;transform:scale(1);filter:blur(0)}.masonry-item-info{padding:.75rem 1rem;border-top:1px solid var(--divider)}.masonry-item-title{margin:0 0 .25rem;font-size:.9375rem;font-weight:600;color:var(--primary-text);line-height:1.3}.masonry-item-desc{margin:0;font-size:.8125rem;color:var(--secondary-text);line-height:1.5}.loader{text-align:center;padding:2.5rem;color:var(--secondary-text);font-size:.8125rem}@media(prefers-reduced-motion: no-preference){.masonry-item{animation:masonry-in .4s cubic-bezier(0.2, 0, 0, 1) both}.masonry-column .masonry-item:nth-child(1){animation-delay:0.04s}.masonry-column .masonry-item:nth-child(2){animation-delay:0.08s}.masonry-column .masonry-item:nth-child(3){animation-delay:0.12s}.masonry-column .masonry-item:nth-child(4){animation-delay:0.16s}.masonry-column .masonry-item:nth-child(5){animation-delay:0.2s}.masonry-column .masonry-item:nth-child(6){animation-delay:0.24s}.masonry-column .masonry-item:nth-child(7){animation-delay:0.28s}.masonry-column .masonry-item:nth-child(8){animation-delay:0.32s}.masonry-column .masonry-item:nth-child(9){animation-delay:0.36s}.masonry-column .masonry-item:nth-child(10){animation-delay:0.4s}.masonry-column .masonry-item:nth-child(11){animation-delay:0.44s}.masonry-column .masonry-item:nth-child(12){animation-delay:0.48s}.masonry-column .masonry-item:nth-child(13){animation-delay:0.52s}.masonry-column .masonry-item:nth-child(14){animation-delay:0.56s}.masonry-column .masonry-item:nth-child(15){animation-delay:0.6s}.masonry-column .masonry-item:nth-child(16){animation-delay:0.64s}.masonry-column .masonry-item:nth-child(17){animation-delay:0.68s}.masonry-column .masonry-item:nth-child(18){animation-delay:0.72s}.masonry-column .masonry-item:nth-child(19){animation-delay:0.76s}.masonry-column .masonry-item:nth-child(20){animation-delay:0.8s}}@keyframes masonry-in{from{opacity:0;transform:translateY(16px) scale(0.97)}to{opacity:1;transform:translateY(0) scale(1)}}.dropdown-container{position:relative;display:inline-block}.dropdown-container.active>.dropdown-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.dropdown-container .dropdown-menu{position:absolute;top:100%;left:0;margin-top:6px;background:var(--background);border:1px solid var(--divider);border-radius:.4rem;box-shadow:0 4px 16px rgba(0,0,0,.1),0 1px 4px rgba(0,0,0,.06);min-width:220px;padding:.5rem 0;list-style:none;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease;z-index:100}.dropdown-container .dropdown-menu li{position:relative;list-style:none}.dropdown-container .dropdown-menu li.open>.dropdown-item{background-color:var(--secondary-background);color:var(--accent-color)}.dropdown-container .dropdown-menu li.open>.dropdown-item.has-children::after{transform:rotate(45deg)}.dropdown-container .dropdown-menu li.open>ul{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(0)}.dropdown-container .dropdown-menu ul{position:absolute;top:0;left:100%;margin-left:4px;background-color:var(--background);border:1px solid var(--divider);border-radius:.4rem;box-shadow:0 4px 16px rgba(0,0,0,.1),0 1px 4px rgba(0,0,0,.06);min-width:220px;padding:.5rem 0;list-style:none;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(-8px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease}.dropdown-container .dropdown-item{display:flex;justify-content:space-between;align-items:center;padding:.6rem 1rem;color:var(--primary-text);text-decoration:none;font-size:.875rem;cursor:pointer;transition:background-color .15s ease,color .15s ease;user-select:none}.dropdown-container .dropdown-item:hover{background-color:var(--secondary-background);color:var(--accent-color)}.dropdown-container .dropdown-item.has-children::after{content:"";display:inline-block;flex-shrink:0;width:.35rem;height:.35rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);margin-left:.5rem;transition:transform .2s ease}@media(max-width: 768px){.dropdown-container .dropdown-menu{width:100%;min-width:250px}.dropdown-container .dropdown-menu ul{position:static;box-shadow:none;border:none;border-left:2px solid var(--divider);border-radius:0;background-color:rgba(0,0,0,0);transform:none;margin-left:0;padding-left:1rem;max-height:0;overflow:hidden;opacity:1;visibility:visible;pointer-events:none;padding-top:0;padding-bottom:0;transition:max-height .25s ease,padding .25s ease}.dropdown-container .dropdown-menu li.open>ul{max-height:600px;padding-top:.25rem;padding-bottom:.25rem;pointer-events:auto}.dropdown-container .dropdown-item.has-children::after{transform:rotate(45deg)}.dropdown-container .dropdown-menu li.open>.dropdown-item.has-children::after{transform:rotate(-135deg)}}@position-try --vd-above{top:auto;bottom:anchor(top);margin-top:0;margin-bottom:6px}.custom-dropdown{position:relative;width:100%;user-select:none;display:inline-block}.custom-dropdown .dropdown-trigger{background:var(--background);border:1.5px solid var(--divider);border-radius:.6rem;padding:0 .65rem;min-height:2.6rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;box-shadow:inset 0 1.5px 4px rgba(0,0,0,.05),0 1px 2px rgba(0,0,0,.04);transition:border-color .16s ease,box-shadow .22s cubic-bezier(0.16, 1, 0.3, 1),background-color .16s ease}.custom-dropdown .dropdown-trigger:hover{border-color:color-mix(in srgb, var(--accent-color) 45%, var(--divider));box-shadow:inset 0 1.5px 4px rgba(0,0,0,.045),0 2px 8px rgba(0,0,0,.07)}.custom-dropdown .dropdown-trigger:focus{border-color:var(--accent-color);box-shadow:inset 0 1px 3px rgba(0,0,0,.03),0 0 0 3.5px color-mix(in srgb, var(--accent-color) 13%, transparent),0 2px 12px rgba(0,0,0,.06);outline:none}.custom-dropdown.open .dropdown-trigger{border-color:var(--accent-color);box-shadow:inset 0 1px 3px rgba(0,0,0,.03),0 0 0 3.5px color-mix(in srgb, var(--accent-color) 13%, transparent);outline:none}.custom-dropdown .trigger-text{color:var(--primary-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.custom-dropdown .trigger-text:not(.has-value){color:var(--secondary-text);opacity:.65}.custom-dropdown .trigger-arrow{font-size:.75em;color:var(--secondary-text);margin-left:.5rem;flex-shrink:0;display:inline-block;transition:transform .26s cubic-bezier(0.34, 1.56, 0.64, 1)}.custom-dropdown.open .trigger-arrow{transform:rotate(180deg)}.custom-dropdown .dropdown-menu{inset:unset;margin:0;padding:0;border:none;position:fixed;top:anchor(bottom);left:anchor(left);width:anchor-size(width);margin-top:6px;position-try-fallbacks:--vd-above;background:var(--background);border:1.5px solid var(--divider);border-radius:.6rem;box-shadow:0 8px 32px rgba(0,0,0,.11),0 2px 8px rgba(0,0,0,.06);transform-origin:top center;opacity:0;transform:translateY(-6px) scale(0.975);transition:opacity .2s cubic-bezier(0.16, 1, 0.3, 1),transform .2s cubic-bezier(0.16, 1, 0.3, 1),display .2s allow-discrete,overlay .2s allow-discrete}.custom-dropdown .dropdown-menu:popover-open{opacity:1;transform:translateY(0) scale(1)}@starting-style{.custom-dropdown .dropdown-menu:popover-open{opacity:0;transform:translateY(-6px) scale(0.975)}}.custom-dropdown .dropdown-search{padding:.4rem;border-bottom:1.5px solid var(--divider)}.custom-dropdown .dropdown-search input{width:100%;padding:0 .65rem;min-height:2.6rem;border:1.5px solid var(--divider);border-radius:.44rem;background:var(--background);color:var(--primary-text);box-sizing:border-box;outline:none;font-size:1rem;box-shadow:inset 0 1.5px 4px rgba(0,0,0,.05);transition:border-color .16s ease,box-shadow .22s cubic-bezier(0.16, 1, 0.3, 1)}.custom-dropdown .dropdown-search input::placeholder{color:var(--secondary-text);opacity:.65}.custom-dropdown .dropdown-search input:focus{border-color:var(--accent-color);box-shadow:inset 0 1px 3px rgba(0,0,0,.03),0 0 0 3.5px color-mix(in srgb, var(--accent-color) 13%, transparent)}.custom-dropdown .dropdown-list-wrapper{max-height:250px;overflow-y:auto;position:relative;-webkit-overflow-scrolling:touch;padding:.25rem}.custom-dropdown .dropdown-list-scroller{position:relative}.custom-dropdown .virtual-content{position:absolute;top:0;left:0;width:100%}.custom-dropdown .dropdown-item{padding:0 .65rem;cursor:pointer;box-sizing:border-box;display:flex;align-items:center;overflow:hidden;background:var(--background);color:var(--primary-text);border-radius:.44rem;font-size:.9375rem;transition:background-color .1s ease}.custom-dropdown .dropdown-item:hover{background-color:var(--hover)}.custom-dropdown .dropdown-item.selected{background-color:color-mix(in srgb, var(--accent-color) 10%, transparent);color:var(--accent-color);font-weight:500}.custom-dropdown .dropdown-item input[type=checkbox]{appearance:none;-webkit-appearance:none;flex-shrink:0;align-self:center;width:.8rem;height:.8rem;min-height:unset;max-height:.8rem;padding:0;box-shadow:none;border:1.5px solid var(--divider);border-radius:.2rem;background:var(--background);margin-right:.6rem;pointer-events:none;position:relative;transition:border-color .15s,background-color .15s}.custom-dropdown .dropdown-item input[type=checkbox]:checked{background-color:var(--accent-color);border-color:var(--accent-color)}.custom-dropdown .dropdown-item input[type=checkbox]:checked::after{content:"";position:absolute;left:50%;top:42%;width:28%;height:48%;border-right:1.5px solid #fff;border-bottom:1.5px solid #fff;transform:translate(-50%, -55%) rotate(45deg)}@media(max-width: 600px){.custom-dropdown{max-width:100%}}.timespan-picker{display:flex;align-items:stretch;background:var(--secondary-background);border:1px solid var(--divider);border-radius:.4rem;overflow:hidden;box-shadow:0 1px 2px rgba(56,65,74,.15);transition:border-color .2s ease,box-shadow .2s ease}.timespan-picker:focus-within{border-color:var(--accent-color);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-color) 12%, transparent)}.timespan-picker.is-error{border-color:var(--error)}.timespan-picker.is-error:focus-within{box-shadow:0 0 0 3px color-mix(in srgb, var(--error) 12%, transparent)}.timespan-field{flex:1;display:flex;flex-direction:column;padding:.75rem 1rem;min-width:0;position:relative}.timespan-field label{font-size:.6875rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--secondary-text);margin-bottom:.25rem;pointer-events:none;display:block;transition:color .15s ease}.timespan-field:focus-within label{color:var(--accent-color)}.timespan-picker.is-error .timespan-field-end:focus-within .timespan-field label{color:var(--error)}.timespan-field input[type=time]{border:none;box-shadow:none;background:rgba(0,0,0,0);padding:0;min-height:unset;border-radius:0;font-size:1.5rem;font-weight:700;letter-spacing:-0.02em;color:var(--primary-text);font-family:inherit;width:100%;outline:none;cursor:pointer;transition:color .15s ease}.timespan-field input[type=time]::-webkit-calendar-picker-indicator{display:none}.timespan-field input[type=time]::-webkit-datetime-edit{padding:0}.timespan-field input[type=time]::-webkit-datetime-edit-fields-wrapper{padding:0}.timespan-picker.is-error .timespan-field-end input[type=time]{color:var(--error)}.timespan-center{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 .75rem;border-left:1px solid var(--divider);border-right:1px solid var(--divider);background:var(--background);min-width:4.5rem;gap:.25rem;flex-shrink:0}.timespan-arrow{font-size:1rem;color:var(--secondary-text);line-height:1;transition:color .2s ease,transform .2s ease}.timespan-picker:focus-within .timespan-arrow{color:var(--accent-color)}.timespan-picker.is-error .timespan-arrow{color:var(--error)}.timespan-duration{font-size:.75rem;font-weight:700;color:var(--accent-color);letter-spacing:.02em;white-space:nowrap;line-height:1;min-height:.75rem;padding:2px 6px;border-radius:.8rem;background:color-mix(in srgb, var(--accent-color) 10%, transparent);transition:color .2s ease,background .2s ease,transform .25s cubic-bezier(0.2, 0, 0, 1)}.timespan-duration:empty{background:rgba(0,0,0,0);padding:0}.timespan-picker.is-error .timespan-duration{color:var(--error);background:color-mix(in srgb, var(--error) 10%, transparent)}.timespan-bar{margin-top:.5rem;height:6px;background:var(--divider);border-radius:99px;overflow:visible;position:relative}.timespan-bar-fill{position:absolute;left:0;width:0;height:100%;background:var(--accent-color);border-radius:inherit;transition:left .3s cubic-bezier(0.2, 0, 0, 1),width .3s cubic-bezier(0.2, 0, 0, 1)}.timespan-bar-fill::before,.timespan-bar-fill::after{content:"";position:absolute;top:50%;width:12px;height:12px;border-radius:50%;background:var(--accent-color);border:2px solid var(--background);transform:translateY(-50%);transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 1px 3px rgba(0,0,0,.15);opacity:0}.timespan-bar-fill::before{left:-6px}.timespan-bar-fill::after{right:-6px}.timespan-bar-fill[style*=width]:not([style*="width: 0"]):not([style*="width:0"])::before,.timespan-bar-fill[style*=width]:not([style*="width: 0"]):not([style*="width:0"])::after{opacity:1}.timespan-picker.is-error~.timespan-bar .timespan-bar-fill{background:var(--error)}.timespan-picker.is-error~.timespan-bar .timespan-bar-fill::before,.timespan-picker.is-error~.timespan-bar .timespan-bar-fill::after{background:var(--error)}@media(prefers-reduced-motion: no-preference){.timespan-picker.is-error{animation:timespan-shake .35s cubic-bezier(0.2, 0, 0, 1)}}@keyframes timespan-shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-4px)}40%{transform:translateX(4px)}60%{transform:translateX(-2px)}80%{transform:translateX(2px)}}@media(max-width: 480px){.timespan-picker{flex-direction:column}.timespan-center{flex-direction:row;justify-content:space-between;border-left:none;border-right:none;border-top:1px solid var(--divider);border-bottom:1px solid var(--divider);padding:.5rem 1rem;min-width:unset}.timespan-arrow{transform:rotate(90deg)}.timespan-field input[type=time]{font-size:2rem}}.range-slider{width:100%}.range-slider input[type=range]{-webkit-appearance:none;appearance:none;width:100%;background:rgba(0,0,0,0);cursor:pointer;padding:.5rem 0;margin:0;display:block;min-height:auto;border:none;box-shadow:none;outline:none}.range-slider input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:linear-gradient(to right, var(--accent-color) var(--range-fill, 0%), var(--divider) var(--range-fill, 0%))}.range-slider input[type=range]::-moz-range-track{height:4px;border-radius:4px;background:var(--divider)}.range-slider input[type=range]::-moz-range-progress{height:4px;border-radius:4px;background:var(--accent-color)}.range-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--accent-color);border:2px solid var(--background);margin-top:calc((1.1rem - 4px)/-2);box-shadow:0 1px 4px rgba(0,0,0,.2);transition:transform .15s ease,box-shadow .15s ease}.range-slider input[type=range]::-moz-range-thumb{width:1.1rem;height:1.1rem;border-radius:50%;background:var(--accent-color);border:2px solid var(--background);box-shadow:0 1px 4px rgba(0,0,0,.2);transition:transform .15s ease,box-shadow .15s ease;cursor:pointer}.range-slider input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.15);box-shadow:0 0 0 6px color-mix(in srgb, var(--accent-color) 15%, transparent)}.range-slider input[type=range]:hover::-moz-range-thumb{transform:scale(1.15);box-shadow:0 0 0 6px color-mix(in srgb, var(--accent-color) 15%, transparent)}.range-slider input[type=range]:active::-webkit-slider-thumb{transform:scale(1.22);box-shadow:0 0 0 9px color-mix(in srgb, var(--accent-color) 18%, transparent)}.range-slider input[type=range]:active::-moz-range-thumb{transform:scale(1.22);box-shadow:0 0 0 9px color-mix(in srgb, var(--accent-color) 18%, transparent)}.range-slider input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px color-mix(in srgb, var(--accent-color) 25%, transparent)}.range-slider input[type=range]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px color-mix(in srgb, var(--accent-color) 25%, transparent)}.range-slider input[type=range]:disabled{cursor:not-allowed}.range-slider input[type=range]:disabled::-webkit-slider-runnable-track{background:var(--divider)}.range-slider input[type=range]:disabled::-webkit-slider-thumb{background:var(--disabled);border-color:var(--secondary-background);box-shadow:none;transform:none}.range-slider input[type=range]:disabled::-moz-range-track{background:var(--divider)}.range-slider input[type=range]:disabled::-moz-range-progress{background:var(--disabled)}.range-slider input[type=range]:disabled::-moz-range-thumb{background:var(--disabled);border-color:var(--secondary-background);box-shadow:none;transform:none;cursor:not-allowed}.editor{background:var(--secondary-background);border:1px solid var(--divider);border-radius:.4rem;box-shadow:0 2px 8px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);display:flex;flex-direction:column;overflow:hidden}.editor-toolbar{display:flex;align-items:center;gap:.25rem;padding:.375rem .5rem;border-bottom:1px solid var(--divider);background:var(--secondary-background);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.editor-toolbar::-webkit-scrollbar{display:none}.editor-toolbar .icon-svg{fill:currentColor;display:block;width:1.125rem;height:1.125rem;pointer-events:none;flex-shrink:0}.editor-toolbar button{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:.24rem;background:rgba(0,0,0,0);color:var(--secondary-text);cursor:pointer;font-size:.75rem;font-weight:800;letter-spacing:-0.03em;transition:background .1s ease,color .1s ease;flex-shrink:0;position:relative}.editor-toolbar button:hover{background:var(--divider);color:var(--primary-text)}.editor-toolbar button:active{opacity:.75}.editor-toolbar button.active{background:color-mix(in srgb, var(--accent-color) 12%, transparent);color:var(--accent-color)}.editor-toolbar button.active::after{content:"";position:absolute;bottom:2px;left:50%;translate:-50% 0;width:3px;height:3px;border-radius:50%;background:var(--accent-color)}.toolbar-group{display:flex;align-items:center;gap:1px;background:color-mix(in srgb, var(--divider) 55%, transparent);border-radius:.3rem;padding:2px;flex-shrink:0}.toolbar-group button{border-radius:.18rem}.editor-block-select{width:auto;flex-shrink:0;height:2rem;min-height:unset;padding:0 .375rem;border:none;box-shadow:none;border-radius:.24rem;background:rgba(0,0,0,0);color:var(--secondary-text);font-size:.75rem;font-weight:600;cursor:pointer;outline:none;appearance:auto;transition:background .1s ease,color .1s ease}.editor-block-select:hover{background:var(--divider);color:var(--primary-text)}.editor-block-select:focus{border:none;box-shadow:none}.editor-block-select option{background:var(--background);color:var(--primary-text);font-weight:400}.toolbar-separator{width:.35rem;flex-shrink:0}.toolbar-end{display:flex;align-items:center;gap:3px;margin-left:auto;padding-left:.5rem;flex-shrink:0}.toolbar-end:empty{display:none}.editor-toolbar button.toolbar-btn-accent{background:color-mix(in srgb, var(--accent-color) 10%, transparent);color:var(--accent-color)}.editor-toolbar button.toolbar-btn-accent:hover{background:color-mix(in srgb, var(--accent-color) 20%, transparent)}.editor-toolbar button.toolbar-btn-danger:hover{background:color-mix(in srgb, var(--error) 12%, transparent);color:var(--error)}.editor-body{display:flex;flex:1;min-height:0}.editor-main{flex:1;display:flex;flex-direction:column;min-width:0}.editable{flex:1;padding:1.5rem 1.75rem;outline:none;overflow-y:auto;min-height:360px;max-height:70vh;color:var(--primary-text);line-height:1.75;font-size:1rem;background:var(--background);caret-color:var(--accent-color);transition:box-shadow .15s ease}.editable:focus{box-shadow:inset 2px 0 0 var(--accent-color)}.editable:empty::before{content:"Start writing…";color:var(--disabled);pointer-events:none}.editable h1{font-size:1.75rem;font-weight:700;margin:.75rem 0 .4rem;line-height:1.2;letter-spacing:-0.025em;color:var(--primary-text)}.editable h2{font-size:1.3rem;font-weight:600;margin:.625rem 0 .35rem;line-height:1.3;letter-spacing:-0.015em}.editable p{margin-bottom:.6rem}.editable ul,.editable ol{margin-left:1.5rem;margin-bottom:.5rem}.editable ul{list-style:disc}.editable ol{list-style:decimal}.editable li{margin-bottom:.2rem;line-height:1.65}.editable img{max-width:100%;height:auto;border-radius:.35rem;margin:.75rem 0;display:block}.editable a{color:var(--accent-color);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.editable blockquote{border-left:3px solid var(--accent-color);background:color-mix(in srgb, var(--accent-color) 5%, transparent);padding:.5rem .75rem .5rem 1rem;margin:.75rem 0;border-radius:0 .2rem .2rem 0;color:var(--secondary-text);font-style:italic}.editable strong{font-weight:700}.editor-side{width:320px;min-width:240px;border-left:1px solid var(--divider);display:flex;flex-direction:column;background:var(--secondary-background)}.editor-side.hidden{display:none}.editor-side textarea{flex:1;font-family:ui-monospace,"Cascadia Code","SF Mono",monospace;font-size:.78rem;line-height:1.6;resize:none;border:1px solid var(--divider);background:var(--background);color:var(--primary-text);border-radius:.3rem;padding:.625rem;tab-size:2;outline:none;transition:border-color .12s ease}.editor-side textarea:focus{border-color:color-mix(in srgb, var(--accent-color) 50%, transparent)}.editor-side textarea::placeholder{color:var(--disabled)}.side-tabs{display:flex;border-bottom:1px solid var(--divider);padding:0 .375rem}.side-tab{padding:.4rem .75rem;font-size:.75rem;font-weight:500;color:var(--secondary-text);background:none;border:none;border-bottom:2px solid rgba(0,0,0,0);cursor:pointer;transition:color .12s ease,border-color .12s ease}.side-tab:hover{color:var(--primary-text)}.side-tab.active{color:var(--accent-color);border-bottom-color:var(--accent-color);font-weight:600}.side-panels{flex:1;overflow:hidden;display:flex;flex-direction:column}.side-panel{display:none;flex-direction:column;flex:1;padding:.5rem;overflow:hidden;gap:.4rem}.side-panel.active{display:flex}.code-actions{display:flex;gap:.3rem}.code-actions button{flex:1;padding:.3rem .5rem;font-size:.72rem;font-weight:600;border-radius:.24rem;background:var(--divider);color:var(--secondary-text);border:none;cursor:pointer;transition:background .1s,color .1s}.code-actions button:hover{background:color-mix(in srgb, var(--divider) 70%, var(--primary-text) 30%);color:var(--primary-text)}.preview-content{flex:1;overflow-y:auto;padding:.75rem 1rem;background:var(--background);border:1px solid var(--divider);border-radius:.3rem;line-height:1.65;font-size:.9rem;color:var(--primary-text)}.preview-content h1{font-size:1.4rem;font-weight:700;margin-bottom:.35rem;letter-spacing:-0.02em}.preview-content h2{font-size:1.1rem;font-weight:600;margin-bottom:.3rem}.preview-content p{margin-bottom:.4rem}.preview-content ul,.preview-content ol{margin-left:1.25rem;margin-bottom:.4rem}.preview-content ul{list-style:disc}.preview-content ol{list-style:decimal}.preview-content img{max-width:100%;height:auto;border-radius:.3rem}.preview-content a{color:var(--accent-color);text-decoration:underline;text-underline-offset:2px}.editor-footer{display:flex;align-items:center;justify-content:space-between;padding:.35rem .875rem;border-top:1px solid var(--divider);background:var(--secondary-background);font-size:.72rem;color:var(--secondary-text);gap:1rem}.editor-wordcount{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:500}.editor-shortcuts{display:flex;align-items:center;gap:.75rem;overflow:hidden}.editor-shortcuts span{display:flex;align-items:center;gap:.25rem;white-space:nowrap}.editor-shortcuts kbd{display:inline-block;padding:.1rem .3rem;font-family:inherit;font-size:.65rem;font-weight:600;color:var(--secondary-text);background:var(--background);border:1px solid var(--divider);border-radius:.2rem;box-shadow:0 1px 0 var(--divider)}@media screen and (max-width: 768px){.editor-body{flex-direction:column}.editor-side{width:100%;min-width:0;border-left:none;border-top:1px solid var(--divider);max-height:48vh}.editable{min-height:240px;max-height:50vh;padding:1rem 1.125rem}.editable:focus{box-shadow:inset 0 2px 0 var(--accent-color)}.editor-toolbar{padding:.3rem .375rem;gap:.2rem;mask-image:linear-gradient(to right, black 85%, transparent 100%)}.editor-toolbar button{width:2.25rem;height:2.25rem}.editor-toolbar .icon-svg{width:1.25rem;height:1.25rem}.toolbar-group{gap:2px;padding:2px}.toolbar-separator{width:.2rem}.editor-shortcuts{display:none}}.editor-link-popover{display:flex;flex-direction:column;gap:.4rem;padding:.625rem .75rem;border-bottom:1px solid var(--divider);background:var(--secondary-background)}.editor-link-popover[hidden]{display:none}.link-popover-row{display:flex;align-items:center;gap:.5rem}.link-popover-input{flex:1;height:2rem;padding:0 .625rem;border:1px solid var(--divider);border-radius:.24rem;background:var(--background);color:var(--primary-text);font-size:.8125rem;outline:none;transition:border-color .12s ease}.link-popover-input:focus{border-color:color-mix(in srgb, var(--accent-color) 60%, transparent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent-color) 12%, transparent)}.link-popover-input::placeholder{color:var(--disabled, var(--secondary-text));opacity:.7}.link-popover-actions{justify-content:space-between}.link-popover-check{display:flex;align-items:center;gap:.35rem;font-size:.78rem;color:var(--secondary-text);cursor:pointer;user-select:none}.link-popover-check input[type=checkbox]{accent-color:var(--accent-color);width:.875rem;height:.875rem;cursor:pointer}.link-popover-btns{display:flex;gap:.3rem}.link-popover-btns button{height:1.875rem;padding:0 .75rem;border:none;border-radius:.24rem;font-size:.78rem;font-weight:600;cursor:pointer;transition:background .1s ease,color .1s ease}.link-popover-btns button[hidden]{display:none}.link-popover-cancel{background:var(--divider);color:var(--secondary-text)}.link-popover-cancel:hover{background:color-mix(in srgb, var(--divider) 70%, var(--primary-text) 30%);color:var(--primary-text)}.link-popover-confirm{background:var(--accent-color);color:#fff}.link-popover-confirm:hover{opacity:.88}.link-popover-remove{background:color-mix(in srgb, var(--error) 10%, transparent);color:var(--error);border:1px solid color-mix(in srgb, var(--error) 30%, transparent) !important}.link-popover-remove:hover{background:color-mix(in srgb, var(--error) 18%, transparent)}@media screen and (max-width: 480px){.editor-toolbar button{width:2.125rem;height:2.125rem}.editor-footer{padding:.3rem .625rem}}.bottom-sheet-wrapper{position:fixed;inset:0;z-index:999;pointer-events:none}.bottom-sheet-wrapper.is-visible{pointer-events:auto}.bottom-sheet-wrapper.is-visible .bottom-sheet-backdrop{opacity:1}.bottom-sheet-wrapper.is-visible .bottom-sheet{transform:translateY(0)}.bottom-sheet-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .32s ease}.bottom-sheet{position:fixed;bottom:0;left:0;right:0;z-index:1;background:var(--background);border:1px solid var(--divider);border-bottom:none;border-radius:1.6rem 1.6rem 0 0;box-shadow:0 -2px 0 hsla(0,0%,100%,.06) inset,0 -8px 40px rgba(0,0,0,.18),0 -2px 12px rgba(0,0,0,.1),0 -1px 3px rgba(0,0,0,.08);max-height:90vh;overflow:hidden;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .42s cubic-bezier(0.32, 0.72, 0, 1);will-change:transform;overscroll-behavior:contain}.bottom-sheet.snap-half{height:50vh}.bottom-sheet.snap-full{height:calc(100dvh - env(safe-area-inset-top) - 1rem);max-height:none}.bottom-sheet-handle{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:.75rem 1rem .5rem;cursor:grab;touch-action:none;user-select:none}.bottom-sheet-handle:active{cursor:grabbing}.bottom-sheet-handle::after{content:"";display:block;width:40px;height:4px;border-radius:2px;background:var(--divider);transition:background .15s ease,width .15s ease}.bottom-sheet-handle:hover::after,.bottom-sheet-handle:active::after{background:var(--secondary-text);width:48px}.bottom-sheet-body{flex:1;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:0 1rem 1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom));mask-image:linear-gradient(to bottom, black calc(100% - 2rem), transparent 100%);-webkit-mask-image:linear-gradient(to bottom, black calc(100% - 2rem), transparent 100%)}.bottom-sheet-body:not(.is-scrollable){mask-image:none;-webkit-mask-image:none}.bottom-sheet-header{flex-shrink:0;display:flex;align-items:center;gap:.5rem;padding:.25rem 1rem .75rem}.bottom-sheet-header.has-divider{border-bottom:1px solid var(--divider);margin-bottom:.5rem;padding-bottom:.75rem}.bottom-sheet-header .title{flex:1;font-weight:600;font-size:1rem;color:var(--primary-text);line-height:1.3}.bottom-sheet-header .subtitle{flex:1;font-size:.8125rem;color:var(--secondary-text);margin-top:.125rem}.bottom-sheet-header .close{cursor:pointer;color:var(--secondary-text);transition:color .15s ease}.bottom-sheet-header .close:hover{color:var(--primary-text)}.bottom-sheet-footer{flex-shrink:0;border-top:1px solid var(--divider);padding:1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom));display:flex;justify-content:flex-end}.bottom-sheet-footer .buttons{display:flex;gap:.5rem}@media(min-width: 768px){.bottom-sheet{left:50%;right:auto;width:480px;bottom:1rem;border:1px solid var(--divider);border-radius:1.6rem;transform:translateX(-50%) translateY(calc(100% + 1rem));max-height:80vh}.bottom-sheet .bottom-sheet-footer{border-radius:0 0 1.6rem 1.6rem}.bottom-sheet-wrapper.is-visible .bottom-sheet{transform:translateX(-50%) translateY(0)}}.context-menu{position:fixed;z-index:9999;min-width:200px;padding:.375rem 0;background:var(--background);border:1px solid var(--divider);border-radius:1rem;box-shadow:0 8px 32px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04);list-style:none;margin:0;opacity:0;transform:scale(0.94);transform-origin:top left;transition:opacity .14s ease,transform .14s ease;pointer-events:none}.context-menu.is-visible{opacity:1;transform:scale(1);pointer-events:auto}.context-menu-item{display:flex;align-items:center;gap:.55rem;padding:.45rem .75rem;font-size:.875rem;color:var(--primary-text);cursor:pointer;user-select:none;white-space:nowrap;transition:background .1s ease,color .1s ease;position:relative}.context-menu-item .context-menu-icon{flex-shrink:0;width:1rem;height:1rem;display:flex;align-items:center;justify-content:center;color:var(--secondary-text);transition:color .1s ease}.context-menu-item .context-menu-icon .icon-svg{width:1rem;height:1rem}.context-menu-item .context-menu-label{flex:1}.context-menu-item .context-menu-shortcut{padding-left:1.5rem;font-size:.75rem;color:var(--secondary-text);opacity:.6;letter-spacing:.02em;flex-shrink:0}.context-menu-item .context-menu-chevron{flex-shrink:0;width:.35rem;height:.35rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);opacity:.5;margin-left:.25rem;color:var(--secondary-text)}.context-menu-item:hover,.context-menu-item.is-focused{background:var(--secondary-background);color:var(--accent-color)}.context-menu-item:hover .context-menu-icon,.context-menu-item.is-focused .context-menu-icon{color:var(--accent-color)}.context-menu-item:hover .context-menu-chevron,.context-menu-item.is-focused .context-menu-chevron{color:var(--accent-color);opacity:.8}.context-menu-item.is-active{background:var(--secondary-background);color:var(--accent-color)}.context-menu-item.is-active .context-menu-icon{color:var(--accent-color)}.context-menu-item.is-active .context-menu-chevron{color:var(--accent-color);opacity:.8}.context-menu-item.is-destructive{color:var(--error)}.context-menu-item.is-destructive .context-menu-icon{color:var(--error)}.context-menu-item.is-destructive:hover,.context-menu-item.is-destructive.is-focused{background:color-mix(in srgb, var(--error) 8%, var(--background));color:var(--error)}.context-menu-item.is-destructive:hover .context-menu-icon,.context-menu-item.is-destructive.is-focused .context-menu-icon{color:var(--error)}.context-menu-item.is-disabled{opacity:.38;cursor:default;pointer-events:none}.context-menu-item.has-submenu>.context-menu{position:absolute;top:-0.375rem;left:100%;margin-left:4px;transform-origin:top left}.context-menu-item.has-submenu.is-active>.context-menu{opacity:1;transform:scale(1);pointer-events:auto}.context-menu-item.has-submenu.submenu-flip>.context-menu{left:auto;right:100%;margin-left:0;margin-right:4px;transform-origin:top right}.context-menu-separator{height:1px;background:var(--divider);margin:.375rem 0}.context-menu-group-label{padding:.3rem .75rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--secondary-text);opacity:.55;user-select:none}.cal{--cal-spacing-xs: 4px;--cal-spacing-sm: 8px;--cal-spacing-md: 12px;--cal-spacing-lg: 16px;--cal-bg: var(--background);--cal-bg-alt: var(--secondary-background);--cal-bg-hover: var(--hover);--cal-border: var(--divider);--cal-text: var(--primary-text);--cal-text-muted: var(--secondary-text);--cal-accent: var(--accent-color);--cal-accent-light: var(--accent-color-lighten);--cal-accent-text: #fff;--cal-today-ring: var(--accent-color);--cal-hour-height: 48px;--cal-time-col-width: 52px;--cal-radius: 0.4rem;--cal-radius-sm: calc(0.4rem * 0.5);font-family:var(--font-family, "Outfit", sans-serif);color:var(--cal-text);box-sizing:border-box;width:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}.cal *,.cal *::before,.cal *::after{box-sizing:inherit}.cal__header{display:flex;align-items:center;gap:var(--cal-spacing-sm);margin-bottom:var(--cal-spacing-lg);flex-wrap:wrap}.cal__title{flex:1;min-width:120px;font-size:1.25rem;font-weight:700;color:var(--cal-text);margin:0;letter-spacing:-0.02em}.cal__nav{display:flex;gap:var(--cal-spacing-xs);align-items:center}.cal__btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--cal-spacing-xs);padding:6px var(--cal-spacing-md);font-family:inherit;font-size:.8125rem;font-weight:500;line-height:1.5;cursor:pointer;border:1px solid var(--cal-border);border-radius:var(--cal-radius);background:rgba(0,0,0,0);color:var(--cal-text);transition:background .15s ease,border-color .15s ease,color .15s ease,transform .1s ease;white-space:nowrap}.cal__btn:hover{background:var(--cal-bg-hover)}.cal__btn:focus-visible{outline:2px solid var(--cal-accent);outline-offset:2px}.cal__btn:active{transform:scale(0.95)}.cal__btn--active,.cal__btn[aria-pressed=true]{background:var(--cal-accent);border-color:var(--cal-accent);color:var(--cal-accent-text);font-weight:600}.cal__btn .icon-svg{width:16px;height:16px;fill:currentColor;vertical-align:middle}.cal__view-toggle{display:flex;background:var(--cal-bg-alt);border-radius:var(--cal-radius);padding:3px;gap:2px;position:relative}.cal__view-toggle .cal__btn{border:none;border-radius:calc(var(--cal-radius) - 2px);padding:5px 14px;font-size:.75rem;background:rgba(0,0,0,0);color:var(--cal-text-muted);transition:color .2s ease,background .2s ease,box-shadow .2s ease;position:relative;z-index:1}.cal__view-toggle .cal__btn--active,.cal__view-toggle .cal__btn[aria-pressed=true]{background:var(--cal-bg);color:var(--cal-text);font-weight:600;box-shadow:0 1px 4px rgba(0,0,0,.1),0 0 0 1px rgba(0,0,0,.03)}.cal__body{width:100%}.cal__month-grid{border:1px solid var(--cal-border);border-radius:var(--cal-radius);overflow:hidden}.cal__month-head{display:grid;grid-template-columns:repeat(7, minmax(0, 1fr));gap:1px;background:var(--cal-border)}.cal__weekday{background:var(--cal-bg-alt);padding:var(--cal-spacing-sm) var(--cal-spacing-xs);text-align:center;font-size:.6875rem;font-weight:600;color:var(--cal-text-muted);letter-spacing:.06em;text-transform:uppercase}.cal__week-row{display:grid;grid-template-columns:repeat(7, minmax(0, 1fr));gap:1px;background:var(--cal-border);position:relative;border-top:1px solid var(--cal-border)}.cal__week-row .cal__day-events{margin-top:calc(var(--span-lanes, 0)*var(--cal-span-lane-height, 20px))}.cal__day{background:var(--cal-bg);padding:var(--cal-spacing-xs) var(--cal-spacing-sm);min-height:88px;cursor:default;position:relative}.cal__day--empty{background:var(--cal-bg-alt);pointer-events:none}.cal__day--outside .cal__day-num{opacity:.25}.cal__day--outside .cal__day-events{opacity:.25}.cal__day.is-today .cal__day-num{background:var(--cal-today-ring);color:var(--cal-accent-text);border-radius:50%;font-weight:700;box-shadow:0 0 0 3px color-mix(in srgb, var(--cal-accent) 20%, transparent)}.cal__day.has-events::after{content:"";display:none;position:absolute;bottom:6px;left:50%;transform:translateX(-50%);width:5px;height:5px;border-radius:50%;background:var(--cal-accent)}.cal__day-num{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;font-size:.8125rem;font-weight:500;color:var(--cal-text);margin-bottom:var(--cal-spacing-xs);flex-shrink:0;border-radius:50%;transition:background .2s ease,color .2s ease,box-shadow .25s ease,transform .15s ease}.cal__day-events{display:flex;flex-direction:column;gap:2px;overflow:hidden}.cal__event-pill{font-size:.6875rem;line-height:1.4;padding:2px 6px;border-radius:var(--cal-radius-sm);background:var(--cal-bg-alt);color:var(--cal-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;border:none;border-left:2px solid var(--cal-accent-light);display:block;text-align:left;width:100%;transition:background .12s ease,transform .1s ease}.cal__event-pill:hover{background:var(--cal-bg-hover)}.cal__event-pill:active{transform:scale(0.97)}.cal__event-pill:focus-visible{outline:2px solid var(--cal-accent);outline-offset:1px}.cal__event-pill.badge-success{border-left-color:var(--success)}.cal__event-pill.badge-warning{border-left-color:var(--warning)}.cal__event-pill.badge-error{border-left-color:var(--error)}.cal__event-pill.badge-info{border-left-color:var(--accent-color)}.cal__event-more{font-size:.625rem;font-weight:600;color:var(--cal-accent);padding:1px 6px;cursor:pointer}.cal__span-bar{position:absolute;height:18px;line-height:18px;font-size:.6875rem;font-weight:500;padding:0 6px;border-radius:var(--cal-radius-sm);background:var(--cal-bg-alt);border-left:2px solid var(--cal-accent-light);color:var(--cal-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;z-index:2;transition:filter .12s ease,transform .1s ease;left:calc(var(--span-col)*100%/7);width:calc(var(--span-len)*100%/7 - 4px)}.cal__span-bar:hover{filter:brightness(0.94)}.cal__span-bar:active{transform:scale(0.97)}.cal__span-bar:focus-visible{outline:2px solid var(--cal-accent);outline-offset:1px}.cal__span-bar--cont-before{border-left:none;border-radius:0 var(--cal-radius-sm) var(--cal-radius-sm) 0;padding-left:4px}.cal__span-bar--cont-after{border-radius:var(--cal-radius-sm) 0 0 var(--cal-radius-sm)}.cal__span-bar--cont-before.cal__span-bar--cont-after{border-radius:0}.cal__span-bar.badge-success{border-left-color:var(--success);background:color-mix(in srgb, var(--success) 14%, var(--cal-bg))}.cal__span-bar.badge-warning{border-left-color:var(--warning);background:color-mix(in srgb, var(--warning) 14%, var(--cal-bg))}.cal__span-bar.badge-error{border-left-color:var(--error);background:color-mix(in srgb, var(--error) 14%, var(--cal-bg))}.cal__span-bar.badge-info{border-left-color:var(--accent-color);background:color-mix(in srgb, var(--accent-color) 14%, var(--cal-bg))}.cal__week-row>.cal__span-bar{top:calc(36px + var(--span-lane)*var(--cal-span-lane-height, 20px))}.cal__event-time{font-weight:600;margin-right:3px;opacity:.7}.cal__week{border:1px solid var(--cal-border);border-radius:var(--cal-radius);overflow:hidden}.cal__week-head{display:grid;grid-template-columns:var(--cal-time-col-width) repeat(7, minmax(0, 1fr));background:var(--cal-bg-alt);border-bottom:1px solid var(--cal-border);overflow-y:auto;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,0) rgba(0,0,0,0)}.cal__week-head::-webkit-scrollbar{width:5px}.cal__week-head::-webkit-scrollbar-track,.cal__week-head::-webkit-scrollbar-thumb{background:rgba(0,0,0,0)}.cal__week-head-time{padding:var(--cal-spacing-sm) var(--cal-spacing-xs);font-size:.6875rem;color:var(--cal-text-muted)}.cal__week-head-day{padding:var(--cal-spacing-sm) var(--cal-spacing-xs);text-align:center;font-size:.6875rem;font-weight:600;color:var(--cal-text-muted);border-left:1px solid var(--cal-border);cursor:default;text-transform:uppercase;letter-spacing:.04em}.cal__week-head-day span{display:inline-flex;align-items:center;justify-content:center;font-size:1.0625rem;font-weight:600;color:var(--cal-text);line-height:1;width:32px;height:32px;border-radius:50%;margin-top:2px;transition:background .2s ease,color .2s ease,box-shadow .25s ease;text-transform:none;letter-spacing:normal}.cal__week-head-day.is-today span{background:var(--cal-today-ring);color:var(--cal-accent-text);box-shadow:0 0 0 3px color-mix(in srgb, var(--cal-accent) 20%, transparent)}.cal__allday{display:grid;grid-template-columns:var(--cal-time-col-width) 1fr;border-bottom:1px solid var(--cal-border);background:var(--cal-bg);overflow-y:auto;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,0) rgba(0,0,0,0)}.cal__allday::-webkit-scrollbar{width:5px}.cal__allday::-webkit-scrollbar-track,.cal__allday::-webkit-scrollbar-thumb{background:rgba(0,0,0,0)}.cal__allday-label{padding:var(--cal-spacing-xs);font-size:.625rem;color:var(--cal-text-muted);display:flex;align-items:flex-start;padding-top:6px;font-weight:500}.cal__allday-spans{position:relative;display:grid;grid-template-columns:repeat(7, minmax(0, 1fr));min-height:calc(max(var(--allday-lanes, 1),1)*var(--cal-span-lane-height, 20px) + 6px)}.cal__allday-spans>.cal__span-bar{top:calc(var(--span-lane)*var(--cal-span-lane-height, 20px) + 3px)}.cal__allday-col{border-left:1px solid var(--cal-border);min-height:100%}.cal__allday-col:first-child{border-left:none}.cal__week-body{overflow-y:auto;max-height:480px;position:relative;background:var(--cal-bg);scrollbar-width:thin;scrollbar-gutter:stable;scrollbar-color:var(--cal-border) rgba(0,0,0,0)}.cal__week-body::-webkit-scrollbar{width:5px}.cal__week-body::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.cal__week-body::-webkit-scrollbar-thumb{background:var(--cal-border);border-radius:3px}.cal__week-grid{display:grid;grid-template-columns:var(--cal-time-col-width) repeat(7, minmax(0, 1fr));position:relative}.cal__time-col{display:flex;flex-direction:column;background:var(--cal-bg-alt)}.cal__time-slot{height:var(--cal-hour-height);display:flex;align-items:flex-start;padding-top:3px;padding-right:var(--cal-spacing-sm);font-size:.625rem;font-weight:500;color:var(--cal-text-muted);justify-content:flex-end;border-top:1px solid var(--cal-border);flex-shrink:0}.cal__time-slot:first-child{border-top:none}.cal__day-col{border-left:1px solid var(--cal-border);position:relative}.cal__day-col-hour{height:var(--cal-hour-height);border-top:1px solid var(--cal-border);flex-shrink:0;position:relative}.cal__day-col-hour:first-child{border-top:none}.cal__day-col-hour::after{content:"";display:block;position:absolute;left:0;right:0;top:50%;height:1px;background:var(--cal-border);opacity:.4;pointer-events:none}.cal__week-event{position:absolute;left:2px;right:2px;border-radius:var(--cal-radius-sm);font-size:.6875rem;line-height:1.3;padding:3px 6px;overflow:hidden;cursor:pointer;background:color-mix(in srgb, var(--cal-accent) 10%, var(--cal-bg));color:var(--cal-text);border-left:3px solid var(--cal-accent);z-index:1;transition:box-shadow .15s ease,transform .1s ease}.cal__week-event:hover{z-index:2;box-shadow:0 4px 12px rgba(0,0,0,.12);transform:translateY(-1px)}.cal__week-event:active{transform:scale(0.98)}.cal__week-event:focus-visible{outline:2px solid var(--cal-accent);outline-offset:1px;z-index:3}.cal__week-event.badge-success{border-left-color:var(--success);background:color-mix(in srgb, var(--success) 10%, var(--cal-bg))}.cal__week-event.badge-warning{border-left-color:var(--warning);background:color-mix(in srgb, var(--warning) 10%, var(--cal-bg))}.cal__week-event.badge-error{border-left-color:var(--error);background:color-mix(in srgb, var(--error) 10%, var(--cal-bg))}.cal__week-event.badge-info{border-left-color:var(--accent-color);background:color-mix(in srgb, var(--accent-color) 10%, var(--cal-bg))}.cal__now-line{position:absolute;left:var(--cal-time-col-width);right:0;height:2px;background:var(--error);z-index:5;pointer-events:none}.cal__now-line::before{content:"";display:block;position:absolute;left:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--error);animation:cal-now-pulse 2s ease-in-out infinite}.cal__agenda{border:1px solid var(--cal-border);border-radius:var(--cal-radius);overflow:hidden}.cal__agenda-day{display:flex;gap:var(--cal-spacing-lg);padding:var(--cal-spacing-md) var(--cal-spacing-lg);border-bottom:1px solid var(--cal-border)}.cal__agenda-day:last-child{border-bottom:none}.cal__agenda-day.is-today{background:color-mix(in srgb, var(--cal-accent) 4%, var(--cal-bg))}.cal__agenda-date{display:flex;flex-direction:column;align-items:center;min-width:44px;flex-shrink:0}.cal__agenda-dow{font-size:.625rem;color:var(--cal-text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.cal__agenda-num{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;font-size:1rem;font-weight:700;color:var(--cal-text);border-radius:50%;margin-top:2px;transition:background .2s ease,color .2s ease}.cal__agenda-num.is-today{background:var(--cal-today-ring);color:var(--cal-accent-text);box-shadow:0 0 0 3px color-mix(in srgb, var(--cal-accent) 20%, transparent)}.cal__agenda-events{flex:1;display:flex;flex-direction:column;gap:var(--cal-spacing-sm);padding-top:4px;min-width:0}.cal__agenda-event{display:flex;align-items:baseline;gap:var(--cal-spacing-sm);padding:var(--cal-spacing-sm) var(--cal-spacing-md);border-radius:var(--cal-radius-sm);background:var(--cal-bg-alt);border-left:3px solid var(--cal-accent-light);cursor:pointer;transition:background .15s ease,transform .1s ease,box-shadow .15s ease}.cal__agenda-event:hover{background:var(--cal-bg-hover);box-shadow:0 2px 8px rgba(0,0,0,.06)}.cal__agenda-event:active{transform:scale(0.98)}.cal__agenda-event:focus-visible{outline:2px solid var(--cal-accent);outline-offset:1px}.cal__agenda-event.badge-success{border-left-color:var(--success)}.cal__agenda-event.badge-warning{border-left-color:var(--warning)}.cal__agenda-event.badge-error{border-left-color:var(--error)}.cal__agenda-event.badge-info{border-left-color:var(--accent-color)}.cal__agenda-event-time{font-size:.75rem;color:var(--cal-text-muted);font-weight:600;white-space:nowrap;min-width:110px;flex-shrink:0}.cal__agenda-event-title{font-size:.875rem;color:var(--cal-text);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal__agenda-empty{padding:var(--cal-spacing-lg);color:var(--cal-text-muted);font-size:.875rem;text-align:center}@media(max-width: 600px){.cal__header{gap:var(--cal-spacing-xs)}.cal__title{font-size:1.0625rem;order:-1;width:100%}.cal__nav{flex:1}.cal__view-toggle{padding:2px;gap:1px}.cal__view-toggle .cal__btn{padding:4px 10px;font-size:.6875rem}.cal__month-grid{border:none;border-radius:0}.cal__month-head{gap:0;background:rgba(0,0,0,0)}.cal__week-row{gap:0;background:rgba(0,0,0,0);border-top:none}.cal__weekday{background:rgba(0,0,0,0);padding:var(--cal-spacing-sm) 0;font-size:.625rem}.cal__day{min-height:52px;padding:var(--cal-spacing-xs) 0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;background:rgba(0,0,0,0)}.cal__day--empty{background:rgba(0,0,0,0)}.cal__day--outside .cal__day-num{opacity:.25}.cal__day.has-events::after{display:block;position:static;transform:none;margin-top:3px}.cal__day-num{width:36px;height:36px;font-size:.8125rem;margin-bottom:0}.cal__day-events,.cal__event-pill,.cal__event-more,.cal__span-bar{display:none}.cal__week-row .cal__day-events{margin-top:0}.cal{--cal-time-col-width: 40px}.cal__week-body{max-height:360px}.cal__week-head-day{font-size:.5625rem;padding:var(--cal-spacing-xs) 2px}.cal__week-head-day span{font-size:.875rem;width:28px;height:28px}.cal__time-slot{font-size:.5rem;padding-right:3px}.cal__agenda-day{padding:var(--cal-spacing-sm) var(--cal-spacing-md);gap:var(--cal-spacing-md)}.cal__agenda-event{padding:var(--cal-spacing-xs) var(--cal-spacing-sm);flex-direction:column;gap:2px}.cal__agenda-event-time{min-width:0;font-size:.6875rem}.cal__agenda-event-title{font-size:.8125rem}}@media print{.cal__header .cal__view-toggle,.cal__header .cal__nav .cal__btn--today{display:none}.cal__week-body{max-height:none;overflow:visible}.cal__month-grid,.cal__week,.cal__agenda{border:1px solid #ccc}}@media(prefers-reduced-motion: no-preference){.cal__body{animation:cal-slide-in .25s cubic-bezier(0.2, 0, 0, 1)}.cal__day,.cal__agenda-day{animation:cal-cell-in .3s cubic-bezier(0.2, 0, 0, 1) both}.cal__week-row:nth-child(1) .cal__day{animation-delay:0.01s}.cal__week-row:nth-child(2) .cal__day{animation-delay:0.04s}.cal__week-row:nth-child(3) .cal__day{animation-delay:0.07s}.cal__week-row:nth-child(4) .cal__day{animation-delay:0.1s}.cal__week-row:nth-child(5) .cal__day{animation-delay:0.13s}.cal__week-row:nth-child(6) .cal__day{animation-delay:0.16s}.cal__week-row:nth-child(7) .cal__day{animation-delay:0.19s}.cal__agenda-day:nth-child(1){animation-delay:0.03s}.cal__agenda-day:nth-child(2){animation-delay:0.06s}.cal__agenda-day:nth-child(3){animation-delay:0.09s}.cal__agenda-day:nth-child(4){animation-delay:0.12s}.cal__agenda-day:nth-child(5){animation-delay:0.15s}.cal__agenda-day:nth-child(6){animation-delay:0.18s}.cal__agenda-day:nth-child(7){animation-delay:0.21s}.cal__agenda-day:nth-child(8){animation-delay:0.24s}.cal__agenda-day:nth-child(9){animation-delay:0.27s}.cal__agenda-day:nth-child(10){animation-delay:0.3s}}@keyframes cal-slide-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes cal-cell-in{from{opacity:0;transform:scale(0.96)}to{opacity:1;transform:scale(1)}}@keyframes cal-now-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.group-picker{position:relative;width:100%;color:var(--primary-text)}.group-picker__selection{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;min-height:2rem;padding:.35rem .6rem;background:var(--background);border:1px solid var(--divider);border-radius:.2rem;margin-bottom:.75rem;box-shadow:0 1px 2px rgba(56,65,74,.15);transition:border-color .15s ease,box-shadow .15s ease}.group-picker__selection .chip{margin:0;animation:gp-chip-in .2s cubic-bezier(0.34, 1.56, 0.64, 1) both}.group-picker__selection .chip.closeable button{display:inline-flex;align-items:center;justify-content:center}.group-picker__selection .chip.closeable button .icon{font-size:.7rem;top:0}.group-picker__selection:empty::before{content:attr(data-placeholder);color:var(--secondary-text);font-size:.875rem}.group-picker__selection:focus-within{border-color:var(--accent-color);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-color) 15%, transparent)}.group-picker__selection .chip.group-picker__chip--parent{background:var(--accent-color);color:var(--background)}.group-picker__selection .chip.group-picker__chip--parent button{background:color-mix(in srgb, var(--accent-color) 78%, black);color:var(--background)}.group-picker__search{position:relative;margin-bottom:.5rem}.group-picker__search input{padding-left:2.2rem}.group-picker__search-icon{position:absolute;left:.55rem;top:50%;transform:translateY(-50%);font-size:1rem;color:var(--secondary-text);pointer-events:none;opacity:.45;z-index:1}.group-picker__list{max-height:420px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;border:1px solid var(--divider);border-radius:.2rem;background:var(--background);box-shadow:0 1px 2px rgba(56,65,74,.15)}.group-picker__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem 1rem;color:var(--secondary-text);font-size:.875rem;text-align:center;gap:.5rem}.group-picker__empty .icon{font-size:2rem;opacity:.2}.group-picker__group{border-bottom:1px solid var(--divider)}.group-picker__group:last-child{border-bottom:none}.group-picker__group.is-expanded>.group-picker__group-header{background:color-mix(in srgb, var(--accent-color) 4%, transparent)}.group-picker__group.is-expanded>.group-picker__group-header .group-picker__group-label{color:var(--accent-color)}.group-picker__group-header{display:flex;align-items:center;gap:.5rem;padding:.75rem .85rem;cursor:pointer;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);transition:background .15s ease}.group-picker__group-header:hover{background:var(--hover)}.group-picker__group-header:active{background:var(--secondary-background)}.group-picker__chevron{flex-shrink:0;font-size:1rem;color:var(--secondary-text);opacity:.5;transition:transform .28s cubic-bezier(0.16, 1, 0.3, 1),color .15s ease,opacity .15s ease}.group-picker__group.is-expanded .group-picker__chevron{transform:rotate(90deg);color:var(--accent-color);opacity:1}.group-picker__group-label{flex:1;font-size:.875rem;font-weight:600;color:var(--primary-text);transition:color .15s ease}.group-picker__group-label mark{background:color-mix(in srgb, var(--warning) 22%, transparent);color:inherit;border-radius:2px;padding:0 2px}.group-picker__group-action{flex-shrink:0;font-size:.6875rem;font-weight:500;letter-spacing:.025em;text-transform:uppercase;padding:.15rem .6rem;border-radius:1.2rem;border:1px solid var(--divider);background:rgba(0,0,0,0);color:var(--secondary-text);line-height:1.5;transition:border-color .15s ease,color .15s ease,background .15s ease,transform .1s ease}.group-picker__group-action:hover:not(.button-primary):not(:disabled){border-color:var(--accent-color);color:var(--accent-color);background:color-mix(in srgb, var(--accent-color) 6%, transparent);transform:none}.group-picker__group-action:active:not(:disabled){transform:scale(0.94)}.group-picker__group-action.button-primary{border-radius:1.2rem;font-size:.6875rem;font-weight:500;letter-spacing:.025em;text-transform:uppercase;padding:.15rem .6rem;border:1px solid rgba(0,0,0,0);line-height:1.5}.group-picker__group.is-leaf{cursor:pointer}.group-picker__group.is-leaf.is-selected>.group-picker__group-header{background:color-mix(in srgb, var(--accent-color) 6%, transparent)}.group-picker__group.is-leaf.is-selected>.group-picker__group-header .group-picker__group-label{color:var(--accent-color)}.group-picker__group.is-leaf.is-selected .group-picker__leaf-check{opacity:1;transform:scale(1)}.group-picker__leaf-check{flex-shrink:0;font-size:1.1rem;color:var(--accent-color);opacity:0;transform:scale(0.3);transition:opacity .18s ease,transform .22s cubic-bezier(0.34, 1.56, 0.64, 1)}.group-picker__subgroups{height:0;overflow:hidden;opacity:0;transition:height .28s cubic-bezier(0.16, 1, 0.3, 1),opacity .2s ease}.group-picker__group.is-expanded .group-picker__subgroups{opacity:1}.group-picker__subgroup-list{display:flex;flex-wrap:wrap;gap:.3rem;padding:.3rem .85rem .75rem 2.35rem}.group-picker__subgroup-list .chip{margin:0}.group-picker__subgroup{transition:background .15s ease,color .15s ease,outline-color .15s ease}.group-picker__subgroup.is-selected{background:color-mix(in srgb, var(--accent-color) 12%, var(--background));color:var(--accent-color);outline:1px solid color-mix(in srgb, var(--accent-color) 35%, transparent);font-weight:500}.group-picker__subgroup.is-disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.group-picker__subgroup mark{background:color-mix(in srgb, var(--warning) 22%, transparent);color:inherit;border-radius:2px;padding:0 2px}@keyframes gp-chip-in{from{opacity:0;transform:scale(0.7) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(max-width: 768px){.group-picker__list{max-height:55vh}.group-picker__group-header{padding:.9rem .85rem}.group-picker__subgroup-list{padding-left:2rem}}.chart{--chart-color-1: var(--accent-color);--chart-color-2: var(--success);--chart-color-3: var(--warning);--chart-color-4: var(--error);--chart-color-5: #8B5CF6;--chart-color-6: #06B6D4;--chart-color-7: #F97316;--chart-color-8: #EC4899}.chart{position:relative;width:100%;min-width:0;color:var(--primary-text);font-size:.875rem}.chart-header{margin-bottom:.75rem}.chart-title{font-size:1rem;font-weight:600;color:var(--primary-text);line-height:1.3}.chart-subtitle{font-size:.8125rem;color:var(--secondary-text);margin-top:.2rem}.chart-canvas{width:100%;position:relative;overflow:hidden}.chart-svg{display:block;width:100%;overflow:visible}.chart .chart-axis-line{stroke:var(--divider);stroke-width:1}.chart .chart-grid-line{stroke:var(--divider);stroke-width:1;stroke-dasharray:3 4;opacity:.7}.chart .chart-axis-label{fill:var(--secondary-text);font-size:.6875rem;font-family:inherit}.chart .chart-line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:var(--path-length, 9999);stroke-dashoffset:var(--path-length, 9999);animation:chart-draw 1s cubic-bezier(0.4, 0, 0.2, 1) forwards}.chart .chart-area{animation:chart-fade-in .8s ease forwards}.chart .chart-point-dot{transition:r .15s ease}.chart .chart-point-ring{opacity:0;transition:opacity .15s ease,r .15s ease}.chart .chart-point-group{cursor:pointer}.chart .chart-point-group:hover .chart-point-dot{r:5}.chart .chart-point-group:hover .chart-point-ring{opacity:1}.chart .chart-bar{transition:opacity .15s ease,filter .15s ease;cursor:pointer;transform-box:fill-box}.chart .chart-bar--vertical{transform-origin:bottom center;animation:chart-grow-y calc(.5s + var(--animation-delay, 0ms)) cubic-bezier(0.4, 0, 0.2, 1) both;animation-delay:var(--animation-delay, 0ms)}.chart .chart-bar--horizontal{transform-origin:left center;animation:chart-grow-x calc(.5s + var(--animation-delay, 0ms)) cubic-bezier(0.4, 0, 0.2, 1) both;animation-delay:var(--animation-delay, 0ms)}.chart .chart-bar:hover{opacity:.85;filter:brightness(1.08)}.chart .chart-slice{cursor:pointer;transform-box:fill-box;transform-origin:center;transition:transform .2s cubic-bezier(0.34, 1.56, 0.64, 1),filter .15s ease;animation:chart-slice-in .45s cubic-bezier(0.4, 0, 0.2, 1) both;animation-delay:var(--animation-delay, 0ms)}.chart .chart-slice:hover{filter:brightness(1.08)}.chart-legend{display:flex;flex-wrap:wrap;gap:.35rem 1rem;margin-top:.75rem}.chart-legend-item{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;color:var(--secondary-text);cursor:default}.chart-legend-swatch{width:10px;height:10px;border-radius:2px;flex-shrink:0}.chart-pie-legend{display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;margin-top:.75rem;justify-content:center}.chart-pie-legend-item{display:inline-flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--secondary-text)}.chart-pie-legend-swatch{width:12px;height:12px;border-radius:3px;flex-shrink:0}.chart-pie-legend-value{font-weight:600;color:var(--primary-text);margin-left:.15rem}.chart-tooltip{position:fixed;background:var(--primary-dark);color:var(--primary-light);padding:.5rem .75rem;border-radius:.4rem;font-size:.75rem;line-height:1.5;pointer-events:none;white-space:nowrap;z-index:9999;box-shadow:0 4px 16px rgba(0,0,0,.2);opacity:0;transform:translateY(4px);transition:opacity .12s ease,transform .12s ease}.chart-tooltip.is-visible{opacity:1;transform:translateY(0)}.chart-tooltip strong{display:block;font-weight:600;color:#fff;margin-bottom:1px}@keyframes chart-draw{from{stroke-dashoffset:var(--path-length, 9999)}to{stroke-dashoffset:0}}@keyframes chart-fade-in{from{opacity:0}to{opacity:1}}@keyframes chart-grow-y{from{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes chart-grow-x{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes chart-slice-in{from{transform:scale(0.6);opacity:0}to{transform:scale(1);opacity:1}}.sidebar-layout{display:flex;min-height:100vh}.sidebar-nav{width:var(--sidebar-width, 240px);position:fixed;left:0;top:0;height:100vh;background:var(--primary-bg);border-right:1px solid var(--divider);display:flex;flex-direction:column;z-index:100}.sidebar-nav .sidebar-scroll{flex:1;min-height:0;background:none;border-radius:0;box-shadow:none}.sidebar-main{flex:1;min-width:0;display:flex;flex-direction:column;margin-left:var(--sidebar-width, 240px)}.sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.3);z-index:99}.sidebar-backdrop.is-visible{display:block}.sidebar-toggle{display:none;background:none;border:none;padding:.25rem;cursor:pointer;color:var(--primary-text);border-radius:.4rem}.sidebar-toggle:hover{background:var(--secondary-background)}.sidebar-toggle svg{display:block}@media(max-width: 768px){.sidebar-toggle{display:flex;align-items:center}.sidebar-nav{left:calc(-1*var(--sidebar-width, 240px));transition:left .25s ease;box-shadow:none}.sidebar-nav.is-open{left:0;box-shadow:4px 0 24px rgba(0,0,0,.15)}.sidebar-main{margin-left:0}}.sidebar-nav .docs-sidebar-logo{display:flex;align-items:center;gap:.5rem;padding:1.25rem 1rem;border-bottom:1px solid var(--divider);font-weight:700;font-size:1.1rem;color:var(--primary-text);text-decoration:none;letter-spacing:-0.01em}.sidebar-nav .docs-sidebar-logo .docs-logo-badge{font-size:.6rem;font-weight:700;background:var(--accent-color);color:#fff;padding:.1rem .35rem;border-radius:.25rem;letter-spacing:.04em;text-transform:uppercase}.sidebar-nav .docs-sidebar-search{padding:.75rem 1rem;border-bottom:1px solid var(--divider)}.sidebar-nav .docs-sidebar-search input{width:100%;height:2rem;font-size:.8rem;background:var(--secondary-background);border:1px solid var(--divider);border-radius:.4rem;padding:0 .75rem;color:var(--primary-text);outline:none}.sidebar-nav .docs-sidebar-search input::placeholder{color:var(--secondary-text)}.sidebar-nav .docs-sidebar-search input:focus{border-color:var(--accent-color)}.docs-nav{flex:1;padding:.75rem 0 2rem;overflow-y:auto}.docs-nav ul{list-style:none;margin:0;padding:0}.docs-nav .docs-nav-section{margin-bottom:.25rem}.docs-nav .docs-nav-section-label{font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--secondary-text);padding:.85rem 1rem .3rem}.docs-nav .docs-nav-item a{display:block;padding:.3rem 1rem .3rem 1.25rem;font-size:.85rem;color:var(--secondary-text);text-decoration:none;border-radius:0;transition:color .15s,background .15s;border-left:2px solid rgba(0,0,0,0)}.docs-nav .docs-nav-item a:hover{color:var(--primary-text);background:var(--secondary-background)}.docs-nav .docs-nav-item a.is-active{color:var(--accent-color);border-left-color:var(--accent-color);background:color-mix(in srgb, var(--accent-color) 8%, transparent);font-weight:500}.docs-topbar{position:sticky;top:0;height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;background:var(--primary-bg);border-bottom:1px solid var(--divider);z-index:90;gap:1rem}.docs-topbar .docs-breadcrumb{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--secondary-text)}.docs-topbar .docs-breadcrumb a{color:var(--secondary-text);text-decoration:none}.docs-topbar .docs-breadcrumb a:hover{color:var(--primary-text)}.docs-topbar .docs-breadcrumb .sep{opacity:.4}.docs-topbar .docs-breadcrumb .current{color:var(--primary-text);font-weight:500}.docs-topbar .docs-topbar-actions{display:flex;align-items:center;gap:.5rem}.docs-content{flex:1;padding:2.5rem 2rem 4rem;max-width:860px}.docs-content h1{font-size:1.75rem;font-weight:700;letter-spacing:-0.02em;margin:0 0 .5rem}.docs-content .docs-lead{font-size:1rem;color:var(--secondary-text);margin:0 0 1rem;line-height:1.6;max-width:600px}.docs-content .docs-import{display:inline-flex;align-items:center;gap:.5rem;margin:0 0 2rem;padding:.4rem .75rem;background:var(--secondary-background);border:1px solid var(--divider);border-radius:.4rem;font-size:.8rem;font-family:ui-monospace,"Cascadia Code","SF Mono",monospace;color:var(--accent-color)}.docs-content .docs-import::before{content:"import";color:var(--secondary-text);font-style:italic;font-family:inherit}.docs-content h2{font-size:1.1rem;font-weight:600;margin:2.5rem 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--divider)}.docs-content h3{font-size:.95rem;font-weight:600;margin:1.75rem 0 .75rem}.docs-content p{line-height:1.7;margin:0 0 1rem}.docs-content code{font-size:.8em;background:var(--secondary-background);border:1px solid var(--divider);border-radius:.25rem;padding:.1em .35em}.docs-content .docs-demo{background:var(--secondary-background);border:1px solid var(--divider);border-radius:.4rem;padding:2rem;margin:1rem 0}.docs-content .docs-demo h1{font-size:2rem;font-weight:800}.docs-content .docs-demo h2{font-size:1.625rem;font-weight:750;border:none;padding:0;margin-top:0}.docs-content .docs-demo h3{font-size:1.375rem;font-weight:700}.docs-content .docs-demo h4{font-size:1.125rem;font-weight:700}.docs-content .docs-demo h5{font-size:1rem;font-weight:600}.docs-content .docs-demo.centered{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.75rem}.docs-content .docs-props-table{width:100%;border-collapse:collapse;font-size:.82rem;margin:1rem 0 2rem}.docs-content .docs-props-table th{text-align:left;padding:.5rem .75rem;background:var(--secondary-background);border:1px solid var(--divider);font-weight:600;color:var(--secondary-text);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.docs-content .docs-props-table td{padding:.5rem .75rem;border:1px solid var(--divider);vertical-align:top}.docs-content .docs-props-table td code{font-size:.78em;background:color-mix(in srgb, var(--accent-color) 10%, transparent);border-color:color-mix(in srgb, var(--accent-color) 20%, transparent);color:var(--accent-color)}.docs-content .docs-props-table tr:hover td{background:var(--secondary-background)}.landing-hero{padding:5rem 2rem 4rem;text-align:center;background:var(--primary-bg);border-bottom:1px solid var(--divider)}.landing-hero .landing-eyebrow{display:inline-flex;align-items:center;gap:.4rem;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-color);background:color-mix(in srgb, var(--accent-color) 10%, transparent);border:1px solid color-mix(in srgb, var(--accent-color) 25%, transparent);border-radius:2rem;padding:.25rem .75rem;margin-bottom:1.5rem}.landing-hero h1{font-size:clamp(2.5rem,6vw,4rem);font-weight:800;letter-spacing:-0.03em;margin:0 0 1rem;line-height:1.1}.landing-hero .landing-tagline{font-size:clamp(1rem,2.5vw,1.2rem);color:var(--secondary-text);max-width:520px;margin:0 auto 2rem;line-height:1.6}.landing-hero .landing-actions{display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap}.landing-hero .landing-install{display:inline-flex;align-items:center;gap:.5rem;background:var(--secondary-background);border:1px solid var(--divider);border-radius:.4rem;padding:.5rem 1rem;font-size:.85rem;font-family:monospace;color:var(--primary-text);cursor:pointer;transition:border-color .15s}.landing-hero .landing-install:hover{border-color:var(--accent-color)}.landing-hero .landing-install .install-prefix{color:var(--secondary-text)}.landing-features{display:grid;grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));gap:0;border-bottom:1px solid var(--divider)}.landing-features .feature-item{padding:1.5rem 2rem;border-right:1px solid var(--divider)}.landing-features .feature-item:last-child{border-right:none}.landing-features .feature-item .feature-icon{font-size:1.25rem;margin-bottom:.5rem}.landing-features .feature-item .feature-icon svg{width:1em;height:1em;display:block}.landing-features .feature-item .feature-title{font-weight:600;font-size:.9rem;margin-bottom:.2rem}.landing-features .feature-item .feature-desc{font-size:.78rem;color:var(--secondary-text);line-height:1.5}.landing-section{padding:3.5rem 2rem;max-width:1100px;margin:0 auto;width:100%}.landing-section-title{font-size:1.4rem;font-weight:700;letter-spacing:-0.02em;margin:0 0 .4rem}.landing-section-sub{color:var(--secondary-text);font-size:.9rem;margin:0 0 2rem}.component-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));gap:1rem}.component-card{display:flex;flex-direction:column;gap:.5rem;padding:1.25rem 1.25rem 1rem;border:1px solid var(--divider);border-radius:.8rem;text-decoration:none;color:var(--primary-text);background:var(--primary-bg);transition:border-color .15s,box-shadow .15s,transform .15s}.component-card:hover{border-color:var(--accent-color);box-shadow:0 4px 16px color-mix(in srgb, var(--accent-color) 15%, transparent);transform:translateY(-1px)}.component-card .cc-icon{font-size:1.4rem;line-height:1;margin-bottom:.25rem}.component-card .cc-icon svg{width:1em;height:1em;display:block}.component-card .cc-name{font-weight:600;font-size:.9rem}.component-card .cc-desc{font-size:.78rem;color:var(--secondary-text);line-height:1.5}.component-card .cc-count{font-size:.7rem;color:var(--secondary-text);margin-top:auto;padding-top:.5rem;border-top:1px solid var(--divider)}.landing-quickstart{background:var(--secondary-background);border-top:1px solid var(--divider);border-bottom:1px solid var(--divider);padding:3.5rem 2rem}.landing-quickstart .qs-inner{max-width:700px;margin:0 auto}.landing-quickstart h2{font-size:1.4rem;font-weight:700;letter-spacing:-0.02em;margin:0 0 .4rem}.landing-quickstart p{color:var(--secondary-text);font-size:.9rem;margin:0 0 1.5rem}.landing-quickstart .qs-steps{display:flex;flex-direction:column;gap:1rem}.landing-quickstart .qs-step{display:flex;gap:1rem;align-items:flex-start}.landing-quickstart .qs-step .qs-num{flex-shrink:0;width:1.5rem;height:1.5rem;background:var(--accent-color);color:#fff;border-radius:50%;font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:.1rem}.landing-quickstart .qs-step .qs-text{flex:1}.landing-quickstart .qs-step .qs-text strong{display:block;font-size:.9rem;margin-bottom:.25rem}.landing-quickstart .qs-step .qs-text p{margin:0;font-size:.82rem}.landing-quickstart .qs-step .qs-text code{display:block;background:var(--primary-bg);border:1px solid var(--divider);border-radius:.4rem;padding:.5rem .75rem;font-size:.8rem;margin-top:.4rem;font-family:monospace;color:var(--primary-text)}.landing-footer{padding:1.5rem 2rem;border-top:1px solid var(--divider);display:flex;align-items:center;justify-content:space-between;font-size:.78rem;color:var(--secondary-text);gap:1rem;flex-wrap:wrap}.landing-footer a{color:var(--secondary-text);text-decoration:none}.landing-footer a:hover{color:var(--primary-text)}.landing-footer .footer-links{display:flex;gap:1.25rem}/*# sourceMappingURL=style.min.css.map */
|
|
1
|
+
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote::before,blockquote::after,q::before,q::after{content:none}table{border-collapse:collapse;border-spacing:0}:root{--primary-text: #1E1F24;--secondary-text: #62636C;--divider: #D8D9E0;--accent-text: #3D63DD;--error: #D64545;--error-tint: color-mix(in srgb, #D64545 12%, transparent);--warning: #C28A00;--warning-tint: color-mix(in srgb, #C28A00 12%, transparent);--success: #2E8B57;--success-tint: color-mix(in srgb, #2E8B57 12%, transparent);--secondary-background: #E7E8EC;--background: #F9F9FB;--primary-bg: #F9F9FB;--accent-color: #3D63DD;--accent-color-lighten: #87A5EF;--accent-color-tint: color-mix(in srgb, #3D63DD 12%, transparent);--accent-color-text: #D8D9E0;--disabled: #D8D9E0;--primary-dark: #1A1B1F;--primary-light: #F0F1F3;--hover: rgba(0, 0, 0, 0.04);--radius-sm: 0.25rem;--radius-md: 0.4rem;--radius-lg: 0.75rem;--radius-xl: 1rem;--radius-full: 9999px}[data-theme=dark]{--primary-text: #EEEEF0;--secondary-text: #B2B3BD;--divider: #393A40;--accent-text: #0E496D;--error: #FF6B6B;--error-tint: color-mix(in srgb, #FF6B6B 12%, transparent);--warning: #F7B500;--warning-tint: color-mix(in srgb, #F7B500 12%, transparent);--success: #5CC689;--success-tint: color-mix(in srgb, #5CC689 12%, transparent);--background: #111113;--primary-bg: #111113;--secondary-background: #19191B;--accent-color: #1B7BB4;--accent-color-lighten: #175982;--accent-color-tint: color-mix(in srgb, #1B7BB4 12%, transparent);--accent-color-text: #B2B3BD;--disabled: #303136;--primary-dark: #0C0C0E;--primary-light: #1E1F23;--hover: rgba(255, 255, 255, 0.05)}body{background:var(--background)}.warning{color:var(--warning)}.warning-bg{background:var(--warning)}.error{color:var(--error)}.error-bg{background:var(--error)}.success{color:var(--success)}.success-bg{background:var(--success)}.default-bg{background:var(--divider)}html,body{overflow:auto}body{position:relative;height:100%;width:100%;min-height:100vh}a{cursor:pointer}.content{margin-left:2rem;margin-right:2rem;margin-top:4rem}.hidden{display:none}.float-right{float:right}.float-left{float:left}.block{display:block;width:100%}.vertical-align-center{align-items:center;display:flex}.horizontal-align-center{text-align:center}.center{align-items:center;justify-content:center;display:flex}code.code{background:var(--divider);display:block;font-family:monospace;border-radius:.4rem;font-size:1.3rem;margin:1rem 0}code.code .code-header{display:block;background:var(--disabled);border-top-left-radius:.4rem;border-top-right-radius:.4rem;padding:.5rem 2rem;color:var(--primary-text);font-weight:bold}code.code .code-content{padding:2rem;white-space:break-spaces}.cursor-pointer{cursor:pointer}.spacing-right{margin-right:1rem}.flex{display:flex}.row{display:flex;flex-direction:row;gap:1rem;margin-bottom:1rem}.row.spacing-top{padding-top:.5rem}.row .column{flex:1;min-width:0;padding:1rem}.row .column.grow-2{flex-grow:2}.row .column.grow-3{flex-grow:3}.row .column.grow-4{flex-grow:4}.row .column.grow-5{flex-grow:5}.row .column.grow-6{flex-grow:6}.row .column .column{padding:0}.row .column .row{margin-bottom:0}@media screen and (max-width: 768px){.row{flex-wrap:wrap}.row .column{flex-basis:100%}}@font-face{font-family:"Outfit";src:url("../fonts/Outfit-VariableFont_wght.woff2") format("woff2");font-display:swap}body{font-family:"Outfit",helvetica,arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}p,li,td,th,div{font-size:1rem;line-height:1.6;color:var(--primary-text)}p{margin-bottom:.5rem}code{font-family:"Courier New",Courier,monospace;font-size:.875em;background:var(--secondary-background);border:1px solid var(--divider);padding:.15em .4em;border-radius:.2rem}pre code{display:block;padding:1rem;overflow-x:auto;border-radius:.4rem;line-height:1.5;border:none}strong{font-weight:700}em{font-style:italic}h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5{font-weight:700;color:var(--primary-text);letter-spacing:-0.02em}h1,.h1{font-size:2rem;font-weight:800;letter-spacing:-0.03em;line-height:1.1;margin:1.5rem 0 .6666666667rem 0}h2,.h2{font-size:1.625rem;font-weight:750;line-height:1.12;margin:1.5rem 0 .6666666667rem 0}h3,.h3{font-size:1.375rem;line-height:1.2;margin:1rem 0 .5rem 0}h4,.h4{font-size:1.125rem;letter-spacing:-0.01em;line-height:1.25;margin:1rem 0 .5rem 0}h5,.h5{font-size:1rem;font-weight:600;letter-spacing:0;line-height:1.3;margin:.5rem 0 .25rem 0}small,.text-small{font-size:.8125rem;line-height:1.4}.text-secondary{color:var(--secondary-text)}.text-caption{font-size:.75rem;line-height:1.4;color:var(--secondary-text);letter-spacing:.01em}.text-overline{font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--secondary-text)}blockquote{border-left:3px solid var(--divider);padding:.5rem 1rem;margin-block:.5rem;color:var(--secondary-text);font-style:italic}mark{background-color:color-mix(in srgb, var(--accent-color) 18%, transparent);color:var(--primary-text);border-radius:.1rem;padding:0 .2em}ul,ol{list-style-position:outside;padding-left:1.5rem;margin-bottom:.6666666667rem}ul li{list-style-type:disc}ul li li{list-style-type:circle}ol li{list-style-type:decimal}ol li li{list-style-type:lower-latin}li+li{margin-top:.25em}hr{border:none;height:1px;background:var(--divider);margin-block:1.5rem}a{color:var(--accent-color);text-decoration:none;font-weight:500;transition:color .2s ease}a:hover,a:focus-visible{color:var(--accent-color-lighten)}a:active{color:var(--accent-color)}a:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.text-center{text-align:center}.card{box-shadow:0 1px 2px rgba(56,65,74,.15);background:var(--secondary-background);border-radius:.4rem;padding:1rem;position:relative;overflow:hidden;display:flex;flex-direction:column}.card.row{flex-direction:row}.card .card-header{border-bottom:1px solid var(--divider);margin:-1rem -1rem 1rem -1rem;padding:1rem}.card .card-footer{border-top:1px solid var(--divider);margin:auto -1rem -1rem -1rem;padding:1rem}.card-flat{box-shadow:none;border:1px solid var(--divider)}.card-bordered{border:1px solid var(--divider)}.card-hover{transition:box-shadow .3s ease,transform .3s ease}.card-hover:hover{box-shadow:0 4px 8px var(--divider);transform:translateY(-2px)}.card-padding-none{padding:0}.card-padding-sm{padding:.5rem}.card-padding-lg{padding:2rem}.table-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.75rem}.table-wrapper{overflow-x:auto;border:1px solid var(--divider);border-radius:.4rem;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem}thead{background-color:var(--primary-light);border-bottom:1px solid var(--divider)}th{padding:.75rem 1rem;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--secondary-text);cursor:pointer;user-select:none;white-space:nowrap;transition:background 160ms ease}th:hover{background-color:var(--hover)}th.sort-asc::after,th.sort-desc::after{font-size:.65em;margin-left:.35em;opacity:.7}th.sort-asc::after{content:" ▲"}th.sort-desc::after{content:" ▼"}td{padding:.75rem 1rem;border-bottom:1px solid var(--divider);color:var(--primary-text)}tr:last-child td{border-bottom:none}tbody tr{transition:background 160ms ease}tbody tr:hover{background-color:var(--hover)}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--divider);flex-wrap:wrap;gap:.75rem}.pagination-info{font-size:.875rem;color:var(--secondary-text)}.pagination-buttons{display:flex;gap:4px}.page-btn{padding:.4rem .75rem;border:1px solid var(--divider);background:rgba(0,0,0,0);color:var(--primary-text);border-radius:.4rem;cursor:pointer;font-size:.875rem;transition:background 160ms ease,border-color 160ms ease}.page-btn:hover:not(:disabled){background:var(--hover);border-color:var(--secondary-text)}.page-btn.active{background-color:var(--accent-color);color:var(--accent-color-text);border-color:var(--accent-color)}.page-btn.active:hover:not(:disabled){background-color:var(--accent-color-lighten);border-color:var(--accent-color-lighten)}.page-btn:disabled{opacity:.4;cursor:not-allowed}@media(max-width: 768px){.table-controls{flex-direction:column;align-items:stretch}table,thead,tbody,th,td,tr{display:block}thead{display:none}tbody tr{border:1px solid var(--divider);border-radius:.4rem;margin-bottom:.75rem;padding:.75rem;background:var(--background)}tbody tr:hover{background-color:var(--hover)}td{border:none;padding:.5rem 0;display:flex;justify-content:space-between;align-items:center;text-align:right;border-bottom:1px solid var(--divider)}td:last-child{border-bottom:none}td::before{content:attr(data-label);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;color:var(--secondary-text);text-align:left;margin-right:.75rem}.table-wrapper{border:none}}.alert{position:relative;border-radius:.4rem;padding:.75rem 1rem .75rem calc(1rem + 4px);border-left:4px solid rgba(0,0,0,0);color:var(--primary-text);line-height:1.6;font-size:.9rem}.alert+.alert{margin-top:.5rem}.alert strong{font-weight:600;letter-spacing:-0.01em}.alert-default{background:var(--secondary-background);border-left-color:var(--divider);color:var(--primary-text)}.alert-info{background:color-mix(in srgb, var(--accent-color) 8%, var(--background));border-left-color:var(--accent-color);color:var(--primary-text)}.alert-info strong{color:var(--accent-color)}.alert-info .alert-icon{fill:var(--accent-color)}.alert-info .alert-close:hover{background:color-mix(in srgb, var(--accent-color) 12%, transparent)}.alert-success{background:color-mix(in srgb, var(--success) 8%, var(--background));border-left-color:var(--success);color:var(--primary-text)}.alert-success strong{color:var(--success)}.alert-success .alert-icon{fill:var(--success)}.alert-success .alert-close:hover{background:color-mix(in srgb, var(--success) 12%, transparent)}.alert-warning{background:color-mix(in srgb, var(--warning) 8%, var(--background));border-left-color:var(--warning);color:var(--primary-text)}.alert-warning strong{color:var(--warning)}.alert-warning .alert-icon{fill:var(--warning)}.alert-warning .alert-close:hover{background:color-mix(in srgb, var(--warning) 12%, transparent)}.alert-error{background:color-mix(in srgb, var(--error) 8%, var(--background));border-left-color:var(--error);color:var(--primary-text)}.alert-error strong{color:var(--error)}.alert-error .alert-icon{fill:var(--error)}.alert-error .alert-close:hover{background:color-mix(in srgb, var(--error) 12%, transparent)}.alert-dismissible{padding-right:3rem}.alert-dismissible .alert-close{position:absolute;top:50%;right:.75rem;transform:translateY(-50%);background:rgba(0,0,0,0);border:none;border-radius:.4rem;cursor:pointer;padding:.25rem .5rem;color:inherit;opacity:.5;transition:opacity .2s ease,background .2s ease}.alert-dismissible .alert-close:hover{opacity:1}.alert .alert-icon{width:1.1em;height:1.1em;margin-right:.5rem;vertical-align:-0.15em;fill:currentColor}[data-theme=dark] .alert-info{background:color-mix(in srgb, var(--accent-color) 10%, var(--background));border-left-color:var(--accent-color);color:var(--primary-text)}[data-theme=dark] .alert-info strong{color:var(--accent-color)}[data-theme=dark] .alert-info .alert-icon{fill:var(--accent-color)}[data-theme=dark] .alert-info .alert-close:hover{background:color-mix(in srgb, var(--accent-color) 12%, transparent)}[data-theme=dark] .alert-success{background:color-mix(in srgb, var(--success) 10%, var(--background));border-left-color:var(--success);color:var(--primary-text)}[data-theme=dark] .alert-success strong{color:var(--success)}[data-theme=dark] .alert-success .alert-icon{fill:var(--success)}[data-theme=dark] .alert-success .alert-close:hover{background:color-mix(in srgb, var(--success) 12%, transparent)}[data-theme=dark] .alert-warning{background:color-mix(in srgb, var(--warning) 10%, var(--background));border-left-color:var(--warning);color:var(--primary-text)}[data-theme=dark] .alert-warning strong{color:var(--warning)}[data-theme=dark] .alert-warning .alert-icon{fill:var(--warning)}[data-theme=dark] .alert-warning .alert-close:hover{background:color-mix(in srgb, var(--warning) 12%, transparent)}[data-theme=dark] .alert-error{background:color-mix(in srgb, var(--error) 10%, var(--background));border-left-color:var(--error);color:var(--primary-text)}[data-theme=dark] .alert-error strong{color:var(--error)}[data-theme=dark] .alert-error .alert-icon{fill:var(--error)}[data-theme=dark] .alert-error .alert-close:hover{background:color-mix(in srgb, var(--error) 12%, transparent)}@keyframes field-error-shake{0%,100%{transform:translateX(0)}18%{transform:translateX(-5px)}36%{transform:translateX(4px)}54%{transform:translateX(-3px)}72%{transform:translateX(2px)}}@keyframes dropdown-in{from{opacity:0;transform:translateY(-6px) scale(0.975)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes hint-appear{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}textarea,select,.select .dropdown,input{width:100%;border:1.5px solid var(--divider);border-radius:.6rem;padding:0 .65rem;box-sizing:border-box;background-color:var(--background);min-height:2.6rem;font-size:1rem;color:var(--primary-text);box-shadow:inset 0 1.5px 4px rgba(0,0,0,.05),0 1px 2px rgba(0,0,0,.04);transition:border-color .16s ease,box-shadow .22s cubic-bezier(0.16, 1, 0.3, 1),background-color .16s ease;outline:none}textarea::placeholder,select::placeholder,.select .dropdown::placeholder,input::placeholder{color:var(--secondary-text);opacity:.65;font-weight:400}textarea:hover:not(:focus):not(:disabled):not([readonly]),select:hover:not(:focus):not(:disabled):not([readonly]),.select .dropdown:hover:not(:focus):not(:disabled):not([readonly]),input:hover:not(:focus):not(:disabled):not([readonly]){border-color:color-mix(in srgb, var(--accent-color) 45%, var(--divider));box-shadow:inset 0 1.5px 4px rgba(0,0,0,.045),0 2px 8px rgba(0,0,0,.07)}textarea:focus,select:focus,.select .dropdown:focus,input:focus{border-color:var(--accent-color);box-shadow:inset 0 1px 3px rgba(0,0,0,.03),0 0 0 3.5px color-mix(in srgb, var(--accent-color) 13%, transparent),0 2px 12px rgba(0,0,0,.06)}textarea:disabled,select:disabled,.select .dropdown:disabled,input:disabled{background-color:var(--secondary-background);border-color:var(--disabled);color:var(--secondary-text);cursor:not-allowed;box-shadow:none;opacity:.58}textarea{padding-top:.55rem;padding-bottom:.55rem}select{padding:0 .65rem;cursor:pointer}.select-group .dropdown{position:relative;background-color:var(--background)}.select-group .dropdown-selected{border:1.5px solid var(--divider);padding:0 .65rem;border-radius:.6rem;cursor:pointer;background:var(--background);height:2.6rem;line-height:2.6rem;box-shadow:inset 0 1.5px 4px rgba(0,0,0,.05),0 1px 2px rgba(0,0,0,.04);transition:border-color .16s ease,box-shadow .22s cubic-bezier(0.16, 1, 0.3, 1);user-select:none}.select-group .dropdown-selected:hover{border-color:color-mix(in srgb, var(--accent-color) 45%, var(--divider));box-shadow:inset 0 1.5px 4px rgba(0,0,0,.045),0 2px 8px rgba(0,0,0,.07)}.select-group .dropdown-selected:focus,.select-group .dropdown-selected:focus-visible{outline:none;border-color:var(--accent-color);box-shadow:inset 0 1px 3px rgba(0,0,0,.03),0 0 0 3.5px color-mix(in srgb, var(--accent-color) 13%, transparent),0 2px 12px rgba(0,0,0,.06)}.select-group .dropdown-selected::after{font-family:"Material Symbols Outlined 24pt",serif;content:"";float:right;color:var(--secondary-text);transition:transform .26s cubic-bezier(0.34, 1.56, 0.64, 1);line-height:inherit}.select-group .dropdown.open .dropdown-selected{border-color:var(--accent-color);box-shadow:inset 0 1px 3px rgba(0,0,0,.03),0 0 0 3.5px color-mix(in srgb, var(--accent-color) 13%, transparent)}.select-group .dropdown.open .dropdown-selected::after{transform:rotate(180deg)}.select-group .dropdown-options{position:absolute;top:calc(100% + 6px);left:0;right:0;border:1.5px solid var(--divider);border-radius:.6rem;display:none;flex-direction:column;z-index:10;max-height:260px;overflow-y:auto;background-color:var(--background);box-shadow:0 8px 32px rgba(0,0,0,.11),0 2px 8px rgba(0,0,0,.06);padding:.25rem;gap:1px;transform-origin:top center}.select-group .dropdown-option{padding:.6rem .65rem;cursor:pointer;border-radius:.44rem;transition:background .1s ease;font-size:.9375rem;position:relative}.select-group .dropdown-option:hover{background:var(--hover)}.select-group .dropdown-option.selected{background:color-mix(in srgb, var(--accent-color) 10%, transparent);color:var(--accent-color);font-weight:500}.select-group .dropdown-option.selected::after{content:"✓";position:absolute;right:.65rem;top:50%;transform:translateY(-50%);font-size:.8125rem;line-height:1}.select-group .dropdown.open .dropdown-options{display:flex;animation:dropdown-in .2s cubic-bezier(0.16, 1, 0.3, 1) both}.select-group .hidden{display:none}@media(max-width: 768px){.select-group .dropdown-options-menu{position:fixed;top:0;left:0;width:100%;background:var(--background);color:var(--primary-text);text-align:center;padding:18px 15px;padding-top:calc(18px + env(safe-area-inset-top));font-weight:600;font-size:1rem;border-bottom:1px solid var(--divider);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);z-index:11;letter-spacing:.01em}.select-group .dropdown-options-menu .dropdown-options-icon{position:absolute;right:20px;top:50%;transform:translateY(-50%);cursor:pointer;color:var(--accent-color);font-size:.9375rem;font-weight:500;letter-spacing:0}.select-group .dropdown-options{position:fixed;top:0;left:0;right:0;bottom:0;border:none;border-radius:0;padding:0;padding-top:calc(62px + env(safe-area-inset-top));padding-bottom:env(safe-area-inset-bottom);font-size:1.0625rem;max-height:none;box-shadow:none;background-color:var(--background);gap:0}.select-group .dropdown-option{padding:15px 20px;border-bottom:1px solid var(--divider);border-radius:0;font-size:1.0625rem}.select-group .dropdown-option.selected::after{right:20px;font-size:.9375rem}}.form-group{display:flex;flex-direction:column;gap:.3rem}.form-group label{font-size:.8125rem;font-weight:600;color:var(--primary-text);letter-spacing:.025em}.form-group .form-hint{display:flex;align-items:flex-start;gap:.3rem;font-size:.75rem;line-height:1.5;color:var(--secondary-text);margin-top:.1rem}.form-group .form-hint::before{content:"";display:none;flex-shrink:0;width:13px;height:13px;border-radius:50%;margin-top:.1em;font-size:8.5px;font-weight:700;line-height:13px;text-align:center;color:#fff}.form-group.error input,.form-group.error textarea,.form-group.error select{border-color:var(--error);background-color:color-mix(in srgb, var(--error) 3%, var(--background));box-shadow:inset 0 1.5px 4px rgba(0,0,0,.05),0 1px 2px rgba(0,0,0,.04);animation:field-error-shake .42s cubic-bezier(0.36, 0.07, 0.19, 0.97) both}.form-group.error input:focus,.form-group.error textarea:focus,.form-group.error select:focus{border-color:var(--error);box-shadow:inset 0 1px 3px rgba(0,0,0,.03),0 0 0 3.5px color-mix(in srgb, var(--error) 13%, transparent)}.form-group.error .form-hint{color:var(--error);animation:hint-appear .2s ease both}.form-group.error .form-hint::before{content:"!";display:block;background:var(--error);opacity:1}.form-group.success input,.form-group.success textarea,.form-group.success select{border-color:var(--success)}.form-group.success input:focus,.form-group.success textarea:focus,.form-group.success select:focus{border-color:var(--success);box-shadow:inset 0 1px 3px rgba(0,0,0,.03),0 0 0 3.5px color-mix(in srgb, var(--success) 13%, transparent)}.form-group.success .form-hint{color:var(--success);animation:hint-appear .2s ease both}.form-group.success .form-hint::before{content:"✓";display:block;background:var(--success);opacity:1}.input-group{display:flex}.input-group input{flex:1;min-width:0}.input-group .input-addon{display:flex;align-items:center;padding:0 .65rem;background-color:var(--secondary-background);border:1.5px solid var(--divider);color:var(--secondary-text);font-size:1rem;white-space:nowrap;box-shadow:inset 0 1.5px 4px rgba(0,0,0,.04);font-weight:500;letter-spacing:.01em}.input-group .input-addon:first-child{border-right:none;border-radius:.6rem 0 0 .6rem}.input-group .input-addon:first-child+input{border-top-left-radius:0;border-bottom-left-radius:0}.input-group .input-addon:last-child{border-left:none;border-radius:0 .6rem .6rem 0}.input-group input:not(:last-child){border-right:none;border-top-right-radius:0;border-bottom-right-radius:0}input[readonly],textarea[readonly]{background-color:var(--secondary-background);color:var(--secondary-text);cursor:default;box-shadow:none;border-style:dashed}input.input-sm,textarea.input-sm{min-height:1.7rem;font-size:.875rem;padding:0 .5rem;border-radius:.44rem}input.input-lg,textarea.input-lg{min-height:3.3rem;font-size:1.125rem;padding:0 .75rem;border-radius:.7rem}@font-face{font-family:"Material Symbols Outlined 24pt";src:url("../fonts/MaterialSymbolsOutlined.woff2") format("woff2")}.icon{font-family:"Material Symbols Outlined 24pt",serif;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;font-size:24px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-delete::before{content:""}.icon-search::before{content:""}.icon-splitscreen_vertical_add::before{content:""}.icon-splitscreen_add::before{content:""}.icon-push_pin::before{content:""}.icon-block::before{content:""}.icon-check_circle::before{content:""}.icon-stars::before{content:""}.icon-support::before{content:""}.icon-refresh::before{content:""}.icon-sync::before{content:""}.icon-language::before{content:""}.icon-article::before{content:""}.icon-list_alt::before{content:""}.icon-add_box::before{content:""}.icon-disabled_by_default::before{content:""}.icon-help_center::before{content:""}.icon-pages::before{content:""}.icon-add_photo_alternate::before{content:""}.icon-calendar_today::before{content:""}.icon-assignment_turned_in::before{content:""}.icon-finance::before{content:""}.icon-save::before{content:""}.icon-folder::before{content:""}.icon-folder_off::before{content:""}.icon-folder_open::before{content:""}.icon-mail::before{content:""}.icon-attach_file::before{content:""}.icon-chat_bubble::before{content:""}.icon-cases::before{content:""}.icon-send::before{content:""}.icon-bookmark::before{content:""}.icon-label::before{content:""}.icon-filter_alt::before{content:""}.icon-filter_alt_off::before{content:""}.icon-notifications_active::before{content:""}.icon-more_horiz::before{content:""}.icon-more_vert::before{content:""}.icon-navigate_before::before{content:""}.icon-navigate_next::before{content:""}.icon-keyboard_double_arrow_left::before{content:""}.icon-keyboard_double_arrow_right::before{content:""}.icon-first_page::before{content:""}.icon-last_page::before{content:""}.icon-expand_less::before{content:""}.icon-expand_more::before{content:""}.icon-zoom_in_map::before{content:""}.icon-zoom_out_map::before{content:""}.icon-drag_pan::before{content:""}.icon-format_list_bulleted::before{content:""}.icon-format_list_numbered::before{content:""}.icon-check::before{content:""}.icon-remove::before{content:""}.icon-add::before{content:""}.icon-close::before{content:""}.icon-format_bold::before{content:""}.icon-format_italic::before{content:""}.icon-format_underlined::before{content:""}.icon-home::before{content:""}.icon-favorite::before{content:""}.icon-edit::before{content:""}.icon-layers::before{content:""}.icon-cloud::before{content:""}.icon-print::before{content:""}.icon-share::before{content:""}.icon-tune::before{content:""}.icon-power_settings_new::before{content:""}.icon-timeline::before{content:""}.icon-bar_chart::before{content:""}.icon-bar_chart_4_bars::before{content:""}.icon-finance_mode::before{content:""}.icon-database::before{content:""}.icon-settings::before{content:""}.icon-person::before{content:""}.icon-menu_open::before{content:""}.icon-menu::before{content:""}.icon-light::before{content:""}.icon-dark::before{content:""}:root{--track-width: 12px;--track-radius: 8px;--thumb-min: 28px;--track-gap: 6px}.scroll-container{position:relative;background:var(--secondary-background);border-radius:.4rem;box-shadow:0 1px 2px rgba(56,65,74,.15);overflow:hidden}.scroll-container .viewport{height:100%;width:100%;overflow:auto;box-sizing:border-box}.scroll-container .viewport .content{margin:0;margin-right:calc(var(--track-width) + var(--track-gap))}.scroll-container .viewport::-webkit-scrollbar{width:0;height:0}.scroll-container .viewport{scrollbar-width:none;-ms-overflow-style:none}.scroll-container .scrollbar{position:absolute;top:var(--track-gap);right:var(--track-gap);bottom:var(--track-gap);width:var(--track-width);pointer-events:none}.scroll-container .track{position:relative;height:100%;width:100%;border-radius:var(--track-radius);background:rgba(0,0,0,0);pointer-events:auto;transition:background .3s ease}.scroll-container .track:hover{background:var(--hover)}.scroll-container .track:hover .thumb{opacity:.7;transform:scaleX(0.7)}.scroll-container .thumb{position:absolute;left:0;right:0;top:0;height:40px;border-radius:var(--track-radius);background:var(--secondary-text);opacity:.2;cursor:pointer;pointer-events:auto;touch-action:none;transform:scaleX(0.3);transform-origin:right center;transition:opacity .4s ease,transform .3s cubic-bezier(0.34, 1.56, 0.64, 1),background .2s ease,box-shadow .25s ease;will-change:top,height,transform,opacity}.scroll-container:hover .thumb{opacity:.45;transform:scaleX(0.5)}.scroll-container.is-scrolling .thumb{opacity:.6;transform:scaleX(0.5)}.scroll-container.is-dragging{cursor:grabbing}.scroll-container.is-dragging .track{background:color-mix(in srgb, var(--accent-color) 8%, transparent)}.scroll-container.is-dragging .thumb{opacity:1;transform:scaleX(1);background:var(--accent-color);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-color) 18%, transparent);cursor:grabbing;transition:opacity .15s ease,transform .2s cubic-bezier(0.34, 1.56, 0.64, 1),background .15s ease,box-shadow .2s ease}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:.3333333333rem;padding:.6rem 1.25rem;border-radius:.4rem;background:var(--secondary-background);color:var(--primary-text);border:none;cursor:pointer;font-family:inherit;font-size:inherit;font-weight:500;line-height:1;white-space:nowrap;transition:background .15s ease,transform .1s ease,box-shadow .15s ease}button:hover:not(:disabled),.button:hover:not(:disabled){background:var(--divider)}button:active:not(:disabled),.button:active:not(:disabled){transform:scale(0.97)}button:focus-visible,.button:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-color) 35%, transparent)}button.active,.button.active{background:var(--divider);color:var(--accent-color)}button:disabled,.button:disabled{opacity:.45;cursor:not-allowed}button.is-loading,.button.is-loading{pointer-events:none;position:relative;color:rgba(0,0,0,0) !important}button.is-loading::after,.button.is-loading::after{content:"";position:absolute;width:1.1em;height:1.1em;border:2px solid currentColor;border-top-color:rgba(0,0,0,0);border-radius:50%;animation:spinner-rotate .8s ease-in-out infinite;color:var(--primary-text)}button.is-loading>*,.button.is-loading>*{visibility:hidden}.button-primary.is-loading::after,button.button-primary.is-loading::after,.button-success.is-loading::after,button.button-success.is-loading::after,.button-warning.is-loading::after,button.button-warning.is-loading::after,.button-error.is-loading::after,button.button-error.is-loading::after{color:var(--background)}.button-primary,button.button-primary{background:var(--accent-color);color:var(--background)}.button-primary:hover:not(:disabled),button.button-primary:hover:not(:disabled){background:color-mix(in srgb, var(--accent-color) 85%, black)}.button-primary:active:not(:disabled),button.button-primary:active:not(:disabled){background:color-mix(in srgb, var(--accent-color) 75%, black)}.button-success,button.button-success{background:var(--success);color:var(--background)}.button-success:hover:not(:disabled),button.button-success:hover:not(:disabled){background:color-mix(in srgb, var(--success) 85%, black)}.button-success:active:not(:disabled),button.button-success:active:not(:disabled){background:color-mix(in srgb, var(--success) 75%, black)}.button-warning,button.button-warning{background:var(--warning);color:var(--background)}.button-warning:hover:not(:disabled),button.button-warning:hover:not(:disabled){background:color-mix(in srgb, var(--warning) 85%, black)}.button-warning:active:not(:disabled),button.button-warning:active:not(:disabled){background:color-mix(in srgb, var(--warning) 75%, black)}.button-error,button.button-error{background:var(--error);color:var(--background)}.button-error:hover:not(:disabled),button.button-error:hover:not(:disabled){background:color-mix(in srgb, var(--error) 85%, black)}.button-error:active:not(:disabled),button.button-error:active:not(:disabled){background:color-mix(in srgb, var(--error) 75%, black)}.button-group{display:inline-flex}.button-group button,.button-group .button{border-radius:0;position:relative}.button-group button:not(:last-child)::after,.button-group .button:not(:last-child)::after{content:"";position:absolute;right:0;top:20%;height:60%;width:1px;background:color-mix(in srgb, currentColor 15%, transparent)}.button-group button:first-child,.button-group .button:first-child{border-radius:.4rem 0 0 .4rem}.button-group button:last-child,.button-group .button:last-child{border-radius:0 .4rem .4rem 0}.button-group button:only-child,.button-group .button:only-child{border-radius:.4rem}[data-theme=dark] button:hover:not(:disabled),[data-theme=dark] .button:hover:not(:disabled){background:var(--divider)}[data-theme=dark] .button-primary,[data-theme=dark] button.button-primary{color:var(--primary-text)}[data-theme=dark] .button-primary:hover:not(:disabled),[data-theme=dark] button.button-primary:hover:not(:disabled){background:color-mix(in srgb, var(--accent-color) 82%, white)}[data-theme=dark] .button-primary:active:not(:disabled),[data-theme=dark] button.button-primary:active:not(:disabled){background:color-mix(in srgb, var(--accent-color) 70%, white)}[data-theme=dark] .button-success,[data-theme=dark] button.button-success{color:var(--primary-text)}[data-theme=dark] .button-success:hover:not(:disabled),[data-theme=dark] button.button-success:hover:not(:disabled){background:color-mix(in srgb, var(--success) 82%, white)}[data-theme=dark] .button-success:active:not(:disabled),[data-theme=dark] button.button-success:active:not(:disabled){background:color-mix(in srgb, var(--success) 70%, white)}[data-theme=dark] .button-warning,[data-theme=dark] button.button-warning{color:var(--primary-text)}[data-theme=dark] .button-warning:hover:not(:disabled),[data-theme=dark] button.button-warning:hover:not(:disabled){background:color-mix(in srgb, var(--warning) 82%, white)}[data-theme=dark] .button-warning:active:not(:disabled),[data-theme=dark] button.button-warning:active:not(:disabled){background:color-mix(in srgb, var(--warning) 70%, white)}[data-theme=dark] .button-error,[data-theme=dark] button.button-error{color:var(--primary-text)}[data-theme=dark] .button-error:hover:not(:disabled),[data-theme=dark] button.button-error:hover:not(:disabled){background:color-mix(in srgb, var(--error) 82%, white)}[data-theme=dark] .button-error:active:not(:disabled),[data-theme=dark] button.button-error:active:not(:disabled){background:color-mix(in srgb, var(--error) 70%, white)}[data-theme=dark] .button-primary.is-loading::after,[data-theme=dark] button.button-primary.is-loading::after,[data-theme=dark] .button-success.is-loading::after,[data-theme=dark] button.button-success.is-loading::after,[data-theme=dark] .button-warning.is-loading::after,[data-theme=dark] button.button-warning.is-loading::after,[data-theme=dark] .button-error.is-loading::after,[data-theme=dark] button.button-error.is-loading::after{color:var(--primary-text)}.modal-wrapper{position:fixed;inset:0;z-index:999;pointer-events:none}.modal-wrapper.is-visible{pointer-events:auto}.modal-wrapper.is-visible .modal-background{opacity:1}.modal-wrapper.is-visible .modal{opacity:1;pointer-events:auto;transform:translate(-50%, -50%) scale(1)}.modal-background{position:absolute;inset:0;background:rgba(0,0,0,.45);opacity:0;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:opacity .3s ease}.modal{background:var(--background);border:1px solid var(--divider);border-radius:.8rem;box-shadow:0 20px 60px rgba(0,0,0,.15),0 4px 16px rgba(0,0,0,.08);padding:1rem;position:fixed;top:50%;left:50%;z-index:1000;width:90%;max-width:560px;max-height:90vh;overflow-x:hidden;overflow-y:auto;opacity:0;pointer-events:none;transform:translate(-50%, -50%) scale(0.96);transition:opacity .25s ease,transform .25s ease}.modal .close{position:absolute;top:1rem;right:1rem;cursor:pointer;z-index:1;color:var(--secondary-text);transition:color .15s ease}.modal .close:hover{color:var(--primary-text)}.modal .header{margin:-1rem -1rem 1rem;padding:1rem;border-bottom:1px solid var(--divider);border-radius:.8rem .8rem 0 0}.modal .footer{margin:1rem -1rem -1rem;padding:1rem;border-top:1px solid var(--divider);border-radius:0 0 .8rem .8rem;display:flex;justify-content:flex-end}.modal .footer .buttons{display:flex;gap:.5rem}@media screen and (max-width: 768px){.modal-wrapper.is-visible .modal{transform:translateY(0)}.modal{top:auto;bottom:0;left:0;right:0;width:100%;max-width:100%;max-height:85vh;border-radius:1.2rem 1.2rem 0 0;border-bottom:none;transform:translateY(20px);padding-bottom:calc(1rem + env(safe-area-inset-bottom))}.modal .header{border-radius:1.2rem 1.2rem 0 0}.modal .footer{border-radius:0}}.lightbox-wrapper{position:fixed;inset:0;z-index:999;pointer-events:none;display:flex;align-items:center;justify-content:center}.lightbox-wrapper.is-visible{pointer-events:auto}.lightbox-wrapper.is-visible .lightbox-background{opacity:1}.lightbox-wrapper.is-visible .lightbox{opacity:1;transform:scale(1)}.lightbox-wrapper.is-visible .lightbox-close,.lightbox-wrapper.is-visible .lightbox-prev,.lightbox-wrapper.is-visible .lightbox-next{opacity:1}.lightbox-background{position:absolute;inset:0;background:rgba(0,0,0,.88);opacity:0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:opacity .3s ease}.lightbox-close{position:absolute;top:1rem;right:1rem;z-index:1002;display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:none;border-radius:50%;background:hsla(0,0%,100%,.12);color:hsla(0,0%,100%,.8);cursor:pointer;opacity:0;transition:background .2s ease,color .2s ease,opacity .3s ease;-webkit-tap-highlight-color:rgba(0,0,0,0)}.lightbox-close .icon{font-size:1.25rem;line-height:1}.lightbox-close:hover{background:hsla(0,0%,100%,.22);color:#fff}.lightbox-close:focus-visible{outline:2px solid hsla(0,0%,100%,.6);outline-offset:2px}.lightbox{position:relative;z-index:1000;display:flex;flex-direction:column;align-items:center;max-width:min(90vw,1280px);opacity:0;transform:scale(0.97);transition:opacity .25s ease,transform .25s ease}.lightbox-img-wrap{position:relative;display:flex;align-items:center;justify-content:center;max-width:100%;max-height:calc(90dvh - 3.5rem);cursor:zoom-in;border-radius:.8rem;overflow:hidden;background:hsla(0,0%,100%,.04)}.lightbox-img-wrap.is-loading{min-width:6rem;min-height:6rem}.lightbox-img-wrap.is-loading .lightbox-img{opacity:0}.lightbox-img-wrap.is-loading .lightbox-spinner{display:flex}.lightbox-img-wrap.is-error{min-width:14rem;min-height:8rem;cursor:default}.lightbox-img-wrap.is-error .lightbox-img{display:none}.lightbox-img-wrap.is-error .lightbox-spinner{display:none}.lightbox-img-wrap.is-error::after{content:"Failed to load image";color:hsla(0,0%,100%,.4);font-size:.875rem;padding:2rem}.lightbox-img-wrap.is-zoomed{cursor:zoom-out;overflow:auto;max-height:90dvh;border-radius:0}.lightbox-spinner{position:absolute;inset:0;display:none;align-items:center;justify-content:center;z-index:1}.lightbox-spinner .spinner{border-color:hsla(0,0%,100%,.15);border-top-color:hsla(0,0%,100%,.7)}.lightbox-img{display:block;max-width:100%;max-height:calc(90dvh - 3.5rem);object-fit:contain;opacity:0;transition:opacity .25s ease;border-radius:.8rem;user-select:none;-webkit-user-drag:none}.lightbox-img.is-loaded{opacity:1}.lightbox-img.is-zoomed{max-width:none;max-height:none;border-radius:0}.lightbox-caption{margin:.6rem 0 0;color:hsla(0,0%,100%,.6);font-size:.875rem;text-align:center;max-width:60ch;line-height:1.5}.lightbox-counter{margin-top:.5rem;color:hsla(0,0%,100%,.4);font-size:.75rem;letter-spacing:.04em;text-align:center;user-select:none}.lightbox-prev,.lightbox-next{position:fixed;top:50%;transform:translateY(-50%);z-index:1001;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:none;border-radius:50%;background:rgba(0,0,0,.32);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:hsla(0,0%,100%,.92);cursor:pointer;opacity:0;transition:background .2s ease,opacity .3s ease,transform .2s ease;-webkit-tap-highlight-color:rgba(0,0,0,0)}.lightbox-prev .icon,.lightbox-next .icon{font-size:1.5rem;line-height:1}.lightbox-prev:hover,.lightbox-next:hover{background:rgba(0,0,0,.55)}.lightbox-prev:active,.lightbox-next:active{transform:translateY(-50%) scale(0.93)}.lightbox-prev:focus-visible,.lightbox-next:focus-visible{outline:2px solid hsla(0,0%,100%,.6);outline-offset:2px}.lightbox-prev{left:1rem}.lightbox-next{right:1rem}@media(max-width: 768px){.lightbox-prev,.lightbox-next{width:2rem;height:2rem}.lightbox-prev .icon,.lightbox-next .icon{font-size:1.25rem}.lightbox-prev{left:.5rem}.lightbox-next{right:.5rem}.lightbox{max-width:100vw}.lightbox-img,.lightbox-img-wrap{max-height:82dvh;border-radius:.4rem}.lightbox-close{top:.75rem;right:.75rem}}.popover{position:fixed;z-index:900;background:var(--background);border:1px solid var(--divider);border-radius:1rem;box-shadow:0 0 0 1px rgba(0,0,0,.03),0 4px 6px -2px rgba(0,0,0,.05),0 12px 24px -4px rgba(0,0,0,.12);min-width:160px;max-width:320px;opacity:0;pointer-events:none}.popover[data-placement=top]{transform-origin:bottom center;transform:translateY(6px) scale(0.95)}.popover[data-placement=bottom]{transform-origin:top center;transform:translateY(-6px) scale(0.95)}.popover[data-placement=left]{transform-origin:right center;transform:translateX(6px) scale(0.95)}.popover[data-placement=right]{transform-origin:left center;transform:translateX(-6px) scale(0.95)}.popover[data-placement=bottom][data-align=start]{transform-origin:top left}.popover[data-placement=bottom][data-align=end]{transform-origin:top right}.popover[data-placement=top][data-align=start]{transform-origin:bottom left}.popover[data-placement=top][data-align=end]{transform-origin:bottom right}.popover{transition:opacity .18s ease,transform .2s cubic-bezier(0.16, 1, 0.3, 1)}.popover.is-open{opacity:1;pointer-events:auto;transform:none !important}.popover[data-arrow=true]::before,.popover[data-arrow=true]::after{content:"";position:absolute;width:0;height:0;pointer-events:none}.popover[data-arrow=true][data-placement=bottom]::before{top:-7px;left:var(--popover-arrow-offset, 50%);transform:translateX(-50%);border:7px solid rgba(0,0,0,0);border-top-width:0;border-bottom-color:var(--divider)}.popover[data-arrow=true][data-placement=bottom]::after{top:-6px;left:var(--popover-arrow-offset, 50%);transform:translateX(-50%);border:6px solid rgba(0,0,0,0);border-top-width:0;border-bottom-color:var(--background)}.popover[data-arrow=true][data-placement=top]::before{bottom:-7px;left:var(--popover-arrow-offset, 50%);transform:translateX(-50%);border:7px solid rgba(0,0,0,0);border-bottom-width:0;border-top-color:var(--divider)}.popover[data-arrow=true][data-placement=top]::after{bottom:-6px;left:var(--popover-arrow-offset, 50%);transform:translateX(-50%);border:6px solid rgba(0,0,0,0);border-bottom-width:0;border-top-color:var(--background)}.popover[data-arrow=true][data-placement=right]::before{left:-7px;top:var(--popover-arrow-offset, 50%);transform:translateY(-50%);border:7px solid rgba(0,0,0,0);border-left-width:0;border-right-color:var(--divider)}.popover[data-arrow=true][data-placement=right]::after{left:-6px;top:var(--popover-arrow-offset, 50%);transform:translateY(-50%);border:6px solid rgba(0,0,0,0);border-left-width:0;border-right-color:var(--background)}.popover[data-arrow=true][data-placement=left]::before{right:-7px;top:var(--popover-arrow-offset, 50%);transform:translateY(-50%);border:7px solid rgba(0,0,0,0);border-right-width:0;border-left-color:var(--divider)}.popover[data-arrow=true][data-placement=left]::after{right:-6px;top:var(--popover-arrow-offset, 50%);transform:translateY(-50%);border:6px solid rgba(0,0,0,0);border-right-width:0;border-left-color:var(--background)}.popover-header{padding:.65rem 1rem;border-bottom:1px solid var(--divider);font-weight:600;font-size:.875rem;color:var(--primary-text);display:flex;align-items:center;justify-content:space-between;gap:.5rem;border-radius:1rem 1rem 0 0}.popover-body{padding:.75rem 1rem;color:var(--primary-text);font-size:.875rem;line-height:1.5}.popover-footer{padding:.65rem 1rem;border-top:1px solid var(--divider);display:flex;justify-content:flex-end;gap:.5rem;border-radius:0 0 1rem 1rem}.popover-menu{padding:.375rem 0}.popover-menu .popover-menu-item{display:flex;align-items:center;gap:.6rem;padding:.45rem 1rem;font-size:.875rem;color:var(--primary-text);cursor:pointer;transition:background .12s ease,color .12s ease;user-select:none}.popover-menu .popover-menu-item:hover{background:var(--hover)}.popover-menu .popover-menu-item.is-destructive{color:var(--error)}.popover-menu .popover-menu-item.is-destructive:hover{background:color-mix(in srgb, var(--error) 8%, transparent)}.popover-menu .popover-menu-divider{height:1px;background:var(--divider);margin:.375rem 0}.popover-menu .popover-menu-label{padding:.3rem 1rem .2rem;font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--secondary-text)}.placeholder{display:inline-block;cursor:wait;min-height:.65rem;margin-right:.5rem;border-radius:.4rem;background:linear-gradient(90deg, var(--divider) 25%, var(--secondary-background) 50%, var(--divider) 75%);background-size:200% 100%;animation:placeholder-shimmer 1.5s ease-in-out infinite}.placeholder.w-1{width:8.3333333333%}.placeholder.w-2{width:16.6666666667%}.placeholder.w-3{width:25%}.placeholder.w-4{width:33.3333333333%}.placeholder.w-5{width:41.6666666667%}.placeholder.w-6{width:50%}.placeholder.w-7{width:58.3333333333%}.placeholder.w-8{width:66.6666666667%}.placeholder.w-9{width:75%}.placeholder.w-10{width:83.3333333333%}.placeholder.w-11{width:91.6666666667%}.placeholder.w-12{width:100%}@keyframes placeholder-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.progress{width:100%;height:8px;background:var(--secondary-background);border-radius:.4rem;overflow:hidden}.progress-bar{height:100%;border-radius:.4rem;background:var(--primary-text);transition:width .3s ease;min-width:0}.progress-bar.accent{background:var(--accent-color)}.progress-bar.success{background:var(--success)}.progress-bar.warning{background:var(--warning)}.progress-bar.error{background:var(--error)}.progress-bar.animated{width:40% !important;background:var(--accent-color);animation:progress-indeterminate 1.4s ease-in-out infinite}@keyframes progress-indeterminate{0%{transform:translateX(-100%)}100%{transform:translateX(350%)}}@keyframes skeleton-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.skeleton-avatar,.skeleton-text,.skeleton{background:linear-gradient(90deg, var(--secondary-background) 25%, var(--divider) 50%, var(--secondary-background) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:.4rem;display:block}.skeleton-text{height:.85em;width:100%}.skeleton-avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0}.spinner{width:2.5rem;height:2.5rem;border:3px solid var(--divider);border-top-color:var(--accent-color);border-radius:50%;display:inline-block;animation:spinner-rotate .8s ease-in-out infinite}.spinner.small{width:1.25rem;height:1.25rem;border-width:2px}.spinner.large{width:3.5rem;height:3.5rem;border-width:4px}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.loading{display:inline-flex;align-items:center;gap:.5rem}.loading::before,.loading::after,.loading span{content:"";width:.5rem;height:.5rem;border-radius:50%;background-color:var(--accent-color);animation:loading-pulse 1.2s ease-in-out infinite}.loading span{animation-delay:.15s}.loading::after{animation-delay:.3s}@keyframes loading-pulse{0%,80%,100%{opacity:.25;transform:scale(0.8)}40%{opacity:1;transform:scale(1)}}.toast{display:flex;flex-direction:column;position:fixed;bottom:1rem;left:1rem;right:1rem;max-width:380px;margin:0 auto;background:var(--background);border-radius:.8rem;box-shadow:0 1px 2px rgba(56,65,74,.15),0 8px 24px rgba(0,0,0,.12);padding:.75rem 1rem;z-index:1000;overflow:hidden;transform:translateY(calc(100% + 2rem));opacity:0;transition:transform 300ms cubic-bezier(0.32, 0.72, 0, 1),opacity 200ms ease}.toast .bar{position:absolute;top:0;left:0;height:3px;width:100%;background:var(--accent-color);border-radius:0 0 2px 2px;transition:width 250ms linear}.toast.show{transform:translateY(0);opacity:1}.toast.success .bar{background:var(--success)}.toast.warning .bar{background:var(--warning)}.toast.error .bar{background:var(--error)}.toast .close{cursor:pointer;position:absolute;top:.75rem;right:.75rem;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:.4rem;transition:background 150ms ease}.toast .close:hover{background:var(--secondary-background)}.toast .header{padding-right:1.5rem;padding-bottom:.3333333333rem;font-weight:700}.toast .content{margin:0;color:var(--secondary-text);font-size:.875rem;line-height:1.5}nav.push-menu{position:fixed;top:0;left:0;width:280px;height:100%;overflow:hidden;transform:translateX(-100%);transition:transform 300ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1);z-index:10}nav.push-menu.pushed{transform:translateX(0);box-shadow:8px 0 32px rgba(0,0,0,.35)}.push-content{transition:transform 300ms cubic-bezier(0.4, 0, 0.2, 1);will-change:transform}.push-content.pushed{transform:translate3d(280px, 0, 0)}.push-menu-panel{position:absolute;inset:0;background:var(--primary-dark);transform:translateX(105%);transition:transform 300ms cubic-bezier(0.4, 0, 0.2, 1);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;will-change:transform}.push-menu-panel.is-active{transform:translateX(0)}.push-menu-panel.is-prev{transform:translateX(-20%)}.push-menu-panel[data-level="0"]>ul{padding-top:4.5rem;padding-bottom:1rem;margin:0;list-style:none;width:100%}.push-menu-panel-header{display:flex;align-items:center;gap:.75rem;padding:4.5rem 1.5rem 1rem 1.25rem;border-bottom:1px solid hsla(0,0%,100%,.07);position:sticky;top:0;background:var(--primary-dark);z-index:1;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0);transition:background 160ms ease}.push-menu-panel-header:hover{background:hsla(0,0%,100%,.05)}.push-menu-panel-header:hover .push-menu-back{background:hsla(0,0%,100%,.14);color:#fff}.push-menu-panel-header:active{background:hsla(0,0%,100%,.08)}.push-menu-panel-header:active .push-menu-back{transform:scale(0.92)}.push-menu-back{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.75rem;height:1.75rem;border-radius:.3rem;border:none;background:hsla(0,0%,100%,.08);color:hsla(0,0%,100%,.65);pointer-events:none;transition:background 160ms ease,color 160ms ease,transform 160ms ease}.push-menu-panel-title{color:hsla(0,0%,100%,.45);font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.push-menu-panel:not([data-level="0"])>ul{padding:.5rem 0;margin:0;list-style:none;width:100%}nav li{margin:0}nav a,.push-menu-item{color:var(--accent-color-text);font-size:.9rem;font-weight:500;letter-spacing:.03em;text-decoration:none;text-transform:uppercase;display:flex;align-items:center;padding:.85rem 1.5rem;transition:background 300ms cubic-bezier(0.4, 0, 0.2, 1),color 160ms ease;-webkit-tap-highlight-color:rgba(0,0,0,0);cursor:pointer;width:100%;box-sizing:border-box;user-select:none}nav a:hover,.push-menu-item:hover{color:#fff;background:hsla(0,0%,100%,.06)}nav a:active,.push-menu-item:active{background:hsla(0,0%,100%,.1)}nav li+li a,nav li+li .push-menu-item{border-top:1px solid hsla(0,0%,100%,.055)}.push-menu-chevron{margin-left:auto;flex-shrink:0;display:flex;align-items:center;opacity:.35;transition:opacity 160ms ease,transform 200ms cubic-bezier(0.4, 0, 0.2, 1)}.push-menu-item:hover .push-menu-chevron{opacity:.7;transform:translateX(2px)}.navigation-controls{line-height:inherit}.navigation-controls label{display:block;width:1.5rem;height:100%;color:var(--primary-text);text-align:center;top:0;left:0;z-index:500;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.navigation-controls input[type=checkbox]{display:none}.push-menu-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.4);opacity:0;visibility:hidden;transition:opacity 300ms cubic-bezier(0.4, 0, 0.2, 1),visibility 300ms cubic-bezier(0.4, 0, 0.2, 1);z-index:9;-webkit-tap-highlight-color:rgba(0,0,0,0)}.push-menu-backdrop.pushed{opacity:1;visibility:visible}.main-header{position:fixed;background:var(--secondary-background);width:100%;right:0;transition:width 300ms cubic-bezier(0.4, 0, 0.2, 1),transform 300ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1);height:3rem;display:flex;z-index:2;gap:1rem;border-bottom:1px solid var(--divider);top:0}.main-header>div:first-child{margin-left:1rem}.main-header>div:last-child{margin-right:1rem}.main-header>div{display:flex;align-items:center;line-height:3rem}.main-header .last{margin-left:auto}.main-header.pushed{width:calc(100% - 280px)}.main-header .navigation-controls{height:2.5rem}.main-header .navigation-controls label{display:block;position:relative;background:initial;width:inherit;height:inherit;border-radius:.4rem;transition:background 160ms ease}.main-header .navigation-controls label:active{background:rgba(0,0,0,.06)}.main-header .navigation-controls input[type=checkbox]:checked~label{left:0}.styled-checkbox{position:absolute;opacity:0;width:auto}.styled-checkbox+label{position:relative;cursor:pointer;padding:0;display:flex;margin-bottom:.5rem}.styled-checkbox+label::before{content:"";margin-right:10px;display:inline-block;flex-shrink:0;width:1rem;height:1rem;border:2px solid var(--divider);border-radius:.2rem;background-color:var(--background);margin-top:2px;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.styled-checkbox:hover+label::before{border-color:var(--accent-color)}.styled-checkbox:focus-visible+label::before{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-color) 15%, transparent);border-color:var(--accent-color)}.styled-checkbox:checked+label::before{background-color:var(--accent-color);border-color:var(--accent-color)}.styled-checkbox:checked+label::after{content:"";position:absolute;left:calc(2px + .5rem);top:calc(4px + .5rem);width:.28rem;height:.5rem;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:translate(-50%, -62%) rotate(45deg)}.styled-checkbox:disabled+label{color:var(--secondary-text);cursor:not-allowed}.styled-checkbox:disabled+label::before{background-color:var(--secondary-background);border-color:var(--disabled);box-shadow:none}.styled-checkbox:disabled:checked+label::before{background-color:var(--disabled);border-color:var(--disabled)}.radio-button-container{display:block;position:relative;padding-left:2rem;line-height:1.6rem;margin-bottom:.5rem;cursor:pointer;font-size:1rem;user-select:none}.radio-button-container input{position:absolute;opacity:0;width:0;height:0;cursor:pointer}.radio-button-container input:checked~.checkmark{border-color:var(--accent-color)}.radio-button-container input:checked~.checkmark::after{transform:translate(-50%, -50%) scale(1);opacity:1}.radio-button-container input:focus-visible~.checkmark{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-color) 15%, transparent);border-color:var(--accent-color)}.radio-button-container input:disabled~.checkmark{border-color:var(--disabled);cursor:not-allowed}.radio-button-container input:disabled~.checkmark::after{background:var(--disabled)}.radio-button-container input:disabled:checked~.checkmark{border-color:var(--disabled)}.radio-button-container:hover input:not(:disabled):not(:checked)~.checkmark{border-color:var(--accent-color)}.radio-button-container:has(input:disabled){cursor:not-allowed;color:var(--secondary-text)}.radio-button-container .checkmark{position:absolute;top:4px;left:0;height:1.15rem;width:1.15rem;background-color:var(--background);border-radius:50%;border:2px solid var(--divider);transition:border-color .15s ease,box-shadow .15s ease}.radio-button-container .checkmark::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%) scale(0);opacity:0;width:.55rem;height:.55rem;border-radius:50%;background:var(--accent-color);transition:transform .15s ease,opacity .15s ease}.switch input[type=checkbox]{position:absolute;opacity:0;width:auto}.switch label{cursor:pointer;width:3rem;height:1.5rem;background:var(--secondary-text);display:block;border-radius:1.5rem;position:relative;text-indent:3.5rem;white-space:nowrap}.switch label::after{content:"";position:absolute;top:.25rem;left:5px;width:1rem;height:1rem;background:var(--secondary-background);border-radius:50%;transition:.3s}.switch input:checked+label{background:var(--accent-color)}.switch input:checked+label::after{left:calc(100% - 5px);transform:translateX(-100%)}.tooltip{--tooltip-bg: var(--divider);position:fixed;z-index:10000;background:var(--divider);color:var(--primary-text);border-radius:.4rem;padding:.4rem .7rem;max-width:300px;font-size:.8rem;line-height:1.4;word-break:break-word;opacity:0;pointer-events:none;box-shadow:0 4px 12px rgba(0,0,0,.15);transition:opacity .2s ease,transform .2s ease}.tooltip[data-position=top]{transform:translateY(4px)}.tooltip[data-position=bottom]{transform:translateY(-4px)}.tooltip[data-position=left]{transform:translateX(4px)}.tooltip[data-position=right]{transform:translateX(-4px)}.tooltip.visible{opacity:1;transform:translate(0)}.tooltip::before{content:"";position:absolute;width:0;height:0;border:5px solid rgba(0,0,0,0)}.tooltip[data-position=top]::before{bottom:-5px;left:50%;transform:translateX(-50%);border-top-color:var(--tooltip-bg);border-bottom:none}.tooltip[data-position=bottom]::before{top:-5px;left:50%;transform:translateX(-50%);border-bottom-color:var(--tooltip-bg);border-top:none}.tooltip[data-position=left]::before{right:-5px;top:50%;transform:translateY(-50%);border-left-color:var(--tooltip-bg);border-right:none}.tooltip[data-position=right]::before{left:-5px;top:50%;transform:translateY(-50%);border-right-color:var(--tooltip-bg);border-left:none}.tooltip.tooltip-info{--tooltip-bg: var(--accent-color);background:var(--accent-color);color:var(--accent-color-text)}.tooltip.tooltip-success{--tooltip-bg: var(--success);background:var(--success);color:var(--background)}.tooltip.tooltip-warning{--tooltip-bg: var(--warning);background:var(--warning);color:var(--background)}.tooltip.tooltip-error{--tooltip-bg: var(--error);background:var(--error);color:var(--background)}.tooltip.tooltip-large{max-width:500px;font-size:.875rem;padding:.6rem .9rem}.tooltip code{padding:1px 5px;font-family:"Courier New",monospace;font-size:.9em;background:hsla(0,0%,100%,.15);border-radius:.2rem}.breadcrumb ol{display:flex;align-items:center;flex-wrap:wrap;row-gap:.25rem;list-style:none;margin:0;padding:0}.breadcrumb li{display:flex;align-items:center;min-width:0}.breadcrumb li+li::before{content:"";font-family:"Material Symbols Outlined 24pt";font-size:1.125rem;line-height:1;color:var(--divider);flex-shrink:0;user-select:none;pointer-events:none}.breadcrumb li a{display:flex;align-items:center;gap:.3rem;font-size:.8125rem;font-weight:450;color:var(--secondary-text);text-decoration:none;padding:.25rem .375rem;border-radius:.2rem;white-space:nowrap;transition:color .15s ease,background .15s ease}.breadcrumb li a .icon{font-size:1rem}.breadcrumb li a:hover{color:var(--primary-text);background:var(--secondary-background)}.breadcrumb li a:focus-visible{outline:2px solid var(--accent-color);outline-offset:-1px;border-radius:.2rem}.breadcrumb li[aria-current=page]>span{display:block;font-size:.8125rem;font-weight:550;color:var(--primary-text);padding:.25rem .375rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:28ch}@media(max-width: 600px){.breadcrumb--collapse li:not(:nth-last-child(-n+2)){display:none}.breadcrumb--collapse li:nth-last-child(2):not(:first-child)::before{content:"···";font-family:inherit;font-size:.875rem;letter-spacing:.04em;color:var(--divider);padding:0 .125rem}}.page-header{padding-block:1.25rem 1rem}.page-header .breadcrumb{margin-bottom:.5rem}.page-header__title-row{display:flex;align-items:flex-start;gap:1rem}.page-header__title-row h1,.page-header__title-row h2,.page-header__title-row h3,.page-header__title-row h4,.page-header__title-row .h1,.page-header__title-row .h2,.page-header__title-row .h3,.page-header__title-row .h4{margin:0;flex:1;min-width:0}.page-header__actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0;padding-top:.3rem}.page-header__description{margin:.375rem 0 0;padding-bottom:0;font-size:.875rem;line-height:1.55;color:var(--secondary-text)}.page-header--bordered{border-bottom:1px solid var(--divider);padding-bottom:1.25rem;margin-bottom:1.5rem}@media(max-width: 540px){.page-header__title-row{flex-wrap:wrap}.page-header__actions{width:100%;padding-top:.25rem}.page-header__actions button,.page-header__actions .button{flex:1;justify-content:center}}.chips{display:flex;flex-wrap:wrap;gap:.35rem}.chips .chip{display:inline-flex;align-items:center;gap:.35rem;background:var(--secondary-background);color:var(--primary-text);padding:.3rem .75rem;border-radius:1.6rem;font-size:.8125rem;font-weight:500;line-height:1.4;letter-spacing:.01em;white-space:nowrap;border:1px solid rgba(0,0,0,0);position:relative;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .15s ease}.chips .chip.clickable{cursor:pointer}.chips .chip.clickable:hover{background:var(--divider)}.chips .chip.clickable:active{transform:scale(0.96)}.chips .chip.clickable:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-color) 35%, transparent)}.chips .chip.closeable{padding-right:1.8rem}.chips .chip.closeable button{position:absolute;right:.4rem;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;padding:0;background:rgba(0,0,0,0);color:var(--secondary-text);border:0;height:1.1rem;width:1.1rem;border-radius:50%;cursor:pointer;transition:background .15s ease,color .15s ease}.chips .chip.closeable button:hover{background:color-mix(in srgb, var(--primary-text) 12%, transparent);color:var(--primary-text)}.chips .chip.closeable button:active{background:color-mix(in srgb, var(--primary-text) 18%, transparent)}.chips .chip.closeable button .icon,.chips .chip.closeable button .icon-svg{font-size:.8rem;width:.8rem;height:.8rem}.chips .chip-accent{background:color-mix(in srgb, var(--accent-color) 12%, var(--background));color:var(--accent-color);border-color:color-mix(in srgb, var(--accent-color) 20%, transparent)}.chips .chip-accent.closeable button:hover{background:color-mix(in srgb, var(--accent-color) 15%, transparent);color:var(--accent-color)}.chips .chip-success{background:color-mix(in srgb, var(--success) 12%, var(--background));color:var(--success);border-color:color-mix(in srgb, var(--success) 20%, transparent)}.chips .chip-success.closeable button:hover{background:color-mix(in srgb, var(--success) 15%, transparent);color:var(--success)}.chips .chip-warning{background:color-mix(in srgb, var(--warning) 12%, var(--background));color:var(--warning);border-color:color-mix(in srgb, var(--warning) 20%, transparent)}.chips .chip-warning.closeable button:hover{background:color-mix(in srgb, var(--warning) 15%, transparent);color:var(--warning)}.chips .chip-error{background:color-mix(in srgb, var(--error) 12%, var(--background));color:var(--error);border-color:color-mix(in srgb, var(--error) 20%, transparent)}.chips .chip-error.closeable button:hover{background:color-mix(in srgb, var(--error) 15%, transparent);color:var(--error)}.chips .chip-outline{background:rgba(0,0,0,0);border-color:var(--divider);color:var(--secondary-text)}.chips .chip-outline.clickable:hover{background:var(--hover);border-color:color-mix(in srgb, var(--divider) 80%, var(--primary-text))}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .5rem;border-radius:1.6rem;font-size:.75rem;font-weight:500;line-height:1.4;letter-spacing:.01em;white-space:nowrap;vertical-align:middle;border:1px solid rgba(0,0,0,0);background:var(--secondary-background);color:var(--secondary-text)}.badge-info{background:color-mix(in srgb, var(--accent-color) 12%, var(--background));color:var(--accent-color);border-color:color-mix(in srgb, var(--accent-color) 20%, transparent)}.badge-success{background:color-mix(in srgb, var(--success) 12%, var(--background));color:var(--success);border-color:color-mix(in srgb, var(--success) 20%, transparent)}.badge-warning{background:color-mix(in srgb, var(--warning) 12%, var(--background));color:var(--warning);border-color:color-mix(in srgb, var(--warning) 20%, transparent)}.badge-error{background:color-mix(in srgb, var(--error) 12%, var(--background));color:var(--error);border-color:color-mix(in srgb, var(--error) 20%, transparent)}.badge-solid.badge-info{background:var(--accent-color);color:#fff;border-color:rgba(0,0,0,0)}.badge-solid.badge-success{background:var(--success);color:#fff;border-color:rgba(0,0,0,0)}.badge-solid.badge-warning{background:var(--warning);color:#fff;border-color:rgba(0,0,0,0)}.badge-solid.badge-error{background:var(--error);color:#fff;border-color:rgba(0,0,0,0)}.badge-outline{background:rgba(0,0,0,0);border-color:var(--divider);color:var(--secondary-text)}.badge-outline.badge-info{border-color:var(--accent-color);color:var(--accent-color)}.badge-outline.badge-success{border-color:var(--success);color:var(--success)}.badge-outline.badge-warning{border-color:var(--warning);color:var(--warning)}.badge-outline.badge-error{border-color:var(--error);color:var(--error)}.badge-sm{padding:.1rem .35rem;font-size:.6875rem}.badge-lg{padding:.25rem .65rem;font-size:.875rem}.badge-dot{width:.5rem;height:.5rem;padding:0;border-radius:50%;background:var(--divider);border:none}.badge-dot.badge-info{background:var(--accent-color)}.badge-dot.badge-success{background:var(--success)}.badge-dot.badge-warning{background:var(--warning)}.badge-dot.badge-error{background:var(--error)}@keyframes stepper-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent-color) 35%, transparent)}65%{box-shadow:0 0 0 6px rgba(0,0,0,0)}100%{box-shadow:0 0 0 0 rgba(0,0,0,0)}}@keyframes stepper-check-in{0%{transform:scale(0.5);opacity:0}60%{transform:scale(1.15)}100%{transform:scale(1);opacity:1}}@keyframes stepper-complete-pop{0%{transform:scale(1)}40%{transform:scale(1.18)}100%{transform:scale(1)}}.stepper{display:flex;align-items:flex-start}.stepper-step{display:flex;flex-direction:column;align-items:center;gap:.4rem;flex-shrink:0}.stepper-indicator{width:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.8125rem;font-weight:600;line-height:1;border:2px solid var(--divider);background:var(--background);color:var(--secondary-text);transition:background .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease;position:relative;z-index:1}.stepper-indicator .icon-svg{width:1rem;height:1rem}.stepper-label{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.125rem}.stepper-title{font-size:.8125rem;font-weight:500;color:var(--secondary-text);transition:color .25s ease,font-weight .25s ease;white-space:nowrap}.stepper-desc{font-size:.6875rem;color:var(--secondary-text);opacity:.6;white-space:nowrap;transition:opacity .25s ease}.stepper-connector{flex:1;height:2px;margin-top:calc(2rem/2 - 2px/2);min-width:1rem;background:var(--divider);border-radius:2px;position:relative;overflow:hidden}.stepper-connector::after{content:"";position:absolute;inset:0;background:var(--accent-color);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(0.4, 0, 0.2, 1)}.stepper-connector.completed::after{transform:scaleX(1)}.stepper-step.active .stepper-indicator{border-color:var(--accent-color);background:color-mix(in srgb, var(--accent-color) 10%, var(--background));color:var(--accent-color);animation:stepper-pulse 2.4s ease-out infinite}.stepper-step.active .stepper-title{color:var(--accent-color);font-weight:600}.stepper-step.active .stepper-desc{opacity:.8}.stepper-step.completed .stepper-indicator{border-color:var(--accent-color);background:var(--accent-color);color:#fff;animation:stepper-complete-pop .35s ease-out}.stepper-step.completed .stepper-indicator .icon-svg{animation:stepper-check-in .3s ease-out .05s both}.stepper-step.completed .stepper-title{color:var(--primary-text)}.stepper-step.error .stepper-indicator{border-color:var(--error);background:color-mix(in srgb, var(--error) 10%, var(--background));color:var(--error);animation:none}.stepper-step.error .stepper-title{color:var(--error)}.stepper-step.error .stepper-desc{color:var(--error);opacity:.7}.stepper-vertical{flex-direction:column}.stepper-vertical .stepper-step{flex-direction:row;align-items:flex-start;gap:1rem}.stepper-vertical .stepper-label{align-items:flex-start;text-align:left;padding-top:calc((2rem - 1.15rem)/2)}.stepper-vertical .stepper-connector{width:2px;height:auto;min-height:1.5rem;min-width:unset;flex:unset;margin-top:0;margin-left:calc(2rem/2 - 2px/2);align-self:flex-start;border-radius:2px}.stepper-vertical .stepper-connector::after{transform:scaleY(0);transform-origin:top}.stepper-vertical .stepper-connector.completed::after{transform:scaleY(1)}.stepper-clickable .stepper-step.completed,.stepper-clickable .stepper-step.active{cursor:pointer}.stepper-clickable .stepper-step.completed .stepper-indicator,.stepper-clickable .stepper-step.active .stepper-indicator{transition:background .3s ease,border-color .3s ease,color .3s ease,transform .2s ease,box-shadow .2s ease}.stepper-clickable .stepper-step.completed:hover .stepper-indicator,.stepper-clickable .stepper-step.active:hover .stepper-indicator{transform:scale(1.12);box-shadow:0 2px 8px color-mix(in srgb, var(--accent-color) 25%, transparent)}.stepper-clickable .stepper-step.completed:active .stepper-indicator,.stepper-clickable .stepper-step.active:active .stepper-indicator{transform:scale(1.04)}@media(max-width: 480px){.stepper:not(.stepper-vertical) .stepper-label{display:none}.stepper:not(.stepper-vertical) .stepper-connector{min-width:.5rem}}ul.tree{list-style:none}ul.tree li{list-style:none}.tree-node{position:relative;margin:.25rem 0}.tree-item{position:relative;display:flex;align-items:center;min-height:3rem;padding:.875rem 1rem;cursor:pointer;user-select:none;overflow:hidden;border:1px solid rgba(0,0,0,0);border-radius:.8rem;transition:background .2s ease,border-color .2s ease;-webkit-tap-highlight-color:rgba(0,0,0,0)}.tree-item::before{content:"";position:absolute;inset:0;background:var(--secondary-background);opacity:0;transition:opacity .2s ease}.tree-item:hover:not(.selected)::before{opacity:1}.tree-item.selected{background:var(--accent-color);border-color:var(--accent-color)}.tree-item.selected .tree-label{color:var(--accent-color-text)}.tree-item.selected .tree-icon svg{stroke:var(--accent-color-text)}.tree-item.expanded>.tree-icon svg.chevron{transform:rotate(90deg)}.tree-item.file .tree-label{color:var(--secondary-text);font-weight:400}.tree-icon{position:relative;z-index:1;width:24px;height:24px;margin-right:.75rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tree-icon svg{width:100%;height:100%;stroke:var(--primary-text);stroke-width:2;fill:none;transition:transform .3s cubic-bezier(0.16, 1, 0.3, 1)}.tree-label{position:relative;z-index:1;flex:1;font-family:"JetBrains Mono",ui-monospace,"Cascadia Code","Fira Code",monospace;font-size:.9375rem;font-weight:500;letter-spacing:-0.3px;color:var(--primary-text)}.tree-children{list-style:none;margin-left:1rem;padding-left:1rem;border-left:2px solid var(--divider);height:0;overflow:hidden;opacity:0;transition:height .35s cubic-bezier(0.16, 1, 0.3, 1),opacity .25s ease}.tree-children.expanded{opacity:1;margin-top:.25rem;margin-bottom:.25rem}@media(max-width: 768px){.tree-item{min-height:3.5rem;padding:1rem}.tree-icon{width:28px;height:28px}.tree-label{font-size:1rem}.tree-children{margin-left:.75rem;padding-left:.75rem}}.container{max-width:800px;margin:0 auto}.datepicker{background:var(--background);border:1px solid var(--divider);border-radius:.4rem;width:320px;padding:1rem;user-select:none;box-shadow:0 1px 2px rgba(56,65,74,.15);display:none;position:absolute;z-index:1000;box-sizing:border-box}.datepicker.visible{display:block}.datepicker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.datepicker-nav{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:.4rem;color:var(--primary-text);transition:background-color .2s}.datepicker-nav:hover{background-color:var(--accent-color-lighten);color:var(--accent-color-text)}.datepicker-title{display:flex;gap:.5rem;font-weight:600}.datepicker-select{border:none;background:none;font-family:inherit;font-weight:600;font-size:1rem;cursor:pointer;padding:.25rem;border-radius:.25rem}.datepicker-select:hover{background-color:var(--accent-color-lighten)}.datepicker-grid{display:grid;grid-template-columns:repeat(7, 1fr);gap:.25rem;text-align:center}.datepicker-day-header{font-size:.875rem;color:var(--text-muted);font-weight:500;padding:.5rem 0}.datepicker-day{padding:.5rem 0;font-size:1rem;cursor:pointer;border-radius:.4rem;transition:all .2s}.datepicker-day:hover:not(.disabled){background-color:var(--accent-color-lighten)}.datepicker-day.other-month{color:var(--disabled)}.datepicker-day.selected{background-color:var(--accent-color);color:var(--accent-color-text)}.datepicker-day.in-range{background-color:var(--accent-color-lighten);color:var(--accent-color-text);border-radius:0}.datepicker-day.range-start{background-color:var(--accent-color);color:var(--accent-color-text);border-top-left-radius:.4rem;border-bottom-left-radius:.4rem}.datepicker-day.range-end{background-color:var(--accent-color);color:var(--accent-color-text);border-top-right-radius:.4rem;border-bottom-right-radius:.4rem}.datepicker-day.today{font-weight:bold;color:var(--accent-color)}.datepicker-day.selected.today{color:var(--accent-color-text)}.datepicker-grid-months,.datepicker-grid-years{display:grid;grid-template-columns:repeat(3, 1fr);gap:.5rem;text-align:center;padding:.5rem 0}.datepicker-month,.datepicker-year{padding:.75rem .25rem;font-size:.9rem;cursor:pointer;border-radius:.4rem;transition:all .2s}.datepicker-month:hover,.datepicker-year:hover{background-color:var(--accent-color-lighten)}.datepicker-month.selected,.datepicker-year.selected{background-color:var(--accent-color);color:var(--accent-color-text)}.datepicker-month.current,.datepicker-year.current{font-weight:bold;color:var(--accent-color)}.datepicker-month.selected.current,.datepicker-year.selected.current{color:var(--accent-color-text)}.datepicker-title-btn{background:none;border:none;font-family:inherit;font-weight:600;font-size:1rem;cursor:pointer;padding:.25rem .5rem;border-radius:.4rem;color:var(--primary-text);transition:background-color .2s}.datepicker-title-btn:hover{background-color:var(--accent-color-lighten)}.datepicker-time{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--divider);margin-top:1rem;padding-top:1rem}.datepicker-time-label{font-size:.875rem;font-weight:600;color:var(--primary-text)}.datepicker-time-controls{display:flex;align-items:center;gap:.25rem}.datepicker-time-separator{font-size:1.1rem;font-weight:600;color:var(--primary-text);padding:0 .125rem}.datepicker-time-spinner{display:flex;flex-direction:column;align-items:center;gap:.125rem}.datepicker-time-btn{background:none;border:1px solid var(--divider);border-radius:.4rem;cursor:pointer;padding:.125rem .5rem;font-size:.6rem;line-height:1;color:var(--primary-text);transition:background-color .2s}.datepicker-time-btn:hover{background-color:var(--accent-color-lighten);color:var(--accent-color-text)}.datepicker-time-display{width:2.5rem;text-align:center;font-size:1rem;font-weight:600;font-family:inherit;border:1px solid var(--divider);border-radius:.4rem;padding:.25rem 0;background:var(--background);color:var(--primary-text);-moz-appearance:textfield}.datepicker-time-display::-webkit-inner-spin-button,.datepicker-time-display::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.datepicker-time-display:focus{outline:2px solid var(--accent-color);outline-offset:-1px}.datepicker-set-btn{width:100%;padding:.5rem 1rem;margin-top:1rem;background-color:var(--accent-color);color:var(--accent-color-text);border:none;border-radius:.4rem;font-family:inherit;font-size:.875rem;font-weight:600;cursor:pointer;transition:opacity .2s}.datepicker-set-btn:hover{opacity:.9}@media(max-width: 640px){.datepicker-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:999;display:none}.datepicker-backdrop.visible{display:block}.datepicker.mobile{position:fixed;top:auto;bottom:0;left:0;width:100%;max-width:100%;border-radius:.4rem .4rem 0 0;box-shadow:0 1px 2px rgba(56,65,74,.15);animation:slideUp .3s ease-out;transform:none !important}@keyframes slideUp{from{transform:translateY(100%)}to{transform:translateY(0)}}.datepicker{width:100%;max-width:320px}.datepicker-day{padding:.75rem 0}}.flyout-menu,.flyout-overlay,.site-header,.main-content{--flyout-text: #f8fafc;--flyout-bg: rgba(15, 23, 42, 0.7);--flyout-border: rgba(255, 255, 255, 0.1)}:root{--menu-width: 320px;--transition-speed: 0.4s}*{box-sizing:border-box;margin:0;padding:0}body{overflow-x:hidden;min-height:100vh}.site-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;position:relative;z-index:10}.logo{font-size:1.5rem;font-weight:700;letter-spacing:-0.02em}.menu-trigger{background:none;border:none;color:var(--flyout-text);cursor:pointer;padding:.5rem;transition:transform .2s}.menu-trigger:hover{transform:scale(1.1);color:var(--accent-color)}.main-content{display:flex;flex-direction:column;align-items:center;justify-content:center;height:80vh;text-align:center;padding:2rem}.main-content h1{font-size:3rem;margin-bottom:1rem;background:linear-gradient(to right, #c084fc, #6366f1);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0)}.main-content p{color:#94a3b8;font-size:1.2rem}.flyout-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:opacity var(--transition-speed),visibility var(--transition-speed);z-index:200}.flyout-overlay.is-visible{opacity:1;visibility:visible}.flyout-menu{position:fixed;background:var(--flyout-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:210;display:flex;flex-direction:column;padding:2rem;box-shadow:0 0 30px rgba(0,0,0,.5);transition:transform var(--transition-speed) cubic-bezier(0.25, 1, 0.5, 1)}.flyout-from-right{top:0;right:0;width:var(--menu-width);height:100%;border-left:1px solid var(--flyout-border);transform:translateX(100%)}.flyout-from-left{top:0;left:0;width:var(--menu-width);height:100%;border-right:1px solid var(--flyout-border);transform:translateX(-100%)}.flyout-menu.is-open{transform:translate(0, 0)}.flyout-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:3rem}.flyout-title{font-size:1.25rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.1em}.close-menu{background:none;border:none;color:var(--flyout-text);cursor:pointer;padding:.5rem;transition:transform .2s,color .2s}.close-menu:hover{transform:rotate(90deg);color:var(--accent-color)}.flyout-links{list-style:none;flex-grow:1}.flyout-links li{margin-bottom:1.5rem;overflow:hidden}.flyout-links a,.submenu-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;font-size:2rem;font-weight:600;color:var(--flyout-text);text-decoration:none;cursor:pointer;font-family:inherit;padding:0;transform:translateY(100%);transition:transform .4s cubic-bezier(0.16, 1, 0.3, 1),color .2s;transition-delay:var(--delay);text-align:left}.flyout-menu.is-open .flyout-links a,.flyout-menu.is-open .submenu-toggle{transform:translateY(0)}.flyout-links a:hover,.submenu-toggle:hover{color:var(--accent-color)}.chevron{transition:transform .3s;opacity:.7}.submenu-toggle.active .chevron{transform:rotate(180deg)}.submenu{list-style:none;max-height:0;overflow:hidden;transition:max-height .3s ease-out;padding-left:1rem;border-left:1px solid hsla(0,0%,100%,.1);margin-top:0}.submenu.is-open{max-height:500px;margin-top:1rem;transition:max-height .4s cubic-bezier(0.16, 1, 0.3, 1)}.submenu li{margin-bottom:.5rem}.submenu a{font-size:1.25rem;font-weight:400;color:#cbd5e1;transform:none !important;transition-delay:0s !important}.submenu .submenu-toggle{font-size:1.25rem;font-weight:400;color:#cbd5e1;transform:none !important;transition-delay:0s !important;padding:0;margin:0}.flyout-footer{padding-top:2rem;border-top:1px solid var(--flyout-border);color:#64748b;font-size:.9rem;opacity:0;transform:translateY(20px);transition:opacity .4s,transform .4s;transition-delay:var(--delay)}.flyout-menu.is-open .flyout-footer{opacity:1;transform:translateY(0)}@media(max-width: 480px){:root{--menu-width: 100%}.main-content h1{font-size:2rem}.flyout-from-right,.flyout-from-left,.flyout-from-top{width:100% !important;height:100% !important;top:0 !important;left:0 !important;right:auto !important;bottom:auto !important;border:none !important;border-right:1px solid var(--flyout-border) !important;transform:translateX(-100%) !important}.flyout-from-right,.flyout-from-left,.flyout-from-top{transform:translateX(-100%) !important}.flyout-menu.is-open{transform:translate(0, 0) !important}.flyout-from-top .flyout-links{flex-direction:column;align-items:stretch;gap:0}.flyout-from-top .flyout-links>li{margin-bottom:1.5rem}.flyout-from-top .flyout-links>li>a,.flyout-from-top .flyout-links>li>.submenu-toggle{font-size:2rem;justify-content:space-between}.flyout-from-top .submenu{position:static;transform:none;margin-top:0;min-width:100%;box-shadow:none;border:none;background:rgba(0,0,0,0);padding-left:1rem;border-left:1px solid hsla(0,0%,100%,.1);text-align:left}.flyout-from-top .submenu.is-open{transform:none;margin-top:1rem}.flyout-from-top .submenu a{font-size:1.25rem;justify-content:space-between}}.tabs-container{display:flex;flex-direction:column;overflow:hidden}.tabs-container li{list-style:none}.tabs-container.tabs-vertical{flex-direction:row;min-height:300px}.tabs-header{border-bottom:1px solid var(--divider)}.tabs-list{display:flex;margin:0;padding:0;overflow-x:auto;scrollbar-width:none}.tabs-list::-webkit-scrollbar{display:none}.tab-item{padding:.75rem 1.25rem;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--secondary-text);white-space:nowrap;user-select:none;transition:color .15s ease,border-color .15s ease;border-bottom:2px solid rgba(0,0,0,0)}.tab-item:hover{color:var(--accent-color)}.tab-item.active{color:var(--accent-color);font-weight:600;border-bottom-color:var(--accent-color)}.tabs-content{padding:1.5rem}.tab-panel{display:none}.tab-panel.active{display:block}.tabs-container.tabs-vertical .tabs-header{border-bottom:none;border-right:1px solid var(--divider);min-width:200px}.tabs-container.tabs-vertical .tabs-list{flex-direction:column}.tabs-container.tabs-vertical .tab-item{width:100%;box-sizing:border-box;border-bottom:none;border-left:2px solid rgba(0,0,0,0)}.tabs-container.tabs-vertical .tab-item.active{border-left-color:var(--accent-color);font-weight:600}.tabs-container.tabs-vertical .tabs-content{flex:1}.tabs-container.tabs-pills .tabs-header{border-bottom:none;padding-bottom:.5rem}.tabs-container.tabs-pills .tabs-list{gap:.375rem}.tabs-container.tabs-pills .tab-item{border-bottom:none;border-radius:2rem;padding:.4rem 1rem;background:rgba(0,0,0,0)}.tabs-container.tabs-pills .tab-item:hover{background:var(--hover);color:var(--primary-text)}.tabs-container.tabs-pills .tab-item.active{background:var(--accent-color);color:#fff;border-bottom-color:rgba(0,0,0,0)}@media(max-width: 768px){.tabs-container.tabs-vertical{flex-direction:column}.tabs-container.tabs-vertical .tabs-header{width:100%;border-right:none;border-bottom:1px solid var(--divider)}.tabs-container.tabs-vertical .tabs-list{flex-direction:row;overflow-x:auto}.tabs-container.tabs-vertical .tab-item{width:auto;flex-shrink:0;border-left:none;border-bottom:2px solid rgba(0,0,0,0)}.tabs-container.tabs-vertical .tab-item.active{border-bottom-color:var(--accent-color)}}.accordion{margin:0 auto;border:1px solid var(--divider);border-radius:.4rem;overflow:hidden}.accordion-item{border-bottom:1px solid var(--divider)}.accordion-item:last-child{border-bottom:none}.accordion-toggle{display:none}.accordion-header{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1.25rem;background:rgba(0,0,0,0);font-weight:500;cursor:pointer;transition:background 160ms ease,color 160ms ease;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.accordion-header:hover{background:var(--hover)}.accordion-header:active{background:var(--hover)}.accordion-header::after{content:"";width:8px;height:8px;border-right:1.5px solid var(--secondary-text);border-bottom:1.5px solid var(--secondary-text);transform:rotate(45deg);transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1),border-color 160ms ease;margin-left:1rem;flex-shrink:0}.accordion-toggle:checked+.accordion-header{color:var(--accent-color)}.accordion-toggle:checked+.accordion-header::after{transform:rotate(-135deg);border-color:var(--accent-color)}.accordion-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows 300ms cubic-bezier(0.4, 0, 0.2, 1);overflow:hidden}.accordion-toggle:checked~.accordion-content{grid-template-rows:1fr}.accordion-body{min-height:0;padding:0;overflow:hidden}.accordion-body>*{padding:0 1.25rem 1.25rem;color:var(--secondary-text);font-size:.9rem;line-height:1.6}.timeline{position:relative;list-style:none;padding:0;margin:0}.timeline::before{content:"";position:absolute;left:calc(.625rem - 1px);top:0;bottom:0;width:2px;background:var(--divider)}.timeline-item{display:flex;gap:1.25rem;align-items:flex-start;margin-bottom:2rem;position:relative}.timeline-item:last-child{margin-bottom:0}.timeline-marker{flex-shrink:0;width:1.25rem;height:1.25rem;border-radius:50%;border:2px solid var(--divider);background:var(--background);display:flex;align-items:center;justify-content:center;color:var(--secondary-text);position:relative;z-index:1;margin-top:.15rem}.timeline-marker.success{border-color:var(--success);background:var(--success);color:#fff}.timeline-marker.warning{border-color:var(--warning);background:var(--warning);color:#fff}.timeline-marker.error{border-color:var(--error);background:var(--error);color:#fff}.timeline-marker.accent{border-color:var(--accent-color);background:var(--accent-color);color:#fff}.timeline-marker svg{display:block}.timeline-content{flex:1;min-width:0;padding:1.25rem;border:1px solid var(--divider);border-radius:.4rem;background:var(--background);box-shadow:0 1px 2px rgba(56,65,74,.15)}.timeline-time{display:block;font-size:.78rem;font-weight:600;color:var(--secondary-text);margin-bottom:.2rem}.timeline-title{font-size:.95rem;font-weight:600;color:var(--primary-text);margin:0 0 .3rem}.timeline-content p{font-size:.875rem;line-height:1.6;color:var(--secondary-text);margin:0}:root{--bubble-radius: 18px}.chat{display:flex;flex-direction:column;gap:.4rem;padding:1rem;width:100%}.chat-message.incoming+.chat-message.outgoing,.chat-message.outgoing+.chat-message.incoming{margin-top:.5rem}.chat-message{display:flex;align-items:flex-end;gap:.6rem}.chat-message.outgoing{flex-direction:row-reverse}.chat-message.outgoing .chat-bubble{background:var(--accent-color);color:#fff;border-bottom-right-radius:0;filter:drop-shadow(0 1px 2px rgba(0, 0, 0, 0.15))}.chat-message.outgoing .chat-bubble::after{content:"";position:absolute;bottom:0;right:-8px;width:8px;height:8px;background:var(--accent-color);clip-path:polygon(0% 0%, 0% 100%, 100% 100%)}.chat-message.outgoing .chat-bubble .chat-time{color:hsla(0,0%,100%,.65)}.chat-message.incoming .chat-bubble{background:var(--secondary-background);color:var(--primary-text);border-bottom-left-radius:0;filter:drop-shadow(0 1px 2px rgba(0, 0, 0, 0.08))}.chat-message.incoming .chat-bubble::after{content:"";position:absolute;bottom:0;left:-8px;width:8px;height:8px;background:var(--secondary-background);clip-path:polygon(100% 0%, 0% 100%, 100% 100%)}.chat-avatar{flex-shrink:0;width:2rem;height:2rem;border-radius:50%;background:var(--accent-color-tint);color:var(--accent-color);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;overflow:hidden}.chat-avatar img{width:100%;height:100%;object-fit:cover}.chat-bubble{position:relative;max-width:72%;padding:.55rem .85rem;border-radius:var(--bubble-radius);line-height:1.45;word-wrap:break-word}.chat-bubble p{margin:0;font-size:.9rem}.chat-time{display:block;font-size:.68rem;letter-spacing:.01em;text-align:right;margin-top:4px;opacity:.5;color:inherit}[data-theme=dark] .chat-message.incoming .chat-bubble{filter:drop-shadow(0 1px 3px rgba(0, 0, 0, 0.35))}[data-theme=dark] .chat-message.outgoing .chat-bubble{filter:drop-shadow(0 1px 3px rgba(0, 0, 0, 0.4))}.carousel{position:relative;width:100%;margin:0 auto;overflow:hidden;border-radius:.4rem;box-shadow:0 1px 2px rgba(56,65,74,.15);background:var(--secondary-background)}.carousel::after{content:"";position:absolute;bottom:0;left:0;right:0;height:96px;background:linear-gradient(to top, rgba(0, 0, 0, 0.38), transparent);pointer-events:none;z-index:5}.carousel-track-container{overflow:hidden;width:100%}.carousel-track{display:flex;transition:transform .4s cubic-bezier(0.25, 0.46, 0.45, 0.94);width:100%;padding:0;margin:0;list-style:none}.carousel-slide{min-width:100%;box-sizing:border-box;min-height:400px;display:flex;align-items:center;justify-content:center;font-size:2rem;user-select:none}.carousel-button{position:absolute;top:50%;transform:translateY(-50%);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;width:2.5rem;height:2.5rem;border-radius:50%;border:none;background:rgba(0,0,0,.32);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:hsla(0,0%,100%,.92);opacity:.85;transition:background .2s ease,transform .2s ease,opacity .2s ease;-webkit-tap-highlight-color:rgba(0,0,0,0)}.carousel-button .icon{font-size:1.5rem;line-height:1}.carousel-button:hover{background:rgba(0,0,0,.55);opacity:1;transform:translateY(-50%) scale(1.08)}.carousel-button:active{transform:translateY(-50%) scale(0.93)}.carousel-button--left{left:.75rem}.carousel-button--right{right:.75rem}.carousel-nav{display:flex;align-items:center;justify-content:center;padding:.75rem 0;position:absolute;bottom:0;width:100%;z-index:10}.carousel-indicator{padding:0;border:none;width:.5rem;height:4px;background:hsla(0,0%,100%,.4);margin:0 .2rem;border-radius:99px;cursor:pointer;transition:width .35s cubic-bezier(0.25, 0.46, 0.45, 0.94),background .25s ease}.carousel-indicator.current-slide{width:1.5rem;background:#fff}.code-display{background:#1e1e1e;border-radius:.4rem;overflow:hidden;margin:1.25rem 0;box-shadow:0 1px 2px rgba(56,65,74,.15)}.code-header{background:#2d2d2d;padding:.6rem 1rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #3d3d3d}.code-language{color:#888;font-size:.75rem;text-transform:uppercase;font-weight:600}.copy-button{background:#4a4a4a;color:#fff;border:none;padding:.375rem .75rem;border-radius:.2rem;cursor:pointer;font-size:.75rem;transition:background .2s}.copy-button:hover{background:#5a5a5a}.copy-button.copied{background:var(--success)}.code-content{padding:1rem;overflow-x:auto}.code-content pre{margin:0;font-family:"Courier New",Courier,monospace;font-size:.875rem;line-height:1.5;color:#d4d4d4}.keyword{color:#569cd6}.string{color:#ce9178}.comment{color:#6a9955;font-style:italic}.function{color:#dcdcaa}.number{color:#b5cea8}.property{color:#9cdcfe}.tag{color:#4ec9b0}.attribute{color:#9cdcfe}.selector{color:#d7ba7d}.punctuation{color:#d4d4d4}@keyframes fileSlideIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.file-uploader .header h2{font-size:1.25rem;font-weight:600;margin-bottom:.25rem}.file-uploader .header p{color:var(--secondary-text);font-size:.875rem}.file-uploader .drop-zone{border:2px dashed var(--divider);border-radius:.4rem;padding:2rem 1rem;text-align:center;cursor:pointer;transition:border-color .2s ease,background-color .2s ease;background-color:var(--background)}.file-uploader .drop-zone:hover,.file-uploader .drop-zone.drag-over{border-color:var(--accent-color);background-color:color-mix(in srgb, var(--accent-color) 6%, var(--background))}.file-uploader .drop-zone-content{display:flex;flex-direction:column;align-items:center;gap:.5rem;pointer-events:none}.file-uploader .icon-container{width:40px;height:40px;border-radius:50%;background-color:color-mix(in srgb, var(--accent-color) 12%, var(--background));color:var(--accent-color);display:flex;align-items:center;justify-content:center;margin-bottom:.5rem}.file-uploader .primary-text{font-weight:500;color:var(--accent-color);font-size:.875rem}.file-uploader .secondary-text{color:var(--secondary-text);font-size:.75rem}.file-uploader .file-list{display:flex;flex-direction:column;gap:.75rem;max-height:300px;overflow-y:auto;margin-top:1rem}.file-uploader .file-item{display:flex;flex-direction:column;padding:.75rem;background-color:var(--secondary-background);border:1px solid var(--divider);border-radius:.4rem;animation:fileSlideIn .2s ease-out;gap:.75rem}.file-uploader .file-item-header{display:flex;align-items:center;justify-content:space-between;width:100%}.file-uploader .file-info{display:flex;align-items:center;gap:.75rem;overflow:hidden}.file-uploader .file-icon{color:var(--secondary-text);flex-shrink:0}.file-uploader .file-details{display:flex;flex-direction:column;overflow:hidden}.file-uploader .file-name{font-size:.875rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-uploader .file-size{font-size:.75rem;color:var(--secondary-text)}.file-uploader .remove-btn{flex-shrink:0;background:none;border:none;color:var(--secondary-text);cursor:pointer;padding:.25rem;border-radius:.2rem;transition:color .15s ease,background-color .15s ease;display:flex;align-items:center;justify-content:center}.file-uploader .remove-btn:hover{color:var(--error);background-color:color-mix(in srgb, var(--error) 10%, var(--background))}.file-uploader .progress-container{width:100%;height:4px;background-color:var(--divider);border-radius:.2rem;overflow:hidden;display:none}.file-uploader .progress-bar{height:100%;background-color:var(--accent-color);width:0%;transition:width .3s ease,background-color .3s ease}.file-uploader .status-text{font-size:.75rem;color:var(--secondary-text);text-align:right;display:none}.file-uploader .status-text.error{color:var(--error)}.file-uploader .status-text.success{color:var(--success)}@media(max-width: 480px){.file-uploader .drop-zone{padding:1.5rem 1rem}}.masonry-container{display:flex;gap:1rem;align-items:flex-start;width:100%}.masonry-column{display:flex;flex-direction:column;gap:1rem;flex:1;min-width:0}.masonry-item{background-color:var(--secondary-background);border-radius:.4rem;overflow:hidden;box-shadow:0 1px 2px rgba(56,65,74,.15);transition:transform .3s cubic-bezier(0.2, 0, 0, 1),box-shadow .3s cubic-bezier(0.2, 0, 0, 1);position:relative;cursor:pointer}.masonry-item:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.1),0 2px 8px rgba(0,0,0,.06)}.masonry-item:hover img.loaded{transform:scale(1.03)}.masonry-item:active{transform:translateY(-1px);transition-duration:.1s}.masonry-item:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.masonry-item img{width:100%;height:auto;display:block;object-fit:cover;opacity:0;transform:scale(1.06);filter:blur(4px);transition:opacity .5s ease,transform .6s cubic-bezier(0.2, 0, 0, 1),filter .5s ease}.masonry-item img.loaded{opacity:1;transform:scale(1);filter:blur(0)}.masonry-item-info{padding:.75rem 1rem;border-top:1px solid var(--divider)}.masonry-item-title{margin:0 0 .25rem;font-size:.9375rem;font-weight:600;color:var(--primary-text);line-height:1.3}.masonry-item-desc{margin:0;font-size:.8125rem;color:var(--secondary-text);line-height:1.5}.loader{text-align:center;padding:2.5rem;color:var(--secondary-text);font-size:.8125rem}@media(prefers-reduced-motion: no-preference){.masonry-item{animation:masonry-in .4s cubic-bezier(0.2, 0, 0, 1) both}.masonry-column .masonry-item:nth-child(1){animation-delay:0.04s}.masonry-column .masonry-item:nth-child(2){animation-delay:0.08s}.masonry-column .masonry-item:nth-child(3){animation-delay:0.12s}.masonry-column .masonry-item:nth-child(4){animation-delay:0.16s}.masonry-column .masonry-item:nth-child(5){animation-delay:0.2s}.masonry-column .masonry-item:nth-child(6){animation-delay:0.24s}.masonry-column .masonry-item:nth-child(7){animation-delay:0.28s}.masonry-column .masonry-item:nth-child(8){animation-delay:0.32s}.masonry-column .masonry-item:nth-child(9){animation-delay:0.36s}.masonry-column .masonry-item:nth-child(10){animation-delay:0.4s}.masonry-column .masonry-item:nth-child(11){animation-delay:0.44s}.masonry-column .masonry-item:nth-child(12){animation-delay:0.48s}.masonry-column .masonry-item:nth-child(13){animation-delay:0.52s}.masonry-column .masonry-item:nth-child(14){animation-delay:0.56s}.masonry-column .masonry-item:nth-child(15){animation-delay:0.6s}.masonry-column .masonry-item:nth-child(16){animation-delay:0.64s}.masonry-column .masonry-item:nth-child(17){animation-delay:0.68s}.masonry-column .masonry-item:nth-child(18){animation-delay:0.72s}.masonry-column .masonry-item:nth-child(19){animation-delay:0.76s}.masonry-column .masonry-item:nth-child(20){animation-delay:0.8s}}@keyframes masonry-in{from{opacity:0;transform:translateY(16px) scale(0.97)}to{opacity:1;transform:translateY(0) scale(1)}}.dropdown-container{position:relative;display:inline-block}.dropdown-container.active>.dropdown-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.dropdown-container .dropdown-menu{position:absolute;top:100%;left:0;margin-top:6px;background:var(--background);border:1px solid var(--divider);border-radius:.4rem;box-shadow:0 4px 16px rgba(0,0,0,.1),0 1px 4px rgba(0,0,0,.06);min-width:220px;padding:.5rem 0;list-style:none;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease;z-index:100}.dropdown-container .dropdown-menu li{position:relative;list-style:none}.dropdown-container .dropdown-menu li.open>.dropdown-item{background-color:var(--secondary-background);color:var(--accent-color)}.dropdown-container .dropdown-menu li.open>.dropdown-item.has-children::after{transform:rotate(45deg)}.dropdown-container .dropdown-menu li.open>ul{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(0)}.dropdown-container .dropdown-menu ul{position:absolute;top:0;left:100%;margin-left:4px;background-color:var(--background);border:1px solid var(--divider);border-radius:.4rem;box-shadow:0 4px 16px rgba(0,0,0,.1),0 1px 4px rgba(0,0,0,.06);min-width:220px;padding:.5rem 0;list-style:none;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(-8px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease}.dropdown-container .dropdown-item{display:flex;justify-content:space-between;align-items:center;padding:.6rem 1rem;color:var(--primary-text);text-decoration:none;font-size:.875rem;cursor:pointer;transition:background-color .15s ease,color .15s ease;user-select:none}.dropdown-container .dropdown-item:hover{background-color:var(--secondary-background);color:var(--accent-color)}.dropdown-container .dropdown-item.has-children::after{content:"";display:inline-block;flex-shrink:0;width:.35rem;height:.35rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);margin-left:.5rem;transition:transform .2s ease}@media(max-width: 768px){.dropdown-container .dropdown-menu{width:100%;min-width:250px}.dropdown-container .dropdown-menu ul{position:static;box-shadow:none;border:none;border-left:2px solid var(--divider);border-radius:0;background-color:rgba(0,0,0,0);transform:none;margin-left:0;padding-left:1rem;max-height:0;overflow:hidden;opacity:1;visibility:visible;pointer-events:none;padding-top:0;padding-bottom:0;transition:max-height .25s ease,padding .25s ease}.dropdown-container .dropdown-menu li.open>ul{max-height:600px;padding-top:.25rem;padding-bottom:.25rem;pointer-events:auto}.dropdown-container .dropdown-item.has-children::after{transform:rotate(45deg)}.dropdown-container .dropdown-menu li.open>.dropdown-item.has-children::after{transform:rotate(-135deg)}}@position-try --vd-above{top:auto;bottom:anchor(top);margin-top:0;margin-bottom:6px}.custom-dropdown{position:relative;width:100%;user-select:none;display:inline-block}.custom-dropdown .dropdown-trigger{background:var(--background);border:1.5px solid var(--divider);border-radius:.6rem;padding:0 .65rem;min-height:2.6rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;box-shadow:inset 0 1.5px 4px rgba(0,0,0,.05),0 1px 2px rgba(0,0,0,.04);transition:border-color .16s ease,box-shadow .22s cubic-bezier(0.16, 1, 0.3, 1),background-color .16s ease}.custom-dropdown .dropdown-trigger:hover{border-color:color-mix(in srgb, var(--accent-color) 45%, var(--divider));box-shadow:inset 0 1.5px 4px rgba(0,0,0,.045),0 2px 8px rgba(0,0,0,.07)}.custom-dropdown .dropdown-trigger:focus{border-color:var(--accent-color);box-shadow:inset 0 1px 3px rgba(0,0,0,.03),0 0 0 3.5px color-mix(in srgb, var(--accent-color) 13%, transparent),0 2px 12px rgba(0,0,0,.06);outline:none}.custom-dropdown.open .dropdown-trigger{border-color:var(--accent-color);box-shadow:inset 0 1px 3px rgba(0,0,0,.03),0 0 0 3.5px color-mix(in srgb, var(--accent-color) 13%, transparent);outline:none}.custom-dropdown .trigger-text{color:var(--primary-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.custom-dropdown .trigger-text:not(.has-value){color:var(--secondary-text);opacity:.65}.custom-dropdown .trigger-arrow{font-size:.75em;color:var(--secondary-text);margin-left:.5rem;flex-shrink:0;display:inline-block;transition:transform .26s cubic-bezier(0.34, 1.56, 0.64, 1)}.custom-dropdown.open .trigger-arrow{transform:rotate(180deg)}.custom-dropdown .dropdown-menu{inset:unset;margin:0;padding:0;border:none;position:fixed;top:anchor(bottom);left:anchor(left);width:anchor-size(width);margin-top:6px;position-try-fallbacks:--vd-above;background:var(--background);border:1.5px solid var(--divider);border-radius:.6rem;box-shadow:0 8px 32px rgba(0,0,0,.11),0 2px 8px rgba(0,0,0,.06);transform-origin:top center;opacity:0;transform:translateY(-6px) scale(0.975);transition:opacity .2s cubic-bezier(0.16, 1, 0.3, 1),transform .2s cubic-bezier(0.16, 1, 0.3, 1),display .2s allow-discrete,overlay .2s allow-discrete}.custom-dropdown .dropdown-menu:popover-open{opacity:1;transform:translateY(0) scale(1)}@starting-style{.custom-dropdown .dropdown-menu:popover-open{opacity:0;transform:translateY(-6px) scale(0.975)}}.custom-dropdown .dropdown-search{padding:.4rem;border-bottom:1.5px solid var(--divider)}.custom-dropdown .dropdown-search input{width:100%;padding:0 .65rem;min-height:2.6rem;border:1.5px solid var(--divider);border-radius:.44rem;background:var(--background);color:var(--primary-text);box-sizing:border-box;outline:none;font-size:1rem;box-shadow:inset 0 1.5px 4px rgba(0,0,0,.05);transition:border-color .16s ease,box-shadow .22s cubic-bezier(0.16, 1, 0.3, 1)}.custom-dropdown .dropdown-search input::placeholder{color:var(--secondary-text);opacity:.65}.custom-dropdown .dropdown-search input:focus{border-color:var(--accent-color);box-shadow:inset 0 1px 3px rgba(0,0,0,.03),0 0 0 3.5px color-mix(in srgb, var(--accent-color) 13%, transparent)}.custom-dropdown .dropdown-list-wrapper{max-height:250px;overflow-y:auto;position:relative;-webkit-overflow-scrolling:touch;padding:.25rem}.custom-dropdown .dropdown-list-scroller{position:relative}.custom-dropdown .virtual-content{position:absolute;top:0;left:0;width:100%}.custom-dropdown .dropdown-item{padding:0 .65rem;cursor:pointer;box-sizing:border-box;display:flex;align-items:center;overflow:hidden;background:var(--background);color:var(--primary-text);border-radius:.44rem;font-size:.9375rem;transition:background-color .1s ease}.custom-dropdown .dropdown-item:hover{background-color:var(--hover)}.custom-dropdown .dropdown-item.selected{background-color:color-mix(in srgb, var(--accent-color) 10%, transparent);color:var(--accent-color);font-weight:500}.custom-dropdown .dropdown-item input[type=checkbox]{appearance:none;-webkit-appearance:none;flex-shrink:0;align-self:center;width:.8rem;height:.8rem;min-height:unset;max-height:.8rem;padding:0;box-shadow:none;border:1.5px solid var(--divider);border-radius:.2rem;background:var(--background);margin-right:.6rem;pointer-events:none;position:relative;transition:border-color .15s,background-color .15s}.custom-dropdown .dropdown-item input[type=checkbox]:checked{background-color:var(--accent-color);border-color:var(--accent-color)}.custom-dropdown .dropdown-item input[type=checkbox]:checked::after{content:"";position:absolute;left:50%;top:42%;width:28%;height:48%;border-right:1.5px solid #fff;border-bottom:1.5px solid #fff;transform:translate(-50%, -55%) rotate(45deg)}@media(max-width: 600px){.custom-dropdown{max-width:100%}}.timespan-picker{display:flex;align-items:stretch;background:var(--secondary-background);border:1px solid var(--divider);border-radius:.4rem;overflow:hidden;box-shadow:0 1px 2px rgba(56,65,74,.15);transition:border-color .2s ease,box-shadow .2s ease}.timespan-picker:focus-within{border-color:var(--accent-color);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-color) 12%, transparent)}.timespan-picker.is-error{border-color:var(--error)}.timespan-picker.is-error:focus-within{box-shadow:0 0 0 3px color-mix(in srgb, var(--error) 12%, transparent)}.timespan-field{flex:1;display:flex;flex-direction:column;padding:.75rem 1rem;min-width:0;position:relative}.timespan-field label{font-size:.6875rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--secondary-text);margin-bottom:.25rem;pointer-events:none;display:block;transition:color .15s ease}.timespan-field:focus-within label{color:var(--accent-color)}.timespan-picker.is-error .timespan-field-end:focus-within .timespan-field label{color:var(--error)}.timespan-field input[type=time]{border:none;box-shadow:none;background:rgba(0,0,0,0);padding:0;min-height:unset;border-radius:0;font-size:1.5rem;font-weight:700;letter-spacing:-0.02em;color:var(--primary-text);font-family:inherit;width:100%;outline:none;cursor:pointer;transition:color .15s ease}.timespan-field input[type=time]::-webkit-calendar-picker-indicator{display:none}.timespan-field input[type=time]::-webkit-datetime-edit{padding:0}.timespan-field input[type=time]::-webkit-datetime-edit-fields-wrapper{padding:0}.timespan-picker.is-error .timespan-field-end input[type=time]{color:var(--error)}.timespan-center{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 .75rem;border-left:1px solid var(--divider);border-right:1px solid var(--divider);background:var(--background);min-width:4.5rem;gap:.25rem;flex-shrink:0}.timespan-arrow{font-size:1rem;color:var(--secondary-text);line-height:1;transition:color .2s ease,transform .2s ease}.timespan-picker:focus-within .timespan-arrow{color:var(--accent-color)}.timespan-picker.is-error .timespan-arrow{color:var(--error)}.timespan-duration{font-size:.75rem;font-weight:700;color:var(--accent-color);letter-spacing:.02em;white-space:nowrap;line-height:1;min-height:.75rem;padding:2px 6px;border-radius:.8rem;background:color-mix(in srgb, var(--accent-color) 10%, transparent);transition:color .2s ease,background .2s ease,transform .25s cubic-bezier(0.2, 0, 0, 1)}.timespan-duration:empty{background:rgba(0,0,0,0);padding:0}.timespan-picker.is-error .timespan-duration{color:var(--error);background:color-mix(in srgb, var(--error) 10%, transparent)}.timespan-bar{margin-top:.5rem;height:6px;background:var(--divider);border-radius:99px;overflow:visible;position:relative}.timespan-bar-fill{position:absolute;left:0;width:0;height:100%;background:var(--accent-color);border-radius:inherit;transition:left .3s cubic-bezier(0.2, 0, 0, 1),width .3s cubic-bezier(0.2, 0, 0, 1)}.timespan-bar-fill::before,.timespan-bar-fill::after{content:"";position:absolute;top:50%;width:12px;height:12px;border-radius:50%;background:var(--accent-color);border:2px solid var(--background);transform:translateY(-50%);transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 1px 3px rgba(0,0,0,.15);opacity:0}.timespan-bar-fill::before{left:-6px}.timespan-bar-fill::after{right:-6px}.timespan-bar-fill[style*=width]:not([style*="width: 0"]):not([style*="width:0"])::before,.timespan-bar-fill[style*=width]:not([style*="width: 0"]):not([style*="width:0"])::after{opacity:1}.timespan-picker.is-error~.timespan-bar .timespan-bar-fill{background:var(--error)}.timespan-picker.is-error~.timespan-bar .timespan-bar-fill::before,.timespan-picker.is-error~.timespan-bar .timespan-bar-fill::after{background:var(--error)}@media(prefers-reduced-motion: no-preference){.timespan-picker.is-error{animation:timespan-shake .35s cubic-bezier(0.2, 0, 0, 1)}}@keyframes timespan-shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-4px)}40%{transform:translateX(4px)}60%{transform:translateX(-2px)}80%{transform:translateX(2px)}}@media(max-width: 480px){.timespan-picker{flex-direction:column}.timespan-center{flex-direction:row;justify-content:space-between;border-left:none;border-right:none;border-top:1px solid var(--divider);border-bottom:1px solid var(--divider);padding:.5rem 1rem;min-width:unset}.timespan-arrow{transform:rotate(90deg)}.timespan-field input[type=time]{font-size:2rem}}.range-slider{width:100%}.range-slider input[type=range]{-webkit-appearance:none;appearance:none;width:100%;background:rgba(0,0,0,0);cursor:pointer;padding:.5rem 0;margin:0;display:block;min-height:auto;border:none;box-shadow:none;outline:none}.range-slider input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:linear-gradient(to right, var(--accent-color) var(--range-fill, 0%), var(--divider) var(--range-fill, 0%))}.range-slider input[type=range]::-moz-range-track{height:4px;border-radius:4px;background:var(--divider)}.range-slider input[type=range]::-moz-range-progress{height:4px;border-radius:4px;background:var(--accent-color)}.range-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--accent-color);border:2px solid var(--background);margin-top:calc((1.1rem - 4px)/-2);box-shadow:0 1px 4px rgba(0,0,0,.2);transition:transform .15s ease,box-shadow .15s ease}.range-slider input[type=range]::-moz-range-thumb{width:1.1rem;height:1.1rem;border-radius:50%;background:var(--accent-color);border:2px solid var(--background);box-shadow:0 1px 4px rgba(0,0,0,.2);transition:transform .15s ease,box-shadow .15s ease;cursor:pointer}.range-slider input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.15);box-shadow:0 0 0 6px color-mix(in srgb, var(--accent-color) 15%, transparent)}.range-slider input[type=range]:hover::-moz-range-thumb{transform:scale(1.15);box-shadow:0 0 0 6px color-mix(in srgb, var(--accent-color) 15%, transparent)}.range-slider input[type=range]:active::-webkit-slider-thumb{transform:scale(1.22);box-shadow:0 0 0 9px color-mix(in srgb, var(--accent-color) 18%, transparent)}.range-slider input[type=range]:active::-moz-range-thumb{transform:scale(1.22);box-shadow:0 0 0 9px color-mix(in srgb, var(--accent-color) 18%, transparent)}.range-slider input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px color-mix(in srgb, var(--accent-color) 25%, transparent)}.range-slider input[type=range]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px color-mix(in srgb, var(--accent-color) 25%, transparent)}.range-slider input[type=range]:disabled{cursor:not-allowed}.range-slider input[type=range]:disabled::-webkit-slider-runnable-track{background:var(--divider)}.range-slider input[type=range]:disabled::-webkit-slider-thumb{background:var(--disabled);border-color:var(--secondary-background);box-shadow:none;transform:none}.range-slider input[type=range]:disabled::-moz-range-track{background:var(--divider)}.range-slider input[type=range]:disabled::-moz-range-progress{background:var(--disabled)}.range-slider input[type=range]:disabled::-moz-range-thumb{background:var(--disabled);border-color:var(--secondary-background);box-shadow:none;transform:none;cursor:not-allowed}.editor{background:var(--secondary-background);border:1px solid var(--divider);border-radius:.4rem;box-shadow:0 2px 8px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);display:flex;flex-direction:column;overflow:hidden}.editor-toolbar{display:flex;align-items:center;gap:.25rem;padding:.375rem .5rem;border-bottom:1px solid var(--divider);background:var(--secondary-background);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.editor-toolbar::-webkit-scrollbar{display:none}.editor-toolbar .icon-svg{fill:currentColor;display:block;width:1.125rem;height:1.125rem;pointer-events:none;flex-shrink:0}.editor-toolbar button{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:.24rem;background:rgba(0,0,0,0);color:var(--secondary-text);cursor:pointer;font-size:.75rem;font-weight:800;letter-spacing:-0.03em;transition:background .1s ease,color .1s ease;flex-shrink:0;position:relative}.editor-toolbar button:hover{background:var(--divider);color:var(--primary-text)}.editor-toolbar button:active{opacity:.75}.editor-toolbar button.active{background:color-mix(in srgb, var(--accent-color) 12%, transparent);color:var(--accent-color)}.editor-toolbar button.active::after{content:"";position:absolute;bottom:2px;left:50%;translate:-50% 0;width:3px;height:3px;border-radius:50%;background:var(--accent-color)}.toolbar-group{display:flex;align-items:center;gap:1px;background:color-mix(in srgb, var(--divider) 55%, transparent);border-radius:.3rem;padding:2px;flex-shrink:0}.toolbar-group button{border-radius:.18rem}.editor-block-select{width:auto;flex-shrink:0;height:2rem;min-height:unset;padding:0 .375rem;border:none;box-shadow:none;border-radius:.24rem;background:rgba(0,0,0,0);color:var(--secondary-text);font-size:.75rem;font-weight:600;cursor:pointer;outline:none;appearance:auto;transition:background .1s ease,color .1s ease}.editor-block-select:hover{background:var(--divider);color:var(--primary-text)}.editor-block-select:focus{border:none;box-shadow:none}.editor-block-select option{background:var(--background);color:var(--primary-text);font-weight:400}.toolbar-separator{width:.35rem;flex-shrink:0}.toolbar-end{display:flex;align-items:center;gap:3px;margin-left:auto;padding-left:.5rem;flex-shrink:0}.toolbar-end:empty{display:none}.editor-toolbar button.toolbar-btn-accent{background:color-mix(in srgb, var(--accent-color) 10%, transparent);color:var(--accent-color)}.editor-toolbar button.toolbar-btn-accent:hover{background:color-mix(in srgb, var(--accent-color) 20%, transparent)}.editor-toolbar button.toolbar-btn-danger:hover{background:color-mix(in srgb, var(--error) 12%, transparent);color:var(--error)}.editor-body{display:flex;flex:1;min-height:0}.editor-main{flex:1;display:flex;flex-direction:column;min-width:0}.editable{flex:1;padding:1.5rem 1.75rem;outline:none;overflow-y:auto;min-height:360px;max-height:70vh;color:var(--primary-text);line-height:1.75;font-size:1rem;background:var(--background);caret-color:var(--accent-color);transition:box-shadow .15s ease}.editable:focus{box-shadow:inset 2px 0 0 var(--accent-color)}.editable:empty::before{content:"Start writing…";color:var(--disabled);pointer-events:none}.editable h1{font-size:1.75rem;font-weight:700;margin:.75rem 0 .4rem;line-height:1.2;letter-spacing:-0.025em;color:var(--primary-text)}.editable h2{font-size:1.3rem;font-weight:600;margin:.625rem 0 .35rem;line-height:1.3;letter-spacing:-0.015em}.editable p{margin-bottom:.6rem}.editable ul,.editable ol{margin-left:1.5rem;margin-bottom:.5rem}.editable ul{list-style:disc}.editable ol{list-style:decimal}.editable li{margin-bottom:.2rem;line-height:1.65}.editable img{max-width:100%;height:auto;border-radius:.35rem;margin:.75rem 0;display:block}.editable a{color:var(--accent-color);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.editable blockquote{border-left:3px solid var(--accent-color);background:color-mix(in srgb, var(--accent-color) 5%, transparent);padding:.5rem .75rem .5rem 1rem;margin:.75rem 0;border-radius:0 .2rem .2rem 0;color:var(--secondary-text);font-style:italic}.editable strong{font-weight:700}.editor-side{width:320px;min-width:240px;border-left:1px solid var(--divider);display:flex;flex-direction:column;background:var(--secondary-background)}.editor-side.hidden{display:none}.editor-side textarea{flex:1;font-family:ui-monospace,"Cascadia Code","SF Mono",monospace;font-size:.78rem;line-height:1.6;resize:none;border:1px solid var(--divider);background:var(--background);color:var(--primary-text);border-radius:.3rem;padding:.625rem;tab-size:2;outline:none;transition:border-color .12s ease}.editor-side textarea:focus{border-color:color-mix(in srgb, var(--accent-color) 50%, transparent)}.editor-side textarea::placeholder{color:var(--disabled)}.side-tabs{display:flex;border-bottom:1px solid var(--divider);padding:0 .375rem}.side-tab{padding:.4rem .75rem;font-size:.75rem;font-weight:500;color:var(--secondary-text);background:none;border:none;border-bottom:2px solid rgba(0,0,0,0);cursor:pointer;transition:color .12s ease,border-color .12s ease}.side-tab:hover{color:var(--primary-text)}.side-tab.active{color:var(--accent-color);border-bottom-color:var(--accent-color);font-weight:600}.side-panels{flex:1;overflow:hidden;display:flex;flex-direction:column}.side-panel{display:none;flex-direction:column;flex:1;padding:.5rem;overflow:hidden;gap:.4rem}.side-panel.active{display:flex}.code-actions{display:flex;gap:.3rem}.code-actions button{flex:1;padding:.3rem .5rem;font-size:.72rem;font-weight:600;border-radius:.24rem;background:var(--divider);color:var(--secondary-text);border:none;cursor:pointer;transition:background .1s,color .1s}.code-actions button:hover{background:color-mix(in srgb, var(--divider) 70%, var(--primary-text) 30%);color:var(--primary-text)}.preview-content{flex:1;overflow-y:auto;padding:.75rem 1rem;background:var(--background);border:1px solid var(--divider);border-radius:.3rem;line-height:1.65;font-size:.9rem;color:var(--primary-text)}.preview-content h1{font-size:1.4rem;font-weight:700;margin-bottom:.35rem;letter-spacing:-0.02em}.preview-content h2{font-size:1.1rem;font-weight:600;margin-bottom:.3rem}.preview-content p{margin-bottom:.4rem}.preview-content ul,.preview-content ol{margin-left:1.25rem;margin-bottom:.4rem}.preview-content ul{list-style:disc}.preview-content ol{list-style:decimal}.preview-content img{max-width:100%;height:auto;border-radius:.3rem}.preview-content a{color:var(--accent-color);text-decoration:underline;text-underline-offset:2px}.editor-footer{display:flex;align-items:center;justify-content:space-between;padding:.35rem .875rem;border-top:1px solid var(--divider);background:var(--secondary-background);font-size:.72rem;color:var(--secondary-text);gap:1rem}.editor-wordcount{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:500}.editor-shortcuts{display:flex;align-items:center;gap:.75rem;overflow:hidden}.editor-shortcuts span{display:flex;align-items:center;gap:.25rem;white-space:nowrap}.editor-shortcuts kbd{display:inline-block;padding:.1rem .3rem;font-family:inherit;font-size:.65rem;font-weight:600;color:var(--secondary-text);background:var(--background);border:1px solid var(--divider);border-radius:.2rem;box-shadow:0 1px 0 var(--divider)}@media screen and (max-width: 768px){.editor-body{flex-direction:column}.editor-side{width:100%;min-width:0;border-left:none;border-top:1px solid var(--divider);max-height:48vh}.editable{min-height:240px;max-height:50vh;padding:1rem 1.125rem}.editable:focus{box-shadow:inset 0 2px 0 var(--accent-color)}.editor-toolbar{padding:.3rem .375rem;gap:.2rem;mask-image:linear-gradient(to right, black 85%, transparent 100%)}.editor-toolbar button{width:2.25rem;height:2.25rem}.editor-toolbar .icon-svg{width:1.25rem;height:1.25rem}.toolbar-group{gap:2px;padding:2px}.toolbar-separator{width:.2rem}.editor-shortcuts{display:none}}.editor-link-popover{display:flex;flex-direction:column;gap:.4rem;padding:.625rem .75rem;border-bottom:1px solid var(--divider);background:var(--secondary-background)}.editor-link-popover[hidden]{display:none}.link-popover-row{display:flex;align-items:center;gap:.5rem}.link-popover-input{flex:1;height:2rem;padding:0 .625rem;border:1px solid var(--divider);border-radius:.24rem;background:var(--background);color:var(--primary-text);font-size:.8125rem;outline:none;transition:border-color .12s ease}.link-popover-input:focus{border-color:color-mix(in srgb, var(--accent-color) 60%, transparent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent-color) 12%, transparent)}.link-popover-input::placeholder{color:var(--disabled, var(--secondary-text));opacity:.7}.link-popover-actions{justify-content:space-between}.link-popover-check{display:flex;align-items:center;gap:.35rem;font-size:.78rem;color:var(--secondary-text);cursor:pointer;user-select:none}.link-popover-check input[type=checkbox]{accent-color:var(--accent-color);width:.875rem;height:.875rem;cursor:pointer}.link-popover-btns{display:flex;gap:.3rem}.link-popover-btns button{height:1.875rem;padding:0 .75rem;border:none;border-radius:.24rem;font-size:.78rem;font-weight:600;cursor:pointer;transition:background .1s ease,color .1s ease}.link-popover-btns button[hidden]{display:none}.link-popover-cancel{background:var(--divider);color:var(--secondary-text)}.link-popover-cancel:hover{background:color-mix(in srgb, var(--divider) 70%, var(--primary-text) 30%);color:var(--primary-text)}.link-popover-confirm{background:var(--accent-color);color:#fff}.link-popover-confirm:hover{opacity:.88}.link-popover-remove{background:color-mix(in srgb, var(--error) 10%, transparent);color:var(--error);border:1px solid color-mix(in srgb, var(--error) 30%, transparent) !important}.link-popover-remove:hover{background:color-mix(in srgb, var(--error) 18%, transparent)}@media screen and (max-width: 480px){.editor-toolbar button{width:2.125rem;height:2.125rem}.editor-footer{padding:.3rem .625rem}}.bottom-sheet-wrapper{position:fixed;inset:0;z-index:999;pointer-events:none}.bottom-sheet-wrapper.is-visible{pointer-events:auto}.bottom-sheet-wrapper.is-visible .bottom-sheet-backdrop{opacity:1}.bottom-sheet-wrapper.is-visible .bottom-sheet{transform:translateY(0)}.bottom-sheet-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .32s ease}.bottom-sheet{position:fixed;bottom:0;left:0;right:0;z-index:1;background:var(--background);border:1px solid var(--divider);border-bottom:none;border-radius:1.6rem 1.6rem 0 0;box-shadow:0 -2px 0 hsla(0,0%,100%,.06) inset,0 -8px 40px rgba(0,0,0,.18),0 -2px 12px rgba(0,0,0,.1),0 -1px 3px rgba(0,0,0,.08);max-height:90vh;overflow:hidden;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .42s cubic-bezier(0.32, 0.72, 0, 1);will-change:transform;overscroll-behavior:contain}.bottom-sheet.snap-half{height:50vh}.bottom-sheet.snap-full{height:calc(100dvh - env(safe-area-inset-top) - 1rem);max-height:none}.bottom-sheet-handle{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:.75rem 1rem .5rem;cursor:grab;touch-action:none;user-select:none}.bottom-sheet-handle:active{cursor:grabbing}.bottom-sheet-handle::after{content:"";display:block;width:40px;height:4px;border-radius:2px;background:var(--divider);transition:background .15s ease,width .15s ease}.bottom-sheet-handle:hover::after,.bottom-sheet-handle:active::after{background:var(--secondary-text);width:48px}.bottom-sheet-body{flex:1;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:0 1rem 1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom));mask-image:linear-gradient(to bottom, black calc(100% - 2rem), transparent 100%);-webkit-mask-image:linear-gradient(to bottom, black calc(100% - 2rem), transparent 100%)}.bottom-sheet-body:not(.is-scrollable){mask-image:none;-webkit-mask-image:none}.bottom-sheet-header{flex-shrink:0;display:flex;align-items:center;gap:.5rem;padding:.25rem 1rem .75rem}.bottom-sheet-header.has-divider{border-bottom:1px solid var(--divider);margin-bottom:.5rem;padding-bottom:.75rem}.bottom-sheet-header .title{flex:1;font-weight:600;font-size:1rem;color:var(--primary-text);line-height:1.3}.bottom-sheet-header .subtitle{flex:1;font-size:.8125rem;color:var(--secondary-text);margin-top:.125rem}.bottom-sheet-header .close{cursor:pointer;color:var(--secondary-text);transition:color .15s ease}.bottom-sheet-header .close:hover{color:var(--primary-text)}.bottom-sheet-footer{flex-shrink:0;border-top:1px solid var(--divider);padding:1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom));display:flex;justify-content:flex-end}.bottom-sheet-footer .buttons{display:flex;gap:.5rem}@media(min-width: 768px){.bottom-sheet{left:50%;right:auto;width:480px;bottom:1rem;border:1px solid var(--divider);border-radius:1.6rem;transform:translateX(-50%) translateY(calc(100% + 1rem));max-height:80vh}.bottom-sheet .bottom-sheet-footer{border-radius:0 0 1.6rem 1.6rem}.bottom-sheet-wrapper.is-visible .bottom-sheet{transform:translateX(-50%) translateY(0)}}.context-menu{position:fixed;z-index:9999;min-width:200px;padding:.375rem 0;background:var(--background);border:1px solid var(--divider);border-radius:1rem;box-shadow:0 8px 32px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04);list-style:none;margin:0;opacity:0;transform:scale(0.94);transform-origin:top left;transition:opacity .14s ease,transform .14s ease;pointer-events:none}.context-menu.is-visible{opacity:1;transform:scale(1);pointer-events:auto}.context-menu-item{display:flex;align-items:center;gap:.55rem;padding:.45rem .75rem;font-size:.875rem;color:var(--primary-text);cursor:pointer;user-select:none;white-space:nowrap;transition:background .1s ease,color .1s ease;position:relative}.context-menu-item .context-menu-icon{flex-shrink:0;width:1rem;height:1rem;display:flex;align-items:center;justify-content:center;color:var(--secondary-text);transition:color .1s ease}.context-menu-item .context-menu-icon .icon-svg{width:1rem;height:1rem}.context-menu-item .context-menu-label{flex:1}.context-menu-item .context-menu-shortcut{padding-left:1.5rem;font-size:.75rem;color:var(--secondary-text);opacity:.6;letter-spacing:.02em;flex-shrink:0}.context-menu-item .context-menu-chevron{flex-shrink:0;width:.35rem;height:.35rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);opacity:.5;margin-left:.25rem;color:var(--secondary-text)}.context-menu-item:hover,.context-menu-item.is-focused{background:var(--secondary-background);color:var(--accent-color)}.context-menu-item:hover .context-menu-icon,.context-menu-item.is-focused .context-menu-icon{color:var(--accent-color)}.context-menu-item:hover .context-menu-chevron,.context-menu-item.is-focused .context-menu-chevron{color:var(--accent-color);opacity:.8}.context-menu-item.is-active{background:var(--secondary-background);color:var(--accent-color)}.context-menu-item.is-active .context-menu-icon{color:var(--accent-color)}.context-menu-item.is-active .context-menu-chevron{color:var(--accent-color);opacity:.8}.context-menu-item.is-destructive{color:var(--error)}.context-menu-item.is-destructive .context-menu-icon{color:var(--error)}.context-menu-item.is-destructive:hover,.context-menu-item.is-destructive.is-focused{background:color-mix(in srgb, var(--error) 8%, var(--background));color:var(--error)}.context-menu-item.is-destructive:hover .context-menu-icon,.context-menu-item.is-destructive.is-focused .context-menu-icon{color:var(--error)}.context-menu-item.is-disabled{opacity:.38;cursor:default;pointer-events:none}.context-menu-item.has-submenu>.context-menu{position:absolute;top:-0.375rem;left:100%;margin-left:4px;transform-origin:top left}.context-menu-item.has-submenu.is-active>.context-menu{opacity:1;transform:scale(1);pointer-events:auto}.context-menu-item.has-submenu.submenu-flip>.context-menu{left:auto;right:100%;margin-left:0;margin-right:4px;transform-origin:top right}.context-menu-separator{height:1px;background:var(--divider);margin:.375rem 0}.context-menu-group-label{padding:.3rem .75rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--secondary-text);opacity:.55;user-select:none}.cal{--cal-spacing-xs: 4px;--cal-spacing-sm: 8px;--cal-spacing-md: 12px;--cal-spacing-lg: 16px;--cal-bg: var(--background);--cal-bg-alt: var(--secondary-background);--cal-bg-hover: var(--hover);--cal-border: var(--divider);--cal-text: var(--primary-text);--cal-text-muted: var(--secondary-text);--cal-accent: var(--accent-color);--cal-accent-light: var(--accent-color-lighten);--cal-accent-text: #fff;--cal-today-ring: var(--accent-color);--cal-hour-height: 48px;--cal-time-col-width: 52px;--cal-radius: 0.4rem;--cal-radius-sm: calc(0.4rem * 0.5);font-family:var(--font-family, "Outfit", sans-serif);color:var(--cal-text);box-sizing:border-box;width:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}.cal *,.cal *::before,.cal *::after{box-sizing:inherit}.cal__header{display:flex;align-items:center;gap:var(--cal-spacing-sm);margin-bottom:var(--cal-spacing-lg);flex-wrap:wrap}.cal__title{flex:1;min-width:120px;font-size:1.25rem;font-weight:700;color:var(--cal-text);margin:0;letter-spacing:-0.02em}.cal__nav{display:flex;gap:var(--cal-spacing-xs);align-items:center}.cal__btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--cal-spacing-xs);padding:6px var(--cal-spacing-md);font-family:inherit;font-size:.8125rem;font-weight:500;line-height:1.5;cursor:pointer;border:1px solid var(--cal-border);border-radius:var(--cal-radius);background:rgba(0,0,0,0);color:var(--cal-text);transition:background .15s ease,border-color .15s ease,color .15s ease,transform .1s ease;white-space:nowrap}.cal__btn:hover{background:var(--cal-bg-hover)}.cal__btn:focus-visible{outline:2px solid var(--cal-accent);outline-offset:2px}.cal__btn:active{transform:scale(0.95)}.cal__btn--active,.cal__btn[aria-pressed=true]{background:var(--cal-accent);border-color:var(--cal-accent);color:var(--cal-accent-text);font-weight:600}.cal__btn .icon-svg{width:16px;height:16px;fill:currentColor;vertical-align:middle}.cal__view-toggle{display:flex;background:var(--cal-bg-alt);border-radius:var(--cal-radius);padding:3px;gap:2px;position:relative}.cal__view-toggle .cal__btn{border:none;border-radius:calc(var(--cal-radius) - 2px);padding:5px 14px;font-size:.75rem;background:rgba(0,0,0,0);color:var(--cal-text-muted);transition:color .2s ease,background .2s ease,box-shadow .2s ease;position:relative;z-index:1}.cal__view-toggle .cal__btn--active,.cal__view-toggle .cal__btn[aria-pressed=true]{background:var(--cal-bg);color:var(--cal-text);font-weight:600;box-shadow:0 1px 4px rgba(0,0,0,.1),0 0 0 1px rgba(0,0,0,.03)}.cal__body{width:100%}.cal__month-grid{border:1px solid var(--cal-border);border-radius:var(--cal-radius);overflow:hidden}.cal__month-head{display:grid;grid-template-columns:repeat(7, minmax(0, 1fr));gap:1px;background:var(--cal-border)}.cal__weekday{background:var(--cal-bg-alt);padding:var(--cal-spacing-sm) var(--cal-spacing-xs);text-align:center;font-size:.6875rem;font-weight:600;color:var(--cal-text-muted);letter-spacing:.06em;text-transform:uppercase}.cal__week-row{display:grid;grid-template-columns:repeat(7, minmax(0, 1fr));gap:1px;background:var(--cal-border);position:relative;border-top:1px solid var(--cal-border)}.cal__week-row .cal__day-events{margin-top:calc(var(--span-lanes, 0)*var(--cal-span-lane-height, 20px))}.cal__day{background:var(--cal-bg);padding:var(--cal-spacing-xs) var(--cal-spacing-sm);min-height:88px;cursor:default;position:relative}.cal__day--empty{background:var(--cal-bg-alt);pointer-events:none}.cal__day--outside .cal__day-num{opacity:.25}.cal__day--outside .cal__day-events{opacity:.25}.cal__day.is-today .cal__day-num{background:var(--cal-today-ring);color:var(--cal-accent-text);border-radius:50%;font-weight:700;box-shadow:0 0 0 3px color-mix(in srgb, var(--cal-accent) 20%, transparent)}.cal__day.has-events::after{content:"";display:none;position:absolute;bottom:6px;left:50%;transform:translateX(-50%);width:5px;height:5px;border-radius:50%;background:var(--cal-accent)}.cal__day-num{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;font-size:.8125rem;font-weight:500;color:var(--cal-text);margin-bottom:var(--cal-spacing-xs);flex-shrink:0;border-radius:50%;transition:background .2s ease,color .2s ease,box-shadow .25s ease,transform .15s ease}.cal__day-events{display:flex;flex-direction:column;gap:2px;overflow:hidden}.cal__event-pill{font-size:.6875rem;line-height:1.4;padding:2px 6px;border-radius:var(--cal-radius-sm);background:var(--cal-bg-alt);color:var(--cal-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;border:none;border-left:2px solid var(--cal-accent-light);display:block;text-align:left;width:100%;transition:background .12s ease,transform .1s ease}.cal__event-pill:hover{background:var(--cal-bg-hover)}.cal__event-pill:active{transform:scale(0.97)}.cal__event-pill:focus-visible{outline:2px solid var(--cal-accent);outline-offset:1px}.cal__event-pill.badge-success{border-left-color:var(--success)}.cal__event-pill.badge-warning{border-left-color:var(--warning)}.cal__event-pill.badge-error{border-left-color:var(--error)}.cal__event-pill.badge-info{border-left-color:var(--accent-color)}.cal__event-more{font-size:.625rem;font-weight:600;color:var(--cal-accent);padding:1px 6px;cursor:pointer}.cal__span-bar{position:absolute;height:18px;line-height:18px;font-size:.6875rem;font-weight:500;padding:0 6px;border-radius:var(--cal-radius-sm);background:var(--cal-bg-alt);border-left:2px solid var(--cal-accent-light);color:var(--cal-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;z-index:2;transition:filter .12s ease,transform .1s ease;left:calc(var(--span-col)*100%/7);width:calc(var(--span-len)*100%/7 - 4px)}.cal__span-bar:hover{filter:brightness(0.94)}.cal__span-bar:active{transform:scale(0.97)}.cal__span-bar:focus-visible{outline:2px solid var(--cal-accent);outline-offset:1px}.cal__span-bar--cont-before{border-left:none;border-radius:0 var(--cal-radius-sm) var(--cal-radius-sm) 0;padding-left:4px}.cal__span-bar--cont-after{border-radius:var(--cal-radius-sm) 0 0 var(--cal-radius-sm)}.cal__span-bar--cont-before.cal__span-bar--cont-after{border-radius:0}.cal__span-bar.badge-success{border-left-color:var(--success);background:color-mix(in srgb, var(--success) 14%, var(--cal-bg))}.cal__span-bar.badge-warning{border-left-color:var(--warning);background:color-mix(in srgb, var(--warning) 14%, var(--cal-bg))}.cal__span-bar.badge-error{border-left-color:var(--error);background:color-mix(in srgb, var(--error) 14%, var(--cal-bg))}.cal__span-bar.badge-info{border-left-color:var(--accent-color);background:color-mix(in srgb, var(--accent-color) 14%, var(--cal-bg))}.cal__week-row>.cal__span-bar{top:calc(36px + var(--span-lane)*var(--cal-span-lane-height, 20px))}.cal__event-time{font-weight:600;margin-right:3px;opacity:.7}.cal__week{border:1px solid var(--cal-border);border-radius:var(--cal-radius);overflow:hidden}.cal__week-head{display:grid;grid-template-columns:var(--cal-time-col-width) repeat(7, minmax(0, 1fr));background:var(--cal-bg-alt);border-bottom:1px solid var(--cal-border);overflow-y:auto;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,0) rgba(0,0,0,0)}.cal__week-head::-webkit-scrollbar{width:5px}.cal__week-head::-webkit-scrollbar-track,.cal__week-head::-webkit-scrollbar-thumb{background:rgba(0,0,0,0)}.cal__week-head-time{padding:var(--cal-spacing-sm) var(--cal-spacing-xs);font-size:.6875rem;color:var(--cal-text-muted)}.cal__week-head-day{padding:var(--cal-spacing-sm) var(--cal-spacing-xs);text-align:center;font-size:.6875rem;font-weight:600;color:var(--cal-text-muted);border-left:1px solid var(--cal-border);cursor:default;text-transform:uppercase;letter-spacing:.04em}.cal__week-head-day span{display:inline-flex;align-items:center;justify-content:center;font-size:1.0625rem;font-weight:600;color:var(--cal-text);line-height:1;width:32px;height:32px;border-radius:50%;margin-top:2px;transition:background .2s ease,color .2s ease,box-shadow .25s ease;text-transform:none;letter-spacing:normal}.cal__week-head-day.is-today span{background:var(--cal-today-ring);color:var(--cal-accent-text);box-shadow:0 0 0 3px color-mix(in srgb, var(--cal-accent) 20%, transparent)}.cal__allday{display:grid;grid-template-columns:var(--cal-time-col-width) 1fr;border-bottom:1px solid var(--cal-border);background:var(--cal-bg);overflow-y:auto;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,0) rgba(0,0,0,0)}.cal__allday::-webkit-scrollbar{width:5px}.cal__allday::-webkit-scrollbar-track,.cal__allday::-webkit-scrollbar-thumb{background:rgba(0,0,0,0)}.cal__allday-label{padding:var(--cal-spacing-xs);font-size:.625rem;color:var(--cal-text-muted);display:flex;align-items:flex-start;padding-top:6px;font-weight:500}.cal__allday-spans{position:relative;display:grid;grid-template-columns:repeat(7, minmax(0, 1fr));min-height:calc(max(var(--allday-lanes, 1),1)*var(--cal-span-lane-height, 20px) + 6px)}.cal__allday-spans>.cal__span-bar{top:calc(var(--span-lane)*var(--cal-span-lane-height, 20px) + 3px)}.cal__allday-col{border-left:1px solid var(--cal-border);min-height:100%}.cal__allday-col:first-child{border-left:none}.cal__week-body{overflow-y:auto;max-height:480px;position:relative;background:var(--cal-bg);scrollbar-width:thin;scrollbar-gutter:stable;scrollbar-color:var(--cal-border) rgba(0,0,0,0)}.cal__week-body::-webkit-scrollbar{width:5px}.cal__week-body::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.cal__week-body::-webkit-scrollbar-thumb{background:var(--cal-border);border-radius:3px}.cal__week-grid{display:grid;grid-template-columns:var(--cal-time-col-width) repeat(7, minmax(0, 1fr));position:relative}.cal__time-col{display:flex;flex-direction:column;background:var(--cal-bg-alt)}.cal__time-slot{height:var(--cal-hour-height);display:flex;align-items:flex-start;padding-top:3px;padding-right:var(--cal-spacing-sm);font-size:.625rem;font-weight:500;color:var(--cal-text-muted);justify-content:flex-end;border-top:1px solid var(--cal-border);flex-shrink:0}.cal__time-slot:first-child{border-top:none}.cal__day-col{border-left:1px solid var(--cal-border);position:relative}.cal__day-col-hour{height:var(--cal-hour-height);border-top:1px solid var(--cal-border);flex-shrink:0;position:relative}.cal__day-col-hour:first-child{border-top:none}.cal__day-col-hour::after{content:"";display:block;position:absolute;left:0;right:0;top:50%;height:1px;background:var(--cal-border);opacity:.4;pointer-events:none}.cal__week-event{position:absolute;left:2px;right:2px;border-radius:var(--cal-radius-sm);font-size:.6875rem;line-height:1.3;padding:3px 6px;overflow:hidden;cursor:pointer;background:color-mix(in srgb, var(--cal-accent) 10%, var(--cal-bg));color:var(--cal-text);border-left:3px solid var(--cal-accent);z-index:1;transition:box-shadow .15s ease,transform .1s ease}.cal__week-event:hover{z-index:2;box-shadow:0 4px 12px rgba(0,0,0,.12);transform:translateY(-1px)}.cal__week-event:active{transform:scale(0.98)}.cal__week-event:focus-visible{outline:2px solid var(--cal-accent);outline-offset:1px;z-index:3}.cal__week-event.badge-success{border-left-color:var(--success);background:color-mix(in srgb, var(--success) 10%, var(--cal-bg))}.cal__week-event.badge-warning{border-left-color:var(--warning);background:color-mix(in srgb, var(--warning) 10%, var(--cal-bg))}.cal__week-event.badge-error{border-left-color:var(--error);background:color-mix(in srgb, var(--error) 10%, var(--cal-bg))}.cal__week-event.badge-info{border-left-color:var(--accent-color);background:color-mix(in srgb, var(--accent-color) 10%, var(--cal-bg))}.cal__now-line{position:absolute;left:var(--cal-time-col-width);right:0;height:2px;background:var(--error);z-index:5;pointer-events:none}.cal__now-line::before{content:"";display:block;position:absolute;left:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--error);animation:cal-now-pulse 2s ease-in-out infinite}.cal__agenda{border:1px solid var(--cal-border);border-radius:var(--cal-radius);overflow:hidden}.cal__agenda-day{display:flex;gap:var(--cal-spacing-lg);padding:var(--cal-spacing-md) var(--cal-spacing-lg);border-bottom:1px solid var(--cal-border)}.cal__agenda-day:last-child{border-bottom:none}.cal__agenda-day.is-today{background:color-mix(in srgb, var(--cal-accent) 4%, var(--cal-bg))}.cal__agenda-date{display:flex;flex-direction:column;align-items:center;min-width:44px;flex-shrink:0}.cal__agenda-dow{font-size:.625rem;color:var(--cal-text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.cal__agenda-num{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;font-size:1rem;font-weight:700;color:var(--cal-text);border-radius:50%;margin-top:2px;transition:background .2s ease,color .2s ease}.cal__agenda-num.is-today{background:var(--cal-today-ring);color:var(--cal-accent-text);box-shadow:0 0 0 3px color-mix(in srgb, var(--cal-accent) 20%, transparent)}.cal__agenda-events{flex:1;display:flex;flex-direction:column;gap:var(--cal-spacing-sm);padding-top:4px;min-width:0}.cal__agenda-event{display:flex;align-items:baseline;gap:var(--cal-spacing-sm);padding:var(--cal-spacing-sm) var(--cal-spacing-md);border-radius:var(--cal-radius-sm);background:var(--cal-bg-alt);border-left:3px solid var(--cal-accent-light);cursor:pointer;transition:background .15s ease,transform .1s ease,box-shadow .15s ease}.cal__agenda-event:hover{background:var(--cal-bg-hover);box-shadow:0 2px 8px rgba(0,0,0,.06)}.cal__agenda-event:active{transform:scale(0.98)}.cal__agenda-event:focus-visible{outline:2px solid var(--cal-accent);outline-offset:1px}.cal__agenda-event.badge-success{border-left-color:var(--success)}.cal__agenda-event.badge-warning{border-left-color:var(--warning)}.cal__agenda-event.badge-error{border-left-color:var(--error)}.cal__agenda-event.badge-info{border-left-color:var(--accent-color)}.cal__agenda-event-time{font-size:.75rem;color:var(--cal-text-muted);font-weight:600;white-space:nowrap;min-width:110px;flex-shrink:0}.cal__agenda-event-title{font-size:.875rem;color:var(--cal-text);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal__agenda-empty{padding:var(--cal-spacing-lg);color:var(--cal-text-muted);font-size:.875rem;text-align:center}@media(max-width: 600px){.cal__header{gap:var(--cal-spacing-xs)}.cal__title{font-size:1.0625rem;order:-1;width:100%}.cal__nav{flex:1}.cal__view-toggle{padding:2px;gap:1px}.cal__view-toggle .cal__btn{padding:4px 10px;font-size:.6875rem}.cal__month-grid{border:none;border-radius:0}.cal__month-head{gap:0;background:rgba(0,0,0,0)}.cal__week-row{gap:0;background:rgba(0,0,0,0);border-top:none}.cal__weekday{background:rgba(0,0,0,0);padding:var(--cal-spacing-sm) 0;font-size:.625rem}.cal__day{min-height:52px;padding:var(--cal-spacing-xs) 0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;background:rgba(0,0,0,0)}.cal__day--empty{background:rgba(0,0,0,0)}.cal__day--outside .cal__day-num{opacity:.25}.cal__day.has-events::after{display:block;position:static;transform:none;margin-top:3px}.cal__day-num{width:36px;height:36px;font-size:.8125rem;margin-bottom:0}.cal__day-events,.cal__event-pill,.cal__event-more,.cal__span-bar{display:none}.cal__week-row .cal__day-events{margin-top:0}.cal{--cal-time-col-width: 40px}.cal__week-body{max-height:360px}.cal__week-head-day{font-size:.5625rem;padding:var(--cal-spacing-xs) 2px}.cal__week-head-day span{font-size:.875rem;width:28px;height:28px}.cal__time-slot{font-size:.5rem;padding-right:3px}.cal__agenda-day{padding:var(--cal-spacing-sm) var(--cal-spacing-md);gap:var(--cal-spacing-md)}.cal__agenda-event{padding:var(--cal-spacing-xs) var(--cal-spacing-sm);flex-direction:column;gap:2px}.cal__agenda-event-time{min-width:0;font-size:.6875rem}.cal__agenda-event-title{font-size:.8125rem}}@media print{.cal__header .cal__view-toggle,.cal__header .cal__nav .cal__btn--today{display:none}.cal__week-body{max-height:none;overflow:visible}.cal__month-grid,.cal__week,.cal__agenda{border:1px solid #ccc}}@media(prefers-reduced-motion: no-preference){.cal__body{animation:cal-slide-in .25s cubic-bezier(0.2, 0, 0, 1)}.cal__day,.cal__agenda-day{animation:cal-cell-in .3s cubic-bezier(0.2, 0, 0, 1) both}.cal__week-row:nth-child(1) .cal__day{animation-delay:0.01s}.cal__week-row:nth-child(2) .cal__day{animation-delay:0.04s}.cal__week-row:nth-child(3) .cal__day{animation-delay:0.07s}.cal__week-row:nth-child(4) .cal__day{animation-delay:0.1s}.cal__week-row:nth-child(5) .cal__day{animation-delay:0.13s}.cal__week-row:nth-child(6) .cal__day{animation-delay:0.16s}.cal__week-row:nth-child(7) .cal__day{animation-delay:0.19s}.cal__agenda-day:nth-child(1){animation-delay:0.03s}.cal__agenda-day:nth-child(2){animation-delay:0.06s}.cal__agenda-day:nth-child(3){animation-delay:0.09s}.cal__agenda-day:nth-child(4){animation-delay:0.12s}.cal__agenda-day:nth-child(5){animation-delay:0.15s}.cal__agenda-day:nth-child(6){animation-delay:0.18s}.cal__agenda-day:nth-child(7){animation-delay:0.21s}.cal__agenda-day:nth-child(8){animation-delay:0.24s}.cal__agenda-day:nth-child(9){animation-delay:0.27s}.cal__agenda-day:nth-child(10){animation-delay:0.3s}}@keyframes cal-slide-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes cal-cell-in{from{opacity:0;transform:scale(0.96)}to{opacity:1;transform:scale(1)}}@keyframes cal-now-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.group-picker{position:relative;width:100%;color:var(--primary-text)}.group-picker__selection{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;min-height:2rem;padding:.35rem .6rem;background:var(--background);border:1px solid var(--divider);border-radius:.2rem;margin-bottom:.75rem;box-shadow:0 1px 2px rgba(56,65,74,.15);transition:border-color .15s ease,box-shadow .15s ease}.group-picker__selection .chip{margin:0;animation:gp-chip-in .2s cubic-bezier(0.34, 1.56, 0.64, 1) both}.group-picker__selection .chip.closeable button{display:inline-flex;align-items:center;justify-content:center}.group-picker__selection .chip.closeable button .icon{font-size:.7rem;top:0}.group-picker__selection:empty::before{content:attr(data-placeholder);color:var(--secondary-text);font-size:.875rem}.group-picker__selection:focus-within{border-color:var(--accent-color);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-color) 15%, transparent)}.group-picker__selection .chip.group-picker__chip--parent{background:var(--accent-color);color:var(--background)}.group-picker__selection .chip.group-picker__chip--parent button{background:color-mix(in srgb, var(--accent-color) 78%, black);color:var(--background)}.group-picker__search{position:relative;margin-bottom:.5rem}.group-picker__search input{padding-left:2.2rem}.group-picker__search-icon{position:absolute;left:.55rem;top:50%;transform:translateY(-50%);font-size:1rem;color:var(--secondary-text);pointer-events:none;opacity:.45;z-index:1}.group-picker__list{max-height:420px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;border:1px solid var(--divider);border-radius:.2rem;background:var(--background);box-shadow:0 1px 2px rgba(56,65,74,.15)}.group-picker__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem 1rem;color:var(--secondary-text);font-size:.875rem;text-align:center;gap:.5rem}.group-picker__empty .icon{font-size:2rem;opacity:.2}.group-picker__group{border-bottom:1px solid var(--divider)}.group-picker__group:last-child{border-bottom:none}.group-picker__group.is-expanded>.group-picker__group-header{background:color-mix(in srgb, var(--accent-color) 4%, transparent)}.group-picker__group.is-expanded>.group-picker__group-header .group-picker__group-label{color:var(--accent-color)}.group-picker__group-header{display:flex;align-items:center;gap:.5rem;padding:.75rem .85rem;cursor:pointer;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);transition:background .15s ease}.group-picker__group-header:hover{background:var(--hover)}.group-picker__group-header:active{background:var(--secondary-background)}.group-picker__chevron{flex-shrink:0;font-size:1rem;color:var(--secondary-text);opacity:.5;transition:transform .28s cubic-bezier(0.16, 1, 0.3, 1),color .15s ease,opacity .15s ease}.group-picker__group.is-expanded .group-picker__chevron{transform:rotate(90deg);color:var(--accent-color);opacity:1}.group-picker__group-label{flex:1;font-size:.875rem;font-weight:600;color:var(--primary-text);transition:color .15s ease}.group-picker__group-label mark{background:color-mix(in srgb, var(--warning) 22%, transparent);color:inherit;border-radius:2px;padding:0 2px}.group-picker__group-action{flex-shrink:0;font-size:.6875rem;font-weight:500;letter-spacing:.025em;text-transform:uppercase;padding:.15rem .6rem;border-radius:1.2rem;border:1px solid var(--divider);background:rgba(0,0,0,0);color:var(--secondary-text);line-height:1.5;transition:border-color .15s ease,color .15s ease,background .15s ease,transform .1s ease}.group-picker__group-action:hover:not(.button-primary):not(:disabled){border-color:var(--accent-color);color:var(--accent-color);background:color-mix(in srgb, var(--accent-color) 6%, transparent);transform:none}.group-picker__group-action:active:not(:disabled){transform:scale(0.94)}.group-picker__group-action.button-primary{border-radius:1.2rem;font-size:.6875rem;font-weight:500;letter-spacing:.025em;text-transform:uppercase;padding:.15rem .6rem;border:1px solid rgba(0,0,0,0);line-height:1.5}.group-picker__group.is-leaf{cursor:pointer}.group-picker__group.is-leaf.is-selected>.group-picker__group-header{background:color-mix(in srgb, var(--accent-color) 6%, transparent)}.group-picker__group.is-leaf.is-selected>.group-picker__group-header .group-picker__group-label{color:var(--accent-color)}.group-picker__group.is-leaf.is-selected .group-picker__leaf-check{opacity:1;transform:scale(1)}.group-picker__leaf-check{flex-shrink:0;font-size:1.1rem;color:var(--accent-color);opacity:0;transform:scale(0.3);transition:opacity .18s ease,transform .22s cubic-bezier(0.34, 1.56, 0.64, 1)}.group-picker__subgroups{height:0;overflow:hidden;opacity:0;transition:height .28s cubic-bezier(0.16, 1, 0.3, 1),opacity .2s ease}.group-picker__group.is-expanded .group-picker__subgroups{opacity:1}.group-picker__subgroup-list{display:flex;flex-wrap:wrap;gap:.3rem;padding:.3rem .85rem .75rem 2.35rem}.group-picker__subgroup-list .chip{margin:0}.group-picker__subgroup{transition:background .15s ease,color .15s ease,outline-color .15s ease}.group-picker__subgroup.is-selected{background:color-mix(in srgb, var(--accent-color) 12%, var(--background));color:var(--accent-color);outline:1px solid color-mix(in srgb, var(--accent-color) 35%, transparent);font-weight:500}.group-picker__subgroup.is-disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.group-picker__subgroup mark{background:color-mix(in srgb, var(--warning) 22%, transparent);color:inherit;border-radius:2px;padding:0 2px}@keyframes gp-chip-in{from{opacity:0;transform:scale(0.7) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(max-width: 768px){.group-picker__list{max-height:55vh}.group-picker__group-header{padding:.9rem .85rem}.group-picker__subgroup-list{padding-left:2rem}}.chart{--chart-color-1: var(--accent-color);--chart-color-2: var(--success);--chart-color-3: var(--warning);--chart-color-4: var(--error);--chart-color-5: #8B5CF6;--chart-color-6: #06B6D4;--chart-color-7: #F97316;--chart-color-8: #EC4899}.chart{position:relative;width:100%;min-width:0;color:var(--primary-text);font-size:.875rem}.chart-header{margin-bottom:.75rem}.chart-title{font-size:1rem;font-weight:600;color:var(--primary-text);line-height:1.3}.chart-subtitle{font-size:.8125rem;color:var(--secondary-text);margin-top:.2rem}.chart-canvas{width:100%;position:relative;overflow:hidden}.chart-svg{display:block;width:100%;overflow:visible}.chart .chart-axis-line{stroke:var(--divider);stroke-width:1}.chart .chart-grid-line{stroke:var(--divider);stroke-width:1;stroke-dasharray:3 4;opacity:.7}.chart .chart-axis-label{fill:var(--secondary-text);font-size:.6875rem;font-family:inherit}.chart .chart-line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:var(--path-length, 9999);stroke-dashoffset:var(--path-length, 9999);animation:chart-draw 1s cubic-bezier(0.4, 0, 0.2, 1) forwards}.chart .chart-area{animation:chart-fade-in .8s ease forwards}.chart .chart-point-dot{transition:r .15s ease}.chart .chart-point-ring{opacity:0;transition:opacity .15s ease,r .15s ease}.chart .chart-point-group{cursor:pointer}.chart .chart-point-group:hover .chart-point-dot{r:5}.chart .chart-point-group:hover .chart-point-ring{opacity:1}.chart .chart-bar{transition:opacity .15s ease,filter .15s ease;cursor:pointer;transform-box:fill-box}.chart .chart-bar--vertical{transform-origin:bottom center;animation:chart-grow-y calc(.5s + var(--animation-delay, 0ms)) cubic-bezier(0.4, 0, 0.2, 1) both;animation-delay:var(--animation-delay, 0ms)}.chart .chart-bar--horizontal{transform-origin:left center;animation:chart-grow-x calc(.5s + var(--animation-delay, 0ms)) cubic-bezier(0.4, 0, 0.2, 1) both;animation-delay:var(--animation-delay, 0ms)}.chart .chart-bar:hover{opacity:.85;filter:brightness(1.08)}.chart .chart-slice{cursor:pointer;transform-box:fill-box;transform-origin:center;transition:transform .2s cubic-bezier(0.34, 1.56, 0.64, 1),filter .15s ease;animation:chart-slice-in .45s cubic-bezier(0.4, 0, 0.2, 1) both;animation-delay:var(--animation-delay, 0ms)}.chart .chart-slice:hover{filter:brightness(1.08)}.chart-legend{display:flex;flex-wrap:wrap;gap:.35rem 1rem;margin-top:.75rem}.chart-legend-item{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;color:var(--secondary-text);cursor:default}.chart-legend-swatch{width:10px;height:10px;border-radius:2px;flex-shrink:0}.chart-pie-legend{display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;margin-top:.75rem;justify-content:center}.chart-pie-legend-item{display:inline-flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--secondary-text)}.chart-pie-legend-swatch{width:12px;height:12px;border-radius:3px;flex-shrink:0}.chart-pie-legend-value{font-weight:600;color:var(--primary-text);margin-left:.15rem}.chart-tooltip{position:fixed;background:var(--primary-dark);color:var(--primary-light);padding:.5rem .75rem;border-radius:.4rem;font-size:.75rem;line-height:1.5;pointer-events:none;white-space:nowrap;z-index:9999;box-shadow:0 4px 16px rgba(0,0,0,.2);opacity:0;transform:translateY(4px);transition:opacity .12s ease,transform .12s ease}.chart-tooltip.is-visible{opacity:1;transform:translateY(0)}.chart-tooltip strong{display:block;font-weight:600;color:#fff;margin-bottom:1px}@keyframes chart-draw{from{stroke-dashoffset:var(--path-length, 9999)}to{stroke-dashoffset:0}}@keyframes chart-fade-in{from{opacity:0}to{opacity:1}}@keyframes chart-grow-y{from{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes chart-grow-x{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes chart-slice-in{from{transform:scale(0.6);opacity:0}to{transform:scale(1);opacity:1}}.sidebar-layout{display:flex;min-height:100vh}.sidebar-nav{width:var(--sidebar-width, 240px);position:fixed;left:0;top:0;height:100vh;background:var(--primary-bg);border-right:1px solid var(--divider);display:flex;flex-direction:column;z-index:100}.sidebar-nav .sidebar-scroll{flex:1;min-height:0;background:none;border-radius:0;box-shadow:none}.sidebar-main{flex:1;min-width:0;display:flex;flex-direction:column;margin-left:var(--sidebar-width, 240px)}.sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.3);z-index:99}.sidebar-backdrop.is-visible{display:block}.sidebar-toggle{display:none;background:none;border:none;padding:.25rem;cursor:pointer;color:var(--primary-text);border-radius:.4rem}.sidebar-toggle:hover{background:var(--secondary-background)}.sidebar-toggle svg{display:block}@media(max-width: 768px){.sidebar-toggle{display:flex;align-items:center}.sidebar-nav{left:calc(-1*var(--sidebar-width, 240px));transition:left .25s ease;box-shadow:none}.sidebar-nav.is-open{left:0;box-shadow:4px 0 24px rgba(0,0,0,.15)}.sidebar-main{margin-left:0}}.sidebar-nav .docs-sidebar-logo{display:flex;align-items:center;gap:.5rem;padding:1.25rem 1rem;border-bottom:1px solid var(--divider);font-weight:700;font-size:1.1rem;color:var(--primary-text);text-decoration:none;letter-spacing:-0.01em}.sidebar-nav .docs-sidebar-logo .docs-logo-badge{font-size:.6rem;font-weight:700;background:var(--accent-color);color:#fff;padding:.1rem .35rem;border-radius:.25rem;letter-spacing:.04em;text-transform:uppercase}.sidebar-nav .docs-sidebar-search{padding:.75rem 1rem;border-bottom:1px solid var(--divider)}.sidebar-nav .docs-sidebar-search input{width:100%;height:2rem;font-size:.8rem;background:var(--secondary-background);border:1px solid var(--divider);border-radius:.4rem;padding:0 .75rem;color:var(--primary-text);outline:none}.sidebar-nav .docs-sidebar-search input::placeholder{color:var(--secondary-text)}.sidebar-nav .docs-sidebar-search input:focus{border-color:var(--accent-color)}.docs-nav{flex:1;padding:.75rem 0 2rem;overflow-y:auto}.docs-nav ul{list-style:none;margin:0;padding:0}.docs-nav .docs-nav-section{margin-bottom:.25rem}.docs-nav .docs-nav-section-label{font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--secondary-text);padding:.85rem 1rem .3rem}.docs-nav .docs-nav-item a{display:block;padding:.3rem 1rem .3rem 1.25rem;font-size:.85rem;color:var(--secondary-text);text-decoration:none;border-radius:0;transition:color .15s,background .15s;border-left:2px solid rgba(0,0,0,0)}.docs-nav .docs-nav-item a:hover{color:var(--primary-text);background:var(--secondary-background)}.docs-nav .docs-nav-item a.is-active{color:var(--accent-color);border-left-color:var(--accent-color);background:color-mix(in srgb, var(--accent-color) 8%, transparent);font-weight:500}.docs-topbar{position:sticky;top:0;height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;background:var(--primary-bg);border-bottom:1px solid var(--divider);z-index:90;gap:1rem}.docs-topbar .docs-breadcrumb{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--secondary-text)}.docs-topbar .docs-breadcrumb a{color:var(--secondary-text);text-decoration:none}.docs-topbar .docs-breadcrumb a:hover{color:var(--primary-text)}.docs-topbar .docs-breadcrumb .sep{opacity:.4}.docs-topbar .docs-breadcrumb .current{color:var(--primary-text);font-weight:500}.docs-topbar .docs-topbar-actions{display:flex;align-items:center;gap:.5rem}.docs-content{flex:1;padding:2.5rem 2rem 4rem;max-width:860px}.docs-content h1{font-size:1.75rem;font-weight:700;letter-spacing:-0.02em;margin:0 0 .5rem}.docs-content .docs-lead{font-size:1rem;color:var(--secondary-text);margin:0 0 1rem;line-height:1.6;max-width:600px}.docs-content .docs-import{display:inline-flex;align-items:center;gap:.5rem;margin:0 0 2rem;padding:.4rem .75rem;background:var(--secondary-background);border:1px solid var(--divider);border-radius:.4rem;font-size:.8rem;font-family:ui-monospace,"Cascadia Code","SF Mono",monospace;color:var(--accent-color)}.docs-content .docs-import::before{content:"import";color:var(--secondary-text);font-style:italic;font-family:inherit}.docs-content h2{font-size:1.1rem;font-weight:600;margin:2.5rem 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--divider)}.docs-content h3{font-size:.95rem;font-weight:600;margin:1.75rem 0 .75rem}.docs-content p{line-height:1.7;margin:0 0 1rem}.docs-content code{font-size:.8em;background:var(--secondary-background);border:1px solid var(--divider);border-radius:.25rem;padding:.1em .35em}.docs-content .docs-demo{background:var(--secondary-background);border:1px solid var(--divider);border-radius:.4rem;padding:2rem;margin:1rem 0}.docs-content .docs-demo h1{font-size:2rem;font-weight:800}.docs-content .docs-demo h2{font-size:1.625rem;font-weight:750;border:none;padding:0;margin-top:0}.docs-content .docs-demo h3{font-size:1.375rem;font-weight:700}.docs-content .docs-demo h4{font-size:1.125rem;font-weight:700}.docs-content .docs-demo h5{font-size:1rem;font-weight:600}.docs-content .docs-demo.centered{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.75rem}.docs-content .docs-props-table{width:100%;border-collapse:collapse;font-size:.82rem;margin:1rem 0 2rem}.docs-content .docs-props-table th{text-align:left;padding:.5rem .75rem;background:var(--secondary-background);border:1px solid var(--divider);font-weight:600;color:var(--secondary-text);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.docs-content .docs-props-table td{padding:.5rem .75rem;border:1px solid var(--divider);vertical-align:top}.docs-content .docs-props-table td code{font-size:.78em;background:color-mix(in srgb, var(--accent-color) 10%, transparent);border-color:color-mix(in srgb, var(--accent-color) 20%, transparent);color:var(--accent-color)}.docs-content .docs-props-table tr:hover td{background:var(--secondary-background)}.landing-hero{padding:5rem 2rem 4rem;text-align:center;background:var(--primary-bg);border-bottom:1px solid var(--divider)}.landing-hero .landing-eyebrow{display:inline-flex;align-items:center;gap:.4rem;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-color);background:color-mix(in srgb, var(--accent-color) 10%, transparent);border:1px solid color-mix(in srgb, var(--accent-color) 25%, transparent);border-radius:2rem;padding:.25rem .75rem;margin-bottom:1.5rem}.landing-hero h1{font-size:clamp(2.5rem,6vw,4rem);font-weight:800;letter-spacing:-0.03em;margin:0 0 1rem;line-height:1.1}.landing-hero .landing-tagline{font-size:clamp(1rem,2.5vw,1.2rem);color:var(--secondary-text);max-width:520px;margin:0 auto 2rem;line-height:1.6}.landing-hero .landing-actions{display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap}.landing-hero .landing-install{display:inline-flex;align-items:center;gap:.5rem;background:var(--secondary-background);border:1px solid var(--divider);border-radius:.4rem;padding:.5rem 1rem;font-size:.85rem;font-family:monospace;color:var(--primary-text);cursor:pointer;transition:border-color .15s}.landing-hero .landing-install:hover{border-color:var(--accent-color)}.landing-hero .landing-install .install-prefix{color:var(--secondary-text)}.landing-features{display:grid;grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));gap:0;border-bottom:1px solid var(--divider)}.landing-features .feature-item{padding:1.5rem 2rem;border-right:1px solid var(--divider)}.landing-features .feature-item:last-child{border-right:none}.landing-features .feature-item .feature-icon{font-size:1.25rem;margin-bottom:.5rem}.landing-features .feature-item .feature-icon svg{width:1em;height:1em;display:block}.landing-features .feature-item .feature-title{font-weight:600;font-size:.9rem;margin-bottom:.2rem}.landing-features .feature-item .feature-desc{font-size:.78rem;color:var(--secondary-text);line-height:1.5}.landing-section{padding:3.5rem 2rem;max-width:1100px;margin:0 auto;width:100%}.landing-section-title{font-size:1.4rem;font-weight:700;letter-spacing:-0.02em;margin:0 0 .4rem}.landing-section-sub{color:var(--secondary-text);font-size:.9rem;margin:0 0 2rem}.component-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));gap:1rem}.component-card{display:flex;flex-direction:column;gap:.5rem;padding:1.25rem 1.25rem 1rem;border:1px solid var(--divider);border-radius:.8rem;text-decoration:none;color:var(--primary-text);background:var(--primary-bg);transition:border-color .15s,box-shadow .15s,transform .15s}.component-card:hover{border-color:var(--accent-color);box-shadow:0 4px 16px color-mix(in srgb, var(--accent-color) 15%, transparent);transform:translateY(-1px)}.component-card .cc-icon{font-size:1.4rem;line-height:1;margin-bottom:.25rem}.component-card .cc-icon svg{width:1em;height:1em;display:block}.component-card .cc-name{font-weight:600;font-size:.9rem}.component-card .cc-desc{font-size:.78rem;color:var(--secondary-text);line-height:1.5}.component-card .cc-count{font-size:.7rem;color:var(--secondary-text);margin-top:auto;padding-top:.5rem;border-top:1px solid var(--divider)}.landing-quickstart{background:var(--secondary-background);border-top:1px solid var(--divider);border-bottom:1px solid var(--divider);padding:3.5rem 2rem}.landing-quickstart .qs-inner{max-width:700px;margin:0 auto}.landing-quickstart h2{font-size:1.4rem;font-weight:700;letter-spacing:-0.02em;margin:0 0 .4rem}.landing-quickstart p{color:var(--secondary-text);font-size:.9rem;margin:0 0 1.5rem}.landing-quickstart .qs-steps{display:flex;flex-direction:column;gap:1rem}.landing-quickstart .qs-step{display:flex;gap:1rem;align-items:flex-start}.landing-quickstart .qs-step .qs-num{flex-shrink:0;width:1.5rem;height:1.5rem;background:var(--accent-color);color:#fff;border-radius:50%;font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:.1rem}.landing-quickstart .qs-step .qs-text{flex:1}.landing-quickstart .qs-step .qs-text strong{display:block;font-size:.9rem;margin-bottom:.25rem}.landing-quickstart .qs-step .qs-text p{margin:0;font-size:.82rem}.landing-quickstart .qs-step .qs-text code{display:block;background:var(--primary-bg);border:1px solid var(--divider);border-radius:.4rem;padding:.5rem .75rem;font-size:.8rem;margin-top:.4rem;font-family:monospace;color:var(--primary-text)}.landing-footer{padding:1.5rem 2rem;border-top:1px solid var(--divider);display:flex;align-items:center;justify-content:space-between;font-size:.78rem;color:var(--secondary-text);gap:1rem;flex-wrap:wrap}.landing-footer a{color:var(--secondary-text);text-decoration:none}.landing-footer a:hover{color:var(--primary-text)}.landing-footer .footer-links{display:flex;gap:1.25rem}
|
package/js/datepicker.js
CHANGED
|
@@ -106,7 +106,9 @@ class DatePicker {
|
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
108
|
setTimeout(() => {
|
|
109
|
-
|
|
109
|
+
if (this.calendar.classList.contains('visible')) {
|
|
110
|
+
document.addEventListener('click', this.handleDocumentClick);
|
|
111
|
+
}
|
|
110
112
|
}, 0);
|
|
111
113
|
}
|
|
112
114
|
this.calendar.classList.add('visible');
|
package/js/datepicker.ts
CHANGED
|
@@ -167,7 +167,9 @@ class DatePicker {
|
|
|
167
167
|
}
|
|
168
168
|
|
|
169
169
|
setTimeout(() => {
|
|
170
|
-
|
|
170
|
+
if (this.calendar.classList.contains('visible')) {
|
|
171
|
+
document.addEventListener('click', this.handleDocumentClick);
|
|
172
|
+
}
|
|
171
173
|
}, 0);
|
|
172
174
|
}
|
|
173
175
|
|
package/js/lightbox.js
CHANGED
|
@@ -65,11 +65,13 @@ class Lightbox {
|
|
|
65
65
|
wrapper.classList.remove('is-visible');
|
|
66
66
|
setTimeout(() => {
|
|
67
67
|
wrapper.remove();
|
|
68
|
-
this.wrapper
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
68
|
+
if (this.wrapper === wrapper) {
|
|
69
|
+
this.wrapper = null;
|
|
70
|
+
this.imgEl = null;
|
|
71
|
+
this.captionEl = null;
|
|
72
|
+
this.counterEl = null;
|
|
73
|
+
this.isZoomed = false;
|
|
74
|
+
}
|
|
73
75
|
this.onClose?.();
|
|
74
76
|
}, 300);
|
|
75
77
|
}
|
package/js/lightbox.ts
CHANGED
|
@@ -103,11 +103,13 @@ class Lightbox {
|
|
|
103
103
|
|
|
104
104
|
setTimeout(() => {
|
|
105
105
|
wrapper.remove();
|
|
106
|
-
this.wrapper
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
106
|
+
if (this.wrapper === wrapper) {
|
|
107
|
+
this.wrapper = null;
|
|
108
|
+
this.imgEl = null;
|
|
109
|
+
this.captionEl = null;
|
|
110
|
+
this.counterEl = null;
|
|
111
|
+
this.isZoomed = false;
|
|
112
|
+
}
|
|
111
113
|
this.onClose?.();
|
|
112
114
|
}, 300);
|
|
113
115
|
}
|
package/js/modal.js
CHANGED
package/js/modal.ts
CHANGED
package/js/tabs.js
CHANGED
|
@@ -16,8 +16,8 @@ class Tabs {
|
|
|
16
16
|
onChange: options.onChange
|
|
17
17
|
};
|
|
18
18
|
this.currentTab = this.options.defaultTab;
|
|
19
|
-
this.tabItems =
|
|
20
|
-
this.tabPanels =
|
|
19
|
+
this.tabItems = this.container.querySelectorAll('.tab-item');
|
|
20
|
+
this.tabPanels = this.container.querySelectorAll('.tab-panel');
|
|
21
21
|
this.init();
|
|
22
22
|
}
|
|
23
23
|
/**
|
package/js/tabs.ts
CHANGED
|
@@ -36,8 +36,8 @@ class Tabs {
|
|
|
36
36
|
};
|
|
37
37
|
|
|
38
38
|
this.currentTab = this.options.defaultTab;
|
|
39
|
-
this.tabItems =
|
|
40
|
-
this.tabPanels =
|
|
39
|
+
this.tabItems = this.container.querySelectorAll('.tab-item');
|
|
40
|
+
this.tabPanels = this.container.querySelectorAll('.tab-panel');
|
|
41
41
|
|
|
42
42
|
this.init();
|
|
43
43
|
}
|
package/js/tooltip.js
CHANGED
package/js/tooltip.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dodlhuat/basix",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.7",
|
|
4
4
|
"description": "Basix is intended as a starter for the rapid development of a design. Each design element can be added individually to include only the data required. It is using plain javascript / typescript and therefore is not dependent on any plugin.",
|
|
5
5
|
"exports": {
|
|
6
6
|
"./css/*": "./css/*",
|