/*!
 * Boxy CSS v2.0
 * A compact, hard-edged (0 radius, no shadows), monospace UI kit.
 * Light + dark themes via [data-theme="light|dark"] on <html>.
 * Class naming follows Bootstrap conventions (.btn .btn-primary, .card .card-body, ...).
 *
 * TABLE OF CONTENTS
 *   1.  Design tokens (CSS custom properties)
 *   2.  Reset & base
 *   3.  Typography
 *   4.  Layout        (.container .section .row .col-*)
 *   5.  Utilities     (.d-* .gap-* .m*-* .text-* .bg-* ...)
 *   6.  Buttons       (.btn .btn-* .btn-close .btn-toolbar)
 *   7.  Badges & status
 *   8.  Alerts        (.alert .alert-*)
 *   9.  Navbar        (.navbar .nav-link .dropdown)
 *  10.  Cards         (.card .card-*)
 *  11.  List group    (.list-group)
 *  12.  Tables        (.table .data-table .pagination)
 *  13.  Forms         (.form-control .form-select .form-check .form-switch)
 *  14.  Select menu   (searchable custom dropdown)
 *  15.  Accordion & tabs
 *  16.  Tooltip       ([data-tip])
 *  17.  Modal & toast
 *  18.  Gallery & lightbox
 *  10b. Card variants (.card-img-top .card-horizontal .card-primary)
 *  13b. Forms extended (sizes, radios, range, input group, floating labels, validation)
 *  15b. Navs         (.nav-pills .nav-underline .nav-vertical)
 *  18b. Loaders      (.spinner .loader-dots .skeleton .progress .progress-circle .btn.is-loading)
 *  18c. Carousel & scrollspy
 *  19.  Page blocks   (.hero .marquee .terminal .stat .footer)
 *  19b. Typography extended (display, sizes, weights, decoration, shadows, prose)
 *  20.  Accessibility helpers & motion
 */:root,[data-theme=light]{--bx-bg:#e9e6dd;--bx-surface:#f4f2ec;--bx-surface-2:#dcd8cc;--bx-fg:#2a2a28;--bx-muted:#6b6a63;--bx-border:#3a3a37;--bx-primary:#5b6f8a;--bx-primary-fg:#f4f2ec;--bx-warning:#c4a666;--bx-warning-fg:#2a2a28;--bx-accent:#b88a8a;--bx-accent-fg:#2a2a28;--bx-danger:#a65f58;--bx-danger-fg:#f4f2ec;--bx-success:#6f8a6a;--bx-success-fg:#f4f2ec;--bx-backdrop:rgba(20,20,18,.6);--bx-font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--bx-font-size:16px;--bx-font-weight:400;--bx-line-height:1.4;--bx-border-width:1px;--bx-gutter:.75rem;--bx-container:70rem;--bx-z-top:40;--bx-z-sticky:50;--bx-z-dropdown:60;--bx-z-menu:90;--bx-z-select:80;--bx-z-tooltip:100;--bx-z-modal:200;--bx-z-lightbox:250;--bx-z-toast:300}[data-theme=dark]{--bx-bg:#1c1c1a;--bx-surface:#252523;--bx-surface-2:#31312e;--bx-fg:#d6d3ca;--bx-muted:#8f8d85;--bx-border:#6a6860;--bx-primary:#6f86a3;--bx-primary-fg:#1c1c1a;--bx-warning:#b39a62;--bx-warning-fg:#1c1c1a;--bx-accent:#a67f7f;--bx-accent-fg:#1c1c1a;--bx-danger:#b0645c;--bx-danger-fg:#1c1c1a;--bx-success:#7f9a7a;--bx-success-fg:#1c1c1a}*,:after,:before{box-sizing:border-box;border-radius:0!important;box-shadow:none!important}html{font-size:var(--bx-font-size);scroll-behavior:smooth;scroll-padding-top:3rem}body{background:var(--bx-bg);color:var(--bx-fg);font-family:var(--bx-font);font-weight:var(--bx-font-weight);font-size:1rem;line-height:var(--bx-line-height)}body,p{margin:0}a{color:inherit}img{max-width:100%}b,strong,th{font-weight:var(--bx-font-weight)}code{background:var(--bx-surface-2);padding:0 .25rem}mark{background:var(--bx-warning);color:var(--bx-warning-fg)}small{font-size:.85em}hr{border:0;border-top:var(--bx-border-width) solid var(--bx-border);margin:.75rem 0}[hidden]{display:none!important}:focus-visible{outline:1px dashed var(--bx-accent);outline-offset:2px}.h1,.h2,.h3,.h4,h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--bx-font-weight);line-height:1.05;text-transform:none;letter-spacing:-.01em}.h1,h1{font-size:clamp(2.2rem,7vw,4.2rem)}.h2,h2{font-size:clamp(1.5rem,4vw,2.2rem)}.h3,h3{font-size:1.05rem}.h4,h4{font-size:.85rem}.lead{font-size:1.1rem}.eyebrow{display:inline-block;align-self:flex-start;padding:0 .5rem;background:var(--bx-fg);color:var(--bx-bg);font-size:.75rem;text-transform:none;letter-spacing:.02em}.text-highlight{background:var(--bx-accent);color:var(--bx-accent-fg);padding:0 .2em}.list-unstyled{list-style:none;margin:0;padding:0}.container{width:100%;max-width:var(--bx-container);margin:0 auto;padding:0 var(--bx-gutter)}.section{padding:2.5rem 0}.section-alt{background:var(--bx-surface-2)}.section-primary{background:var(--bx-primary);color:var(--bx-primary-fg)}.section-primary .eyebrow{background:var(--bx-primary-fg);color:var(--bx-primary)}.section-primary .card{background:var(--bx-surface);color:var(--bx-fg)}.section-header{display:flex;flex-direction:column;gap:.5rem;max-width:40rem;margin-bottom:1.25rem}.row{display:grid;grid-gap:var(--bx-gutter);gap:var(--bx-gutter);grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.row-sm{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.row-form{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.6rem}.row-lg{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.25rem}.row-fill{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.5rem;grid-auto-flow:dense}.col-12{grid-column:1/-1}.col-span-2{grid-column:span 2}.d-block{display:block}.d-inline-block{display:inline-block}.d-flex{display:flex}.d-none{display:none}.flex-wrap{flex-wrap:wrap}.flex-column{flex-direction:column}.flex-grow-1{flex-grow:1}.flex-none{flex:none}.align-items-start{align-items:flex-start}.align-items-center{align-items:center}.align-items-end{align-items:flex-end}.justify-content-between{justify-content:space-between}.justify-content-end{justify-content:flex-end}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.m-0{margin:0}.ms-1{margin-left:.25rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1.5rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1.5rem}.ms-auto{margin-left:auto}.p-0{padding:0}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1.5rem;padding-bottom:1.5rem}.w-100{width:100%}.mw-sm{max-width:26rem}.mw-md{max-width:40rem}.mw-lg{max-width:48rem}.text-start{text-align:left}.text-center{text-align:center}.text-end{text-align:right}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-nowrap{white-space:nowrap}.fs-sm{font-size:.92rem}.fs-xs{font-size:.82rem}.fw-normal{font-weight:400}.tabular-nums{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.text-muted{color:var(--bx-muted)}.text-primary{color:var(--bx-primary)}.text-success{color:var(--bx-success)}.text-warning{color:var(--bx-warning)}.text-danger{color:var(--bx-danger)}.bg-body{background:var(--bx-bg)}.bg-surface{background:var(--bx-surface)}.bg-surface-2{background:var(--bx-surface-2)}.bg-primary{background:var(--bx-primary);color:var(--bx-primary-fg)}.bg-warning{background:var(--bx-warning);color:var(--bx-warning-fg)}.bg-accent{background:var(--bx-accent);color:var(--bx-accent-fg)}.bg-danger{background:var(--bx-danger);color:var(--bx-danger-fg)}.bg-success{background:var(--bx-success);color:var(--bx-success-fg)}.bg-inverse{background:var(--bx-fg);color:var(--bx-bg)}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:var(--bx-z-sticky)}.position-relative{position:relative}.overflow-hidden{overflow:hidden}.btn{position:relative;display:inline-block;padding:.4rem .9rem;border:0;background:var(--bx-surface-2);color:var(--bx-fg);font:inherit;font-weight:var(--bx-font-weight);line-height:1.2;text-align:center;text-decoration:none;text-transform:none;cursor:pointer}.btn:hover{background:var(--bx-fg);color:var(--bx-bg)}.btn:active{transform:translate(1px,1px)}.btn.disabled,.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-secondary{background:var(--bx-surface-2);color:var(--bx-fg)}.btn-primary{background:var(--bx-primary);color:var(--bx-primary-fg)}.btn-warning{background:var(--bx-warning);color:var(--bx-warning-fg)}.btn-accent{background:var(--bx-accent);color:var(--bx-accent-fg)}.btn-danger{background:var(--bx-danger);color:var(--bx-danger-fg)}.btn-success{background:var(--bx-success);color:var(--bx-success-fg)}.btn-accent:hover,.btn-danger:hover,.btn-primary:hover,.btn-success:hover,.btn-warning:hover{background:var(--bx-fg);color:var(--bx-bg)}.btn-lg{padding:.6rem 1.3rem;font-size:1.05rem}.btn-sm{padding:.15rem .5rem;font-size:.8rem}.btn-xs{padding:0 .35rem;font-size:.7rem}.btn-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.btn-toolbar-sm{gap:.3rem}.btn-close{flex:none;padding:0 .75rem;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.btn-close:hover{background:var(--bx-fg);color:var(--bx-bg)}.badge{display:inline-block;padding:0 .35rem;background:var(--bx-accent);color:var(--bx-accent-fg);font-size:.72rem;text-transform:none}.badge-primary{background:var(--bx-primary);color:var(--bx-primary-fg)}.badge-warning{background:var(--bx-warning);color:var(--bx-warning-fg)}.status{text-transform:capitalize}.status-active{color:color-mix(in srgb,var(--bx-success) 65%,var(--bx-fg))}.status-pending{color:color-mix(in srgb,var(--bx-warning) 60%,var(--bx-fg))}.status-trial{color:color-mix(in srgb,var(--bx-primary) 70%,var(--bx-fg))}.status-suspended{color:color-mix(in srgb,var(--bx-danger) 70%,var(--bx-fg))}.alert{display:flex;flex-wrap:wrap;align-items:stretch;background:var(--bx-surface-2);color:var(--bx-fg);font-size:.85rem;line-height:1.35}.alert-info,.alert-primary{background:var(--bx-primary);color:var(--bx-primary-fg)}.alert-warning{background:var(--bx-warning);color:var(--bx-warning-fg)}.alert-danger{background:var(--bx-danger);color:var(--bx-danger-fg)}.alert-success{background:var(--bx-success);color:var(--bx-success-fg)}.alert-label{display:flex;flex:none;align-items:center;padding:.3rem .65rem;background:var(--bx-surface);color:var(--bx-fg);text-transform:none}.alert-body{display:block;flex:1 1 14rem;align-self:center;min-width:0;padding:.4rem .75rem;overflow-wrap:anywhere}.alert-body a{font-weight:inherit}.alert .btn-close{min-width:2.5rem;padding:0 .6rem}.alert-title{display:block;text-transform:none;font-size:.75rem}.alert-banner{flex-wrap:nowrap}.alert-banner .alert-body{flex:1 1 auto;padding:.45rem .75rem;text-align:center}@media (max-width:520px){.alert:has(.alert-label) .alert-label{order:1}.alert:has(.alert-label) .btn-close{order:2;margin-left:auto}.alert:has(.alert-label) .alert-body{order:3;flex:1 0 100%;padding:.45rem .65rem .55rem}.alert-banner .alert-body{font-size:.8rem;text-align:left}}.navbar{background:var(--bx-surface);border-bottom:var(--bx-border-width) solid var(--bx-border)}.navbar>.container{display:flex;align-items:center;gap:.5rem;min-height:2.6rem}.navbar-brand{flex:none;padding:.1rem .6rem;background:var(--bx-fg);color:var(--bx-bg);font-size:1.1rem;letter-spacing:.02em;text-decoration:none}.navbar-toggler{display:none;flex:none;align-items:center;justify-content:center;width:2.3rem;height:2.3rem;padding:0;border:0;background:var(--bx-surface-2);color:var(--bx-fg);cursor:pointer}.navbar-toggler:hover{background:var(--bx-fg);color:var(--bx-bg)}.navbar-toggler-icon,.navbar-toggler-icon:after,.navbar-toggler-icon:before{display:block;width:1.1rem;height:2px;background:currentColor;transition:transform .15s ease,top .15s ease,background .15s ease}.navbar-toggler-icon{position:relative}.navbar-toggler-icon:after,.navbar-toggler-icon:before{content:"";position:absolute;left:0}.navbar-toggler-icon:before{top:-.38rem}.navbar-toggler-icon:after{top:.38rem}.navbar-toggler[aria-expanded=true] .navbar-toggler-icon{background:transparent}.navbar-toggler[aria-expanded=true] .navbar-toggler-icon:before{top:0;transform:rotate(45deg)}.navbar-toggler[aria-expanded=true] .navbar-toggler-icon:after{top:0;transform:rotate(-45deg)}.navbar-collapse{display:flex;flex:1 1;align-items:center;min-width:0}.navbar-collapse-header{display:none}.navbar-nav{display:flex;flex:1 1;flex-wrap:wrap;align-items:center;gap:.25rem}.nav-link{display:inline-block;padding:.15rem .55rem;border:0;background:var(--bx-surface);color:var(--bx-fg);font:inherit;font-size:.85rem;text-decoration:none;text-transform:none;white-space:nowrap;cursor:pointer}.nav-link.active,.nav-link:hover{background:var(--bx-fg);color:var(--bx-bg)}.navbar .btn{padding:.15rem .55rem;font-size:.85rem}.dropdown{position:relative}.dropdown-menu{display:none;position:absolute;top:calc(100% + 4px);left:0;z-index:var(--bx-z-dropdown);min-width:13rem;background:var(--bx-surface);border:var(--bx-border-width) solid var(--bx-border)}.dropdown.show>.dropdown-menu{display:block}.dropdown-item{display:block;padding:.35rem .6rem;font-size:.9rem;text-decoration:none}.dropdown-item small{display:block;font-size:.72rem;opacity:.7}.dropdown-item:focus,.dropdown-item:hover{background:var(--bx-primary);color:var(--bx-primary-fg);outline:none}body.menu-open{overflow:hidden}@media (max-width:767px){.navbar>.container{padding-top:.4rem;padding-bottom:.4rem}.navbar-toggler{display:inline-flex}.navbar .form-switch{margin-left:auto}.navbar-collapse{position:fixed;inset:0;z-index:var(--bx-z-menu);display:none;flex-direction:column;align-items:stretch;overflow-y:auto;overscroll-behavior:contain;background:var(--bx-bg)}.navbar-collapse.show{display:flex}.navbar-collapse-header{display:flex;flex:none;align-items:center;justify-content:space-between;padding:.55rem var(--bx-gutter);background:var(--bx-surface);border-bottom:var(--bx-border-width) solid var(--bx-border)}.navbar-nav{flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:.4rem;padding:var(--bx-gutter)}.navbar-nav .dropdown>.nav-link,.navbar-nav>.nav-link{display:block;width:100%;padding:.8rem .9rem;background:var(--bx-surface-2);font-size:1.1rem;text-align:left}.navbar-nav .dropdown>.nav-link:hover,.navbar-nav>.nav-link.active,.navbar-nav>.nav-link:hover{background:var(--bx-fg);color:var(--bx-bg)}.navbar-nav .nav-spacer{flex:1 1 auto;min-height:1rem}.navbar-nav>.btn{padding:.8rem;font-size:1rem}.dropdown-menu{position:static;min-width:0;margin-top:.3rem;border:0;background:var(--bx-surface)}.dropdown-item{padding:.65rem .9rem;font-size:1rem}}.card{display:flex;flex-direction:column;min-width:0;background:var(--bx-surface);border:var(--bx-border-width) solid var(--bx-border)}.card-footer,.card-header{padding:.35rem .6rem;background:var(--bx-surface-2)}.card-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;text-transform:none}.card-footer{padding:.5rem .75rem}.card-body{display:flex;flex:1 1;flex-direction:column;gap:.5rem;padding:.75rem}.card-hover:hover{background:var(--bx-surface-2)}.card-featured{border-color:var(--bx-primary)}.card-featured>.card-header{background:var(--bx-primary);color:var(--bx-primary-fg)}.icon-box{display:flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem}.price{font-size:2.4rem;line-height:1}.price small{font-size:.85rem;color:var(--bx-muted)}.card-title{margin:0;font-size:1rem}.card-subtitle{color:var(--bx-muted);font-size:.8rem;text-transform:none}.card-text{font-size:.9rem}.card-link{font-size:.85rem;text-transform:none}.card-img-top{display:block;width:100%;height:9rem;object-fit:cover}.card-horizontal{flex-direction:row}.card-horizontal .card-img-left{flex:none;width:38%;object-fit:cover}.card-horizontal .card-content{display:flex;flex:1 1;flex-direction:column;min-width:0}.card-borderless{border:0}.card-primary>.card-header{background:var(--bx-primary);color:var(--bx-primary-fg)}.card-warning>.card-header{background:var(--bx-warning);color:var(--bx-warning-fg)}.card-danger>.card-header{background:var(--bx-danger);color:var(--bx-danger-fg)}.card-success>.card-header{background:var(--bx-success);color:var(--bx-success-fg)}.card-inverse{background:var(--bx-fg);color:var(--bx-bg)}.card-inverse>.card-footer,.card-inverse>.card-header{background:var(--bx-surface-2);color:var(--bx-fg)}@media (max-width:480px){.card-horizontal{flex-direction:column}.card-horizontal .card-img-left{width:100%;height:9rem}}.list-group{list-style:none;margin:0;padding:0;background:var(--bx-surface-2)}.list-group-item{display:block;padding:.25rem .5rem;font-size:.9rem}.list-group-item+.list-group-item{border-top:var(--bx-border-width) solid var(--bx-surface)}.list-group-item.active{background:var(--bx-primary);color:var(--bx-primary-fg)}.list-group-item.disabled{color:var(--bx-muted);pointer-events:none}.list-group-action{width:100%;border:0;background:transparent;color:var(--bx-fg);font:inherit;font-size:.9rem;text-align:left;text-decoration:none;cursor:pointer}.list-group-action:hover:not(.active){background:var(--bx-fg);color:var(--bx-bg)}.list-group-check .list-group-item:before{content:"■ ";color:var(--bx-success)}.list-group-check .list-group-item.disabled:before{content:"□ ";color:var(--bx-muted)}.list-group-numbered{counter-reset:bx-item}.list-group-numbered .list-group-item{counter-increment:bx-item}.list-group-numbered .list-group-item:before{content:counter(bx-item) ". ";color:var(--bx-muted)}.list-group-horizontal{display:flex;flex-wrap:wrap;gap:1px}.list-group-horizontal .list-group-item{flex:1 1 auto;border-top:0;text-align:center;background:var(--bx-surface-2)}.list-group-item .badge{float:right}.table-responsive{overflow-x:auto;background:var(--bx-surface)}.table{width:100%;border-collapse:collapse;font-size:.88rem}.table td,.table th{padding:.3rem .6rem;border:0;border-bottom:var(--bx-border-width) solid var(--bx-surface-2);text-align:left}.table thead th{background:var(--bx-fg);color:var(--bx-bg);text-transform:none}.table-striped tbody tr:nth-child(2n){background:var(--bx-surface-2)}.table td.text-end,.table th.text-end{text-align:right}.table-empty{padding:1.5rem;text-align:center;color:var(--bx-muted)}.data-table-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.5rem;padding:.6rem;background:var(--bx-surface-2)}.data-table-toolbar .form-group{flex:1 1 8rem;min-width:8rem}.data-table-toolbar .form-group-search{flex:2 1 14rem}.data-table .table-responsive{max-height:26rem;overflow:auto}.data-table .table{min-width:44rem}.data-table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:1;padding:0}.data-table thead th button{all:unset;box-sizing:border-box;display:flex;justify-content:space-between;gap:.5rem;width:100%;padding:.3rem .6rem;text-transform:none;cursor:pointer}.data-table thead th button:after{content:"↕";opacity:.45}.data-table thead th[aria-sort=ascending] button:after{content:"▲";opacity:1}.data-table thead th[aria-sort=descending] button:after{content:"▼";opacity:1}.data-table thead th button:hover{background:var(--bx-primary);color:var(--bx-primary-fg)}.data-table thead th button:focus-visible{outline:1px dashed var(--bx-accent);outline-offset:-3px}.data-table-footer{flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding:.5rem .6rem;background:var(--bx-surface-2);font-size:.85rem}.data-table-footer,.page-size{display:flex;align-items:center}.page-size{gap:.4rem}.page-size .form-select{width:auto;padding-top:.1rem;padding-bottom:.1rem}.page-size .select-menu{width:auto;min-width:4.5rem}.pagination{display:flex;flex-wrap:wrap;gap:.25rem}.page-link{min-width:1.9rem;padding:.15rem .4rem;border:0;background:var(--bx-surface);color:var(--bx-fg);font:inherit;cursor:pointer}.page-link:hover:not(:disabled){background:var(--bx-fg);color:var(--bx-bg)}.page-link.active,.page-link[aria-current=page]{background:var(--bx-primary);color:var(--bx-primary-fg)}.page-link:disabled{opacity:.4;cursor:not-allowed}.page-ellipsis{padding:.15rem .2rem}ul.pagination{margin:0;padding:0;list-style:none}a.page-link{display:inline-block;text-align:center;text-decoration:none}.page-item.active .page-link{background:var(--bx-primary);color:var(--bx-primary-fg)}.page-item.disabled .page-link{opacity:.4;pointer-events:none}.pagination-sm .page-link{min-width:1.5rem;padding:.05rem .3rem;font-size:.8rem}.pagination-lg .page-link{min-width:2.5rem;padding:.4rem .7rem;font-size:1.1rem}.pagination-center{justify-content:center}.pagination-end{justify-content:flex-end}.form-group{display:flex;flex-direction:column;gap:.15rem}.form-label,label{color:var(--bx-fg);font-size:.9rem;text-transform:none}.form-control,.form-select{width:100%;padding:.35rem .5rem;border:var(--bx-border-width) solid var(--bx-border);background:var(--bx-surface);color:var(--bx-fg);font:inherit;line-height:1.25}textarea.form-control{min-height:5rem;resize:vertical}.form-control:focus,.form-select:focus{outline:none;background:var(--bx-surface-2);border-color:var(--bx-primary)}.form-control.is-invalid{border-color:var(--bx-danger)}.form-text{color:var(--bx-muted);font-size:.85rem}.invalid-feedback{color:var(--bx-danger)}.form-select{padding-right:1.6rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--bx-fg) 50%),linear-gradient(135deg,var(--bx-fg) 50%,transparent 50%);background-position:calc(100% - 13px) 55%,calc(100% - 8px) 55%;background-size:5px 5px;background-repeat:no-repeat}.form-select option{background:var(--bx-surface);color:var(--bx-fg)}.form-check{display:inline-flex;align-items:center;gap:.45rem;color:var(--bx-fg);font-size:.9rem;text-transform:none;cursor:pointer}.form-check-input{position:absolute;width:0;height:0;opacity:0}.form-check-box{display:inline-flex;flex:none;align-items:center;justify-content:center;width:1.1rem;height:1.1rem;border:var(--bx-border-width) solid var(--bx-border);background:var(--bx-surface)}.form-check-box:after{content:"✓";color:var(--bx-fg);font-size:.95rem;line-height:1;transform:scale(0);transition:transform .06s}.form-check-input:checked+.form-check-box:after{transform:scale(1)}.form-check-input:focus-visible+.form-check-box{outline:1px dashed var(--bx-accent);outline-offset:2px}.form-switch{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;text-transform:none;color:var(--bx-fg);cursor:pointer}.form-switch-input{position:absolute;opacity:0}.form-switch-track{position:relative;width:2.5rem;height:1.25rem;border:var(--bx-border-width) solid var(--bx-border);background:var(--bx-surface)}.form-switch-thumb{position:absolute;top:2px;left:2px;width:.75rem;height:.75rem;background:var(--bx-fg);transition:left .1s}.form-switch-input:checked+.form-switch-track{background:var(--bx-primary)}.form-switch-input:checked+.form-switch-track .form-switch-thumb{left:calc(100% - .75rem - 2px);background:var(--bx-primary-fg)}.form-switch-input:focus-visible+.form-switch-track{outline:1px dashed var(--bx-accent);outline-offset:2px}.form-control-sm,.form-select-sm{padding:.15rem .4rem;font-size:.8rem}.form-control-lg,.form-select-lg{padding:.6rem .75rem;font-size:1.1rem}.form-control::placeholder{color:var(--bx-muted);opacity:.7}.form-control:disabled,.form-control[readonly],.form-select:disabled{background:var(--bx-surface-2);color:var(--bx-muted)}.form-control:disabled,.form-select:disabled{cursor:not-allowed}.form-control-plaintext{width:100%;padding:.35rem 0;border:0;background:transparent;color:var(--bx-fg);font:inherit}.form-control-plaintext:focus{outline:none}input[type=file].form-control{padding:0}.form-control::-webkit-file-upload-button{margin:0 .6rem 0 0;padding:.35rem .6rem;border:0;background:var(--bx-surface-2);color:var(--bx-fg);font:inherit;text-transform:none;cursor:pointer}.form-control::file-selector-button{margin:0 .6rem 0 0;padding:.35rem .6rem;border:0;background:var(--bx-surface-2);color:var(--bx-fg);font:inherit;text-transform:none;cursor:pointer}.form-control::-webkit-file-upload-button:hover{background:var(--bx-fg);color:var(--bx-bg)}.form-control::file-selector-button:hover{background:var(--bx-fg);color:var(--bx-bg)}select[multiple].form-select,select[size].form-select{padding-right:.5rem;background-image:none}select[multiple].form-select option{padding:.15rem .3rem}select[multiple].form-select option:checked{background:var(--bx-primary);color:var(--bx-primary-fg)}.form-check-inline{margin-right:.9rem}.form-check-box-radio:after{content:"";width:.5rem;height:.5rem;background:var(--bx-fg)}.form-check:has(.form-check-input:disabled){color:var(--bx-muted);cursor:not-allowed}.form-check-input:disabled+.form-check-box{opacity:.45}.form-check-stack{display:flex;flex-direction:column;gap:.35rem}.form-check-inline-group{display:flex;flex-wrap:wrap;gap:.4rem .9rem}.form-range{width:100%;height:1.2rem;padding:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:none}.form-range::-webkit-slider-runnable-track{height:.4rem;background:var(--bx-surface-2);border:var(--bx-border-width) solid var(--bx-border)}.form-range::-moz-range-track{height:.4rem;background:var(--bx-surface-2);border:var(--bx-border-width) solid var(--bx-border)}.form-range::-webkit-slider-thumb{-webkit-appearance:none;width:.9rem;height:1.1rem;margin-top:-.43rem;border:0;background:var(--bx-fg)}.form-range::-moz-range-thumb{width:.9rem;height:1.1rem;border:0;background:var(--bx-fg)}.form-range:focus-visible::-webkit-slider-thumb{background:var(--bx-primary)}.form-range:focus-visible::-moz-range-thumb{background:var(--bx-primary)}.form-range:disabled{opacity:.5;cursor:not-allowed}.range-value{color:var(--bx-fg);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.input-group{display:flex;align-items:stretch;width:100%}.input-group>.form-control{flex:1 1 auto;width:auto;min-width:0}.input-group>*+*{margin-left:-1px}.input-group>.form-control:focus{position:relative;z-index:1}.input-group-text{display:flex;align-items:center;padding:.35rem .6rem;background:var(--bx-surface-2);color:var(--bx-muted);font-size:.85rem;white-space:nowrap}.input-group-text,.input-group>.btn{border:var(--bx-border-width) solid var(--bx-border)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.input-group-text{padding:.15rem .4rem;font-size:.8rem}.form-floating{position:relative}.form-floating>.form-control{height:2.7rem;padding:1.15rem .5rem .3rem}.form-floating>textarea.form-control{height:6rem;min-height:6rem;padding-top:1.3rem}.form-floating>.form-control::placeholder{color:transparent}.form-floating>label{position:absolute;top:0;left:0;padding:.7rem .5rem;color:var(--bx-muted);font-size:.85rem;pointer-events:none;transform-origin:0 0;transition:transform .12s ease}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label{transform:translateY(-.5rem) scale(.78)}.form-floating>.form-control:focus~label{color:var(--bx-primary)}.form-horizontal .form-group{flex-direction:row;align-items:center;gap:.75rem}.form-horizontal .form-label{flex:0 0 7rem}.form-horizontal .form-control,.form-horizontal .select-menu{flex:1 1}.form-inline{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.5rem}.form-inline .form-group{flex:1 1 9rem}@media (max-width:600px){.form-horizontal .form-group{flex-direction:column;align-items:stretch;gap:.15rem}.form-horizontal .form-label{flex:none}}.form-control.is-valid,.form-select.is-valid{border-color:var(--bx-success)}.invalid-feedback,.valid-feedback{display:none;font-size:.75rem}.valid-feedback{color:var(--bx-success)}.form-group:has(.is-invalid)>.invalid-feedback,.form-group:has(.is-valid)>.valid-feedback,.is-invalid~.invalid-feedback,.is-valid~.valid-feedback{display:block}.form-check-input.is-invalid+.form-check-box{border-color:var(--bx-danger)}.was-validated .form-control:invalid,.was-validated .form-select:invalid,.was-validated .select-menu>select:invalid~.select-toggle{border-color:var(--bx-danger)}.was-validated .form-control:valid,.was-validated .form-select:valid,.was-validated .select-menu>select:valid~.select-toggle{border-color:var(--bx-success)}.was-validated .form-check-input:invalid+.form-check-box{border-color:var(--bx-danger)}.was-validated .form-group:has(:invalid)>.invalid-feedback{display:block}.was-validated .form-group:has(:valid):not(:has(:invalid))>.valid-feedback{display:block}.select-menu{position:relative;width:100%}.select-menu>select{display:none}.select-toggle{display:block;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.select-menu.show .select-toggle{background:var(--bx-surface-2);border-color:var(--bx-primary)}.select-dropdown{position:absolute;top:calc(100% + 2px);left:0;z-index:var(--bx-z-select);min-width:100%;width:max-content;max-width:20rem;background:var(--bx-surface);border:var(--bx-border-width) solid var(--bx-border)}.select-menu.dropup .select-dropdown{top:auto;bottom:calc(100% + 2px)}.select-search{display:block;width:100%;padding:.3rem .5rem;border:0;border-bottom:var(--bx-border-width) solid var(--bx-border);background:var(--bx-surface);color:var(--bx-fg);font:inherit}.select-search:focus{outline:none;background:var(--bx-surface-2)}.select-options{list-style:none;margin:0;padding:0;max-height:12rem;overflow-y:auto}.select-option{display:flex;justify-content:space-between;gap:.75rem;padding:.25rem .5rem;font-size:.9rem;text-transform:none;cursor:pointer}.select-option[aria-selected=true]:after{content:"✓"}.select-option.active{background:var(--bx-primary);color:var(--bx-primary-fg)}.select-empty{padding:.25rem .5rem;color:var(--bx-muted);font-size:.9rem}.accordion{background:var(--bx-surface)}.accordion-item{border-bottom:var(--bx-border-width) solid var(--bx-surface-2)}.accordion-item:last-child{border-bottom:0}.accordion-button{display:flex;justify-content:space-between;gap:.5rem;width:100%;padding:.5rem .75rem;border:0;background:var(--bx-surface);color:var(--bx-fg);font:inherit;text-align:left;text-transform:none;cursor:pointer}.accordion-button:after,.accordion-button:hover{background:var(--bx-surface-2)}.accordion-button:after{content:"+";flex:none;width:1.3rem;line-height:1.1;text-align:center}.accordion-item.show .accordion-button:after{content:"−";background:var(--bx-fg);color:var(--bx-bg)}.accordion-body{display:none;padding:.6rem .75rem;background:var(--bx-surface-2)}.accordion-item.show .accordion-body{display:block}.nav-tabs{display:flex;flex-wrap:wrap;background:var(--bx-surface-2)}.nav-tabs .nav-link{padding:.35rem .8rem;background:transparent}.nav-tabs .nav-link:hover{background:var(--bx-surface);color:var(--bx-fg)}.nav-tabs .nav-link[aria-selected=true]{background:var(--bx-fg);color:var(--bx-bg)}.tab-pane{display:none;padding:.75rem;background:var(--bx-surface)}.tab-pane.active{display:block}.nav{display:flex;flex-wrap:wrap;gap:.25rem;margin:0;padding:0;list-style:none}.nav-link.disabled,.nav-link:disabled{opacity:.4;pointer-events:none;cursor:not-allowed}.nav-pills .nav-link{background:var(--bx-surface-2)}.nav-pills .nav-link:hover{background:var(--bx-fg);color:var(--bx-bg)}.nav-pills .nav-link.active,.nav-pills .nav-link[aria-selected=true]{background:var(--bx-primary);color:var(--bx-primary-fg)}.nav-underline{gap:.9rem;border-bottom:var(--bx-border-width) solid var(--bx-surface-2)}.nav-underline .nav-link{padding:.3rem .1rem;border-bottom:var(--bx-border-width) solid transparent;background:transparent;color:var(--bx-muted)}.nav-underline .nav-link:hover{background:transparent;color:var(--bx-fg)}.nav-underline .nav-link.active,.nav-underline .nav-link[aria-selected=true]{border-bottom-color:var(--bx-fg);background:transparent;color:var(--bx-fg)}.nav-fill .nav-link{flex:1 1 auto;text-align:center}.nav-vertical{flex-direction:column;flex-wrap:nowrap}.nav-vertical .nav-link{text-align:left;background:var(--bx-surface-2)}.nav-vertical .nav-link:hover{background:var(--bx-fg);color:var(--bx-bg)}.nav-vertical .nav-link.active,.nav-vertical .nav-link[aria-selected=true]{background:var(--bx-primary);color:var(--bx-primary-fg)}.tabs-vertical{display:grid;grid-template-columns:7rem minmax(0,1fr);grid-gap:.5rem;gap:.5rem}.tabs-vertical>*{min-width:0}@media (max-width:520px){.tabs-vertical{grid-template-columns:1fr}}[data-tip]{position:relative}[data-tip]:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 7px);left:50%;z-index:var(--bx-z-tooltip);padding:.1rem .45rem;background:var(--bx-fg);color:var(--bx-bg);font:var(--bx-font-weight) .72rem var(--bx-font);letter-spacing:0;text-transform:none;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transform:translateX(-50%)}[data-tip]:focus-visible:after,[data-tip]:hover:after{opacity:1;visibility:visible}[data-tip][data-tip-pos=bottom]:after{top:calc(100% + 7px);bottom:auto}.modal{position:fixed;inset:0;z-index:var(--bx-z-modal);display:none;align-items:center;justify-content:center;padding:var(--bx-gutter);background:var(--bx-backdrop)}.modal.show{display:flex}.modal-dialog{width:100%;max-width:28rem;max-height:90vh;overflow:auto}.modal-content{background:var(--bx-surface);border:var(--bx-border-width) solid var(--bx-border)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:.3rem .6rem;background:var(--bx-fg);color:var(--bx-bg);text-transform:none}.modal-header .btn{color:var(--bx-fg)}.modal-header .btn:hover{background:var(--bx-accent);color:var(--bx-accent-fg)}.modal-body{display:flex;flex-direction:column;gap:.6rem;padding:.85rem}.modal-footer{display:flex;justify-content:flex-end;gap:.4rem;padding:.6rem .85rem;background:var(--bx-surface-2)}.toast-container{position:fixed;right:var(--bx-gutter);bottom:var(--bx-gutter);z-index:var(--bx-z-toast);display:flex;flex-direction:column-reverse;gap:.4rem;width:22rem;max-width:calc(100% - 1.5rem);pointer-events:none}.toast{position:relative;display:flex;align-items:stretch;overflow:hidden;background:var(--bx-surface);color:var(--bx-fg);border:var(--bx-border-width) solid var(--bx-border);font-size:.88rem;pointer-events:auto}.toast-icon{display:flex;flex:none;align-items:center;justify-content:center;width:2rem;background:var(--bx-primary);color:var(--bx-primary-fg)}.toast-success .toast-icon{background:var(--bx-success);color:var(--bx-success-fg)}.toast-warning .toast-icon{background:var(--bx-warning);color:var(--bx-warning-fg)}.toast-danger .toast-icon{background:var(--bx-danger);color:var(--bx-danger-fg)}.toast-body{flex:1 1;min-width:0;padding:.35rem .6rem}.toast-title{display:block;font-size:.75rem;text-transform:none}.toast-progress{position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--bx-fg);opacity:.5;transform-origin:left;animation:bx-progress linear forwards}.toast-persistent .toast-progress{width:30%;animation:bx-slide 1.4s linear infinite}@keyframes bx-progress{to{transform:scaleX(0)}}@keyframes bx-slide{0%{transform:translateX(-100%)}to{transform:translateX(340%)}}.gallery-item{position:relative;display:block;margin:0;padding:0;overflow:hidden;aspect-ratio:3/2;border:0;background:var(--bx-surface-2);color:var(--bx-fg);font:inherit;text-align:left;cursor:zoom-in}.gallery-item-wide{grid-column:span 2}.gallery-item-tall{grid-row:span 2;aspect-ratio:auto}.gallery-item img{display:block;width:100%;height:100%;object-fit:cover;transition:opacity .12s}.gallery-item:hover img{opacity:.9}.gallery-item:focus-visible{outline:1px dashed var(--bx-accent);outline-offset:-4px}.gallery-caption{position:absolute;right:0;bottom:0;left:0;display:flex;justify-content:space-between;gap:.5rem;padding:.2rem .5rem;background:var(--bx-fg);color:var(--bx-bg);font-size:.75rem;text-transform:none;transform:translateY(100%);transition:transform .12s}.gallery-item:focus-visible .gallery-caption,.gallery-item:hover .gallery-caption{transform:none}.lightbox{position:fixed;inset:0;z-index:var(--bx-z-lightbox);display:none;flex-direction:column;background:rgba(20,20,18,.94);color:#d6d3ca;touch-action:pan-y}.lightbox.show{display:flex}.lightbox-footer,.lightbox-header{display:flex;flex:none;align-items:center;gap:.5rem;padding:.4rem .6rem;font-size:.85rem}.lightbox-header{justify-content:space-between}.lightbox-footer{flex-direction:column;align-items:stretch;gap:.35rem}.lightbox-title{overflow:hidden;text-overflow:ellipsis;text-transform:none;white-space:nowrap}.lightbox-toolbar{display:flex;flex:none;align-items:center;gap:.25rem}.lightbox-count{margin-right:.4rem}.lightbox-btn{padding:.25rem .6rem;border:0;background:#31312e;color:#d6d3ca;font:inherit;line-height:1.2;cursor:pointer}.lightbox-btn:hover:not(:disabled){background:#d6d3ca;color:#1c1c1a}.lightbox-btn:focus-visible{outline:1px dashed #b88a8a;outline-offset:2px}.lightbox-btn:disabled{opacity:.35;cursor:default}.lightbox-stage{position:relative;display:flex;flex:1 1;align-items:center;justify-content:center;min-height:0;overflow:hidden}.lightbox-stage.is-zoomed{display:block;overflow:auto}.lightbox-img{display:block;max-width:100%;max-height:100%;margin:auto;object-fit:contain;cursor:zoom-in;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.lightbox-stage.is-zoomed .lightbox-img{width:auto;max-width:none;max-height:none;margin:0;cursor:zoom-out}.lightbox-nav{position:absolute;top:50%;z-index:2;padding:.8rem .7rem;font-size:1.1rem;transform:translateY(-50%)}.lightbox-prev{left:.5rem}.lightbox-next{right:.5rem}.lightbox-stage.is-zoomed .lightbox-nav{display:none}.lightbox-caption{min-height:1.2em;color:#a8a59b;text-align:center}.lightbox-thumbs{display:flex;justify-content:center;gap:.25rem;overflow-x:auto;padding-bottom:.1rem}.lightbox-thumb{flex:none;width:3.6rem;height:2.4rem;padding:0;border:0;background:#31312e;opacity:.5;cursor:pointer}.lightbox-thumb[aria-current=true]{opacity:1;outline:1px solid #d6d3ca;outline-offset:1px}.lightbox-thumb img{display:block;width:100%;height:100%;object-fit:cover}.lightbox-spinner{position:absolute;display:none;color:#a8a59b;font-size:.8rem}.lightbox.is-loading .lightbox-spinner{display:block}@media (max-width:600px){.lightbox-nav{display:none}.lightbox-thumb{width:2.6rem;height:1.8rem}}.spinner{display:inline-block;width:1.5rem;height:1.5rem;vertical-align:middle;color:var(--bx-primary);animation:bx-spin .8s linear infinite}.spinner-sm{width:1em;height:1em;vertical-align:-.15em}.spinner-lg{width:2.5rem;height:2.5rem}.spinner circle{fill:none;stroke:currentColor;stroke-width:3}.spinner-track{opacity:.2}.spinner-arc{stroke-dasharray:16 48;stroke-linecap:butt}@keyframes bx-spin{to{transform:rotate(1turn)}}.loader-square{display:inline-block;width:1.4rem;height:1.4rem;border:2px solid var(--bx-fg);vertical-align:middle;animation:bx-flip 1.2s ease-in-out infinite}@keyframes bx-flip{0%,to{transform:rotate(0)}50%{transform:rotate(90deg) scale(.6);background:var(--bx-fg)}}.loader-dots{display:inline-flex;align-items:flex-end;gap:.2rem;height:1rem;vertical-align:middle}.loader-dots i{width:.45rem;height:.45rem;background:var(--bx-fg);animation:bx-bounce 1s ease-in-out infinite}.loader-dots i:nth-child(2){animation-delay:.15s}.loader-dots i:nth-child(3){animation-delay:.3s}.spinner-secondary{color:var(--bx-muted)}.spinner-success{color:var(--bx-success)}.spinner-warning{color:var(--bx-warning)}.spinner-danger{color:var(--bx-danger)}.spinner-accent{color:var(--bx-accent)}.spinner-dark{color:var(--bx-fg)}.spinner-grow{display:inline-block;width:1.5rem;height:1.5rem;vertical-align:middle;background:currentColor;color:var(--bx-primary);opacity:0;animation:bx-grow .9s ease-in-out infinite}.spinner-grow-sm{width:1em;height:1em}.spinner-grow-lg{width:2.5rem;height:2.5rem}@keyframes bx-grow{0%{transform:scale(0);opacity:1}to{transform:scale(1);opacity:0}}@keyframes bx-bounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-.45rem);opacity:1}}.skeleton{display:block;background:linear-gradient(90deg,var(--bx-surface-2) 25%,var(--bx-surface) 50%,var(--bx-surface-2) 75%);background-size:200% 100%;animation:bx-shimmer 1.4s linear infinite}.skeleton-line{height:.8rem;margin-bottom:.4rem}.skeleton-block{height:4rem}@keyframes bx-shimmer{to{background-position:-200% 0}}.progress{position:relative;height:.9rem;overflow:hidden;background:var(--bx-surface-2)}.progress-sm{height:.5rem}.progress-bar{display:flex;align-items:center;justify-content:flex-end;height:100%;padding:0 .3rem;overflow:hidden;background:var(--bx-primary);color:var(--bx-primary-fg);font-size:.7rem;line-height:1;white-space:nowrap;transition:width .3s ease}.progress-bar-success{background:var(--bx-success);color:var(--bx-success-fg)}.progress-bar-warning{background:var(--bx-warning);color:var(--bx-warning-fg)}.progress-bar-danger{background:var(--bx-danger);color:var(--bx-danger-fg)}.progress-bar-striped{background-image:repeating-linear-gradient(-45deg,rgba(255,255,255,.25) 0 6px,transparent 6px 12px);background-size:17px 17px;animation:bx-stripes .8s linear infinite}@keyframes bx-stripes{to{background-position:17px 0}}.progress-indeterminate .progress-bar{width:35%!important;transition:none;animation:bx-indeterminate 1.3s ease-in-out infinite}@keyframes bx-indeterminate{0%{transform:translateX(-100%)}to{transform:translateX(300%)}}.progress-circle{position:relative;display:inline-block;width:4.5rem;height:4.5rem;color:var(--bx-primary)}.progress-circle svg{width:100%;height:100%;transform:rotate(-90deg)}.progress-circle circle{fill:none;stroke-width:3}.progress-circle-track{stroke:var(--bx-surface-2)}.progress-circle-bar{stroke:currentColor;stroke-dasharray:var(--value,0) 100;transition:stroke-dasharray .3s ease}.progress-circle-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--bx-fg);font-size:.8rem}.progress-circle-indeterminate svg{animation:bx-spin 1.1s linear infinite}.progress-circle-indeterminate{--value:28}.btn.is-loading{pointer-events:none;opacity:.85}.btn .spinner{margin-right:.4rem;color:currentColor}.modal-loading .modal-body{align-items:center;text-align:center;padding:1.25rem}.modal-loading .progress{width:100%}.carousel{position:relative;overflow:hidden;background:var(--bx-surface-2)}.carousel-track{display:flex;transition:transform .45s ease}.carousel-item{position:relative;flex:0 0 100%;height:16rem;overflow:hidden}.carousel-item>img{display:block;width:100%;height:100%;object-fit:cover}.carousel-caption{position:absolute;bottom:1.8rem;left:.75rem;max-width:calc(100% - 7rem);padding:.4rem .6rem;background:var(--bx-fg);color:var(--bx-bg)}.carousel-caption h3{font-size:1rem}.carousel-caption p{font-size:.8rem}.carousel-control{position:absolute;top:50%;z-index:2;padding:.7rem .6rem;border:0;background:var(--bx-fg);color:var(--bx-bg);font:inherit;font-size:1.1rem;line-height:1;opacity:.8;transform:translateY(-50%);cursor:pointer}.carousel-control:hover{opacity:1;background:var(--bx-primary);color:var(--bx-primary-fg)}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-indicators{position:absolute;right:.75rem;bottom:.6rem;z-index:2;display:flex;gap:.25rem}.carousel-indicators button{width:1.4rem;height:.3rem;padding:0;border:0;background:var(--bx-bg);opacity:.5;cursor:pointer}.carousel-indicators button[aria-current=true]{background:var(--bx-fg);opacity:1}.carousel-pause{position:absolute;top:.5rem;right:.5rem;z-index:2;padding:.1rem .45rem;border:0;background:var(--bx-fg);color:var(--bx-bg);font:inherit;font-size:.75rem;opacity:.8;cursor:pointer}@media (prefers-reduced-motion:reduce){.carousel-track{transition:none}}.scrollspy-layout{display:grid;grid-template-columns:11rem 1fr;grid-gap:.5rem;gap:.5rem;align-items:start}.scrollspy-body{position:relative;max-height:15rem;padding:.75rem;overflow-y:auto;background:var(--bx-surface);scroll-behavior:smooth}.scrollspy-body h4{margin:0 0 .3rem}.scrollspy-body section{padding-bottom:1.4rem}.scrollspy-body section p{font-size:.88rem}@media (max-width:600px){.scrollspy-layout{grid-template-columns:1fr}}.hero{padding:3rem 0}.hero .lead{max-width:34rem;margin:1rem 0 1.25rem}.stat-group{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:1.5rem}.stat{flex:1 1 6rem;padding:.4rem .6rem;background:var(--bx-surface)}.stat-value{display:block;font-size:1.4rem;line-height:1}.stat-label{color:var(--bx-muted);font-size:.72rem;text-transform:none}.terminal{min-width:0;background:var(--bx-surface);border:var(--bx-border-width) solid var(--bx-border)}.terminal-header{display:flex;align-items:center;gap:.3rem;padding:.25rem .5rem;background:var(--bx-fg);color:var(--bx-bg);font-size:.8rem}.terminal-dot{display:inline-block;width:.6rem;height:.6rem}.terminal-body{margin:0;padding:.6rem .75rem;overflow-x:auto;font:inherit;font-size:.85rem;line-height:1.5}.marquee{overflow:hidden;background:var(--bx-fg);color:var(--bx-bg);font-size:.85rem;text-transform:none;white-space:nowrap}.marquee-track{display:inline-block;padding:.2rem 0;animation:bx-marquee 28s linear infinite}.marquee-item{padding:0 1.25rem}@keyframes bx-marquee{to{transform:translateX(-50%)}}.footer{background:var(--bx-surface)}.footer-title{margin-bottom:.4rem}.footer-links{display:flex;flex-direction:column;gap:.2rem;font-size:.9rem}.footer-links a{text-decoration:none}.footer-links a:hover{background:var(--bx-fg);color:var(--bx-bg)}.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding:.5rem 0;border-top:var(--bx-border-width) solid var(--bx-border);font-size:.8rem}.back-to-top{position:fixed;right:var(--bx-gutter);bottom:var(--bx-gutter);z-index:var(--bx-z-top);display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .8rem .6rem;overflow:hidden;border:0;background:var(--bx-fg);color:var(--bx-bg);font:inherit;font-size:.8rem;letter-spacing:.08em;line-height:1;text-transform:none;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(.6rem);transition:opacity .18s ease,transform .18s ease,visibility .18s,background .12s}.back-to-top.show{opacity:1;visibility:visible;transform:none}.back-to-top:hover{background:var(--bx-primary);color:var(--bx-primary-fg)}.back-to-top:hover .back-to-top-icon{transform:translateY(-2px)}.back-to-top-icon{display:inline-block;font-size:1.1rem;line-height:.8;transition:transform .12s ease}.back-to-top:after{content:"";position:absolute;left:0;bottom:0;width:calc(var(--scroll, 0) * 1%);height:3px;background:var(--bx-accent)}body.menu-open .back-to-top{display:none}body.show-top .toast-container{bottom:3.9rem}@media (max-width:480px){.back-to-top-label{display:none}.back-to-top{padding:.6rem .7rem .7rem}}@media (prefers-reduced-motion:reduce){.back-to-top{transition:none;transform:none}}.h5,h5{font-size:.95rem}.h6,h6{font-size:.85rem}.display-1,.display-2,.display-3,.display-4{line-height:1;letter-spacing:-.02em;text-transform:none}.display-1{font-size:clamp(3rem,11vw,5.5rem)}.display-2{font-size:clamp(2.6rem,9vw,4.5rem)}.display-3{font-size:clamp(2.2rem,7vw,3.5rem)}.display-4{font-size:clamp(1.9rem,6vw,2.8rem)}.fs-1{font-size:2.2rem}.fs-2{font-size:1.8rem}.fs-3{font-size:1.5rem}.fs-4{font-size:1.25rem}.fs-5{font-size:1.1rem}.fs-6{font-size:1rem}.small{font-size:.85em}.fw-light{font-weight:300}.fw-medium{font-weight:500}.fw-semibold{font-weight:600}.fw-bold{font-weight:700}.fw-bolder{font-weight:800}.fst-italic{font-style:italic}.fst-normal{font-style:normal}.text-lowercase{text-transform:lowercase}.text-smallcaps{font-feature-settings:"smcp";font-variant:small-caps}.font-monospace{font-family:var(--bx-font)}.font-sans{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.font-serif{font-family:Georgia,Times New Roman,serif}.lh-1{line-height:1}.lh-sm{line-height:1.2}.lh-base{line-height:1.4}.lh-lg{line-height:1.8}.ls-tight{letter-spacing:-.03em}.ls-normal{letter-spacing:0}.ls-wide{letter-spacing:.08em}.ls-wider{letter-spacing:.18em}.text-wrap{white-space:normal}.text-break{overflow-wrap:anywhere;word-break:break-word}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-justify{text-align:justify}.text-accent{color:var(--bx-accent)}.text-body{color:var(--bx-fg)}.text-inverse{color:var(--bx-bg)}.text-opacity-75{opacity:.75}.text-opacity-50{opacity:.5}.text-opacity-25{opacity:.25}.text-decoration-none{text-decoration:none}.text-decoration-underline{text-decoration:underline}.text-decoration-line-through{text-decoration:line-through}.text-decoration-overline{text-decoration:overline}.decoration-solid{-webkit-text-decoration-style:solid;text-decoration-style:solid}.decoration-double{-webkit-text-decoration-style:double;text-decoration-style:double}.decoration-dotted{-webkit-text-decoration-style:dotted;text-decoration-style:dotted}.decoration-dashed{-webkit-text-decoration-style:dashed;text-decoration-style:dashed}.decoration-wavy{-webkit-text-decoration-style:wavy;text-decoration-style:wavy}.decoration-thick{text-decoration-thickness:3px}.decoration-thin{text-decoration-thickness:1px}.underline-offset-1{text-underline-offset:.15em}.underline-offset-2{text-underline-offset:.3em}.underline-offset-3{text-underline-offset:.5em}.decoration-primary{-webkit-text-decoration-color:var(--bx-primary);text-decoration-color:var(--bx-primary)}.decoration-accent{-webkit-text-decoration-color:var(--bx-accent);text-decoration-color:var(--bx-accent)}.decoration-warning{-webkit-text-decoration-color:var(--bx-warning);text-decoration-color:var(--bx-warning)}.decoration-danger{-webkit-text-decoration-color:var(--bx-danger);text-decoration-color:var(--bx-danger)}.link-underline{text-decoration:underline;text-underline-offset:.2em}.link-underline:hover{background:var(--bx-fg);color:var(--bx-bg);text-decoration:none}.text-shadow-none{text-shadow:none}.text-shadow-sm{text-shadow:1px 1px 0 color-mix(in srgb,currentColor 30%,transparent)}.text-shadow{text-shadow:2px 2px 0 color-mix(in srgb,currentColor 30%,transparent)}.text-shadow-lg{text-shadow:4px 4px 0 color-mix(in srgb,currentColor 25%,transparent)}.text-shadow-soft{text-shadow:0 2px 6px color-mix(in srgb,currentColor 40%,transparent)}.text-shadow-primary{text-shadow:3px 3px 0 var(--bx-primary)}.text-shadow-accent{text-shadow:3px 3px 0 var(--bx-accent)}.text-shadow-warning{text-shadow:3px 3px 0 var(--bx-warning)}.text-shadow-danger{text-shadow:3px 3px 0 var(--bx-danger)}.text-shadow-layered{text-shadow:2px 2px 0 var(--bx-accent),4px 4px 0 var(--bx-primary)}.text-shadow-outline{color:var(--bx-bg);text-shadow:-1px -1px 0 var(--bx-fg),1px -1px 0 var(--bx-fg),-1px 1px 0 var(--bx-fg),1px 1px 0 var(--bx-fg)}blockquote{margin:0;padding:.6rem .9rem;background:var(--bx-surface-2);border-left:var(--bx-border-width) solid var(--bx-border)}.blockquote-footer{margin-top:.4rem;color:var(--bx-muted);font-size:.8rem}.blockquote-footer:before{content:"— "}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help}ins{background:color-mix(in srgb,var(--bx-success) 25%,transparent);text-decoration:none}del,s{opacity:.7}sub,sup{font-size:.7em;line-height:0}kbd{padding:0 .35rem;background:var(--bx-fg);color:var(--bx-bg);font:inherit;font-size:.85em}samp,var{font-family:var(--bx-font)}pre{margin:0;padding:.6rem .75rem;overflow-x:auto;background:var(--bx-surface-2);font:inherit;font-size:.85rem;line-height:1.5}address{font-style:normal}dt{color:var(--bx-muted);font-size:.75rem;text-transform:none}dd{margin:0 0 .5rem}.list-inline{display:flex;flex-wrap:wrap;gap:.25rem .9rem;margin:0;padding:0;list-style:none}.prose ol,.prose ul{margin:.4rem 0;padding-left:1.3rem}.prose li{margin:.15rem 0}.prose p+p{margin-top:.6rem}.type-list{display:flex;flex-direction:column}.type-row{display:grid;grid-template-columns:minmax(9rem,15rem) minmax(0,1fr);grid-gap:.25rem .9rem;gap:.25rem .9rem;align-items:baseline;padding:.45rem .75rem}.type-row:nth-child(2n){background:var(--bx-surface-2)}.type-row>code{justify-self:start;font-size:.8rem}.type-meta{color:var(--bx-muted);font-size:.75rem}@media (max-width:600px){.type-row{grid-template-columns:1fr}}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.skip-link{position:absolute;top:0;left:-999px;z-index:999;padding:.3rem .6rem;background:var(--bx-accent);color:var(--bx-accent-fg)}.skip-link:focus{left:0}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.loader-dots i,.loader-square,.progress-bar-striped,.progress-circle-indeterminate svg,.progress-indeterminate .progress-bar,.skeleton,.spinner{animation-duration:3s}.marquee-track{animation:none}.toast-progress{animation:none!important}}.auth-page{display:flex;justify-content:center;align-items:flex-start;padding:2.5rem 1rem}.auth-wrap{width:100%;max-width:26rem;margin:0;border:var(--bx-border-width) solid var(--bx-border)}@media (max-width:520px){.auth-page{padding:1.5rem 1rem}}.notice{--nc:var(--bx-primary);display:flex;gap:.6rem;align-items:flex-start;margin-bottom:1rem;padding:.6rem .75rem;font-size:.85rem;line-height:1.4;color:var(--bx-fg);border:var(--bx-border-width) solid color-mix(in srgb,var(--nc) 55%,var(--bx-border));border-left:4px solid var(--nc);background:color-mix(in srgb,var(--nc) 12%,var(--bx-surface))}.notice-danger{--nc:var(--bx-danger)}.notice-success{--nc:var(--bx-success)}.notice-icon{flex:none;display:grid;place-items:center;width:1.2rem;height:1.2rem;border-radius:50%;background:var(--nc);color:var(--bx-surface);font-size:.75rem;font-weight:700;line-height:1}.notice-body{min-width:0;overflow-wrap:anywhere}.dash{display:grid;grid-template-columns:14rem 1fr;grid-gap:1.5rem;gap:1.5rem;align-items:start}@media (max-width:767px){.dash{grid-template-columns:1fr}}.dash-side .list-group-item[aria-current=page]{background:var(--bx-primary);color:var(--bx-primary-fg)}.locked{position:relative}.locked-blur{filter:blur(6px);-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.locked-cta{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:1rem}.dropzone{border:var(--bx-border-width) dashed var(--bx-border);padding:2rem;text-align:center;background:var(--bx-surface);cursor:pointer}.dropzone.drag{background:var(--bx-surface-2)}.split{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}@media (max-width:767px){.split{grid-template-columns:1fr}}.flyer-img{width:100%;height:auto;border:var(--bx-border-width) solid var(--bx-border)}.kv{display:grid;grid-template-columns:8rem 1fr;grid-gap:.25rem .75rem;gap:.25rem .75rem}.kv dt{color:var(--bx-muted)}.kv dd{margin:0;word-break:break-word}.mw-auth{max-width:40rem}.pw-toggle{min-width:4.5rem;font-size:.8rem}.h1,.h2,.h3,.h4,h1,h2,h3,h4{font-weight:650;line-height:1.15}.h1,h1{font-size:clamp(1.9rem,5vw,2.8rem)}.navbar-brand,b,strong,th{font-weight:650}.subnav{background:var(--bx-surface-2);border-bottom:var(--bx-border-width) solid var(--bx-border)}.subnav-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-direction:row-reverse;padding-top:.35rem;padding-bottom:.35rem}.subnav-links{display:flex;flex-wrap:wrap;gap:.25rem;margin:0;padding:0;list-style:none}.subnav-links a{display:block;padding:.3rem .7rem;font-size:.92rem;background:var(--bx-surface)}.subnav-links a:hover{background:var(--bx-fg)}.subnav-links a[aria-current=page]{background:var(--bx-primary)}.subnav-user{display:flex;align-items:center;gap:.75rem;font-size:.92rem;white-space:nowrap}.subnav-user form{margin:0}.subnav-logout{padding:.3rem .7rem;border:var(--bx-border-width) solid var(--bx-border);background:transparent;color:var(--bx-fg);font:inherit;font-size:.92rem;cursor:pointer}.subnav-logout:hover{background:var(--bx-fg);color:var(--bx-bg)}@media (max-width:767px){.subnav-inner{flex-direction:column;align-items:stretch;gap:.5rem}.subnav-user{justify-content:space-between}.subnav-links{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.35rem;gap:.35rem}.subnav-links a{display:flex;align-items:center;justify-content:center;min-height:2.8rem;padding:.35rem;text-align:center;font-size:.85rem;line-height:1.2}}.reminder{margin-top:1rem;padding-top:1rem;border-top:var(--bx-border-width) solid var(--bx-border)}.inline-form{display:inline;margin:0}.breadcrumb a,.form-check a,.form-group a,li a,nav[aria-label=Breadcrumb] a,p a{color:color-mix(in srgb,var(--bx-primary) 70%,var(--bx-fg));font-weight:500;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em}.form-check a:hover,.form-group a:hover,li a:hover,p a:hover{color:var(--bx-fg);text-decoration-thickness:2px}.btn,.dropdown-item,.list-group-item,.nav-link,.navbar-brand,.page-link,.subnav-links a{text-decoration:none}.auth-links{margin:1rem 0 0;font-size:1rem;line-height:1.5;text-align:center}.auth-links-end{margin:.25rem 0 .75rem;text-align:right}.auth-links a,.auth-links-end a{display:inline-block;padding:.25rem 0}.link-picker{margin:0 0 .75rem;padding:.5rem .75rem;border:var(--bx-border-width) solid var(--bx-border)}.link-picker legend{padding:0 .25rem;font-size:.9rem}.link-picker .form-group{margin-bottom:.25rem}details summary{cursor:pointer;font-size:.92rem}.mr-1{margin-right:.25rem}.radio-group{margin:0 0 1rem;padding:0;border:0}.radio-group legend{padding:0;margin-bottom:.35rem}.form-check-box-radio,.form-check-box-radio:after{border-radius:50%}.subnav-links a{color:var(--bx-fg);font-weight:400;text-decoration:none}.subnav-links a[aria-current=page]{color:var(--bx-primary-fg)}.subnav-links a:hover{color:var(--bx-bg)}.input-group>.select-menu{flex:1 1 auto;width:auto;min-width:0}.select-options:focus{outline:none}.accordion{border:var(--bx-border-width) solid var(--bx-border)}.accordion-header{margin:0;font-size:1rem;font-weight:400;line-height:1.4}.accordion-button{padding:.8rem .9rem;font-size:1rem;font-weight:600}.accordion .accordion-body{display:grid;grid-template-rows:0fr;padding:0;visibility:hidden;transition:grid-template-rows .28s ease,visibility 0s linear .28s}.accordion .accordion-item.show .accordion-body{display:grid;grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .28s ease,visibility 0s}.accordion-clip{min-height:0;overflow:hidden}.accordion-content{padding:.8rem .9rem}.accordion-content p{margin:0}@media (prefers-reduced-motion:reduce){.accordion .accordion-body,.accordion .accordion-item.show .accordion-body{transition:none}}.plain-fieldset{margin:0;padding:0;border:0;min-width:0}.plain-fieldset:disabled{opacity:.6}